020-32365760
020-32365760

广州美芯电子科技有限公司

PRODUCTS
产品中心
产品中心
产品中心
  • MX8965A 蓝牙录音芯片
MX8965A 蓝牙录音芯片
所属类目:【录变音芯片】
自带MP3功能 可挂TF卡、Flash 手机蓝牙通讯,UART串口控制 MX8965A 是一个使用串口(UART)命令控制的 MP3 播放和录音芯片,完美的集成了MP3 的硬编解码,性能稳定。存储设备同时支持 FLASH(不支持 flash 录音),TF/SD 卡,U盘。支持 FAT16、FAT32 文件系统。该款芯片性能另外该芯片也是深度定制的产品,专为固定语音播放领域开发的低成本解决方案。
PDT下载

MX8965A 串口通信协议文档

帧结构调整,长度字段移到命令字之前,长度=命令(1字节)+数据(N字节)。

新帧结构:[帧头][长度高][长度低][命令][数据...][校验]。

详见版本信息章节。

协议概述

本文档描述了MX8965A设备的串口通信协议,该协议用于主机与设备之间的数据交换和控制命令传输。

基本参数

· **波特率**:(9600bps)

· **数据位**: 8位

· **停止位**: 1位

· **校验位**: 无校验

· **流控制**: 无

数据包格式

基本帧结构

+--------+--------+--------+--------+--------+...+--------+--------+
| 帧头   |数据长度H|数据长度L| 命令字 | 数据0  |...| 数据N  | 校验和 |
+--------+--------+--------+--------+--------+...+--------+--------+
| 0xAA   |LEN_H   | LEN_L  | CMD    | DATA0  |...| DATAN  | XOR    |
+--------+--------+--------+--------+--------+...+--------+--------+

字段说明

· **帧头 (1字节)**: 固定为 `0xAA`,用于标识数据包开始

· **数据长度 (2字节)**: 命令字(1字节) + 数据域的字节数,高字节在前,低字节在后(大端序)

· **命令字 (1字节)**: 指定具体的操作命令

· **数据域 (0-65534字节)**: 命令相关的参数数据

· **校验和 (1字节)**: XOR异或校验,对帧头到数据域所有字节进行异或运算

校验和计算

uint8_t checksum = 0;
 /* 长度字段 = 命令字(1) + 数据域(N) */
uint16_t len = (packet[1] << 8) | packet[2];
/* 校验范围: 帧头 + 长度2字节 + 命令 + 数据 = 3 + len */
for (int i = 0; i < (len + 3); i++) {
    checksum ^= packet[i];
}

1、命令字功能模块分类

协议中的命令字按功能模块进行了系统化分类,每个功能模块占用一段连续的命令字地址空间:

image.png

· 录音控制码:00进入录音等待、01开始录音、02录音/暂停、03继续暂停、04继续录音、05停止录音、06播放录音

· 录音比特率编码:00=16kbs、01=24kbs、02=32kbs、03=48kbs、04=64kbs、05=96kbs、06=128kbs、07=144kbs、08=160kbs

· 录音路径按GBK编码发送,长度字段=命令(1)+路径字节数;建议控制路径长度≤190字节

· MIC增益范围0-63,单位与芯片寄存器一致

3、响应数据格式

设备状态响应

在线设备状态 (响应0x22命令)

表示哪些设备已插入/在线,可以是多个设备的组合。

数据字节0: 在线设备状态位(支持多设备组合)
- 0x00/0xFF: 无设备在线
- 0x01: USB在线
- 0x02: SD卡在线
- 0x03: USB+SD卡在线
- 0x04: FLASH在线
- 0x05: USB+FLASH在线
- 0x06: SD卡+FLASH在线
- 0x07: USB+SD卡+FLASH全部在线

当前播放设备 (响应0x23命令)

表示当前正在使用哪个设备播放音乐,只能是单个设备。

数据字节0: 当前播放设备(单一设备)
- 0x00/0xFF: 无播放设备
- 0x01: 正在播放USB设备
- 0x02: 正在播放SD卡
- 0x04: 正在播放FLASH

