基于PCI总线的双DSP系统及WDM驱动程序设计
摘要:介绍了PCI总线控制芯片PCI2040的功能及内部结构,分析了基于PCI总线的双DSP通信的硬件结构及实现方法,并描述了利用Windows2000 DDK开发WDM设备驱动程序的方法及PCI双DSP通信驱动程序主要模块的设计方法和编程注意要点。
关键词:PCI总线 PCI2040 DSP DDK WDM
TI公司专门推出了PCI2040桥芯片是专门针对PCI总线和DSP接口用的,本文利用它和DSP来处理视频信号,并用双端口RAM实现DSP之间的数据传输。
1 硬件设计
1.1 PCI总线控制芯片PCI2040
PCI总线是一种不依附于某个具体处理器的局部总线,它支持32位或64位的总线宽度,频率通常是33MHz,目前最快的PCI2.0总线工作频率是66MHz。工作在33MHz、32位时,理论上最大数据传输速率能达到133MB/s。它支持猝发工作方式,提高了传输速度,支持即插即用,PCI部件和驱动程序可以在各种不同的平台上运行[1]。
实现PCI总线协议一般有两种方法,一是用FPGA设计实现,但PCI协议比较复杂,因此难度较大;二是采用PCI总线控制芯片,如AMCC公司的S5933、PLX公司的PCI9080等通用的PCI接口芯片。TI公司专门推出了针对PCI总线和DSP接口的芯片PCI2040[2],它不但实现了PCI总线控制的功能,而且提供了和DSP芯片无缝的接口,因而大大简化了系统设计的复杂度并缩短了开发时间。
PCI2040是一个PCI-DSP桥接器件,它提供了PCI局部总线和TMS320C54X 8位主机接口(HPI)与TMS320C6X 16位主机接口的无缝连接。一片PCI2040最多能同时挂接4片DSP芯片。同时,它还提供了一个串行EEPROM接口,一个通用输入输出接口(GPIO)和一个16位通用总线接口(为TI JTAG测试总线控制器提供接口)[2]。PCI2040只能作为PCI目标设备使用,不能作为PCI主设备使用;它只支持单字的读写,不能提供DMA操作。PCI2040能够兼容3.3V和5V信号环境系统中的3.3V和5V信号可以直接从PCI插槽中获得。
PCI2040和TMS320C6201的接口如图1所示。
1.2 PCI2040寄存器说明
PCI2040桥256字节的配置头如图2所示,HPI CSR 基地址、控制空间基地址(Control Space Base Address)值都是系统自动分配的。所有的PNP器件都是如此它将控制空间映射到主机内存,映射的空间大小为32KB。4片DSP芯片的选择是通过解码PCI_AD14、PCI_AD13来实现的,其对应关系如表1所示。而DSP HPI寄存器的地址则是由PCI_AD12和PCI_AD11来决定的,其对应关系如表2所示。
图1 PCI2040和TMS320C6201的接口
表1 DSP选择
AD[14:13] | TMS320C6x DSP | ||||||||||
00 | HCS0(选择第一块DSP) | ||||||||||
01 | HCS1(选择第二块DSP) | ||||||||||
10 | HCS2(选择第三块DSP) | ||||||||||
11 | HCS3(选择第四块DSP) 表2 HPI寄存器映射
|
- ARM922T核ZCP320A处理器PCI总线操作(01-26)
- 1553B总线在嵌入式系统中的应用(01-29)
- 基于DSP的PCI总线数据采集系统的研究(03-02)
- 采用PCI9052设计PCI总线运动控制卡(05-04)
- 采用8位单片机驱动PCI总线网卡的设计方案(03-02)
- 基于cPCI总线的嵌入式遥测前端处理器系统设计(04-27)