基于PCI总线的数字卫星解调卡驱动程序开发
引言
PCI总线(即外围部件互连总线)是Intel公司提出的计算机接口总线。它的时钟频率为33MHz,有32位数据总线,可支持突发传输模式,数据传输峰值速率高达132 MB/s。
此外,PCI总线还可扩展为64位数据总线,扩展后的数据传输峰值速率高达264 MB/s,并支持即插即用功能而且独立于处理器。由于PCI总线具有诸多优点,它已经成为PC机的标准总线。因此,PCI接口设备的驱动程序开发就显得尤为重要。
数字卫星解调卡主要用于接收卫星发来的调制信号的数字解调。设计中的桥接芯片可采用PLX公司的PCI9054。本文主要介绍数字卫星解调卡的WDM驱动程序开发方法。
1 PCI9054接口芯片
PCI9054是PLX公司推出的PCI接口芯片。它支持本地总线2.2版规范,工作频率为0~33 MHz,可提供C、M、J三种本地工作模式,本地端到PCI总线的猝发传输速率高达132 MB/s。该芯片具有可编程的Serial EEPROM接口,可用于配置PCI9054的部分内部配置寄存器。其配置正确与否直接决定着设备能否正常工作。其中的DeviceID和Vendor ID分别对应设备号和销售商号,计算机主要靠这两个号码识别硬件。该器件内部有6种可编程的FIFO,可以进行数据的发送与接收,而其两种内部配置寄存器PCI Configuration Register和Local Configuration Register,可在本地端支持主模式、从模式租DMA传输方式。PCI9054的内部结构如图1所示。
PCI9054支持两个独立的DMA通道,以用于完成本地端到PCI总线或者PCI总线到本地端的数据传输。每一个DMA通道包含一个DMA控制器和一个双向FIFO,两种通道都分别支持Block传输模式和Scatter/Gather传输模式。DMA通道0还支持Demand DMA数据传输模式。
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传输模式还可以完成以下设置或功能:
(1)将本地总线宽度设为8位、16位或32位;
(2)设置本地总线为允许/禁止内部等待状态,若允许,则可等待0~15个本地等待状态;
(3)设置本地总线为突发传输4个双字长度;
(4)使本地地址采用固定模式或线性增长模式;
(5)完成PCI内存写和无效操作(commandcode=Fh)或者普通PCI内存写操作(commandcode=7h);
相关文章
- 2023-08-15基于AM402的电流量输出电容式角度传感器
- 2024-03-01基于CAN现场总线的分布式柴油发动机测试系统
- 2023-06-23车号识别系统在茂名乙烯电子轨道衡中的应用
- 2023-04-15微机电系统中薄膜结构在静电力和Casimir力作用下的稳定性
- 2021-12-173G室内分布系统解决方案
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。