基于双Nios Ⅱ处理器的实时图像采集系统
摘 要: 在视频压缩编码算法的硬件实时实现中,针对专用芯片系统不够灵活、无法进行算法升级与更新等问题,利用双Nios Ⅱ处理器,主处理器完成管理功能和处理人机交互界面,协处理器做图像的编解码以及完成与计算机之间的数据传输,通过软硬件设计开发,实现实时图像采集系统。该方案算法易于升级,而且硬件系统也易于做相应的升级和更新,降低了系统成本。
关键词: Nios Ⅱ处理器; 嵌入式系统; 图像采集; 图像压缩
中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2013)08?0109?03
0 引 言
嵌入式系统是当前最热门的概念和应用最广泛的技术之一[1?4]。嵌入式处理器是嵌入式系统的核心,有软核和硬核之分,其中嵌入式处理器软核以Altera公司开发的第一代Nios及第二代Nios Ⅱ为先进代表[1?3,5]。从未来电子系统设计技术走势上看,以嵌入式软核处理器为主要应用的SoPC技术更具发展性和前瞻性[2]。
对视频图像进行数字化的存储,或更通俗地称为数字录像,是当前业界的热点之一[6?7],具有巨大的市场需求。可以广泛应用于厂矿、企业、公路交通、政府机构、学校等需要实时监控的领域,此外也可以应用于家用消费品领域和军事领域,例如数字录像机等。较之以前的模拟方式存储,数字录像有着许多不可替代的优点,同时也带来了技术上需要解决的一些问题。高效的视频图像压缩算法及其硬件实时实现是解决视频图像数字化存储问题的核心所在。
通常的数字录像一般都采用专用芯片来完成视频压缩编码算法的硬件实时实现。采用专用芯片方法的最大优点是实现相对简单,而且随着芯片批量的增加,单片价格会大幅下降。
作为一个成熟和长期的产品,这种方法不失为一种最佳的方案。比如电视台等对图像质量要求很高的应用场合,基于MPEG?2编码/解码芯片的解决方案可以提供良好的性价比,并在较长的一段时间内都能满足应用的需求。但采用专用芯片最大的缺点是系统不够灵活,无法进行算法的升级与更新。只有当某一种视频压缩编码算法相对成熟,为业界普遍接受后,相应的专用芯片才会出现。
这一方面大大延长了产品的上市时间;另一方面,用户原有的基于老的视频压缩编码标准的系统可能都会被淘汰,对用户的投资是一个损失。特别是在科技飞速发展的今天,新技术与新标准不断涌现,技术的更新周期大大加快,单纯采用专用芯片的解决方案其生命周期势必会缩短,厂家的技术风险则会越来越大。
虽然DSP+ARM系统架构也可以进行算法的更新与升级,但是算法设计的灵活性还远不如Nios Ⅱ系统,并且其硬件无法升级和更新,开发成本也远高于Nios Ⅱ系统。
1 系统功能描述
因为本系统不仅要完成大量的控制功能,而且还要实现实时数字信号处理(DSP),所以采用双Nios Ⅱ处理器。
其中一个Nios Ⅱ软核处理器作为主处理器,完成管理功能和处理人机交互界面;
另一个Nios Ⅱ软核处理器作为协处理器,做图像的编解码,同时完成与计算机之间数据传输。
1.1 图像采集、压缩和存储
图像采集采用Philips半导体公司的多制式TV解码芯片SAA7114H将CCD输出的模拟图像数字化,然后在主Nios Ⅱ处理器的控制下形成系统总线,将图像存入大容量缓存SDRAM1中。
SDRAM1中的数据通过FIFO传送给从Nios Ⅱ处理器进行静态图像压缩,然后写入SDRAM2缓存,最后把压缩后的图像再存储到硬盘中保存。图像压缩由从Nios Ⅱ处理器完成,使用Nios Ⅱ片上系统(SoC)开发包来实现JEPG编码器/解码器,自定制DCT和逆DCT指令。
1.2 视频回放
视频回放包括监视器回放和计算机回放。监视器回放是把保存在硬盘中的数字图像通过监视器回放回放出来。
用户逻辑把硬盘中的数据读出来回写到SDRAM2中,然后从Nios Ⅱ处理器进行解压缩,解压缩后的图像数据送给数字视频编码芯片SAA7121将数字图像转换成复合视频信号送到监视器上显示。
计算机回放是通过USB口把图像传送到计算机上显示,用户逻辑把硬盘中的数据读出来回写到SDRAM2中,然后从Nios Ⅱ处理器进行解压缩,解压缩后的数据送给USB芯片CY7C68013,再发送到计算机上。
2 系统设计
与传统嵌入式系统设计不同,Nios Ⅱ系统的开发分硬件开发和软件开发2个流程[3?4],硬件开发过程包括由用户定制系统硬件构建,然后由计算机完成系统硬件系统和对应的开发软件系统生成;软件设计则与传统方法比较接近。
2.1 硬件设计
系统采用双Nios处理器分别处理不同的任务,由通信模块实现系统两个处理器之间的握手。两片SDRAM分别做两个处理器的大容量数据缓冲。
FIFO是两个Nios处理器数据交换通道。40 GB大容量存储介质(可以扩展更大容量)用来存储压缩后的图像数据。FLASH I用来存放主处理器的用户程序和FPGA配置数据;FLASH Ⅱ存放协处理器用户程序。E2PROM用来存放系统重要参数和视频编解码芯片SAA7114H和SAA7121的配置参数。
系统框图如图1所示。
2.2 软件设计
系统软件包括两个部分,一部分是主处理器的系统软件;另一部分是协处理器的系统软件,两者通过通信协议实现握手。
2.2.1 主处理器系统软件流程
硬件系统中定义了5个功能键:上翻、下翻、确定、取消和复位。主处理器系统软件流程如图2所示。
2.2.2 协处理器系统软件流程
协处理器完成图像JEPG编解码和数据传输功能,软件流程如图3所示。
3 结 语
本系统采用双Nios Ⅱ软核处理器对视频图像进行压缩和存储,定制了DCT和逆DCT指令,不仅算法易于升级,而且硬件系统也易于做相应的升级和更新,缩短开发周期,并且降低了系统成本。
参考文献
[1] 潘松,黄继业,曾毓.SoPC技术实用教程[M].北京:清华大学出版社,2005.
[2] 彭澄廉,周博,邱卫东,等.挑战SoC:基于Nios的SoPC设计与实践[M].北京:清华大学出版社,2004.
[3] 郭书军.嵌入式处理器原理及应用:Nios系统设计和C语言编程[M].北京:清华大学出版社,2004.
[4] 任爱峰.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004.
[5] Anon. Nios Ⅱ processor reference handbook [EB/OL]. [2005?05?22]. http://www.altera.com.
[6] 单洋,张小进,周敏,等.基于嵌入式ARM平台下视频图像压缩的实现[J].福建电脑,2010(4):17?18.
[7] 曾霞霞,张小进.嵌入式系统视频图像压缩技术的研究[J].唐山学院学报,2010(6):56?59.