- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于NDK数字电视传输流网络采集系统
基于NDK数字电视传输流网络采集系统
摘要:本文介绍了数字电视传输流的采集和利用TCP/IP协议实现在以太网中传输数字电视传输流的系统设计。给出了基于DSP/BIOS和NDK的嵌入式网络操作系统的硬件和软件设计方案,在TMS320DM643的系统中实现了网络通信模型,并成功地实现了数字电视传输流的网络传输。
关键词:数字电视传输流;TMS320DM643;DSP/BIOS;NDK
TCP/IP是因特网上传输数据所必需的协议,这种网络通信模式在PC之间的实现已经完善,但是体积、价格等因素限制了其应用的范围。因此,基于TCP/IP协议与以太网的嵌入式系统网络通信设计成为目前一个热门的话题。本系统实现了在以TI公司的TMS320DM643为核心的嵌入式系统中,对数字电视传输流(TS)信号进行采集并在以太网中传输。利用本系统可轻松地实现在局域网中对数字电视传输流信号的传输、调度。数字电视传输流信号源是针对欧洲数字有线广播系统标准(DVB-C)的数字有线电视信号。网络接入硬件在以TMS320DM643为核心的嵌入式系统中实现,网络接入软件采用了TI公司针对C6000系列DSP推出的TCP/IP NDK(NetworkDeveloper s Kit)网络开发包来实现。
系统电路设计
电路主要由5部分组成。数字电视传输流网络采集系统框图如图1所示。
其主要功能是通过传输流接口模块采集数字电视信号进入PLD(Cyclone EPIC6Q240C8)芯片,进行必要的处理后,将信号发送到DSP(TMS320DM643)芯片存储起来,并进行算法处理。通过TMS320DM643对BCM5221进行必要的配置, 将存储在TMS 320DM643内的数据通过BCM5221传送到局域网中,并通过计算机接收数据。
传输流接口模块
传输流接口模块由CY78933输入接口芯片及其电器接口电路组成。CY78933输入接口电路是点对点的传输模块,可以通过光纤、同轴电缆和双绞线进行高速的串行数据传输。输入接口符合DVB-ASI的接口标准。输入接口接收到串行位流后,通过内部PLL时钟同步恢复数据的时钟信息,并对位流进行串并转换、解码和传输检错等操作。这种输入接口能灵活地把高速点对点串行数据转变成并行数据,而且应用领域广泛,包括各种服务器、存储器和视频传输的应用。
PLD控制模块
在项目中,此部分硬件选用的是Altera公司的EPIC6Q240C8芯式。
此模块的主要功能是实现与CY78933接收芯片的接口,把数据从CY78933接收进来,并缓存数据。这部分功能均由VHDL语言编写的功能模块实现。主要有两个功能模块:REcEIVE与FIFO。RECEIVE模块主要负责从CY78933接收数据字段;FIFO模块主要负责缓存数据。
RECEIVE模块
RECEIVE模块的功能是实现与CY78933接收芯片的接口,把数据从CY78933接收进来。其工作方式是以一个传输流包为边界接收数据的。
首先,RECEIVE模块会检测传输流包的边界,通过查找包头字节(固定为0×47)间的字节数来确定。因为包中数据也可能含有0×47,所以要牺牲3个包的数据来检查3次。当发现0×47这个字节的时候,就会触发一个内部的计数器开始计数。当计数到188后,如果下一个字节又是0×47,说明传输流包属于188个字节的包,那么计数器被清零;如果下一个字节又是0×47,说明传输流包属于188个字节的包,那么计数器被清零,否则计数器清零并重新开始检测边界。
当检测到边界以后,RECEIVE模块开始接收数据包。计数器会从零开始计数,在接收数据的过程中使能wrreq输出有效信号,同时把数据输出到下一级。当计数到188时,表示一个数据包接收完成。当一个包的数据接
收完之后,计数器清零,并置ts188,保持高电平一个时钟周期。下一个周期检测数据是否为0×47,如果是,说明是下一个数据包的边界;否则,说明出现了错误,并重新回到上一段所说的检测数据包边界的状态。
此外,PLD模块内会有一个专用计数器记录空包数,当接收到数据包后,会首先检测此数据包是否为空包,如果是空包,PLD模块会把这个空包删除,并在计数器中加1。如果接收的不是空包,就会把计数器的值加到这个数据包的私有字段中,并缓存到FIFO。然后计数器自动清零。这样处理数据包的目的是为了减少网络传输的数据流量,从而可以传输更多的传输流数据。把计数器的值加入私有字段是为了在计算机接收到数据后,可以把原来的空包恢复出来,从而保证原传输流数据的完整性。
FIFO模块
FIFO模块的功能是从RECE
原创力文档


文档评论(0)