# MCU 固件数据上报异常反馈

**固件版本**：0302_20260527

---

## 问题概述

收音机功能中，MCU 上报的 FREQ / PS_PTY / RT 三帧数据，载荷字段全部为 0。Android 端全链路排查完毕，解析逻辑没问题，怀疑是 MCU 固件没填数据。

具体现象：
- 搜台正常，频率在变，但 valid 始终为 0
- signal 始终为 0
- PS（台名）和 RT（广播文本）都是空的

---

## 原始数据

直接抓的串口 body 字节，未经 Android 业务处理。

### FREQ 帧（body 7 字节）

搜台中（SEEK_FF）：
```
26 B0 00 42 00 00 00
26 B1 00 42 00 00 00
26 B2 00 42 00 00 00
...（连续 40+ 帧）
26 C4 00 42 00 00 00
```

搜台结束：
```
26 D8 00 40 00 00 00
```

Byte8-9 频率正常，Byte10 band 正常，Byte11 seekMode 正常。
**Byte12（valid）和 Byte14（signal）全程为 0。**

### PS_PTY 帧（body 9 字节）

```
00 00 00 00 00 00 00 00 00
```
9 字节全 0。

### RT 帧（body 64 字节）

```
00 00 00 ... 00
```
64 字节全 0。

---

## Android 端排查结果

| 检查项 | 结果 |
|--------|------|
| C 协议层 payload 偏移 | OK |
| JNI body 提取 | OK |
| Java 层转发 | OK |
| valid 解析 `(p[4]>>7)&1` | OK |
| signal 解析 `p[6]&0xFF` | OK |
| PS / RT 解析 | OK |
| AIDL 序列化 | OK |

每一层都正常，字节映射和 Radio.xlsx 一致。

---

## 需要确认

1. 固件 `0302_20260527` 是否实现了 valid / signal / PTY / PS / RT 这些字段的填充？
2. 搜到台后 valid 位是否有置 1 的逻辑？
3. signal 是否从射频模块读取并填入？
4. PS / RT 是否从 RDS 解码后填入？
5. 如为已知问题，修复版本号及发布时间？
6. 如协议有更新，请提供最新文档。

---

如有疑问或需要更多日志，随时联系。

Android 中间件测试组
2026-05-28
