一种基于Compact PCI总线的数据采集系统设计

分享到:
529
下一篇 >

  摘要:针对工业控制系统的要求,介绍了一种基于Compact?PCI总线的数据采集系统,可以实现对模拟信号、串行数字信号和并行数字信号的采集。结合DSP芯片TSM320F2812和PCI接口芯片PCI9054的性能特点,详细讨论了采集系统的硬件结构和Compact?PCI接口的实现。

  引言

  数据采集的实时性和可靠性是关系工业控制系统性能的重要因素,数据采集系统的速率主要取决于A/D转换、通信接口和总线传输的速率。?TI公司推出的DSP芯片TMS320F2812具有很高的工作频率和丰富的外设资源,能够满足采集系统的实时性要求,同时又降低了系统设计的成本。Compact?PCI总线作为PCI总线向工业控制领域的拓展,除了具备高速的传输速率,还具备优良的机械特性和电气特性。本文研制了一种基于Compact?PCI总线的数据采集系统,系统以DSP作为控制核心,可以进行模拟信号采集、并行接口和串行接口的数据信号的采样。

  Compact?PCI总线与PCI标准完全兼容,但作为开放的工业计算机标准,Compact?PCI总线与PCI总线有很多不同。主要体现在:

  (1)?Compact?PCI总线具有热切换能力,可以使整个系统在不断电的情况下,更换损坏的插板,这对于有高可靠性要求的系统是至关重要的。

  (2)?Compact?PCI总线采用欧式插卡(Eurocard),具有更好的机械特性。欧式插卡的组装技术目前已经十分成熟,插卡垂向而平行的插入机箱,有利于通风散热;采用插入式电源模块,便于维修,适合于安装在标准化工业机架上。

  (3)?使用高密度针孔总线连接器,完全气密,比台式机的PCI插槽具有更高的抗震性能和可靠性。

  (4)?Compact?PCI底板可以容纳8块插卡,比原有的PCI规范增加了一倍,更能满足工业系统的需要。

  2?采集系统硬件结构设计

  在工业控制系统中,采集系统一方面需要把电机转速、电流环等模拟参数传送到监控主机,另一方面需要对下位机的各种参数和图像数据进行采集,同时监控主机还要对下位机发送各种控制信号。为了兼顾各种需要,设计中集合了模拟和数字两种采集方式,可以实现8路A/D采样,2路串行数据采集和2路并行数据采集,系统的结构框图如图1所示。


  图1?采集系统结构框图

  采集系统以数字信号处理芯片TMS320F2812作为控制核心,F2812*高工作频率可达150MHz,除了丰富的内部存储器资源外,还具有ADC,SCI、SPI等多种外设资源,设计中利用了其ADC和SCI模块来进行模拟信号和串行数字信号的采集。对并行数据的采集则不通过DSP而直接与主机进行数据交换。由于主机与外设速度不匹配,选用双口RAM芯片IDT70V24作为数据缓存,它是一种高速度、低功耗的双口RAM,存储量为8k字节。系统的逻辑控制采用CPLD芯片XC95108完成,它主要负责的功能是PCI局部总线仲裁和地址译码。三种采集模块的实现如下:

  (1)?A/D采集模块。对模拟信号的采样使用了F2812自带的数模转换模块ADC,该ADC具有16路模拟输入通道,带有两路内置S/H(抽样保持器),转换精度为12bit,*大转换速率为12.5MSPS,支持范围在0~3?V的数据输入。16路输入通道在ADC内部共用1个模数转换器,它们被分位两组,每组8路通道,使用排序器Sequencer来设定每路通道占用模数转换器的顺序。设计中使用了其中8路通道(ADCIN0~ADCIN7)。

  (2)?串行数据采集模块。F2812的SCI模块具有两路串行通信接口,可配置成65536种不同的波特率,具有奇偶校验标志,可工作于半双工或者全双工模式,可设置成中断或者查询方式。另外,SCI还具有两个增强性能:①发送、接收都具有独立的FIFO,FIFO深度为16个字,触发级可以配置为16以内的任何数。这种灵活的设置对实际使用非常方便,因为下位机采集的数据长度往往不是16的整数倍,根据其数据长度设定FIFO触发级,可以使一帧数据及时被传输和处理;②可以实现波特率自动检测,这在未知通信终端波特率或者需要更换通信终端的情况下非常适用。下位机与监控主机的通信采用RS-422接口,传输距离远,抗干扰能力强。RS-422传输使用的是差分电平,而SCI的输入输出管脚是TTL电平,需要进行电平转换,设计种选用了符合RS-422标准的电平转换芯片MAX3461。

  (3)?并口通信模块。对于图像信号等数据传输量大的信号,需要使用并口通信的方式。本采集系统提供两路并口,数据宽度为8位,地址宽度为8位,它们通过双口RAM与主机进行数据交换。

  3.1?CPCI桥接芯片

  目前,很多PCI协议芯片同时也支持热交换,使得原有的基于PCI总线的硬件系统可以很容易地移植到CPCI构架下,而不需要在硬件和软件上做大的修改。本设计选用的是PLX公司推出的PCI9054,符合PCI?2.2规范和CPCI?2.1热交换规范。

  针对CPCI的热交换规范,PCI9054提供了管脚ENUM#和LEDon/LEDin,ENUM#的激活表明板卡的插拔状态即将发生改变,LEDon/LEDin管脚用于驱动外部LED,指示当前系统软件层连接和断开的情况。PCI9054还提供了热交换控制寄存器HS_CSR用来记录板卡插拔状态并控制指示灯状态。HS_CSR的定义表1所示。

  表1?热交换控制状态寄存器HS_CSR

  当板卡插入时,HS_CSR[3]被置为1,点亮蓝灯,PCI9054置HS--_CSR[7]为1,激活ENUM#信号引起中断,直到设备驱动程序被安装后,中断被**,HS_CSR[3]被置为0,熄灭蓝灯。当板卡拔出时,HS_CSR[6]被置为1,激活ENUM#信号引起中断,主机卸载驱动程序后,HS_CSR[3]被置为1,点亮蓝灯,表明板卡可以**地被拔出。

  3.2?热插拔电源管理

  CPCI规范中用于热插拔控制的信号主要有:BD_SEL#,HEALTHY和PCI_RST#。CPCI总线的接插件J1的插针分为长针、中长针和短针。长针是电源和地信号,中长针是PCI总线信号,短针是BD_SEL#和IDSEL。当板卡插入时,电源信号*先接触,将PCI总线信号预充电至1V,这是为了减小热插拔过程中对PCI总线信号的冲击,然后是PCI总线信连接,*后是BD_SEL#信号连接,BD_SEL#有效表示板卡已经插好,可以上电工作。卡拔出过程正好相反。HEALTHY#是反映板卡电源状态是否良好的信号。PCI-_RST#是主机复位信号,它和HEALTHY#信号共同作用,控制PCI局部总线的复位信号。

  LTC1646是Linear公司针对CPCI接口推出的热插拔电源管理芯片。LTC1646需要外接两个N沟道晶体管作为开关控制3.3V和5V电源对板卡的供电。LTC1646的OFF/ON#管脚与BD_SEL#相连,当BD_SEL#为低时,晶体管导通,3.3V和5V电源按一定速率上电。PWRGD#与HEALTHY#连接,当板卡电源在容差范围内时,此信号为低。PCI_RST#与LTC1646的RESETIN#管脚相连,它与HEALTHY信号进行或运算得到输出信号RESETOUT#,此信号与PCI9054的RST#管脚相连作为CPCI板卡的复位信号。LTC1646提供一个输出管脚PRECHARGE,它与PCI9054的总线信号相连接,在板卡插入和拔出的过程中,对总线信号进行预充电。需要预充电的信号需要经过10kΩ的电阻上拉至预充电电压(1V±10%)。

  4?软件接口

  由于工业现场外设种类多,采集到的信号特性各异,如果硬件系统内部程序固定为一种模式,必定不能达到*佳传输效果。而硬件板卡在交付使用后,再修改其内部程序便十分麻烦,所以本系统给应用程序开发人员提供了软件接口,使得对硬件配置的修改不需要通过仿真器,而可以直接在应用程序界面下修改。

  对硬件工作参数的修改是通过中断方式实现的。自定义一个16位控制寄存器User_CSR,其高4位用作命令字,低12位用作控制字。当应用程序通过PCI总线向User_CSR写入数据时,CPLD通过译码逻辑向F2812的外部中断管脚XINT2发出中断信号,F2812响应中断后,读取User_CSR的值,根据其命令字判断需要修改的是哪种参数,再根据其控制字得到新的参数值,将其写入相应的寄存器,即可完成修改。由于篇幅所限,仅以修改SCIA的设置为例,说明具体实现方法。User_CSR对SCIA修改的定义如下:

  表2?User_CSR的部分定义

  通过该接口可修改的硬件配置有SCI的波特率、收发FIFO的触发级别和各采集通道占用双口RAM空间的大小。

  5?结束语

  本设计以TMS320F2812作为数据采集系统的控制核心,满足了系统的实时性要求,又节省了外设资源,提高了系统的性价比。把Compact?PCI总线应用到采集系统中,使系统具有了带电插拔的能力,提高了整个系统的可靠性,更能适应工业工作环境的需要。本文的**点是结合了Compact?PCI总线和DSP芯片的优势,大大提高了系统的可靠性和实时性,同时又给应用程序开发人员提供了良好的接口,方便了硬件工作参数的修改,提高了系统的灵活性。

  参考文献:

  [4]王念旭,DSP基础与应用系统设计,北京:北京航空航天大学出版社,2001

  [5]刘英,罗家融,孟月东,一种基于Compact?PCI总线监控系统的设计,微计算机信息,2004年,第1期

你可能感兴趣: 数据采集卡 设计应用
无觅相关文章插件,快速提升流量