新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于FPGA的TS over IP的设计与实现

基于FPGA的TS over IP的设计与实现

作者:李锋 魏子奇时间:2015-09-07来源:电子产品世界收藏
编者按:随着互联网的发展, 数字电视信号的网络传输得到了越来越多的关注,本文设计与实现了一种基于FPGA和MCU(R8051XC2)的TS over IP系统,并对传统的TS over IP系统进行了改进。此系统通过从标准TS流接口接收TS流,将其以乒乓操作的方式存放在两个双口RAM中,再通过一定方法封装IP包发送至网络,实现了TS流和网络IP数据包的相互转换。通过向系统推送TS流数据并使用抓包软件对经过系统的数据进行分析统计的方法证明,得出以下结论,此系统在相同情况与有限的硬件条件下,相比传统的使用FIFO作为

2.4.2 与MCU通信的实现

本文引用地址:http://www.eepw.com.cn/article/279225.htm

  此模块实现与MCU之间的通信,在本设计中主要采用的是EMIF接口的方式,与此同时我们还使用了MCU的通用I/O口,采用了以EMIF接口为主、通用I/O口为辅的混合通信方式,使与MCU之间的通信更加地灵活,逻辑框图如图4所示。

  在本系统中R8051XC2提供了EMIF接口来访问外部的数据或程序存储器,该接口具有23bit的数据总线“memaddr”,可以访问最大16MB的存储空间;8bit的输出数据总线“memdatao”和8bit的输入数据总线“memdatai”,读写控制信号“memwr”和“memrd”,以及一个响应信号“memack”。

  R8051XC2为EMIF接口提供了基于三个输入信号的等待状态,三种信号分别为:“mempsack”主要用于外部程序存储器;“memack”主要用于外部数据存储器;“sfrack”主要用于外部特殊功能寄存器。这些管脚的状态在传输指令或数据时被采样,例如,在使用“memrd”和“memwr”对外部的数据存储器进行读写操作时,处理器会对“memack”进行采样来确认外部存储器是否已经完成操作。还提供了一个全局等待信号“waitstate”,表示插入一个等待状态,无论是由什么原因引起的。

  控制内部产生的程序或外部数据存储器的等待状态长度的寄存器是“ckcon”,它的值作为初始值装入内部等待状态的计数器中。当有一个外部数据存储器的访问初始化时,ckcon[2:0]的值被装入内部等待状态计数器,这个计数器会强制将waitstate信号置1,使处理器中的寄存器和触发器进入等待状态,直到计数器的值减少到0。

  本文设计的系统在两个不同的层次中包含两个时钟域,需要使用两个PLL模块来实现,其中一个在FPGA的顶层模块中为MAC模块和MCU接口模块提供100MHz与80MHz的时钟,并通过locked接口产生低有效的复位信号。另一个PLL模块为FPGA提供运行时所需的时钟信号。

2.4.3 的实现

  在本文介绍的系统中,存在着两个时钟域,其中TS模块工作在标准中要求的27MHz的时钟域中,处理器和MAC模块工作在100MHz的时钟域中,其中TS模块需要和处理器之间进行数据传输。在传输中需要进行异步时钟域处理的主要包括两种信号:一种是控制信号,另一种是数据信号。在异步时钟域的通信中需要解决两个问题:一是信号的同步,二是尽量减少亚稳态的影响。

  对于第一个问题,在本文中使用部分握手协议来进行信号的同步[7]。部分握手协议的过程中,两个通信的时钟域不需要完全了解对方的状态,可以按顺序发送或撤销各自的握手信号。由于双方不需要等待对方的回应,就可以撤销自己的信号并继续执行协议,因此相对于完全握手协议,部分握手协议的稳定性稍差,当然可以使用更少的时间完成一次握手传输。根据使用的信号不同,部分握手协议又可以分为两种。第一种为使用电平和脉冲的同步握手信号。第二种为使用脉冲的同步握手信号。在此本文使用脉冲的同步握手信号,其过程如图6所示[6]

  在这种握手机制中采用脉冲同步器接收通信双方的握手信号,如果时钟域A的时钟频率比时钟域B的时钟频率快两倍时,可以采用边沿同步器来收握手信号。从图6中可以看出,这种握手机制中,时钟域A需要2个时钟周期,时钟域B需要3个时钟周期,所耗费的时钟周期最少。

  握手机制的优点是可以在时钟频率相差较大的时钟域之间进行通信,可以进行多位传输。缺点是需要额外的多个时钟周期完成握手的流程,降低了系统的效率。

  对于亚稳态的减少,使用常用的同步电路的方法来处理,同步电路的原理是降低出现亚稳态的概率,由图6中可分析出,第一个时钟域的信号到达第二个时钟域的第一个触发器时,很可能无法满足建立和保持时间,从而导致在触发器的输出端出现亚稳态,当这种状态持续不到一个周期时,可以通过增加一级触发器来消除该亚稳态,这样第二个触发器的输出信号就可以满足同步信号的要求,可以达到异步电路同步化的效果[4]

3 系统状态机及各状态说明

  下面主要对执行操作时系统的状态转换情况进行说明。系统状态转换图如7所示。

  信号说明:

  wdata1,wdata2 :RAM1和RAM2的可写数据信号。

  wchk1,wchk2 :RAM1和RAM2的可写包头信息信号。

  rdata1,rdata2 :RAM1和RAM2的可读信号。

  状态图说明,除开始和结束状态外,本系统共包含六个状态:


tcp/ip相关文章:tcp/ip是什么




评论


相关推荐

技术专区

关闭