当前位置:首页 > 单片机 > 单片机
[导读] 近几年,随着计算机技术和电了技术的飞跃式发展,通过不断的系统功能集成和优化,网络覆盖面积和传输稳定性日益增加,将传统模拟视频监控系统中的模拟信号部分已舍弃,完成了全数字化的视频监控系统,

近几年,随着计算机技术和电了技术的飞跃式发展,通过不断的系统功能集成和优化,网络覆盖面积和传输稳定性日益增加,将传统模拟视频监控系统中的模拟信号部分已舍弃,完成了全数字化的视频监控系统,并加入了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所示。

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子系统管理和协调芯片内其他功能模块的工作,采用流水线的工作方式执行系统控制任务,例如系统的初始化、参数配置、电源管理和用户功能等。

两者之间的通讯方式如图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完成编解码。

在DSP部分,软件由最底层的DSP/BIOSTM内核,内核上层是Codec engine,用于和ARM端的Linux通信,最顶层是图像处理箅法。针对图像处理算法,DaVinci框架提供了数字信号处理算法接口标准(XDAIS)和针对流媒体的XDM。所有符合XDAIS和XDM标准的图像处理算法包都可以被用于DaVinci的DSP中。并且在XDAIS和XDM中也包括了一套流程完整的基础的图像处理算法,用户可以按照其标准进行修改,或者自行重新开发。再加上由第三方开发的符合XDM标准的软件包,地丰富了整个DSP图像处理软件部分的资源。

ARM部分的软件系统使用基于Linux的嵌入式软件系统,软件结构如图4所示。整个系统基于Linux的实时操作系统,在Linux上需要加入文件系统、图形用户接口和任务管理,最顶层是应用层面的软件,在应用软件中DaVinci系统只提供常用的API。

Linux实时操作系统中,应用程序、引导加载程序(Boot Loader)、驱动程序(Driver)和操作系统(Operating System)的内核镜像都是相互独立的,可以单独编译修改。只要符合各个部分特有的接口和程序存放位置,就能被整个系统识别并且调用。引导程序是UBL和u-boot,用于初始化硬件系统,引导Linux操作系统的加载,完成内核文件加载后,将控制权交给操作系统。操作系统的内核镜像uImage,是一个基础的操作系统平台,调用驱动程序和应用程序,实现多线程机制,完成了系统调用等工作。驱动程序和应用程序是事先存储在操作系统特定文件夹内的,被操作系统Linux按顺序调用,开发者可以根据自己的需要自行修改。Linux内的文件系统主要提供内核中所有文件的存储、检索和更新等功能,同样包括了驱动程序和应用程序的文件操作。一般不提供保护和加密等安全机制。文件系统通过调用和命令方式提供文件的各种操作,主要包括设置、修改对文件和目录的用户权限;提供针对目录的创建、修改和删除等功能;提供针对文件的创建、打开、读写、关闭和撤销等功能。

对于应用层面的开发而言,并不需要考虑DSP部分的图像处理实现算法,直接将DSP部分作为一个黑箱进行处理,通过图像服务接口,从ARM部分通过语句进行调用。图像服务的接口提供了用户调用DSP中的图像处理程序的接口,整个服务接口使用Codec中间框架系统。Linux端的程序通过Codec引擎访问DSP处理器中的Codec Server。整个Codec框架包括了多种API和SPI,从软件角度可以看做是一个介于应用程序和DSP中图像处理算法之间的接口,如图5所示。这样ARM端的应用程序开发者,可以不用去考虑DSP中复杂的音视频算法。

这种ARM和DSP分开的软件结构,使得整个Davinci框架下的系统的软件开发被分成了四个部分:图像算法开发、Codec Server集成开发、CodecEngine集成开发和应用程序开发。基础的图像算法可以通过TI提供的CCS开发工具,图像的编码算法被存储为.lib的库文件。而Codec Server的开发是调用一系列的.lib算法库,实现各种库文件的对ARM部分的接口。Ciodec Engine是开发调用Codec Server的Stuh和Skelet on,完善整个图像处理功能的调用,而面向厂商或是使用者的应用程序的开发,只需要针对不同应用情况编译基于Linux的应用程序,其中图像处理算法等内容,作为黑箱供这些使用者调用。

3 网络摄像机底层软件

3.1 Linux系统内核

Linux系统内核使用的linux-2.6.32,相较于之前的版本增添了虚拟化内存、改进了文件系统、支持低传输延迟时间模式、内存控制器支持SOFtlimits、支持S+Core架构、支持Intel Moorestown及其新的固件接口、支持运行时电源管理、以及新的驱动。常用的LINUX操作系RA

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

上海2025年8月26日 /美通社/ -- 在全球数字经济加速演进的时代浪潮中,海量数据资源正成为企业发展的双刃剑。超66%的企业面临"数据沉睡"危机——分散于供应链、财务、客户运营等数十个系统的业务...

关键字: AI 模型 软件 数据分析

在工业物联网设备部署中,Modbus通信故障是导致系统停机的首要原因之一。据统计,超过60%的现场问题源于通信配置错误或数据解析异常。本文从嵌入式系统开发视角,系统阐述Modbus通信调试的方法论,结合实际案例解析如何高...

关键字: 嵌入式系统 Modbus通信

在嵌入式系统开发中,看门狗(Watchdog Timer, WDT)是保障系统可靠性的核心组件,其初始化时机的选择直接影响系统抗干扰能力和稳定性。本文从硬件架构、软件流程、安全规范三个维度,系统分析看门狗初始化的最佳实践...

关键字: 单片机 看门狗 嵌入式系统

加快开发进程;提升质量、安全性、性能与成本效益 利用耐世特在底盘领域的专业知识和线控技术产品组合 美国密西根州奥本山2025年8月11日 /美通社/ -- 耐...

关键字: MOTION 软件 运动控制 NI

从自然汲取,向未来创造 上海2025年8月8日 /美通社/ -- 2025 世界机器人大会将于8月8-12日在北京亦创国际会展中心拉开帷幕,Festo(A112展位­)将以"从自然汲取,向未来创造&q...

关键字: FESTO 机器人 BSP 软件

人工智能(AI)和机器学习(ML)是使系统能够从数据中学习、进行推理并随着时间的推移提高性能的关键技术。这些技术通常用于大型数据中心和功能强大的GPU,但在微控制器(MCU)等资源受限的器件上部署这些技术的需求也在不断增...

关键字: 嵌入式系统 人工智能 机器学习

引言:穿越变革浪潮,迎接智能金融时代 上海2025年7月28日 /美通社/ -- 在全球科技变革的浪潮中,生成式AI正加速驱动各行业变革,金融行业尤为显著。在强监管与用户需求升级的双重压力,行业亟需重构服务模...

关键字: 软件 生成式AI 模型 数字化

宁波2025年7月28日 /美通社/ -- 日前,在第四届宁波市专利创新大赛的聚光灯下,中之杰智能的创新技术"一种基于电子周转箱的生产管理方法及系统"强势斩获专利优秀奖。这枚沉甸甸的奖章背后...

关键字: 软件 电子 智能工厂 BSP

杭州2025年7月28日 /美通社/ -- 近日,大华股份与北京北大软件工程股份有限公司(以下简称"北大软件")签署战略合作协议。双方将重点围绕长江禁渔等领域,发挥各自在产品、技术、平台等方面的经验和...

关键字: 软件 数字化
关闭