Synairy 产品接入指南
先确认产品提供的物理接口,再按照对应的分帧方式收发命令。无论使用哪种接口,命令号和业务字段都由产品协议定义。
01 协议怎样分层
上图从命令到线路展示发送路径;接收时按相反顺序解析。接口层只改变报文如何传输,不改变 CMD 和 PAYLOAD 的含义。
02 从你的接口开始
03 UART / RS485 串口接入
串口是一串连续字节。先按命令定义组成原始报文,再编码成可在串口上识别边界的线路帧:
CMD + SEQ + PAYLOAD + CRC16COBS(原始报文) + 0x00CRC16 覆盖 CMD、SEQ、PAYLOAD,按小端放入原始报文末尾。收到 0x00 后,去掉结束符、COBS 解码、校验 CRC16,再按 CMD 和 SEQ 解析响应。响应 PAYLOAD 的第一个字节是 Result。本节定义单设备点对点连接;下方的 UART 多设备和 BLE / Wi‑Fi 透传也沿用此分帧。RS485 多设备共线还需要设备地址与总线收发规则,目前尚未定义。电气连接和 RS485 方向控制由具体产品接口规定。
01 01 1F 3E05 01 01 1F 3E 0004 UART 多设备接入
适用于带 SEL 引脚的产品。每台设备使用一根独立的选择线;主机一次只选中一台。所有设备仍使用上面的 COBS 帧,各设备的业务命令按对应产品协议执行。无需 ADDR 或切换命令。
SEL 为低电平选中,设备端上拉使其默认不选中。未选中时,设备忽略串口请求,TX 在上电、复位、Boot 和应用运行期间均保持高阻。普通推挽 UART TX 不能直接并联;各设备的 TX 应通过受 SEL 控制、默认关闭的三态输出接到共用返回线。单台使用时可将 SEL 固定在选中电平。
- 主机先取消所有选择,再拉低目标设备的 SEL;始终只允许一台处于选中状态。
- 按串口帧格式发送请求,等待该设备的最终响应或超时;请求未结束前保持 SEL 有效。
- 事务结束后取消选择,再访问下一台。共线接口不使用主动上报或启动日志;需要状态或故障信息时,按对应产品协议主动查询。
支持升级的产品在 Boot 与应用中使用同一组串口和 SEL。升级时保持目标设备被选中:发送 Enter Boot 并收到确认,等待复位,再轮询 Get Info 确认 Mode=BOOT 后执行 OTA;完成后确认 Mode=APP。
如果产品有控制指令超时要求,主机轮流访问设备时仍须满足每台设备各自的更新时间。具体 SEL 引脚、电平和接线以产品型号资料为准。
05 BLE / Wi‑Fi 透传接入
支持透传的型号沿用同一套原始命令报文和 COBS 线路帧:COBS(CMD + SEQ + PAYLOAD + CRC16) + 0x00。连接建立后,按字节流发送线路帧;接收时持续缓存字节,遇到 0x00 才解码一条完整报文。一次写入、通知或读取到的字节不必恰好对应一条报文。
BLE 服务/特征值 UUID、写入方式、协商后的单次写入上限,以及 Wi‑Fi 的连接方式、地址和端口,由具体型号接口资料给出。分块边界不进入 Synairy 报文,SEQ、CRC16 和响应规则保持不变;断线后应丢弃尚未收齐的线路帧,并重新建立连接。这里的 Wi‑Fi 透传专指 TCP 字节流。
06 CAN / CAN FD 接入
如果产品型号提供 CAN 接口,客户先取得该型号的总线速率、设备请求/响应 CAN ID,再用 ISO-TP 收发完整命令报文。业务 CMD 与串口相同;CAN 数据区使用 ISO-TP 格式,不加入 COBS 编码和 0x00 结束符。
具体型号是否支持 CAN、CAN FD 与 CAN 升级,以及实际 ID 和速率,以对应产品接口资料为准。
返回官网