国防信息化 加固计算机 仿真技术 通信指挥 计量测试 传感器 光电技术 电池电源 军用汽车 推荐展会
制造信息化 嵌入式技术 电子对抗 信息安全 测控技术 雷达导航 实验设备 电子元件 数控机床 推荐媒体
推荐厂商 推荐产品 商务中心 人才中心 技术中心 新闻中心 应用案例 环球军事 军工论坛 国防黄页
新闻中心】┆行业新闻企业新闻政策法规军用标准市场分析
信息搜索 首页 -> 新闻信息 -> 行业动态 -> 正文
请输入查询的字符串:
基于DSP的PCI高速测控系统结构的研究
发布时间:2008-6-17 来源:中国传感网

   
随着数字信号处理芯片性价比的不断提高,数字信号处理的应用领域飞速发展,同时Pentium高速CPU的出现,要求有极高的数据通量予以支持,而低速的ISA总线在解决这些问题方面逐渐无能为力,取而代之的是高速的PCI总线。PCI总线可将高速外围设备直接挂在CPU总线上,33MHz/32位时数据传输速率可达132MB/s,66MHz/64位时更是性能加倍,打破了数据传输速率的瓶颈,使得CPU的性能得到充分发挥。如果采用美国TI公司生产的高速高性能数字信号处理器DSP取代原来的单片机作为板载CPU,可以充分利用PCI总线的优点直接将采集的数据传到微机内存,有效地解决了数据的实时传输和存储问题。

    测控系统的硬件组成

    系统基本硬件结构如图1所示。整个高速测控系统主要由信号调理电路、DSP模块、FIFC)存储器、CPLD控制电路、PC19054接口芯片等组成。系统采用主从结构,PC机作为上位机,用于完成对系统的控制(如AD转换的开始、DSP复位、中断响应、数据接收与处理等)。DSP作为下位机,用于完成数据的采集与处理、PWM波以及其他外围信号的控制等。

    

    DSP测控模块介绍

    系统采用的DSP芯片为TI公司的TMS320LF2407。电路设计时,利用的DSP内部的16通道A/D转换实现数据采集,DSP与FIFO的电路接口电压都为3.3V,可实现无缝连接,DSP的数据总线直接与FIFO的数据输入端口相连,DSP与FIFO的时钟频率应设为相同。这样,无需插入等待周期,控制信号经CPLD直接转换为FIFO的读写信号,实现数据的高速存储。

    先进先出存储器

    在DMA传输方式下,由于PCI9054内部的FIFO只有32级深度,实时传送高速数据时,PCI9054内部的FIFO会很快存满,而DSP内的数据仍会源源不断的传送过来,易造成数据的丢失,因此必须要扩展外部FIFO。

    本系统采用I D T公司高速CMOS同步FIFO芯片IDT72V3660,它的容量为4096×36bit;有高达100MHz的读写速度;可以兼容3.3V和5V两种接口电压。该FIFO具有标准的"满"(FF#)、"半满"(HF#)、"空"(EF#)等标志。系统可以根据这些标志信号控制对FIFO的读写操作。在CPLD的逻辑控制下,当WEN#有效时,在WCLK的每一个上升沿,FIFO会把输人数据线上的数据存入内部存储器。当REN#有效且输出允许(OE#有效)时,在RCLK的每一个上升沿,FIFO会把内部存储器中的数据发送到输出数据总线上(低电平用"#"表示)。

    控制逻辑芯片CPLD

    本系统采用Altera公司的EPM7 128来实现系统的逻辑控制,主要包括DSP控制逻辑、FIFO控制逻辑、PCI9054接口控制逻辑三个部分,其中,对PC219054的逻辑控制是设计的重点。设计中利用MaxPlusⅡ软件进行VHDL语言编程、仿真和调试。

    PCI9054及外部接口分析

    PCI与板载CPU的桥接有两种设计方案,一种是采用FPGA,通过软件编程实现硬件功能。另一种是利用专用PCI桥接芯片,适合快速开发的场合。

    本系统采用PLX公司的PCI总线专用接口控制芯片PC19054。它符合PCIV2.1和PCIV2_2规范;可同时支持3.3V和5V两种信号环境;提供了两个独立的可编程DMA控制器;内部有6种可编程FIFO,以实现零等待突发传输及局部总线和PCI总线之间的异步操作;在PCI总线端支持33MHz/32位,传输速率最高可达132MB/s;在局部端可编程实现8/16/32位的数据宽度,支持复用/非复用的32位地址/数据,时钟最高可达50MHz。

    PCI9054局部总线可工作在M、J、C三种模式,M模式是专门为Motorola公司的 MPC850和MPC860提供直接非复用的接口;J模式地址/数据线复用;C模式与J模式差别不大,但地址/数据线非复用,更符合连接习惯。本设计采用C模式。

    PCI9054的数据传输模式可分为主模式、从模式、DMA模式。模式的选择主要根据硬件设计者对硬件的设计需要而定。本系统采用DMA模式,在DMA传输模式下,PCI9054既是PCI端的主控方,又是局部端的主控方。

    PCI9054集成了两个互相独立的DMA通道,每个通道都支持Block DMA和Scatter/(3ather DMA,其中通道0还支持请求(Demand)DMA传输方式。当有通道进行DMA传输时,DMA控制器将发起对局部总线和PCI总线操作,其传输过程如图2所示。

    

    PC219054提供了三个物理总线接口:PCI总线接口、EEPROM接口、局部总线接口。PCI总线接口依照PCI扩展板上定义的引脚分配情况将彼此对应的信号连接在一起即可。本系统采用的EEPROM为4K、3.3V串行的93LC66B,通过对PCI时钟分频来产生EEPROM时钟,内部存放PCI9054的配置信息,系统加电时PCI9054自动加载EEPROM中的配置信息,并由BIOS通过PCI总线对配置寄存器读写,来完成各种控制功能。接口电路如图3所示。

    PCI9054在DMA传输方式下,通过设置其DMA控制器内部的寄存器即可实现两总线之间的数据传送。传输过程由以下几个步骤实现:

    1.设置传输方式寄存器:通过寄存器DMA MODE0或DMAMODE1的位9来设置DMA通道的传输方式,置0表示Block传输,置1表示Scatter/Gather传输;

    2.设置命令/状态寄存器:启动/停止DMA操作,并读此寄存器返回DMA状态;

    3.设置描述寄存器:设置DMA的传输方向;

    4.设置传输计数寄存器:以字节为单位设置传输数据量;

    5.设置PCI地址寄存器:设置PCI总线侧的地址空问;

    6.设置局部地址寄存器:设置局部总线侧的地址空间。 当进行数据采集时,由应用程序或通过DSP的外部引脚(pin21)向DSP发出采集命令,同时复位FIFO,在13SP内部程序和CPLD的控制下,数据经DO-31源源不断地输入到FIFO中,当FIFO半满时发出半满标志信号(HF#),CPLD接到半满信号后,立即向PCI9054发出中断请求信号(LINT),驱动程序响应中断,在中断响应程序内,发出读命令、要读取的字节数、传输方向、地址信号等,PCI9054设定"DMA传输开始位"启动数据传输,当ADS#为低(有效),BLAST为高(无效),LW/R为低(有效)时,表明PCI9054开始一个有效的读数据周期,CPLD产生一个低电平信号REN#给FIFO,同时作为Ready信号返回给PCI9054, 表明已准备就绪。直到ADS#为高(无效)且BLAST#为低(有效)时,表明PCI9054已经开 始最后一个周期,同时设定D M A"传输结束位"结束DMA操作,此时REN#信号再次变高电平(无效),完成一次数据突发传输。接口电路如图4所示。

    

    该系统的软件设计主要包括DSP测控程序、PCI设备驱动程序和Windows应用程序三个部分。驱动程序是连接硬件系统和应用程序的桥梁,是整个测控系统开发中的关键一步。在此简单介绍一下PCI设备驱动程序开发过程。

    在Windows环境下共有三种类型的驱动程序,分别是VXD、NT、WDM。因为WDM可以应用在windows98/2000/XP下,支持即插即用、电源管理、WMI等功能,是Windows NT驱动体系基础上发展起来的未来主流驱动程序体系,所以为这里选择设计WDM驱动程序。

    开发工具选择Compuware公司提供的DriverStudio完~成驱动程序的开发,DriverWorks是DriverStudio中的一个部分,DriverWorks中的类库封装了针对驱动程序的各种通用操作,使用其中的DriverWizard向导功能,能够非常方便地实现WDM驱动程序的开发。

    其中PCI配置空间的访问采用KPciConfiguration实现。I/O访问采用DriverStudio中的KIoRange类实现。硬件中断响应的处理可以采用Kinterrupt类实现。DMA读主要是利用三个类来实现数据传输,分别为:KDmaTransfer、KdmaAdapter和K C o m m o n D m a B U ff e r。KDmaTransfer用于DMA传输控制。KdmaAdapter用于建立一个DMA适配器来说明DMA通道的特性。KCommonDmaBuffer用于申请系统提供的公用缓冲区。

    执行过程中驱动程序首先设置PCI9054的工作方式和中断寄存器、DMA配置寄存器,然后等待本地中断的到来。当FIFO半满时表明本地中断到来,在设备成员函数Isr_IrqO中屏蔽本地中断,在设备成员函数DpcFor_Irq()中调用KDmaTransfer:Continue()函数进行DMA传输。一次数据传输完毕后,驱动程序通过操作系统将内核中的数据拷贝到用户态内存,交给应用软件处理。

    结语

    在实验室中利用PCI9054作为接口芯片的高速测控系统,可实现持续数据传输速率达50MB/s,且系统运行稳定,具有广泛的应用前景。

【评论】发送给好友打印】【关闭
  相关链接
 
中国军工网 版权所有 京ICP备06011713号
客服QQ:203428 MSN :info@chinajungong.com
客服电话:010-51656356 电子邮箱:jungong@126.com