查看“Photonicat MCU 通讯协议”的源代码
←
Photonicat MCU 通讯协议
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
===物理层协议=== *通过串口通讯,115200波特率,校验位无,数据位8位,停止位1位 ===帧格式表=== {| class="wikitable sortable" |- ! 起始位 !! 数据位 !! 校验位置 !! 结束位置 |- |0xA5,一个字节长度||见数据位表,变长||数据位(从数据位开始到数据位结束)的CRC校验,2个字节长度,低位在前,高位在后||0x5A,一个字节长度 |} ====数据位表==== {| 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表示无需返回 |- |} ===Reference Code=== https://github.com/photonicat/rockchip_rk3568_pcat_manager/blob/master/src/pmu-manager.c
返回
Photonicat MCU 通讯协议
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息