基于CPCI总线的一体化数据处理中心的研究与实现

2012-01-18 12:03:32崔迎炜韩晓红
电子设计工程 2012年23期
关键词:单板数据处理总线

刘 洋,崔迎炜,韩晓红

(1.沈阳航空航天大学 电子信息工程学院,辽宁 沈阳 110136;2.北京方天长久科技有限公司 北京 100084)

近年来,随着工业控制技术的发展,在工业控制领域中,对控制系统的功能、灵活性和数据处理能力提出了更高的需求,本文从实际工程应用出发,研究并实现了一种基于CPCI总线的一体化可配置数据处理系统。

本设计利用可配置的现场可编程门阵列[1](FPGA)与具有高可靠性、高密度性的CPCI总线相结合的方法,将众多数据处理功能集成在同一个嵌入式系统板卡上,实现了系统的一体化、小型化。

1 系统总体结构

本系统主要由上位机管理子系统、远程监控子系统和数据处理子系统组成,总体结构如图1所示。

图1 系统总体结构框图Fig.1 Structure diagram of the entire system

上位机管理系统主要用于显示系统工作状态并提供人机交互界面。远程监控系统通过光纤连接到距离系统1 km以外的位置,实现系统的远程监控。数据处理子系统包括CPCI-6020单板计算机和FTC-9110数据处理单板[2]两部分,CPCI-6020单板计算机用于解释上位机发送的命令并对数据处理中心进行控制。FTC-9110数据处理单板是数据处理的核心部分,也是文中介绍的重点,其整体实现结构如图2所示。

FTC-9110数据处理中心以FPGA为硬件处理核心[3],通过内部构建的ADC控制模块、DAC控制模块、FLASH模块、SDRAM存储模块、光纤通信模块、PCI总线模块实现对外围设计的A/D数据采集电路、D/A数据输出电路、FLASH存储电路、SDRAM数据存储电路、光纤通信电路以及CPCI总线接口电路的控制,通过与单板计算机的灵活配合,实现对数据的实时处理、高速传输。

2 数据处理流程

系统的数据处理主要以FTC-9110为中心,利用单板计算机对FPGA内部构建的各个模块的灵活控制,实现数据的处理,其数据处理流程如下:

1)利用ADC芯片前端设计的信号调理电路,将输入的单端模拟信号转换为差分信号送入芯片的差分输入端。

图2 整体实现结构图Fig.2 Structure diagram of the whole realization

2)ADC芯片对输入的信号进行采样,并将采样所得数字信号传送至FFT算法模块。

3)利用FFT算法模块[4]对采集数据进行频域分析,分析数据的结果传送至FIR滤波模块作为滤波输入信号,滤波后输出数据传送至光纤通信模块。

4)光纤通信模块通过高速并串转换模块对滤波输出数据进行8B/10B编码,将16位的数据转换为20位的串行数据,输出速率最高可达1.5 Gbps,然后该高速串行数据进入光电转换模块,传送至远程监控系统。

5)单板计算机控制PCI9656工作在DMA传输模式,通过PCI总线模块和SDRAM存储模块将DAC输入数据写入SDRAM芯片。

6)读取SDRAM芯片数据传送至DAC控制模块,DAC芯片对输入数据进行数模转换,并通过后端设计的调理电路,使信号最终以电压形式输出。

3 硬件设计

硬件设计将重点介绍DAC电路及控制模块、PCI接口控制模块、光纤通信电路及控制模块的设计。

3.1 DAC电路及控制模块设计

DAC电路由D/A转换电路和信号调理电路两部分组成。D/A转换电路采用了ADI公司的电流输出型芯片AD9717[5],在芯片输出后端设计的调理电路,将电流输出转换为电压信号输出。

FPGA通过SPI接口对DAC内部寄存器进行配置,控制其工作方式。为了方便对内部寄存器配置,FPGA内部设计了相应的寄存器,上位机可以通过对相应的寄存器设置进而改变内部寄存器的值。

SPI接口由串行时钟 (SCLK)、 串行数据输入/输出(SDIO)、芯片选择(CSB)3个配置引脚组成,配置时序如图3所示。

图3 SPI接口配置时序图Fig.3 SPIinterface configuration timing diagram

SPI接口配置时序由指令周期和数据周期两部分组成,发送的前8个数据 (R/W、N1N0、A4-A0) 为指令周期,R/W为数据读写控制位,N1N0为数据字节个数控制位,A4-A0为数据地址控制位。指令周期发送结束后是数据周期,数据方向由R/W决定,数据量由N1N0决定,写数据在SCLK上升沿有效,读数据在SCLK下降沿有效。本模块设计的关键代码如下:

always@ (ADDR or DATA or STATE)begin

case(STATE)

IDLE:begin

//R/W,N1N0,ADDRESS, DATA

DATA_REG<={1'b0,2'b0,ADDR,DATA};

CS <=1'b1;

SCLK <=1'b0;

SDO <=1'b0;

CNT <=4'b0;

STATE <=S1; end

S1:begin

CS <=1'b0;

SCLK<=1'b0;

SDO <=DATA_REG[15];

STATE<=S2; end

S2:begin

