PCI学习心得.doc_第1页
PCI学习心得.doc_第2页
PCI学习心得.doc_第3页
PCI学习心得.doc_第4页
PCI学习心得.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PCI学习记录2013-11-4PCI总线是32位同步复用总线。其地址和数据线引脚是AD31AD0。PCI的工作频率为33MHz。PCI9054通过有效LHOLD来申请本地总线。当LHOLD和LHOLDA被有效时它就获得了本地总线。本地总线周期可以是Single周期或突发周期。BLAST#信号被用于决定是一个Single周期被执行还是一个突发周期被执行。PCI9054是一个PCI总线Target和一个本地总线Master一 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连接图2.1 PCI9054接口卡槽信号2.1.1.系统信号CLK IN:系统时钟信号,为所有PCI传输提供时序,对于所有的PCI设备都是输入信号。其频率最高可达33MHz/66MHz,这一频率也称为PCI的工作频率。(PCI接口卡槽)RST# IN:复位信号。用来迫使所有PCI专用的寄存器、定序器和信号转为初始状态。2.1.2.地址和数据信号AD31:00T/S:地址、数据复用的信号。PCI总线上地址和数据的传输,必需在FRAME#有效期间进行。当FRAME#有效时的第1个时钟,AD31:00上的信号为地址信号,称地址期;当IRDY#和TRDY#同时有效时,AD31:00上的信号为数据信号,称数据期。一个PCI总线传输周期包含一个地址期和接着的一个或多个数据期。C/BE3:0# T/S:总线命令和字节允许复用信号。在地址期,这4条线上传输的是总线命令;在数据期,它们传输的是字节允许信号,用来指定在数据期,AD31:00线上4个数据字节中哪些字节为有效数据,以进行传输。PAR T/S:奇偶校验信号。它通过AD31:00和C/BE3:0进行奇偶校验。主设备为地址周期和写数据周期驱动PAR,从设备为读数据周期驱动PAR。2.1.3.接口控制信号FRAME# S/T/S:帧周期信号,由主设备驱动。表示一次总线传输的开始和持续时间。当FRAME#有效时,预示总线传输的开始;在其有效期间,先传地址,后传数据;当FRAME#撤消时,预示总线传输结束,并在IRDY#有效时进行最后一个数据期的数据传送。IRDY# S/T/S:主设备准备好信号。IRDY#要与TRDY#联合使用,当二者同时有效时,数据方能传输,否则,即为未准备好二进入等待周期。在写周期,该信号有效时,表示数据已由主设备提交到AD31:00线上;在读周期,该信号有效时,表示主设备已做好接收数据的准备。TRDY# S/T/S:从设备(被选中的设备)准备好信号。同样TRDY#要与IRDY#联合使用,只有二者同时有效,数据才能传输。STOP# S/T/S:从设备要求主设备停止当前的数据传送的信号。显然,该信号应由从设备发出。LOCK# S/T/S:锁定信号。当对一个设备进行可能需要多个总线传输周期才能完成的操作时,使用锁定信号LOCK#,进行独占性访问。例如,某一设备带有自己的存储器,那么它必需能进行锁定,以便实现对该存储器的完全独占性访问。也就是说,对此设备的操作是排它性的。IDSEL IN:初始化设备选择信号。在参数配置读/写传输期间,用作片选信号。DEVSEL# S/T/S:设备选择信号。该信号由从设备在识别出地址时发出,当它有效时,说明总线上有某处的某一设备已被选中,并作为当前访问的从设备。2.1.4.仲裁信号(只用于总线主控器)REQ# T/S:总线占用请求信号。该信号有效表明驱动它的设备要求使用总线。它是一个点到点的信号线,任何主设备都有它自己的REQ#信号。GNT# T/S:总线占用允许信号。该信号有效,表示申请占用总线的设备的请求已获得比准。2.1.5.错误报告信号PERR# S/T/S:数据奇偶校验错误报告信号。一个设备只有在响应设备选择信号(DEVSEL#)和完成数据期之后,才能报告一个PERR#。SERR# O/D:系统错误报告信号。用做报告地址奇偶错、特殊命令序列中的数据奇偶错,以及其他可能引起灾难性后果的系统错误。它可由任何设备发出。2.1.6.中断信号 在PCI总线中,中断是可选项,不一定必须具有。INTA# O/D:用于请求中断。INTB# O/D、INTC# O/D、INTD# O/D:用于请求中断,仅对多功能设备有意义。所谓的多功能设备是指:将几个相互独立的功能集中在一个设备中。各功能与中断线之间的连接是任意的,没有任何附加限制。2.1.7.其他可选信号()高速缓存支持信号:SBO# IN/OUT、SDONE IN/OUT()64位总线扩展信号:REQ64# S/T/S、ACK65# S/T/S、AD63:32T/S、C/BE7:4#T/S、PAR64 T/S。()测试访问端口/边界扫描信号:TCK IN、TDI IN、TDO OUT、TMS IN、TRST# IN。2.2 PCI9054 与 LOCAL BUS的接口2.2.1连接信号说明 硬件电路第三部分是9054与Local端联接。PCI9054芯片Local端用到的部分引脚信号描述如下: LHOLD:申请使用本地总线,输出信号; LHOLDA:对LHOLD应答,输入信号; ADS:新的总线访问有效地址的开始,在总线访问first clock设置时,输出信号; BLAST:表示为总线访问的 last transfer, 输出信号; LW/R:高电平表示读操作,低电平表示写操作,输出信号; LA:地址线。 LD:数据线。 READY:表示总线上读数据有效或写数据完成。用以连接PCI9054等待状态产生器,输入信号。2.2.2LOCAL总线上的数据传输 PCITarget单周期写开始时,PCI9054首先驱动LHOLD有效来申请Local总线,如果Local总线空闲,控制模块驱动LHOLDA有效将总线控制交给9054.接着,PCI9054将驱ADS(地址锁存信号)、LW/R(读写信号)、LBE(字节使能信号)和LA(地址信号),控制模块将对以上信号锁存和译码来确定目标及操作类型。 Local端写操作的时序吐如图48所示。 在LOCAL端,本接口卡选用的存储器为MOTOROLA的MCM6706B(328bit),存储周期为8ns。由于是静态DATA线和ADDR线直接与MOTOROLA的SRAM的DAA和ADDR线进行连接。另外将9054的LW/R线一分二:一根经过非门,变成负向信号;另一根不变,分别与SRAM的WR连接和SRAM的RD连接。2.3 PCI9054与EEPROM的接口EEPROM的作用就是配置PCI9054内部寄存器.2.3.1EEPROM的选择 PLX54推荐的串行EEPROM可以使用5V供电的串行EEPROM如下所示: (1)Fairchild Semicondctor公司的FM93CS46L; (2)Holtel公司的HT93 LC46 (把ORG引脚拉高以设置成16位) (3)Integrated Silicon Solution公司的IS93C46; (4)Microchip Technology 公司的93C46B,83LC46B或93AA46(把ORG引脚拉高以设置成16位) (5)Rohm公司的BR93LC46; (6 )Seiko公司的S93C46A (7)ST Microeletronic 公司的M93C46或M93S46或其他兼容的串行EEPROM。 本课题选用Microchip Technology 公司的串行EEPROM96LC66B作为PCI9054的配置存储器。128 x 8 or 64 x 16-bit organization (93LC46)1kByte256 x 8 or 128 x 16-bit organization(93LC56)2kByte 使用的是这款芯片512 x 8 or 256 x 16-bit organization(93LC66)4kByte 96LC66B是一个4K的低电压串行电可查处PROM存储器,用来组成一个25616位的存储块。93LC66B具有3线穿行接口总线功能,并与Microwire工业标准兼容。该器件的最低单电源工作电压可到2.5V,商用/工业用温度范围(40C to 85C),具有先进的CMOS技术。这些都使93LC66B成为实现低功耗,非易失性存储器应用系统的理想器件。93LC66B具有8脚PDIP封装和表面粘贴SOIC封装两种封装形式。2.32EEPROM的接口 PCI9054有四根信号线用于与EEPROM的接口:EESK.EEDO.EEDI.和EECS,如表41所示。 串行EEPROM也有四根相应的引脚:CS.DI/DO.CLK。具体介绍如下: (1)CS CS是串行EEPROM的片选线 (2)DI/DO DI与DO接到一起与EEDI、EEDO相接,接一个上拉电组。在复位之后。PCI9054将会尝试着从Serial EEPROM 中读取数据。第一个双字将用于标识是否该Serial EEPROM 已被编程过,如果全为1,则表示为空的Serial EEPROM:如果全为0,则表示没有Serial EEPROM。在这两种情况下PCI9054将会使用默认值。等系统起来以后,再用PLXMON对Serial EEPROM编程即可。 (3)CLK 3.3V的串行EEPROM时钟是由PCI总线内部时钟分频得到的。PCI9054通过内部对PCI时钟的32分频来产生串行EEPROM时钟。 PCI9054与EEPROM的电路连接图如下图所示三、PCI9054接口芯片的工作方式选择通过对MODE1:0的选择(pqfp-pins157和156)可以选中三种模式之一,本电路用的C模式PCI9054有三种工作模式:M,J,CM模式,直接为Motorola公司的MPC850和MPC860准备的非复用接口;C模式,地址,数据线不复用;J模式,地址数据线复用。由于M模式使用范围比较小,J模式使用起来控制比较复杂,一般使用C模式。3.1 PIN定义:所有模式AD31:0(Address and Data)地址和时钟复用,首先是一个地址段,后面跟着一个或多个数据段,支持突发模式的读写;C/BE3: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;(EEPROM 93LC56)EEDI/DDEO(Serial EEPROM Data In/ Serial EEPROM Data Out)控制串行EEPROM读写数据;(EEPROM 93LC56)EESK(Serial Data Clock)EEPROM读写时钟;(EEPROM 93LC56)ENUM#(Enumeration)突发输出,用来表示一个使用PCI9054芯片的适配器刚刚从一个CPI总线通道里面加入或者移出;(EEPROM 93LC56)LCLK(Local Processor Clock)本地时钟输入;(40MHZ)LEDon/LEDin LED控制;LFRAME#(PCI Buffered FRAME# Signal)指示PCI总线的状态;LINT#(Local Interrupt)本地总线中断。输入到9054,低有效,触发一个PCI中断。作为输出,等待到一个触发发生;LRESETo#(Local Bus Reset Out)当PCI9054芯片被复位以后,该管脚可以用来驱动其他芯片的RESET#信号;MDREQ#/MDPAF/EOT#MODE1:0(Bus Mode)11:M模式;10:J模式;01:保留;00:C模式;(PIN156,PIN157)TEST(Test Pin)芯片检测管脚,高为检测,低为工作,平时置低;USERi/BACK0#/LLOCKi# 复用管脚USERo/DREQ0#/LLOCKo# 复用管脚VDD电源VSS地3.2 C模式:ADS#(Address Strobe)说明地址有效,总线有新设备接入;OUTPUTBLAST#(Burst Last)该信号由本地总线控制,表示最后一个字符的传输;OUTPUTBREQi(Bus Request In)本地总线控制,数据从本地总线输入;BREQo(Bus Request Out)PCI总线控制,数据从PCI总线输出;BTERM#(Burst Terminate)作为输入,表示当前突发操作结束,开始下一个突发地址的读写,和PCI9054内部的可编程等待状态生成器一起使用。作为输出,和READY#一起使用,中断当前突发操作,开始下一个突发操作地址周期;DP3:0(Data Parity)奇偶校验数据;LA31:2(Address Bus)地址总线;LBE3:0#(Byte Enable)控制数据有效,不同的模式有不同的控制方法;LD31:0(Data Bus)数据总线;LHOLD(Hold Request)发送要求使用本地总线,本地总线决定分配给当前装置以后,判决器发送LHOLDA信号反馈;LHOLDA(Hold Request)反馈信号;LSERR#(System Error Interrupt Output)系统错误中断;LW/R#(Write/?Read)低电平读,高电平写;READY#(Ready Input/Output)无论主还是从模式,表示数据准备好,有效;WAIT#(Wait Input/Output)作为输入,控制PCI9054插入等待状态。作为输出,PCI9054处于Ready状态。3.3 J模式:ADS#(Address Strobe)说明地址有效,总线有新设备接入;ALE(Address Latch Enable)地址传输时有效,数据传输时无效;BLAST#(Burst Last)该信号由本地总线控制,表示最后一个字符的传输;BREQi(Bus Request In)本地总线控制,数据从本地总线输入;BREQo(Bus Request Out)PCI总线控制,数据从PCI总线输出;BTERM#(Burst Terminate)作为输入,表示当前突发操作结束,开始下一个突发地址的读写,和PCI9054内部的可编程等待状态生成器一起使用。作为输出,和READY#一起使用,中断当前突发操作,开始下一个突发操作地址周期;DEN#(Data Enable)和DT/R#连接在一起使用,用来控制和本地总线连接的数据收发器;DP3:0(Data Parity)奇偶校验数据;DT/R#(Data Transmit/Receive)与DEN#连接在一起使用,有效的时候PCI9054接收数据;LA28:2(Local Address Bus)本地总线地址;LAD31:0(Address/Data Bus)地址周期:该总线包括了物理地址总线的上位。数据周期:该总线传输位数据;LBE3:0#(Byte Enable)控制数据有效,不同的模式有不同的控制方法;LHOLD(Hold Request)发送要求使用本地总线,本地总线决定分配给当前装置以后,判决器发送LHOLDA信号反馈;LHOLDA(Hold Request)反馈信号;LSERR#(System Error Interrupt Output)系统错误中断;LW/R#(Write/Read)低电平读,高电平写;READY#(Ready Input/Output)无论主还是从模式,表示数据准备好,有效;WAIT#(Wait Input/Output)作为输入,控制PCI9054插入等待状态。作为输出,PCI9054处于Ready状态。四 寄存器配置 设计好接口电路后,硬件设计工作还只完成了一半。由于PCI9054是通用PCI接口功能芯片,它的功能还不一定能够满足用户的需求,所以还要进行进一步的功能寄存器配置,以是接口电路具有特定的功能。 寄存器的配置包括EEPROM初始化、LOCAL功能寄存器和PCI配置寄存器的配置。下面分别给以介绍。41 EEPROM初始化 PCI9054的配置方式要求68个字节的配置信息,主要包括以下信息:设备识别号、供应商代码号、Local总线三个空间的大小以及三个空间的基址等。可以利用编程器事先将要配置的信息写入寄存器中,也可以在plxsdk中的plxmon下对EEPROM进行配置。这样,在计算机启动的时候将配置好我们申请的系统资源。具体配置过程如下:4.1.1EEPROM的初始化 在计算机的加电自检期间,PCI总线的RST信号复位,PCI9054内部寄存器的默认值作为回应。PCI9054输出本地LRESET信号并检测串行EEPROM。 如果串行EEPROM中的前33个比特不全为1,那么PCI9054确定串行EEPROM非空,用户可通过向9054的计出奇CNTRL的29位写1来加载EEPROM的内容到PCI9054的内部寄存器; 如果串行数据开始为1,则标明串行EEPROM不存在。对于不存在串行EEPROM的情况,需要把EEDO引脚拉低以阻止错误检测到低开始位,同时pl9054停止串行eeprom的加载,并转换到默认值:当串行eeprom有效位CNTRL【28】1时,在串行eeprom中 会读到真实或随机的数据。在这里我遇到了很大麻烦,开始进不了系统。找到原因之后发现EEPROM焊好之后无法进系统。经过多次尝试才得以解决。4.1.2读写eeprom读写串行 eeprom的 步骤如下 : (1)通过 向 cntrl的 25位写 1来使能 串行 eeprom的片选信号 eecs (2)向 cntrl的24位 先写0再写 1来产生串行 eeprom的 时钟 ,在时钟的上升沿进行数据的 读写 (3)向eeprom写命令代码 (4)若串行 eeprom存在 ,命令代码 传递以后返回 0作为 开始位 (5)读写数据 (6)向混合寄存器 cntrl25写0来结束 对 eeprom的访问,此时 eecs为 低;4.1.3EEPROM 串行数据的加载 PCI9054芯片加载EEPROM中的信息,先加载高16位31:16,并且是从高有效位31开始,然后再加载低16位,从15位开始。因此加载顺序为器件ID号、生产商ID号类码等等。表中的数据值可通过EEPROM烧入器来烧写。混合寄存器CNTRL允许每一时刻对EEPROM的一位进行编程。部分被装载的数据如表42所示。 串行EEPROM中的数值也可以通过PLXSdk中的PLXmon中来配置。4.2. PCI9054寄存器配置 PCI9054配置寄存器的配置要根据具体的硬件设备进行配置。其配置的正确与否是硬件设备能否正常工作的关键,并且关系到硬件设备能否能够充分的发挥其性能,可以说其配置寄存器的配置是使用PC9054芯片进行硬件设计能否成功的关键。 4.2.1 PCI配置寄存器的配置 配置PCI配置寄存器比较简单。主要是填写生产商ID号,器件ID号,类码子系统ID号和子系统生产商ID号。对于PCI9054,其生厂商ID号10B5,器件ID号为9054,子系统号为9054,子系统ID号为10B5,类码号为0680,表示其为桥设备中的其它桥设备类。 4.2.2 本地配置寄存器的配置 对于本地配置寄存器的配置其实就是对本地地址空间及其本地总线属性的配置。这些配置要根据实际开发的硬件板卡的硬件资源进行配置。例如若设计的接口卡只使用一个本地地址空间,则只需对这一个地址空间向计算机申请得到对应的PCI地址空间即可。PCI9054在其本质上是一个桥设备,它把PCI总线对某一段PCI总线地址空间的各种操作包括读,写等转换为相应的地址总线上的操作。因此设备人员配置寄存器的任务就是要把某一段本地地址映射为PCI地址,换一种说法就是当主机CP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论