跟着高速处理器的不断发展,嵌入式体系运用的范畴越来越广泛,高速大容量缓存器被广泛运用于音视频体系中,可是专用的高速大容量缓存芯片价格过于贵重,传统SDRAM在带宽上现已逐步无法满意运用要求,特别是关于多路数据多进多出时,两者都无法很好的满意要求,这儿提出一种运用双沿随机动态存储器(DDR SDRAM)结合外加专用电路的规划方案。
规划运用在依据DVB-C的EOAM调制器体系中,该体系的根本要求可以缓存调集多路视频TS流的千兆IP数据,并对IP数据进行多路高速分发;输入为2个千兆网口,输出至RF射频接口的数百个数据分发通道。
在以往体系规划中,有人提出运用一般SDRAM芯片作为物理缓存单元,可是因为该类芯片作业速度限制,在根本位宽条件下,达不到上述体系的高带宽要求。若不进步芯片速度,单纯进步位宽,因为各位数据的延时不同,且SDRAM选用的3.3 V电压的上升下降沿过渡较宽,将导致芯片数据采样的安稳时刻窗变窄,数据传输可靠性下降;一起因为位宽增大,引脚变多,形成规划杂乱度的直线上升。本文运用DDR SDRAM作为存储单元,在不改动体系时钟的状况下,运用时钟双沿传输数据,将同频率芯片的传输带宽在SDRAM基础上进步了一倍,很好地满意了高带宽缓存的需求。
1 DDR存储器简介
DDR存储器即双数据率同步动态随机拜访存储器,它和前期的单数据率同步动态随机拜访存储器相同,内部存储单元选用电容充电来保存数据,因而有必要不断地对电容充电以坚持数据,这便是所谓的“改写”。SDRAM的数据总线在每个时钟的上升沿存取数据,而DDR SDRAM则在每个时钟的上升沿和下降沿都存取数据,这样在数据总线宽度和时钟频率不变的条件下数据总线带宽得到了一倍的提高。
2 体系规划
规划选用Xilinx公司的Sptan3a-dsp 1800a作为主操控器,运用Micron公司的MT64V32X16芯片作为存储介质,最大存储容量为512M。本体系的逻辑部分由裁定模块、输入缓存模块、调度判定模块、地址转化模块和DDR接口操控模块等部分组成,结构框图如图1所示。
中心操控器中的裁定模块发生相应的操控指令。完结上电后的初始化复位,并在体系运转过程中,针对作业优先级,宣布改写指令、写操作指令和读操作指令;DDR接口操控模块依据DDR芯片操作的根本时序,完结中心操控器指令的针对物理芯片的信息传输;南于DDR芯片具有不行实时操作特性,有必要运用内部输入缓存RAM进行根本的实时数据缓冲;而地址转化模块、调度判定模块则和内部输入缓存RAM合作,完结对DDR芯片内部存储空间的映射作业。
3 DDR中心操控器规划
DDR存储器是一种指令相对杂乱的高速存储芯片,它在上电后有必要完结初始化才干进行其它操作;并且不支撑单周期读写操作,只支撑周期为2、4、8突发读写操作。别的,DDR芯片因为其%&&&&&%特性,数据保存在其间是不安稳的,需求在必定时刻周期内对其进行改写操作,以确保数据不会丢掉,因而,在DDR操作过程中有数十条指令。但在本规划中DDR接口操控器选用的是Xilinx供给的DDR IP,这样中心操控器中的裁定模块只需求运用闲暇、初始化、读操作和写操作等4个指令就可以完结对DDR-SDRAM的操作,大大下降了规划难度。因为规划意图在于消除来自网络对IP数据的颤动,并且终究要将IP数据分发至512个通道,大大超出了以往规划对DDR的运用需求,因而本文在这儿提出图1所示规划,即可完结DDR存储器对高速大容量多通道的规划运用:
(1)输入缓存模块
输入缓存器由一个RAM加外部逻辑电路构成,缓冲已输入但还没来得及写到DDR中的TS分组净荷。待裁定模块宣布答应写入的信号后,再将输入缓存中的数据包传递给裁定模块,并且开释相应的存储空间。依据DDR的作业形式和DVB-C特性,输入缓存的数据传输以TS包为单位,完结192个字节接连突发传输。
(2)调度判定模块
调度判定模块接纳读恳求行列信息,完结读数据时将同一个bank内数据量最大的FIFO进行调度出行列的判定。该模块保存各个通道FIFO当时的数据包数量。
(3)地址转化模块
地址转化模块担任完结通道号和DDR SDRAM芯片内部存储空间的映射。该模块中保存的变量包含各个通道在DDR SDRAM中的块开始地址、块停止地址、FIFO头偏移量、FIFO尾偏移量。
(4)裁定模块
裁定模块发生相应操控指令,针对作业优先级,宣布闲暇指令、初始化指令、写操作指令和读操作指令。
4 资源耗费结构的改善
4.1 规范的MIMO结构的缓存器
针对多路数据的缓存,规划了多进多出的缓存结构,对物理通道输入的数据流首要进行辨认与分发,给每一路节目流装备一个输入缓存FIFO和一个输出缓存FIFO,结构如图2所示。
这种结构的长处在于,对每一路节目,都有独自的缓存空间对其进行缓存,各路节目相对独立,互不搅扰;在节目路数较少的状况下,该结构功率较高,便于扩展。
但上述结构存在的问题在于,假如节目路数过多,输入数据流量过大,会导致FPGA内部缓存数量成几许上升,极大的耗费FPGA资源,下降运转时钟频率,形成体系归纳后速度下降。
4.2 端口固定的MIMO结构缓存器
因为规范的MIMO结构存在的问题,难以达到本文所需的运用要求,因而存这儿提出的一种改善型规划。这种规划不像规范的MIMO那样对DDR进行逻辑结构上的缓存,而是经过固定DDR高位地址,选用物理结构缓存的方法进行快速存储,如图1所示。
在这种结构中,外部流处理模块先将数据流与该数据流存储的通道号分发至缓存RAM和地址转化模块,再由调度模块调度转化后的对应地址指针,将其发送到DDR上对应的物理存储空间而在输出端口也以相同的方法只针对物理输出端口,这就要求有一个读恳求行列,以便即将读的意图通道提早发送。在这儿调度模块可以实时检测各个通道运用状况,并将数据流快速分发。这种结构关于EQAM这种一个物理IP端口输入几百路流的设备,可以极大地下降FPGA内部RAM的耗费,且对DDR影响也较小,不会过多下降体系功用。并且在前端数据缓存中直接运用RAM而不运用FIFO更有利于同步数据流和对应地址。
5 体系测验
为了测验本规划止确性,将上述模块嵌入EQAM体系后,接纳来至网络的IP视频数据,经过码流分析仪检测数据成果后发现,经DDR缓存后数据流包计数器没有过错,没有呈现丢包状况,码流分析仪自带播映器可以明晰接连播映节日,如图3所示。但在节目转化过程中因为节目不同会发生PAT过错,该过错不影响节目正常播映。
6 结束语
本文在这儿提出了一种改善MIMO结构DDR缓存器,并对中心操控模块完结功用进行了描绘,评论了改善后的规划对体系的影响。终究测验成果也标明,本规划完全可以运用于多通道大容量的视频设备的缓存中。