微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于TMS320DM365的网络摄像机底层软件应用

基于TMS320DM365的网络摄像机底层软件应用

时间:08-09 来源:互联网 点击:

摘要:以同上海冠林公司合作开发IP网络摄像机项目为背景,基于自己开发的TMS320DM365为处理核心的网络摄像机,文中描述了基于Liunx的嵌入式系统中,底层软件的结构、设计和应用。所谓底层软件主要包括了Liunx内核、底层驱动和启动文件,这些平台软件是整个网络摄像机应用程序开发的前提和基础。
关键词:TMS320DM365;底层软件;软件结构

近几年,随着计算机技术和电了技术的飞跃式发展,通过不断的系统功能集成和优化,网络覆盖面积和传输稳定性日益增加,将传统模拟视频监控系统中的模拟信号部分已舍弃,完成了全数字化的视频监控系统,并加入了AD转换功能,使整个视频数据能在网络上进行传输,满足了各类行业部门及家庭对网络可视化业务的需求。这种全数字化的视频监控系统存系统设备规模和系统功能性上,较之前的模数混合型系统,有了巨大的变化和升级。一般网络视频监控系统只需要摄像机、路由器和计算机就能搭建,拓扑结构简单。利用计算机的强大的处理能力,改善了监控系统的控制效率、提高了监控系统的智能化和采集图像的质量。基于网络技术搭建的系统结构,结构清晰、布线简单、系统扩展性强,并且一台主控计算机再也不会像DVR一佯对于搭载的摄像机设备有数量限制,同时这种拓扑结构也降低了大型监控系统的管理难度和维护维修成本。对于系统应用层而的开发能在计算机这种统一的设计平台上进行,大大简化了对于特殊监控系统的开发难度。
本设计决定选用行业内较为成熟的TI公司DaVinci设计框架。该设计方案集成了ARM和DSP两个部分,这种设计结构将系统中的图像处理模块和摄像机控制模块结合起来。
文中将描述基于TMS320DM365网络摄像机的底层程序,包括了系统的内核、驱动、启动程序等,摄像机系统基于DaVinci框架。整个硬件基础可以参考之前发表的文章《基于TMS320DM365的网络视频监控系统》。

1 DaVinci框架下的网络摄像机结构
1.1 DaVinci框架简介
DaVinci(达芬奇)框架是一套由TI公司提出的集成了DSP处理器、软件、工具的综合型解决方案系列,非常适合用于开发各类数字视频终端设备,包括了数字音频、视频、成像、视觉应用等。该技术的目的是让开发厂商能够更轻松、更快速地开发各种低成本的创新型数字视频产品。Davinci技术系列组件,其中不仅包括了相应的处理器、软件、工具,还提供一系列的解决方案和技术支持等。由于基于DaVinci框架下设计出的产品之间兼容性和共通性很高,所以很多大型的公司也乐于使用TI的DaVinci解决方案,以增加自身产品在周边行业内的兼容性。并且DaVinci框架拥有一套全方位的软件支持,提供了下至一般的操作系统驱动,上至应用程序接口API,甚至DSP的编码程序也是作为一个固有程序包,集成在BIOS和Code Server中。
1.2 DaVinci硬件基础
作为底层驱动软件的基础,这里需要详细对DaVinci框架的硬件结构进行描述。DaVinci数字视频处理芯片是整个DaVinci技术框架的的核心,其最大特点为整个处理芯片集成了ARM和DSP两种核心,实现了两种核心的并行工作和通信机制。TMS320DM365作为DaVinci技术框架下的一款新型芯片,也和之前系列芯片拥有相同的系统,一个通用的DaVinci系统结构如图1所示。

a.JPG


DSP即数字信号处理器,其主要特点就是能够进行大量的乘加运算,拥有高速计算能力,并且DSP的数据和程序分离存储,这样充分利用了所有线宽,进一步加速了DSP的处理速度,在数字摄像机中DSP专门用于计算量庞大的图像处理算法。DSP其功能包括了VPSS(Video Process ing Subsystem)和VICP(Video Image Collaborative Processer)两个部分。视频处理系统VPSS是DM365的视频信号采集模块,与其他摄像机控制芯片相比,最显著的特点是DM365带有一个ISIF模块,可以直接获取CCD和CMOS的输出图像。相较于一般图像处理芯片需要先一步进行A /D处理,DM365能更加快速地获取图像信号。视频/影像协处理器(VICP)作为DM365芯片中DSP部分的主体,主要功能是视频图像的压缩算法,一般使用的H.264压缩方式,其中还包括了运动补偿、对象识别等算法,这些图像处理算法占整个系统运算量的600%~80%。
ARM处理器尽管没有DSP那么快速的图像处理速度,但是ARM较大的程序存储量和迅速的任务切换能力,使得它适合复杂的、多线程的任务调控,支持实时的操作系统。ARM子系统管理和协调芯片内其他功能模块的工作,采用流水线的工作方式执行系统控制任务,例如系统的初始化、参数配置、电源管理和用户功能等。

b.JPG


两者之间的通讯方式如图2所示,芯片中ARM可以访问DSP的片内存储器,包括L2RAM和L1 P/D,DSP也可以访问ARM的片内存储器,并且ARM和DSP共享DDR2和AEMIF,其中AEMIF是指异步的外接存储器接口(Asynchronous External MemoryInterface)。因此通常情况下ARM只需要将处理数据的地址指针传递给DSP,而不需要大量的数据传输。系统中的DSP和ARM通过2个内核相互中断实现通信,ARM使用DSP的4个通用中断和1个不可屏蔽中断来控制DSP;而DSP通过两个中断来中断ARM。DSP的电源、时钟、复位都是由ARM进行控制。

2 网络摄像机的软件结构
由于DaVinci系统双处理核心的硬件结构,整个DaVinci的软件框架也类似于硬件框架分为ARM核心的软件和DSP部分的软件。整个软件框架图如图3所示,ARM内核中的软件主要为操作系统、驱动和应用层面的软件,DSP内核里运行音视频编解码算法处理,ARM通过TI的Codec Eng ine机制调用DSP完成编解码。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top