您的位置 首页 应用

根据DSP和FPGA的编码器信号丈量及处理的通用模块

随着科学技术的飞速发展,自动控制系统在各领域中的应用越来越多,特别是计算机自动控制系统已成为现代科学技术、军事工程和现代工业等领域不可缺少的部分。因而,自动控制元件如作为动力装置的各种电动机、发电机和

跟着科学技能的飞速发展,主动操控体系在各范畴中的运用越来越多,特别是核算机主动操控体系已成为现代科学技能、军事工程和现代工业等范畴不行短少的部分。因而,主动操控元件如作为动力设备的各种电动机、发电机和作为信号改换的各种操控电机在各种操控体系中得到广泛的运用。要对被控目标进行操控,不只需求操控器和执行机构,还需求反应设备。因而,编码器作为电机的视点、速度、方向的检测设备,也得到了广泛的运用。编码器又有旋转变压器、霍尔传感器和光电编码器。其间,光电编码器精度高,抗搅扰才干强,接口简略,运用便利,因而取得了最广泛的运用。

光电编码器按编码方法又首要有增量式编码器和肯定式编码器两大类,前者具有分辨率高、价格较低、接口简略等长处,但是在当今工业中,无掉电回忆功用又对其运用构成了很大限制;后者结构紧凑、体积小、接口数字化、抗搅扰才干强、具有掉电回忆功用,在运用中也越来越受注重。

当时市场上,德国海德汉公司的产品品种繁复,具有很好的质量确保,被广泛运用于机床、主动化范畴,尤其在半导体和电子制造业等范畴。海德汉光电编码器占有很大市场份额,而与之相配套的解码设备不合适嵌入式体系运用。本文针对试验用转台运用的海德汉编码器规划出了增量式和肯定式的通用数据处理模块。该模块具有信号处理速度快、精度高、数据精确、运用灵敏广泛、运用和调试便利、本钱低价等长处,能很好满意运用需求。

1 海德汉编码器概述

1.1 高精度增量式编码器

增量式编码器是经过光栅将位移转化成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表明位移的巨细。其光栅由周期性刻线组成,经过核算自某点开端的增量数(丈量步距数)取得方位信息。本模块要丈量的高精度海德汉增量式编码器的光栅上还有刻有间隔编码参阅点的轨迹,加速参阅点回零。下图1为某带间隔编码的圆光栅。

图1带间隔编码参阅点的圆光栅(ERA4480)

这些参阅点互相相距数学算法确认的间隔。已过三个参阅点的两个脉冲后,后续电子设备就能找到肯定参阅点。

1.2 高精度肯定式编码器

肯定式编码器运用天然二进制、循环二进制( 格雷码) 或PRC码对码盘上的物理刻线进行光电转化,将衔接轴的滚动视点量转化成相应的电脉冲序列并以数字量输出,其每一个方位对应一个确认的仅有的数字编码,因而具有掉电回忆功用。

有时,经过方位编码器取得方位值的数字驱动体系和反应环还需求编码器供给一些附加值。为使体系具有更高牢靠性,编码器还需具有过错检测和确诊功用。海德汉公司的Endat2.2数据接口是一种适用于编码器的双向数据接口,可传输肯定式或增量式编码器的方位值,也能传输或更新保存在编码器中的信息或保存新信息。因为选用串行数据传输方法它只需求4条线。数据传输坚持与后续电子设备时钟信号同步。传输的数据类型(方位值、参数或确诊信息等)经过后续电子设备发至编码器的方法指令挑选。

2 硬件规划

本模块选用了DSPFPGA结合的作业方法。DSP首要用于数字信号处理范畴,十分合适高密度、重复运算及大数据容量的信号处理。FPGA/CPLD器材一方面可完结硬件上的并行作业,十分适用于实时测控和高速运用范畴,另一方面物理机制和纯硬件电路相同,十分牢靠,尤其是抗强电磁搅扰。两者结合,可完结宽带信号处理,速度快且牢靠性好。

依据计划功用需求,规划模块结构图如图2所示:

图2 硬件结构图

图中,模块衔接器为规范的DB15衔接器,经过管脚装备,能相应地与增量式编码器和选用EnDat2.2接口的肯定式编码器进行信号沟通。模块的收发单元支撑的是RS-485方法,差分信号和单端信号经过接口芯片进行转化。为了进步对高精度增量式编码器数据丈量精度,需在同一个增量编码器上装置4个读数头,各自丈量增量式编码器数据,再组成得到方位值。这样,板卡上读取编码器信号的接口设置有4个。

FPGA芯片选用赛灵思公司Spartan-3AN系列的XC3S700An,logic cells为10476。

完结:①对增量信号的计数和参阅信号的收集,在进行计数到达参阅码道的数据后,进行增量信号的清零;②对Endat2.2肯定式编码器方位信号的收集;③在外同步时钟上升沿到来前,保存计数处理,把数据存储在双口RAM中,等候DSP读取。

