通信协议之多摩川编码器协议

前言


学习永无止境!本篇是通信协议之多摩川编码器协议,主要介绍RS485硬件层以及软件层帧格式。

注:本文章为学习笔记,部分图片与文字来源于网络/应用手册,如侵权请联系!谢谢!


一、多摩川协议概述


1.1 多摩川协议简介

多摩川协议是基于485硬件接口的标准NRZ协议,通讯波特率为固定的2.5MHz,所以其硬件接口也就只有数据线(data wire)和电源线(supply wire),不需要时钟线(clk wire)。

内容 规格
传送方式 半双工串行通信
同步方式 起止同步(1bit起始、8bit数据、1bit停止)
通信波特率 2.5Mbps
传送顺序 LSB在前
传送代码 NRZ
传送错误校验方式 CRC-8(X^8 + 1)

1.2 RS485简介

  • 简介:RS485是半双工异步串行通信,其使用差分信号,逻辑1(压差在 +2V~+6V ),逻辑0(压差在 -2V~-6V );
  • 发送与接收:使用 485 收发器来转换 TTL 电平和 RS485 电平,发送数据时,串口控制器的 TX 信号经过收发器转换成差分信号传输到总线上,接收数据时,收发器把总线上的差分信号转化成 TTL 信号通过 RX 引脚传输到串口控制器中。
  • 硬件原理图
引脚名称 功能
RO 接RX,输出引脚
RE 接收使能(低电平有效)
DE 发送使能(高电平有效)
DI 接TX,输入引脚
A 同向输入/输出
B 反向输入/输出
VCC +3.3V
GND GND

二、多摩川协议帧详解


2.1 数据帧构成

  • **命令字(Command)格式:**1bit起始、3bit固定、4bit数据ID、1bit校验、1bit停止;

| 数据位 |||| 校验位 | ID | 命令字 | 作用 |

CC0 CC1 CC2 CC3 CC4
0 0 0 0 0 0 0x02 获取一圈数据
1 0 0 0 1 1 0x8A 获取多圈数据
0 1 0 0 1 2 0x92 获取编码器编号
1 1 0 0 0 3 0x1A 获取全部数据
0 1 1 0 0 6 0x32 写EEPROM
1 0 1 1 1 D 0xEA 读EEPROM
1 1 1 0 1 7 0xBA 重置ERROR
0 0 0 1 1 8 0xC2 重置圈数
0 0 1 1 0 C 0x62 重置圈数+EEPROM
  • **数据字(Data)格式:**1bit起始、8bit数据、1bit停止、低位先行;
  • **状态字(State)格式:**1bit起始、4bit信息(默认0)、2bitERROR、2bitALARM、1bit停止;
数据位 bit 内容
ea0 1 计数错误
ea1 1 具体有过热、多圈、电池灯报警
ca0 1 请求帧偶校验错误
ca1 1 请求帧分隔符错误
  • **警报字(ALMC)格式:**1bit起始、8bit报警、1bit停止;
数据位 bit 内容
dn0 1 速度异常
dn1 1 超速
dn2 1 计数错误
dn3 1 多圈计数器溢出
dn4 1 过热
dn5 1 多圈错误
dn6 1 电池错误
dn7 1 电池警报
  • **EEPROM地址格式:**ADDX:0x00~0x1E,BUSY:读写状态;
  • **校验(CRC)格式:**G(x) = X^8 + 1 (X = rc0 ~ rc7);

2.2 数据帧格式

2.2.1 获取编码器数据

  • 发送数据:CMD;
  • 接收数据:CMD+STS+(D0~D7)+CRC;
  • CMD与(D0~D7)的关系如下:ABS0~ABS2(单圈),ABM0~ABM2(多圈);
CMD D0 D1 D2 D3 D4 D5 D6 D7
0x02 ABS0 ABS1 ABS2
0x8A ABM0 ABM1 ABM2
0x92 ENID
0x1A ABS0 ABS1 ABS2 ENID ABM0 ABM1 ABM2 ALMC
0xBA ABS0 ABS1 ABS2
0xC2 ABS0 ABS1 ABS2
0x62 ABS0 ABS1 ABS2

2.2.2 写入EEPROM

  • 发送:CMD+A0+D0+CRC;
  • 接收:CMD+A0+D0+CRC;

2.2.3 读取EEPROM

  • 发送:CMD+A0+CRC;
  • 接收:CMD+A0+D0+CRC;

待续...

相关推荐
爱学习的程序媛16 天前
TCP / UDP 协议详解
网络·网络协议·udp·tcp·通信协议
爱学习的程序媛16 天前
以太网协议详解
网络·网络协议·计算机网络·以太网·ethernet·通信协议
爱学习的程序媛17 天前
ICMP协议详解
网络·网络协议·网络安全·通信协议·icmp·网络运维
WWJA王文举17 天前
从设备地址到寄存器地址:I²C驱动完整流程详解
嵌入式开发·rtos·通信协议·i2c
susplus18 天前
【51单片机通信协议】串口
51单片机·串口·嵌入式·通信协议
牛奶yu茶19 天前
数据链路层的MTU
网络·网络通信·通信·通信协议·通信网络
合天网安实验室22 天前
Modbus协议及其取证的学习笔记
ctf·modbus·通信协议·取证
PLC无线1 个月前
Ethernet、EtherNet/IP、EtherCAT到底有什么不一样
网络协议·通信协议·工业自动化
爱学习的程序媛1 个月前
通信协议完整梳理
网络·网络协议·信息与通信·通信协议
WWJA王文举2 个月前
RS485通信超时全面排查:终端电阻、A/B线、DE方向控制、串口参数和Modbus一次讲透
stm32·通信协议·rs485