CPLD是由GAL(通用阵列逻辑)发展而来,它通常由大量可编程逻辑宏单元围绕一个位于中心的、延时固定的可编程互连矩阵组成。其中可编程逻辑宏单元结构复杂,具有复杂的I/O 单元互连结构,可根据用户需要生成特定的电路结构,完成特定功能。由于CPLD 内部采用固定长度的金属线进行各逻辑块的互连,因此从输入到输出的布线延时容易计算得到。可预测延时的特点使CPLD 便于实现对时序要求严格的电路设计。
Altera的MAX II系列CPLD是高密度、高性能的CPLD,采用了Altera的第二代MAX架构,采用浮栅EEPROM设计。结构中包括逻辑阵列模块(LAB)组成的阵列、可编程互连阵列口(PLA)和可编程I/O模块阵列。每个LAB包括36个输入端、16个输出端和16个宏单元,每个宏单元包括处理组合和时序运算的组合逻辑和触发器。设计采用MAX II系列的EPM240T100 器件,该器件支持1.8 V、2.5 V、3.3 V、5 V CMOS TTL等多种电压,工作频率可达151.5 MHz,符合IEEE 1149.1 标准支持JTAG 在线编程,具有较好的保密性能。开发环境使用Altera的MAX+Plus。支持多种设计输入,除原理图外还可以通过VHDL Veriiog HDL和Altera Hardware Description Language (AHDL)。Verilog HDL语言是一种硬件描述语言,能形式化地抽象描述电路的结构和行为,支持逻辑设计中层次与领域的描述,具有电路仿真与验证机制以保证设计的正确性,用于算法级、门级和开关级的建模。CPLD(复杂可编程逻辑器件) 因其属于大规模在系统可编程专用集成电路而且具有高密度、高速度、高可靠性等特点。因此CPLD 应用于高速数据采集系统可大大提高系统设计的灵活性,提高系统的可扩展性。由此选择了EPM240T100 器件设计了基于CPLD 的本安型高速多通道数据采集系统。
1 系统结构原理框图和主体设计思想
本系统主要处理矿区本安型模拟输入信号、数字量开入开出信号。这里的本安型信号主要是一些电流型开关量信号和电流型频率型模拟量信号,其中电流型开关量信号:0~0.2 mA 对应“断”,0.8 mA~2 mA 对应“关”, 4 mA~6 mA 对应“开”,有别于普通的开关量信号;普通型开关量只有开关两种状态而本安型开关量信号有三种三态识别,即除了能检测信号的“有效/无效”外,还应该能判别故障和断线状态要求。本系统的总体图如图1所示。
由图1可以看出本系统主要由CPLD和信号预处理电路组成,整体结构非常简洁明了。图中本安型模拟输入信号、数字量开入开出信号需经信号调理电路进行处理后变成TTL电平信号再供CPLD进行处理。预处理电路主要完成电流电压转换及信号隔离。主要的开入、开出、模拟量处理全部由CPLD完成,同时CPLD还将完成与上位机用PC104ISA接口进行信息交换任务。CPLD 将开入信号及模拟信号采集进来并存储,将上位机送来的开出信号写到开出电路上去。如此循环,完成模拟信号,开入开出高速信号处理。
2 系统硬件原理设计及主要芯片介绍
本采集系统前端模拟量及开关输入量预处理电路部分原理图如图2所示。
它由电流取样电阻R5、电流分析电路U6、隔离电路O5组成,其中U6A的正输入端接电流信号的“+”端、U6A的负输入端接参考电压构成电流窗口比较器进行信号采集,U6B完成本安信号的故障判别和断线状态判别。O5光耦起到信号隔离增强抗干扰能力,光耦输出信号供CPLD进行采集处理。开关输出量预处理电路部分原理图如图3所示。
CPLD处理部分电路主要由系统时钟振荡电路、CPLD电路、电源去耦电路等组成。由于采用了EPM240T100 复杂可编程逻辑器件使得系统设计简单明了,同时由于EPM240T100又具有在线可编程特性,使得系统在升级或增加新功能时应用非常方便。
3 CPLD程序设计
CPLD程序设计包括采集处理模块和PC104接口模块两部分。这里主要介绍采集处理模块程序。
3.1 CPLD 内部固件设计
数据采集系统的CPLD 内部固件设计采用Altera公司的Quartus II 8.0软件为开发工具,使用Verilog HDL语言设计固件程序,设计主要包括:频率采集模块处理程序、开入量处理程序、开出量处理程序、PC104接口处理程序。
3.1.1 频率采集模块处理程序
频率采集信号经预处理电路进行分析比较隔离处理后,有效脉冲信号送到CPLD频率采集模块,频率采集模块对脉冲信号进行边沿判别和脉冲计数并将计数内容保存到频率计数保存寄存器中,等待上位机读取。频率采集模块仿真图如图4所示。
3.1.2 开入量处理模块
开入量信号经预处理电路进行分析比较隔离处理后,直接被CPLD采样将开入信息状态及有效/无效判断为一并存储到开入量保存寄存器中,等待上位机读取。
开入量信号模块仿真图如图5所示。
3.2 开出量处理程序
开出量信号处理模块接受从上位机下发的开出量信息并将其输出到开出调理电路产生所需的本安型开出信号。
开出量模块仿真图如图6所示。
该本安型矿用数据采集系统已经应用到煤矿矿用通信分站系统中,成功地完成了对频率信息、开入量信号、开出量信号的采集处理。通过采用CPLD 技术极大地提高了系统的可靠性、灵活性。
参考文献
[1] 何立民. 单片机应用技术选编(3)[M].北京:北京航空航天大学出版社,1996.
[2] 刘明业,蒋敬旗,刁岚松,等. 硬件描述语言Verilog (第四版)[M].北京:清华大学出版社,2001.
[3] 常晓明. Verilog-HDL实践与应用系统设计[M].北京:北京航空航天大学出版社,2003.