本模块选用的DSP芯片为TI公司的TMS320F28335,主频可达150MHz。TMS320F28335增加了浮点运算单元,在坚持了原有DSP芯片长处如强壮操控和信号处理才干、C言语编程功率等长处的一起,节省了代码执行时间和存储空间。F28335经过GPIO端口与XC3S700An衔接有4路地址线和16根数据线,能够承受16种编码器信号。模块中DSP部分拓荒参数存储区,在中止信号到来的时分读取FPGA中数据,完结数据组成,经过SCI串口把数据发送给主控机箱,电器方法为RS422。

模块板卡由5V电源供电。3 软件规划及完结

依据硬件架构,别离对DSP和FPGA进行软件功用剖析和具体编程完结。

FPGA部分运用Xilinx公司的ISE10.1开发软件,选用Verilog言语,承受从接口管脚输入的编码器信号,相应地完结对海德汉高精度增量式编码器输出并经细分盒细分后的TTL脉冲计数和参阅信号生成,或许是与肯定式编码器的Endat2.2通讯。DSP部分开发软件选用TI公司的CCS5.2,运用C言语进行编程。DSP完结对信号终究的方位组成处理,在这里,首先要界说编码器的相关参数,如:编码器总刻度数、分辨率、带参阅码道的增量式编码器的参阅点数,还要考虑增量信号进入FPGA前的细分数(取决于IBV600),以及FPGA对TTL计数是否进行四倍频等。运用时,依据具体编码器类型进行参数修正。

软件完结了对高精度海德汉增量式编码器和肯定式编码器的方位值的读取。下面将别离进行介绍。

3.1 丈量增量式编码器方位值

3.1.1 相关部分的FPGA规划

增量式编码器是一旋转式光电编码器,依据轴所转过的视点,输出一系列脉冲。一般来说编码器输出有三相信号:A、B、Z。A、B两相信号是相位相差90°的正交方波脉冲串,每个脉冲代表被测目标旋转了必定的视点,A、B之间的相位联系则反映了被测目标的旋转方向,即当A相超前B相,滚动方向为正转;当B相超前A相,滚动方向为回转。Z信号是一个代表参阅码道的脉冲信号,可用于调零、对位。目标每旋转必定视点时,A、B两者的脉冲发生改动,依据AB相位改动方向和脉冲个数来核算角位移。当AB相位改动为00 10 11 01 00时,为输出正转计数脉冲,脉冲计数P加1;当AB相位改动为00 01 11 10 00时,为输出回转计数脉冲,脉冲计数P减1。相位改动几回计数操作几回。需求指出的是,相位的状况改动只要严厉依照上面8中方法改动时,FPGA才进行计数操作。在Verilog编程时,能够把前一个AB相电平状况和后一个AB相电平状况组成一个散转地址向量,然后把这个向量作为条件句子,进行计数操作。比方,当AB从00变为10时,向量就为0010,P=P+1。相反,若AB从10变为00,这个向量就为1000,P=P-1。下面为FPGA读取TTL数据并组成散转地址向量的Verilog代码:

always @(posedgeinClk)

begin

regUa1a2State = {inIncUa1,inIncUa2};//读取AB向量

if(regUa1a2State!=regAllState[1:0]) //状况改动

begin

regAllState= {regAllState[1:0],regUa1a2State};//组成新的散转地址向量

regPulseStateChanged= 1;

end

elsebegin

regPulseStateChanged= 0;

end

end

别的,增量式编码器不具有断电回忆功用,每次发动时都需确认零位。曾经,只要一个零位参阅点时,有时需转360°Z相位呈现脉冲才干确认零位。高精度海德汉编码器参阅点码道有若干个间隔编码参阅点,任一参阅点经过读数头时,Z相位输出脉冲。此刻,需求把之前的脉冲计数P保存下来(记为Q),P清零。这样,每次Z相位输出脉冲时,P的数值就为前次经过参阅点后的脉冲数,这是DSP确认零位和当时参阅点的重要依据。

FPGA测得4个读数头的4组信息,写入双口,等候DSP读取。每组写入双口的数据有两个:①上一次过参阅码道时的计数增量计数RefPulseCnt(Q值),②增量计数PulseCnt(P值)。

3.1.2 相关部分的DSP规划

DSP程序中先生成增量式编码器参阅码道的参阅视点,也便是每个间隔编码参阅点所对应的脉冲数以及视点。又因为每两个参阅点间脉冲数(即Q值)是不同且仅有的,能够依据读取的FPGA双口中的Q值确认最近经过的参阅点,然后“查表”能够得到该参阅点的视点。一起,DSP读取P值再乘以分辨率得到已当时参阅点后的视点,组成后两者相加能够确认相应读数头测得的方位值。分辨率为360°/刻度值总刻度数*进入FPGA前细分数*4(本模块FPGA对TTL计数的处理本质便是对AB路信号进行了4倍频)一切读数头过完零今后,输入到DSP的4路读数头信号相对参阅码道的零点而言,都有一个肯定方位。一般来说,装置读数头时,要参阅丈量的单个读数头的方位值对4个读数头的方位要进行调整,一般,相邻两个读数头之间相差90度最好。以任何一个读数头为基准,其他3个读数头的肯定方位相对基准读数头而言的方位差为90°,180°,270°。为了简化,以电路板输入端口的1作为基准量。组成方位量为A=(A1+A2+A3+A4-90-180-270)/4=(A1+A2+A3+A4-540°)/4,因为有装置体系差错,且要求组成方位值要大于0,核算时能够用520°代替540°。其规模为(e,e+359.999999),e为差错,这个时分要对360做求模处理,最终得到的组成值的作业规模就为(0,359.9999999)。3.2 丈量肯定式编码器的方位值

