文档库 最新最全的文档下载
当前位置:文档库 › DSP与PCI总线

DSP与PCI总线

DSP与PCI总线
DSP与PCI总线

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总线控制芯片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选择

表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)两个新概念来描述硬件。PDO代表实际存在的硬件设备,它是在总线驱动程序(BUS DRIVER)下枚举并建立的,负责与真实硬件进行I/O操作。FDO是由用户驱动程序建立的,一般来说,它是用户与真实硬件进行I/O操作的一个窗口,是Win32赖以沟通内核的一个桥梁。对于驱动程序开发者,真正需要做的就是开发FDO。至于PDO,则由BUS DRIVER建立,并在需要的时候作为参数由I/O Manager或其它系统组件传给你的FDO。

在应用层与底层进行通讯时,操作系统为每一个用户请求打包成一个IRP(IO R equ est Packet)结构,将其发送至驱动程序,并通过识别IRP中的PDO来识别是发送给哪一个设备的。另外,WDM不是通过驱动程序名称,而是通过一个128位的全局惟一标识符(GUID)来识别驱动程序的[3]。

WDM驱动程序都有一个初始化入口点,即DriverEntry,它相当于C语言中的main函数。当WDM驱动程序被装入时,内核调用DriverEntry例程。另外WDM设备驱动程序还需要一个即插即用模块,即AddDevice。AddDevice例程就是PnP管理器在用户插入新设备时调用它来创建WDM设备对象的。

本文主要采用Windows2000 DDK来设计该驱动程序。调试工具为SOFTICE。驱动程序的主要工作集中在:

(1)DriverEntry(),这是驱动程序的入口点,驱动程序被装入时首先执行DriverEntry例程。主要工作是建立驱动程序这所需的函数。

(2)dsp PciAddDevice(),在这个例程里驱动程序主要是创建设备。

(3)dspPciPnp(),在这个例程中驱动程序主要是启动设备和停止设备等,并且从PnP管理器读出为双DSP所分配的硬件资源,包括HPI CSR基地址和HPI控制空间基地址,对PCI配置空间进行初始化。初始化中断等。需要注意的是,在初始化中断之前禁止卡向主机发中断,因此应有屏蔽中断的操作。

(4)dspPciDeviceControl(),在这个例程中可以定制自己的函数来达到Ring3层和Ring0层相互通讯的目的。通过IOCTL_CODE可以区分不同的请求。

(5)Isr_Irq(),这个例程是用来处理中断的。Windows 2000的中断处理机制是假定多个设备可以共享一个硬件中断。因此,Isr的首要工作就是找出哪一个设备发生了中断。如果没有,则应该立刻返回FALSE,以便HAL能把中断送往其它设备驱动程序。中断服务例程Isr执行在提升的IRQL上,在DIRQL级别上运行的代码需要尽可能快地运行。通常情况下,若判断中断是由自己的设备产生的,则调用一个在DISPATCH_LEVEL级别上运行的延迟过程调用(DpcFor_Irq)。

注意:当确定是自己卡的中断时,要马上屏蔽中断位防止中断再进来,等到DpcFor_Irq的结尾处再开中断。

3 结论

通过上述的软硬件设计,成功实现了预期的目标。高效的利用DSP高速处理能力。

分享到:QQ空间新浪微博腾讯微博人人网更多0

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

emif:可实现DSP与不同类型存储器(SRAM、Flash RAM、DDR-RAM等)的连接。一般EMIF与FPGA相连,从而使FP储器(SRAM、Flash RAM、DDR-RAM等)的连接。

中文名

外部存储器接口

外文名

External Memory Interface

缩写

emif

分类

EMIFA和EMIFB

外部存储器接口(EMIF),External Memory Interface,是TMS DSP器件上的一种接口,具体可以分为EMIFA和EMIFB。一般来说,EMIF可实现DSP与不同类型存EMIF可实现DSP 与不同类型存储器(SRAM、Flash RAM、DDR-RAM等)的连接。一般EMIF与FPGA相连,从而使FP储器(SRAM、Flash RAM、DDR-RAM等)的连接。一般EMIF与FPGA相连,从而使FPGA平台充当一个协同处理器、高速数据处理器或高速数据传输接口。

设计接口提供了一个FPGA块至RAM的无缝连接。在读/写、FIFO或存储器模式中,双端口块RAM的一侧被用来实现与DSP的通信。另一侧用于实现与内部FPGA逻辑电路或平台-FPGA嵌入式处理器的通信。

在使用DSP的过程中,需要设计外部存储器接口时可以参考TI的TMS320XX DSP External Memory Interface (EMIF) Reference Guide。其中XX代表某一种具体的dsp处理器。

外部设备连接接口包括外部存储器连接接口(EMIF)、主机接口(HPI)等。外部存储器接口主要用来同并行存储器连接,这些存储器包括SDRAM、SBSRAM、Flash、SRAM存储器等,外部存储器接口还可以同外部并行设备进行连接,这些设备包括并行A/D、D/A转换器、具有异步并行接口的专用芯片,并可以通过外部存储器接口同FPGA、CPLD等连接;主机接口主要用来为主控CPU和C55x处理器之间提供一条方便、快捷的并行连接接口,这个接口用来对DSP进行控制、程序加载、数据传输等工作。

这里主要是EMIF。

EMIF输入输出信号图:

EMIF为3种类型的存储器提供了无缝接口:

1 异步存储器,包括ROM,FLASH,异步SRAM

2 同步突发静态存储器(SBSRAM)

3 同步动态存储器(SDRAM)

异步存储器可以是静态随机存储器(SRAM)、只读存储器(ROM)和闪存存储器等存储器,在实际使用中还可以用异步接口连接并行A/D采样器件、并行显示接口等外围设备,但使用这些非标准设备时需要增加一些外部逻辑来保证设备的正常使用。

在使用外部存储器接口时应区分字寻址和字节寻址之间的区别,当TMS320C55x 访问数据时,CPU用23位地址访问16位字,该方式下数据空间被分成128页,每页字长64K。CPU访问程序代码时,用24位地址访问8位字节,DMA控制器访问存储器时也采用字节寻址方式。

如果多个请求服务同时到达,EMIF会根据每个请求优先级来进行处理。最高为HOLD,最低为刷新。

对EMIF编程时,必须了解外部存储器地址如何分配给片使能空间,即CE空间,每个CE空间可以同那些类型的存储器连接,以及用那些寄存器位来配置CE空间。

TMS320C55x的外部存储器映射在存储空间的分布,相应于EMIF的片选使能信号,例如CE1空间的存储器,则必须将其片选引脚连接到EMIF的CE1引脚。当EMIF 访问CE1空间时,驱动CE1变低。

数据页字寻址方式地址

范围

(16进制)

外部存储器

字节寻址方式地

址范围

(16进制)

第2页后64K

字节3-3102 8000-1F FFFF

CE0空间

(4M-320K)字节

05 0000-3F FFFF

32-6320 0000-3F FFFF CE1空间

4M字节

40 0000-7F FFFF

64-9540 0000-5F FFFF CE2空间

4M字节

80 0000-BF FFFF

