技术文章
基于NiosII的视频采集与传输系统
 
1 引言

采用软件编程实现传统图像的采集和处理,这需要占用大量的CPU资源,一方面CPU要提高系统工作频率,使得整个系统的可靠性接受很大的挑战,另一方面这类系统难以处理实时、高分辨率的图像。采用NiosII加上FPGA可解决这些问题。Altera公司推出的NiosII是一种可配置的RISC嵌入式软核处理器,它可与各种各样的外设、定制指令和硬件加速单元相结合,根据用户的需求进行裁剪,构成一个定制的SoPC。

本系统将视频数据的采集和传输集成到单片FPGA上,采集部分使用硬件描述语言编写成硬件模块,作为外设挂到系统中,不占用CPU资源,提高了系统的运革新行速度。在此基础上,用户还可方便地添加IP核等方式来扩展系统的功能,比如将H.263视频编码的硬件模块加载到NiosII系统中,大大缩短了开发周期。

2 NiosII处理器系统

一个NiosII处理器系统由NiosII CPU和一系列的外设组成。开发基于NiosII的嵌入式系统,关键在于如何根据功能需求定制NiosII及设计自定义接口。在本系统中,由于要实现视频数据的采集和网络传输功能,而NiosII(version 6.0)标准接口组件中没有视频解码芯片ADV7181B和网络芯片DM9000A的接口,所以用户要用硬件描述语言编写ADV7181B和DM9000A的硬件模块接口,然后在SOPC Builder中以用户自定义的方式添加进去,挂到avalon总线上。本系统主要包括以下部分:

EP2C35(CycloneII FPCA)包括NioslI软核CPU、操作系统使用的定时器timer0、网络协议栈使用的定时器timer1;Flash主要用来存放软件代码以及一些需要保存的参数;SDRAM用来在系统运行时的代码和数据存储;LED和按键用来指示工作状态和系统复位的按键;为了方便调试,异步串口UART通过串口终端观察系统的运行状态;自定义的视频采集硬件模块控制从视频输入口进来的视频数据经视频解码芯片ADV7181解码后正确的存放到存储器中以供后续的处理;以太网利用TCP/IP协议传输视频数据。整个系统的结构如图1。

3 视频采集硬件模块

DE2开发板上视频A/D芯片选用的是ADV7181B,其输出的数字视频数据通过8位总线TD DATA [7:0]传输给FPGA,FPGA经视频解码模块在视频数据中识别出有效数据。如图2是视频采集模块的框图。ADV7181B输出标准的ITU656格式的数据,Y:U:V,=4:2:2,分辨率为720×576,输出像素时钟为27 MHz,一行视频数据的格式如表1所示。

本设计的视频解码模块是通过分析视频数据流中的“FF 00 00 SAV/EAV”,解码得到一行的有效数据YCbCr以及场标志和场消隐信号。数据流程如图3所示。

4 μClinux操作系统移植

嵌入式μClinux操作系统主要由3个基本部分组成:引导程序、μClinux内核和文件系统。μClinux的内核定制高度灵活化,开发者可按设计需求对内核进行配置,在了解内核原理后可增加各类驱动。

1) 建立开发环境

μClinux系统的移植选用的主机平台是。Fedora Core6,内核版本为2.6.19。在进行μClinux的移植之前,需要建立系统的交叉编译环境。

2) 配置内核

在编译μClinux内核之前,首先要对内核进行配置。针对本系统,由于DE2开发平台上只有4 Mbyte的Flash,根据系统的功能将必要的选项选中,将没有必要的选项去掉,以减少内核的大小。本系统中需要注意的两点是:

(1) 选择设备驱动中的网络支持选项,在Ethernet(10 or 100 Mbit/s)下面选中DM9000A,因为DE2开发板的网络芯片是DM9000A。

(2) 选择字符型设备驱动Character devices这一步要选择串行口驱动,进入SeriaI drivers选项,然后选定Nios serial port support,这样在内核中加入了对Nios口的支持,就可以通过串口将内核打印的信息传递给主机。

3) 配置μClinux的文件系统

在内核启动之后,就会将romfs作为根文件系统。根文件系统中必须要有init和sh这两个可执行文件。这样在内核运行的最后,将有一个简单的shell界面,同时用户也可以将自己的应用程序加入到根文件系统中。

4) 下载μClinux内核映象

将内核映象和根文件系统下载到的Flash中,然后上电。通过串口终端工具看到系统启动后的信息如图4。说明系统已经正常运行,以太网已经连接上。进行网络测试,在开发板端,开启网络服务器程序boa,用Internet网络中的另一台主机访问该服务器,得到如下测试图如图5。

5 小结

由于本系统是直接对经摄像头采集的视频数据打包发送,没有对数据压缩编码,因而对带宽的要求很大,尚且不能应用到实际中,但这为下一步的开发提供了一个整体构架,下一步的工作就是将视频数据压缩编/解码添加到FPGA中,比如将H.263视频编码引入到本系统中,构建一个视频终端。

 
 
    网站导航 |友情链接 | 招聘英才 | 联系我们 | 汇款方式 | 在线支付
公司地址:浙江省杭州市信义坊商街225号  邮政编码:310014
E-mail:tech@freefpga.com 服务MSN:freefpga@hotmail.com 电话(传真):0571-85084089
FPGA开发板技术支持群:7277386
Copyright © 杭州自由电子科技有限公司 2006 freefpga.com All Rights Reserved 备案序号:浙ICP备06026335号