SRIO网络的设计与应用学习课程_第1页
SRIO网络的设计与应用学习课程_第2页
SRIO网络的设计与应用学习课程_第3页
SRIO网络的设计与应用学习课程_第4页
SRIO网络的设计与应用学习课程_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、主要内容 RapidIO概述 C6000 DSP的SRIO接口设计 SRIO Switch的电路设计 SRIO网络路由的配置 SRIO接口的使用方法 SRIO电路PCB设计与调试 C6000 DSPS的SRIO软件设计 基于SRIO互联的系统实例第1页/共68页第一页,编辑于星期六:二十二点 二十四分。1.RapidIO概述 业界开放标准,点对点嵌入式互联技术; 具有低时延、宽带宽、低传输开销、低管脚数等特点 ; 采用硬件进行错误检测和恢复具有很高的可靠性 ; 工作频率和端口宽度具有可升级性; 采用分层的架构,物理层、传输层和逻辑层,层与层之间的功能相对独立,便于各层灵活扩展 。第2页/共68

2、页第二页,编辑于星期六:二十二点 二十四分。1.RapidIO概述 RapidIO在嵌入式系统中的位置第3页/共68页第三页,编辑于星期六:二十二点 二十四分。1.RapidIO概述 基于RapidIO互联的系统结构第4页/共68页第四页,编辑于星期六:二十二点 二十四分。1.RapidIO概述 RapidIO协议的分层结构第5页/共68页第五页,编辑于星期六:二十二点 二十四分。1.RapidIO概述 RapidIO系统中数据包的传输流程第6页/共68页第六页,编辑于星期六:二十二点 二十四分。When To Use RapidIORapidIO On the backplane- Futu

3、re proof- High throughput- Low deterministic latency- Guaranteed packet delivery- Prioritized trafficRapidIO for fault tolerantSystems- Flexible sparing strategies- Continued system operation in the event of single faults- Rapid detection of faults- Flexible response to faultsRapidIO on board as the

4、 single, simple interconnect among all boardcomponentsProtect your SW investment- S-RIO logical layer remains the same across different physical layer- RapidIO scales per port- Saves system total power第7页/共68页第七页,编辑于星期六:二十二点 二十四分。Serial RapidIO EcosystemTI, Freescale, Altera and LSI have announced S

5、-RIO Gen 2 products other suppliers of S-RIO 1.3 have Gen 2 information available under NDA Axxia Communications ProcessorDSP: several products In TCI64xx familyDSP, PowerQUICC & QorIQ multicoreXLS416 family MulticoreProcessorFPGA: Arria and Stratix FamilyFPGA: Virtex 4/5/6familiesFPGAWireless B

6、aseband ProcessorDSP Oct22xxPowerPC based processors460GTSwitches, Bridges & IPCPS and Tsi FamilyNetwork ProcessorOcteon 2 familyNetwork ProcessorWinPath3第8页/共68页第八页,编辑于星期六:二十二点 二十四分。RapidIO Enabled EndpointsVendorDeviceS-RIO GenMax S-RIO SpeedDigital Signal ProcessorsTexas InstrumentsTCI6482 (H

7、imalaya)13.125GbpsTexas InstrumentsTCI6487/6488 (Faraday)13.125GbpsTexas InstrumentsTCI645513.125GbpsTexas InstrumentsTCI6484 (Curie)13.125GbpsTexas InstrumentsTMS320C66x (Nyquist)25GbpsFreescaleMSC8144, MSC815625GbpsFreescaleMSC8157/MSC815825GbpsProcessorsFreescaleP4080 QorIQ13.125GbpsFreescaleMPC8

8、54313.125GbpsFreescaleMPC854813.125GbpsFreescaleMPC8641/D13.125GbpsFreescaleMPC857213.125GbpsCaviumOcteon II CN66XX, CN63XX25GbpsAMCC / Applied MicroPPC460GT13.125GbpsNetlogic / BroadcomXLS 616/416/40813.125GbpsLSI LogicStarCore SP2704/SP217613.125GbpsMindspeedTranscede 400013.125GbpsWintegraWinpath

