新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PCI总线和DSP技术的虚拟仪器系统设计

基于PCI总线和DSP技术的虚拟仪器系统设计

作者: 时间:2012-05-18 来源:网络 收藏

本文引用地址://m.amcfsurvey.com/article/257499.htm

2 系统控制逻辑的实现
由于CPLD器件掉电后可保存芯片内部程序,无须烦琐的重复烧写,因此本设计采用Altera公司的CPLD器件,作为接口芯片及存储芯片的逻辑控制。考虑到需要使用局部地址/数据各16根线,控制信号线22根,还要为数据采集电路预留些I/O引脚,最后决定采用144脚TQFP封装的EPM3128。

在本系统中,EPM3128的主要功能是实现Local端的地址译码、Local端对各个DRAM控制的地址译码、对板上功能选择开关的状态进行译码,从而实现对系统功能的配置以及对各芯片的控制信号进行逻辑译码。所有的译码工作都通过VHDL编程语言来实现。综合和编译工作是在Altera公司的QuartusII集成编译环境中完成的。

3 数据采集电路的实现
数据采集电路是本系统的关键,数据采集电路设计的好坏将直接影响到本系统的性能。为了实现系统功能的可配置和可扩展性,数据采集模块设计成可配置的模式插接在总线接口母板上,实现对外部信号的数据采集。数据采集模块由高速16位adc(LTC1608)和高性能芯片(TMS320C6713)构成,LTC1608的并行数字接口可方便地与包括TMS320C6713在内的多种通信,并可连接3V或5V逻辑。

由于对采集精度的高要求,在信号进入ADC之前,需要对模拟信号进行一系列的处理以保证信号的可靠性:模拟信号首先经过电压跟随运算放大器增加输入阻抗,再经过电压比例放大和一阶RC低通滤波,最后输入到ADC。


图4 输入信号处理电路原理图


图5 LTC1608 A/D芯片引脚连接电路图

具体的信号处理电路如图4和图5所示。
系统软件设计
正如图1所示,硬件设计完成后,要使整个系统工作还需要软件的支持,这些软件包括设备驱动程序、数据处理算法程序和系统控制软件。

1 设备驱动程序设计
设备驱动程序不是单独存在的,而是相关操作系统内核的一部分,所以需要对操作系统有一定的了解。Windows2000操作系统是32位的多任务非实时操作系统。对整个系统底层的操作和用户与硬件打交道的权力被屏蔽,必须通过操作系统统一管理设备驱动程序和其他内核访问来实现应用软件对硬件的访问。在设计和使用PCI设备时,经常要在软件中对系统资源进行访问,因此只有编制设备驱动程序才能实现对PCI总线设备的完全访问。

应用程序对设备I/O进行Win32调用,这个调用由I/O系统服务接收。I/O管理器从这个请求构造一个合适的I/O请求包(IRP)。在最简单的情况下,I/O管理器只是把IRP传递给一个设备驱动程序,这个驱动程序与硬件打交道,并完成IRP的处理。I/O管理器把数据和结果返回给Win32和用户应用程序。而一个IRP由一个分层的设备驱动程序栈处理是很常见的。每个驱动程序把该请求划分成更简单的请求。最高层的驱动程序(如文件系统驱动程序)知道文件如何在磁盘上表示,但不知道如何得到数据的细节;中间层次的驱动程序进一步处理请求;最低层的驱动程序与硬件实际打交道。

本设计选择的硬件驱动程序开发工具是Compuware公司提供的一个驱动程序集成开发包(DriverStudio)。利用其中的DriverWorks工具可以生成一个PCI总线驱动框架,然后在WDM中实现输入输出处理,可以用KIoRange类来实现。

在驱动程序框架生成的过程中,我们可以通过向导声明驱动程序中将要使用的资源;通过调用KIoRange类的Initialize()函数,可以对资源进行初始化(映射PCI局部空间);应用层通过DeviceIoControl函数向驱动程序发命令来调用KIoRange的成员函数实现应用层对I/O空间的处理。开发PCI母板的windows驱动程序,就是使PC能正常识别该板卡并分配所需的系统资源。



关键词:虚拟仪器DSPPCI

评论


相关推荐

技术专区

关闭