基于RZ/T2M的EnDat编码器方案

描述

1概述

EnDat编码器是海德汉公司(Heidenhain)开发的一种高精度位置传感器,主要用于测量和控制系统中的位置。EnDat编码器采用数字信号传输技术,能够实现高精度、高分辨率的位置测量,广泛应用于机床、机器人、自动化生产线等领域。

EnDat 2.2接口编码器是数字双向接口。它既能传输增量编码器和绝对编码器的位置值,也能传输或更新编码器中存储的信息,或保存新的信息。由于采用了串行传输方式,因此只需要四条信号线。数据与来自后续电子设备的时钟信号同步传输。传输类型(位置值、参数、诊断等)由后续电子设备发送到编码器的模式命令选择。EnDat 2.2接口是一种纯串行接口,也适用于安全相关应用。

瑞萨

2时钟和频率

时钟脉冲(clock)由后续电子器件传输以同步数据传输。当不发送时,时钟信号处于高电平。

没有传播延迟补偿的情况下,时钟频率(取决于电缆长度)在100kHz和2MHz之间是可变的。通过后续电子设备进行传播延迟补偿,可以在电缆长度最大可达100米(

瑞萨

)的情况下实现高达16 MHz的时钟频率。

瑞萨

3传输类型

传输的信息类型由模式命令选择。模式命令定义传输信息的内容。每个模式命令由三个位组成。为了确保可靠的传输,每个比特都是冗余传输的(反向或冗余)。如果编码器检测到不正确的传输模式,则会发送错误消息。EnDat 2.2接口还可以将附加信息中的参数值与位置值一起传输。这使得当前位置值始终可用于控制回路,即使在参数请求期间也是如此。

瑞萨

模式命令

4位置值

每次数据传输同步发送一个数据包。传输周期从第一个下降时钟沿开始。测量数据将被保存并且计算位置值。

在两个时钟脉冲(2T)之后,后续电子设备发送模式命令,编码器发送位置值(有/没有附加信息)。编码器从LSB开始传输绝对位置值。其长度因使用的编码器而异。传输位置值所需的时钟脉冲的数量保存在编码器制造商的参数中。

位置值的数据传输完成后是CRC校验数据。EnDat 2.2中紧随其后的是附加信息1和2,每个信息也包含CRC。附加信息的内容由存储器区域的选择来确定,并且在附加信息的下一采样周期中被发送。然后在每次采样时发送该信息,直到选择新的存储区域改变内容为止。

瑞萨

无附加信息的位置值数据包

瑞萨

有附加信息的位置值数据包

5瑞萨EnDat 2.2测试例程

5.1 测试环境

瑞萨

瑞萨

5.2 外设模块

瑞萨

引脚配置

该软件可以支持两个Endat编码器同时通讯,对应的引脚配置如下:

瑞萨

如果自己设计的电路可以在FSP中修改引脚。

5.3 软件功能

EnDat驱动程序的功能如下所示。

初始设置

噪声滤波器的设置

编码器初始化(不支持带电池单元的编码器)

传播延迟补偿的设置

传输以下请求信息

Mode命令

MRS代码

参数

编码器数据的接收

位置值

参数

附加信息

5.4 函数

函数列表如下:

瑞萨

库函数

不论是safety版的程序还是非safety版的程序使用的时候都要把“EC-Lib”拷贝到工程中。

EC-Lib是一个软件库,用于配置、激活和关闭安装在RZ/T2M上的编码器接口。EC-Lib在软件中作用如下图所示:

瑞萨

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分