9、 313.125GbpsFPGAsXilinxVirtex II, Virtex II Pro, Virtex 4 FX/5LXT, Virtex 5, Virtex 6, Spartan 61/23.125Gbps/6.25GbpsAlteraArria II, Stratix/Stratix II GX, Stratix IV GX, Stratix V GX1/23.125Gbps/5GbpsLatticeLatticeECP3, LatticeECP41/23.125Gbps/6.25Gbps第9页/共68页第九页,编辑于星期六:二十二点 二十四分。主要内容 RapidIO概述 C60

10、00 DSP的SRIO接口设计 SRIO Switch的电路设计 SRIO网络路由的配置 SRIO接口的使用方法 SRIO电路PCB设计与调试 C6000 DSPS的SRIO软件设计 基于SRIO互联的系统实例第10页/共68页第十页,编辑于星期六:二十二点 二十四分。2.C6000 DSP的SRIO接口设计 C6455 SRIO接口简介 符合RapidIO 互联协议1.2标准 ; 在逻辑层上支持I/O system和Message passing,不支持Global Shared Memory ; 可配置为1个4X的端口或4个1X的端口,端口速率1.25Gbps、2.5 Gbps或3.125

11、 Gbps ; 能够响应和发送门铃方式的中断 ; 支持8bits和16bits两种大小的器件ID ;第11页/共68页第十一页,编辑于星期六:二十二点 二十四分。2.C6000 DSP的SRIO接口设计 C6455 SRIO外设结构第12页/共68页第十二页,编辑于星期六:二十二点 二十四分。2.C6000 DSP的SRIO接口设计 C6455 SRIO管脚与互联第13页/共68页第十三页,编辑于星期六:二十二点 二十四分。2.C6000 DSP的SRIO接口设计 基于 SRIO互联的4 C6455板卡C6455MEMPCI-PCIbridgeRapidIOSwitchFPGAC6455MEM

12、C6455MEMC6455MEMCPCIRapidIOSelf-difined LinksPCIPMCdaughtercardPMCdaughtercardJ1&J2J3J4&J5RapidIOEMIF第14页/共68页第十四页,编辑于星期六:二十二点 二十四分。2.C6000 DSP的SRIO接口设计 C6678 SRIO接口简介 符合RapidIO 互联协议2.1.1标准 ; 在逻辑层上支持I/O system和Message passing,不支持Global Shared Memory ; 可配置为1个4X、4个1X、2个2X、1个2X+2个1X端口,端口速率1.25G

13、bps、2.5 Gbps、3.125 Gbps和 5 Gbps ; 能够响应和发送门铃方式的中断 ; 支持8bits和16bits两种大小的器件ID ; 支持组播ID;第15页/共68页第十五页,编辑于星期六:二十二点 二十四分。2.C6000 DSP的SRIO接口设计 基于 SRIO互联的5 C6678板卡第16页/共68页第十六页,编辑于星期六:二十二点 二十四分。主要内容 RapidIO概述 C6000 DSP的SRIO接口设计 SRIO Switch的电路设计 SRIO网络的配置 SRIO接口的使用方法 SRIO电路PCB设计与调试 C6000 DSP的SRIO软件设计 基于SRIO互

14、联的系统实例第17页/共68页第十七页,编辑于星期六:二十二点 二十四分。3.SRIO Switch电路设计 Tundra Tsi568 Switch芯片第18页/共68页第十八页,编辑于星期六:二十二点 二十四分。3.SRIO Switch电路设计 面向DSP Farm应用第19页/共68页第十九页,编辑于星期六:二十二点 二十四分。3.SRIO Switch电路设计 主要电路设计JTAG电路I2C电路工作模式选择端口开关控制第20页/共68页第二十页,编辑于星期六:二十二点 二十四分。主要内容 RapidIO概述 C6000 DSP的SRIO接口设计 SRIO Switch的电路设计 SR

