matlab求解方程电子范围的,WDM的几个接头名称

产品名称:L9头
产品规格:L9-J
包装说明:----
价格说明:----
产品数量:----
发布日期:
公司名称:
经营模式:生产型
联系方式:
留言询价:
&L9头- L9-J接头&的 详 细 说 明
主要技术特性:&&&&&&&&&&&&&&&&&&&& 材料及涂覆:&& & 特性阻抗:75Ω&&&&&&&&&&&&&&&&&& 中心接触件:&&&&&&&&&&&&&&&&&&&&&& 频率范围:0~2GHz&&&&&&&&&&&&&&&&&插针――黄铜,镀金& 接触电阻:&&&&&&&&&&&&&&&&&&&&&&&&插孔――锡青铜或铍青铜,黄金&&&&& 内导体&&&& ≤2.0mΩS&&&&&&&&&&&&&&& 壳体和其它金属零件:&&&& 外电阻&&&& ≤0.2mΩ&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 黄铜,镀金& 绝缘电阻:&& ≥5000MΩ&&&&&&&&&&&&&&&& 绝缘体:聚四氟乙烯& 介质耐压:&&& 1500V&&&&&&&&&&&&&&&&&&& 线& 夹:黄铜,镀镍&&&&&&&&&&&&&&&&&&& 电压驻波比: ≤1.3&&&&&&&&&&&&&&&&&&&& 密封圈:硅橡胶&&&&&&&&&&&&&&&&&&&&&&&& 连接器耐久性:500次&
本公司还供应上述产品的同类产品:L9头,西门子接头,L9-J
北京林佳伟业电子科技有限公司成立于1996年,专门从事数据通信网络技术与产品的研究、开发、生产与销售,致力于为电信运营商提供数据通信、光接入网络解决方案,是中国电信设备市场的主要供应商之一。
   林佳伟业公司已通过ISO9001质量体系认证,公司的光端机、光收发器、协议转换器、PCM等产品获得信息产业部颁发的《电信设备入网许可证》。公司每年将不少于销售额的8%投入研发。公司在坚持自主开发的基础上进行开放合作,现在已经与很多国内以及世界一流企业广泛开展技术与市场方面的合作。
   2004年,通过国内知名顾问公司进行的ERM流程优化,建立了面向顾客、横跨职能部门的项目团队,形成了以市场销售与服务、新产品研发为中心的组织架构。公司致力于电信接入产品的研发、制造、销售,立足国内电信运营商市场,为顾客提供高品质的产品和及时、有效、个性化的服务。公司生产的光端机、接口转换器、光纤收发器、基带Modem、xDSL、CWDM等接入设备产品在联通、移动、网通、铁通等电信运营商及公安、部队等专网均得到广泛应用。
   为满足顾客的服务需求,我们以北京为中心,建立了辐射全国的营销服务网络,现已在全国16个省市设有集销售服务、工程技术支持、备件中心功能于一身的办事处,有效保证了客户服务的本地化,使客户服务更加方便、快捷。
  我们有一支专业、具有服务精神、崇尚团队合作的人才队伍,在“数据通信领域一流的方案供应商”的宗旨激励下,深入了解顾客需求,不断学习与创新,探寻解决之道,力争为顾客创造更多的价值。
免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。新品快播网对此不承担任何保证责任。
友情提醒:为保障您的利益,建议优先选择
阳光企业。
&行业目录导航:PCI接口的概况
PCI接口的应用
PCI接口概述
  是Peripheral Compent Interconnect(外设部件互连标准)的缩写,它是目前个人中使用最为广泛的,几乎所有的产品上都带有这种插槽。PCI插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽,可见其应用的广泛性。
  PCI是由公司年推出的一种局部。从结构上看,PCI是在和原来的系统总线之间插入的一级总线,具体由一个桥接实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为,声卡,,MODEM等设备提供了连接接口,它的工作频率为33MHz/66MHz。
  最早提出的PCI 总线工作在33MHz 频率之下,传输带宽达到了133MB/s(33MHz X 32bit/8),基本上满足了当时的发展需要。随着对更高性能的要求,年又提出了64bit 的PCI 总线,后来又提出把PCI 总线的频率提升到66MHz 。目前广泛采用的是32-bit、33MHz 的PCI 总线,64bit的PCI插槽更多是应用于产品。
  由于PCI 总线只有133MB/s 的带宽,对声卡、网卡、视频卡等绝大多数输入/输出设备显得绰绰有余,但对性能日益强大的显卡则无法满足其需求。目前PCI接口的显卡已经不多见了,只有较老的PC上才有,厂商也很少推出此类接口的产品。当然,很多服务器不需要显卡性能好,因此使用古老的PCI显卡。通常只有一些完全不带有显卡专用插槽(例如AGP或者PCI Express)的主板上才考虑使用PCI显卡,例如为了升级845GL主板。PCI显卡性能受到极大限制,并且由于数量稀少,因此价格也并不便宜,只有在不得已的情况才考虑使用PCI显卡。
