• slider image 442
  • slider image 492
  • slider image 493
  • slider image 494
  • slider image 495
  • slider image 496
:::


Browsing this Thread:   1 Anonymous Users






Re: 關於ATSAMD21-USB suspend current認證問題
#10
資深會員
資深會員


查看用戶資訊
您可以參考一下Microchip Harmony 3 - HID Basic Remote Wakeup Example

https://microchip-mplab-harmony.github ... e-hid_basic_remote_wakeup

發表於: 5/24 22:35
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#9
新會員
新會員


查看用戶資訊
您好~感謝回覆~

根據貴司的MCU Spec. 除了內部32KHz在STANDBY時,沒有停止外,其餘clock會停止.
要如何在此情況下使用STANDBY Mode ??

-----------------------------------------------------------------------------------------------------------------------------------
若已經嘗試將 Sleep mode 調整到STANDBY,卻無法正確偵測,可能是因為喚醒條件沒有設定正確,或者是因為時鐘設定阻止了進入更深層次的睡眠模式。請檢查MCU的喚醒源設定,並確保USB的中斷都能在STANDBY模式下喚醒MCU。
----------------------------------------------------------------------------------------------------------------------------------
另外,
根據上述,可否提供USB HID可進入STANDYBY Mode的相對應Example Code??

若只有描述,這樣還是無法解決此問題,
相信貴司的工程人員應該比我更清楚此產品特性~
麻煩您~感謝~

發表於: 5/24 17:34
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#8
管理員
管理員


查看用戶資訊
Hi 您好

首先,
若已經嘗試將 Sleep mode 調整到STANDBY,卻無法正確偵測,可能是因為喚醒條件沒有設定正確,或者是因為時鐘設定阻止了進入更深層次的睡眠模式。請檢查MCU的喚醒源設定,並確保USB的中斷都能在STANDBY模式下喚醒MCU。
________________________________________________________________________________________

1. USB-IF認證部分通常是指USB接口(IP)的認證,而不是整個IC。
2. 關於USB Peripheral Power Consumption的數據,這些數據通常是指USB模組或IP本身的功耗,而不是整個IC的功耗。您可以嘗依照Section 37.8.2 中所註明的指定的條件下進行量測。

發表於: 5/24 11:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#7
新會員
新會員


查看用戶資訊
謝謝管理員CCC_Ruby的回覆~

目前以降頻方式調整,經認證單位確認後,suspend current約落在2.51mA~2.55mA(這範圍還是沒過認證).

詳細調整的資料如下:
使用Example project[USB Device HID Generic Example - SAM D21 Xplained Pro - atsamd21J18A]
1.conf_board.h
將[CONF_BOARD_USB_VBUS_DETECT] remark,不使用.

2.conf_clocks.h 修改設定如下(降頻)
# define CONF_CLOCK_CPU_DIVIDER SYSTEM_MAIN_CLOCK_DIV_8//SYSTEM_MAIN_CLOCK_DIV_1
# define CONF_CLOCK_APBA_DIVIDER SYSTEM_MAIN_CLOCK_DIV_128//SYSTEM_MAIN_CLOCK_DIV_1
# define CONF_CLOCK_APBB_DIVIDER SYSTEM_MAIN_CLOCK_DIV_32//SYSTEM_MAIN_CLOCK_DIV_1
# define CONF_CLOCK_APBC_DIVIDER SYSTEM_MAIN_CLOCK_DIV_128//SYSTEM_MAIN_CLOCK_DIV_1

/* SYSTEM_CLOCK_SOURCE_OSC32K configuration - Internal 32KHz oscillator */
# define CONF_CLOCK_OSC32K_ENABLE true//false
# define CONF_CLOCK_OSC32K_STARTUP_TIME SYSTEM_OSC32K_STARTUP_130
# define CONF_CLOCK_OSC32K_ENABLE_1KHZ_OUTPUT false//true
# define CONF_CLOCK_OSC32K_ENABLE_32KHZ_OUTPUT false//true
# define CONF_CLOCK_OSC32K_ON_DEMAND false//true
# define CONF_CLOCK_OSC32K_RUN_IN_STANDBY false

