Files
stc32g128k/Docs/50_module-breakdown/mod-rf.md
2026-07-15 15:57:37 +08:00

2.0 KiB
Raw Permalink Blame History

模块拆分 - 自适应 RF 解码事件源 (Docs/50_module-breakdown/mod-rf.md)

本模块描述 LR690L 433MHz 无线接收的自适应比值解调机制、主动射频数据发送、以及其作为事件产生者投递对码/报警事件的过程。

1. 模块职责说明

  • 职责范围
    1. 事件产生者 (Event Producer):当物理引脚 P2.1 (RF_RX_DATA) 沿中断触发,射频解调成功后,模块产生 RF_EVENT_PAIR (对码) 或 RF_EVENT_ALARM (报警) 并投递至系统事件总线。
    2. 自适应解调算法
      • 捕获 1500us~60000us 的同步低电平,动态计算时钟基准 T = low_time / 31
      • 连续解调 24 位宽数据1:3 对应 0 码3:1 对应 1 码,计算出 20 位地址码与 4 位状态数据码。
    3. 屏蔽接收 0x08 SOS 码:手环被动接收到数据码为 0x08 的载波信号时,强制过滤忽略,不产生任何事件。仅保留主动向外界发射 0x08 求救码的能力。
    4. 主动发送驱动:在应用层请求下,使能 P2.0 (RF_TX) 和数据线 P3.6 (RF_TX_DAT),连续发射多遍调制数据(如对码绑定 0x01 或求救包 0x08)。

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_addrout_type,返回 1否则返回 0。
  • void EV1527_Transmit(u32 addr, u8 data_code) 由主动发送 App 调度。产生前导头及 24 位电平时序。连续发送 5 遍,以确保 IPC 摄像头可靠捕获。