主题中讨论的其他器件: CC2590、 CC2540
您好!
我正在使用 CC2541和 CC2590开发 Beacon 模块。
开发环境为 BLESTACK 1.4.2.2 、使用 CC2541的 SimpleBLEBroadcaster -部分。
当另一个相关的发动机完成 S/W 时 、运转正常。 但是、当我们使用超过50个组进行现场测试时、 几乎是100%的组
已停止2.9 小时的广播并恢复正常的广播条件。 每天发生一次或 每周随机发生一次。
根据 E2E 建议、我尝试将 (#define HAL_SLEEP_ADJ_TICKs)时间从最初 的35调整为85、以确保足够的32MHz X tal
稳定时间。 但问题是持续发生的。 当我将节拍时间调整为15时、 问题始终发生。
因此、我尝试排除 power_save 模式、如下所示仅用于测试。 然后、我发现32MHz X-Tal 在没有睡眠的情况下运行。
但问题 一再发生。 因此、我们认为这个问题不仅与 节拍时间有关。
INT_HEPASS_LEN=2048
HALNODEBUG
OSAL_CBTIMER_NUM_TESS=1
HAL_AES_DMA=true
HAL_DMA=true
xPOWER_Saving
xPLUS_Broadcaster
xHAL_LCD=true
xHAL_LED=false
xHAL_key=true
我发现的另一个不祥现象是、当启用 power_save 模式时、该问题会引起32MHz X tal 振荡。
因此、正常功耗0.8mA 在2.9小时内增加到8mA。 并在睡眠时恢复到0.8mA。
为了避免 任何其他 未使用的 I/O 端口中断、 我在许多方面更改了端口设置。 但它不能解决问题。
----------------------------------------------------
#if defined (CC2540_MINIDK)
//注册所有关键事件-此应用程序将处理所有关键事件
RegisterForKeys ( simpleBLEBroadcaster _taskID );
//确保 LED 已关闭
HalLedSet((HAL_LED_1| HAL_LED_2)、HAL_LED_MODE_OFF );
//对于密钥卡板、将 GPIO 引脚设置为功耗优化状态
//请注意、蜂鸣器仍然存在一些泄漏电流、
//加速计、LED 和 PCB 上的按钮。
P0SEL = 0;//将端口0配置为 GPIO
P1SEL = 0;//将端口1配置为 GPIO
P2SEL = 0;//将端口2配置为 GPIO
P0DIR = 0xFC;//端口0引脚 P0.0和 P0.1作为输入(按钮)、
//所有其他(P0.2-P0.7)作为输出
P1DIR = 0xFF;//所有端口1引脚(P1.0-P1.7)作为输出
P2DIR = 0x1F;//所有端口1引脚(P2.0-P2.4)作为输出
P0 = 0x03;//端口0上的所有引脚均为低电平、P0.0和 P0.1除外(按钮)
P1 = 0; //端口1上的所有引脚均为低电平
P2 = 0; //端口2上的所有引脚均为低电平
#endif //#if defined (CC2540_MINIDK)
------------------------------------------------------------------
您是否可以告知哪些 S/W 部件会导致此类问题? 以及如何解决?
原理图如附件所示。



