完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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的上、下沿至采样时刻的相位差信号。Fai_OUT1、Fai_OUT2信号表示插入高频细分脉冲信号后的相位差信号,高频时钟脉冲由CLK端输入,通过2路带允许端的20位同步计数器分别对插入的细分脉冲进行计数。每一个脉冲所代表的角度大小由脉冲当量计量电路来确定,用于计算脉冲当量的Ti_OUT1信号由DI_INPUT信号二分频得到。 |
|
|
|
EPM7128SLC84输出信号INT0_OUT与副MCU第12脚P3.2相连,每一脉冲下降沿触发副MCU中断一次。通过对各信号逻辑时序的分析,可以看出:动、定测头方波信号频率为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所示。程序设计中采用了前面介绍的软件分频技术,流程图中φ代表不受预处理电路中整形芯片门限电压影响的准确相位角。 |
|
|
|
结束语
PM7128SLC84在智能时栅位移传感器数字电路设计中取得了很好的应用效果,实现了硬件设计软件化,使用可编程逻辑器件技术避免了复杂的PCB布线,带来不仅在成本、开发周期、可靠性等方面的优势,而且大大增强了硬件模块的柔性,通过编程来很方便地修改硬件电路结构,功耗也大大降低。但在使用CPLD器件时也发现了一些问题,如EPM7128SLC84对信号毛刺很敏感,因此,对信号的前置处理和电路设计提出了更高要求。 来源:中国工控网 |
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:45 , Processed in 0.602273 second(s), Total 87, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号