**注意**: 在线设备(0x22)和播放设备(0x23)的区别:
- **在线设备**: 哪些设备已插入,可以是多个(如USB和SD卡都插入→0x03)
- **播放设备**: 当前正在播放哪个,只能是单个(如正在播放USB→0x01)

4、数值响应格式

4.1曲目信息响应

当前曲目 (0x20): 2字节,高字节+低字节
总曲目数 (0x21): 2字节,高字节+低字节

4.2频率信息响应 (收音机)

频率值: 2字节,高字节+低字节
实际频率 = 值 / 100 (MHz)
例如: 0x2710 = 10000 → 100.00 MHz

4.3播放时间信息响应

总播放时间 (0x38响应): 3字节,时(1字节) 分(1字节) 秒(1字节)
例如: 0x01 0x2D 0x1E 表示 01:45:30 (1小时45分30秒)

当前播放时间 (0x39开启后自动发送): 3字节,时(1字节) 分(1字节) 秒(1字节)
当通过0x39命令开启时间发送后,设备会定期自动发送当前播放时间
格式与总播放时间相同

4.4错误处理

错误:CMD(0xFE):一个字节,所有的错误都由这个错误返回
    0x01---校验和错误
    0x02---数据包不完整
    0x06----没有找到指定设备
    0x07---设备不在线错误
    0x08---设备读错误
    0x09--设备扫描失败
    0x0a---没有找到文件
    0x0b---录音文件夹操作错误
    0x0c----文件读错误

4.5校验和错误

· 接收到校验和不匹配的数据包时,丢弃该数据包

· 发送端重新发送命令

4.6数据包不完整

· 缓冲区保存不完整数据,等待后续数据

· 超时机制:超过指定时间未收到完整数据包则清空缓冲区

4.7无效命令

· 设备收到未定义的命令字时,可能返回错误响应或忽略

5、实现注意事项

5.1. 数据包解析

· 必须检查帧头0xAA

· 验证数据长度字段的合理性

· 计算并验证校验和

· 处理数据包边界问题

5.2. 缓冲区管理

· 使用环形缓冲区或滑动窗口

· 及时清理无效数据

· 防止缓冲区溢出

5.3. 线程安全

· 串口读写操作需要线程同步

· 界面更新使用消息机制

· 避免阻塞主线程

5.4. 字符编码

· 路径和文件名使用GBK编码发送

· 长文件名响应使用UNICODE编码

· 注意字节序问题

6、芯片封装尺寸图

d83fe427-c6a7-47d0-bc71-250167bfce32.png

59285e5b-9e17-426e-bc18-057ab75140d1.png



Quality assurance and trust support
品质保障 · 信赖支撑
技术支持 technical support
10名软硬件设计人员和3名专业MIDI工程师组成工程团队,拥有9年产品研发经验,30000+项目累积,以规范的流程和专注的态度,提供全方位的语音解决方案。
全自动化生产 Fully automated production
引进智能自动化生产线,全自动语音烧写机生产,大大地提高生产效率,保证生产一次良品率,及出厂货品品质优良率。
定制开发 Custom development
免费打样,1工作日免费制作语音;快速研发,1天评估,3天交样品,15天可量产,VIP客户24小时专业客服全程跟踪,10+团队全程技术支持;快速交货,500K订单三天内交付。
产品质量 product quality
每一颗IC都经历48道生产工序,11道QC工艺,把控生产过程,保障产品质量力求音质和电子硬件的完美契合。
交付保障 Delivery guarantee
采用先进的管理系统和ISO9001质量管理体系对生产制造和质量管控进行实时、动态的管理,确保品质与效率。每一张订单都有智能化排单安排,严格把控每一道生产环节工期,提高交付率。
售后无忧 Worry free after-sales service
拥有优秀的业务团队,及时跟进客户的使用情况,为满足客户不同的交付需求,协助生产全过程,提供一系列优秀的售后服务。