2.7 KiB
2.7 KiB
模块拆分 - 自适应 RF 解码与发射 (Docs/50_module-breakdown/mod-rf.md)
本模块描述 LR690L 433MHz 射频物理收发的控制、自适应宽限时间比值解码机制以及对码/呼救编码包的发射。
1. 模块职责说明
- 职责范围:
- 配置射频芯片接收 GPIO 与发射 GPIO 的电平方向。
- 自适应比值解调算法:
EV1527 协议数据速率变化范围较宽。本模块采用自适应宽度比值解调机制:
- 捕获到一个低电平维持时间介于 1500us~60000us 之间的脉冲,判定为同步前导头。
- 抓取该帧的标准时钟周期基准
T = low_time / 31(前导低电平占 31 个时钟周期 T,允许 T 的宽度随环境在宽限范围内自适应计算)。 - 连续捕获 24 位宽数据:每个 bit 的电平变化依据其高低电平的宽幅比例(1:3 对应 0,3:1 对应 1)反解出对应的数据位。
- 解析出 24 位载波包:前 20 位为无线探测器的出厂唯一地址码(Address Code),后 4 位为状态数据码(Data Code)。
- 数据包主动发送: 将手环 Factory ID 编码为一帧 EV1527 数据,通过物理发射引脚输出同步头及 24 位调制波形,连发多遍以确保 IPC 接收质量。
2. 业务状态射频数据编码定义
- 对码绑定发送 (LIAISON IPC):
- 数据码固定为
0x01(0001),源地址为手环 20-bit 出厂 Factory ID,周期性连续发射。
- 数据码固定为
- 本地主动 SOS 呼救 (SOS EMIS):
- 数据码固定为
0x08(1000),源地址为手环 20-bit 出厂 Factory ID,以 2 秒为周期循环向外发射。
- 数据码固定为
- 传感器自动识别对码:
- 手环被动接收 433MHz 对码信号。若捕获成功,状态机直接依据后 4 位数据码的数据值自动判断识别传感器的设备类型(如门磁为
0x01,红外为0x02),直接跳转到对码微调序号页,类型与大图标只读高亮。
- 手环被动接收 433MHz 对码信号。若捕获成功,状态机直接依据后 4 位数据码的数据值自动判断识别传感器的设备类型(如门磁为
3. 接口与函数说明
void RF_Init(void):初始化射频物理端口,使能 INT2 (接收脚的沿中断)。bit EV1527_Decode(u32 *out_addr, u8 *out_type): 主循环轮询调用。如果捕获到合法同步头且成功解调出 24 位数据流,则输出out_addr和out_type并返回 1,否则返回 0。void EV1527_Transmit(u32 addr, u8 data_code): 主动发射数据。连发至少 5 遍,每遍间歇 20ms,产生满足 T 基准的同步码头、1码时序(高 3T 低 1T)和0码时序(高 1T 低 3T)。