<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.photonicat.cn/index.php?action=history&amp;feed=atom&amp;title=Photonicat_MCU_%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE</id>
	<title>Photonicat MCU 通讯协议 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.photonicat.cn/index.php?action=history&amp;feed=atom&amp;title=Photonicat_MCU_%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE"/>
	<link rel="alternate" type="text/html" href="https://wiki.photonicat.cn/index.php?title=Photonicat_MCU_%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE&amp;action=history"/>
	<updated>2026-04-17T15:36:26Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki.photonicat.cn/index.php?title=Photonicat_MCU_%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE&amp;diff=200&amp;oldid=prev</id>
		<title>Guangyingmao：​创建页面，内容为“===物理层协议=== *通过串口通讯，115200波特率，校验位无，数据位8位，停止位1位  ===帧格式表=== {| class=&quot;wikitable sortable&quot; |- ! 起始位   !! 数据位 !! 校验位置 !! 结束位置 |- |0xA5,一个字节长度||见数据位表，变长||数据位（从数据位开始到数据位结束）的CRC校验，2个字节长度，低位在前，高位在后||0x5A，一个字节长度 |}  ====数据位表==== {| class=&quot;wikitable sortab…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.photonicat.cn/index.php?title=Photonicat_MCU_%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE&amp;diff=200&amp;oldid=prev"/>
		<updated>2025-06-24T07:41:56Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“===物理层协议=== *通过串口通讯，115200波特率，校验位无，数据位8位，停止位1位  ===帧格式表=== {| class=&amp;quot;wikitable sortable&amp;quot; |- ! 起始位   !! 数据位 !! 校验位置 !! 结束位置 |- |0xA5,一个字节长度||见数据位表，变长||数据位（从数据位开始到数据位结束）的CRC校验，2个字节长度，低位在前，高位在后||0x5A，一个字节长度 |}  ====数据位表==== {| class=&amp;quot;wikitable sortab…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===物理层协议===&lt;br /&gt;
*通过串口通讯，115200波特率，校验位无，数据位8位，停止位1位&lt;br /&gt;
&lt;br /&gt;
===帧格式表===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 起始位   !! 数据位 !! 校验位置 !! 结束位置&lt;br /&gt;
|-&lt;br /&gt;
|0xA5,一个字节长度||见数据位表，变长||数据位（从数据位开始到数据位结束）的CRC校验，2个字节长度，低位在前，高位在后||0x5A，一个字节长度&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====数据位表====&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 数据来源地址  !! 目的地址 !! 帧序号 !! 数据长度 (第5-6位) !! 数据命令以及数据内容&lt;br /&gt;
|-&lt;br /&gt;
|0x01表示第一块CPU板，0x02表示第二块CPU板，0x03表示第三块CPU板，'''目前只有一块RK3568 CPU 板子，只用到0x01'''；&amp;lt;br&amp;gt;'''0x81表示 电源充电控制板'''，一个字节||0x01表示第一块CPU板，0x02表示第二块CPU板，0x03表示第三块CPU板'''目前只有一块RK3568 CPU 板子，只用到0x01'''；&amp;lt;br&amp;gt;0x81表示 电源充电控制板'''；&amp;lt;br&amp;gt;0x80表示目的地址是广播给所有的CPU电路板，0xfe表示目的地址是所有的RA2E1电路板，0xff表示广播给系统中所有设备，其他地址备用，一个字节长度||主动发送数据设备没发送一次数据加一个，两个字节，低位在前，高位在后（大于0xffff，清零），接收需要返回数据同数据返回||数据命令以及数据内容部分数据长度，两个字节，低位在前，高位在后||见数据命令以及数据内容表，变长&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====数据命令以及数据内容表====     &lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 命令序号（定长，两个字节低位在前，高位在后），第7-8位   !! 命令内容（变长，0到n个字节），第9位开始 !! 是否需要回复（定长，1个字节）&lt;br /&gt;
|-&lt;br /&gt;
|1，CPU发送心跳||无||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|2，RA2E1应答心跳||0（超过1分钟没有收到任何数据，RA2E1重启CPU）||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|3，CPU读取RA2E1硬件版本||数据长度0|1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|4，RA2E1应答上传硬件版本||例如，&amp;quot;NT2109A2&amp;quot;,8个字节长度||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|5，CPU读取RA2E1软件版本||无||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|6，RA2E1应答上传软件版本||例如，&amp;quot;RA2E1211214001&amp;quot;,14个字节长度||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|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表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|8，CP回复||无||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|9，CPU设置RA时间||年、月、日、时、分、秒（年2个字节，其他一个字节，一个7个字节）||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|10，RA2E1应答本||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|11，CPU设置定时开机时间||年、月、日、时、分、星期（年2个字节，其他一个字节，一个7个字节（星期匹配需要匹配每位，例如B00000101，表示周日和2定时开机）），匹配设置，1个字节(bit0:年匹配；bit1:月匹配；bit2:日匹配；bit3:时匹配；bit4:分匹配；bit5:星期匹配；'''1设置为匹配，0设置为不匹配，其中分匹配必须为1，否则忽略此定时开机时间''')（'''注：一次最多设置6个定时开机时间，并覆盖以前设置的开机时间，如果设置6个开机时间，此段数据长度位8*6=42个字节，也就是最长48个字节长度'''）||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|12，RA2E1应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|13，RA2E1发送关机命令||关机事件，一个字节，0，表示按键强制关机，1，表示电池低电压关机，2，表示升级前关机；3,其他关机||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|14，CPU应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|15，CPU发送关机命令||||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|16，RA2E1应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|17，RA2E1恢复出厂设置||||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|18，CPU应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|19，CPU发送设置看门狗时间命令||系统开启超时时间，一个字节；系统关机超时时间，一个字节；系统启动成功后，喂狗超时时间，一个字节||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|20，RA2E1应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|21，CPU发送设置充电开机配置||一个字节长度，0，插上充电器后，不自动开机（如果机器关机时因为低电压关机，此配置情况下，插上充电器后还开机），1、插上充电器后开机。其他数据无效||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|22，RA2E1应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|23，CPU设置电压阈值||电压高指示阈值，2个字节，默认3850；电压中指示阈值,默认3700；电压低指示阈值，3600；插充电器开机电压，默认3400；充电器在充电器电压阈值，4500；充电器不在时关机电池阈值，3450；工作中，电池电压低电压提示电压阈值，3600；充电器大电流充电电压阈值，4700；开机后，电池电压持续超过15分钟满电压阈值，4140。一共18个字节，默认电压正负1000mV值范围内设置有效，如设置超出范围则使用默认值 ||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|24，RA2E1应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|25，CPU设置网络指示灯状态||高电平持续时间（2个字节，单位10ms），低电平持续时间（2个字节，单位10ms），变换次数（2个字节，次数到达后，保持低电平，0表示一直高低电平变换） ||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|26，RA2E1应答||0数据正常，1错误||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|27，CPU读取RA2E1开机原因|| ||1表示需要返回,0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|28，RA2E1U应答||一个字节，1，表示按键开机，2，表示定时开机，3,插上charge车载模式开机，4,低电压关机，插上charge后，电压满足条件开机5,无电池开机||0表示无需返回&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Reference Code===&lt;br /&gt;
https://github.com/photonicat/rockchip_rk3568_pcat_manager/blob/master/src/pmu-manager.c&lt;/div&gt;</summary>
		<author><name>Guangyingmao</name></author>
	</entry>
</feed>