15、IO网络的配置 SRIO接口的使用方法 SRIO电路PCB设计与调试 C6000 DSP的SRIO软件设计 基于SRIO互联的系统实例第21页/共68页第二十一页,编辑于星期六:二十二点 二十四分。4.SRIO网络的配置 交换机与节点的区别 交换机: 路由表;存储与转发;没有ID,Hopcnt; 节点: 数据包与维护包收发;有ID; 节点ID的配置 唯一性;自行分配或者Host分配; 源ID与目的ID;大ID和小ID第22页/共68页第二十二页,编辑于星期六:二十二点 二十四分。4.SRIO网络的配置 C6455 SRIO的初始化第23页/共68页第二十三页,编辑于星期六:二十二点 二十四分。

16、4.SRIO网络的配置 Switch路由表的配置 1)JTAG配置; 2)EEPROM配置; 3)Host维护配置。第24页/共68页第二十四页,编辑于星期六:二十二点 二十四分。5.SRIO接口的使用方法第25页/共68页第二十五页,编辑于星期六:二十二点 二十四分。主要内容 RapidIO概述 C6000 DSP的SRIO接口设计 SRIO Switch的电路设计 SRIO网络的配置 SRIO接口的使用方法 SRIO电路PCB设计与调试 C6000 DSP的SRIO软件设计 基于SRIO互联的系统实例第26页/共68页第二十六页,编辑于星期六:二十二点 二十四分。6.SRIO电路PCB设计

17、与调试 设计高速串行电路的相关基本知识; 高速串行电路的设计流程; 高速串行电路PCB设计注意事项; SRIO的调试方法; SRIO调试可能出现的问题及解决 其它第27页/共68页第二十七页,编辑于星期六:二十二点 二十四分。6.1设计高速串行电路的相关基本知识1).SRIO信号特性:a.频率高:1.25Gbps, 2.5Gbps,3.125Gbps. b.信号翻转快:8b/10b编码的目的是通过足够的翻转来提取时钟;c.利用模拟的SERDES驱动低摆幅的CML缓冲器,在特性上类似于模拟和射频信号;第28页/共68页第二十八页,编辑于星期六:二十二点 二十四分。CML(Current Mode

18、 Logic) 与LVDS,ECL同为高速信号传输电平标准; CML: CML电平是所有高速数据接口中最简单的一种。其输入和输出是匹配好的,减少了外围器件,适合于更高频段工作。 VPP一般为800mV,可以通过芯片内部寄存器设置,SRIO物理层规范规定Short Run情况下为500,1000mVpp,Long Run情况下为 800,1600mVpp,第29页/共68页第二十九页,编辑于星期六:二十二点 二十四分。 CML之间的连接分两种情况:当收发两端的器件使用相同的电源电压时(收端和发端具有相同的共模电压),CML到CML可以采用直流耦合方式,信号线上可以不加任何耦合器件;当收发两端器件

19、采用不同电源电压时,必须使用交流耦合, 中间加隔直电容。一般为0.1u或0.01uf 0402封装或者更小封装的陶瓷电容。 以C6455和Tsi568为例。C6455 SRIO供电为1.25V,Tsi568 SRIO供电为1.2, 1.5V,它们之间互联就应该加隔直电容;C6455之间互联可以不加隔直电容。第30页/共68页第三十页,编辑于星期六:二十二点 二十四分。6.1高速电路设计流程1)制定设计目标: 计算能力、互联带宽、接口形式、拓扑结构、板型、功耗等等;2)芯片选型和实施方案: 确定主要器件型号,围绕设计目标制定实施方案,越详细越好;最好是根据实施方案就能够画出原理图;3)充分挖掘芯

