微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于DSP的PCI总线数据采集系统的研究

基于DSP的PCI总线数据采集系统的研究

时间:03-02 来源:国外电子元器件 点击:

1 引言

随着数字信号处理器性能的不断提高及其成本与售价的大幅下降,数字信号处理应用领域飞速扩展,信号处理进入了一个新的发展时期。同时随着计算机技术以及互联网络技术的不断发展,越来越多的数据需要经过计算机来进行处理、存储、传输筹操作。计算机的应用已经遍及我们生活的每一个角落。由于计算机本身的特点,通用计算机通常仅负责没有实时性要求的工作,而不适于进行实时性要求很高的数字信号处理。将计算机和DSP|0">DSP有机地结合起来,充分利用各自的优点,它们将会相得益彰,满足现实应用中对数据实时处理能力、数据传输能力以及数据管理能力提出的越来越高的要求。PCI总线以其众多优点在计算机中具有不可取代的作用,采用PCI总线使DSP与计算机通信可以很好地满足其对高速数据传输的要求。本文以实际开发系统为背景,以TI公司的TMS320VC5402与PLX公司的PCI9052为基础。详细论述了基于DSP的PCI总线结构的数据采集系统硬件及软件设计方案和实现方法。

2 数据采集系统硬件设计

2.1 系统结构及原理

基于DSP的PCI总线高速数据采集系统的结构如图1所示,它主要由A/D转换器、DSP数据读取及处理、PCI通信接口和PC机等部分组成。模拟信号经A/D采样后由DSP通过并行I/O读取,并将处理后的数据通过PCI总线送到通用计算机做进一步处理[1]。

A/D转换器采用TI公司的TLC5510,TLC5510为8 bit、20 MS/s的高速并行A/D转换器。TLC5510在每个时钟的下降沿采样,该采样点的转换数据经过2.5个延迟后,在时钟的上升沿输出,也就是每个点的转换时间为2.5个时钟周期,一旦转换流水线启动,则在每个时钟的上升沿都有一个转换数据输出。

DSP与计算机之间的通信由接口电路PCI9052实现。PCI9052是PLX公司推出的一种简单、高效的PCI从设备接口,可实现多种外设局部总线和PCI总线的互连。根据PCI规范,主设备和从设备的划分本质上是确定数据传输双方访问与被访问的能力和关系。在此,PCI9052只能由主机或其它拥有总线主控制能力的设备进行数据的读写操作。但由于其内部有64Byte写FIFO和32Byte读FIFO,使PCI9052的局部总线和PCI总线能互相独立工作,可支持传输速度为132 Mb/s的突发传输[2]。

DSP采用TI公司的TMS320VC5402,它的处理能力可达到100 Mb/s,具有改进型的8位HPI接口,有16 K*16 Bit DARAM,以及4 K*l6 Bit ROM存储空间。具有较高的性价比[3]。

2.2 PCI9052与TMS320VC5402的接口

PCI9052的局部总线设置为8位局部总线,采用地址数据非复用模式,PCI9052和TMS320VC5402的接口电路如图2所示[4,5]。此时,LBE1为LA1,LBE0为LA0。将PCI9052的LBE0接HPI的HBIL,用以区分第一字节和第二字节。PCI9052的LA17接TMS320VC5402的HCNTL1,LA16接HC-NTL0,以选择HPI寄存器。PCI9052的LAD[0:7]接TMS320VC5402的HD[7:0]。TMS320VC5402的HINT反向后接至PCI9052的LINT1,之所以反向是由于HINT低电平有效,而UNT1是高电平有效。PCI9052的LW/R反向后接至TMS320VC5402的HR/W,因为LW/R高电平表示写,低电平表示读;而HR/W高电平表示主机要读HPI,低电平表示主机要写HPI。PCI9052的CS0与CS1相或后连接至HCS,RD和WR分别连接到HDS1,HDS2。TMS320VC5402的LRDY通过一定的逻辑组合再加上一个D触发器与PCI9052的LRDY相连以实现PCI9052与HPI的同步。PCI9052局部时钟采用40MHz。其中CPLD选用EPM7128,使用MAX+PLUSⅡ进行设计。

HPI主机接口采用访问寄存器的方式来进行DSP内部数据的读写,把HPI口单纯映射到PCI的I/O空间或者存储器空间都有不可避免的缺点,因此本接口电路采用双映射方式,利用映射来访问控制、地址寄存器和单个数据口,而利用存储器映射来访问连续数据口。以实现TMS320VC5402与PCI9052之间方便、高效的数据通信[6]。

3 数据采集系统软件的设计

数据采集系统的软件设计包括三个部分:DSP上的采集程序及响应程序。数据采集卡的驱动程序,在驱动程序上构建的应用程序。驱动程序是实现DSP与计算机通信的关键,本文主要介绍设备驱动模型及其初始化的设计方法。

3.1 驱动程序模型

Win2000不支持直接访问硬件,虚拟驱动器依赖运行在内核模式的真正的驱动器。内核模式驱动程序使用系统级代码编写,且运行在内核模式下,因为内核模式允许直接硬件访问。内核驱动程序可被进一步分成遗留模式的驱动程序和Windows驱动模式的驱动程序(WDM)。

Windows驱动程序模型(WDM)如图3所示。图中左边是一个设备对象堆栈。设备对象是系统为帮助软件管理硬件而创建的数据结构。处于堆栈最底层的设备对象称为物理设备对象(PDO)。在设备对象堆栈的中间某处有一个功能设备对象(FDO)。FDO的上面和下面还会有一些过滤设备对象。位于FDO上面的过滤设备对象称为上层过滤器,位于FDO下面的过滤器设备对象称为下层过滤器。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top