当前位置:首页 > 嵌入式 > 嵌入式软件


采用软件编程实现传统图像的采集和处理,这需要占用大量的CPU资源,一方面CPU要提高系统工作频率,使得整个系统的可靠性接受很大的挑战,另一方面这类系统难以处理实时、高分辨率的图像。

1 引言

采用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视频编码引入到本系统中,构建一个视频终端。

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

在复位电路中,电容的作用是给系统提供恒定的电源电压,从而保证开机时系统能够正确地执行初始化和自检过程。因此,选择合适大小的电容对于系统的稳定性和性能至关重要。

关键字: 复位电路 电容 系统

工业自动化系统设计是一项涉及多个领域和技术的综合性任务。它旨在通过自动化设备和系统的集成,提高生产效率、降低能耗、确保产品质量和增强企业竞争力。本文将详细探讨工业自动化系统设计的原则、方法和实践,以期为相关从业人员提供有...

关键字: 工业自动化 设备 系统

MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到...

关键字: 单片机 存储器 系统

DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力...

关键字: DSP 芯片 系统

三家全球领先公司紧密协作,以满足基于台积公司先进技术的设计在芯片、封装和系统等方面的挑战

关键字: 芯片 封装 系统

因为各种新式微处理器的呈现和运用的不断深化,嵌入式体系在后PC年代得到了空前的开展。跟着时刻的推移和技能的前进,在工业操控和新式的手持式运用等范畴,用户体会成为产品成功的关键要素之一,越来越多的产品需求杰出的用户界面、互...

关键字: 嵌入式 系统 处理器

QVM人工智能引擎是Qihoo Support Vector Machine(奇虎支持向量机)的缩写。是360完全自主研发的第三代引擎(具有中国的自主知识产权的引擎)。

关键字: 微软 Windows 系统

四大导航系统除了欧盟伽利略系统还未完成全部卫星发射,其它三个系统都已经完成卫星布局。四个系统可相互兼容、互为补充,这样用户可以享受不间断的定位服务。目前如智能手机内的导航定位技术,已有诸多品牌都支持这四大导航系统,可为用...

关键字: 导航 系统 定位服务

有高低压模块的系统,高低压模块之间的通信,通常都要用到隔离技术。隔离最主要的需求来自安规需求,即防范人体以及低压设备承受高压或者浪涌的冲击;其次是性能的需求,隔离能够消除地环路,同时能够隔离噪声,提高整个系统的容错性。

关键字: 隔离 电源 系统

2019年3月19日,“RISC-V CON”上海站在国信紫金山大酒店成功举办。作为RISC-V 基金会的创始成员,RISC-V开源工具链和Linux内核主要维护者的晶心科技,向与会者列出了一系列有力的数据:2018年度...

关键字: RISC-V 芯片 系统
关闭
关闭