20、片的详细资料和调试工具 EVM板的原理图、PCB及器件选型,如Spectrum C6455 EVM板的资料就非常全面;Tsi568A这方面的资料也很全面。 芯片的勘误表等;勘误表有效的避免设计失误。如C6455 关于PCI Reset,Warm Reset和Power on Reset的勘误。 在调试工具上,Tsi568的主机调试软件就很好用。 第31页/共68页第三十一页,编辑于星期六:二十二点 二十四分。4)原理图设计(细节决定成败!) 充分参考EVM的设计(能抄的就抄);有效避免芯片的勘误;去藕电容的数量、容值和封装等严格按照芯片手册设计;检查交流耦合电容、LVDS端接、LVPECL端接

21、、Open-drain的上下拉电阻、电源的虑波等细节。画完之后除了自己检查最好还有其他人Review。5)PCB设计a.建立封装;(每一个工程都应有独立的PCB库) b.绘制板框;设置禁布区; c.合理布局主要器件并估计走线层数; 第32页/共68页第三十二页,编辑于星期六:二十二点 二十四分。d.综合各芯片对电源 /地的要求确定平面层数;e.按照SI的原则考虑叠层,优先保证高速串行电路的SI;f.确定好每层的走线,电源地平面的划分,形成文档;g. 设计单端走线线宽、差分线的线宽和间距、过孔的参数;(差分线线宽和间距设置的考虑因素)h. 把叠层、各层单端线宽、差分线宽和间距、阻抗控制要求、板厚

22、要求及其他要求发送给制板商,要求他们评估可行性,按照他们的反馈作调整,达到满足己方的设计目标并且制板商也能制造的目的。(这个过程很重要)第33页/共68页第三十三页,编辑于星期六:二十二点 二十四分。l.前仿真,确定端接形式、阻值大小等m.开始小器件的布局,包括电容、电阻;(注意端接电阻、交流耦合电容、去藕电容的位置)n.设置Design Rules,包括各种间距;o.开始PCB Layout,走线并划分电源地平面;p.连接性和设计规则检查;q.后仿真,局部调整;r. 出Gerber文件;s. 用CAM350检查Gerber文件;t.投板( Gerber文件+制板要求);第34页/共68页第三

23、十四页,编辑于星期六:二十二点 二十四分。几点说明:1). 阻抗控制不需要自己根据制板商提供的资料在hyperLynx里设置和调整,不同制板商的工艺不尽相同,只有他们最了解自己的工艺,所以对于客户只需跟制板商提需求,然后根据制板商的反馈设计板卡;2).SRIO和GbE的仿真, 一般的研发者不具备条件。C6455的IBIS模型里没有SRIO管脚的仿真模型,Tsi568的IBIS是模型不是Tundra提供的,而是由第三方公司建立的,一般客户很难得到。HyperLynx在超高速信号的仿真上准确性受到质疑。3).芯片厂商的器件手册提供了完整的SRIO 信号在PCB Layout指导,结合设计者在SI方

24、面的知识完全可以在不仿真的情况得到较好的效果。第35页/共68页第三十五页,编辑于星期六:二十二点 二十四分。4.高速串行电路PCB设计注意事项1).从TI 推荐的C6455板卡最小叠层看SRIO走线层的分布SRIO信号走在顶层和底层,其他慢速信号走在内层。原因有二:1.表层的微带线有利于高速信号的传输,并且抗干扰性较好;2.紧挨着完整的地平面作为参考平面,有利于信号的回流和屏蔽;第36页/共68页第三十六页,编辑于星期六:二十二点 二十四分。2).SRIO的差分阻抗必须保持在100欧;3).TI C6455的封装可以直接从网站下载;4).过孔对阻抗和SI有影响(如何设计合理的孔的大小和铜环的

25、厚度可以参考文献:Tsi568A Serial RapidIO Multi-Port Switch Layout Guidelines),TI推介了8-18的过孔;5). TI推荐AC耦合电容为容值为0.1uf,封装0402或者更小封装电容,AC耦合电容放置越靠近接收端越好。而Tsi568推荐0.01uf。实际调试中两种容值都用过,很难区分哪一个更好;最好的办法是C6455 用0.1uf,Tsi568用0.01uf;6). TI 在说明SRIO信号走线的时候,把信号线分为三段:接收端,发送端和中间联线;(接收端:接收焊盘到耦合电容;发送端:发送焊盘到BGA区域之外);它希望发送端和接收端的走线

