DSP与PCI总线
- 格式:doc
- 大小:675.00 KB
- 文档页数:25
PCI总线接口与DSP的HPI接口1 HPI接口功能及特点主机接口HPI(Host Pott Interface)是C54x DSP系列定点芯片内部具有的一种并行接口部件,主要用于与其他总线或CPU之间进行通信,其接口框图如图l所示。
主机是HPI口的主控者,HPI口作为一个外设与主机连接,使主机的访问操作很方便。
主机通过以下单元与HPI 口通信:专用地址和数据寄存器、HPI控制寄存器以及外部数据和接口控制信号。
HPI有两种工作方式:共用寻址方式(SAM)和仅主机寻址方式(HOM)。
在SAM方式下,丰机和C54x都能寻址HPI存储器;在HOM方式下,仅能让主机寻址HPI存储器,C54x则处于复位状态,或者处在所有内部和外部时钟都停止工作的IDLE2空闲状态(最低功耗状态)。
VC5402是TI公司推出的一款性价比极高的16位定点处理器。
它是C54x系列中应用比较广泛的一种芯片,有着丰富的接口资源,是一种集数据处理和通信功能于一体的高速微处理器。
VC5402 HPI口是一个增强的8位主机接口,它通过HPI控制寄存器HPIC、地址寄存器HPIA和数据锁存器HPID来实现与主机之间的通信。
主机通过外部引脚HCNTLO和HCNTL1选中不同的寄存器,则当前发送8位数据就到该寄存器。
控制寄存器HPIC既可以被主机直接访问,又可以被DSP片上CPU访问。
在使用上,由于主机接口总是传输8位字节,而HPIC是一个16位寄存器,所以主机向HPIC写数据时,需要发送2个相同的8位数据。
地址寄存器HPIA,只能被主机直接访问。
主机将HPIA寄存器视为一个地址指针,借助于HPIA主机可以访问VC5402全部的片上存储器。
另外HPIA具有自动增长的功能,在自动增寻址模式下,一次数据读会使HPIA在数据读操作后增加1,而一个数据写操作会使HPIA操作前预先增加l。
这样如果使能了该功能,则只须设定一次HPIA即可实现连续数据块的写入和读出。
数据寄存器HPLD,只能被主机访问。
如果当前进行的是读操作,则HPID中存放的是要从HPI存储器中读出的数据;如果当前进行的是写操作,则存放的是将要写到HPI存储器的数据。
2 VC5402的HPI口与PCl2040的接口设计2.1 PCI总线及其实现方法PCI局部总线是32或64位数据总线,32位PCI总线在读写传送中支持132Mb/s的峰值传送速率,64位PCI传送支持264Mb/s峰值传送速率。
对于64位66MHz的PCI总线,传送速率可达528Mb/s。
PCI总线协议规范复杂而庞大,因此需要借助总线接口来实现。
实现PCI总线协议一般有两种方法:一是用FPGA设计实现,但PCI协议比较复杂,因此难度较大;二是采用PCI 总线控制芯片,如AMCC公司的S5933和PLX公司的PCI9052等通用的PCI接口芯片。
TI公司专门推出了针对PCI总线和DSP接口的芯片PCI2040,它不但实现了PCI总线控制的功能,而且提供了和DSP芯片的无缝接口,因而大大降低了系统设计的复杂度,缩短了开发时间。
2.2 P012040与DSP接口设计PCI2040足TI公司设计的专门用来实现C5000/C6000系列DSP和PCI总线进行接口的专用芯片,可以通过8位或16位HPI接口与C54x/C6xDSP实现无缝连接。
PCI2040通过HPI接口与VC5402连接。
PCI2040的HPI口为8/16位数据传输接口(8位还是16位,依据所挂接的DSP的类型)。
主机作为传输的主设备,从机DSP不能发起传输。
主设备PCI2040可以读/写DSP内存,DSP HPl口可以访问DSP所有的片上资源,PCI2040和VC5402之问的通信主要靠DSP的HPIA、HPIC、HPID三个寄存器完成。
VC5402的HPI与PCI2040口的连接如图2所示。
PCI2040的数据总线HAD0~HAD7与VC5402 HPI口的数据总线HD0~HD7相连,用于主机和DSP传输数据。
PCI2040芯片的HPI口的HCNTLl和HCNTL0引脚分别与DSP的HCNTLl和HCNTL0引脚相连,以实现其对HPI寄存器的访问。
具体HPI寄存器的选择和访问模式的确定由DSP的HCNTLl和HCNTL0引脚的状态决定,表1给出了VC5402 HPI寄存器访问控制的情况。
PCI2040带有独立的读/写选通信号HDS和HR/W,可以将PCI2040的HDS、HR/W引脚与VC5402的HDSl、HR/W引脚相连,实现主机对VC5402 HPI接口的读/写控制。
当主机驱动HR/W为高时,读HPI;为低时,则写HPI。
DSP HPI口的HPIEA、HDS2、HAS引脚通过10kΩ电阻拉高。
需要注意的是,VC5402的HPI接几是8位的,而DSP内部和PCI总线上的数据格式都是大于8位的,所以主机与DSP之间数据传输必须包含2个连续的字节。
专用的HBIL引脚信号确定传输的是第一个字节还是第二个字节;HPI控制寄存器HPIC的BOB位决定第一个或第二个字节放置在16位字的高8位。
3 电路设计时应注意的问题①VC5402电源采用3.3V和1.8V电源供电。
其中:I/O采用3.3V;核电压采用1.8V供电;系统从PCI插槽取5V电压经电压转换后,供DSP和其他芯片使用。
②VC5402的有些引脚必须接4.7kΩ的上拉电阻,没有用到的中断引脚也要接相同的上拉电阻。
③电源输入端跨接一个10~100μF的电解电容器,为每个集成屯路芯片配置一个0.01μF 的陶瓷电容器。
结语实践证明,利用PCI2040芯片实现C54x/C6x DSP的PCI总线可以大大减少相应的外围器件,增强系统的可靠性,同时降低系统开发的难度,缩短开发周期。
基于PCI总线的双DSP系统及WDM驱动程序设计2016-07-15 12:24:36 来源:eefocus关键字:PCI总线DSP系统WDM驱动1 硬件设计1.1 PCI总线控制芯片PCI2040PCI总线是一种不依附于某个具体处理器的局部总线,它支持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选择表1 HPI寄存器映射因此,DSP与主机交换数据的过程,也就是读写HPI寄存器的过程。
也就是说,通过主机访问DSP板上资源,只需要将相应地址赋予HPIA寄存器中,然后读写数据就可以通过HPID寄存器。
具体描述如下:(1) 初始化PCI2040内部配置寄存器,指向特定的DSP(因为本系统有两块DSP和PCI2040相连),指定数据传输宽度为16位。
(2) 分配HPI CSR基地址和控制空间基地址,允许PCI2040进行内存映射或I/O端口映射。
值得注意的是,PCI2040控制空间只能映射在主机的内存空间里,不能映射在I/O空间。
以上两步都由驱动程序完成。
(3) 脱离复位状态后,PCI2040解码从PCI总线来的地址,以此来做出响应。
若落入32KB的控制空间中,则根据PCI_AD12、PCI_AD11及PCI_AD14、PCI_AD13片选情况访问相应HPI寄存器。
(4)设定HPI控制寄存器中的BOB位,选择正确的高低16位排列方式。
(5)主机开始对HPI寄存器进行读写。
1.3 双DSP系统硬件设计本文所采用的双DSP系统主要用来处理视频信号及高速数据采集,该系统是基于TMS320C6201 DSP和PCI2040而设计的。
此卡的主要功能是:(1)采集视频信号或其他模拟信号经A/D转换后,交给DSP进行相应处理,然后将处理后的数据通过PCI2040经PCI总线存放在计算机硬盘上或者直接存储到板上RAM中,然后通过PCI总线将视频数据传送到主机后显示。
(2)两块DSP之间的通信可以通过McBSP或双端口RAM。
该系统的特点有:两块TMS320C6201 DSP,处理能力可达3200MIPS;每片C6201带512K SBSRAM,256KB FLASH;16KB高速双口RAM用于两块C6201之间进行数据交换;12位ADC;32位高速FIFO。
系统硬件框图如图3所示。
2 基于WDM的PCI驱动程序设计WDM是新一代的驱动程序构架,它是一个跨平台的驱动程序模型,在WINDOWS 98以上的操作系统中都实现了全面兼容。
不仅如此,WDM驱动程序还可以在不修改源代码的情况下经过重新编译后在非Intel平台上运行,因而为驱动程序开发人员提供了极大的方便。
WDM驱动程序是分层的,即不同层上的驱动程序有着不同的优先级,而Windows 9x下的VxD 则没有此结构。
另外,WDM还引入了功能设备对象FDO(Functional Device Object)与物理设备对象PDO(Physical Device Object)两个新概念来描述硬件。