当前位置:首页 > 通信技术 > 通信网络
[导读] 随着嵌入式系统对信号处理性能和数据传输性能的不断提高,单纯依靠提高处理器性能来改善系统性能的方法已无法满足需求。并行计算正日益成为一种增加系统处理能力的可行方向,多处理器间的数据传输、资源共享与

随着嵌入式系统对信号处理性能和数据传输性能的不断提高,单纯依靠提高处理器性能来改善系统性能的方法已无法满足需求。并行计算正日益成为一种增加系统处理能力的可行方向,多处理器间的数据传输、资源共享与同步便成了一个制约系统性能的重要环节。传统依靠提升并行总线宽度与速率的方法已不能满足嵌入式市场对总线带宽的需求。因此,需新兴的高性能总线互联技术来实现系统互联通信的更高要求。

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的双主机嵌入式互联拓扑结构

2 、驱动软件设计

2.1 系统主从方式初始化

在使用RapidIO进行通信前,首先要进行RapidIO系统初始化,主要包括SRIO控制器初始化、Doorbell初始化、Message初始化、DMA初始化、RapidIO交换机初始化、RapidIO网络初始化等。

系统中采用两块CPU,两块CPU均可作为主机节点对RapidIO网络进行配置,为了保证RapidIO网络能够正常初始化,需使用主从方式的RapidIO网络初始化,初始化时由某一RapidIO节点进行主配置,实现RapidIO网络初始化,其他节点等待网络初始化成功后启动各自功能。如果进行主配置的节点出现问题,未完成RapidIO网络初始化,具有从配置功能的节点需要进行RapidIO网络初始化,以提高RapidIO网络初始化的鲁棒性。

由于TSI578设备在重复初始化时会产生异常,为了防止主从设备同时对交换机进行初始化,设计时考虑初始化时首先判断RIO_HOST_BASE _ID_LOCK寄存器是否已被定,若已被锁定,表明交换机已被初始化,则该节点直接跳过这一步骤。优势在于对应用而言只需提供一个初始化接口,设计人员在进行应用编程时无需考虑主设备或从设备是否已经对交换机进行了初始化,方便了应用设计。

2.2 网络映射

网络映射结果将系统中所有非主机结点的RapidIO空间映射到自己的地址空间上,不同的非主机节点根据需求不同可映射不同的起始地址和映射空间。系统中使用rioMapOutb和rioMapInb接口动态配置RapidIO网络地址映射,映射的地址长度都必须为4 kB的倍数,且地址需要对齐,映射后在此存储空间内进行通信。软件中使用的函数接口如下:

(1)STATUS rioMapOutb(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 tid,UINT32 flags)rioMapOutb映射外部节点TId的以rstart开始的内存空间到本地lstart地址。

(2)STATUS rioMapInb(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 flags)rioMapInb映射大小为size的本地地址lstart到RapidIO空间地址rstart;

(3)STATUS rioMapOutb4(UINT32 lstart,UINT32rstart,UINT32 size,UINT32 TId0,UINT32 TId1,UINT32TId2,UINT32 tid3,UINT32 flags)

rioMapOutb一次只能映射一个外部节点的内存空间,为了提升软件效率,使用rioMapOutb4接口一次性对4个外部节点进行映射。

2.3 网络通信

RapidIO的网络通信主要有消息、门铃、Nread和Nwrite等方式。软件中使用的函数接口如下:

(1)void rioSendMsg(BYTE localPort,BYTEmailBox,BYTE dstID,BYTE*msgPtr,WORD len)rioSendMsg函数接口用来在两个处理部件之间发送消息,loealPort为本地RapidIO端口号,mailBox为邮箱号,dstID为目标RapidIO ID号,msgPtr为消息内容数组指针,len为消息长度。

(2)void rioSendDoorbell(BYTE localport,BYTEdstPortID,WORD data)rioSendDoorbell函数接口发送门铃信息,门铃信息一般用于处理器间的中断。Localport为端口号,dstPortID为目标端口号,data为16位门铃信息。

(3)DWORD rioDmaNread(BYTE chan,DWORDlocaladr,DWORD rioaddr,DWORD bytecnt)应用程序调用rioDmaNread接口进行Nread操作,rioDmaNread接口调用DMA控制器直接从RapidIO空间读取数据块到本地内存空间。

(4)DWORD rioDmaNwrite(BYTE chan,DWORDlocaladdr,DWORD rioaddr,DWORD bytecnt)应用程序调用rioDmaNwrite接口进行Nwrite操作,rioDmaNwrite接口调用DMA控制器直接将本地内存空间的数据块写到RapidIO空间上。

(5)DWORD rioDmaTransfer(BYTE ehan,DWORDsouraddr,DWORD desaddr,DWORD datasize,DWORDphyNextDescPtr)rioDmaTransfer接口实现DMA传输功能,该接口使用了DMA中断功能,有阻塞,当DMA没有完成时不会退出。

2.4 Rapidio网络故障恢复

在实际应用中,RapidIO网络上的节点可能出现故障,需进行重启操作。重启后的节点,其硬件配置均回到最初状态,RapidIO部分功能(节点ID等)需要进行重新初始化,因此需进行RapidIO网络的故障恢复。

RapidIO网络的故障恢复具有以下3种基础形式:

(1)普通节点的故障恢复。主节点或从节点进行一次RapidIO网络的初始化即可恢复普通节点的RapidIO网络故障。

(2)从节点的故障恢复。需要主节点进行一次RapidIO网络的初始化。

(3)主节点的故障恢复。主节点自动恢复后从节点进行一次RapidIO网络的初始化。

