2.0 KiB
2.0 KiB
模块拆分 - 自适应 RF 解码事件源 (Docs/50_module-breakdown/mod-rf.md)
本模块描述 LR690L 433MHz 无线接收的自适应比值解调机制、主动射频数据发送、以及其作为事件产生者投递对码/报警事件的过程。
1. 模块职责说明
- 职责范围:
- 事件产生者 (Event Producer):当物理引脚
P2.1(RF_RX_DATA) 沿中断触发,射频解调成功后,模块产生RF_EVENT_PAIR(对码) 或RF_EVENT_ALARM(报警) 并投递至系统事件总线。 - 自适应解调算法:
- 捕获 1500us~60000us 的同步低电平,动态计算时钟基准
T = low_time / 31。 - 连续解调 24 位宽数据:1:3 对应 0 码,3:1 对应 1 码,计算出 20 位地址码与 4 位状态数据码。
- 捕获 1500us~60000us 的同步低电平,动态计算时钟基准
- 屏蔽接收 0x08 SOS 码:手环被动接收到数据码为
0x08的载波信号时,强制过滤忽略,不产生任何事件。仅保留主动向外界发射0x08求救码的能力。 - 主动发送驱动:在应用层请求下,使能
P2.0(RF_TX) 和数据线P3.6(RF_TX_DAT),连续发射多遍调制数据(如对码绑定0x01或求救包0x08)。
- 事件产生者 (Event Producer):当物理引脚
2. 接口与函数说明
void RF_Init(void):配置 Pin 19, 20, 21, 22 物理引脚。使能接收控制RF_RX(P3.7) = 1。使能引脚电平变化中断用于休眠唤醒。bit EV1527_Decode(u32 *out_addr, u8 *out_type): 被主循环main.c轮询轮空调用。- 通过状态标志检测引脚跳变沿。
- 若解调出合法 24 位数据,填入
out_addr和out_type,返回 1;否则返回 0。
void EV1527_Transmit(u32 addr, u8 data_code): 由主动发送 App 调度。产生前导头及 24 位电平时序。连续发送 5 遍,以确保 IPC 摄像头可靠捕获。