- UID
- 872339
|
关键字:RapidIO 系统互联 嵌入式系统 以太网
随着嵌入式系统对信号处理性能和数据传输性能的不断提高,单纯依靠提高处理器性能来改善系统性能的方法已无法满足需求。并行计算正日益成为一种增加系统处理能力的可行方向,多处理器间的数据传输、资源共享与同步便成了一个制约系统性能的重要环节。传统依靠提升并行总线宽度与速率的方法已不能满足嵌入式市场对总线带宽的需求。因此,需新兴的高性能总线互联技术来实现系统互联通信的更高要求。
RapidIO互连构架作为一种基于可靠性的开放式互连协议标准,以其高效率、高稳定性、低系统成本等特点,可为通信系统各器件间提供高带宽、低延时数据传输的解决方案。RapidIO具备交换功能,具有完备的包交换、应答、中断、容错机制,可靠性高,传输效率高于PCIE和千兆以太网,可为芯片到芯片,板到板提供高性能的互联,其性能可达到1~60 Gbit·s-1,能够为新一代高性能嵌入式系统互联提供良好的解决方案。本文讨论了一种基于RapidIO的具有双主机节点的嵌入式系统互联设计,给出系统设计方案及驱动软件设计,并在具体应用环境中对设计方案进行了系统验证。
1 系统方案
在RapidIO互联应用中,通常不会将RapidIO端点相互直接连在一起,而是通过交换机实现端点之间的系统互联,这样可使系统的成本减少,并改善系统的性能。典型的RapidIO交换网络节点分为主机节点(Host)、交换机(Switch)和端节点(End-Point)3类,每个设备由DeviceID唯一标识。系统启动时,主机节点负责系统初始化和网络的枚举,在工作时,主机节点将协调和监控系统运行和错误恢复,同时,主机节点可看做是交换网络中的一个端节点,负责发送和接收网络中的数据包。交换机实现端系统的互连,且完成RapidIO包的路由和转发。
为了实现RapidIO通信功能,主机节点需要实现RapidIO控制器,RapidIO控制器的实现主要有两种方式,一种是通过FPGA的专用IP核来实现,这种方式受限于IP核对器件的限制,成本较高,且主机节点通常要实现数据处理与系统管理功能,单靠FPGA实现不太现实。另一种方式是通过集成有RapidIO控制器的CPU来实现,如PowerPC。PowerPC处理器功能强大,处理速度快,可以配合嵌入式操作系统完成任务的管理和调度,同时较多PowerPC处理器集成有RapidIO控制器,因此大多使用RapidIO网络的嵌入式领域都选用PowerPC做为主机节点。
本系统采用两片MPC8641D处理器芯片做为主控制器,Freescale生产的MPC8641D芯片内部集成了2个e600内核,每个核包含32 kB的一级指令Cache和数据Cache,以及1个1 MB的二级Cache。高集成MPC8641D能够代替多器件,极大节省了底板制造的成本和空间。MPC8641D芯片集成了RapidIO控制器,其中1x/4x串行通道的传输速率可为1.25 Gbit·s-1、2.5 Gbit·s-1和3.125 Gbit·s-1,消息单元支持存储地址寄存器最大长度4 kB的消息。
系统选用TS1578做为交换机,Tsi578交换芯片是Tundra公司的第3代RapidIO交换芯片,其支持高达80 Gbit·s-1的聚合带宽,可独立配置成最多8个4X端口或16个1X端口,端口的频率可配置为1.25 Gbit·s-1、2.5 Gbit·s-1、3.125 Gbit·s-1,支持混合的速率和带宽配置。SRIO的路由和交换是通过每个端点设备的ID号来实现的,每个端点设备都会分配一个唯一的ID号,当一个端点发出一个数据包时,在其的包头中包含有目的终端的ID号和发送源端的ID号。Tsi578的每个端口上都有一个交换路由表,根据路由表就可决定此数据包由哪一个端口送出。
基于RapidIO的双主机嵌入式互联拓扑结构如图1所示。
图1 基于RapidIO的双主机嵌入式互联拓扑结构
|
|