26、能够直接拷贝它的;接收端,BGA焊盘到电容焊盘直接的走线必须在TOP层(即没有过孔),电容的另一端可以存在过孔;走线的宽度和间距设置原则为保持差分阻抗100欧姆;发送端的出线采用屏蔽效果较好的内层; 从实际情况看也是有效的。第37页/共68页第三十七页,编辑于星期六:二十二点 二十四分。7).中间连线的走线与相关器件的位置有关,但是必须遵守以下原则:差分对内两根线的长度差在保持在50mils之内;(最好能够控制完全等长;1.长度差异比间距变化更能影响信号质量;2.特别是板间互联的时候会加剧长度的差异,造成信号质量的进一步恶化)没有分叉;不要长于12inches;(不同的器件会有不同的要求,一般

27、Switch芯片驱动能力更强,信号质量更好)保持100欧的差分阻抗;不要有多于两套的过孔(发送端的过孔除外)与其它信号线保持2倍差分间距以上的距离;(Tsi568推荐的是5倍)第38页/共68页第三十八页,编辑于星期六:二十二点 二十四分。只在板内连接,不能用电缆或者连接器;(这一条基本无效,TI DSK上的SRIO通路就是两块子板通过AMC连接器连接;另外做过试验将TMS320C6455与TSI568通过cPCI机箱二次底板互联在3.125Gbps的速率下仍能保持较好的通信质量;但是另外一个试验室的FPGA VII-PRO与TSI568通信,在2.5Gbps的情况下连接不稳定;所以跟具体器件

28、的信号质量有很大的关系)第39页/共68页第三十九页,编辑于星期六:二十二点 二十四分。第40页/共68页第四十页,编辑于星期六:二十二点 二十四分。8).时钟设计 时钟设计在高速串行电路设计中尤为重要。时钟的稳定性决定了高速串行电路的稳定性。Jitter如下所示:C6455的对SRIO时钟的要求:第41页/共68页第四十一页,编辑于星期六:二十二点 二十四分。Tsi568对时钟的要求: S_CLK_1: 312.5MHz S_CLK_2: 250MHz第42页/共68页第四十二页,编辑于星期六:二十二点 二十四分。时钟的支持的电平标注:LVDS LVPECL高频时钟的产生:1.直接使用高精度

29、的差分晶振;2.高稳定性的晶体+高性能的时钟合成器件;9).DSP和Switch使用同一个复位;10).PHY芯片是数模混合芯片,PHY芯片的资料会对器件布局、电源/地平面处理作出要求,PHY芯片的模拟端为四对差分线,一般要求在PHY芯片管脚处有上拉和去藕,并且差分阻抗保持为100欧姆第43页/共68页第四十三页,编辑于星期六:二十二点 二十四分。6.5 SRIO 调试方法1).正确配置DSP和Switch SRIO的工作模式; 如都工作在4 Lanes ,1.25Gbps(注:DSP的配置程序在其SRIO的文档中有详细的介绍,拷贝之后根据实际情况稍作改动就可使用;Switch的配置可以通过配

30、置引脚)2).如何判断SRIO物理层的连接已经建立;查询SPn_ERR_STAT的PORT_OK位;或者查询Switch中相应的寄存器;第44页/共68页第四十四页,编辑于星期六:二十二点 二十四分。3).访问Switch中的寄存器两条途径: a. DSP作为Host发起对Switch的配置访问;b.通过JTAG访问;Tundra公司提供了主机软件,可以通过并口访问Switch,但是需要制作/购买一条下载线;4).如何通过Switch进行数据包的传输;路由表的配置;5).路由表配置的三条途径:a.DSP作为Host的动态配置;b.主机软件通过下载线实时配置;c.将路由表信息存在EEPROM中,

