:::

論壇索引


Board index » All Posts (ken_chang)




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


您好~感謝回覆~

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

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

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

發表於: 2024/5/24 17:34
頂部


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


謝謝管理員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的燒錄檔??


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

發表於: 2024/5/21 18:53
頂部


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


參照:

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進行設定.

煩請指教~感謝~

發表於: 2024/5/15 18:51
頂部


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


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

發表於: 2024/5/15 18:18
頂部


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


您好~目前使用型號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

發表於: 2024/5/15 9:50
頂部


請問SAMD21產品USB IF認證問題
#6
新會員
新會員


您好~
請教貴司的SAMD21系列產品,是否有通過USB IF相關之相容性/插拔大會認證?
哪個地方得到這些資料?能否提供?
謝謝~

發表於: 2022/9/20 10:27
頂部






:::

Microchip連結

https://www.linkedin.com/company/microchiptechnologytaiwan
https://www.facebook.com/microchiptechnologytaiwan/?locale=zh_TW
https://mkpage.microchip.com/l/1082123/2025-03-12/2stnv5
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
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... ]

教育訓練中心

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