模块参阅海德汉公司供给的endat2.2相关技能手册,设置好参数:依据编码器位数和方法指令设置传输的数据位数ct_tx_oem_value、ct_rx_oem_value;需求传送的附加信息个数ai_count;传输时钟频率参数freq_oem_value;恢复时间III (tST)的设置参数freq_tst_value等。丈量EnDat2.2的子文件依据参数转化状况机,进行相应操作。别的,程序带有电缆传输推迟丈量模块pdm。然后,依照下图4的格局依据自己对信息的需求设置向编码器传输的信号d_in。在体系时钟上升沿到来后当即经过start_trans信号操控开端与编码器通讯。接纳编码器数据,读出相应d_out信号数据,得到代表方位值的数据写入双口。

图4 endat2.2输入数据“d_in”

上图中,Mode bits为6位方法指令,最根本的编码器发送方位值方法为000111。方法指令和其他参数的意义都能够在技能手册中查到。

DSP从FPGA双口RAM中读取肯定式信号数据,取有效位数后再乘以该肯定式编码器的分辨率即得到方位信息。分辨率为360°/2^N,N是对应的肯定式编码器位数。

3.3 数据输出

模块经过RS422异步串行接口与上位机进行通讯,串行接口经过DSP的SCI口完结,规划的模块一起需求上位机发送的同步采样频率信号,将其与DSP相连,作为中止信号发动ISR功用。一起,该信号管脚经过跳针把该外同步时钟分给FPGA。这样,确保两者的时钟源是一致的,然后DSP拜访FPGA的双口就能完结正确读取所需数据。进程时序示意图如图5所示:

图5 全体进程时序示意图

如上图所示,在t_1时,FPGA即发动与编码器的通讯,在t_2时,FPGA把增量式编码器脉冲计数或许肯定式编码器信息存入双口,在t_3时,外同步时钟上升沿发动DSP中止程序,读取现已存储在FPGA双口中的数据并组成方位值,组成量纲后经过RS422接口把肯定方位值传递给主控机箱。这样,主控得到的数据是上一帧的数据,即有一帧的推迟,时钟频率越大,推迟越小。因而,对采样频率有必定要求,不能太低。4 试验及数据剖析

模块规划好今后,需建立渠道检测是否完结功用。试验渠道如图6所示:

图6 试验渠道

如图6所示:翻开电源操控开关,然后从PC机把DSP和FPGA程序别离经过仿真器加载到F28335和XC3S700AN芯片中,翻开主控机箱。最终,点击CCS上的运转键,拨动编码器,可在CCS软件界面右上方的变量调查窗口调查编码器方位值。界面如下图7所示:

图7 试验时,调查方位值的CCS界面

本试验中,所运用的编码器为23位海德汉肯定式编码器ECN1023,外同步时钟源为500HZ。FPGA内部频率为10MHz,向Endat2.2输入的频率为64MHz的32分频。调查到该界面中方位值为359.8117303848267度。在试验中经过real-time与主动改写功用还调查到,界面上数据的改动与编码器的滚动简直同步,编码器中止滚动后,数据小数点后前3位之前的数据十分安稳,第3、4、5位数据比较安稳。由此可见,本模块满意了必定的丈量速度和丈量精度,能够很好作业。

经过试验对本模块的功能有了必定了解后,还需对精度进行检测。经过模块与规范检测仪一起丈量一台海德汉肯定式编码器,360度丈量正反相各测24组值。成果,正测RMS值为0.67角秒,极差为1.9角秒;反测RMS值为0.76角秒,极差为2.2角秒。两组差错曲线图如下图8所示:

图8 正回转检测两组差错数据曲线

从图中调查到,从0到23的24组数据皆是从0度到36度改动时丈量得到的。如图所示,两组差错曲线根本重合,可在最大差错点加个修正值减小差错。

结语

编码器运用广泛。本文具体介绍了一个丈量各类海德汉编码器的数据的通用且有用的模块。该模块根据XilinxFPGA渠道和TI DSP渠道,运用和调试便利,运用者可快速把握;经过了试验和精度的检测,完结了规划意图,作业牢靠;模块细巧,能够与上位机通讯,能够很好的被结合到嵌入式体系中。现在,本模块已用于试验转台用的增量式和肯定式编码器数据的处理,拟结合到试验室驱动操控机箱中,正进一步开发它对海德汉肯定式编码器Endat2.2附加信息的丈量和处理。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/285489.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部