if(CNT<=4'd15) begin

SCLK <=1'b1;

DATA_REG<=DATA_REG<<1;

CNT <=CNT+1'b1;

STATE <=S1;end

else begin

CS <=1'b1;

STATE <=IDLE; end

end

endcase end

3.2 PCI接口控制模块设计

PCI桥芯片主要用于解释单板计算机发送的指令,实现相互间数据通信。本系统采用PLX公司的PCI9656芯片,工作在C模式下,局部总线[6]时序如图4所示。

图4 PCI9656局部总线时序图Fig.4 PCI9656 local bus timing diagram

其 中 LHOLD、BLAST、LA[31:2]、ADS、LW/R 等 信 号 由PCI9656 驱动,LHOLDA、LBE[3:0]、READY 信号由 FPGA 驱动。通过模块内部设计的状态机实现对局部总线的控制,具体实现过程如图5所示。

图5 状态转换图Fig.5 State transition diagrams

1)IDLE状态 系统上电或复位后,处于IDLE状态。在IDLE状态时,FPGA监测LHOLD信号,当单板计算机访问FPGA时,LHOLD信号变为高电平。FPGA监测到该高电平后,立即使LHOLDA信号为高电平,转入ADDR_S状态。

2)ADDR_S状态 在此状态下,FPGA监测ADS信号,当ADS信号变为低电平,地址信号LA[31:2]有效,同时对输入的读写信号进行判断,若为读操作,转入READ状态,若为写操作,转入WRITE状态。

3)WRITE状态 FPGA控制READY信号为低电平,以使总线上的数据有效,FPGA可以控制LBE[3:0]信号,以对传输的数据字节进行选取。并监测BLAST信号,当监测到BLAST信号为低电平时,表示传输最后一个数据,转入THE_END状态。

4)READ状态 同WRITE状态相似。

5)THE_END状态 数据传输结束,FPGA监测BLAST信号变为高电平同时将READY信号变为高电平。当LHOLD信号变为低电平后,LHOLDA信号变为低电平,转入IDLE状态,等待下一次传输。

3.3 光纤通信电路和控制模块设计

本设计中的光纤通信电路由并串转换电路和光传输电路组成。并串转换电路采用了TI公司的TLK1501芯片,通过内部的8B/10B编码,将16位并行数据分成2个 8位数据进行编码,编码后的数据为20位,再通过并串转换发送出去;光传输电路采用FINISAR公司推出的FTLF1321S1MTL光模块,将串行数据进行光电转换输出。

光纤通信模块内部有一个状态机,上电或复位后,处于IDLE状态。模块对传送标志信号(TX_FLAG)监测,如果有传送标志(TX_FLAG=1),转入TX_READY状态。在正常传送数据前,需要对芯片进行同步操作,模块控制信号TXEN、TX-ER为 00,连续发送 3个空闲码,使 TLK1501进入同步模式,状态机转入TX_S状态。在TX_S状态下,如果发送有效数据,模块控制TX-EN、TX-ER为10,进行数据的正常发送,发送数据结束后,转入IDLE状态,等待下一次传输。在接收数据时,模块监测RX-DV,RX-ER信号,如果RX-DV,RX-ER为10,正常接收数据。模块设计的关键代码如下:

case(STATE)

IDLE:begin

if(TX_FLAG==1)

STATE<=TX_READY;

else

STATE<=IDLE;end

TX_READY:begin

if(CNT<=2’d2) begin

STATE<=TX_READY;

TX_EN<=1’b0;

TX_ER<=1’b0;

CNT<=CNT+1’b1; end

else

STATE<=TX_S; end

TX_S:begin

if(DATA_DELAY==DATA) begin

CNT<=2’d0;

TX_EN<=1’b0;

TX_ER<=1’b0;

STATE<=IDLE;end

else begin

TX_EN<=1’b1;

TX_ER<=1’b0;

TXD<=DATA;

STATE<=TX_S;end

end

endcase

4 结 论

本文通过对多种功能接口电路进行研究分析,最终实现了在同一块嵌入式板卡上集成光纤通信、A/D、D/A、CPCI总线、SDRAM存储、FLASH存储等功能。系统以FPGA芯片为处理核心,利用模块化的思想进行设计,使系统方便扩展、易于维护和升级。经过长期的工程实践验证,本系统运行可靠稳定,能够实现在复杂工业控制系统中对数据灵活控制、实时处理和高效传输。

[1]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2009.

[2]徐欣,孙广富,卢启中.基于FPGA的嵌入式系统设计[M].国防工业大学,2003.

[3]刘福奇.FPGA嵌入式项目开发应用实战[M].北京:电子工业出版社,2009.

[4]Sasalon I T,Perez-pascual A,Valls J.Area-efficient FPGA-based FFT processor[J].Electronics Letters, 2003,39(19):1369-1370.

[5]Analog Devices Inc.AD9717:DUAL,14-bit low power degitalto-analog converters[EB/OL].(2009-03).http://www.analog.com/static/imported-files/data_sheets/AD9714_9715_9716_9717.pdf.

[6]李贵山,陈金鹏.PCI局部总线及其应用[M].西安:西安电子科技大学出版社,2003.

猜你喜欢
单板数据处理总线
摄影作品
体育风尚(2023年24期)2024-01-26 05:59:00
摄影作品
体育风尚(2023年17期)2023-10-17 13:18:36
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
心理学报(2022年4期)2022-04-12 07:38:02
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
水泵技术(2021年3期)2021-08-14 02:09:20
单板U型场地滑雪关键技术动作及训练方法
冰雪运动(2019年3期)2019-08-23 08:10:32
基于PCI Express总线的xHC与FPGA的直接通信
测控技术(2018年6期)2018-11-25 09:50:12
机载飞控1553B总线转以太网总线设计
测控技术(2018年8期)2018-11-25 07:42:08
单板层积材带来的内部生产模式
国际木业(2016年4期)2017-01-15 13:54:25
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
多通道ARINC429总线检查仪