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