本文主要是介绍TI-CCxx系列电磁波唤醒学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近用到TI的射频的片子,CCxx系列的价格还算便宜,用作低功耗还是不错的。当然最令人期望的还是无线唤醒(WOR),以前做过比较多的是利用深度睡眠与RTC唤醒。但是TI已经把这个功能做到了片子里面,在我看来,至少可以通过片子来唤醒MCU。功耗应该会有所下降的。
原创帖子,转摘注明出处:http://blog.csdn.net/libin55/article/details/51837903
首先科普下无线唤醒(WOR):通俗的讲就是射频芯片进入轻度睡眠,然后另一个射频芯片通过发送信号把睡眠的模块唤醒。
那么先上图把
如图上所示,Event0~Event0事件0的隔间即为一次电磁波唤醒的总周期tEvent0。
可以很清楚的看出,一个周期经历了 唤醒->空闲->接收->空闲->睡眠
中间一段RXTimeout的时间决定了能否可靠唤醒,因为整个周期就在这段时间去检测空中报文来唤醒自己。
tEvent 0min = tEvent 1 + tIDLE to RX w/Calibrati on + tRX timeout + tIDLE +tSLEEPmin
上公式
涉及到的寄存器为:
WOREVT1 WOREVT0 WORCTRL 三个寄存器是配置 EVENT0与WOR_RES,决定了tEvent0
MCSM2配置RXTimeout的相对总周期的占空比与唤醒方式。(关系到功耗与唤醒的稳定性)
具体配置方式我就不细讲了,把重点已经挑出来了。唠叨两句,查阅某论坛,有大牛提到很多大公司不会使用硬件WOR,都用软件自己模拟,功耗与稳定性会更高。这个不是很懂,有待自己验证。
最后贴上源码与资料把
http://download.csdn.net/detail/libin55/9477753
这篇关于TI-CCxx系列电磁波唤醒学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!