CH9329 芯片串口通信协议 WCH 沁恒
CH9329 芯片有 3 串口通信种模式:
串口通信模式 0:协议传输模式(默认);
串口通信模式 1:ASCII 模式;
串口通信模式 2:透传模式。
CH9329 芯片默认工作在串口通信模式 0(协议传输模式),本协议主要用于指定 CH9329 芯
片工作在该模式下的串口通信协议。
任何模式下,芯片检测到该 SET 引脚为低电平后自动切换到“协议传输模式”,客户端串
口设备可进行参数配置。因此,需要进行参数配置时,可以先设置 SET 引脚为低电平,然后
再进行配置。
1. 通信结构
外围串口设备(PC 机、MCU 或其它串口设备)与 CH9329 芯片之间的通信结构框图如下:
2. 通信方式
外围串口设备(PC 机、MCU 或其它串口设备)与 CH9329 芯片的通信为主从方式,外围串口
设备为主机,CH9329 芯片为从机。命令都是由外围串口设备发起,CH9329 芯片进行被动应答。
外围串口设备在 500mS 内接收不到 CH9329 芯片的应答或者应答信息错误,则认为本次通信失
败。
2.1、帧格式说明
通信以帧为单位,即以数据包的形式发送,每帧数据都带有帧头字节、地址码、命令码、
后续数据长度、后续数据以及累加和。如果 CH9329 芯片接收到错误帧,则返回错误应答帧或
者将其直接丢弃。
以下将外围串口设备发起的通信帧称为“命令包”,CH9329 芯片返回的通信帧称为“应
答包”。对于“命令包”,外围串口设备发送之后,需要等待 CH9329 芯片返回“应答包”,根
据“应答包”来确定本次命令是否执行成功。如果返回错误状态或接收不到“应答包”,则需
要根据情况进行重试或者出错处理。
注:以下所有描述的数据均为 16 进制格式。
命令包及应答包数据格式如下:
帧头:占 2 个字节,固定为 0x57、0xAB;
地址码:占 1 个字节,默认为 0x00,可接收任意地址码的命令包,如果芯片地址设置成
0x01---0xFE,则只能接收对应地址码或地址码为 0xFF 的命令包。0xFF 为广播包,芯片不需
要进行应答;
命令码:占 1 个字节,外围串口设备发起的帧的命令码有效范围为:0x01---0x3F,CH9329
芯片发送正常应答包时的命令码为:原命令码 | 0x80;CH9329 芯片发送异常应答包时的命
令码为:原命令码 | 0xC0;
后续数据长度:占 1 个字节,主要用于记录该包实际后续数据的长度,仅包含后续数据
评论0