当前位置:首页 > 工业控制 > 电子设计自动化

随着高速处理器的不断发展,嵌入式系统应用的领域越来越广泛,高速大容量缓存器被广泛应用于音视频系统中,然而专用的高速大容量缓存芯片价格过于昂贵,传统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缓存器,并对核心控制模块实现功能进行了描述,讨论了改进后的设计对系统的影响。最终测试结果也表明,本设计完全可以应用于多通道大容量的视频设备的缓存中。

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

在高性能服务架构设计中,缓存是不可或缺的环节。在实际项目中,我们通常会将一些热点数据存储在Redis或Memcached等缓存中间件中,只有在缓存访问未命中时才查询数据库。

关键字: 缓存 内存

为实现印度政府"自力更生的印度"(Atmanirbhar Bharat)战略,某本土电信设备制造商联合运营商加速国产化替代,却遭遇三大挑战:

关键字: 威刚工控 缓存 固态硬盘

缓存选择是指计算机系统中的一种机制,用于决定从哪个缓存中获取数据。当计算机需要访问数据时,它首先会检查缓存中是否已经存在所需的数据。如果存在,则直接从缓存中获取数据,从而提高访问速度。如果不存在,则计算机需要从更慢的存储...

关键字: 嵌入式 缓存

在当今数字化时代,边缘 AI 正以前所未有的态势改变着我们的生活与产业格局。从智能安防到自动驾驶,从医疗健康到工业制造,边缘 AI 的身影无处不在。然而,要实现边缘 AI 的全面适用,仍面临诸多挑战,而负责任的赋能技术则...

关键字: 边缘 技术 数字化

在科技飞速发展的当下,汽车行业正经历着一场深刻变革,汽车通信系统作为其中的关键领域,展现出了极为光明的前景。其中,车对车(V2V)和车对基础设施(V2I)技术凭借其在避免事故方面的卓越潜力,成为了人们关注的焦点。

关键字: 汽车 通信系统 技术

在现代软件系统中,数据库与缓存是两个重要的组成部分。数据库负责数据的持久化存储,而缓存则用于加速数据访问速度。然而,如何保证数据库与缓存之间数据的一致性是一个具有挑战性的问题。本文将探讨数据库与缓存数据一致性问题,并关注...

关键字: 缓存 数据库

该设备能非常实时的呈现视频和音频的功能为我们交通事故个处理和定位提供了更科学的依据,让我们的财产和人生安全得到了充分的保障。

关键字: 视频 音频

在全球经济格局深度调整的当下,企业面临着日益激烈的市场竞争。为了在这一浪潮中脱颖而出,实现可持续发展,数字化转型已成为企业的必然选择。而技术创新作为推动数字化转型的核心驱动力,正引领着企业迈向高 “智” 量发展的新征程。

关键字: 数字化 技术 创新

缓存的工作原理在于,当CPU需要数据时,会首先在缓存中查找,快速响应。如果未找到,会从慢速的内存中获取,并将数据块存入缓存,以便后续快速访问。缓存按层次划分,有一级缓存、二级缓存和三级缓存。

关键字: 缓存 CPU

缓存的工作原理是将CPU最近最可能用到的少量信息(数据或指令)从主存复制到Cache中。当CPU需要读取数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU...

关键字: CPU 缓存
关闭