在某些情况下,由于芯片上RapidIO控制器的问题,主节点无法进行自身的自动恢复。因此,在故障恢复的第3种基础形式中,仅能使用从节点进行一次RapidIO网络的初始化这种方式恢复主节点的故障。在这种情况下,主节点和从节点之间需要具有通信机制,使得主节点能够将其发生故障的事件通知给从节点,从而触发从节点进行一次RapidIO网络的初始化,完成主节点的故障恢复。主节点和从节点之间需要具有通信机制,由于主节点和从节点同属于一块板卡,且之间具有互相的中断触发功能,因此使用中断触发方式完成主节点和从节点之间的故障通知。

3 、系统验证

完成系统和驱动软件的设计后,在具体应用环境中对系统的功能和性能进行验证。

3.1 功能验证

系统采用主从方式初始化,系统上电后,两个CPU各自调用初始化函数进行系统初始化,先运行的CPU自动设置为主节点,后运行的CPU和网络上的其他设备为从节点,主节点通过网络枚举发现系统中的其他从节点,从而完成网络配置。系统验证了如下功能:

(1)RapidIO网络动态接入和故障恢复功能,RapidIO网络能够动态接入其他网络节点并且完成对新接入节点的网络配置,同时系统具备故障恢复功能。

(2)传输1.25 Gbit·s-1、25 Gbit·s-1、3.125Gbit·s-1,3种速率时的高速RapidIO信号,3种工作速度可通过软件动态配置。

3.2 性能验证

为了验证网络传输性能,选取RapidIO网络中的两个主机节点进行通信功能测试。RapidIO端口工作在4x模式下,速率为3.125Gbit·s-1,测试传输不同大小的包时Nread和Nwrite的传输带宽,实际的传输带宽如表1所示。

从表中可看出,RapidIO实际的传输速率和理论传输速率之间有一定的差距。当单包数据为128 Byte时,数据传输速率比较低。随着包的大小增加,传输速率也在增加,但是速率增长趋势变缓。当单包数据为4kB时,RapidIO的传输速率是最高的,此时NWRITE的传输带宽为720.5 Mbit·s-1,NREAD的传输带宽为716.8/Mbit·s-1。

4 、结束语

RapidIO是一种高效、稳定、低成本的系统互联总线,为新一代高性能嵌入式系统互联提供了良好的解决方案。本文介绍了一种基于RapidIO的具有双主机节点的嵌入式系统互联设计与实现方案,系统中两块PowerPC主控制器采用主从方式工作,并通过TSI578交换机连接外部的其他系统,该设计性能稳定可靠,能够满足并行分布式系统的高速数据传输需求,具有广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

高速芯片是一种专门设计用于处理高速数据传输的集成电路芯片。它们通常用于网络设备、通信系统、计算机和其他需要高速数据传输和处理的应用中。

关键字: 高速芯片 网络设备 通信系统

随着信息技术的飞速发展,光纤通信技术以其高速、大容量、低损耗等优势,在通信领域占据了越来越重要的地位。光纤收发器作为光纤通信系统中的关键设备之一,其连接方法的正确与否直接关系到整个系统的稳定性和性能。本文将详细阐述光纤收...

关键字: 光纤通信 光纤收发器 通信系统

5G是指第五代移动通信系统。它们属于移动通信标准的下一个主要阶段,目前的4G网络将遵从国际移动通信(IMT)于2020制定的ITU-R要求,与目前4G以下的系统相比.

关键字: 5G 数据通信 通信系统

随着信息技术的飞速发展,数据处理和传输速度的要求越来越高,从而催生了高速器件技术的迅速崛起。高速器件,也称为高频器件或高速集成电路,是指能够在高频或高速条件下工作的电子器件。它们在现代通信系统、计算机、雷达、电子对抗、高...

关键字: 数据处理 高速器件 通信系统

地网天线作为一种广泛应用于无线通信领域的天线类型,其性能与原理对于通信系统的设计和优化至关重要。本文将从地网天线的基本概念出发,详细阐述其工作原理、性能特点以及应用场景,旨在为读者提供全面的地网天线理论知识,并为其在实际...

关键字: 地网天线 无线通信 通信系统

我国现代通信系统的发展现状,我国已建成全球最大规模的通信网络,包括移动通信网、固定电话网和互联网。截至2021年底,我国移动通信用户总数已超过15亿,互联网用户也已超过9亿,显示出我国通信网络的广泛覆盖和普及程度。此外,...

关键字: 通信系统 5G

数字集群通信系统是一种基于数字技术的无线通信系统,具有高效、可靠、安全等优点。它广泛应用于公共安全、交通运输、工业生产等领域,为人们提供了更加便捷、高效的通信方式。本文将详细介绍数字集群通信系统的主要应用领域,以帮助读者...

关键字: 数字集群 通信系统 无线

采用启英泰伦推出的第三代高性能神经网络智能语音芯片,包括CI13XX和CI230X系列,芯片集成了启英泰伦自研的脑神经网络处理器BNPU V3,且CI230X系列芯片支持Wi-Fi及 BLE 5.1 无线通信协议。

关键字: 语音 通信系统 智能语音

在通信系统中,按照接地功能不同分为工作接地、保护接地和防雷接地。工作接地又可分为直流工作接地和交流工作接地。防雷接地也称为过电压保护接地。

关键字: 通信设备 通信系统 接地

无论是在偏远地区还是在发展中的城市,卫星通信技术都能为我们提供稳定、高速、全球覆盖的通信服务,成为满足全球通信需求的核心技术。

关键字: 卫星 宽带 通信系统
关闭
关闭