您好、欢迎来到现金彩票网!
当前位置:刘伯温论坛 > 突发传输 >

基于PCI总线的数字卫星解调卡驱动程序开发

发布时间:2019-05-20 20:50 来源:未知 编辑:admin

  总线位数据总线,可支持突发传输模式,数据传输峰值速率高达132 MB/s。

  PCI总线位数据总线,扩展后的数据传输峰值速率高达264 MB/s,并支持即插即用功能而且独立于处理器。由于PCI总线具有诸多优点,它已经成为PC机的标准总线。因此,PCI接口设备的驱动程序开发就显得尤为重要。

  解调。设计中的桥接芯片可采用PLX公司的PCI9054。本文主要介绍卡的WDM驱动程序开发方法。

  PCI9054是PLX公司推出的PCI接口芯片。它支持本地总线 MHz,可提供C、M、J三种本地工作模式,本地端到PCI总线 MB/s。该芯片具有可编程的Serial EEPROM接口,可用于配置PCI9054的部分内部配置寄存器。其配置正确与否直接决定着设备能否正常工作。其中的DeviceID和Vendor ID分别对应设备号和销售商号,计算机主要靠这两个号码识别硬件。该器件内部有6种可编程的FIFO,可以进行数据的发送与接收,而其两种内部配置寄存器PCI Configuration Register和Local Configuration Register,可在本地端支持主模式、从模式租DMA传输方式。PCI9054的内部结构如图1所示。

  Block DMA要求PCI主机或Local主机能提供PCI和Local的起始地址、传输字节数和传输方向。主机首先设定DMA开始位并启动数据传输,一旦传输完成,PCI9054设定将DMACSR0[4]=1或者DMACSR1 [4]=1(分别对应通道0和通道1)来结束DMA。如果中断Enable位DMAMODE0[10]或者DMAMODE1[10]使能,那么,在传输结束时,PCI9054将向主机申请中断。在DMA传输中,PCI9054既是PCI总线的主控设备,又是Local总线的主控设备。另外,通过编程DMA传输模式还可以完成以下设置或功能:

  为了简化驱动程序的开发,缩短开发周期,常用的方法是使用Numage公司提供的开发工具Driver Studio,这是一个开发工具包(包含VtoolsD,Driver Works和SoftICE等开发工具)。其中的Driver Works是Compuware公司开发的工具,它提供了一系列类。这些类包含了许多更为底层的操作并且为一般驱动操作提供了服务函数,从而为开发人员提供了一个访问系统核心的标准界面。由于其驱动程序开发采用面向对象的框架结构,因而开发过程比较简单易行。

  解调卡的硬件框图如图2所示。图中,当FPGA中的数据放进FIFO后,要经过PCI9054桥接芯片传输到PC机内存中,但由于应用程序不能直接操作硬件,所以在应用程序和硬件之间必须安装硬件驱动程序来完成应用程序对硬件的访问。可见,驱动程序对于整个设计至关重要,它关系到数据能否准确无误的送到指定的目的地。

  (2)接收应用程序传送的控制字,配置AD9851用作外部FIFO数据传输的时钟;

  设计中,对DMA寄存器的访问可采用I/O方式,并可利用Driver Works提供的KIoRange类产生该类的一个实例,然后在设备启动例程中初始化该实例,即可实现对硬件的两个I/O地址空间的映射,其中一个I/O地址空间用于访问桥接芯片PCI9054的寄存器,另一个I/O地址空间用于访问本地端的设备,其初始化方法如下:

  KdmaAdapter是DMA适配器对象,可用于表示需要进行DMA传输的设备资源。此对象对于Master设备和Slave设备都是适用的。驱动中,此类函数可在On Start Device中由成员函数Initialize初始化。

http://aw2400.net/tufachuanshu/32.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有