基于PXI总线的数据传输接口设计与实现方案
3.2 接口驱动程序的设计
接口驱动程序的设计可以通过两种方式实现,一种是通过专用的驱动程序开发工具进行驱动程序的设计,如DDK、DriverStudio和WinDriver等,另外一种方式是通过PLX公司提供的PCI软件工具包SDK(Software Development Kit)实现接口的驱动设计,它提供了能够实现各种传输方式所需要的基本API函数。
为了缩短开发周期,本文采用由PLX公司提供的SDK工具包进行驱动程序的开发。运用其SDK提供的工作API函数实现Block DMA模式下的Burst Forever(无限突发)方式的数据传输。主要用到的函数如表1所示。
由于本系统的特殊应用,还需要增加一些上层的应用程序,才能实现整个数字频谱仪数据的正常工作,主要包括数字频谱仪的参数控制字的生成和写PCI9054内部寄存器MailBoxReg7,以及对接收的数据帧进行解封装的相关程序开发。
表1 Block DMA模式下的SDK API函数应用列表
4 结论
本文使用了PCI9054的DMA传输方式,并且在Local端发起DMA传输,在上位机上采用中断的形式进行响应,可以减少占用上位机CPU处理时间,使得上位机在进行数据传输的同时可以进行其他的操作。PXI接口加上PCI9054的开发模式,使得开发周期缩短了很多,避免了复杂的PXI总线协议的逻辑设计和验证工作。本系统采用的PXI总线的传输位宽32位,采用无限突发的传输方式,在数据传输周期中的数据传输速率为132MB/s,但是由于增加了额外的控制周期以及其他的一些控制逻辑,使得数据的平均传输速率并没有达到这个值,但是完全可以匹配目前FFT处理器的处理速率,可以保证数据传输的实时性。
- LVDS技术及其在多信道高速数据传输中的应用(01-15)
- 基于USB2.0的高速数据通信接口设计(04-06)
- 解析移动IPv6数据传输及存在的主要问题(05-14)
- 将USB3.0用于存储媒体应用(01-01)
- 利用TCP/IP选项优化数据传输(01-20)
- 基于GPRS技术的城市管网监测系统的研究(02-27)