在需要采集多路模拟信号、开关量信号、频率(计数)信号和编码器信号的数据采集应用中,用通用板卡组成计算机测控系统是可行的,但对于产品的
在需要采集多路模拟信号、开关量信号、频率(计数)信号和编码器信号的数据采集应用中,用通用板卡组成计算机测控系统是可行的,但对于产品的批量应用,其成本和综合性能并不令人满意。技术成熟的CPLD芯片的应用,可以将逻辑控制、数据信号处理等功能集于一身,使得过去需要使用多个信号板才能完成的任务可以集成到同一个采集控制器中,从而有效提高了控制系统的可靠性,降低了测控系统的实现成本。
设计了一种基于CPLD的数据采集控制板。它可以实现信号采集与控制、信号处理、通信和输出控制等功能。
1总体设计方案
该专用数据采集控制板采用CPLD作为主控制器,协调通道切换和数字信号处理,实现数据采集和接口传输的逻辑控制。数据采集控制面板有四种信号输入和一种开关信号输出。图1显示了基本的硬件模块组成。
利用CPLD的资源和结构特点是本设计的核心。为了提高编码器输入信号的分辨率,设计了四倍频电路,并在通道后端设计了脉冲静态计数电路,使输入信号转换为8位信号,连接到采集板的总线上。8路模拟输入信号主要依靠CPLD实现通道切换和A/D采集,采样数据也作为8-8位信号并行进入总线。考虑到提高计数精度的要求,针对两个频率输入信号设计了动态计数电路,使得计数值可以通过总线读出。I/O切换控制、EPP接口电路等。都是按照一定的逻辑要求用同一个CPLD器件实现的。这样可以使硬件电路非常简单,有利于上位机的编程。
2数据接口
根据IEEE1284标准,在标准并口(SPP)、增强并口(EPP)和扩展并口(ECP)三种模式中,EPP模式不仅具有双向数据传输功能,而且具有较高的数据传输能力,编程操作也相对容易,最适用于数据采集系统。
从硬件设计的角度来看,EPP接口的主要功能之一是将采集到的数据上传到微机,或者将开关量控制命令下载到采集控制面板(数据流对应8bit数据口);二是实现硬件接口之间信号通信的握手(控制状态对应其他I/O口)。EPP协议定义了数据传输的四种基本操作:数据读取、数据写入、地址读取和地址写入。工作时,先写入I/O锁存器地址,即模块操作的I/O地址,再进行相应的读或写操作。如果不需要改变I/O地址,则不会执行I/O数据锁存操作。在EPP模式下,总共定义了17条信号线。除了8条双向地址线和数据复用线外,还有输出控制信号线WRITE、DSTROBE、ASTROBE和INIT,其中WRITE、DSTROBE和ASTROBE用于指示数据读写操作。当WRITE为低电平时,意味着操作正在进行中;当DSTROBE为低电平时,意味着执行一次数据操作;而当ASTROBE为低电平时,则意味着进行了寻址操作。EPP的INIT信号用于复位打印机,本设计用于预置光电编码器的初始计数值。还有五条状态信号线。等待信号由外设发送,高电平表示读写操作正在进行,低电平表示操作完成。但是本设计中并没有用到这个信号,因为前三个读写信号完全可以满足要求。MAX197数据转换结束信号EOC连接到并行端口的选择线。当主机查询选择线为低电平时,表示A/D转换结束,可以读取转换结果。剩余的三条状态线是空闲的,等待使用。
根据IEEE1284标准对EPP模式下地址和数据读写操作的规定,可以利用图2中的逻辑结构分别实现地址写、数据写和数据读。在图2中,输入信号中的STB代表写信号,ASTB代表地址写信号,DSTB代表数据写信号;输出信号中,Add_WR表示地址写信号,高电平有效,Add_WRN表示地址写信号,低电平有效,Data_WR表示数据写信号,高电平有效,Data_WRN表示数据写信号,低电平有效;Data_RD代表数据读取信号。这种设计的目的是使接口容易适应各种逻辑器件的操作要求。图3显示了MAXPLUS软件模拟的上述逻辑信号的操作时序波形。
EPP模式可以在上位机BIOS中设置,也可以直接通过写ECR寄存器设置(并口适配器基址为0X378H,I/O口地址为77AH)。
3编码器信号处理
对于编码器的输入信号,针对增量式光电编码器的输出有A相和B相方波正交信号,且它们的相序取决于编码器的正反向,设计了四倍频辨向电路。
CLK信号来自独立的振荡源,其频率比编码器的最大输出频率高4倍以上,但也不能太高,以免造成CPLD内部结构的信号竞争等问题。INA和INB分别是编码器输入的A相信号和B相信号,CNT_UP和CNT_DN分别是正向倍频信号和反向倍频信号输出。为了保证编码器在任何转角位置都能可靠读取数据,最终以16位静态计数方式输出编码器的倍频信号,CNT_UP和CNT_DN分别作为后续静态计数电路的“正”和“负”计数输入信号。在有限旋转角度6360的条件下,对于16位计数码,计数电路允许的最大计数值为65536,计数值可根据高低八位组读出两次。为了提高编码器的可靠性,还可以考虑格雷码转换。
4频率测量
对于频率输入信号,采用等精度测频法测量频率。在实际选通时间是被测信号频率的整数倍的条件下,这种方法可以完全消除对被测信号计数时产生的1字误差,在整个频率范围内保持恒定的测试精度。
图6所示为等精度测量示意图,其测量原理如下:首先给定门开信号(预置门控制信号SWITCH的上升沿),此时计数器CNT1和CNT2不开始计数,而是等到被测信号SIGIN的上升沿到来,计数器开始计数。经过一段时间后,当预设的关闸信号(闸控信号开关的下降沿)到来时,计数器并不立即停止计数,而是在被测信号SIGIN的上升沿到来时结束计数,从而完成一次测量过程。此时,可以分别读出计数器CNT1和CNT2的计数值OUT1和OUT2,并且可以通过将测量信号SIGIN的计数值OUT2除以标准信号CLK的计数值OUT1并将其乘以标准信号CLK的频率值来获得测量信号SIGIN的频率值。
为了提高测量精度,参考信号CLK可以使用高精度时钟源。因为时钟源和被测信号是同步计数的,所以计数时间长短不会影响计算结果。图7示出了等精度频率测量方法的信号模拟波形图。
5 A/D转换器和I/O开关控制
对于模拟输入信号,采用12位MAX197作为A/D信号转换器。控制字器件的基本工作过程是:首先地址总线选通MAX197,然后模拟通道控制字通过数据总线写入MAX197的内部寄存器。该控制字决定所选通道号、通道输入电压范围、极性、内部或外部触发采集模式等。例如,如果输入电压范围为双极性、内部触发采集模式和第一个通道,则十六进制数应写入48H,第八个通道应写入4FH。写入控制字后,MAX197立即开始通道转换,大约10s后转换完成.转换结果放在数据总线上。首先,高低开关引脚HBEN设为低电平。此时,数据总线首先读取结果的低八位,然后将HBEN设为高电平。然后结果的高四位放在MAX197的D0 ~ D3端口。同时,将引脚INT设为低电平,通知控制器转换完成。MAX197的转换结果用补码表示,最高位是符号位。
本系统还具有八路开关量输入输出功能切换控制。这两个功能分别由CPLD中的74244和74373实现。接口的逻辑和如图8所示。外部接口通过光耦合器隔离输入和输出。开关量写入的顺序是74373先被地址总线选通,再写入相应的命令字。数据量读取类似。具体控制信号由EPP总线读写逻辑给出。
6驱动软件实施
考虑到nt公司LabView环境下图形化编程简单、易于实现的特点,采用动态连接函数库(DLL)设计和直接端口操作相结合的方式实现了采集板的硬件驱动。在编程过程中,首先由VC生成动态链接库,然后由LabView中的CLF节点调用该动态链接库。对于直接端口操作,LabView中的“输入端口”和“输出端口”节点用于操作端口。当然,为了使用方便,I/O切换控制、编码器、A/D数据采集、计数器等硬件特有的功能也可以设计成专用模块,供LabView图形化直接调用。
采集控制板的上述硬件模块方案设计可以通过适当规模的CPLD来实现。除了成本优势,此举还有体积减小、硬件集成度提高的优势,这也为提高采集器的可靠性创造了条件。由于强大的仿真软件工具,CPLD的各种逻辑功能的设计过程快速高效。上述设计已在实际测控设备中得到应用,无需板载FIFO,A/D速度可达40kHz以上。利用片上FIFO,模数转换速度可以达到模数转换采集器件的标称上限。EPP口完全可以满足机载功能模块的各种数据传输需求。根据现场反馈,采集控制器本身在工业环境中的抗干扰性能和运行稳定性良好。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们