多摩川串行绝对值编码器大数据通讯地实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:本文简要讲述了多摩川串行绝对值编码器的特点及数据通讯采用AU5561、可编程FPGA及采用微控制器高速串口的实现编码器数据通讯的三种方案。
多摩川绝对值编码器:
日本多摩川(TAMAGAWA)精机株式会社成立与1938年。多摩川属于技术立足与地域立足型企业,会社成立70多年来作为精密机械和多种检测机械工具与传感器制造商,从航空、宇宙、国防工业、到电机传感器等民用工业设备,其一直保持世界领先的地位。
在编码器领域,多摩川有40多年的制造研究历史,其超精密的角度检测仪,角度计测分解能够达到0.001秒,角度的再现能够实现0.005秒。多摩川单圈17bit多圈16bit的绝对值编码器已投放市场多年,在中国国产机器人及数控自动化领域应用广泛,现已向国内推出解析度高达单圈23bit多圈16bit的绝对值编码器:”TS5700N8401”。
多摩川绝对值编码器编码器简介:机械结构与国内传统使用的OIH48锥轴编码器一致,可直接安装替代。能够实现单圈23bit多圈16bit总计39bit的高解析度。
工作电源电压5V,主电源掉电情况下,依靠电池电路部分测量多圈数据变化,电池电流消耗低至60μA。
数据通讯是基于485硬件接口标准NRZ协议,通讯波特率为2.5M的串行通讯。CRC循环循环冗余校验数据,避免数据出错导致异常的问题发生。通讯距离可达到20米。
编码器具备状态自检功能,对于电池欠压、失效、编码器计数错误、过速度、码盘故障等可通过编码器状态位读取出来。
控制器或驱动器可通过单独的指令对单圈数据或多圈重置零位,可清除故障标志位。
内置768字节EEPROM,可擦写一万次以上,可写于电机相关信息,对于伺服驱动器对电机参数的自动识别提供了可行的途径。
多摩川串行绝对编码器通讯数据结构:
串行波特率:2.5M
起始位:1bit
停止位:1bit
数据位:8bit
对于读取编码器单圈、多圈、全部数据、及复位状态只需发送一个字节控制数据。
编码器应答数据:包括接收到的控制字,及编码器状态字、编码器ID(能够识别编码器基本类型),及编码器数据。最后一个字节为对前面所有的数据进行CRC校验。
对于编码器内部EEPROM数据读取需发送三个字节数据,读取EEPROM数据控制字、EEPROM 数据地址、CRC效验码。
编码器应答数据或写入数据结构包括EEPROM数据控制字、EEPROM数据地址、EEPROM
数据、CRC效验码。
读取一次编码器全部数据需要60μS左右。为伺服电机提供高速度位置响应提供了可能。
多摩川串行绝对值编码器数据通讯实现的三种方案:
1.通过多摩川智能接收芯片AU5561N1实现:
AU5561芯片可以解码TS5647、TS5648、TS5667、TS5668、TS5669、TS5700系列的编码器。可以将40位到110位串行信号转换并行信号,能够提供中断信号与CPU同步并,可以和16位或32位CPU或DSP总线街道口连接实现数据连接。它也可以工作在没有CPU的模式,手动模式下读取编码器(单回转、多回转、及报警状态为)数据。
2.通过FPGA方式实现:
VHDL主要用于描述数字系统的结构,行为,功能和接口。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
多摩川可提供VHDL硬件编程源代码AU5982,帮助客户快速实现将编码器串行数据转换为并行数据对编码器的数据通讯。
3.通过CPU高速串口DMA实现编码器数据通讯:
常规8位及16微处理器串口波特率通常最高只有256Kbit左右,而多摩川常规绝对值编码器需要的波特率为2.5M,部分编码器波特率为5M。所以只有少数高速32位微控制器支持。
这里以意法半导体的STM32F429为例讲解如何使用DMA通过串口实现编码数据通讯。
DMA一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU 除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个系统的效率大大提高。
CPU的通用串行接口USART3作为编码器通讯接口,485发送接受使能端口使用PE11IO 口控制。
USART1端口参数设置如下:
波特率:2.5M
开始位:1位
停止位:1位
数据位:8位
校验位:无
发送:使能
接收:使能
串口DMA发送:使能
串口DMA接收:使能
串口DMA通道发送端设置:
外设地址:串口数据寄存器
内存地址:发送数据内存地址
DMA传输方向:从存储器到外设
DMA数据传输长度:实际发送数据字节数
外设数据字长:1个字节
内存数据字长:1个字节
设置DMA的内存递增模式:为增量模式DAM数据传输完成中断:开
串口DMA通道接收端设置:
外设地址:串口数据寄存器
内存地址:发送数据内存地址
DMA传输方向:从外设存储器到
DMA数据传输长度:实际接收数据字节数外设数据字长:1个字节
内存数据字长:1个字节
设置DMA的内存递增模式:为增量模式DAM数据传输完成中断:开
具体数据通讯流程如下:
总结:第一种方案使用AU5561串行转并行芯片适合系统无FPGA芯片厂商,常规伺服驱动器厂商可以采用第二种方案采用FPGA多摩川提供源代码,第三种方案适合MCU支持高速串口、DMA功能的产品。