/* Configure GCLK generator 2 (RTC) */
# define CONF_CLOCK_GCLK_2_ENABLE true//false
# define CONF_CLOCK_GCLK_2_RUN_IN_STANDBY false
# define CONF_CLOCK_GCLK_2_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC32K
# define CONF_CLOCK_GCLK_2_PRESCALER 32
# define CONF_CLOCK_GCLK_2_OUTPUT_ENABLE false

3.conf_extint.h中
# define EXTINT_CLOCK_SOURCE GCLK_GENERATOR_2//GCLK_GENERATOR_0

4.clock.c中
disable下列設定:
///* OSC8M */
//struct system_clock_source_osc8m_config osc8m_conf;
//system_clock_source_osc8m_get_config_defaults(&osc8m_conf);
//
//osc8m_conf.prescaler = CONF_CLOCK_OSC8M_PRESCALER;
//osc8m_conf.on_demand = CONF_CLOCK_OSC8M_ON_DEMAND;
//osc8m_conf.run_in_standby = CONF_CLOCK_OSC8M_RUN_IN_STANDBY;
//
//system_clock_source_osc8m_set_config(&osc8m_conf);
//system_clock_source_enable(SYSTEM_CLOCK_SOURCE_OSC8M);

//system_apb_clock_set_divider(SYSTEM_CLOCK_APB_APBC, CONF_CLOCK_APBC_DIVIDER);

