通信协议之多摩川编码器协议
通信协议之多摩川编码器协议
多摩川编码器协议是一种基于RS485硬件接口的通信协议,广泛应用于工业自动化领域。本文将详细介绍该协议的硬件层和软件层帧格式,包括数据帧构成、帧格式以及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)的关系如下:ABS0ABS2(单圈),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;
待续...
本文原文来自CSDN