您好!
我有几个关于使用 CC3220MODASF 的定制板上的休眠和引脚锁定的问题。
我使用的是 TI-RTOS、基于 HttpGet 示例。 我使用 Power_SHUTDOWN 触发器休眠。 据我了解 、调用 MAP_PRCMIORetentionEnable 就足以激活引脚驻留。
我刚刚添加了在退出休眠时对 PowerCC32XX_disableIORetention (PowerCC32XX_config.ioRetentionShutdown)的调用、以及对 Power_enablePolicy ()的调用
下面是我得到的结果:
ioRetentionShutdown 休眠 = PRCM_IO_RET_GRP_1 | PRCM_IO_RET_GRP_2 | PRCM_IO_RET_GRP_3我得到预期的低功耗~30uA (板上有几个其他组件)
但是、当添加 PRCM_IO_RET_GRP_0并将 parkInfo 结构中的所有引脚设置为 PowerCC32XX_DONT_PARK 或 PowerCC32XX_NO_PULL_HIZ 时。 该电流上升至~350uA。
我希望这两个器项的功耗与数据表中指定的相同:"默认情况下、所有 I/O 在休眠状态下都悬空。 不过、默认状态可通过 SW"
我是否遗漏了什么?
请参阅下面的配置:
PowerCC32XX_ParkInfo parkInfo[]={ /* 引脚 驻车状态 引脚别名(功能) -------- ---------------------- ---------- * {PowerCC32XX_PIN01、PowerCC32XX_DONT_PARK}、/* GPIO10 * {PowerCC32XX_PIN02、PowerCC32XX_DONT_PARK}、/* GPIO11 NFC_WAKEUP * {PowerCC32XX_PIN03、PowerCC32XX_DONT_PARK}、/* GPIO12 * {PowerCC32XX_PIN04、PowerCC32XX_DONT_PARK}、/* GPIO13 * {PowerCC32XX_PIN05、PowerCC32XX_DONT_PARK}、/* I2C * {PowerCC32XX_PIN06、PowerCC32XX_DONT_PARK}、/* I2C * {PowerCC32XX_PIN07、PowerCC32XX_DONT_PARK}、// GPIO16 (uC_UART_TX)* {PowerCC32XX_PIN08、PowerCC32XX_DONT_PARK}、// GPIO17 (uC_UART_RX)* {PowerCC32XX_PIN13、PowerCC32XX_DONT_PARK}、/* FLASH_SPI_DIN * {PowerCC32XX_PIN15、PowerCC32XX_DONT_PARK}、// GPIO22 * {PowerCC32XX_PIN16、PowerCC32XX_DONT_PARK}、// TDI (JTAG 调试)* {PowerCC32XX_PIN17、PowerCC32XX_DONT_PARK}、// TDO (JTAG 调试)* {PowerCC32XX_PIN19、PowerCC32XX_DONT_PARK}、// TCK (JTAG 调试)* {PowerCC32XX_PIN20、PowerCC32XX_DONT_PARK}、// TMS (JTAG 调试)* {PowerCC32XX_PIN18、PowerCC32XX_DONT_PARK}、// GPIO28 * {PowerCC32XX_PIN21、PowerCC32XX_DONT_PARK}、// SOP2 * {PowerCC32XX_PIN29、PowerCC32XX_DONT_PARK}、/* ANTL1 * {PowerCC32XX_PIN30、PowerCC32XX_DONT_PARK}、// ANTSEL2 * {PowerCC32XX_PIN45、PowerCC32XX_DONT_PARK}、/* DCDC_ANA2_SW_P * {PowerCC32XX_PIN50、PowerCC32XX_DONT_PARK}、// GPIO0 * {PowerCC32XX_PIN52、PowerCC32XX_DONT_PARK}、 /* RTC_XTAL_N * {PowerCC32XX_PIN53、PowerCC32XX_DONT_PARK}、// GPIO30 * {PowerCC32XX_PIN55、PowerCC32XX_DONT_PARK}、 /* GPIO1 (FLASH_UART_RX)*/ {PowerCC32XX_PIN57、PowerCC32XX_DONT_PARK}、 /* GPIO2 (FLASH_UART_TX)*/ {PowerCC32XX_PIN58、PowerCC32XX_DONT_PARK}、/* GPIO3 UC 复位 * {PowerCC32XX_PIN59、PowerCC32XX_DONT_PARK}、 /* GPIO4 uC_WAKEUP * {PowerCC32XX_PIN60、PowerCC32XX_DONT_PARK}、 /* GPIO5 uC_TEST * {PowerCC32XX_PIN61、PowerCC32XX_DONT_PARK}、/* GPIO6 NFC_ENABLE * {PowerCC32XX_PIN62、PowerCC32XX_DONT_PARK}、/* GPIO7 UC_ALERT * {PowerCC32XX_PIN63、PowerCC32XX_DONT_PARK}、// GPIO8 * {PowerCC32XX_PIN64、PowerCC32XX_DONT_PARK}、/* GPIO9 */ }; const PowerCC32XX_ConfigV1 PowerCC32XX_CONFIG ={ .policyInitFxn =&PowerCC32XX_initPolicy、 policyFxn =&PowerCC32XX_sleepPolicy、 .enterLPDSHookFxn =空、 .resumeLPDSHookFxn =空、 .enablePolicy = false、 .enableGPIOWakeupLPDS = true、 .enableGPIOWakeupShutdown = true、 .enableNetworkWakeupLPDS = true、 .wakeupGPIOSourceLPDS = PRCM_LPD_GPIO13、 .wakeupGPIOTypeLPDS = PRCM_LPD_FALL_EDGE、 .wakeupGPIOFxnLPDS =空、 .wakeupGPIOFxnLPDSArg=0、 .wakeupGPIOSourceShutdown = PRCM_HIB_GPIO4 | PRCM_HIB_GPIO11、 .wakeupGPIOTypeShutdown = PRCM_HIB_FRAGE_EDGE、 .ramRetentionMaskLPDS = PRCM_SRAM_COL_1 | PRCM_SRAM_COL_2 | PRCM_SRAM_COL_3 | PRCM_SRAM_COL_4、 keepDebugActiveDuringLPDS = false、 .ioRetentionShutdown = PRCM_IO_RET_GRP_0 | PRCM_IO_RET_GRP_1 | PRCM_IO_RET_GRP_2 | PRCM_IO_RET_GRP_3、//PRCM_IO_RET_GRP_0 | PRCM_IO_RET_GRP_2 | PRCM_INT_GRP_2 | PRCM_INT_RP_2 .pinParkDefs = parkInfo、 .numPins = sizeof (parkInfo)/sizeof (PowerCC32XX_ParkInfo) };
谢谢、
C é dric