大家好!
我用CC1110做遥控器,分为“遥控板”和“接收板”。(遥控板发射信号,接收板接收信号后执行继电器开闭动作)
因为“遥控板”使用干电池供电,我将程序设置为一段时间没有操作自动进入PM3模式,当有按键操作(I/O触发)时唤醒进入PM0模式。
现在发现有部分产品唤醒失败(按键没有反应),只有RST硬件复位后才能正常进入PM0模式。
交叉测试:我换一颗新的CC1110后,唤醒等功能又均正常。
换下来的旧的CC1110换到好的板子上,又出现唤醒失败(智能硬件复位)。
现在找不到问题点在哪,还请大家帮忙看看,给我一些建议!!
谢谢!!
Viki Shi:
看描述很可能是芯片原因,请问出现问题的比例是多少?
Vinson Yu:
回复 Viki Shi:
Viki,
出现问题的比例大概有9%。
我在芯片手册上看到如下描述,意思是说在进入PM3之前要重新配置一下IO口吗?
谢谢!!
Viki Shi:
回复 Vinson Yu:
这段话描述的是PM3的唤醒方式。PM3时任何内部供电的模块都会关闭,只有外部中断或者reset才能唤醒芯片,方式就是通过IO
Vinson Yu:
回复 Viki Shi:
Viki,
嗯嗯,是的。
I/O pins retain the I/O mode and output value set before entering PM3.
主要是这句话,没理解。
Viki Shi:
回复 Vinson Yu:
这句话就是字面意思,IO脚保持进入PM3前的原有设置【IO模式,输出值等】
举个例子,程序一开始会有初始化IO的操作,配置中断脚,处理不用的IO口【Unused I/O pins should have a defined level and not be left floating. One way to do this is to leave the pin unconnected and configure the pin as a general purpose I/O input with pull-up resistor. Alternatively the pin can be configured as a general purpose I/O output】,即上文所说的设置
Vinson Yu:
回复 Viki Shi:
Hello Viki Shi,
现在IO唤醒失败依然存在,还请帮忙想想问题可能出在哪里?
谢谢!!
Butterfly:
回复 Vinson Yu:
参考Errata,是有一定从PM2/3唤醒的失败概率,Errata里给出了Work-around。
http://www.ti.com/lit/er/swrz022c/swrz022c.pdf
da qin zheng sheng:
回复 Vinson Yu:
可能和晶振质量问题相关?
da qin zheng sheng:
回复 Vinson Yu:
尝试多次唤醒可以不?