您的位置 首页 软件

根据FPGA器材完成复用器输入部分的设计方案

基于FPGA器件实现复用器输入部分的设计方案-整个传送流的复用器分为复用预处理、输入和复用3部分。预处理部分是对多路传送流的PSI(节目特殊信息)提取并修改,重新生成新的PSI表的过程;输入部分是给各路经预处理的不同速率的传送流提供缓存,并将半满信号发送给后续的复用模块;复用部分是将n路传送流复合成一路传送流的过程,控制对各路传送流进行选择性发送,适时插入空包和其他业务信息。复用器的数据缓存包括输入FIFO和输出FIFO,它为n路传送流提供缓存,便于复用器随时提取某一路传送包进行处理。因此,复用器FIFO是否具有高速性和可靠性将直接影响复用器的性能。

近几年根据MPEC-2的DVB一般数字电视在美国、南美、亚洲、大洋洲和非洲经过卫星进行播送。根据MPEG-2/DVB的多路节目复用器是数字电视传输体系的关键设备之一,因此,它的研制显得尤为重要。现在,复用器的规划方案首要根据DSP(数字信号处理器)的完成技能,这种规划办法在理论上也能完成对传送流的复用,考虑到完成复用器许多高速、杂乱的逻辑功用,一起,FPGA(现场可编程门阵列)理论上能够无限次地从头配置,这样在必定程度上为体系的晋级或部分功用的改善留下了地步。所以,从往后专用芯片的规划和开发的视点来讲,根据FPGA的规划无疑是最佳的挑选。本文提出了一套根据FPGA的复用器输入部分的规划方案。

1 复用器组成

整个传送流的复用器分为复用预处理、输入和复用3部分。预处理部分是对多路传送流的PSI(节目特别信息)提取并修正,从头生成新的PSI表的进程;输入部分是给各路经预处理的不同速率的传送流供给缓存,并将半满信号发送给后续的复用模块;复用部分是将n路传送流复组成一路传送流的进程,操控对各路传送流进行挑选性发送,当令刺进空包和其他事务信息。复用器的数据缓存包含输入FIFO和输出FIFO,它为n路传送流供给缓存,便于复用器随时提取某一路传送包进行处理。因此,复用器FIFO是否具有高速性和可靠性将直接影响复用器的功用。

2 FIFO规划方案

2.1 异步FIFO结构

首要,因为输入通道和输出通道的时钟频率不同,所以用来完成输入接口的FIFO有必要支撑异步读写功用,其结构如图1所示。

根据FPGA器材完成复用器输入部分的规划方案

其次,考虑到输入通道和输出通道的时钟频率相差很大,为了防止数据溢出,FIFO的巨细规划也需求考虑。FIFO的巨细一方面与输入传送流的码率和路数有关;另一方面,FPGA的处理才能也是影响缓冲器的一个要素。本规划中充分考虑了满意发生半满信号和节约体系资源的要求,FIFO的参阅长度规划为一帧传送流长度的2倍,即为376 B。n路传送流以不相关的码流速度写入FIFO中,因为时钟之间周期和相位彻底独立,因此数据的丢掉概率不为O,怎么规划一个高可靠性、高速的异步FIFO电路便成为一个难点。

由图1能够看出,FIFO的存储介质为一块双端口RAM,能够一起进行读写操作。在写时钟域部分,由写地址发生逻辑发生写操控信号和写地址;读时钟部分由读地址发生逻辑发生读操控信号和读地址。在空/满/半满标志发生部分,当FIFO里的数据超越188个字节时,发生一个半满信号,并将该信号送给复用操控模块,由复用操控模块发生一个读使能,操控FIFO读出数据。也便是说写进程是接连的,而关于一个FIFO来说读进程是连续的。

2.2 异步时钟同步电路

规划的进程中,首要要同步异步信号,使触发器不发生亚稳态。采纳的办法是以读时钟为基准时钟操控读写数据,由读时钟触发,将写时钟变为写使能来操控FIFO写入数据。如图2所示的触发器电路能够同步异步时钟。

由图2能够看出clk-r和clk-w分别是读时钟和写时钟,两者异步且频率相差很大。经过两级D触发器对这两个时钟进行同步,把写时钟clk-w转变为一个由读时钟clk-r上升沿触发的写使能w-en,由w-en操控写入数据。

2.3 信号操控电路

同步了读、写时钟后,下一个问题便是怎么正确规划空/满/半满信号的操控电路。这些标志的发生是FIFO的中心部分,怎么正确规划此部分的逻辑,直接影响到FIFO的功用。MPEG-2/DVB的传送流复用的特别性,决议着空/满/半满标志发生的准则。FIFO的标志发生逻辑如图3所示。

体系界说了写指针wp和读指针rp,在FIFO写入或许读出数据时开端记数。经过比较wp与rp来发生标志信号。详细完成办法是:界说一个计数器(count)对存人FIFO的数据字节数计数,发生半满信号hf-flag,当FIFO写入一个数据时,计数器加“1”,当从FIFO中读取一个数据时,计数器减“1”,当计数器值大于187时,该FIFO输出一个半满信号。别的,附加了一个并行的区间判别逻辑来操控同步字节的写入。当同步字节syn到来时,写指针wp开端计数,FIFO开端写入数据,这时需求同步判别计数器的值,而这个值应为0或187,然后给wp赋初值,这确保了FTFO中写入的前4个字节即为传送包的包头。与此一起,半满计数器也在计数,当其值大于187时,半满信号HF跳变为1,标明FIFO接收到读使能r-en时,读指针rp开端计数,体系开端从FIFO中顺次读取数据,读取完1帧(188 B)数据后,读使能封闭,体系不再读取数据,此刻hf-flag也变为0,FIFO的状况又回到了初始状况。

2.4 缓存功用模块

图4给出了FIFO的引脚界说:syn为传送流同步字节;rst为复位信号;clk-r为读时钟;r-en为读使能信号,当体系履行读操作时,该信号为“1”,clk-w为写时钟;datain为并行8位数据输人;hf-flag为半满信号,当FIFO中数据个数大于187时,该引脚输出一个高电平;emp-flag为空标志;full-flag为满标志;dataout为并行8位数据输出。

3 结束语

本文根据FPGA的复用器输入部分规划方案,程序调试简略,经过实践验证,运转作用杰出,达到了规划的要求,具有较高的实用价值。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/85744.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部