基于VPX的SRIO通信模块设计

更新时间:2023-04-23 14:59:43 阅读: 评论:0


2023年4月23日发(作者网上大药店 :孙优贤)

基于VPXSRIO通信模块设计

谷晓鹏;杨玉亮;张然

【摘 要】针对VPXSRIO通信的需求,提出一种封装SRIO通信接口的方法,设计

并实现了一种SRIO通信模块.SRIO通信模块采用软件模块化设计思想,SRIO

信接口的基础上设计PowerPCCPU之间的通用的数据通信方式,可实现

PowerPC板内、板间的数据通信.该模块以库函数形式实现二进制重牛角尖 用,可移植于任

PowerPC程序设计中,实现通信参数的可视化配置,有利于软件结构化、模块化

设计.测试分析表明,该模块具有良好的性能和二进制可重用性.

【期刊名称】《雷达与对抗》

【年(),期】2015(035)002

【总页数】5(P64-68)

【关键词】通信模块;VPX;Serial RapidIO;软件模块化

【作 者】谷晓鹏;杨玉亮;张然

【作者单位】海军指挥所,北京100841;中国船舶重工集团公司第七二四研究所,

211153;中国船舶重工集团公司第七二四研究所,南京211153

【正文语种】

【中图分类】TN95

随着技术的进步以及应用性能需求的不断提高,雷达系统各单元之间的通信对带宽

要求不断提高。VPX各单元之间的Serial RapidIO(以下简称SRIO)总线由于传输

带宽的优势,应用越来越广泛,因此SRIO通信越来越普遍。但是,直接使用

SRIO通信接口函数存在很多不足:

(1)SRIO通信相关接口函数多,使用不方便,每个软件人员需花大量时间学习其使

用方法;

(2)SRIO通信需要对CPUID、地址、门铃等进行约定,需各个软件相关人员进行

讨论确定;CPU之间需增加新的报文或者已有CPU与新的CPU进行通信时,整

个项目相关人员可能都需对通信模块程序进行修改;

(3)程序运行过程中,SRIO通信出现收不到数据或者数据错误时很难进行定位和排

;

(4)每个软件人员对SRIO通信进行设计时未对自身程序的通信速度、稳定性等进

行系统的测试,很难保证通信的可靠性。

针对上述问题,提出一种封装SRIO通信接口内存16g够用吗 的方法,设计并实现了一种SRIO

信模块。该模块以库函数形式实现二进制重用,可移植于任意PowerPC程序设计

中,实现通信参数的可视化配置,有利于软件结构化、模块化设计。

VPX机箱中同一PowerPC板各单元之间通过Serial RapidIO高速串行总线进行

互连,每个CPU都有一个SRIO接口,通过switch路由于背板。不同PowerPC

板间通过机箱中交换板进行互连[1],如图1所示。

VPX6-8640D的每个RapidIO设备(8640D cpu)都有inbound SRIO memory

windows,允许其他RapidIO设备来访问该设备。同时,还有outbound SRIO

memory windows,允许该RapidIO设备去访问其他设备[2]。

2.1 需求分析与设计

SRIO通信时,首先需要对CPUID、地址、门铃等进行约定。当通信需求改变时,

整个项目相关人员可能都需对通信模块程序进行修改。针对该问题,本模块设计并

实现了一种通信参数的可视化配置方法,通过该方法同时增加了模块的通用性和可

移植性

SRIO通信相关接口函数多,使用不方便,每个软件人员需花大量时间学习其使用

方法。本模块提出一种封装SRIO通信接口的方法,有效地解决了该问题。

2.1.1 通信参数的可视化配置方法

(1)配置文件设计

参与通信的CPU采用统一配置文件,完成对CPUID、地址、门铃等的配置。使用

门铃作为每条配置信息的唯一标识。通信过程中,使用门铃完成配置信息的索引,

进而实现CPU间数据到对应地址的映射。

CPU的发送和接收窗口个数均有一定限制(发送窗8个,接收窗4),需采用

地址偏移方式实现多数据报文的通信。配置文件设生产车间标语大全 计过程中,加入发送窗口和接收

窗口建立标识,并通过地址偏移和门铃的设置实现窗口的复用。

每个CPU可配置多条配置信息,每条配置信息又可实现多种报文的通信。配置信

息结构如图2所示。

(2)可视化界面设计

参数配置程序用于生成或修改配置文件,效果如图3所示。

设置配置文件参数过程中,当参数设置不合理时将弹出提示对话框,例如地址越界、

地址不对齐、地址重用等错误。

