基于FPGA的RCN223****式编码器通讯接口设计
夏加宽,李晓帆(沈阳工业大学电气工程学院,沈阳110178)
摘要:实现了一种基于FPeA(现场可编程门阵列)的****式码盘智能接口的设计,用以进行****式编码器和DSP处理器之间的通讯。此接口根据FPCA模块化设计的特点,把整个设计任务划分为若干功能模块,分别对这些模块进行设计,最后把各个功能模块进行综合,以完成整个设计。实验结果表明,该接口完全可以替代价格昂贵的专用接口芯片,降低产品成本。
关键词:****式编码器;接口;FPGA
中图分类号:TP271 文献标志码:A 文章编号:1001-6848 (2010)01-0054-03
0引 言
光电编码器是一种基本的位置、速度检测反馈单元,很广泛的应用于变频器、直流伺服、交流伺服等系统的闭环控制申[1],为了减小编码器的体积,****式光电编码器一般采用串行通讯方式输出****二进制编码,对于伺服电机控制等高端场合,为了满足快速的电流环、速度环、以及位置环的控制速度需要,编码输出数据速度又应该非常快,以上不利因素都对****式编码的接收增加了难度[3]。
世界各国的****式编码器生产厂家大多为其编码器配套了相应的接收芯片,自动完成串行编码到并行编码的转换,方便了控制器的读取操作。但是由于此类芯片通常价格比较昂贵,大约占****式编码器价格的四分之一。目前国内外高端交流伺服系统中普遍采用FPGA+DSP结构,DSP用来实现矢量变换和其它算法流程;FPGA用以实现译码、A、B、Z信号输出、1/0扩展等功能,FP-GA中尚有很多资源没有得到充分利用。本文研制了一种用于交流伺服系统中的基于FPGA的****式编码器接口,实现与****式编码器的双工通讯,接收高速数据流,同时在FPGA内部开辟RAM空间,将收到的编码器数据存入RAM中,DSP可以以访问内存的方式读取数据,提高了工作速度。同时,该接口还具有CRC(循环冗余校验)校验等纠错功能,基本能够替代厂家提供的专用接收芯片,大幅度降低了产品成本。
1 RCN223型****式编码器
国内外****式编码器产品种类很多,如日本的多摩川精机、内密控、德国的海德汉、美国的丹纳赫、国产的长春三峰等[3]。其中海德汉的RCN223型****式编码器采用的是海德汉公司专用的EnDat2.2一位置编码器双向数字接口,它传输的数据类型分为位置值,位置值及附加信息或参数[4].发送的信息类型模式指令选择。模式
指令决定被发送信息内容。每个模式指令包括三个Bit。为确保可靠发送信息,每个Bit均采用冗余发送(反相或两次)。其发送位置值的模式指令
为“000111”。信号传输格式如图1所示。
数据包发送与数据传输同步。传输周期从第一个时钟下降沿开始。编码器保存测量值并计算位置值。
两个时钟周期后,后续电子设备发送模式指令。编码器发送位置值后,从起始位开始由编码器向后续电子设备传输数据。后续“错误位”一“错误1”和“错误2”是检测类信号,用于监测故障。这两个信号相互独立地生成,它表示编码器发生可导致不正确位置值的故障。发生故障的确切原因保存在“工作状态”存储器中,并可被详细的查询。
然后编码器从****有效位( LSB)开始发送****位置值。其长度取决于所用的编码器,RCN223的****位置值为23位。位置值的数据发送以循环冗余校验( CRC)结束。
在数据字结尾处,必须将时钟信号置为高电平。10 μs至30μs后或1.25μs至3.75μs(系统时钟大于1 MHz时)数掘线返回低电平。然后,时钟信号启动另一次数据发送。
2****式编码器接口的实现
全数字化交流伺服系统中采用TMS320X2812作为控制器,用以实现位置环、速度环和电流环以及SVPWM、电压和电流采样等功能。此外,采用Altera公司的型号为EPIC6的Cyclone系列FP-CA用以实现与****式码盘接口、译码逻辑等功能。同时,在FPGA内部实现了128字节的双口RAM,用来与DSP之间通过总线实现数据传输。FPGA部分的功能框图如图2所示[2,5]。
码盘接口部分分为时钟发生模块、发送模块、接收模块、双口RAM模块、发送使能模块五个部分。
|