当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于NIOS II的video over ip设计

0 引言

本文介绍的设计方案基于Altera 公司的NiosII IP 核(知识产权功能模块), 实现了MPEG2-TS 格式数据和基于以太网的IP 网络的桥接。可以通过多个输入端口接收TS 格式的数据并打包进行以太网传输。使用的是工业标准的用户数据报协议(UDP)/IP 网络数据格式打包,并带有可选的实时传输协议(RTP)格式打包作为可选选项。所支持的网络设备硬件包括100Mbps(全双工)模式和1Gbps 以太网连接并且可以处理多达256 个独立的数据流。通过硬件打包的方式,可以实现千兆以太网性能的低延迟传输的线路速率。

1 相关网络协议及工作原理

按照连接方式, 网络协议可以分为面向连接和无面向连接两大类,分别以传输控制协议(TCP)和用户数据报协议(UDP) 为代表,而webserver 所使用的HTTP 协议就是以TCP 协议为基础的。TCP 通过三次握手建立连接之后才可以进行数据传递。整个过程是一个主从应答方式。如果超过一定时间一方无响应,那么这个连接就会失效,被服务器断开。这种协议有这可靠的连接验证机制,适合做客户机-服务器之间的对话操作,比如webserver,对网络延迟要求严格程度较高。相对应的UDP 协议常常是发送数据的一方对着某个目标地址无脑发数据,只要一开始寻找到目标网段中存在这个目标网络设备,那么数据发送就会开始。其间不会在意目标地址是否真正接收到了所发送出的数据。因此此类协议适合做实时的大码率的信号传送,对网络延迟延迟无要求,数据源和目的设备之间的通信随时可以断开,也可以随时恢复。

2 MPEG2-TS 数据在以太网中的传输

2.1 MPEG2-TS 结构介绍

图1 频率合成器的硬件原理图

MPEG2-TS,TS 即"Transport Stream"的缩写。它是分包发送的,每一个包长为188 字节。包的结构为,包头为4 个字节,负载为184 个字节。在TS 流里可以填入很多类型的数据,如视频、音频、自定义信息等。MPEG2-TS 主要应用于实时传送的节目,比如实时广播的电视节目。MPEG2-TS 格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。简单地说, 将DVD 上的VOB 文件的前面一截cut 掉(或者是数据损坏数据)就会导致整个文件无法解码,而电视节目是任何时候打开电视机都能解码收看的。TS 是一个非常常见的实时数字信号传输方式。TS 流的数据格式如图1 所示。

2.2 以太网帧结构

以太网帧结构有好几种类型,比较典型的由以下各部分组成:前序字段、帧起始定界符字段、目的地址字段、源地址字段、类型字段、长度字段、数据字段、校验序列字段。其中有几个特性非常重要:
(1)类型字段规定了该网络帧所用到的网络协议,拥有固定的标志位可以作为特征对比的依据,也可以修改这个标志位,人为地重新指定所用的网络协议。(2)一个网络帧只使用一个网络协议。(3)TS 流数据也有着特有的标志位,可以用来数据识别。[!--empirenews.page--]

2.3 通过Video over ip 模块的MPEG2-TS 流在以太网中的传输

任意的网络数据进入网口之后,FPGA 中的Video over ip 模块会按照MPEG2-TS 特征位以及整个帧的几个标志位加以比较, 然后作判断: 满足MPEG-TS 数据的帧且类型字段中协议标志位不为17(17表示UDP),模块会将这个标志位改为17,然后从专门的数据通道进行传输。其他数据允许直接通过NiosII 处理器。

3 实际设计介绍

3.1 硬件部分

本设计基于Altera Cyclone 系列的FPGA,而NiosII 处理器则是内嵌在FPGA 中的一个片上可编程处理器(SOPC)。我们通过Altera 提供的集成开发环境QuartusII 中所带的sopc_builder 从FPGA 中划取资源来构建硬件。整个SOPC 系统硬件部分与MCU 系统如单片机、Arm等非常类似, 是一个32 位的嵌入式CPU,有内部指令集。这一点与FPGA 芯片本身差别非常大。此外FPGA 通过一个DP83848 的PHY芯片与网口插座相连,这样网络设备的MAC 层做到FPGA 或SOPC中。NoisII 系统的硬件结构如图2 所示。

图2 基于NiosII 的SOPC 系统硬件结构

3.2 软件部分

图3 控制外设所用到得webserver 在播放视频时的稳定性测试

FPGA的程序可以通过Quartus 集成环境开发, 我们通过Verilog语言编写,然后直接通过Quartus 编译后即可下载运行。而NiosII 部分的软件则要使用Altera 提供的另一个集成环境NiosEDS,并编写嵌入式的C 语言来开发。之后再通过环境所带的编译器编译下载运行。而Video over ip 模块我们通过Verilog 语言编写,然后打包成IP 核可以被sopc_builder 加载调用。此外还需要通过NiosEDS 自带的niche_stack 网络协议栈搭建一个嵌入式webserver。

4 检测说明及小结

正如前文所说,webserver 基于HTTP 协议,该协议以TCP 协议为基础。测试时我们将一台电脑通过网线与实验板的网口相连,并通过VLC 播放器对FPGA 不间断播放MPEG2-TS 格式的视频流,同时将NiosII 上的werbserver 开启运行。如果没有Video over ip 模块,由于视频数据的码率较大,给webserver 造成极大的延迟,并很快崩溃。当我们开启Video over ip 模块之后,为保险起见,做了12 小时的连续不间断视频播放, 同时电脑通过不断刷新web 页面的方式不断访问
webserver,即以此方式检查PC 机与webserver 连接的通断。经测试,这12 小时间以及之后webserver 中的页面始终可以正常访问, 无异常情况。测试结果符合预期要求。测试过程如图3 所示。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