PCI的简单发展史
&&& 最早提出的 工作在33MHz 频率之下,传输带宽达到了133MB/s(33MHz X 32bit/8),基本上满足了当时的发展需要.随着对更高性能的要求,年又提出了64bit 的PCI 总线,后来又提出把PCI 总线的频率提升到66MHz .目前广泛采用的是32-bit、33MHz 的PCI 总线,64bit的PCI插槽更多是应用于产品.
&&& 由于PCI 总线只有133MB/s 的带宽,对声卡、、视频卡等绝大多数输入/输出设备显得绰绰有余,但对性能日益强大的则无法满足其需求.目前PCI的显卡已经不多见了,只有较老的PC上才有,厂商也很少推出此类接口的产品.当然,很多服务器不需要显卡性能好,因此使用古老的PCI显卡.通常只有一些完全不带有显卡专用插槽(例如AGP或者PCI Express)的上才考虑使用PCI显卡,例如为了升级845GL主板.PCI显卡性能受到极大限制,并且由于数量稀少,因此价格也并不便宜,只有在不得已的情况才考虑使用PCI显卡.
PCI-E接口的简介
Express(以下简称PCI-E)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽.相对于传统PCI总线在单一时间周期内只能实现单向传输,PCI-E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似.
&&& PCI-E的根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式.PCI-E规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求.此外,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃.PCI-E X1的250MB/秒传输速度已经可以满足主流声效、芯片和存储设备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求. 因此,用于取代AGP接口的PCI-E接口位宽为X16,能够提供5GB/s的带宽,即便有编码上的损耗但仍能够提供约为4GB/s左右的实际带宽,远远超过AGP 8X的2.1GB/s的带宽.
&&& 尽管PCI-E技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI-E X1和PCI-E X16已成为PCI-E主流规格,同时很多芯片组厂商在南桥芯片当中添加对PCI-E X1的支持,在北桥芯片当中添加对PCI-E X16的支持.除去提供极高数据传输带宽之外,PCI-E因为采用串行数据包方式传递数据,所以PCI-E接口每个针脚可以获得比传统I/O标准更多的带宽,这样就可以降低PCI-E设备生产成本和体积.另外,PCI-E也支持高阶管理,支持热插拔,支持数据同步传输,为优先传输数据进行带宽优化.
&&& 在兼容性方面,PCI-E在软件层面上兼容目前的PCI技术和设备,支持PCI设备和的初始化,也就是说过去的驱动程序、操作系统无需推倒重来,就可以支持PCI-E设备.目前PCI-E已经成为的接口的主流,不过早期有些芯片组虽然提供了PCI-E作为显卡接口,但是其速度是4X的,而不是16X的,例如 PT880 Pro和VIA PT880 Ultra,当然这种情况极为罕见.
PCI总线规范(2.0版)简介
&&& 在一个系统中可以做到:高速外部设备与低速外部设备并存,PCI与ISA/EISA总线并存.从下图中可以看到,PCI Bridge/Me-mory ctroller实现了PCI总线的全部驱动控制.
&&& 一、PCI局部总线的特点
&&& 1.高性能
&&& ·32位总线宽度,可升级到64位.
&&& ·支持猝发工作方式,后边可跟无数个数据期,改善了由写确定的图像质量.
&&& ·/子系统能力完全一致. ·同步总线操作的工作频率可达到33MHz .
&&& 2.低成本
&&& ·采用最优化的,标准的ASIC技术和其他处理技术相结合.
&&& ·多路复用体系结构减少了管脚个数和PCI部件.
&&& ·在ISA、EISA、MCA基本系统上的扩展板,也可以在PCI系统工作.PCI到ISA、EISA、MCA的转换由厂家提供,减少了用户的开发成本,避免了混乱.
&&& 3.使用方便
&&& 能够自动配置参数,支持PCI总线扩展板和部件.PCI设备包含配置寄存器,可用来存放设备配置的信息.
&&& 4.寿命长
&&& ·处理器独立,支持多种处理器及将来待开发的更高性能处理器,并且不依赖任何.
&&& ·支持64位地址.
&&& ·5V和3V信号环境已规范化;工业上5V到3V已完成平滑过渡.
&&& ·附加板尺寸较小.
&&& 5.可靠性高
&&& ·可以比较乐观地认为,即使超过了电力负荷的最大值,系统也可以运行.
&&& ·通过了以硬件模式进行的多小时的Spice模拟试验.
&&& ·32位、64位扩展板和部件正、反向兼容.
&&& ·在局部总线的部件级满足负载和频率需求的情况下,可以提高附加卡的可靠性和可操作性.
&&& 6.灵活
&&& ·多主控器允许任何PCI主设备和从设备之间进行点对点的访问.
&&& ·共享槽口既可以插标准的ISA、EISA、 MCA板,也可以插PCI扩展板.
&&& 7.数据完整
&&& PCI提供的数据和地址奇偶校验功能,保证了数据的完整和准确.
&&& 8.软件兼容
&&& PCI部件和驱动程序可以在各种不同的平台上运行.
&&& 二、PCI总线信号定义
&&& 1.系统信号定义
&&& CLK IN:系统时钟信号对于所有的PCI设备是输入信号.除了R#、QB#、IRQC#、IRQD#之外,其他的PCI信号都在时钟上升沿有效.这一频率也称为PCI总线的工作频率. RST # IN:复位信号.用来使PCI特性寄存器和定序器相关的信号恢复初始状态.RST#和CLK可以不同步.当设备请求引导系统时,将响应"RESET",复位后将响应系统引导.
&&& 2.地址和数据信号
&&& AD[31:00] T/S地址和数据共用相同的PCI引脚.一个PCI总线传输事务包含了一个地址信号期和接着的一个(或无限个)数据期.PCI总线支持猝发读写功能.在FR#有效时,是地址期;在IRSY#和TRDY#同时有效时,是数据期. C/BE[3::00] T/S总线命令和字节使能信号.在地址期,C/BE[3:0]#定义总线命令;在数据期,C/BE[3::0]#用作字节使能. PAR T/S奇偶校验信号.它通过 AD[31::00] 和C/BE[3::0]进行奇偶校验.
&&& 3.控制信号
&&& FRAME#S/T/S:帧周期信号,是当前主设备的一个访问开始和持续时间.FRAME#预示总线传输的开始;FRAME#失效后,是传输的最后一个数据期. IRDY# S/T/S:主设备准备好信号.当与 TRDY# 同时有效时,数据能完整传输.在写周期,IRDY# 指出数据变量存在AD[31::00];在读周期,IRDY#指示主控器准备接收数据. TRDY# S/T/S:从设备准备好信号.预示从设备准备完成当前的数据传输.在读周期,TRDY#指示数据变量在AD[31::0]中;在写周期,指示从设备准备接收数据. STOP# S/T/S:从设备要求主设备停止当前数据传送. LOCK# S/T/S:锁定信号.当该信号有效时,一个动态操作可能需要多个传输来完成. IDSEL IN: 初始化设备选择.在参数配置读写传输期间,用作芯片选择. DEVSEL#S/T/S:设备选择信号.该信号有效时,指出有地址译码器的设备作为当前访问的从设备.作为一个输入信号,DEVSEL#显示出总线上某处、某设备被选择.
&&& 4.仲裁信号
&&& REQ# S/T/S:总线占用请求信号.这是个点对点信号,任何主控器都有它自己的REQ#信号. SERR# S/T/S:总线占用允许信号,指明总线占用请求已被响应.这是个点对点的信号,任何主设备都有自己的GNT#.
&&& 5.错误报告信号
&&& PERR# S/T/S:只报告数据奇偶校验错.一个主设备只有在响应DEVSEL#信号和完成数据期之后,才报告一个PERR#.当发现奇偶校验错时,必须驱动设备,使其在该数据后接收两个数据期的数据. SERR# S/T/S:系统错误信号.专门用作报告地址奇偶错、特殊命令序列中的数据奇偶错,或能引起大的灾难性的系统错.
&&& 6.中断信号
&&& PCI上的中断设备是可操作的,定义为低电平反应.INT#信号与时钟不同步,PCI定义的一个中断向量对应一个设备;4个以上中断向量对应一个多功能的设备或. INTX# O/D其中X=A、B、C、D,被用在需要一个中断请求时,且只对一个多功能设备有意义.
&&& 7.其他可选信号
&&& (1)高速缓存支持信号 SBO#和SDONE SBO # IN/OUT:试探返回.当该信号有效时,关闭预示命中一个缓冲行. SDONE IN/OUT:预示命中一个缓冲行.当它无效时,表明探测结果仍未确定;当它有效时,则表明探测完成.
&&& (2)64位扩展信号 AD[63::32]地址:数据复用同一引线,提供32位附加位. C/BE # T/S:扩展高32位的总线命令和字节使能信号. REQ64 #S/T/S:64位传输请求.REQ#与FRAME#有相同时序. ACK64 #S/T/S:告知64位传输.标明从设备将用64位传输.ACK64#和DEVSEL#具有相同时序. PAR64 # T/S:奇偶双字节校验,是AD[63::32]和C/BE[7::4]的校验位. 在上述信号中,信号类型由每一个信号名称后边的符号表明,这些符号含义如下: IN:标准的仅输入信号. OUT:标准的仅输出信号. T/S:TRI-STATA 双向三态信号. S/T/S:一次只有一个信号驱动的低电平三态信号.驱动S/T/S信号必须在它悬浮之前维持一个时钟的高电平.新的驱动信号必须在三态之后一个时钟才开始驱动. O/D:打开负载允许多个设备来分担,共享一个"Wrie -OR". 另外一点必须说明的是,信号名称后边加一个"#"符表明是低电平有效,未加"#"符的是高电平有效.根据信号的功能分组,可分成系统信号组、地址数据组、接口控制组、仲裁管理组、错误测试组、中断功能组Cache支持组以及其他功能组.
&&& 三、PCI总线的操作
&&& 1.总线命令
&&& 总线命令是处理器发送的指向目标命令,它表明事务的类型在地址期 C/BE[3::0]#线有效时被译码.总线命令及说明见下表:总线命令表C/BE[3::0]# 总线命令表 C/BE[3::0]# 命令类型 说明 0000 承认中断 中断识别命令 0001 特殊周期 提供在PCI上的 简单广播机制 0010 I/O读 从I/O口地址中读 数据 0011 I/O写 向I/O地址空间写 数据用 0100 保留 备用 0101 保留 备用 0110 读 从内存空间映象中 读出数据 0111 存储器写 向内存空间映象 写入数据 1000 保留 1001 保留 1010 读配置 用来读每一主控器的 配置空间 1011 写配置 向每个配置空间写入 设备数据 1100 多重存储器读 只要FRAME#有效, 就应保持存器管道连续, 以便大量传输数据 1101 双地址周期 用来传输64位地址 到某一设备 1110 存储器在线读 实现多于两个32位 数据期时,语义与存 储器读相同 1111 写存储器和 使能无效 语义上等同于存储器写
&&& 2. 基本的PCI总线协议
&&& PCI上的基本总线传输机制是猝发成组传输.一个分组由一个地址节拍和一个(多个)数据节拍组成.基本的PCI传输,都是由3个信号控制的. FRAME#:由主设备驱动,指明一个数据传输的起始和结束. IRDY#:由主设备驱动,允许强迫等待周期. TRDY#:由从设备驱动,允许强迫等待周期.(下转第103版)(上接第102版) 当数据有效时,数据资源需要无条件设置XRDY#信号.一旦主设备设置了IRDY#信号,将不能改变IRDY#和FRANME#,直到TRDY#和数据结束.在多重传输中,从设备指示最后的数据已传输完返回IDLE的状态,并且FRAME#和IRDY#都必须置无效. PCI的编址.PCI总线定义了三个物理地址空间:内存地址空间、I/O地址空间和配置地址空间.这些编址是分布式的,每个设备都对自己的地址编码负责.PCI总线支持正向编码和反向编码两种类型.在I/O地址空间中,所有的32位AD线被用来提供一个完整的地址编码.在配置的地址空间中,用AD[7::2]的编码去访问一个双字节的配置命令,决定了它是一个存取的从设备. 字节使能仅被用来指出哪些字节带了有意义的数据.在每个新数据期上,可以自己改变字节使能,使之对传输数据的实际含义和有效部分进行界定.这一功能被称作"字节校正".为了避免多个设备同时驱动一个信号到PCI总线上产生竞争,在一个设备驱动到另一个设备驱动之间设置了一个过渡期,称为交换周期,用双箭头符号表示.
&&& 3. PCI总线传输
&&& PCI总线传输包含读、写和中止三个内容.为了简化起见,将读写传输的时序合成,不同部分另外标出.读传输,当FRAME#有效时,读传输开始在这个时钟期产生一个地址期AD[31::0],保持了一个有效地址,同时,C/BE[3::0]#保持了一个总线命令.第一个数据期产生于时钟3.在数据期中,C/BE[3::0]信号是字节使能,指明哪个字节通道传输的数据是有效的.当TRDY#和IRDY#有效时,数据继续传输.当FRAME#无效时,是最后一个数据期.PCI总线的传输终止不能由某一设备单方面终止,当FRAME#和IRDY#被设置无效时,IDLE总线条件满足,传输结束.
&&& PCI总线传输的一般管理规则如下:
&&& (1)FRAME#和IRDY#定义了总线忙/IDLE的状态.当其中一个有效时,总线是忙的;两个都无效时,总线处于IDLE状态.
&&& (2)一旦FRAME#被置无效,在同一传输期间不能重新设置.
&&& (3)除非设置IRDY#,一般情况下不能设置FRAME#无效.
&&& (4)一旦主设备设置IRDY#,直到当前数据期结束为止,主设备不能改变IRDY#和FRAME#状态.
&&& 4.PCI总线仲裁
&&& 为了使访问和等待时间最小,PCI仲裁基于访问而不是基于时间.总线管理必须为总线上的每一个访问执行仲裁.PCI总线执行中心仲裁机制,每一个主设备有一个单独的REQ#和GNT#信号.中心仲裁机构的特殊仲裁算法,即旋转优先级、公平性等,是最坏情况下的仲裁基础.仲裁信号协议如下: REQ#:某一设备占用总线的请求. GNT#:允许某一设备占用总线和应答. 仲裁器可以在任何时钟置某一设备的GNT#无效.
&&& 当某一设备利用PCI总线传输数据时,必须确保它的GNT#信号在时钟沿被设置.仲裁基本协议如下:
&&& (1)若设置了GNT#有效和FRAME#无效,当前的传输有效且继续下去.
&&& (2)如果总线不是在IDLE#状态,一个设备的GNT#信号有效和另一个设备的GNT#信号无效之间必须有一个延迟时钟,否则会在AD线上和PAR线有时序竞争.
&&& (3)当FRAME#无效时,为了响应更高优先级主设备的服务,可以在任意时刻置GNT#和REQ#无效.若总线占用者在GNT#和REQ#设置后,在处于IDLE#状态16个PCI时钟后,还没有开始传输,仲裁能允许当前主机"打破"这个状态.仲裁可以在任意时间移去GNT#,以服务于一个更高优先级的设备.
&&& 5.LOCK#信号遵循的规则
&&& (1)在数据期,当LOCK#被置无效时,执行访问的从设备将锁住自身.
&&& (2)锁不能跨越设备界限.
&&& (3)16位是一个主设备在锁操作中执行互斥时可以计算的最大资源.
&&& (4)锁操作的第一个传输必须是读传输.
&&& (5)LOCK#必须在紧跟在地址期的时钟上被设置,并保持设置以继续控制.
&&& (6)在数据期结束之前,重试被告知还有锁建立,则LOCK#被释放.
&&& (7)无论何时,在一存取被主、从设备打断时,LOCK#必须被释放.
&&& (8)在连续的锁操作中,LOCK#必须被置成一个最小的限制(IDLE)周期.
&&& 6. 其他总线操作
&&& 设备选择:DEVSEL#由当前事务的从设备驱动,由配置空间状态寄存器指明.
&&& 特殊周期:该命令提供了PCI上简单的信息发布机制,传达处理处机状态,或者各个从设备之间的信号发送. 地址/数据"Steping":PCI总线上的"事务代理"将限制信号的驱动,拓展到几个时钟的能力被称为"Steping".
&&& 配置周期:PCI驱动软件提供了一个初始化的配置通道和一块独立的地址空间.PC-AT兼容机定义了两种截然不同的机制,允许软件产生配置周期,这两种机制称为配置机制#1和配置机制#2.
&&& 中断确认:PCI总线支持一个中断确认周期.
&&& 纠错功能:PCI为奇偶位和其他系统纠错提供检测和报告.PCI纠错覆盖了从不关心错误的设备的检测标识和恢复.
&&& 奇偶校验:PCI的奇偶校验提供了一种机制来决定一件事务.如果数据在它们之间正确传输,则应保证执行正确的总线操作.根据规则产生奇偶校验. ·不管类型及形式,奇偶校验在所有PCI事务中被计算为一致. ·AD[31::00] C/BE[3::0]# PAR上的"1"的个数等于一个偶数. ·奇偶校验的产生不可选择,它必须由所有PCI从属设备完成.
&&& 错误报告:PCI提供了检测、标识奇偶校验和其他错误两种信号,即PERR#和SERR#.
&&& 7.Cache支持
&&& Cache对共享内存的支持由SDONE和SBO#引脚来实现.它们在桥/缓存与存储请求的从设备之间传递Cache状态信息.桥/缓存侦听PCI上的内存访问,并决定从设备要什么样的响应,以保证系统内存的一致性. PCI总线的操作时序十分严格,对信号控制考虑的比较周全,详细内容请查阅PCI总线规范2.0版.
&&& 四、PCI总线电气规范
&&& 电气规范定义了所有PCI元件、系统扩展板的电气性能和约束.规范提供了5V和3.3V两种信号环境.5V到3.3V的组件技术可以使电压平滑转换.扩展板的区别是他们的信号约定,而不是他们的供电电压.5V环境基于绝对电压,与 TTL 开关电平相适应.3.3V环境与此相反,它基于VCC 相对开关电压,是一个最优的C逼近电平.在系统板上,允许的最大时钟相位偏移是2ns,这个值是在任意两元件间测量的. 为了精确时钟相位偏移,系统产品的开发者必须考虑扩展板上的时钟分配.PCI总线的复位信号RST#有效和无效与CLK异步;必要时,PCI总线也可能使RST#和CLK同步. 所有的都需要4条线:+5V、+3.3V、+12V和-12V.其中,3.3V由需要该电压的扩展板提供,+5V和±12V必须由系统提供.电源供电时的启动或停用没有明确的时序,当超过安全极限时,RST#信号发生作用,以保障系统安全.
&&& 系统产品设计者在电气上应注意两个约束:
&&& (1)线路长度和信号速率必须允许在规定的10ns传播延迟内传遍总线全程.
&&& (2)网络中任一驱动点的负载阻抗必须是:PCI输出设备与输入设备的规格在信号反射上相配合.
&&& 五、PCI总线机械规范
&&& PCI总线扩展卡有标准长度和较短长度两种,最大尺寸可达312×106.68mm2.详见PCI总线规范2.0版.
&&& 六、配置空间
&&& PCI总线实现了参数自动设置功能.每个PCI设备必须提供256字节的空间结构,头部结构占64字,把需要的设备寄存器置于64~255之间.PCI总线上的软件可能要检查PCI总线,确定总线上实际存在什么设备.所有PCI从设备必须支持头域向量ID、设备ID和状态位.结构空间要求配置说明、初始化和灾难性错误处理功能,它由初始化软件和错误处理软件所决定.PCI总线自动配置时,必须遵守有关的规范,以避免不必要的混乱. 设备控制由命令寄存器提供了粗略的控制能力,来产生PCI总线命令.命令寄存器的每一位都有确切的含义.设备状态寄存器常用来记录与PCI总线有关事件的信息.状态寄存器的读与一般寄存器的读一样,而写时则要应用复位的方法将对应的状态位置位. 配置空间中还有等待时间寄存器、内部自测寄存器、中断寄存器等.配置空间寄存器的操作,完善了PCI总线的自适应能力,提供了友好的用户界面. PCI总线规范为专用设备的初始化和系统启动提供了扩展ROM结构.一般情况下,POST系统码对扩充的PCI设备和母板上的设备同等对待,只是在处理扩展ROM时有例外.附录A、B、C提供了特殊的序列信息:PCI总线的状态机,仅用作帮助描述PCI总线协议;PCI总线的操作规定,有25条,详细描述了PCI总线上数据传输的基本规则. PCI总线是模块间传递信息的高速通道,是广泛用于各类计算机系统高速外围设备与处理器间的高性能总线.PCI总线有着严格的时序和灵活的自动配置能力,是一种具有广泛应用前景的总线.对PCI总线规范的研究工作,应作为战略技术来看待,只有高瞻远瞩才能走在技术发展的前头.
32位/64位pci总线接口信号定义
&&& 卡的外观
& pci信号定义
PCI 总线协议基础详解
&&& 协议基础
&&& PCI基本总线协议传输机制是猝发成组数据传输.一个分组由一个地址相位和一个或多个数据相位组成.
&&& 1.PCI总线的传输控制
&&& PCI总线上所有的数据传输基本上都是由以下三条控制的:
&&& FR#:由主设备驱动,说明一次数据传输周期的开始和结束.
&&& DY#:由主设备驱动,表示主设备已经作好传送数据的准备.
&&& TRDY#:由从设备驱动,表示从设备已经作好传送数据的准备.
&&& 当数据有效时,数据源设备需要无条件设置xRDY#,接收方可以在适当的时间发出xRDY#信号.FRAME#信号有效后的第一个时钟前沿是地址相位的开始,此时,开始传送地址信息和总线命令,下一个时钟前沿进入一个或多个数据相位.每当IRDY#和TRDY#同时有效时,所对应的时钟前沿就使数据在主从设备之间传送.在此期间,可由主设备或从设备分别利用IRDY#和TRDY#的无效而插入等待周期.
&&& 一旦主设备设置了IRDY#,将不能再改变IRDY#和FRAME#,直到当前的数据相位完成为止,而此期间不管TRDY#的状态是否发生变化.一旦从设备设置了TRDY#,就不能改变 DEVSEL#、TRDY#或OP#,直到当前的数据相位完成为止.也就是说,只要数据传输已经开始,那么在当前数据相位结束之前,不管是主设备还是从设备都不能撤消命令,必须完成数据传输.
&&& 最后一次数据传输时(可能紧接地址相位之后),主设备应撤消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支持对地址的正向译码和负向译码,所谓正向译码,是指总线上每个设备都监视地址总线上的访问地址,判断是否落在自己的地址范围内,译码速度较快.所谓负向译码,是指要接受未被其他设备在正向译码中接受的所有访问,因此,此种译码方式只能由总线上的一个设备来实现(一般是连接标准扩展总线的桥).由于它要等到总线上其他所有设备都拒绝之后才能动作,所以速度较慢.负向译码对于标准扩展总线上地址空间零散的设备是很有用的.
&&& 在I/O地址空间,所有韵32位地址都用来表示一个完整的字节地址.启动 I/O传输的主设备应确保AD[1~0]正确指示本次传输的最低有效字节(即起始字节).字节允许信号和AD[1~0]一起指明传输的数据宽度和双字中被选中的字节,表9.5表示了AD[1~0]和初始数据相位中字节允许的有效组合.
&&& 在地址空间,AD[31~2]提供一个双字边界地址,而AD[1-0]不参与地址译码,用来指明主设备要求的数据传输顺序,见表9.6.
&&& 在线性增加模式下,每个数据相位后,地址增加一个双字(即加4,对32位传输)或增加两个双字(即加8,对64位传输),直到传输结束.对于Cache行回卷(wayp)模式,传输可从Cache中任意地址偏移处开始,Cache块的长度是由配置空间中的Cache块大小寄存器定义的.访问过程中每次地址增加一个双字(64位传输中地址增加两个双字),一直到Cache块的末尾,然后回卷到同一Cache块的开始处,再进行到Cache块的剩余部分被传送完为止.
&&& 在配置地址空间,由AD[7-2]寻址64个双字寄存器.当一条配置命令的地址被译码,IDSEL有效且AD[1-0]=00时,设备判断是否寻址自己的配置寄存器,如果不是则不理会当前操作.
&&& 3.PCI总线驱动的过渡
&&& 为了避免多个设备同时驱动一个信号到PCI总线上而产生竞争,在一个设备驱动到另一个设备驱动之间要设置一个过渡期,又称为交换周期,如图9-6所示中用互相指向对方尾部的双箭头符号表示.不同信号的交换周期出现的时刻可能不同.对于IRDY#、TRDY#、S
&&& TOP#、DEVSEL#等信号,都利用地址相位作为它们的交换周期;而对于FRAME#、C/BE[3~0]#、AD[3l~00]等信号,则是利用数据传输之间的空闲期作为交换周期.
&&& 4.PCI总线数据传输过程
&&& PCI 采用地址/数据复用技术,每一个PCI总线传送由一个地址相位和一个或多个数据相位组成.地址相位由FRAME#变为有效的时钟周期开始.在地址相位,总线主设备通过C/BE[3~0]#发送总线命令.如果是总线读命令,在地址相位后需要一个交换周期,该周期过后,AD[3l~0]改由从设备驱动,以接纳从设备的数据.对于写操作没有过渡期,直接从地址相位进入数据相位.数据相位的个数取决于要传送的数据个数,一个数据相位至少需要一个PCI时钟周期,在任何一个数据相位都可以插入等待周期.FRAME#从有效变成无效表示当前正处于最后一个数据相位.
&&& 总线操作结束有多种方式.在大多数情况下,由从设备和主设备共同撤消准备就绪信号TRDY#和IRDY#.如果从设备不能继续传送,可以设置STOP#信号,表示从设备撤消与总线的连接.所寻址的从设备不存在或者DEVSEL#信号一直为无效状态都可能导致主设备结束当前总线操作,使FRAME#和IRDY#变为无效,回到总线空闲状态.
&&& 1)PCI总线上的读操作
&&& 一旦FRAME#信号有效,地址相位便开始,并在时钟2的上升沿处稳定有效.在地址相位内,AD[31~00]上包含有效地址,C/BE#[3~0]上包含一个有效的总线命令.数据相位是从时钟3的上升沿处开始的.在此期间,AD[31一00]上传送的是数据,C/BE#线上的信息用于指定上哪些字节有效(即哪几个字节是当前要传输的).需要强调的是,无论是读操作还是后面要讲的写操作,从数据相位的开始一直到传输完成,C/BE#的输出(或锁存器)必须始终保持有效状态.数据的真正传输是在IRDY#和TRDY#同时有效的时钟前沿进行的.当这两个信号之一无效时,就表示需要插入等待周期,此时,不进行数据传输.这说明一个数据相位可以包含一次数据传输和若干个等待周期.图中所示的时钟4、6、8处各进行了一次数据传输,而在时钟3、5、7处插入了等待周期.
&&& 在读操作中的地址相位和数据相位之间,AD线上要有一个总线交换周期,这通过从设备强制TRDY#实现,即让TRDY#的发出比地址晚一拍.在交换周期过后且DEVSEL#信号变为有效时,从设备必须驱动AD线.
&&& 尽管主设备在时钟7处已知道下一个数据相位是本次传送的最后一个,但由于某种原因它暂时不能完成该次传输(此时IRDY#无效),所以主设备还不能撤消 FRAME#,只有在时钟8处,IRDY#变为有效后,FRAME#信号才能撤消,从而通知从设备这是最后一个数据相位.
&&& 2)PCI总线上的写操作
&&& 第一个和第二个数据相位中没有等待周期,而在第三个数据相位中连续插入了3个等待周期,注意,第一个等待周期是由传输双方共同引起的.告诉从设备最后一个数据相位的方法与读操作时相同,即当FRAME#撤消后,还需要IRDY#处于有效状态.这里,主设备在时钟6处使IRDY#恢复有效,通知从设备这是最后一个数据相位,但由于从设备未准备好,最后一次数据传输到时钟8才完成.
&&& 从图中AD和C/BE#的波形可看出,主设备发送数据可以延迟,但字节允许信号不受等待周期的影响,不得延迟发送.
&&& 上述的读/写操作均是以多个数据相位为例来说明的.如果是一个数据相位,
&&& FRAME#信号在没有等待周期的情况下,应在地址相位(读操作应在交换周期)过后即撤消.对于一个数据相位,中间亦可插入等待周期.
&&& 3)PCI总线传输的终止过程
&&& 无论是主设备还是从设备,都可以提出终止传输的要求,但不一定得到响应.也就是说,双方均无权单方面终止传输,而需要相互配合,但传输的最终停止控制要由主设备完成.
&&& (1)由主设备引发的终止
&&& 主设备是通过撤消FRAME#并建立IRDY#来提出终止请求的,这样做是为了通知从设备,现在己进入了传输周期中最后一个数据相位.此后,IRDY#一直保持有效直到TRDY#信号有效,完成最后一个数据的传输.接着便撤消IRDY#,从而达到完全终止的条件(FRAME#和IRDY#同时无效),结束传输,进入总线空闲状态.
&&& 主设备一般在下列情况下会提出终止传输:
&&& ①一次数据传输即将结束(剩下一个数据未传输).
&&& ②总线上有更高优先级的总线占用请求,而总线仲裁器取消当前主设备的总线控制权(移去了GNT#信号).
&&& ③主设备发出了FRAME#后在规定的时间内没有检测到目标设备的DEVSEL#响应信号.
&&& (2)由从设备引发的终止
&&& 从设备可以通过STOP#信号请求终止传输.一旦STOP#有效,就必须保持有效到主设备置FRAME#无效.IRDY#和TRDY#之间的关系与 STOP#和FRAME#之间的关系无关.所以,在从设备请求终止期间数据仍可以传送,这仅取决于当时IRDY#和TRDY#的状态.
&&& 从设备可由下面两种原因请求终止传输:
&&& ①从设备正处于不能传送数据的状态.例如,设备的数据缓冲器满,暂时不能接收数据,或者因数据缓冲器空而不能发送数据等.待传送条件满足后,重新启动传输.这种情况称为"重入(Retry)".
&&& ②由于从设备的响应速度太慢,在PCI引导时间长度(8个时钟周期)不能作出响应以及在猝发传输中,从设备检测到下一个数据的地址已经超出规定的范围等原因而提出终止传输请求.此种情况称为"解除连接(Discnect)".
PCI接口扩展卡的快速开发方案
&&& 随着计算机和控制技术的不断发展,很多工程人员都选用PC机作为控制系统的操作平台.为了能够和外部设备通信,PC机上提供了外置的USB、、并口及内置的ISA、PCI等.PCI接口速度快,系统占用率低,有完备的即插即用(PnP)管理体制,是目前计算机插卡式外设总线的事实标准.
&&& 笔者设计了一块PCI总线多功能CAN通信I/O卡,可以完成数字量I/O、CAN总线通信的功能.本文将根据笔者的实际经验,介绍PCI接口扩展卡的软硬件设计流程和一种快速开发方案.
&&& 1 PCI总线简介
&&& PCI总线标准[1]由PCISIG(PCI Special Interest Group)制定,该组织的成员有、IBM、DEC等公司.目前PC机中使用的PCI总线标准主要以PCI2.0为主,其频率为33MHz,字宽为32bit,电压为5V.新版的PCI标准向下兼容,并支持66MHz时钟,字宽为64bit,电压为3.3V.
&&& PCI总线是一种时分复用的双向应答总线,传输发起方称为主设备,接收方称为从设备.主设备用FRAME信号指示,从设备拉低它的DEVSEL线表示响应传输请求.PCI总线的数据传输以帧为单位,每次传输由一个地址周期(Address Phase)和多个数据周期(Data Phase)组成,如图1所示.AD0~AD31首先给出本次传输的首地址,后面紧跟一个或多个32位(4字节)宽的数据,多个数据的地址自动递增.在地址周期,C/BE0~C/BE3这四根线的不同组合指示出在AD0~AD31上将要进行何种类型的操作,如C/BE0~C/BE3=0110表示读,C/BE0~C/BE3=0011表示I/O写.在数据周期,C/BE0~C/BE3对应AD0~AD31上四个字节的使能.IRDY和TRDY分别表示主设备准备好和从设备准备好.在传输过程中,只有IRDY和TRDY同时有效,传输才能继续;否则插入等待周期,用于在不同速度的设备之间协调工作.
&&& 计算机的一般会用到I/O端口、存储器空间、中断及DMA等计算机资源.传统ISA接口卡通过更改跳线来避免多块卡之间的资源冲突,PCI接口卡则摒弃了硬件跳线,由软件统筹分配资源,这被称为即插即用.为实现此功能,PCI协议除了可以对I/O空间、存储器空间读写外,还定义了对配置空间的读写(C/BE0~C/BE3=).所谓配置空间,是指映射到每块接口卡上的256字节的特殊功能寄存器.设计者事先在配置空间的指定位置写入需要申请使用的资源量,上电后,由PnP-Bios读取各卡的配置空间,对它们所需的资源进行统筹分配,再将分配结果写回对应的配置空间地址,完成自动配置.
&&& 2 PCI接口卡的硬件设计及调试
&&& 以笔者设计的PCI卡为例,使用SJA1000实现CAN总线通信功能,需要映射32字节的存储器空间和一个中断资源,在功能上属于PCI从设备(Target-only Device).SJA1000的对外接口可以直接与及ISA总线连接,但是不能与PCI总线直接连接,因此需要设计用于逻辑转换的接口电路.
&&& PCI接口电路的设计一般有两类方法:一类是使用/CPLD等可件开发逻辑转换电路.根据实现功能的多少,所需的等效门密度约为门,可自行编程或者购买已有"软核"(IP CORE)的产品实现;另一类是使用标准接口芯片对PCI总线逻辑信号解码.第一种方法开发成本高、难度大、周期长、测试设备昂贵,但是批量生产成本很低,适合大规模全定制或半定制ASIC的生产.第二种方法相对简单、开发周期短、性价比合理,适合本方案采用.市场上的接口芯片供应商有PLX、AMCC、TI等公司.其中,PLX公司的接口芯片PLX9052[2]价格便宜、供货渠道畅通、功能适用,因此这里选用PLX9052.
&&& 采用PLX9052的接口卡在逻辑上可分成三个功能模块:PCI接口部分、部分和局部总线部分,如图2所示.
&&& PLX9052提供完备的PCI从设备支持,PCI接口部分的47根可以直接与PCI(俗称金手指)连接.PCI连接器上有两根特殊的引线PRSNT1#和PRSNT2#,它们不参与PCI协议操作,只用来告知主板该卡消耗的电功率.
&&& PLX9052 将PCI总线上的操作转换为对局部总线的操作,即通过LAD0~LAD7、RD、WR、CS等对SJA1000的寄存器进行访问.举例来说,如果系统上电后分配给本卡的存储器地址空间为F680 0000~F680 001F,那么当系统通过PCI总线访问这个区域时,PLX9052会应答,并将其转换为局部地址0xF,对应于SJA1000的32个内部寄存器.另外,PLX9052自身也有一些内部寄存器,它们被自动映射到另一片区域,可通过PCI总线直接访问.
&&& PLX9052提供三种类型的局部总线信号:标准ISA模式、复用模式和非复用模式,其中复用模式和SJA1000的接口最吻合.此模式的信号和8051输出的信号基本相同,可以直接与SJA1000及其它类似接口的芯片相连,只是片选信号不再需要外部地址译码电路,而是由PLX9052内部逻辑完成.
&&& 局部总线的时钟可以与PCI时钟异步,由有源提供.控制信号LHOLD接地表示局部总线无需申请等待周期.LINTi1是中断申请线,接有上拉,确保无中断时停靠在空闲状态.USER0~USER4是可编程I/O引脚,USER0、1设置为输入,USER2、3设置为输出,由PLX9052的内部寄存器控制,实现数字I/O功能.SJA构成CAN总线接口电路,最高可支持1MHz的通信速率.
&&& EEPROM部分用于初始化PLX9052的寄存器,在系统上电后读取.PLX9052的EECS、EEDO、EEDI、EESK引脚分别与串行EEPROM 93LC46的对应引脚相连,其中EEDO引脚加有上拉电阻,使得在未安装EEPROM时,EEDO始终保持高电平状态,PLX9052仍然能够以缺省设置运行.以下对几个主要寄存器的设置进行说明.
&&& VendorID和DeviceID:生产厂商代号和芯片代号.VendorID由生产商向PCISIG申请,DeviceID由生产商自行制定.PLX公司的VendorID为10B5,PLX9052的DeviceID为9050,故设为10B5 9050.
&&& ClassCode:表示PCI卡属于哪种类型,如多媒体卡、显卡等.本设计中将其定为,表示PCI桥(PCI Bridge)设备.
&&& Local Address Space 0 Range:设为FFFF FFE0,表示申请32字节的存储器空间.
&&& Local Address Space 0 Local Base Address(remap):设为,表示将PCI总线上的地址转换为局部总线地址0xF.
&&& Chip Select 0 Base Address:设为,表示在局部总线地址为0xF时,局部总线的片选信号有效,用于SJA1000的片选.
&&& Interrupt Control/Status: 设为, 表示中断使能,响应LINTi1上的中断申请.
&&& CNTRL: 设为,表示USER0、USER1引脚用于输入,USER2 、USER3引脚用于输出,初始值分别为0、1,PCI数据传输等待超时长度为12个时钟周期.
&&& 根据PCI标准和PLX9052的说明文档,PCI连接器上所有的VCC、Vi/o 5V电源连接到一起,所有的GND端连接到一起,在尽可能靠近PLX9052电源引脚的地方放置高频去耦电容.PCI总线的时钟频率为33MHz,不恰当的布线会导致信号线之间的延时关系混乱,因此PCI协议对布线做了严格的规定,要求主时钟PCI_CLK线的长度为2.5英寸,误差应小于0.1英寸,其它引线短于1.5英寸,推荐使用.设计中可以参考市面上的声卡和网卡布线实例,如考虑成本等因素,也可只使用两层板,双面覆铜接地.经实践验证该卡能够稳定工作.
&&& 3 PCI接口卡驱动程序及软件设计
&&& 在DOS环境下,操作系统对应用程序开放所有权限,开发人员可以使用汇编指令、BIOS函数等任何方法操作硬件资源,此处不再赘述.
&&& 在Windows系统中,为避免因不当的硬件操作而导致系统崩溃,应用程序不再具有直接的硬件访问权,如果要操作硬件,必须借助设备驱动程序.现有的Windows系列操作系统产品众多,所使用的设备驱动程序结构也有所不同.其中,VxD型驱动程序最古老,适用于Win3.x、Win95、Win98等操作系统;WinNT型驱动程序只适用于WinNT4.x以下版本的操作系统;WDM型驱动程序是WinNT型驱动程序的升级版,适用于Win98、Win2000、WinXP等操作系统,是今后几年的应用主流.
&&& Microsoft为设备驱动程序的编写提供了一些,如Windows Device Drivers Kit(简称DDK),它包含了驱动开发所需的各种类型的定义和内核函数库.如果直接使用DDK,开发者需要了解整个系统体系结构和WDM规范,熟谙上千个DDK函数的功能和使用场合.用这种方法编制的驱动程序有很高的运行效率,但是开发难度大,测试流程繁琐,一般用于有一定研发和生产需求的单位.
&&& 为减轻开发者的负担,很多第三方厂商提供了辅助软件.如Numega公司的DriverStudio软件,它将DDK函数按照逻辑功能组织,把很多常用功能封装成类,建立了一个基于C++语言的面向对象的编程环境.开发者面对的不再是上千个复杂凌乱的DDK函数,而是逻辑清晰的类库,大大降低了开发难度和开发周期,获得了广泛的应用.
&&& 对于速度要求不高、实时性要求不严的场合, Jungo公司的Windriver[3]软件提供了一种更加快速简洁的解决方案.它内置一个名为Wdpnp.sys的通用核心态WDM驱动程序,将一些基本的操作如存储器读写、I/O端口读写、中断服务、DMA操作等进行了封装,开发者只需编写一个外壳程序来调用这个驱动程序,就可以对硬件设备操作,如图3所示,图中灰色的部分表示Windriver已经提供.
&&& Windriver提供的驱动程序经过充分优化,功能完备,在通用性和高效性之间做了很好的平衡.另外,Windriver专门为PLX公司的芯片开发了软件包,因此非常适合在本方案中使用.
&&& Windriver启动后,会自行发现计算机上的所有即插即用设备,如图4所示.其中"PCI:PLX PCI 9050 Target PCI Interface Chip"即指本卡.点击"Generate.INF file'按钮可以生成INF文件,系统
&&& 用它提供的信息安装Wdpnp.sys.
&&& 为方便在用户态驱动代码中操作SJA1000 和PLX9052的寄存器,可以使用Windriver为已映射的存储器地址命名,如图5所示,图中CAN_IR表示中断寄存器,CAN_CR表示控制寄存器,等等.
&&& Windriver的核心态驱动程序内置了中断服务函数,它的作用有两个:一是发送硬件清中断指令,用户在初始化阶段告知Windriver如何清中断(一般是对板卡上的某个寄存器进行读写),由核心驱动程序自动完成.二是通知应用程序有中断到来,回调用户程序的中断响应函数.
&&& 用Windriver可以生成一个基于C语言的应用程序函数库,用户通过这些库函数控制内核驱动程序.现以笔者编制的程序为例进行介绍,工程文件名取为CAN01.
&&& 在初始化阶段,先使用 WD_Open()打开驱动程序,再用CAN01_Open()设置驱动程序工作参数,生成一个CAN01实例,最后用CAN01_IntEnable()设置用户态中断响应函数.
&&& 在退出应用程序前,先清除所有未处理的中断,释放分配的内存,再用CAN01_Close()删除CAN01,最后使用WD_Close()关闭驱动程序.
&&& 对SJA1000和PLX9052的寄存器的操作通过两个函数完成,可以实现CAN总线通信和数字量I/O等功能:
&&& 读操作CAN01_ReadByte(),
&&& 写操作CAN01_WriteByte().
&&& 本文根据笔者的实际经验,介绍了开发PCI总线扩展卡的软硬件流程,给出了一套快速可行的解决方案.该方案电路简单、调试方便、编程高效、可以使技术人员迅速掌握PCI总线的开发技术,从而设计符合个性要求的多功能扩展卡.
WIMAX系统中PCI接口的设计与实现
&&& WiMAX是基于IEEE 802.16标准的宽带无线接入城域网技术,根据IEEE 802. 16标准,用Verilog HDL设计了.
&&& 并在上实现了PCI接口的功能,重点描述了状态机的设计和仿真结果,使用技术提高了开发速度,满足了系统的要求.
&&& 1.&& 引言
&&& 随着计算机控制技术在各个领域的深入应用,为计算机与被控设备之间提供方便、实用通信方法的PCI(Peripheral Compent Interconnection)接口成为必不可少的接口部件,其主要功能是完成用户设备与PCI总线间的信息传送接口.
&&& 使用可件进行PCI接口的设计,可以将其他用户逻辑与PCI接口逻辑集成在一个上,提高系统的开发速度,缩短二次开发周期、降低成本,提高系统的集成度和可靠性.
&&& 以下是在进行WiMAX(World Interoperability for Microwave Access)的SOC系统开发时,按照PCI总线2.2版本的规范,根据PCI总线传输时序来进行状态机构造,所设计的PCI总线接口既可支持PCI常规传输,也可支持PCI猝发(burst)传输.
&&& 2.&& WiMAX系统构成
&&& 2.1 WiMAX硬件系统构成
&&& IEEE802.16协议由MAC(链路)子层和PHY (物理)子层构成,WiMAX系统的硬件构成如图1所示,其中物理子层对基带信号进行处理,也即图中的'基带'模块(: Base Band),该模块的功能是进行编码/解码、同步、带宽请求、IFFT / FFT(快速傅立叶变换/反变换)、交织/反交织等处理;图1中的其余部分与软件系统一起构成MCA子层,其主要功能是入网注册、获取链路参数、测距、基本能力协商等配置管理工作以及QoS(quality of Service) .
&&& 终端通过PCI总线与工作站进行通信,也可以通过自主开发的射频系统进行无线传输.终端以无线方式与基站进行通信,而基站与基站之间通过Internet进行通信.
&&& 2.2 WiMAX硬件系统设计过程
&&& 图1& WiMAX硬件系统构成
&&& 在进行系统设计时,首先根据系统的功能和现有条件进行合理的软硬件功能划分,然后按照自顶向下的方法进行软件和硬件系统的协同设计,硬件系统由图1所示的各中层模块构成,在此基础上再对各部分进行细分,直至底层各子模块的功能全部描述完毕.然后运用EDA技术,使用Verilog HDL语言进行各底层模块、中层模块直至顶层模块的综合功能设计、功能模拟和定时分析,通过仿真后下载到FPGA芯片中进一步进行功能验证和参数测试,然后进行后端版图的设计、直至流片成功.因篇幅所限下面只介绍系统中PCI模块的设计仿真过程.
&&& 3.PCI总线接口模块设计
&&& 3.1& PCI接口系统的功能模块构成
&&& PCI接口由如下子模块构成:地址检查模块、glue模块、校验模块、数据retry模块、空间配置计数模块、状态机模块及外部三总线逻辑.
&&& 地址检查模块用来检查接受到的地址是否在配置空间所配置的地址范围之内;glue模块在地址有效期间锁存来自总线的PCI命令和地址信息,以备后用;校验模块在读周期产生校验位,以确定所接受到的数据是否正确;数据retry模块在PCI应答了一个没有READY(未准备好)的读/写操作时,PCI设备retry数据(保持总线),直到超时;PCI接口的核心模块是空间配置模块和状态机模块.空间配置模块提供一套现行的、可预见的系统配置机构的配置措施,使之实现完全的设备再定位而无需用户干预进行安装、配置和引导,并由与设备无关的软件进行系统地址映射,以支持即插即用功能;状态机控制保证了板卡能按正常的PCI时序工作,是PCI接口的核心部分.
&&& 3.2& PCI总线控制器状态机模块的设计及实现
&&& 状态机模块包含了所有PCI状态机的状态转移和实现,在一个给定的PCI操作期间,状态机由IDLE状态经三条可能的路径到达其它状态.根据地址周期PCI_CBE_l和PCI_IDESL上的值来决定是什么操作:配置空间的读写、和I/O的读或写.PCI设备的状态机及转移图如图2所示.因篇幅限制,状态名、状态变量说明参考如下verilog代码注
&&& 图2 状态转移图
&&& module state_machine (devsel_l, …);
&&& output devsel_l;&&&&&&&& // 三态输入
&&& output trdy_l;&&&&&&&&&&& // 三态输入
&&& output stop_l;&&&&&&&&&&& //三态输入
&&& output pci_ad_&&&&& // PCI 地址线的使能信号
&&& output dts_&&&&&&&&&& // the devsel, trdy_l, stop_l (dts)信号的使能控制信号
&&& output par_&&&&&&&&& // 校验使能控制信号
&&& output bk_&&&&&&&&&& // 用户端的使能控制信号
&&& output pci_ad_&&&&& // PCI 地址启动寄存器的时钟使能信号
&&& output abort_&&&&&& // 设置abort信号状态寄存器位
&&& output data_write_l;&& // 数据写信号,用作pci_clk 信号到用户端设备的时钟使能
&&& output count_rst_l;&&& // 重试计数器的复位信号
&&& output count_en_l;&&&&&&&&&& // 重试计数器的时钟使能信号
&&& output base_region0_l;&& // 片选信号
&&& output base_region1_l;&& //片选信号
&&& output data_read_l;&&&&&& // 用户端设备读信号
&&& output be_&&&&&&&&&&&&&& // 用户端口字节使能信号
&&& input hit_ba0_l;&&&&&&&&&&& // 用于说明PCI地址在base address 0
&&& input hit_ba1_l;&&&&&&&&&&& //用于说明PCI地址在base address 1
&&& input pci_frame_l;&&&&&&& // pci_frame_l 信号
&&& input pci_&&&&&&&&&&&& // pci_idsel 信号
&&& input pci_irdy_l;&&&&&&&&&& // pci_irdy 信号
&&& input [31:0] pci_&&&&& // 原始的pci 地址数据线
&&& input [3:0] pci_cbe_l;&&& // 命令/字节使能信号
&&& input data_stop_l;&&&&&&& // 用户端申请中止数据传输信号
&&& input ready_l;&&&&&&&&&&&&& // 用户准备开始一个传输周期
&&& input retry_l;&&&&&&&&&&&&&& // 重试信号
&&& endmodule
&&& 图3& 状态机模块仿真图
&&& 状态机模块的仿真波形如图3所示. PCI总线接口的顶层gdf文件如图4.
&&& 图4& PCI接口gdf文件
&&& 4.结论
&&& 在本设计中,根据PCI总线传输时序来进行状态机构造,用Verilog HDL语言进行功能模块的设计, 在Modelsim环境下进行模拟仿真和定时分析,所设计的PCI接口时钟频率为33MHz, 数据宽度为32位.支持单数据段和突发传输两种方式.提供奇偶校验生成和奇偶校验检测, 实现16个双字的PCI 配置空间寄存器, 支持配置空间的读与写、I/O 读写、读与写等PCI总线命令,满足了WiMAX系统的通信要求.
基于FPGA的PCI接口控制器的设计与实现
&&& 是高速同步总线,采用高度综合优化的总线结构,目前广泛应用于各种计算机系统中,总线以32位(或64位)数据总线、33MHz(或66MHz)的时钟频率操作,具有很高的数据传输速率.
&&& 目前开发PCI大体有两种方案,
&&& 一种是采用专用的PCI接口,实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的用户接口.采用这种方案,用户只要设计转换后的总线接口即可,其优点是缩短了开发周期,缺点是用户可能只用到PCI接口的部分功能,因此而造成逻辑资源浪费,缺乏灵活性.
&&& 一种是使用可件,采用进行PCI接口设计,这样可以依据插卡功能进行最优化.这种方案设计灵活,不必实现所有PCI功能,节约系统的逻辑资源.
&&& 本文所述设计方案是采用公司的Virtex2系列XC2V6000芯片来实现PCI主/从设备接口控制器.通过PCI总线使得计算机上的视频码流传送到中.对FPGA的设计全部采用Verilog HDL语言作为设计输入,并且为解码部分功能的实现预留了足够的空间.
&&& 系统结构设计
&&& 为了对视频流进行解码,需要快速而大量的数据传输.本设计简述了一种通过PCI总线通信的.通过Ho主机对目标设备的控制,即可以做目标设备,也可以做主设备.在默认情况下,实验板目标设备处于工作状态为主设备为空闲状态,主控Host通过I/O方式进行寄存器的读写控制操作.当需要传输大量数据时,Host通过写I/O方式通过实验板申请PCI总线的使用权,PCI总线申请成功后,实验板主设备开始工作,通过DMA方式与主控Host进行通信.
&&& PCI总线配置空间的实现
&&& 当实验板的目标设备工作时,需要对其配置空间进行配置.PCI总线定义了3种物理地址空间:地址空间、I/O地址空间和配置地址空间.前两者是普通的计算机系统地址空间,而配置空间是PCI所特有的.根据PCI总线规范[1],所有的PCI设备都必须提供配置空间.PCI总线仲裁器首先访问一个目标设备的配置空间,以确定总线上存在的设备,主机Host才能继续对这个目标设备进行其他类型的访问,如访问、I/O访问.配置空间是长度为256字节并且有特定记录结构或模型的地址空间,可以在系统自举时访问,也可在其他时间访问.配置空间访问时,对配置空间读令名为"";对配置空间写命令为"".依据PCI规范[1],可设定配置空间中的各寄存器值如下: 供应商ID:9918H;设备ID:2003H;修订ID:01H,分类代码:078000H.这是一个非标准PCI设备,所以任意使用了一个保留值. 命令字:0001H.表示只支持I/O读写控制. 基地址寄存器:目标设备只用到一个基地址寄存器,在此基础上实现多个寄存器,定义控制寄存器地址为:基地址+2cH;数据传输寄存器地址为:基地址+18H. 其他没有用到的配置寄存器在读时全返回0.
&&& 主设备工作机制
&&& 主控Host首先分配两个内存空间,一个用于存放地址信息,一个用于存放真正的数据.当实验板做主设备时,数据传输使用DMA方式对存储器空间直接进行读写操作,数据传输结构如图2所示. 主设备先进行存储器读操作,以从内存空间1中读取主控Host分配的pagea和pagecnt.主设备得知内存空间2的地址后,即可在传输数据时,读取或者写入到这些真正的数据存储区.实验板做主设备时,为了不和主控Host上的其他主设备冲突,设定突发长度为8,传输8个32位数据后释放PCI总线,然后开始申请总线使用权,以便继续传输数据.上述操作均由时序状态机进行控制.
&&& 主设备时序状态机
&&& 时序状态机是PCI接口控制器的核心,各种令名、数据交换、控制均在状态机的管理下进行工作,实验板做目标设备的状态机就不在这里介绍了. 这一状态机共有8个状态,分别是:MSTATE_IDLE、MSTATE_REQ、MSTATE_ADDR、MSTATE_DATA、MSTATE_LAST、MSTATE_ADDR_P、MSTATE_DATA_P、MSTATE_LAST_P.他们代表总线作业时的不同阶段,意义如下: MSTATE_IDLE:主设备空闲状态.实验板目标设备工作,当Host通过写I/O方式通知目标设备需要开始以DMA方式传输大量数据时,start信号有效,主设备开始申请总线使用权,状态跳转到MSTATE_REQ. MSTATE_REQ:主设备开始申请总线使用权状态.主设备开始申请总线使用权,使连接到仲裁器上的req_o_信号有效,通知仲裁器实验板的主设备需要使用PCI总线,等待仲裁器的裁决.实验板主设备得到可以使用总线的通知时,必须等到前一个正在占用总线的主设备完成其传输,并且释放总线后,才能真正使用PCI总线,即实验板主设备需要采集到frame_i_无效并且irdy_i无效.当pagecnt=0表示一页数据已经传输完毕,于是开始读取下一页数据的存放地址,状态跳转到MSTATE_ADDR.当pagecnt!=0表示一页数据还未传完,状态跳转到MSTATE_ADDR_P,继续这一页数据的传输. MSTATE_ADDR:主设备页地址状态.这个状态frame_o_信号有效,开始地址周期,ad上出现的是32位页地址信息,cbe_o_上出现的是存储器读命令,这个状态是准备做存储器读操作,在总线上送出地址后,跳转到MSTATE_DATA. MSTATE_ADDR_P:主设备数据地址状态.这个状态同MSTATE_ADDR状态一样的是,开始地址周期.所不同的是ad上出现的是在MSTATE_DATA状态下读到的32位数据地址信息.根据需要,可以进行读/写存储器操作. MSTATE_DATA:主设备读页信息状态.这个状态是读存储器,irdy_o_信号有效.数据真正的传输是在trdy_i_信号和irdy_o_信号同时有效时,可以读取到数据是页信息,代表存放数据的地址信息和存放数据的长度.数据传输的突发长度是2,所以一次PCI访问读取两个32位数据,读完一个数据后状态立即跳转到MSTATE_LAST去读取最后一个数据.当Host主机要求停止数据传输时,通过使stop_i_信息有效告诉主设备,主设备必须放弃这次数据的传输,状态跳转到MSTATE_LAST. MSTATE_DATA_P:主设备读/写数据状态.这个状态是数据的传输,突发长度是8,一次PCI访问可以读取8个32位数据,当cnt=2时,表示读完7个数据,状态跳转到MSTATE_LAST_P.与状态MSTATE_DATA一样,如果Host主机要求停止数据传输时,主设备必须放弃这次数据的传输,状态马上跳转到MSTATE_LAST_P. MSTATE_LAST:主设备读取最后一个页信息状态.该状态下frame_o_信号无效,irdy_o_信号有效,表示这是最后一个读取数据周期,数据传输和MSTATE_DATA状态一样,是在trdy_i_信号和irdy_o_信号同时有效时.当Host主机要停止数据传输时,stop_i_有效,主设备释放总线并回到MSTATE_IDLE状态,准备开始申请下一次总线使用权,以进行数据传输. MSTATE_LAST_P:主设备读取最后一个数据状态.这个状态同MSTATE_LAST一样,读取的是这次PCI访问的最后一个数据.
&&& 结束语 本文介绍了在FPGA上实现PCI接口控制器的设计方案,通过实验板做主设备进行大量数据的高速传输.采用对主控Host内存的直接读/写进行数据传输,用突发方式使用背靠背单数据传送,在时钟频率33MHz下,数据流量接近每秒33百万次传送,实验中数据传输效果很好,完全符合PCI总线的要求,这种设计提供了灵活的接口控制,为后续的视频解码IP核提供了良好的借口.
PCI总线接口技术及其在高速数据采集系统中的应用
&&& 摘要:一种基于& 的高速数据采集的实现,讨论了PCI 总线控制器 9054 的性能及三种传输模式,提供了该系统的硬件实现和采用DMA 传输方式实现数据传输的设计.
&&& 关键词:PCI& 总线 PCI 9054 总线控制器 DMA
&&& 数据采集是数字信号处理中非常重要的环节.对于不同的任务,数据采集要达到的技术指标也不相同.对于瞬态信号,雷达信号和图像处理都需要几 MB/s& 甚至几十 MB/s 的超高速采集速率.目前用于PC 机的大部分是基于ISA& 总线的, 这种结构的最大缺点是传输速率太低, 不能实现数据的实现高速传输.PCI& 总线推出后,以其突出的性能备受计算机和通信业界的青睐,将取代以往的总线, 成为高档机及高性能工作站外部件的基石.PCI 作为局部总线,一边与处理器和总线;另一边为外设扩展提供了高速通道.33MHz& 、32 位的 PCI 总线可以实现132MB/s 的数据传输速率;64& 位的PCI 总线性能加倍.开发以 PCI& 总线为基础的数据采集设备是技术发展的必然要求.在实际工作中,利用PCI 总线将采集数据直接传到系统,可有效解决数据的实时
&&& 传输和存储,为信号的实时处理提供方便.
&&& 1 数据采集系统的结构与功能
&&& 本数据采集系统应用于雷达视频回波信号的处理.信号由两路正交视频回波信号组成,故采用双通道.采集指标:2& 路采集信号,采样率为40M 个样本,A/D& 采样字长是10& 位.每路数字信号字长取 16& 位,两路合成路共32 位,将32 位数据分别传入系统内存的不同区域,以便后续处理.系统设计以PCI 总线控制器为基础,通过DMA& 方式分别将 32& 位内存的不同区域.主要功能模块有:PCI& 总线控制器、双口SRAM、采集控制 EPLD 、A/D& 部分.系统框图如图 1& 所示.
&&& 2 PCI 总线控制器的实现
&&& PCI总线是一个地址/数据、命令/字节选择信号复用的总线.它采用主从信号双向握手的方式来控制数据的传输,其接口设计与传统总线接口电路设计没有大的区别.一般来说,一个PCI 接口电路应当完成以下几种功能:
&&& (1)地址译码及命令译码,由于 PCI 总线可以采用正向方式和负向方式进行译码.因此用户应视应用情况选择适当的译码方式.一般选择正向译码;为保证不会出现地址冲突,最好采用全地址译码;命令 C/BE[0~3]必须能加译码.
&&& (2)地址产生电路.PCI 的突发传输方式包括一个地址周期和若干个数据周期,因此在 PCI& 接口电路中必须包含高速的地址产生部件,用于向后级应用电路提供连接的地址.
&&& (3) 控制信号的产生.PCI 总线上的数据传输基本上由 FRAME& 、IRDY 、TRDY& 和DEBVSEL 4& 根信号线控制,因此必须根据主从设备的忙闲情况相应产生这些控制信号.
&&& 另外,PCI 接口电路还应完成地址锁存及数据分离、命令锁存及字节选择信号分离的功能.值得注意的是:在设计这个功能时必须考虑到PCI 规范中信号的负载能力.实现PCI 总线控制器大体有两种方式:使用可件和专用.采用 EPLD& 和 等编程逻辑器件的优点在于其灵活的可编程性.专用芯片可以实现完整的 PCI 主控模块和目标模块接口功能,将复杂的 PCI& 总线接口转换为相对简单的接口.用户可以集中精力于应用设计,而不是调试 PCI& 总线的接口,明显缩短了开发时间.本设计应用 PLX 公司的PCI9054& 实现总线控制器.
&&& 3 PCI 9054 简介
&&& PCI 9054 是32 位/33MHz 的通用PCI 总线控制器专用芯片.该芯片符合PCI 总线规范2.2 版,突发传输速率达到132MB/s& .局部总线支持复用/非复用的32 位地址/数据,可为 M& 模式、C 模、J& 模式中的一种.PCI 9054 内部有6& 种可编程的 FIFO,以实现零等待突发传输及局部总线和 PCI& 总线之间的异步操作.9054 支持主模式、从模式、DMA 传输方式,可用于适配卡和嵌入式系统.PCI 9054 的结构框图如图 2 所示.
&&& 主模式操作就是允许本地的 & 访问PCI 总线上的内存和I/O& 接口.模式选择必须在PCI 命令寄存器中使能给出,如 PCI& 主设备存储器和I/O& 范围寄存器、PCI& 基址寄存器、主设备配置和命令寄存器等.主模式操作包括 PCI& 主设备存储器和I/O 译码、PCI& 主设备存储器和I/O& 配置访问、PCI 双地址周期访问、PCI 主设备存储器写并无效等操作.
&&& *从模式操作
&&& 从模式就是允许 PCI& 总线上的主控设备访问局部总线上的 PCI 9054& 的配置寄存器或内存,支持突发和单周期动模式传输.PCI 9054 通过16& 字长的 PCI& 从设备读 FIFO 和 32& 字长的PCI 从设备写FIFO 来支持从PCI& 总线到局部总线上的突发或单周期的存储器映射访问和I/O 映射访问.PCI 基址寄存器用来设定 PCI& 存储器和 I/O& 空间的地址.从模式操作包括延时读操作、提读操作等.
&&& *DMA 操作
&&& PCI 9054 有一个强大的双通道分散/收集 DMA 控制器,支持 PCI& 主机和内存的高铲公安厅发传输.两个独立的DMA& 通道能从局部总线到 PCI& 总线和从PCI 总线到局部总线传输数据.
&&& 每个通道包括一个DMA& 控制器和一个专用双向FIFO .两个通道都支持块传输、分散/收集传输、应用或者不用 EOT 传输等.模式选择必须在PCI 9054& 成为一个PCI 总线主设备之间主设备使能位(PCICR[2] )使能.另外,两个DMA 通道都能编程实现8、16 或 32bit& 局部总线带宽;使能/使无效内部等待周期;使能/使无效局部总线突发传输;执行 PCI 存储器写并无效操作;设置 PCI& 中断(INTA )或者是本地中断(LINT& )等.图3& 和图 4& 分别描述了从PCI 到局部总一和从局总总线到 PCI 总线的DMA& 数据传输操作逻辑.
&&& 4 采样控制和驱动程序设计
&&& 基于开发周期和成本考虑,本设计采用DMA& 传输模式.启动采样后,采和1KB×8 的双口SRAM IDT7130& 作为数据采集前端与 PCI 总线的数据缓冲,PCI 9054 作为主控设备,利用其 DMA 通道进行数据传输.当双口 SRAM& 采满1KB& 数据之后,通过EPLD(EPM7128 )产生局部总线,PCI9054& 获得局部总线的控制权后,根据 DMA 的起始位将1KB 的数据读到DMA& 传输的专用FIFO 中,PCI 9054 申请占用 PCI& 总线,获得PCI 总线的控制权后,将数据写入 PCI& 总线存储空间,从而实现一次采样和传输.
&&& (EPLD)用以实现 PCI 9054 与双口SRAM 的 I/O& 逻辑、传输控制逻辑、中断逻辑以及主机对数据采集通道的前端控制.PCI 数据另一关键问题是驱动程序的开发.设备驱动程序提供链接到PCI 板卡的软件口文件扩展名为.SYS& 的动态链接库.在Windows98& 和Windows2000& 中,设备驱动程序必须根据Windows 驱动程序模型(WDM )设计.设备驱动程序的关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设备和响应及中断的调用,以及对内存的直接读写.
&&& 本设计应用KRF-Tech 公司的Windriver 来编写设备驱动程序,Windriver& 针对 PLX& 和AMCC& 的专用接口芯片编写了API 函数包,降低了开发难度.
&&& PCI 9054 以其强大的功能和简单的用户接口,为PCI& 总线接口的开发提供了一种简法的方法.设计者只需设计局部总线接口,即可实现与 PCI& 总线的高速数据传.在高速数据采集系统
&&& 中,利用 PCI& 总线的高速特性实时传输和存储采集数据,有效地解决了数据传输和处理的实时性.随着 PCI 总线的普及应用, 基于 PCI 总线的采集系统设计有十分广阔的前景.
现在有55人对本文发表评论
<form onsubmit="if(document.getElementById('content').value.length500){alert('评论不能少于三个字符,大于500个字符!');document.getElementById('content').focus();}" action="/common/comment_post.aspx" method="post">
Copyright & 2007- Corp.All Rights Reserved. 版权所有 经营许可证编号: 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:9-8016 QQ: | MSN: |

我要回帖

更多关于 一元二次方程求解 的文章

 

随机推荐