基于ARM嵌入式视频采集处理系统设计

2011-01-15 13:04刘竹林
湖北工业职业技术学院学报 2011年6期
关键词:邮箱嵌入式总线

刘竹林

(十堰职业技术学院电子工程系,湖北十堰442000)

随着嵌入式技术的迅猛发展和视频图像处理技术的广泛应用,各种嵌入式芯片如DSP、ARM、SOC等被广泛应用于数码、安防、交通信号采集等领域。此外,射频技术日益成熟,采用射频技术进行无线通信设计为短距离无线数据传输提供了较好的解决办法,是开发低成本、低功耗的无线通信应用系统的较好选择。本文通过对系统的深入的分析和理解,将嵌入式技术、视频采集处理技术和射频技术相结合,设计了一种基于ARM7芯片的嵌入式的移动视频采集处理系统。

1 系统总体结构

本系统以LPC2210为控制核心,通过CMOS摄像头采集的模拟视频信号首先通过SAA7113H转换成标准的YUV4:2:2格式数字信号;然后由GO7007SB进行MPEG-4压缩,压缩后的数据被GO7007SB的HPI控制器送往HPI接口的数据缓冲器中;最后LPC2210从HPI接口读取数据,并通过NewMsg-RF1100模块进行传输。嵌入式的视频采集处理系统的总体结构如图1所示。

图1 视频采集处理系统硬件结构

1.1 总线接口电路

IIC总线上挂接的器件是视频转换芯片—SAA7113H,LPC2210的P0.2和P0.3引脚分别连接SAA7113H的SCL和SDA引脚。LPC2210作为主机,SAA7113H作为从机,由LPC2210产生起始和停止信号,向SAA7113H发送命令,控制芯片工作。配置如图2所示。

图2 IIC总线配置

HPI(Host-Post Interface)接口是主机与视频压缩模块相连接的一个并行通信口,是构建主从式系统,实现主机与从机通信的重要接口。

由于视频压缩后的数据量仍然很大,而且需要更快捷的方式进行数据交换,为了解决速度这个瓶颈问题,本系统利用LPC2210配置打印机并口与外设进行通信。主机通过HPI可以访问视频压缩芯片内全部的存储空间及地址空间映射的外设,进而控制压缩芯片,实现数据交换。通过配置LPC2210的I/O口形成HPI通信接口,工作方式为HPI16,即复用的数据和地址总线为16位。LPC2210配置HPI接口方式如图3所示。WR、RD和ALE分别为总线方式的写、读和锁存位,INT为外部中断位,压缩模块压缩完一帧图像后,通过INT引脚产生中断,通知LPC2210读取数据,LPC210通过HPI接口可访问GO7007SB的内部RAM。

图3 HPI总线配置方式

1.2 存储器电路

为了本系统的正常运行,在设计中配置了一块16位、2MByte的Nor Flash芯片SST39VF160作为系统启动ROM存储器。存储器连接使用了16位总线方式,根据LPC2210芯片的说明,对于16位数据总线其地址线从A1开始。因此,本文中FLASH的地址总线[A19~A0]与LPC2210的地址总线[A20~A1]相连。16位数据总线[DQ15~DQ0]与LPC2210低16位数据总线[D0~D15]相连。而将Bank1的选通信号CS1接至FLASH的/CE端。/OE端接至LPC2210的nOE端;/WE端接至LPC2210的nWE端。连线如图4所示。

图4 SST39VF160存储系统电路图

系统主存使用一种高速CMOS动态随机存取存储器MT45W4M16,该芯片是一个4Megx16位的64MB器件,含有低功耗SRAM或伪SRAM的工业标准异步接口。MT45W4M16与LPC2210的Bank0连接,SDRAM由片选信号CS0选通,其LB和UB分别与LPC2210的BLS0和BLS1相连。MT45W4M16被放置在空间Bank0(0x80000000-0x807FFFFF)。如图5所示。

图5 MT45W4M16存储系统电路图

1.3 视频采集处理电路

视频采集模块由CMOS感光元件、视频A/D转换芯片等部分组成。为了简化设计和降低成本,系统选用了CMOS模拟摄像头和视频转换芯片SAA7113H来搭建出视频采集系统的硬件电路。视频采集处理电路能将模拟视频信号转换成标准的YUV4:2:2格式数字视频信号,通过VPO接口传送到GO7007SB[1]并进行MPEG-4压缩,极大的方便图像的传输利用。视频采集处理模块电路示意图如图6所示。

