摘要:在分析了基于PON结构的FC-AE总线的基础上,以提高系统传输效率、降低总线功耗为目的,提出了一种使用基于共享存储器和循环存储的数据存储,采取双缓存任务执行机制和内存动态访问控制机制的内存访问方式.软硬件协同测试结果表明,该内存架构具有任务执行效率高,系统交互时间少和动态功耗低的特点.
关键词:无源光网络;光纤通道;航电总线;低功耗
引言
在光纤协议中,FC-AE-1553B是基于MIL-STD-1553B而发展起来的实时性协议,但标准航空总线协议并没有对网络的拓扑结构进行明确的约束.目前在航电总线领域对光纤网络性能的分析研究主要集中在光纤(FibreChannel,FC)协议的建模,实现和组网应用等方面的研究.例如文献[1]研究了FC网络复杂混合拓扑的建模与仿真,对机载FC网络做出性能评价;文献[2]对基于无源光网络(PassiveOpticalNetwork,PON)结构的拓扑组网方式进行了建模分析设计;文献[3]分析比较了点对点、仲裁环和交换式三种常见光纤航电总线组网方式,对不同传输方式的优缺点进行了对比.
各种拓扑结构的实现方式,都没有对总线协议的实现方式中的内存访问架构进行分析优化.本文针对拓扑结构中性能较优的基于PON结构的点对点传输提出一种内存访问架构,改善了NT到NT传输模式下的NC数据转发延迟;并且采用基于硬件的内存动态访问架构,降低了系统的传输功耗.
基于PON结构的FC-AE总线
PON技术正是为了支持点到多点应用发展起来的光接入技术.PON网络拓扑结构组网是一种下行一点到多点,上行多点到一点的网络双向传输结构,如图1所示.整个协议网络由3类节点构成:PON网络控制器(PONNetworkController,PNC),PON网络终端(PONNetworkTerminal,PNT),PON光分配器(PONOpticalDistributionNode,PODN).其中,PNC是整个网络的控制核心,负责终端传输请求查询、总线同步、数据传输协调以及错误处理和备份传输数据的功能.PNT是连接总线与应用设备之间的终端,用来实现应用设备与总线之间的通信功能.PODN负责执行光信号的下行分配和上行收集与传输功能.PODN是无源器件,故整个网络的互联传输具有非常低的功耗.网络的上下行线路分别采用不同波长的光源作为载体进行传输.由于PON在上下行数据传输时采用波分复用方式,因此本组网方式的上下行数据通信可以实现全双工传输.
内存访问架构设计
NC内存架构设计
根据航空总线协议,NC作为网络的控制端,它的次级节点可以高达2exp24个,如何动态设计任务的执行流程,实现与上位机的实时交互成为设计的重点.我们采用了一种与上层软件相结合的动态共享存储分配机制,NC存储空间可以动态的分配给最近一段时间需要与它通信的NT.在通信任务结束后根据控制器的设计进行任务堆栈的切换,以实现上位机对芯片进行任务配置和芯片执行任务的无缝连接.
通过对“任务计数器”的设置反映连续执行的任务个数,最多可连续执行80组不同任务.每组任务对应“描述栈”中的四个字,依次表示任务开始执行时芯片的相应状态、时标值,和由上位机提前配置好的多任务时间间隔以及信息块地址指针.
对任务执行配置区域采取了双缓冲机制,即栈指针、描述栈和信息块都分为“活跃区”和“非活跃区”.通过控制寄存器的不同设置选择当前“活跃区”,由芯片内部逻辑进行读写访问,同时,上位机可以通过PC接口对“非活跃区”进行配置,以便执行完当前任务后无需等待,可以立即切换到另一组任务(原来的非活跃区),这极大的提高了任务执行的效率.
共享存储机制是存储数据的空间在芯片内部逻辑和外部接口的读写访问下进行及时释放的方法.芯片内部数据存储的位置和大小由上层软件通过对命令帧的配置进行合理的规划.原始数据通过PC接口完全上传到上位机后,该部分接收缓存得到自动释放;上位机发送数据到NC,所使用的数据空间也要在数据发送完成后及时的释放.以此在保证数据安全可靠的前提下提高存储空间的整体利用率.
另外根据文献[3]的分析,NT到NT的传输模式下,点到点的组网方式中,由于数据经过NC的转发,传输延迟较长.如图3(a)所示.
针对上述情况进行改进,如图3(b)所示.改变命令帧的发送顺序,在NC模式下,在内存中单独划分出一定的接收缓存(如32个字)用来存储NT-NT时NC需要转发的数据,在该接收缓存半满的时NC进行数据的转发.NC转发延迟时间固定化为16个周期,数据长度越长,提升效果越明显.
NT内存架构设计
NT的内存架构设计在数据存储上与NC有一定差别.NT用来连接终端或实现桥接功能,它可以连接多个外部设备,如视频、音频、雷达或各种传感器.大多数设备需要及时传输数据到NT的存储空间,所以不同的NT,可能需要分配的存储空间方式不一样.我们使用了一种环形的循环存储管理方式,根据实际情况,在对NT进行配置的时候不同的挂接设备分配不同的存储空间.如果一个设备的存储空间存满了,更多的数据将从该空间的起始位置自动进行覆盖存储.因此,如果某个设备的数据必须实时的发送给NC,则需要进行任务配置的时候优先考虑.对于某些设备,NC只需要知道最新的信息,如一些传感器,在这种情况下,数据的覆盖不会造成任何影响.NT的内存管理如图4所示.
从图4可以看出,NT也采用了双缓冲机制,不同的是对数据块的控制使用了查找表功能,“查找表”在进行NT初始化的时候进行配置,不同的NT可以根据自身情况灵活设置,它主要根据收到的命令帧的具体内容选择接收、发送还是广播等工作模式,再根据查找表中的“子地址控制字”对各个挂接模块设置的缓存大小进行数据的循环存储.
内存架构具体划分及功耗分析
根据NC和NT工作模式的存储器管理架构设计,对NC、NT的内存具体划分如表1所示.
本协议硬件实现采用的是TSMC的0.13μm工艺,使用SRAM-DP-HS软件自动生成双端口RAM,该软件最大可生成8K×32的RAM块,根据设计的内存划分,需要两个RAM才能满足设计需求.由于芯片应用环境的特殊性,要求具备较低的功耗,而高速大批量的数据传输必然会对内部RAM进行频繁的访问,因此,能否有效降低内部RAM的动态功耗成为了关键.根据内存的具体存储空间的划分,NC工作模式下需要4K×32的控制信息存储空间,NT工作模式下需要2K×32的控制信息存储空间.利用存储器分块访问技术,对RAM块以2K×32的单元进行组合,采取8块2K×32的RAM代替2块8K×32的RAM.其功耗和面积对比如表2所示(其中芯片电压为1V,工作频率为125MHz).
由表2可以看,采用存储器分块访问技术后面积增加了0.74mm2,增加了20%,但动态功耗得到了明显降低,平均动态功耗降低了33.32%,在很大程度上提高了芯片的寿命和可靠性,对于航空环境的特殊情况下用面积换功耗还是值得的.
传输效率验证
在XilinxVirtex5开发板上对原型代码进行验证,如图5所示.验证平台拥有丰富的外设,包括:SFP模块、OLT模块、ONU模块、PCIe接口、以太网和61580芯片等.完全满足系统的测试需求.
通过软件平台(见图6),对芯片配置需要传输的任务组数据.该软件主要的功能是按照前面提到的存储管理机制,生成数据存储器中各个板块的数据信息,包括配置信息和待传输的随机数据.
传输延迟
通过Chipscope采样,可以计算出端到端的传输延迟,即NC发送隔离FIFO输出数据到NT接收隔离FIFO写入数据之间的时间间隔.如图7所示.图中为命令帧的传输,在NC发送出去的时刻为6295.5T,NT接收到该命令帧的时刻为6361.5T,其中T为系统时钟125MHz的周期,由此可以得到传输延迟为:td=(6361.5-6295.5)T=0.52μs;
对于NT-NT的传输模式,因为NC需要缓存16个周期的数据再进行数据转发,所以延时为tdn=td+16T=0.65μs.满足协议规定最大延迟此延时2μs要求.也远小于文献[3]中的数据.
数据净荷率
由于芯片内部使用了双端口RAM,所以上位机和芯片内部逻辑可以同时对RAM进行访问,交互时间可以看成是“0”.根据传输数据的长度不同,通过比较传输不同传输数据长度下实际信息载荷量,得出数据净荷率随传输数据总量的变化趋势如图8所示.随着传输数据量的增加,数据净荷率趋于稳定状态,接近于96%.
结束语
本文通过对下一代航空总线协议的内存访问架构的分析,提出了适合航空特殊环境的低功耗高效率设计.从实验结果可以看出,采取该架构的内存访问方式改善了PON结构网络在NT-NT传输方式的不足,降低了动态功耗,达到了设计的目的.
第三届中国民用航空机载与软件大会
参会、预定展位
请扫描上方二维码
更多咨询请联系我们
AIMME | 杨女士
T : 021-62201806
M : 189 6441 7669