2.1.2 SRIO通信接口封装方法[3-4

该模块设计提供3个功能模块: SRIO初始化模块、SRIO发送模块和SRIO接收模

块,分别对应3个功能接口函数。通信流程如图4所示。增加新的报文或者增加

新的通信CPU时仅需对配置文件进行修改。

(1)SRIO初始化模块

初始化模块主要实现以下功能:

SRIO接收窗口和发送窗口的创建;

SRIO接收缓存区、信号量、相关变量的初始化;

SRIO门铃输入的初始化,门铃中断处理函数的创建;

SRIO接收任务的创建。

(2)SRIO发送模块

该模块设计流程为:

将门铃作为唯一标识,从配置信息中查找到对应的发送地址;

通过DMA传输方式,将待发送数据传输至发送地址中,完成数据到总线的映射;

发送门铃中断通知接收端数据已更新。

(3)SRIO接收模块

该模块设计流程为:

门铃中断输入函数接收门铃;

判断门铃值,启动门铃对应的接收任务;

接收任务读取对应接收地址中的数据值接收缓存区,接收地址通过门铃值索引得

;

通过读取缓存区接口函数,读取缓存区数据。

2.2 可靠性设计

模块设计中主要采取了以下几种方法提高模块的可靠性:

(1)模块编译成库函数的形式,仅提供给用户库函数和头文件;

(2)通过编译器的强类型检查,接口参数使用错误时,报送错误信息,避免运行过

程中产生通信错误或者模块崩溃;

(3)配置文件设置过程中,对各配置参数的有效性进行检查,避免了配置的设置参

数无效产生通信错误;

(4)通信过程中,数据包的最后16位作为校验位,以检验数据包的有效性。

(1)可重用性

该模块通过库函数形式,可以实现二进制重用,用户春节作文三年级 无需对模块代码进行学习和了

解,仅通过接口函数的调用,即可完成相应的SRIO通信。

(2)可靠性

模块设计过程中充分考虑了可靠性的设计。开发完成后,对模块完成了功能、性能

和异常的测试,保证软件具有成熟性、容错性。

(3)可维护性

通信过程中出现故障时,通过检查接口调用方式,参数配置等方式来确定故障位置。

硬件升级或应用环境能力改变,模块的升级不影响库函数的接ppt文字环绕 口签名,使得模块易

于升级。

4.1 模块功能测试

测试硬件环境: VPX插箱,两块PowerPC板,1块交换板,CPU类型:8640D;

8CPU接收缓存区均设置为4 MB,单数据包大小设置为1200 B,发送速度

20 MBps,设置配置文件(56条配置信息),完成每片CPU分别与其他7

CPU的通信,测试5 min;

记录测试结果,发送接收数据一致;

测试结果表明:参数配置程序完成了参数的可视化配置,同时模块实现了多个CPU

之间的数据通信。

4.2 通信速度测试

测试硬件环境: VPX插箱,两块PowerPC板,1块交换板,CPU类型:8640D

4.2.1 数据分类测试

接收缓存区大小为64 MB,单数据包大小分别为: 1200 B65532 B2 MB8

MB16 MB32 MB时,设置配置文件,实现两PowerPC板上各一个CPU

间的通信,发送10 min,测试结果如表1所示。测试结果表明:该模块对各种类型

报文的通信都具有良好的性能。

4.2.2 通信能力测试

模块通信能力主要取决于DMA传输速度和内存拷贝速度,二者均受到硬件条件限

制,下面分别进行测试。

改变单次发送数据包大小,分著名的英文 别设置为1 MB2 MB4 MB8 MB16 MB

32 MB,调用本模块发送函数循环发送,接收模块接收数据后循环拷贝至缓存,

过程中分别计算DMA传输速度和内存拷贝速度。

计算方法: DMA传输速度记为(VDMA)MBps,发送次数(N)次,单次数据项目报告怎么写 包大小

(L)MB,传输时间(T)s,则: VDMA= N* L/T;计算20次结果取平均值。内存拷贝

速度采用相同计算方法。测试结果如表2所示。

由表2得出以下结论:

(1)DMA传输速度>800 MBps,而内存拷贝速度峰值为110 MBps左右。该速度

为通信过程中的峰值速度,大于该发送速度,接收端将不能及时读取数据至缓存;

(2)测试结果表明:模块通信速度受底层memcpy函数的限制,即硬件的处理能力,

本模块具有良好的性能,满足通信需求。

4.3 稳定性测试

上一节测试中,分别挑选3种情况进行长时间测试,结果如下:

(1)1200 B数据,0.2 ms/次发送速度,运行2 h,记录所有数据包的流水号,并

分段将输入输出详细数据记文件,数据校验位正确,结果正确;

(2)65532 B数据,1 ms/次发送速度,运行2 h,记录所有数据包的流水号,并分

段将输入输出详细数据记文件,数据校验位正确,结果正确;

(3)32 MB数据,500 ms/次发送速度,运行2 h,记录所有数据包的流水号,并

分段将输入输出详细数据记文怎样看风水 件,数据校验位正确,结果正确。

测试结果表明,该模块具有良好的稳定性。

4.4 实用测试

该模块已应用于某项目中,VPX插箱中各CPUSRIO通信均使用该模块,满足

项目中所有通信需求。模块的易用性和可靠性节省了项目软件开发人员大量开发时

间,并达到了所需的性能要求。

本文设计的SRIO通信模块具备良好的工程实用性,后期将会应用于更多的项目和

产品中。其模块化的特点在项目和产品的软件开发中具有诸多优势,后续的应用反

馈将使模块更加完善。本文的设计思想为工程应用中的软件模块化提供了参考。

【相关文献】

1]尹亚明,等.新型高性能RapidIO互连技术研究[J.计算机工程与科学,2004(12).

2Sam O嵌入式系统互连[M.北京:电子工业出版社,2006.

3]李春田.模块化研究[M.北京:中国标准出版社,2008.

4]徐惠民.基于VxWorks的嵌入式系统及实验[M.北京:北京邮电大学出版社,2006.


本文发布于:2023-04-23 14:59:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/511005.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:srio
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图