31、上电后自动加载;第45页/共68页第四十五页,编辑于星期六:二十二点 二十四分。6.6 SRIO调试中可能的问题及解决1.物理层上建立连接 a.确认DSP和Switch物理层配置是否正确; b.用高采样率的示波器观察波形和眼图;(泰克) c.如果DSP与Switch之间的SRIO信号线很长,可以考虑调整它们驱动信号的幅度;第46页/共68页第四十六页,编辑于星期六:二十二点 二十四分。c.采用芯片提供的传输预加重和接收均衡功能传输预加重:将高频加入传输信号,以解决信号衰减及端点 间相移的问题接收均衡:运用增强器传输功能,补偿因电路板及背板引起的高频传输损耗及相移第47页/共68页第四十七页,编

32、辑于星期六:二十二点 二十四分。主要内容 RapidIO概述 C6000 DSP的SRIO接口设计 SRIO Switch的电路设计 SRIO网络的配置 SRIO接口的使用方法 SRIO电路PCB设计与调试 C6000 DSP的SRIO软件设计 基于SRIO互联的系统实例第48页/共68页第四十八页,编辑于星期六:二十二点 二十四分。C6455的SRIO软件开发 SRIO模块的初始化 DirectIO模式下的数据传输 Doorbell中断的实现第49页/共68页第四十九页,编辑于星期六:二十二点 二十四分。7.1SRIO模块的初始化 C6455 SRIO模块框图第50页/共68页第五十页,编辑

33、于星期六:二十二点 二十四分。7.1SRIO模块的初始化 C6455 SRIO初始化过程 使能相关模块 全局使能 Port03使能 LSU,MAU;TXU,RXU使能 SERDES的配置 PLL配置:配置link速率 Receiver配置:EQ, INVPAIR, RATE Transmit配置: DE, SWING, INVPAIR, RATE第51页/共68页第五十一页,编辑于星期六:二十二点 二十四分。7.1SRIO模块的初始化 C6455 SRIO 初始化过程 Source ID的配置 RIO_DEVICEID_REG1 RIO_DEVICEID_REG2 RIO_BASE_ID 操作

34、能力的配置 源操作能力:RIO_SRC_OP 目的操作能力:RIO_DEST_OP 使能IO RIO_SPn_CTL第52页/共68页第五十二页,编辑于星期六:二十二点 二十四分。7.1SRIO模块的初始化 C6455 SRIO 初始化过程 等待底层连接建立 RIO_SP0_ERR_STAT:Port ok! 使能逻辑层数据流第53页/共68页第五十三页,编辑于星期六:二十二点 二十四分。7.1SRIO模块的初始化 C6678 SRIO 初始化过程与C6455的不同 只能选择Core0进行SRIO初始化 需要对PSC进行配置,以使能SRIO Power Domain和时钟 对TX、RX和PLL

35、的设置之前需要通过KICK寄存器进行解锁,配置完后需要锁定;第54页/共68页第五十四页,编辑于星期六:二十二点 二十四分。7.2C6455 DirectIO数据传输 Load/Store 数据传输框图第55页/共68页第五十五页,编辑于星期六:二十二点 二十四分。7.2 C6455 DirectIO数据传输 Load/Store 模块的数据流第56页/共68页第五十六页,编辑于星期六:二十二点 二十四分。7.2 C6455 DirectIO数据传输 Load/Store 寄存器第57页/共68页第五十七页,编辑于星期六:二十二点 二十四分。7.2 C6455 DirectIO数据传输 Load/Store 寄存器的时序第58页/共68页第五十八页,编辑于星期六:二十二点 二十四分。7.3 C6678 DirectIO数据传输 Load/Store 寄存器1第59页/共

温馨提示

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

评论

0/150

提交评论