|
仔细看了相关文档,似乎是开点窍了,但具体使用的时候却收不到数据包,求一段自动唤醒并接收数据的代码
Low duty cycle (LDC) mode is designed to allow low average current polling operation of the Si443x RF receiver by
providing “wake on radio” functionality.
In this mode, the receiver periodically wakes itself up to check if a valid signal is being transmitted. If a valid RF
preamble is not detected, the chip will return to sleep mode at the end of the “LDC mode duration” and remain in
sleep mode until the beginning of the next wake-up period.
If a valid preamble and sync are detected the receiver will remain enabled until the entire packet is received into
the FIFO, or until a receive error is detected. This process takes place without intervention from the controlling
MCU, which can remain in a very low power stand-by mode. The MCU can be notified, via various configurable
interrupts, of the status of the receiver in this mode. Most typically, the MCU will only be interrupted when a valid
packet has been received into the FIFO.
The LDC mode makes use of the transceiver’s internal wake-up timer module (WUT). This is based on a 32 kHz
oscillator that can either be generated internally or, more accurately, be derived from an external 32.768 kHz
crystal. This timer module can be configured to run in sleep mode, and also to generate an interrupt or GPIO signal
at wake-up as required.
上面是说明文档上的一段介绍,以下我自己的理解:
在LDC模式下,接收器可以周期性的唤醒自己,并检测一下是否有有效的信号。如果没有检测到有效的前导码,那么芯片将自动进入睡眠模式,直到下一个WUT周期。相反,如果检测到有效的前导码和同步字,芯片将进入接收状态,直到整个数据包接收完毕。整个过程不需要MCU的参与,芯片会在接收到数据包之后通过中断来通知MCU处理。
LDC模式,通过芯片内部的WUT模块来实现,WUT模块使用一个32KHz的振荡器,可以内部产生,也可以由外部提供。
以上的汉字部分是我自己的理解,不知到有没有理解错误,但是实际测试的时候,接收不到数据,请前辈指点。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|