基于FPGA的****式编码器智能接口设计
于泳,杨明,贵献国,徐殿国
(哈尔滨工业大学,黑龙江哈尔滨150001)
摘要:实现了一种基于FPGA的****式码盘智能接口,用以进行****式编码器和伺服驱动器的DsP处理器之间的通讯。该接口完全可以替代价格昂贵的专用接口芯片,降低产品成本。
关键词:****式编码器;接口;FPGA
中图分类号:TM383.4 文献标识码:A 文章编号:1004—7018(2008)01—0004—02
O引言
码盘是一种基本的位置、速度反馈单元,广泛应用于变频器、直流伺服、交流伺服等系统的闭环控制中,码盘主要分为增量式和****式两种。增量式编码器转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。停电后,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰
而丢失脉冲。不然,控制器认 定的位置与实际位置有较大的偏差。增量式码盘通常设有A、B、Z、u、V、W六路信号,以差动或者集电极开路的形式输出,其中A、B、Z信号用于位置的检测;也可用来作速度检测;u、V、W信号一般为永磁电机起动提供参考信号,其接口较为简单,且多数用于电机控制的微处理器均具有增量式码盘的接口,使增量式码盘的应用非常简单:****式编码器旋转一周过程中,每个机械位置对应于一个********编码,所以它无需记忆,无需找参考点,而且无需一直计数,控制器什么时候需要知道位置,什么时候就去读取它的位置。失电后无需控制器记忆当前位置,待下次上电时直接读取位置即可。这样,****式编码器的抗干扰特性、数据的可靠性大大高于增量式编码器。但是****式编
码器信号的接收较增量式编码器困难得多,一般****式编码器为8位到17位之间,为了减小体积,一般采用串行方式输出****编码,对于伺服电机控制等高端场合,为了适应快速的电流环、速度环、位置环的需要,编码输出的速度又应该非常快,这些都对****式编码的接收增加了难度:
****式编码器厂家大多为其编码器配套了接收芯片,实现串行编码到并行编码的转换,方便控制器的读取。但是该芯片通常价格昂贵,约占****式编码器价格的四分之一。目前国内外高端交流伺服系统中普遍采用FPGA+DsP结构,DsP用来实现矢量变换和其它算法流程;FPGA用以实现译码、A、B、z信号输出、L/O扩展等功能,FPGA中尚有很多资源
没有得到充分利用:本文研制了一种用于交流伺服系统中的基于FPGA的****式编码器智能接口,实现与****式编码器的双工通讯,接收高速数据流,同时在FPGA内部开辟RAM空间,将收到的编码器数据存人RAM中,DSP可以以访问内存的方式凑取数据,提高了工作速度。同时,该接口还具有奇偶校验等纠错功能,完全可以替代厂家提供的接收芯片,大
幅度降低了产品成本。
1 TS5669N120型****式编码器
国内外****式编码器产品很多,如日本的多摩川精机、德国的海德汉、国产的长春三峰等,综合价格和产品质量因素,我们选用了多摩川的TS5669N120型****式编码器。主要技术指标如表1所示。
每次通讯时,由处理器先向编码器发送cF控制字,控制字中的CCo至CC3四位数据为指令码,指令码包括“要码盘数据”、“写EEROM”、“读EE-ROM”和“复位”四种。当码盘接收到cF数据串之后,延时3μs后向控制器发送cF控制字、sF状态字、DF数据字和奇偶校验位,从而完成一次通讯。通讯速率为2.5 Mb/s,每一个位(bit)的传输时间为
O.4μs,所以,完成一次通讯的时间为51μs。
2****式编码器接口的实现
为了清晰该接口在整个交流伺服系统中的作用,先对整个伺服控制单元作一下介绍:本全数字化交流伺服系统中采用TMS320LF2407A作为控制器,用以实现位置环、速度环和电流环以及sVPwM、电流采样等功能。此外,采用Xinlinx公司的型号为xc2sloo的SPATAN 2系列FPGA用以实现与****式码盘接口、正交编码输出、按键/显示接口以及译码逻辑等功能。同时,在FPCA内部实现了512字节的双口RAM,用来与DsP之间通过总线实现数据传输。pPGA部分的功能框图如图l所示。
|