3394|0

1098

帖子

0

TA的资源

至上芯片

楼主
 

基于DSP的PCI高速测控系统结构(3) [复制链接]



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

1.设置传输方式寄存器:通过寄存器DMA MODE0DMAMODE1的位9来设置DMA通道的传输方式,置0表示Block传输,置1表示ScatterGather传输;

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为高(无效),LWR为低(有效)时,表明PCI9054开始一个有效的读数据周期,CPLD产生一个低电平信号REN#FIFO,同时作为Ready信号返回给PCI9054 表明已准备就绪。直到ADS#为高(无效)且BLAST#为低(有效)时,表明PCI9054已经开 始最后一个周期,同时设定D M A“传输结束位”结束DMA操作,此时REN#信号再次变高电平(无效),完成一次数据突发传输。接口电路如图4所示。



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

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

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

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

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

结语

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

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表