推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

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

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:18    评论:0    
摘 要:针对工业控制系统的要求,介绍了一种基于Compact PCI总线的数据采集系统,可以实现对模拟信号、串行数字信号和并行数字信号的采集。结合DSP芯片TSM320F2812和PCI接口芯片PCI9054的性能特点,详细讨论了采集系统的硬件结构和Compact PCI接口的实现。

关键词:Compact PCI;数据采集;DSP

Abstract: In the view of requirements of Industrial Control System, this paper introduces a Compact PCI interface based data acquisition system, which provides acquisition channels for analog signals, serial and parallel digital signals. According to the functions and traits of Digital Signal Processor TMS320F2812 and PCI bus controller PCI9054, the hardware architecture and the realizing method of the Compact PCI interface is described in detail.

Key Words: Compact PCI; data acquisition; DSP

引言

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

1 Compact PCI总线简介

  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 Compact PCI接口设计

  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芯片的优势,大大提高了系统的可靠性和实时性,同时又给应用程序开发人员提供了良好的接口,方便了硬件工作参数的修改,提高了系统的灵活性。

参考文献:

  [1]PCI9054 Data Book V2.1,PLX Technology Inc,January,2000

  [2]TMS320F2810,TMS320F2812 Digital Signal Processor Data Manual, Texas Instruments Inc, April, 2001

  [3]LTC1646 Compact PCI Dual Hot Swap Controller, Linear Technology Inc,2002

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

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

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON