MCU 控制协议

From Photonicat Wiki
Revision as of 11:56, 18 August 2023 by Monstercat (talk | contribs) (Created page with "= 通讯协议 = == RK3568 与 电源充电控制板卡通讯协议 == ===物理层协议=== * 通过串口(ttyS4)通讯,115200波特率,校验位无,数据位8位,停止位1位 ====帧格式表==== {| class="wikitable sortable" |- ! 起始位 !! 数据位 !! 校验位置 !! 结束位置 |- |0xA5,一个字节长度||见数据位表,变长||数据位(从数据位开始到数据位结束)的CRC校验,2个字节长度,低位在前,高位在后||0x5A...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

通讯协议

RK3568 与 电源充电控制板卡通讯协议

物理层协议

  • 通过串口(ttyS4)通讯,115200波特率,校验位无,数据位8位,停止位1位

帧格式表

起始位 数据位 校验位置 结束位置
0xA5,一个字节长度 见数据位表,变长 数据位(从数据位开始到数据位结束)的CRC校验,2个字节长度,低位在前,高位在后 0x5A,一个字节长度
数据位表
数据来源地址 目的地址 帧序号 数据长度 (第5-6位) 数据命令以及数据内容
0x01表示第一块CPU板,0x02表示第二块CPU板,0x03表示第三块CPU板,目前只有一块RK3568 CPU 板子,只用到0x01
0x81表示 电源充电控制板,一个字节
0x01表示第一块CPU板,0x02表示第二块CPU板,0x03表示第三块CPU板目前只有一块RK3568 CPU 板子,只用到0x01
0x81表示 电源充电控制板
0x80表示目的地址是广播给所有的CPU电路板,0xfe表示目的地址是所有的RA2E1电路板,0xff表示广播给系统中所有设备,其他地址备用,一个字节长度
主动发送数据设备没发送一次数据加一个,两个字节,低位在前,高位在后(大于0xffff,清零),接收需要返回数据同数据返回 数据命令以及数据内容部分数据长度,两个字节,低位在前,高位在后 见数据命令以及数据内容表,变长

数据命令以及数据内容表

命令序号(定长,两个字节低位在前,高位在后),第7-8位 命令内容(变长,0到n个字节),第9位开始 是否需要回复(定长,1个字节)
1,CPU发送心跳 1表示需要返回,0表示无需返回
2,RA2E1应答心跳 0(超过1分钟没有收到任何数据,RA2E1重启CPU) 0表示无需返回
13,RA2E1发送关机命令 关机事件,一个字节,0,表示按键强制关机,1,表示电池低电压关机,2,表示升级前关机;3,其他关机 1表示需要返回,0表示无需返回
14,CPU应答 0数据正常,1错误 0表示无需返回
15,CPU发送关机命令 1表示需要返回,0表示无需返回
16,RA2E1应答 0数据正常,1错误 0表示无需返回