96-12760 0000-7F FFFF当MP/MC=0C0 0000-FF FFFF

CE3空间长度为

(4M-32K)字节

剩余地址空间被片上

ROM占用

当MP/MC=1

CE3空间长度为4M字节

TMS320C5510外部存储器映射中的最高地址单独分配给CE3空间,或由CE3及内部的DSP ROM共享。这些地址的分配由CPU状态寄存器ST3_55中的MPNMC位来决定。在DSP复位期间,MPNMC值取决于DSP的NP/MC引脚的信号电平。

可以使用全局控制寄存器EGCR和每个CE空间控制寄存器来配置CE空间。

对于每个CE空间,必须设置控制寄存器1中的以下域:

MTYPE 指定存储器类型

MEMFREQ 决定存储器信号的频率

MEMCEN 决定CLKMEM引脚是输出存储器时钟信号,还是被拉成高电平

一定要对全局控制寄存器写如下控制位。

WPE 对所有CE空间,使能或者禁止

NOHOLD 对所有CE空间,使能或禁止HOLD请求

外部寄存器接口硬件连接与配置

外部存储器接口所支持的异步存储器接口、同步突发静态存储器接口和同步动态存储器接口都支持程序代码访问以及32位宽、16位宽和8位宽数据访问。外部存储器的4个片选空间都可以单独进行设置,设置的内容包括存储器类型、存储器宽度、读写时序参数等内容。本节将分别给出不同接口的硬件连接以及参数的设置。

1.异步存储器接口

异步存储器的类型多种多样,它们既包括静态随机存储器、闪存存储器、只读存储器等,又有先入先出存储器、双端口存储器等,这些存储器有着不同的特点,可以根据需要灵活选用。

外部存储器接口所支持的异步存储器接口、同步突发静态存储器接口和同步动态存储器接口都支持程序代码访问以及32位宽、16位宽和8位宽数据访问。外部存储器的4个片选空间都可以单独进行设置,设置的内容包括存储器类型、存储器宽度、读写时序参数等内容。

AM29LV320D是一种大容量的闪存存储器,存储容量可以达到2M字/4M字节,数据总线宽度可以是8位或16位,下面给出AM29LV320D与DSP的连接关系示意图。

从图中可以看到C55x处理器与AM29LV320D的连接用了数据线D7-D0,在这种连接方式下AM29LV320D的DQ15/A-1引脚应当作为地址线A-1来使用,处理器的地

址总线A[21:0]接到AM29LV320D的A[20:-1],AM29LV320D的BYTE#信号接地,RESET#接到系统复位信号,写保护/快速编程WP#/ACC引脚接高电平。

AM29LV320D的读写时序,如图5-5和图5-6所示,从时序图中可以看到该芯片的一个读写周期最短为90ns或120ns,而数字信号处理器的CLKOUT时钟是DSP主时钟的1/1、1/2、1/3、1/4、1/5、1/6、1/7或1/8,如果DSP运行在200MHz,则DSP一个时钟周期为5ns,如果不能让DSP的读写时序同AM29LV320D的读写时序相匹配,就无法实现正确的读写。调整DSP的读写时序有两种方法,一种是将AM29LV320D 的RY/BY信号接到DSP的ARDY信号上,通过硬件等待信号实现二者读写时序的同步,另外一种方法是通过软件设置外部存储器接口寄存器实现正确读写。方法1使用简单,但灵活性不强,如果DSP通过外部存储器接口连接多个芯片,这种方法就不能使用,软件设置的方法灵活、方便,推荐使用该种方法设置外部存储器接口的读写时序。

当CLKOUT为4分频时,设置建立时间为1个时钟周期,选通时间为4个时钟周期,保持时间为2个时钟周期就可以正确读取AM29LV320D存储器。

外部存储器接口为每个片选空间都提供了独立的片选控制寄存器,通过这些寄存器可以设置寄存器类型,读/写时序以及超时时钟周期数,具体可参见下表。

片选控制寄存器1(CEx_1)

位字段数值说明

15~13Reserved保留

14~12MTYPE 000b

001b

010b

011b

100b

101b~111b

存储器类型

8位宽异步存储器

16位宽异步存储器

32位宽异步存储器

32位宽同步动态存储器(SDRAM)

32位宽同步静态突发存储器(SBSRAM)

保留

11~8READ SETUP1~15读建立时间7~2READ STROBE1~63读选通时间1~0READ HOLD0~3读保持时间

片选控制寄存器2(CEx_2)

位字段数值说明

15~14EXTENED HOLD READ0~3读延长保持时间13~12EXTENED HOLD WRITE0~3写延长保持时间11~8WRITE SETUP1~15写建立时间

7~2WRITE STROBE1~63写选通时间

1~0WRITE HOLD0~3写保持时间

片选控制寄存器3(CEx_3)

位字段数值说明

15~8R eserved保留

7~0TIMEOUT 0

1 ≤N≤255

超时字段(同步存储器超时字段无效)

超时功能被禁止

当ARDY信号为低超过N个时钟周期,则

发生超时错误

因此,使用异步存储器要注意的问题是:

1 外部存储器连接信号

2 EMIF对异步存储器的配置

3 EMIF异步读操作

4 EMIF异步写操作

5 随就绪信号(ARDY)插入的额外周期

2.同步突发静态存储器(SBSRAM) 同步突发静态存储器是一种高密度、高速的存储器,同同步动态存储器相比,同步静态存储器不需要刷新,访问更加方便、快捷。TMS320C55x外部存储器接

口支持32位宽无校验同步突发管道型静态存储器,同步突发静态存储器的工作频率在与CPU时钟同频或CPU时钟频率的1/2。

SBSRAM有流水和流通两种类型,但EMIF只支持流水型,在相同吞吐量的情况下,可以工作在更高的频率。

同步突发静态存储器所使用的信号包括数据总线D[0..31]、地址总线A[21..0]、片选信号CE0-CE3、字节使能信号BE0-BE3,此外还有SBSRAM地址选通信号SSADS、输出使能信号SSOE、写使能信号SSWE和存储器接口时钟CLKMEM。

接下来给出C55x外部存储器接口同32位无校验管道型SBSRAM的连接图。图中SBSRAM占用CE0空间,SBSRAM的MODE信号接到低电平使SBSRAM工作在线性突发模式,其他未用的SBSRAM信号如ZZ、ADV、ADSP和GW信号都接成非活动状态。

如果所用的SBSRAM是有校验型存储器,连接时则应注意SBSRAM的校验信号DQP[d:a]应当接地以减少功率消耗。

如果要使用SBSRAM的电源关闭模式,可以将SBSRAM的ZZ引脚同C55x的通用输入输出引脚相连接,通过通用输入输出引脚控制SBSRAM是否进入电源关闭模式。

控制SBSRAM接口的寄存器包括EMIF全局控制寄存器和片选控制寄存器

CEx_1,接下来给出SBSRAM所需设置字段表。

SBSRAM需要设置字段

所在寄存器位字段名称数值说明

片选控制寄存器14~12MTYPE100b32位宽SBSRAM

全局控制寄存器11~9MEMFREQ 000b

001b

CLKMEM频率

CLKOUT频率