图6 视频采集压缩模块电路示意图

1.4 视频传输模块电路

视频传输电路是本系统的主要部分之一,该模块把压缩后的视频数据以无线的形式传输给终端,是视频处理系统必不可少的环节。无线传输部分主要由LPC2210和NewMsg-RF1100模块构成。其中NewMsg-RF1100是基于CC1100芯片的射频传输模块,通过对其寄存器的配置,能够满足不同的数据传输要求,可以很方便地进行数据传输。模块电路示意图如图7所示。

图7 无线传输模块电路示意图

2 软件系统的结构设计

软件系统设计主要包括嵌入式实时操作系统μC/OS-Ⅱ在ARM上的移植和在此操作系统下的编程。深入研究μC/OS-Ⅱ的任务调度机制以及认真规划采集处理系统的工作流程后根据视频采集处理系统的特点,本系统设计了两个主要任务,分别是“启动任务”和“数据发送任务”。视频采集处理系统通过μC/OS-II操作系统对这些任务的调度来实现[2]。软件总体结构如图8所示。

图8 软件系统总体结构图

系统启动后,操作系统将调用启动任务,进行IIC、SPI、定时器和相关中断的初始化,发送命令到视频采集模块和视频压缩模块,使其开始工作,同时创建邮箱,创建数据发送任务。启动任务的优先级级别比数据发送任务低。启动任务运行后,操作系统将调用数据发送任务。视频数据的采集由行同步、场同步和点时钟控制,采集的数据在时钟控制下自动送往视频压缩模块。压缩的图像数据被送往数据缓冲器中,当缓冲器满时,HPI产生缓冲器满中断通知ARM读取此数据,中断服务子程序读取数据,然后将数据发送给邮箱,使数据发送任务就绪,读取邮箱数据后进行数据发送。

2.1 软件系统的整体工作流程

ARM上电复位后,首先执行的FLASH中的启动代码部分,对其内部寄存器和外围设备等进行初始。在初始化完成后,程序将进入main()函数,初始化相关硬件,比如时钟、IIC总线、SPI总线等。然后,初始化μC/OS-II操作系统,接着创建任务间通信的邮箱、信号量等全局变量和创建任务。最后,启动操作系统,进入μC/OS-II多任务调度环境,开始运行优先级最高的处理任务。整体流程见图9。

图9 软件系统的整体工作流程图

2.2 启动任务设计

本系统设计了两个主要任务,分别是“启动任务(TaskStart())”和“数据发送任务(TaskSend())”,数据的读取由中断服务子程序完成。这两个任务中数据发送任务的优先级高于启动任务。

启动任务主要用来初始化定时器、相关中断和所用的各总线控制器;初始化SAA7113H、GO7007SB和NewMsg-RF1100模块;并且创建邮箱和数据发送任务。然后等待HPI中断。

主模式IIC的数据发送程序流程图如图10。

图10 IIC主发送模式程序流程图

2.3 数据发送任务

数据发送任务为调用OSMboxPend()函数请求邮箱中的消息,如果邮箱中有消息,则该任务处于就绪状态,将从邮箱中取出消息,并调用函数发送数据,发送完毕后该任务挂起。任务流程图如下:

图11 数据发送任务流程图

3 结语

本文以高性能处理器LPC2210为核心,构建了一种集视频采集、压缩和传输为一体的嵌入式应用系统,可用于中短距离的无线监控、机器人视觉、医疗内窥镜等多个领域。该系统的软件是基于μC/OS-Ⅱ的多任务应用,这里只实现了多任务切换,需在基于μC/OS-Ⅱ的网络协议栈、消息队列的使用和文件系统实现方面作进一步的研究,使通信更加合理;并且在低功耗实现上需作进一步研究。

[1]范学海,胡 佼,金炜东.基于GO7007SB的嵌入式MPEG-4远程视频监控系统 [J].黑龙江科技学院学报,2005(2):126-128.

[2]晨 风.嵌入式实时多任务软件开发基础[M].北京:清华大学出版社,2004:9.

猜你喜欢
邮箱嵌入式总线
没问题邮箱
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
关于停止使用dianxunjishu@china.com邮箱的通知
多通道ARINC429总线检查仪
《胃肠病学》邮箱更改启事
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器