基于FPGA/CPLD设计EnDat接口编码器数据采集方案
2014-10-29应耿宾
应耿宾
摘 要
海德汉公司的EnDat数据接口是一种适用于编码器的双向数据接口,可传输绝对式或增量式编码器的位置值,也能传输或更新保存在编码器中的信息或保存新信息。可广泛用于机器人、数控机床和高精度伺服系统等各种应用场合的伺服驱动器。本文介绍了EnDat接口的特点、功能,同时介绍了如何设计编码器数据采集后续电路以及FPGA程序模块。
【关键词】EnDat 编码器 FPGA CPLD 伺服驱动器
伺服控制系统需要编码器为位置和速度控制提供反馈信号。编码器有增量式编码器和绝对值编码器,本文主要介绍海德汉公司的绝对式编码器。
增量式编码器提供单圈信号,只能提供一圈内的位置,绝对式编码器可同时提供单圈和多圈信号,可以用于长行程,需要多圈绝对位置的场合。
1 EnDat接口介绍
本文采用德国海德汉的绝对值编码器。它使用的是EnDat2.2接口,可传输位置值和其他附加信息。含CRC校验,提高了数据传输的可靠性,DSP通过FPGA/CPLD获得编码器的位置值。图1是EnDat编码器接口图。
1.1 EnDat接口优点
(1)降低成本:适用于所有海德汉公司的绝对式和增量式编码器;连接件小,可减小系统尺寸;连接简单,四根信号线,电缆接线成本低;可发送附加信息(限位开关/温度/加速度),可代替外接的附加传感器,降低成本。
(2)质量更高:编码器优化设计,系统精度更高;轮廓加工精度高。
(3)高实用性:数字信号传输,系统的可靠性高;具有诊断功能;具有冗余校验功能,可靠性高。
(4)系统安全性高:两路独立错误信息;具有校验和确认功能。
(5)采样周期短:整个“读写”周期采样时间只有25us。
1.2 数据传输格式
数据包内容包括错误信息1和2、位置值、附加信息(根据发送类型可选择),如图2所示。
1.2.1 错误信息1和2
Endat接口可以对编码器进行全面监测并且无需附加传输线。如果发生可能导致不正确位置值的编码器故障,将发出出错信息。同时将错误原因保存在编码器上。独立生成第二个错误检测信息,错误信息2用反相电平发送,确保数据安全可靠。
1.2.2 位置值
位置值以一个完整数据字形式传输,其长度取决于编码器分辨率。数据发送从最低有效位(LSB)开始。
1.2.3 附加信息
根据发送类型,可以随位置值发送一个或两个附加信息(由MRS码选择)。每条附加信息长度为30bit并以低电平位开始,每条附加信息均以CRC结束。相应编码器所支持的附加信息保存在编码器参数中。附加信息包括状态信息、地址和数据。
2 EnDat接口后续电子设备的电路设计方案
数据可以在位置编码器和后续电子设备之间进行双向传输,后续电子设备收发需要支持RS485(差分信号)。
编码器和后续接口电路如图3所示,注意电路设计时数据DATA是双向传输,时钟CLOCK是单向激励,外部输入到编码器即可。RS485芯片可以选择类似ADM3485的芯片,数据可以双向传输。
编码器信号经过RS485差分芯片后,进入FPGA/CPLD进行处理,FPGA/CPLD进行解码后,将位置相关信息通过并行总线传输给后续的处理芯片(如DSP),具体电气连接图这里就不再详细描述。
3 FPGA/CPLD软件
海德汉公司提供基于FPGA/CPLD的软核。提供完整版软核(不开放源代码),对硬件有特定要求,针对Altera公司的Acex、Cyclone系列以及Xilinx公司的Virtex、Spartan系列提供了EnDat协议的完整版软件宏。同时也提供简化版软核(开放源代码),对硬件没有特定的要求。
3.1 完整版软核(不开放源代码)
该软核实现了EnDat接口的所有基本功能,并进行了封装,带有并行总线接口,用户可通过6位地址线和16位数据线与微控制器进行8位或16位的数据传输,用户使用界面良好,容易上手,不需要进行二次开发。图4是FPGA的模块图。
3.2 简化版软核(开放源代码)
完整版软核海德汉公司不提供软件源代码,并且只能特定的FPGA上实现,比如在Xilinx公司的Virtex、Spartan系列及Altera公司的Acex、Cyclone系列的FPGA上才能使用,用户无法进行后续开发升级。
海德汉公司提供一种简化版的软核,提供源代码,能读取编码器位置信息和错误信息,但是没有开发与后续芯片(如DSP)之间的总线接口,需要用户开发,优点是可以在此基础上进行二次开发。
如图5所示,简化版软核是一个核心软核,没有包含与编码器以及后续DSP的总线接口,这部分的软件工作需要由用户来完成。由于开放源代码,用户的后续开发比较方便,可以根据具体需求开发,软核的软件代码量小,可以选用容量较小的FPGA/CPLD芯片。笔者采用简化版软核已经开发成功。
4 结束语
海德汉公司的EnDat接口在很多行业已得到广泛的应用,时钟频率最快可以提高到16 MHz,能满足高动态性能要求的应用。
本文介绍了基于FPGA/CPLD设计EnDat接口编码器数据采集方案,用以进行编码器和伺服驱动器DSP处理器之间的通讯。本文给出了硬件设计框图,介绍了海德汉公司的FPGA/CPLD软件宏框图,可以实现对电机位置的准确读取。
作者单位
1.同济大学 电子与信息工程学院 上海市 201804
2.宁波兴泰机械有限公司 浙江省宁波市 315111endprint
摘 要
海德汉公司的EnDat数据接口是一种适用于编码器的双向数据接口,可传输绝对式或增量式编码器的位置值,也能传输或更新保存在编码器中的信息或保存新信息。可广泛用于机器人、数控机床和高精度伺服系统等各种应用场合的伺服驱动器。本文介绍了EnDat接口的特点、功能,同时介绍了如何设计编码器数据采集后续电路以及FPGA程序模块。
【关键词】EnDat 编码器 FPGA CPLD 伺服驱动器
伺服控制系统需要编码器为位置和速度控制提供反馈信号。编码器有增量式编码器和绝对值编码器,本文主要介绍海德汉公司的绝对式编码器。
增量式编码器提供单圈信号,只能提供一圈内的位置,绝对式编码器可同时提供单圈和多圈信号,可以用于长行程,需要多圈绝对位置的场合。
1 EnDat接口介绍
本文采用德国海德汉的绝对值编码器。它使用的是EnDat2.2接口,可传输位置值和其他附加信息。含CRC校验,提高了数据传输的可靠性,DSP通过FPGA/CPLD获得编码器的位置值。图1是EnDat编码器接口图。
1.1 EnDat接口优点
(1)降低成本:适用于所有海德汉公司的绝对式和增量式编码器;连接件小,可减小系统尺寸;连接简单,四根信号线,电缆接线成本低;可发送附加信息(限位开关/温度/加速度),可代替外接的附加传感器,降低成本。
(2)质量更高:编码器优化设计,系统精度更高;轮廓加工精度高。
(3)高实用性:数字信号传输,系统的可靠性高;具有诊断功能;具有冗余校验功能,可靠性高。
(4)系统安全性高:两路独立错误信息;具有校验和确认功能。
(5)采样周期短:整个“读写”周期采样时间只有25us。
1.2 数据传输格式
数据包内容包括错误信息1和2、位置值、附加信息(根据发送类型可选择),如图2所示。
1.2.1 错误信息1和2
Endat接口可以对编码器进行全面监测并且无需附加传输线。如果发生可能导致不正确位置值的编码器故障,将发出出错信息。同时将错误原因保存在编码器上。独立生成第二个错误检测信息,错误信息2用反相电平发送,确保数据安全可靠。
1.2.2 位置值
位置值以一个完整数据字形式传输,其长度取决于编码器分辨率。数据发送从最低有效位(LSB)开始。
1.2.3 附加信息
根据发送类型,可以随位置值发送一个或两个附加信息(由MRS码选择)。每条附加信息长度为30bit并以低电平位开始,每条附加信息均以CRC结束。相应编码器所支持的附加信息保存在编码器参数中。附加信息包括状态信息、地址和数据。
2 EnDat接口后续电子设备的电路设计方案
数据可以在位置编码器和后续电子设备之间进行双向传输,后续电子设备收发需要支持RS485(差分信号)。
编码器和后续接口电路如图3所示,注意电路设计时数据DATA是双向传输,时钟CLOCK是单向激励,外部输入到编码器即可。RS485芯片可以选择类似ADM3485的芯片,数据可以双向传输。
编码器信号经过RS485差分芯片后,进入FPGA/CPLD进行处理,FPGA/CPLD进行解码后,将位置相关信息通过并行总线传输给后续的处理芯片(如DSP),具体电气连接图这里就不再详细描述。
3 FPGA/CPLD软件
海德汉公司提供基于FPGA/CPLD的软核。提供完整版软核(不开放源代码),对硬件有特定要求,针对Altera公司的Acex、Cyclone系列以及Xilinx公司的Virtex、Spartan系列提供了EnDat协议的完整版软件宏。同时也提供简化版软核(开放源代码),对硬件没有特定的要求。
3.1 完整版软核(不开放源代码)
该软核实现了EnDat接口的所有基本功能,并进行了封装,带有并行总线接口,用户可通过6位地址线和16位数据线与微控制器进行8位或16位的数据传输,用户使用界面良好,容易上手,不需要进行二次开发。图4是FPGA的模块图。
3.2 简化版软核(开放源代码)
完整版软核海德汉公司不提供软件源代码,并且只能特定的FPGA上实现,比如在Xilinx公司的Virtex、Spartan系列及Altera公司的Acex、Cyclone系列的FPGA上才能使用,用户无法进行后续开发升级。
海德汉公司提供一种简化版的软核,提供源代码,能读取编码器位置信息和错误信息,但是没有开发与后续芯片(如DSP)之间的总线接口,需要用户开发,优点是可以在此基础上进行二次开发。
如图5所示,简化版软核是一个核心软核,没有包含与编码器以及后续DSP的总线接口,这部分的软件工作需要由用户来完成。由于开放源代码,用户的后续开发比较方便,可以根据具体需求开发,软核的软件代码量小,可以选用容量较小的FPGA/CPLD芯片。笔者采用简化版软核已经开发成功。
4 结束语
海德汉公司的EnDat接口在很多行业已得到广泛的应用,时钟频率最快可以提高到16 MHz,能满足高动态性能要求的应用。
本文介绍了基于FPGA/CPLD设计EnDat接口编码器数据采集方案,用以进行编码器和伺服驱动器DSP处理器之间的通讯。本文给出了硬件设计框图,介绍了海德汉公司的FPGA/CPLD软件宏框图,可以实现对电机位置的准确读取。
作者单位
1.同济大学 电子与信息工程学院 上海市 201804
2.宁波兴泰机械有限公司 浙江省宁波市 315111endprint
摘 要
海德汉公司的EnDat数据接口是一种适用于编码器的双向数据接口,可传输绝对式或增量式编码器的位置值,也能传输或更新保存在编码器中的信息或保存新信息。可广泛用于机器人、数控机床和高精度伺服系统等各种应用场合的伺服驱动器。本文介绍了EnDat接口的特点、功能,同时介绍了如何设计编码器数据采集后续电路以及FPGA程序模块。
【关键词】EnDat 编码器 FPGA CPLD 伺服驱动器
伺服控制系统需要编码器为位置和速度控制提供反馈信号。编码器有增量式编码器和绝对值编码器,本文主要介绍海德汉公司的绝对式编码器。
增量式编码器提供单圈信号,只能提供一圈内的位置,绝对式编码器可同时提供单圈和多圈信号,可以用于长行程,需要多圈绝对位置的场合。
1 EnDat接口介绍
本文采用德国海德汉的绝对值编码器。它使用的是EnDat2.2接口,可传输位置值和其他附加信息。含CRC校验,提高了数据传输的可靠性,DSP通过FPGA/CPLD获得编码器的位置值。图1是EnDat编码器接口图。
1.1 EnDat接口优点
(1)降低成本:适用于所有海德汉公司的绝对式和增量式编码器;连接件小,可减小系统尺寸;连接简单,四根信号线,电缆接线成本低;可发送附加信息(限位开关/温度/加速度),可代替外接的附加传感器,降低成本。
(2)质量更高:编码器优化设计,系统精度更高;轮廓加工精度高。
(3)高实用性:数字信号传输,系统的可靠性高;具有诊断功能;具有冗余校验功能,可靠性高。
(4)系统安全性高:两路独立错误信息;具有校验和确认功能。
(5)采样周期短:整个“读写”周期采样时间只有25us。
1.2 数据传输格式
数据包内容包括错误信息1和2、位置值、附加信息(根据发送类型可选择),如图2所示。
1.2.1 错误信息1和2
Endat接口可以对编码器进行全面监测并且无需附加传输线。如果发生可能导致不正确位置值的编码器故障,将发出出错信息。同时将错误原因保存在编码器上。独立生成第二个错误检测信息,错误信息2用反相电平发送,确保数据安全可靠。
1.2.2 位置值
位置值以一个完整数据字形式传输,其长度取决于编码器分辨率。数据发送从最低有效位(LSB)开始。
1.2.3 附加信息
根据发送类型,可以随位置值发送一个或两个附加信息(由MRS码选择)。每条附加信息长度为30bit并以低电平位开始,每条附加信息均以CRC结束。相应编码器所支持的附加信息保存在编码器参数中。附加信息包括状态信息、地址和数据。
2 EnDat接口后续电子设备的电路设计方案
数据可以在位置编码器和后续电子设备之间进行双向传输,后续电子设备收发需要支持RS485(差分信号)。
编码器和后续接口电路如图3所示,注意电路设计时数据DATA是双向传输,时钟CLOCK是单向激励,外部输入到编码器即可。RS485芯片可以选择类似ADM3485的芯片,数据可以双向传输。
编码器信号经过RS485差分芯片后,进入FPGA/CPLD进行处理,FPGA/CPLD进行解码后,将位置相关信息通过并行总线传输给后续的处理芯片(如DSP),具体电气连接图这里就不再详细描述。
3 FPGA/CPLD软件
海德汉公司提供基于FPGA/CPLD的软核。提供完整版软核(不开放源代码),对硬件有特定要求,针对Altera公司的Acex、Cyclone系列以及Xilinx公司的Virtex、Spartan系列提供了EnDat协议的完整版软件宏。同时也提供简化版软核(开放源代码),对硬件没有特定的要求。
3.1 完整版软核(不开放源代码)
该软核实现了EnDat接口的所有基本功能,并进行了封装,带有并行总线接口,用户可通过6位地址线和16位数据线与微控制器进行8位或16位的数据传输,用户使用界面良好,容易上手,不需要进行二次开发。图4是FPGA的模块图。
3.2 简化版软核(开放源代码)
完整版软核海德汉公司不提供软件源代码,并且只能特定的FPGA上实现,比如在Xilinx公司的Virtex、Spartan系列及Altera公司的Acex、Cyclone系列的FPGA上才能使用,用户无法进行后续开发升级。
海德汉公司提供一种简化版的软核,提供源代码,能读取编码器位置信息和错误信息,但是没有开发与后续芯片(如DSP)之间的总线接口,需要用户开发,优点是可以在此基础上进行二次开发。
如图5所示,简化版软核是一个核心软核,没有包含与编码器以及后续DSP的总线接口,这部分的软件工作需要由用户来完成。由于开放源代码,用户的后续开发比较方便,可以根据具体需求开发,软核的软件代码量小,可以选用容量较小的FPGA/CPLD芯片。笔者采用简化版软核已经开发成功。
4 结束语
海德汉公司的EnDat接口在很多行业已得到广泛的应用,时钟频率最快可以提高到16 MHz,能满足高动态性能要求的应用。
本文介绍了基于FPGA/CPLD设计EnDat接口编码器数据采集方案,用以进行编码器和伺服驱动器DSP处理器之间的通讯。本文给出了硬件设计框图,介绍了海德汉公司的FPGA/CPLD软件宏框图,可以实现对电机位置的准确读取。
作者单位
1.同济大学 电子与信息工程学院 上海市 201804
2.宁波兴泰机械有限公司 浙江省宁波市 315111endprint