CLKOUT频率除2

全局控制寄存器7WPE 0

1

后写使能

禁止后写

后写使能

全局控制寄存器5MEMCEN 0

1

存储器时钟使能

CLKMEM保持高电平

CLKMEM输出使能

全局控制寄存器0NOHOLD 0

1

外部保持控制

允许外部保持

禁止外部保持

3.同步突发动态存储器(SDRAM)

TMS320C55x外部存储器接口支持16位、32位宽,64M位和128M位SDRAM,SDRAM 可以工作在C55x频率的1/2或1/1。

SDRAM的引脚映射和寄存器配置表

SDRA M容量及排列方式使

配置位占

C

E

边界/行地址列地址SDACC SDSIZE SDWID

SDRA

M

EMIF

SDRA

M

EMIF

64M 位

4M x16位1

0 0

2

BA[1

:0]

[11:

0]

A[14:1

2]、

SDA10

A[10:1

]

A[7:

0]

A[8:

1]

64M 位

4M x16位2

1 0

4

BA[1

:0]

[11:

0]

A[15:1

3]、

SDA10

A[11:2

]

A[7:

0]

A[9:

2]

64M 位1

1 0

1

2

BA[1

:0和

A[14:1

3]、

A[7:

0]

A[9:

2]

2M x32位[10:

0]

SDA10

A[11:2

]

64M 位

2M x32位2

1 0

1

4

BA[1

:0和

[10:

0]

A[14:1

3]、

SDA10

A[11:2

]

A[7:

0]

A[9:

2]

128M 位

8M x16位1

0 1

4

BA[1

:0]

[11:

0]

A[14:1

2]、

SDA10

A[10:1

]

A[8:

0]

A[9:

1]

128M 位

4M x32位1

1 1

1

4

BA[1

:0]

[11:

0]

A[15:1

3]、

SDA10

A[11:2

]

A[7:

0]

A[9:

2]

SDRAM接口专用信号包括SDRAM行选通信号SDRAS、列选通信号SDCAS和写使能信号SDWE,SDA10信号在ACTV命令时作为行地址信号,

在读写操作时作为预加电使能信号,在DCAB命令下为高,保持模式下为高阻态。

SDRAM操作时需要一系列命令来支持其运行,下面给出命令列表。

C55x EMIF接口SDRAM命令

命令说明

DCAB关闭所有边界

ACTV打开所选择边界和所选择行

READ输入起始列地址开始读操作

WRT输入起始列地址开始写操作

MRS配置SDRAM模式寄存器

REFR自动循环刷新地址

NOP不进行操作

PCI总线协议基础

PCI总线协议基础 PCI总线协议基础 PCI基本总线协议传输机制是猝发成组数据传输。一个分组由一个地址相位和一个或多个数据相位组成。 1.PCI总线的传输控制 PCI总线上所有的数据传输基本上都是由以下三条信号线控制的: FRAME#:由主设备驱动,说明一次数据传输周期的开始和结束。 IRDY#:由主设备驱动,表示主设备已经作好传送数据的准备。 TRDY#:由从设备驱动,表示从设备已经作好传送数据的准备。 当数据有效时,数据源设备需要无条件设置xRDY#,接收方可以在适当的时间发出xRDY#信号。FRAME#信号有效后的第一个时钟前沿是地址相位的开始,此时,开始传送地址信息和总线命令,下一个时钟前沿进入一个或多个数据相位。每当IRDY#和TRDY#同时有效时,所对应的时钟前沿就使数据在主从设备之间传送。在此期间,可由主设备或从设备分别利用IRDY#和TRDY#的无效而插入等待周期。 一旦主设备设置了IRDY#,将不能再改变IRDY#和FRAME#,直到当前的数据相位完成为止,而此期间不管TRDY#的状态是否发生变化。一旦从设备设置了TRDY#,就不能改变DEVSEL#、TRDY#或STOP#,直到当前的数据相位完成为止。也就是说,只要数据传输已经开始,那么在当前数据相位结束之前,不管是主设备还是从设备都不能撤消命令,必须完成数据传输。 最后一次数据传输时(可能紧接地址相位之后),主设备应撤消FRAME#信号而建立IRDY#,表明主设备已作好了最后一次数据传输的准备。当从设备发出TRDY#信号,表明最后一次数据传输已经完成,接口转入空闲状态,此时FRAME#和IRDY#均被撤消。 对于PCI总线的传输,可总结出以下几条规则: ①FRAME#和IRDY#决定总线的忙/闲状态。当其中一个有效时,表示总线忙;两个都无效时,总线进入空闲状态。 ②一旦FRAME#被置为无效,在同一传输期间不能重新置为有效。 ③除非设置IRDY#,一般情况下不能设置FRAME#无效(在FRAME#无效后的第一个时钟沿IRDY#必须保持有效)。 ④一旦主设备已使IRDY#有效,在当前数据相位完成前,不能改变IRDY#或FRAME#的状态。 ⑤在完成最后一个数据相位之后的时钟周期主设备必须使IRDY#无效。 2.PCI总线的寻址 PcI总线定义了三种物理地址空间:内存地址空间、I/O地址空间及配置地址空间,前两种为通常意义的地址空间,第三种配置地址空间用以支持PCI的硬件配置。 PCI总线的地址译码是分散的,每个设备都有自己的地址译码逻辑,从而省去了中央译码逻辑。PCl支持对地址的正向译码和负向译码,所谓正向译码,是指总线上每个设备都监视地址总线上的访问地址,判断是否落在自己的地址范围内,译码速度较快。所谓负向译码,是指要接受未被其他设备在正向译码中接受的所有访问,因此,此种译码方式只能由总线上的一个设备来实现(一般是连接

PCI总线的发展

PCI总线发展历史 PCI总线是计算机的I/O总线,在90年代时替代了ISA总线,成为计算机中的局部总线一直使用至今。PCI总线在发展的过程中,不断自我革新,满足时代的需求。在短短10多年间,PCI总线历经了PCI、PCI-X以及PCI-E的演变历程。传统PCI总线具有32位数据宽度,33MHz的时钟频率,能够支持设备的即插即用、自动识别与配置。与ISA总线相比,不仅在性能上提升了一大截,而且在资源管理上也有质的变化。更为重要的是,ISA总线本质上是处理器总线的延伸,而PCI总线是与处理器总线无关的总线标准,不受制于处理器的类别,数据的传输需要通过桥设备进行转发。因此,ISA总线通常称为第一代I/O总线,而PCI 是第二代I/O总线标准,这是一种技术发展的跨越。随着时代的发展,传统PCI 总线的性能得到了挑战,越来越不能满足外设的需求。最为典型的是图像传输受到了PCI性能瓶颈的影响,因此,几年前的显卡设备都脱离PCI总线,单立门户形成了一个新的总线标准AGP,这显然是对PCI总线性能的一种否定。技术在不断发展,对高速传输需求的IO设备越来越多,Gbps网络、光纤通道都对传统P CI的性能提出了质疑,传统PCI总线已经不能满足此类应用的需求了。所以,在1999年提出了PCI-X协议规范,该总线具有64位总线宽度,最高能够达到1 33MHz的时钟频率,在性能上较PCI总线有了一个大的跨越。但是,PCI-X总线仍然是一种并行总线,其存在并行传输过程中的数据相位问题,因此,当PCI-X 频率达到一定程度之后,总线带载能力就变的相当差。在133MHz总线频率时,P CI-X总线只能带一个PCI设备。PCI总线的发展遇到了并行总线的技术瓶颈,因此,PCI总线需要做总线结构的根本性变革。历史的车轮进入21世纪之后提出了PCI-Express总线,其将并行总线演变成了点对点的串行总线,在性能可扩展性方面跨入了一个新的台阶。所以,PCI-Express总线也可以称之为计算机的第三代I/O总线。 PCI-X对PCI总线的改进 PCI-X总线经常应用于服务器设备上,其不仅仅对传统PCI总线的数据宽度和总线频率进行了升级,更为重要的是对传统PCI总线协议进行了改进,提高了总线效率。下面对PCI-X总线的主要改进点进行探讨。 PCI-X总线最高能够达到133MHz的时钟频率,其得益于PCI-X总线采用了寄存器-寄存器的信号传输方式,而传统PCI总线对信号的接收与译码放在了一个时钟周期内,这种方法也称为即时协议。即时协议的优点在于一定程度上减少时钟脉冲个数;缺点在于难于提高时钟频率(译码电路会存在时间延迟)。PCI-X 总线首先对信号进行锁存,在下一个时钟在对信号进行译码,这样的处理可以提高时钟频率。这种处理的方法本质上就是组合逻辑电路拆分的思想。这种拆分在

PCI总线标准协议(中文版)

8.4.2 PCI总线信号定义 在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为"主设备";而被主设备选中以进行通信的设备称为"从设备"或"目标节点''。对于相应的接口信号线,通常分为必备的和可选的两大类,为了进行数据处理、寻址、接口控制、仲裁等系统功能, PCI接口要求作为目标的设备至少需要47条引脚,若作为主设备则需要49条引脚。下面对主设备与目标设备综合考虑,并按功能分组将这些信号表示在图8.19中。其中,必要的引脚在左边,任选的引脚在右边。 一.信号类型说明 图8.19 PCI引脚示图 为了叙述方便,将PCI信号按数传方向及驱动特性划分为五种类型,各种类型的规定 如下: in:输入信号。 out:输出驱动信号。 t/s:表示双向三态输入/输出驱动信号。 s/t/s:持续三态(Sustained Tri-State),表示持续的并且低电平有效的三态信号。在某一时刻只能属于一个主设备并被其驱动。这种信号从有效变为浮空(高阻状态)之前必须保证使其具有至少一个时钟周期的高电平状态。另一主设备要想驱动它,至少要等到该信号的原有驱动者将其释放(变为三态)一个时钟周期之后才能开始。同时,如果此信号处于持续的非驱动状态时,在有新的主设备驱动它之前应采取上拉措施,并且该措施必须由中央资源提供。 o/d:漏极开路(Open Drain)可作线或形势允许多个设备共同使用, 二. PCI总线信号定义 PCI总线的信号线共有100根,下面按功能分组进行说明。

1.系统引线 CLK in:时钟输入,为所有PCI上的接口传送提供时序。其最高频率可达66MHz,最低频率一般为0 (DC),这一频率也称为PCI的工作频率。对于PCI的其他信号,除、、、之外,其余信号都在CLK的上升沿有效(或采样)。 in:复位,用来使PCI专用的特性寄存器和定时器相关的信号恢复规定的初始状况。每当复位时, PCI的全部输出信号一般都应驱动到第三态。 2.地址和数据引线 AD0~AD31 t/s:地址、数据多路复用的输入/输出信号。在有效时,是地址周期;在 和同时有效时,是数据周期。一个PCI总线的传输中包含了一个地址信号周期和一个(或多个)数据周期。PCI总线支持突发方式的读写功能。 地址周期为一个时钟周期,在该周期中AD0~AD31线上含有一个32位的物理地址。对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。 在数据周期, AD0~AD7为最低字节, AD24~AD31为最高字节。当有效时,表示写数据稳 定有效,有效表示读数据稳定有效。 ~3 t/s:总线命令和字节使能多路复用信号线。在地址周期内,这四条线上传输的是总线命令;在数据周期内,传输的是字节使能信号,用来表示在整个数据期中, AD0~AD31上哪些字节为有效数据。 3.接口控制信号 s/t / s:帧周期信号。由当前主设备驱动,表示一次访问的开始和持续时间。 无效时,是传输的最后一个数据周期。 s / t / s:主设备准备好信号。该信号有效表明发起本次传输的设备(主设备)能够完成一个 数据期。它要与配合使用,当这两者同时有效时,才能进行完整的数据传输,否则即为等待周期。在写周期,该信号有效时,表示有效的数据信号已在AD0~AD31中建立;在读周期,该信号有效时,表示主设备已做好接收数据的准备。 s/t/s:从设备准备好信号。该信号有效表示从设备已做好完成当前数据传输的准备工作, 此时可进行相应的数据传输。同样,该信号要与配合使用,这两者同时有效数据才能进行完整传输。在写周期内该信号有效表示从设备已做好了接收数据的准备。在读周期内,该信号有效表示有效数据已被送入AD0~AD31中,同理, 和的任何一个无效时都为等待周期。 s / t / s:停止数据传送信号,该信号由从设备发出。当它有效时,表示从设备请 求主设备终止当前的数据传送。 s / t / s:锁定信号。是由PCI总线上发起数据传输的设备控制的,如果有几个不同的设备在 使用总线,但对信号的控制权只属于一个主设备(由信号标定)。当信号有效时,表示驱动它的设备所进行的操作可能需要多个传输才能完成,如果对某一设备具有可执行的存储器,那么它必须能实现锁定,以便实现主设备对该存储器的完全独占性访问。对于支持 锁定的目标设备,必须能提供一个互斥访问块,且该块不能小于16 个字节。连接系统存储器的主桥路也必须使用。 IDSEL in:初始化设备选择信号。在参数配置读写传输期间,用作片选信号。 s/t/s:设备选择信号,由从设备驱动,该信号有效时,表示驱动它的设备已成为当前访问的从设备。它有效表明总线上的某一设备已被选中。 4.仲裁信号 t/s:总线请求信号。该信号一旦有效即表示驱动它的设备要求使用总线。它是一个点到点的 信号线,任何主设备都应有自己的信号。 t /s:总线允许信号。用来向申请占用总线的设备表示其请求已获批准。这也是一 个点到点的

PCI总线原理简介

PCI总线原理简介 数据总线32 位,可扩充到64 位。可进行突发(burst)式传输。总线操作与处理器-存储器子系统操作并行。总线时钟频率33MHZ 或66MHZ,最高传输 率可达528MB/S。中央集中式总线仲裁全自动配置、资源分配、PCI 卡内有设备信息寄存器组为系统提供卡的信息,可实现即插即用(PNP)。PCI 总线规范独立于微处理器,通用性好。PCI 设备可以完全作为主控设备控制总线。PCI 总线引线:高密度接插件,分基本插座(32 位)及扩充插座(64 位)。PCI 总线引线示意图 PCI 配置空间:PCI 设备内有一个256B 的配置存储器,为系统提供本设备的信息及申请系统存储空间所必需的参数。PCI 主要设备信息:制造商标识(Vendor ID):PCI 组织分配给厂家。设备标识(Device ID):按产品分类给本卡的编号。分类码(Class Code):本卡功能的分类码,如图卡、显示卡、解压卡等。申请存储器空间:PCI 卡内有存储器、以存储器编址的寄存器和I/O 空间,为使驱动程序和应用程序能访问它们,需申请一段存储区域将它们定位。配置空间的基地址寄存器是专门用于申请存储器空间的。PCI 配置空间:申请 I/O 空间:配置空间的基地址寄存器也用来进行系统I/O 空间的申请。中断资源申请:配置空间中的中断引脚和中断线用来向系统申请中断资源。PCI 配置空间分配 PCI 总线访问:以读操作为例。PCI 总线是半同步方式操作,信号是否有效由时钟CLK 的上升边采样来确定。主设备启动总线周期:首先发出FRAME# 信号,表明一次访问(总线周期)开始,地址及操作命令字信号出现在AD 与

PCI总线信号定义

PCI总线信号定义/PCI总线详解(2008-11-04 12:22:20) 标签:pci总线it分类:嵌入式技术PCI局部总线简介: PCI的含义为外部部件互连(Peripheral Component Interconnect)。 1991年,Intel公司对PCI局部总线进行了定义,并与IBM、Compaq、AST、HP、NEC 等100多家公司联合共谋计算机总线的发展大业,于是,PCI局部总线标准1.0版本技术规范于1992年6月22日推出。目前,最新的2.2修改版于1998年12月18日完成,1999年2月发布。 PCI局部总线是一种具有多路地址线和数据线的高性能32/64位总线。虽然在PC领域,PCI已经逐渐被更高性能的PCI-Express总线替代,但在嵌入式领域PCI总线依然应用广泛,且其性能足够满足绝大多数嵌入式系统的需求。 PCI总线信号定义 在一个PCI应用系统中,如果某设备取得了总线的控制权,就称其为“主设备”,而被主设备选中以进行通信的设备称为“从设备”或“目标设备”。对于相应的接口信号线,通常分为必备的和可选的两大类。如果只作为目标设备,至少需要47条接口信号线,若作为主设备,则需要49条。下面对主设备和目标设备综合考虑,并按功能分组将这些信号表示于图中。 下面对PCI信号的类型规定说明: IN 表示输入,是标准的只作输入的信号。 OUT 表示输出,是标准的图腾柱式输出驱动信号。 T/S 表示双向的三态输入/输出信号。 O/D 表示漏极开路,以线或形式允许多个设备共同驱动和分享。 S/T/S 表示持续的并且低电平有效的三态信号。在某一时刻只能属于一个主设备并被其驱动。

PCI总线信号说明

PCI總線信號定義 PCI局部總線的信號線共有100根,下面按功能分組進行說明。 1.CLK IN: 系統時鐘信號,對於所有的PCI設備都是輸入信號。其頻率最高可達33MHz,最低頻率一般為0Hz(DC),這一頻率也稱為PCI的工作頻率。對於PCI的其它信號,除RST#﹑IRQB#﹑IRQC#﹑IRQD#之外,其余信號都在CLK的上升沿有效(或采樣)。 2.RST# IN: 用來使PCI專用的特性寄存器和定序器相關的信號恢復規定的初始狀態。至PCI定序器之外的設備復位後如何變化,不屬於本說明的範圍。但必要的PCI 配置寄存器,其復位狀態是明確規定的。每當復位時,PCI的全部輸出信號一般都應驅動到第三態。SERR#信號為高陰狀態,SBD#和SDONE可驅動到低電平(如果未提供三態輸出)。REQ#和GNT# 必須同時驅動到第三態,不能在復位期間為高或為低。為防止AD﹑C/BE#及PAR在復位期產浮動,可由中心設備將它們驅動到邏輯低,但不能驅動為高電平。RST#和CLK可以不同步,但要保證其撤消邊沿沒有反彈。當設備請求引導系統時,將響應復位,復位後響應系統引導。 3.AD〔31: : 00〕T/S 它們是地址﹑數據多路復用的輸入/輸出信號。在FRAME#有效時,是地址期;在IRDY#和TRDY#同時有效時,是數據期。一個PCI總線的傳輸中包含了一個地址信號期和接著的一個(或無限個)數據期。PCI總線支持突發方式的讀寫功能。 地址期為一個時鐘周期,該周期中AD〔31: : 00〕線上含有一物理地(32位)。 對I/O操作,它是一個字節地址;若是存儲器操作和醳操作,則是雙字地址。 在數據期,AD〔07: : 00〕為最低字節,AD〔31: : 24〕為最高字節。當IRDY#有效時表示寫數據穩定有效,,而TRDY#有效時表示讀數據穩定有效。 4.C/BE〔3: : 0〕#T/S: 它們是總線命令和字節使能多路復用信號線。在地址期中,這四條線上傳輸的是總線命令;在數據期內,它們傳輸的是字節使能信號,用來表示在整個數據期中,AD〔31: : 00〕上哪些字節為有效數據。 5.FRAME# S/T/S: 幀周期信號。由當前主設備驅動,表示一次方問的開始和持續時間。FRAME#的有效預示著總線傳輸的開始;在其存在期間,意味著數據傳輸繼續進 行;FRAME#失效後,是傳輸的最後一個數據期。 6.IRDY# S/T/S: 主設備準備好信號。該信號的有效表明發起本次傳輸的設備能夠完成一個數據期。它要TRDY#配合使用,二者同時有效,數據方能完整傳輸,否則即為等待周期。在讀周期,該信號有效時,表示數據變量已在AD〔31: : 00〕中;在寫周期,

PCI总线接口引脚定义

由于M模式使用范围比较小,J模式使用起来控制比较复杂,一般使用C模式。所有模式 AD[31:0](Address and Data)地址和时钟复用,首先是一个地址段,后面跟着一个或多个数据段,支持突发模式的读写; C/BE[3:0]#(Bus Command and Byte Enables)总线命令和数据使能复用管脚,在AD 为地址线的时候作为总线命令,在AD为数据线的时候作为数据使能; DEVSEL#(Device Select)有效的时候表示当前设备被选中,作为输入端口; FRAME#(Cyclone Frame)由主设备驱动,用来表示当前设备已经开始接入,总线开始传输数据。有效:传输数据。无效:完成最后一个数据的传输; GNT#(Grant)用来表示当前接入的设备已经被接受; IDSL(Initialization Device Select)在配置寄存器读写的时候用做片选信号; INTA#(Interrupt A)PCI中断请求; IRDY#(Initiator Ready)说明当前数据有效,可以并要完成传输; LOCK#(Lock)提示有自动操作,需要消耗若干个时钟来完成操作; PAR(Parity)作为AD和C/BE两部分总线的基偶校验,在传输地址的时候PAR要在地址传输完毕后一个时钟周期保持稳定。对于数据段,PAR要在IRDY#或者

TRDY#有效以后一个时钟周期保持稳定。一旦PAR数据有效,将保持有效到当前数据或地址段传输结束; PCLK(Clock)系统时钟,9054工作在33MHz; PERR#(Parity Error)用来报告奇偶校验错误,不包括特殊周期; PME#(Power Management Event)唤醒中断; REQ#(Request)请求信号,通知总线判决器,当前设备必须使用总线; RST#(Reset)系统复位; SERR#(System Error)用来报告特殊周期的奇偶校验错误和其他系统错误;STOP#(Stop)要求主系统,停止当前设备的数据传输; TRAY#(Target Ready)目标设备准备完毕,可以传输当前数据; BIGEND#(Big Endian Select) CCS#(Configuration Register Select)低有效的片选信号; EECS(Serial EEPROM Chip Select)选择串行EEPROM; EEDI/DDEO(Serial EEPROM Data In/ Serial EEPROM Data Out)控制串行EEPROM 读写数据; EESK(Serial Data Clock)EEPROM读写时钟; ENUM#(Enumeration)突发输出,用来表示一个使用PCI9054芯片的适配器刚刚从一个CPI总线通道里面加入或者移出; LCLK(Local Processor Clock)本地时钟输入; LEDon/LEDin LED控制; LFRAME#(PCI Buffered FRAME# Signal)指示PCI总线的状态; LINT#(Local Interrupt)本地总线中断。输入到9054,低有效,触发一个PCI中断。作为输出,等待到一个触发发生; LRESETo#(Local Bus Reset Out)当PCI9054芯片被复位以后,该管脚可以用来驱动其他芯片的RESET#信号; MDREQ#/MDPAF/EOT# MODE[1:0](Bus Mode)11:M模式;10:J模式;01:保留;00:C模式;TEST(Test Pin)芯片检测管脚,高为检测,低为工作,平时置低; USERi/BACK0#/LLOCKi# 复用管脚 USERo/DREQ0#/LLOCKo# 复用管脚 VDD电源 VSS地 C模式: ADS#(Address Strobe)说明地址有效,总线有新设备接入; BLAST#(Burst Last)该信号由本地总线控制,表示最后一个字符的传输; BREQi(Bus Request In)本地总线控制,数据从本地总线输入;

PCI总线特性及信号说明

PCI总线特性及信号说明 随着Windows图形用户界面的迅速发展,以及多媒体技术的广泛应用,要求系统具有高速图形处理和I/O 吞吐能力,这使原有的ISA、EISA总线远远不能适应而成为整个系统的主要瓶颈。为此,1991年下半年,Intel公司首先提出PCI概念,并联合IBM、Compaq、AST、HP Apple、NCR、DEC 等100多家公司共谋计算机总线发展大业,成立了PCI集团。 PCI:Peripheral Component Interconnect,外围设备互联总线,是一种局部总线,已成为局部总线的新标准,广泛用于当前高档微机、工作站,以及便携式微机。主要用于连接显示卡、网卡、声卡。PCI总线是32位同步复用总线。其地址和数据线引脚是AD31~AD0。PCI的工作频率为33MHz。 一 PCI总线特性 1.PCI总线特点 (1)传输速率高最大数据传输率为132MB/s,当数据宽度升级到64位,数据传输率可达264MB/s。这是其他总线难以比拟的。它大大缓解了数据I/O瓶颈,使高性能CPU的功能得以充分发挥,适应高速设备数据传输的需要。 (2)多总线共存采用PCI总线可在一个系统中让多种总线共存,容纳不同速度的设备一起工作。通过HOST-PCI桥接组件芯片,使CPU总线和PCI总线桥接;通过PCI-ISA/EISA桥接组件芯片,将PCI总线与ISA/EISA总线桥接,构成一个分层次的多总线系统。高速设备从ISA/EISA总线卸下来,移到PCI总线上,低速设备仍可挂在ISA/EISA总线上,继承原有资源,扩大了系统的兼容性。 (3)独立于CPU PCI总线不依附于某一具体处理器,即PCI总线支持多种处理器及将来发展的新处理器,在更改处理器品种时,更换相应的桥接组件即可。 (4)自动识别与配置外设用户使用方便。 (5)并行操作能力。 2.PCI总线的主要性能 (1)总线时钟频率33.3MHz/66.6MHz。 (2)总线宽度32位/64位。 (3)最大数据传输率132MB/s(264MB/s)。 (4)支持64位寻址。 (5)适应5V和3.3V电源环境。 二PCI总线信号 PCI总线标准所定义的信号线通常分成必需的和可选的两大类。其信号线总数为120条(包括电源、地、保留引脚等)。其中,必需信号线:主控设备49条,目标设备47条。可选信号线:51条(主要用于64位扩展、中断请求、高速缓存支持等)。 主设备是指取得了总线控制权的设备,而被主设备选中以进行数据交换的设备称为从设备或目标设备。作为主设备需要49条信号线,若作为目标设备,则需要47条信号线,可选的信号线有51条。利用这些信号线便可以传输数据、地址,实现接口控制、仲裁及系统的功能。PCI局部总线信号如下图所示。下面按功能分组进行说明。

PCI总线核心工作机制分析

1引言 计算机总线是计算机各部件之间进行信息传输的公共通道。计算机系统中广泛采用总线结构,其优点是系统成本低、组态灵活、维修方便。随着视频、数据应用的大量增加,系统中各部件之间的数据吞吐量激增,对总线的带宽提出了较高的要求,传统的总线如ISA、EISA由于传输效率低下,显然不敷使用,正是基于这种背景,INTEL公司联合IBM等多家公司于1993年推出了PC局部总线标准--PCI 局部总线规范1.0,迄今为止,该标准已经演变到2.2版。 PCI局部总线因其所具有的与传统总线截然不同的突出优点,而获得极强的生命力。其最突出的优势在于: 高带宽,传输速率可高达 64bitx66M/s=528Mb/s; 高传输效率,支持突发同步传输,且传输延时低,可预测; 支持动态配置,便于系统扩展,避免系统资源冲突; 支持多总线,平台无关,即不依附于任何特定CPU,但又能为任何高性能 CPU所用; 在以下的论述中,将会看到PCI局部总线是采用何种机制,从而取得上述领先优势。 2 PCI典型系统构成要素、寻址方式及总线信号定义、信号驱动规则 2.1 PCI典型系统构成要素、寻址方式

í?1 PCI典型应用系统构成要素 一个典型的PCI应用系统总是包含一个主中央处理单元(HOST CPU)、内存(主要是各种类型的DRAM)、主桥及内存控制器(HOST/PCI Bridge and Memory Controller)、PCI外设或资源(即PCI Master or Target,能够申请并拥有PCI总线使用权,并发起PCI总线传输的PCI外设为PCI Master,响应PCI Master 访问的PCI外设为PCI Target)。为了提高主CPU对内存的访问效率,系统中往往还配备了高速缓存(即CACHE。所谓高速缓存,实际上就是容量小、访问速度快的内存;高速缓存相当于内存中经常被访问到的部分内存的映像,当系统中的部件访问内存时,首先要监听,即看看当前要访问的内存在高速缓存中是否有映像,如果有,则称之为命中,访问只需要对高速缓存进行即可;否则为不命中,对主存的访问照常进行)。此外,为了扩充PCI外设,可能有多于一条的总线,这时就要引入PCI/PCI 桥,用于两条PCI总线之间的连接,桥在实际的总线传输过程中既可以充当Target也可以充当Master。如果系统要兼容传统外设,如ISA 或EISA外设,就有必要引入PCI/ISA 或PCI/EISA桥,用于PCI总线与传统总线ISA or EISA 的连接。所谓桥,实际上相当于不同总线之间的“翻译”,桥存在的必要性是,不同总线上的外设之间要互相利用彼此的资源,它们之间存在互动。当然,PCI总线中还少不了中央资源,或

第三章 PCI总线练习题

第三章PCI总线练习题 一、填空题: 1.PCI总线的工作环境电压为。信号驱动采用方式。总线驱动器的指标用来定义。扩展卡有两种形式,PCI总线的信号分为必备信号和可选信号。其中必备信号有、、、、等5类。 2. 是指通过仲裁获得总线控制权的设备。PCI总线操作的命令共有种。其中中断应答命令中寻址采用方式。中断周期是周期。任何一命令都具有和两部分组成。特殊周期命令一般有个时钟周期 3.PCI总线传输中基本由、、三条信号线控制。三种物理地址空间分别是、、。一个PCI设备是否被选中是由来表示的。PCI配置访问的实质是访问。配置空间的大小为,分为和两部分,PCI仲裁的方法。 4. 在PCI配置的分类代码寄存器中,如果0BH段为(0000 0101B),0AH段为(0000 0001B),请问该设备为。在PCI总线的配置空间的头标区,偏移地址是0EH时,则寻得寄存器为。中断引脚寄存器的偏移地址是,分类代码寄存器的偏移地址是。 二、选择题: 1.关于PCI总线,下列说法正确的是() A:首先实现了即插即用(PnP)B:首先采用了总线分时复用的技术 C:PCI总线是一种不依附于某个具体处理器的局部总线 D:PCI总线采用入射波方式进行信号驱动,所以各管脚的长度均有严格的规定 E:CPU总线和PCI总线之间的桥路称之为“南桥”,为了解决数据船速的速度匹配问题2.PCI总线在访问I/O中,如果AD[1:0]和C/BE[3:0]依次为000110,则此时()有效. A:C/BE 3# B:C/BE 2# C:C/BE 1# D:C/BE 0# E:属于非法组合,均无效3.PCI总线I/O地址的组合中,其中AD[1:0]和C/BE[3:0]的电平依次排列如下,其中属于合法有效的是() A:001100 B:101011 C:010001 D:100010 E:110011 4.关于PCI总线的信号,说法正确的是() A:所有信号均在CLK信号的上升沿有效 B:一旦PAR信号有效,便一直维持直到数据相位完成之后的一个周期为止。 C:当C/BE[3:0]# 信号线上为高电平时,表示此时是命令,当为低电平时,表示是字节使能信号 D:从本质上讲,在进行数据传输或交易时IRDY和TRDY信号是一对握手信号。 E:对于任何一个PCI设备,所需的最少信号为47条 5.关于PCI总线的地址,说法正确的是() A:PCI的物理地址与其它总线一样,是由内存地址空间和I/O地址组成。 B:配置读/写命令和存储器读/写命令都是对PCI的地址空间进行读写 C:任何一个命令都应包含目标地址,否则便不能寻址从而无法操作 D:任何一个命令都应由地址相位和数据相位组成 E:中断应答命令的地址存在回送时的中断向量中 6.关于PCI总线说法正确的是() A:PCI总线的基本传输机制是突发传输,它可以对PCI所有物理空间进行访问。 B:因PCI的时钟周期固定,所以每个信号相对于总线时钟前沿的建立和保持时间固定C:PCI总线上所有数据传输基本上都是由FRAME、IRDY、TRDY信号线控制

PCI总线的组成结构

PCI总线的组成结构 如上文所述,PCI总线作为处理器系统的局部总线,是处理器系统的一个组成部件,讲述PCI总线的组成结构不能离开处理器系统这个大环境。在一个处理器系统中,与PCI总线相关的模块如图1?1所示。 如图1?1所示在一个处理器系统中,与PCI总线相关的模块包括,HOST主桥、PCI总线、PCI桥和PCI设备。PCI总线由HOST主桥和PCI桥推出,HOST主桥与主存储器控制器在同一级总线上,PCI设备可以方便地通过HOST主桥访问主存储器,即进行DMA操作。 值得注意的是,PCI设备的DMA操作需要与处理器系统的Cache进行一致性操作,当PCI设备通过HOST主桥访问主存储器时,Cache一致性模块将进行地址监听,并根据监听的结果改变Cache的状态。 在一些简单的处理器系统中,可能不含有PCI桥,此时所有PCI设备都是连接在HOST主桥推出的PCI总线上,此外在一些处理器系统中可能含有多个HOST主桥,如在图1?1所示的处理器系统中含有HOST主桥x和HOST主桥Y。 1.1.1HOST主桥HOST主桥是一个很特别的桥片,其主要功能是隔离处理器系统的存储器域与处理器系统的PCI总线域,管理PCI总线域,并完成处理器与PCI设备间的数据交换。处理器与PCI设备间的数据交换主要由处理器访问PCI设备的地址空间和PCI设备使用DMA机制访问主存储器这两部分组成。为简便起见,下文将处理器系统的存储器域简称为存储器域,而将处理器系统的PCI总线域称为PCI总线域,存储器域和PCI总线域的详细介绍见第 2.1 节。值得注意的是,在一个处理器系统中,有几个HOST主桥,就有几个PCI 总线域。

PCI总线配置与应用资料

这篇文章是进行VxWorks下PCI驱动开发的基础,故将其放在首位。(当然更首位的是您有一定的Vxworks 使用和开发经验)主要介绍PCI总线配置空间,如何查看和读取PCI配置相关信息,最后有VxWorks下相关的示例代码。 关键字: PCI总线vxworks PCI配置空间内存映射PlxPCI9056 我把个人认为比较重要的地方:用粗体和蓝色进行了标识。 如果您对文章有异议,请提出宝贵意见,您的名字和意见,将出现在下面! 专用术语解释: PCI:Peripheral Component Interconnect的缩写,一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准。 POST:Power On Self Test的缩写,即上电自检,接通微机的电源后,系统将执行一个自我检查的例行程序,是BIOS功能的一部分。 1 引言 在众多的实时操作系统(RTOS)中,美国WindRiver公司的嵌入式多任务VxWorks实时操作系统是目前世界上用户数量最大的实时操作系统.已成功应用于航空航天、武器控制、舰船、通信、科学研究等领域,如在美国的火星探测器、爱国者导弹上均使用了VxWorks实时操作系统。当前在我国该操作系统也占有较大的市场分额。VxWorks操作系统专门对PCI设备提供支持,包括PCI总线驱动和一套PCI支持函数。配置总线上的设备还与硬件的体系结构和BSP支持程度相关。本文结合PCI原理。谈谈实际使用中的经验与体会。(上面的是中国的客套话) 2 PCI总线架构 2.1典型架构 在典型的PCI总线系统架构中.处理器、高速缓存和内存子系统通过PCI桥连接至JJPCI总线。桥提供一种高速通道使得处理器可以直接访问PCI设备。还提供高带宽的通道允许PCI直接访问主存。桥也包含了可选择的功能,比如总线仲裁和热插拔。 2.2总线号、设备号、功能号 PCI总线可以通过桥芯片级连.按与CPU总线所隔的桥数目和同一层总线的扫描顺序,从0开始依次编号,扩展最多N256,0—256就是总线号;在指定的局部总线上.按硬件扫描顺序从O开始依次编号,扩展最多到32。0~32就是设备号;在一个多功能PCI设备上,最多可以实现8种功能,按设备上配置存储区的顺序从0开始依次编号,称其为功能号,一般的设备只有一个功能。这三个号组合起来就可确定唯一的一个PCI设备。以及该设备上的某项功能。通过这三个参数就可操作PCI设备。 3 PCI配置空间

PCI总线命令

PCI总线命令 总线命令是由通过仲裁获得总线控制权的主设备发给从设备的,说明当前传输事务的类型。总线命令出现于地址相位的c/BE#[3~0]#线上并被译码。这里所说的从设备,是指在c/BE#[3~0]上出现命令的同时被AD[31~00]线上的地址选中的设备。 表9.4给出了总线命令编码及类型说明,命令编码中的1表示高电平,0表示低电平。 下面对总线命令作简要说明: ①中断应答命令实际是让PCI总线运行一个中断响应周期,获取提出中断请求的设备的中断向量。注意到8259A的中断响应为双周期,因此,桥电路应把处理器的双周期格式变换成PCI上的单周期格式(将处理器送出的第一个中断应答信号丢掉即可)。 ②特殊周期命令为PCI提供了一个简单的信息广播机制,可用来报告CPU的状态,当需要进行PCI设备间的边带通信时,它还可替代物理信号。特殊周期不包含目标地址,以便发给所有的设备。每个接收设备自行确定广播信息是否适合自己。 ③I/O读命令用来从一个映射到I/O地址空间的设备读取数据。AD[31~00]上提供字节地址,全部32位必须完全译码,字节允许信号说明传送数据的宽度,并且必须和字节地址相对应。 ④保留命令是为了将来的用途而保留的。 ⑤I/0写命令用来向一个映射到I/O地址空间的设备写入数据。和I/O读命令一样,所有的32位必须译码,字节允许信号说明此次传送数据的宽度,并且必须和字节地址保持一致。 ⑥存储器读命令用来从一个映射到存储器地址空间的设备读取数据。如果从设备能保证无副作用产生,则它可以为该命令进行预先读取。但从设备必须保证本次PCI传输之后保存于临时缓冲区中的数据的一致性(包括数据次序)。在任何同步操作(如修改I/0状态寄存器或存储器标志)通过此存取路径之前,这个缓冲区必须保持无效。 ⑦存储器写命令用来向一个映射到存储器地址空间的设备写入数据。如果从设备返回“准备好”信号,表明它已经准备对所涉及的数据的一致性(包括次序)管理。该命令的实现

PCI总线介绍

PCI总线介绍 1. PCI简介 PCI总线的历史 Intel公司对PCI总线进行了定义,并于1992年6月发布了PCI技术规范版本。随后,修改版于1993年4月发布,修改版于1995年一季度发布,最新的修改版于1998年12月完成,1999年2月发布。 PCI总线的特点 PCI全称为周边器件互连(Peripheral Component Interconnect)。其能够配合要求彼此间快速访问或快速访问系统存储器的适配器工作,也能让处理器以接近自身总线全速的速度访问适配器。 通过PCI总线的全部读写传送都可以使用突发传送(Burst Transfers)。突发传送的长度由主设备决定。在交易(Transaction)开始时,目标设备得到起始地址和交易类型,但没有传送长度。当主设备准备传送最后一个数据项时,主设备通知目标设备是否为最后一个数据项。当最后一个数据项传送后一次交易结束。 《 PCI总线的主要特点如下: ?独立于处理器。 ?每个PCI总线支持10个电气负载,即10个PCI设备。每个设备可包括8个PCI 功能。 ?技术规范提供对256个PCI总线的支持。 ?低功耗。 ?在全部读写传送中都可实现突发传送。因此,32位PCI总线支持132Mb/s的峰值传送速率;对于64位66MHz的PCI总线,峰值速度更高达528Mb/s。 ?全面支持PCI总线主设备,允许同级PCI总线访问和通过PCI-PCI与扩展总线桥访问主存储器和扩展总线设备。另外,PCI主设备能够访问驻留于总线级别较低的另 一个PCI总线上的目标。 ?隐式总线仲裁。 ?引脚较少,一个功能PCI目标设备约47个引脚,主设备也仅仅有49个引脚。 ?含交易完成性校验。 ?三类地址空间,包括存储器、I/O和配置地址空间。 ?> ?配置寄存器的全位级别规范,支持自动的设备检测与配置。 ?软件透明,在与PCI设备或面向扩展总线的同类设备通信时,软件驱动程序使用相同的命令集和状态定义。 ?有固定的连接器和插卡尺寸。 PCI的端接——反射波转换(Reflected-Wave Switching)

PCI 配置空间(中文)

PCI Configuration 名词说明: PCI为Peripheral Component Interconnect 的缩写,它是由Intel 所发表的另一种局部总线(另一种为VESA Local Bus),以配合Pentium 系列的微处理机为主,PCI 的最大特点在于它是和主机板不相关的接口,而且一台主机最多支持16 台使用PCI 接口的外围设备,这种总线架构还支持PowerPC 等机种,因此PCI 适配卡将可在不同工作平台上使用。 PCI 的数据总线(data bus) 是32 位或是64 位宽,工作频率为33 MHz,在64 位宽的总线之下,每个clock 可传送8 个字节,因此最高的数据传输速率为每秒33×8=264 MB。 而PCI的改良版称为PCI-X,采用六十四位的总线宽度与133MHz的传输速率,可以使得数据传输量为1.064GBps,而且可以使用于现有的PCI界面卡,PCI-X 初期以工作站或是服务器为主。 架构说明:

System(系统讯号): CLK: CLK讯号为一个输入讯号,其提供所有交易,包括总线仲裁等的时序,PCI装置的所有输入都是在CLK讯号的上升边缘被取样的.PCI总线上的所有动作都与PCI CLK讯号同步,其讯号频率的范围在0Mhz~33Mhz. RST(Reset Signal) 当重置讯号被驱动成低态时,它会强迫所有PCI组态缓存器,master及target 状态机器与输出驱动器回到初始化状态.

Device Identification Vendor ID(Offset 00h~01h) 记录PCI厂商识别码,如Intel ID是8086, VIA ID是1106,Ali ID是10B8. Device ID(Offset 02h~03h) 记录PCI装置识别码. 以BIOS观点来看,通常为了避掉某些装置与系统的兼容性常藉由判断Vendor ID 与Device ID 做不同的处理. Device Control

相关文档