CPLD在时栅位移传感器中的应用

frozenviolet   2006-7-15 16:36 楼主
引言 
    智能时栅位移传感器是在文献[1]提出的时空坐标转换理论和文献[2] 提出的“场式运动坐标系”思想指导下,根据智能传感器的特点和设计方法,研制开发的一种全新的位移传感器。“以时间测量空间”的设计原理和思想新颖、独特,已获国家专利。与光栅等传统栅式位移传感器相比,具有制造工艺简单、结构简单、抗干扰能力强、成本低、智能化程度高等显著优势,具有很好的市场前景和竞争力。 
    智能时栅位移传感器的工作原理是:用于拾取信号的动、定测头置于一旋转磁场内,旋转磁场是由按时间120°均分的三相交流电流接到按空间120°均分的三相线圈绕组中产生的。当旋转磁场相继掠动过动、定测头导线时,根据右手定则,将分别感应出电势。这两路信号的相位差反映了两测头所处的空间位置差,相位差再通过时钟插补反映出来,实现以时间测量空间。     
    
    基于CPLD的数字信号处理电路 
    智能时栅位移传感器内部基于CPLD的数字信号处理电路如图1所示。电路采用双MCU+CPLD结构设计,内部嵌入主从式两块单片机,副MCU负责数据采集与预处理工作,主MCU通过接口电路与外界实现数据交换。动、定测头感应到的微弱信号 经放大、自动增益控制、滤波和整形等预处理电路后,得到供数字电路处理的方波信号。两路方波信号送入CPLD进行处理,CPLD包括双路比相器、脉冲当量计量电路、计数电路、总线收发三态控制电路等4个功能模块。 
    CPLD芯片选用Altera公司的MAX7000S系列器件EPM7128SLC84,它有128个逻辑宏单元,逻辑门数为2500门,在MAX+PLUSII软件环境下,采用VHDL和原理图输入相结合的方法进行设计。设计输入完成后,进行整体的编译和逻辑仿真,然后进行转换、布局、布线、延时仿真生成配置文件,最后以4引脚的JTAG接口方式通过ByteBlaster下载电缆对CPLD进行在线编程(ISP),完成结构功能配置,实现其硬件功能,制成专用芯片。为了避免器件内的设计被他人复制和取出,可通过对MAX7128S内部的一个保密位编程,对设计进行加密。当对器件重新编程时,保密位连同其它的编程数据均能擦除和重写。 
    动、定测头方波信号分别从DO_INPUT和DI_INPUT端输入CPLD,采样信号INT0_OUT由定测头信号DI_INPUT反相得到,通过双路比相器获取动测头信号DO_INPUT的上、下沿至采样时刻的相位差信号。图2中Fai_OUT1、Fai_OUT2信号表示插入高频细分脉冲信号后的相位差信号,高频时钟脉冲由CLK端输入,通过2路带允许端的20位同步计数器分别对插入的细分脉冲进行计数。每一个脉冲所代表的角度大小由脉冲当量计量电路来确定,用于计算脉冲当量的Ti_OUT1信号由DI_INPUT信号二分频得到。 
    EPM7128SLC84输出信号INT0_OUT与副MCU第12脚P3.2相连,每一脉冲下降沿触发副MCU中断一次。通过对图2中各信号逻辑时序的分析,可以看出:动、定测头方波信号频率为50Hz,为保证时栅位移传感器能正常工作,MCU必须每20ms中断一次(若信号频率为400Hz,中断时间间隔为2.5ms),也就是说MCU用于处理数据的时间只有20ms。MCU做多字节除法、乘法运算时,运行时间较长,且用于单片机与计算机间数据通信的时间就至少需要10ms,因此20ms时间MCU无法处理完全部工作。处理时间不够就会导致死机,传感器无法工作,实践也证明了这一点。 解决这一问题的方法通常是采取硬件分频,信号分频后,相应周期加倍,供MCU处理数据的时间加长。但在本设计中,无论是将动、定测头方波信号同时分频或仅将引起MCU中断的信号分频,均无法保证同时采集到正确的3个数据。 
    基于此,本文提出采用“软件分频”来解决这一问题,这也是采用双MCU的关键原因之一。中断信号INT0_OUT每20ms触发副MCU中断一次,每4次中断采集一次数据,前面3次中断时副MCU通过程序判断中断次数而进行相应处理,为第4次中断时采集数据作准备,第4次中断时在中断服务程序中采集数据,包括φ1、φ2和Ti等3个参数。其中,φ1、φ2和Ti分别代表一个信号周期内插入Fai_OUT1、Fai_OUT2和Ti_OUT1中的时钟脉冲个数。副MCU对数据进行预处理后,通过P3.1脚触发主MCU中断,接收副MCU传送的数据,这样,主MCU每80ms中断一次,供主MCU处理数据的时间增加为80ms,相当于4分频,但并没有改变各信号时序。这一思想在信号频率提高到400Hz或更高后仍然适用,只需对软件作少量改动即可。 
    通过以上分析,不难看出:CPLD逻辑功能仿真波形为硬件电路和程序的正确设计与优化提供了依据,具有逻辑分析仪的功能,为设计者带来了方便,这充分体现了采用CPLD设计数字电路的优点。 
    总线收发三态控制电路实现副MCU在读取φ1、φ2和Ti时分时复用20位数据总线D19~D0。副MCU每读一个数据,先通过使能端EN让计数器停止计数,再通过RD端打开三态门读取数据,读完数据后关闭三态门,并通过CLR端将计数器清零,为下一次读取数据做准备。副MCU对采集到的数据进行预处理后,送给主MCU。图1中,副MCU的P3.0脚与主MCU的P2.0脚相连是为了实现数据传输过程中2块MCU间的通信握手,数据准备就绪后,主MCU打开三态总线缓冲74LS244,从P0口读取数据。 
    
    数据采集与预处理软件设计 
    如前所述,数据采集与预处理在副MCU中断0服务程序内完成,程序流程图如图3所示。程序设计中采用了前面介绍的软件分频技术,流程图中φ代表不受预处理电路中整形芯片门限电压影响的准确相位角。 
    结语 
    EPM7128SLC84在智能时栅位移传感器数字电路设计中取得了很好的应用效果,实现了硬件设计软件化,使用可编程逻辑器件技术避免了复杂的PCB布线,带来不仅在成本、开发周期、可靠性等方面的优势,而且大大增强了硬件模块的柔性,通过编程来很方便地修改硬件电路结构,功耗也大大降低。但在使用CPLD器件时也发现了一些问题,如EPM7128SLC84对信号毛刺很敏感,因此,对信号的前置处理和电路设计提出了更高要求。■ 

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复