另外,有嘗試調整下列Sleep Mode的切換
在sub_device_udd.c中,
static void udd_sleep_mode(enum udd_usb_state_enum new_state)
{
enum sleepmgr_mode sleep_mode[] = {
SLEEPMGR_ACTIVE, /* UDD_STATE_OFF (not used) */
#if (SAML21) || (SAML22)
SLEEPMGR_IDLE, /* UDD_STATE_SUSPEND */
SLEEPMGR_IDLE, /* UDD_STATE_SUSPEND_LPM */
SLEEPMGR_IDLE, /* UDD_STATE_IDLE */
#else
SLEEPMGR_IDLE_2, /*SLEEPMGR_IDLE_2,SLEEPMGR_STANDBY*/ /* UDD_STATE_SUSPEND */ <==有嘗試調整到STANDBY,但無法偵測
SLEEPMGR_IDLE_1, /*SLEEPMGR_IDLE_1,*/ /* UDD_STATE_SUSPEND_LPM */
SLEEPMGR_IDLE_0, /* UDD_STATE_IDLE */
#endif

***請問還有哪部分可以調整的嗎??
--------------------------------------------------------------------------------------------------
另外,在[SAM-D21-DA1-Family-Data-Sheet-DS40001882H.pdf]中,有提到
1.Section 37.15(page 906)提到有過USB-IF認證部分,是指USB IP還是整顆IC去認證??
2.Section 37.8.2 USB Peripheral Power Consumption (page 873)中,
有提到[Table 37-13. Typical USB Device Full Speed mode Current Consumption],
(1)suspend current在GCLK_USB OFF的情況下是201uA
(2)suspend current在GCLK_USB ON的情況下是0.83mA
這兩個條件是只測試USB IP嗎?還是整個IC??
能否提供期對應的firmware code或對應ATSAMD21G18A的燒錄檔??


以上[??]的詢問是否能夠懇請幫忙~認證規格差一些,很苦惱~感謝~

發表於: 5/21 18:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#6
管理員
管理員


查看用戶資訊
Hi,

您可以參考Application Note, AT06475: SAM D21 USB. 以及 AT09334: USB Device Interface (UDI) for Human
Interface Device Generic (HID Generic).
進入sleep mode並不意味著完全切斷與PC的通訊,而是要在保持低功耗的同時,仍然能夠響應外部事件。ATSAMD21G18A提供了不同級別的Sleep mode,每個模式對於喚醒源和功耗有不同的限制。您需要選擇一個能夠讓USB在需要時喚醒MCU的sleep mode。

https://ww1.microchip.com/downloads/en ... lication-Note_AT06475.pdf

https://ww1.microchip.com/downloads/ae ... plicationNote_AT09334.pdf

發表於: 5/16 16:50
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#5
新會員
新會員


查看用戶資訊
參照:

CCC_Ruby wrote:
Hi,

您可以嘗試以下幾件事情來能不能降低 USB suspend mode的電流消耗。
- 確認MCU是否進入sleep mode (包括 Idle 和 Standby mode)。
- 在Suspend mode 下關閉不必要的 周邊設備 或 clock(外部、內部或周邊設備的 clock)。
- 透過Power Manager 設定來確保在 suspend mode 下,MCU 的電源管理能夠降低電流消耗至最低。


-----------------------------------------------------------------------------------
您好~感謝您撥空回覆~
1.- 確認MCU是否進入sleep mode (包括 Idle 和 Standby mode)。[回覆如下]
目前嘗試在[USB Device HID Generic Example - SAM D21 Xplained Pro - ATSAMD21J18A]中,
ui.c中,
void ui_powerdown(void)
{
//LED_Off(LED_0_PIN);
sleepmgr_enter_sleep();//加入此function

}
量測電流後,是小於2.5mA(約0.3mA),但PC無法識別亦無法進入正常HID模式.

2.- 在Suspend mode 下關閉不必要的 周邊設備 或 clock(外部、內部或周邊設備的 clock)。[回覆如下]
目前電路並無其他週邊只有MCU與32K振盪器與reset電路;
以Example Code的內容,clock的部分[並未修改範例的設定],使用
(1)CONF_CLOCK_GCLK_0 ; (2)CONF_CLOCK_OSC32K_ENABLE_32KHZ_OUTPUT =true

請問有建議修正的地方嗎?

3.透過Power Manager 設定來確保在 suspend mode 下,MCU 的電源管理能夠降低電流消耗至最低。[回覆如下]
這是透過開發工具設定?還是哪一個部分?


請問您有相關文件或reference code可供參考嗎?
目前是參考[Appnotes/Atmel-42336-ASF-USB-Stack-Manual_ApplicationNote_AT09331.pdf],
page 17的workflow進行設定.

煩請指教~感謝~

發表於: 5/15 18:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#4
新會員
新會員


查看用戶資訊
感謝回覆,目前的韌體,是使用開發工具中的Example,
[USB Device HID Generic Example - SAM D21 Xplained Pro - ATSAMD21J18A]進行測試
認知上應有進入省電模式,但實際測試看起來為達到,請知悉~

發表於: 5/15 18:18
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#3
管理員
管理員


查看用戶資訊
Hi,

您可以嘗試以下幾件事情來能不能降低 USB suspend mode的電流消耗。
- 確認MCU是否進入sleep mode (包括 Idle 和 Standby mode)。
- 在Suspend mode 下關閉不必要的 周邊設備 或 clock(外部、內部或周邊設備的 clock)。
- 透過Power Manager 設定來確保在 suspend mode 下,MCU 的電源管理能夠降低電流消耗至最低。

發表於: 5/15 17:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於ATSAMD21-USB suspend current認證問題
#2
資深會員
資深會員


查看用戶資訊
請問一下MCU也有進入省電模式嗎?

發表於: 5/15 16:40
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


關於ATSAMD21-USB suspend current認證問題
#1
新會員
新會員


查看用戶資訊
您好~目前使用型號ATSAMD21G18A的MCU,應用於USB HID與I2C橋接器,
但送USB-IF相關認證單位測試後,發現suspend current約為7mA(大於規範中的2.5mA)

因此,透過開發工具中提供的Example project
[USB Device HID Generic Example - SAM D21 Xplained Pro - ATSAMD21J18A]進行測試,
經確認,無論是使用自行用ATSAMD21G18A製作的板子(板上只有MCU與32K振盪器與reset電路)
或[SAM D21 Xplained Pro]開發板,suspend current都在3.1x mA左右,

目前遇到瓶頸無法再調低電流,請問有什麼方式可以降低到符合規範的2.5mA??

測試手法為:
1.在電腦端與開發板間,VBUS串接一電流表
2.讓電腦進入休眠
3.觀看電流表上數值

若有任何解法,懇請告知,謝謝各位~

PS.附圖為程式設定與應用手冊截圖~

Attach file:



jpg  note.jpg (225.22 KB)
123464_664414c6dc0a7.jpg 1300X1008 px

發表於: 5/15 9:50
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------