Photonicat MCU 通讯协议:修订间差异

来自Photonicat Wiki
跳转到导航 跳转到搜索
C2h2留言 | 贡献
C2h2留言 | 贡献
Template:Note does not exist on this wiki; use plain bold
 
(未显示2个用户的3个中间版本)
第1行: 第1行:
===物理层协议===
'''注意:'''本页内容已迁移。Photonicat 2(RK3576)与一代的完整 MCU 通讯协议现在统一
*通过串口通讯,115200波特率,校验位无,数据位8位,停止位1位
维护在 '''[[Photonicat 2 MCU 通讯协议]]''',包含状态帧完整字段表、电池信息查询、
充电上限、风扇/温度、自定义提示音等全部命令。本页保留仅为兼容旧链接。


====帧格式表====
请前往 '''[[Photonicat 2 MCU 通讯协议]]'''。
{| class="wikitable sortable"
|-
! 起始位  !! 数据位 !! 校验位置 !! 结束位置
|-
|0xA5,一个字节长度||见数据位表,变长||数据位(从数据位开始到数据位结束)的CRC校验,2个字节长度,低位在前,高位在后||0x5A,一个字节长度
|}


=====数据位表=====
相关:[[Photonicat 2 sysfs]] · [[Photonicat 2 SOC 计算]] · [[Photonicat 2 开发者 API]]
{| class="wikitable sortable"
|-
! 数据来源地址  !! 目的地址 !! 帧序号 !! 数据长度 (第5-6位) !! 数据命令以及数据内容
|-
|0x01表示第一块CPU板,0x02表示第二块CPU板,0x03表示第三块CPU板,'''目前只有一块RK3568 CPU 板子,只用到0x01''';<br>'''0x81表示 电源充电控制板''',一个字节||0x01表示第一块CPU板,0x02表示第二块CPU板,0x03表示第三块CPU板'''目前只有一块RK3568 CPU 板子,只用到0x01''';<br>0x81表示 电源充电控制板''';<br>0x80表示目的地址是广播给所有的CPU电路板,0xfe表示目的地址是所有的RA2E1电路板,0xff表示广播给系统中所有设备,其他地址备用,一个字节长度||主动发送数据设备没发送一次数据加一个,两个字节,低位在前,高位在后(大于0xffff,清零),接收需要返回数据同数据返回||数据命令以及数据内容部分数据长度,两个字节,低位在前,高位在后||见数据命令以及数据内容表,变长
|}
 
====数据命令以及数据内容表====   
{| class="wikitable sortable"
|-
! 命令序号(定长,两个字节低位在前,高位在后),第7-8位  !! 命令内容(变长,0到n个字节),第9位开始 !! 是否需要回复(定长,1个字节)
|-
|1,CPU发送心跳||无||1表示需要返回,0表示无需返回
|-
|2,RA2E1应答心跳||0(超过1分钟没有收到任何数据,RA2E1重启CPU)||0表示无需返回
|-
|3,CPU读取RA2E1硬件版本||数据长度0|1表示需要返回,0表示无需返回
|-
|4,RA2E1应答上传硬件版本||例如,"NT2109A2",8个字节长度||0表示无需返回
|-
|5,CPU读取RA2E1软件版本||无||1表示需要返回,0表示无需返回
|-
|6,RA2E1应答上传软件版本||例如,"RA2E1211214001",14个字节长度||0表示无需返回
|-
|7,RA2E1上报状态|| 电池电压(2个字节,低位在前,高位在后,单位mV);充电器接口电压(2个字节,低位在前,高位在后,单位mV);输入GPIO状态(2个字节,见GPIO输入状态表),输出GPIO状态(2个字节,见输出GPIO状态表);系统时间(年、月、日、时、分、秒、礼拜(年两个字节,其余1个字节,一个8个字节)); RTC状态(1个字节,0表示RTC正常,1,RTC初始化异常,2,没有秒中断,3,没有分钟中断);板子温度,一个字节长度,实际温度+40,比如:20表示,-20℃,60表示20℃||1表示需要返回,0表示无需返回
|-
|8,CP回复||无||1表示需要返回,0表示无需返回
|-
|9,CPU设置RA时间||年、月、日、时、分、秒(年2个字节,其他一个字节,一个7个字节)||1表示需要返回,0表示无需返回
|-
|10,RA2E1应答本||0数据正常,1错误||0表示无需返回
|-
|11,CPU设置定时开机时间||年、月、日、时、分、星期(年2个字节,其他一个字节,一个7个字节(星期匹配需要匹配每位,例如B00000101,表示周日和2定时开机)),匹配设置,1个字节(bit0:年匹配;bit1:月匹配;bit2:日匹配;bit3:时匹配;bit4:分匹配;bit5:星期匹配;'''1设置为匹配,0设置为不匹配,其中分匹配必须为1,否则忽略此定时开机时间''')('''注:一次最多设置6个定时开机时间,并覆盖以前设置的开机时间,如果设置6个开机时间,此段数据长度位8*6=42个字节,也就是最长48个字节长度''')||1表示需要返回,0表示无需返回
|-
|12,RA2E1应答||0数据正常,1错误||0表示无需返回
|-
|13,RA2E1发送关机命令||关机事件,一个字节,0,表示按键强制关机,1,表示电池低电压关机,2,表示升级前关机;3,其他关机||1表示需要返回,0表示无需返回
|-
|14,CPU应答||0数据正常,1错误||0表示无需返回
|-
|15,CPU发送关机命令||||1表示需要返回,0表示无需返回
|-
|16,RA2E1应答||0数据正常,1错误||0表示无需返回
|-
|17,RA2E1恢复出厂设置||||1表示需要返回,0表示无需返回
|-
|18,CPU应答||0数据正常,1错误||0表示无需返回
|-
|19,CPU发送设置看门狗时间命令||系统开启超时时间,一个字节;系统关机超时时间,一个字节;系统启动成功后,喂狗超时时间,一个字节||1表示需要返回,0表示无需返回
|-
|20,RA2E1应答||0数据正常,1错误||0表示无需返回
|-
|21,CPU发送设置充电开机配置||一个字节长度,0,插上充电器后,不自动开机(如果机器关机时因为低电压关机,此配置情况下,插上充电器后还开机),1、插上充电器后开机。其他数据无效||1表示需要返回,0表示无需返回
|-
|22,RA2E1应答||0数据正常,1错误||0表示无需返回
|-
|23,CPU设置电压阈值||电压高指示阈值,2个字节,默认3850;电压中指示阈值,默认3700;电压低指示阈值,3600;插充电器开机电压,默认3400;充电器在充电器电压阈值,4500;充电器不在时关机电池阈值,3450;工作中,电池电压低电压提示电压阈值,3600;充电器大电流充电电压阈值,4700;开机后,电池电压持续超过15分钟满电压阈值,4140。一共18个字节,默认电压正负1000mV值范围内设置有效,如设置超出范围则使用默认值 ||1表示需要返回,0表示无需返回
|-
|24,RA2E1应答||0数据正常,1错误||0表示无需返回
|-
|25,CPU设置网络指示灯状态||高电平持续时间(2个字节,单位10ms),低电平持续时间(2个字节,单位10ms),变换次数(2个字节,次数到达后,保持低电平,0表示一直高低电平变换) ||1表示需要返回,0表示无需返回
|-
|26,RA2E1应答||0数据正常,1错误||0表示无需返回
|-
|27,CPU读取RA2E1开机原因|| ||1表示需要返回,0表示无需返回
|-
|28,RA2E1U应答||一个字节,1,表示按键开机,2,表示定时开机,3,插上charge车载模式开机,4,低电压关机,插上charge后,电压满足条件开机5,无电池开机||0表示无需返回
|-
|}

2026年7月26日 (日) 17:42的最新版本

注意:本页内容已迁移。Photonicat 2(RK3576)与一代的完整 MCU 通讯协议现在统一 维护在 Photonicat 2 MCU 通讯协议,包含状态帧完整字段表、电池信息查询、 充电上限、风扇/温度、自定义提示音等全部命令。本页保留仅为兼容旧链接。

请前往 Photonicat 2 MCU 通讯协议

相关:Photonicat 2 sysfs · Photonicat 2 SOC 计算 · Photonicat 2 开发者 API