基于ARM的嵌入式监控系统设计与实现
扫描二维码
随时随地手机看文章
摘要 : 介绍了一种基于ARM7 的监控系统, 详细描述了嵌入式网络视频服 务器和远程控制平台的设计与实现.通过自定义协议,系统实现了数据的可靠传输和MPEG-4 视频流图像的平滑传输, 各项指标均符合设计要求.
1 引言
随着视频编解码技术, 计算机网络技术, 数字信号处理技 术和嵌入式系统的发展, 以嵌入式网络视频服务器为核心的远 该系统把摄像机输出 程视频监控系统开始在市场上崭露头角. 的模拟视频信号通过内置的嵌入式视频编码器直接转换成视 频流,通过计算机网络传输出去. 嵌入式网络视频服务器具备视 网络通信, 系统控制等强大功能,直接支持网络视 频编码处理, 频传输和网络管理,使得监控范围达到前所未有的广度.目前, 嵌入式网络视频服务器的解决方案主要有以下几种:
(1)视频采集芯片+DSP 处理器.该方案中由视频采集芯片 完成图像的预处理,由 DSP 完成图像的存储, 基于 MPEG-4, H. 或 M-JPEG 标准的图像压缩, 网络传输. 文献中提出了基于 263 ADSP-BF532 的嵌入式网络视频服务器方案, 文献中提出了基 于 TMS320DSC21 的嵌入式网络摄像机的方案.该方案的主要 缺点是控制不够灵活,由于 DSP 通常没有强大的操作系统,功能 单一,不适合做系统控制.
(2)视频采集芯片+图像压缩芯片+嵌入式处理器.文献[4]提 出了一种采用 Philips 公司的视频解码芯片 SSAA7114H 进行图 像采集, 采用 Intime 公司的 MPEG-4 编码芯片 IME6400 进行图 像压缩, 摩托罗拉公司的嵌入式处理器 MCF5307 组成嵌入式视 频监控服务器方案.该方案的主要缺点是缺乏强大的图像处理 能力,整个系统软件必须运行于 μCLinux 之上,系统成本较高.
(3)ARM 嵌入式处理器+DSP 处理器.现在已有一些基于 ARM 和 DSP 的嵌入式视频监控方案, 文献中提出一种采用 以 AnalogDevices 公司的 BF533 实现 MPEG-4 标准的图像压缩, Intel 公司的 XscalePXA261 作为控制的嵌入式视频监控系统. 文 献 中 提 出 了 一 种 采 用 SAA7114A 进 行 图 像 采 集 , 采 用 TMS320C6202B 进行 MJPEG2000 标准的图像压缩,以嵌入式 ARM 芯片 S3C4510 进行系统控制和网络传输的嵌入式网络视 频服务器方案.该方案的主要缺点是:由于要使用 ARM 芯片对 调试, 使用较困难,整个系统软件 DSP 的寄存器进行操作,设计, 必须运行于 μCLinux 之上,系统成本偏高.
本文提出的矩阵系统的模块化设计便于将来系统的升级 和扩展,即使在将来扩展时,也不需要替换现有设备,而只需软件 符合模块化的设计 升级或添加硬件,从而保证了系统的延续性. 原则,设计, 调试更加容易,使用更方便. (2)为缩短系统开发周期, 提高系统的可靠性,本系统未使用嵌入式 μCLinux 操作系统,而 是通过自定义电话号码协议,切换协议,报警协议及精简的 TCP/IP 协议等,系统实现了数据的可靠传输和 MPEG-4 视频流 图像的平滑传输与其它嵌入式视频服务器方案相比, 系统功能 更加强大,使用更加方便,更加节省成本.
2 系统整体结构设计
2.1 系统的总体设计原则
2.1.1 合理性
这是系统设计的基本原则,注重周界防范, 将危险排除在 小区之外; 强调总体防范, 即以小区为中心 (而非住户为中心) 进行防范; 立体防范, 多种防范手段相结合, 主要考虑在该小 区界设红外线入侵探测系统和电视监控系统,小区的主入口 大门设全方位可调焦高清晰度摄像机,其最低照度应为 1在单元门入口, 车库口设 3LUX 才能保证其良好的夜视效果, 超广角摄像机, 覆盖整个入口区域; 并且通过其长时滞录像机 对近期的资料可随意地对任一摄像机所摄取的画面进行回 放.车库里的摄像机配置*头,保证有人破坏时能及时报 警.总之, 在力争做到无死角又不浪费摄像机的基础上, 使系 统的设计合理并达到最优.[!--empirenews.page--]
2.1.2 可靠实用性
从性能价格比的角度考虑, 系统的关键部分全面采用世界 著名厂家的产品,保证了整个系统的可靠性. 同时兼顾到功能的 完善和操作简单化的要求, 使本系统达到处理意外情况时反应 迅速,正确,提高了保安工作的效率. 《 现场总线技术应用 200 例》 李珍辉 : 讲师 硕士 - 142 - 360 元 / 年 邮局订阅号:82-946 您的论文得到两院院士关注 ARM 开 发 与 应 用系统的嵌入式计算机构成, 在嵌入式操作系统之上运行着系统 网络服务器采用的是基于 ARM7 内核的 CPU—— — 的核心软件. STR710F-Z2T6.该芯片是一款基于 ARM 芯片.它一方面具有 低功耗, 高性能等优点; 同时又具有丰富的片上 ARM 处理器的: 资源, 非常适合嵌入式产品的开发. MPEG-4 多媒体编码芯片则采用北京九为安泰科技有限 公司的 Mpeg4 全 D1 网络视频服务器 (编码) 该芯片提 EN4000, 供了丰富的外围硬件接口: 支持 CCIR601 建议的 16Bit 视频解 码器接口, 32Bit 数据, 81MHz 的 SDRAM 数据总线接口, 总 I2C 线接口, 外部音频/PCM 编码器/DSP 接口以及灵活的主机接 I2S 口,可以支持多种类型的 CPU. 图 2 简单介绍了 MPEG-4 硬 件视频压缩处理的结构和网络接口.
2.1.3 模块化设计
本套矩阵系统的模块化设计便于将来系统的升级和扩展, 即使在将来扩展时,也不需要替换现有设备,而只需软件升级或 添加硬件,从而保证了系统的延续性.
本系统实现的主要功能及实现等级:
(1)与报警系统联网,发生报警触发录像并自动弹出报警区 域的摄像机的图像. 在图像的切换过程
(2)在中控室可以切换看到所有的图像. 中感觉不到图像间的干扰. 日期, 地点, 摄像机编号提示,可在录像带
(3)系统设有时间, 上做标记,便于分析和处理.
(4)系统可任意选择某个指定的摄像区域,便于重点监视或 在某个范围内对多个摄像机区域做自动巡回显示.
(5)矩阵系统具有分组同步切换的功能,可将系统全部或部 分摄像机分为若干个组, 每组摄像机图像可以同时切换到一组 监视器上. 通过副控键盘可以在监视器上切
(6)必要的场所设置副控, 换看到所有的图像, 并进行控制.
(7)在配置系统时,可以决定每个使用者有权进入系统的哪 个部分:使用者可观看哪些摄像机;又能控制哪些摄像机;使用者 可以用自己的键盘手动操作哪些继电器(连结到外围),操作哪些 VCR 和多画面分割器.本设计的系统结构如图 1 所示.
图 1 嵌入式远程数字视频监控系统图[!--empirenews.page--]
图1中摄像机通过 RS-232 接口受外界控制, 控制命令为 图 1 中, 一系列的 ASCII 码,可以调整摄像头的焦距和控制云台的转 动. 可通过对它设置信源 ARM7 开发板也有一个 RS-232 接口, 式(PAL/NTSC), 编码亮度, 编码色度, 音频速率, 编码音量和编 编码板通过 码速率.编码板与网络服务器集成到一个机箱里, 接口向网络服务器输出数据.网络服务器有多个 RS-232 PCI 接口, 分别与摄像机和硬编码板上的 RS-232 接口相连. 播放设 备由嵌入式硬解码板和电视机组成. 解码板采用速率自适应方 式设计, 解码速率自动匹配远端编码器的编码速率.解码板和 网络服务器同样集成在一个机箱里. 该系统还实现了软解码方 式, 在这种方式中, 播放设备由一台安装了视频采集卡的 PC 机 构成, 其上运行解码软件和媒体播放器, 通过 PC 机的显示器和 音箱输出图像和声音.系统的记录设备由硬盘录像机构成, 用 来存储系统图像.控制台由一台运行 Windows XP 操作系统的 管理服务器也由一 PC 机实现, 机上运行客户端的控制软件. PC 台运行 Windows XP 操作系统的 PC 机实现, 机上运行系统 PC 管理软件.在简化的系统实现中, 管理服务器和控制台可以在 同一台 PC 机上实现, 在这种情况下, 管理软件和控制软件运行 在同一台主机上, 但仍然通过网络接口通信.
3 系统硬件设计
网络服务器是系统硬件的核心部件,它由运行嵌入式操作系统的嵌入式计算机构成,在嵌入式操作系统之上运行着系统的核心软件。网络服务器采用的是基于ARM7内核的CPU—STR710F-Z2T6 。该芯片是一款基于ARM 芯片。它一方面具有ARM处理器的:低功耗、高性能等优点;同时又具有丰富的片上资源,非常适合嵌入式产品的开发。
MPEG-4多媒体编码芯片则采用北京九为安泰科技有限公司的Mpeg4全D1 网络视频服务器(编码)EN4000,该芯片提供了丰富的外围硬件接口:支持CCIR601 建议的16Bit 视频解码器接口、32Bit数据、81MHz的SDRAM数据总线接口、I2C总线接口、I2C外部音频/PCM编码器/DSP 接口以及灵活的主机接口,可以支持多种类型的CPU。 图2简单介绍了MPEG-4硬件视频压缩处理的结构和网络接口。
图片2
图 2 MPEG-4 硬件视频压缩处理的结构和网络接口图 MPEG-4 视频采集压缩模块以 EN4000 芯片为核心,完成 对标准视频信号(PAL 或 NTSC 信号)的 A/D 转换, MPEG-4 压缩 图 以及与 S3C44B0X 之间的通信功能. 2 中视频解码 ADC 把从 摄像头输入的模拟视频信号转化为数字视频信号, 然后进行编 码预处理, 即把视频解码输出的 CCIR601 格式的信号转化为编 码器可以处理的 CIF 或 QCIF 格式,然后再进行 MPEG-4 压缩 编码.S3C44B0X 上的软件则通过总线接口单元来控制编码器 的参数设置和读取编码压缩后的码流数据.
视频数据处理模块包括以下功能单元: BT829 为核心的 以 以 视频 ADC 单元; EN4000 为核心的 M PEG-4 视频压缩单元; 以 S3C44B0X 为核心构成的控制逻辑和总线接口单元.总线接 口单元是视频数据处理模块与 S3C44B0X 进行交互的通道, 可 以和主机进行视频码流和控制数据的交换.控制逻辑是视频采 集压缩模块的核心, 它控制并协调各模块工作, 提供控制信号, 通过指令实现系统各模块所需要的选通, 缓冲, 读/写使能, 数据 总线和地址总线的切换等等.镜头云台控制是通过 S3C44B0X 上的 RS-232 口进行的, 允许用户根据自己的要求调节系统. 用 户可以通过调节镜头的景深,焦距以及光圈来调整图像质量, 还可以通过云台的上下左右调节来获取不同角度的图像.由监 控中心的客户机端软件通过 SOCKET 网络接口, 把调整信息发 送给服务器端, 服务器接收到控制指令后, 进行指令识别, 然后 完成调整任务. 向对应的 RS-232 口发送指令去控制云台, 技术创新
4 视频数据发送,指令控制模块的设计与实现
监控现场主机通过视频数据发送模块,将现场采集到的视 频流数据经过编码后, IP 组播的形式通过计算机网络发送出 以 去. 对于发送来的视频数据, 运行在监控中心主机端的视频数据 接收播放模块一方面可以将其保存起来,作为资料库便于以后 查询及回放; 另一方面还可以实时播放出来. 本系统的软件结构采用了客户机服务器结构,两端通过网络建立 TCP/IP 连接, 按 照自定义的数据通信协议交换数据,完成数据通信和系统控制 功能. 监控中心的客户端向服务器端申请建立连接, 服务器* 客户端向服务器 到连接请求之后, 和客户端建立 SOCKET 连接, 发送控制信号, 服务器端向客户端发送视频码流. 服务器端软件 软件设计的主要思想如下: 读取线程, 发送 运行 S3C44B0X 上, 线程和控制线程之间的同步, 防止有限资源的浪费.[!--empirenews.page--]
为了充分利用 CPU 计算能力, 提高系统的整体性能, 在该 系统中采用多线程技术实现任务的调度.考虑到监控中心主机 要同时监控多个现场, 需要加入多个组播组的情况. 我们在设计 系统时要求监控中心端在接收视频数据前应向相应的监控现场 发送数据请求.为此, 我们要建立两个通讯通道: 一个是控制通 道, 一个为数据通道. 控制通道用来在发送端和接收端之间建立 会话, 包括发送一些数据请求和确认控制等信息. 接收端在接收 视频流数据前先向相应的发送端发送数据请求,发送端在接收 到数据请求后向接收端发回相应的 IP 组播地址和端口, 接收端 则加入该组接收视频流数据.为了保证这些控制信息准确无误 地到达对方,对于控制通道我们选择可靠性较高的 TCP 协议. 数据通道用于视频流数据的通信, 我们选用 VxWorks IP 组播组 来实现.这两个通讯通道互不相关, 各自执行自己的任务.
4.1 视频数据发送模块的设计
在视频传输中,服务器端要求码流读取和发送互不干扰, 在 避免读取和发送相互等待或者相互冲突的情况出现.同样, 客户端解码和接收也存在这个关系, 我们可以采用任务间的通 信功能来协调多个独立任务间的活动.VxWorks 提供了一套丰 信号量, 消息队列和管道 富的任务间通信机制, 包括共享内存, 任务间通信最直接, 最明显的方法是访问共享数据结构. 等等. 由于所有 VxWorks 任务共存单一的线性地址空间, 在多个任务 间共享数据结构是非常容易的, 任一程序中定义的各种类型的 全局变量, 都可以被所有任务直接访问.由于实时组播的视频 所以首先要从编码器中获得视频数 流来自于 MPEG-4 编码器, 本设计采 据, 这主要通过访问编码器所提供的 I/O 端口来完成. 用了一种基于环形缓冲区的多任务视频传输技术, 较好的解决 了码流读取和发送互不干扰的问题. 系统的环形缓冲区除了达 到数据分离互斥作用外, 还可以起到平滑码流的作用.读取任 务和发送任务是互斥的关系, 读取任务一次从编码模块中读入 使 4 K 的视频数据供发送任务处理.在读取时为了避免竞争, 用信号量对该环形缓冲区进行上锁,以保证访问的互斥进行. 发送任务的访问环形缓冲区的情况也类似. 通过利用环形缓冲 区和互斥锁完全可以解决这两个任务的同步问题.
4.2 指令控制模块的设计 系统定义了自己的指令系统和指令传输协议.指令可以分 为以下几类:
工作控制( 传输开始, 传输停止, 存储控制等); 镜头云台控 制(焦距, 光圈, 自动转动等); 系统设置(用户管理, 通信参数设置 等), 每条指令前面都有其唯一的识别标志, 服务器接收到后可 以用来和其它指令进行区分.
多路复用的输入/输出模型 Select 函数可以实现高效的管 理套接字.使用工作在无阻塞方式的套接字, 在一定程度上提 高了程序的效率( 与阻塞套接字相比).但是, 程序需要不断的 轮询各个套接字描述符的情况, 这浪费了大量的 CPU 时间.如 果进程不是主动地轮询套接字的情况, 而是将希望监视的套接字向系统进行登记, 而后采取被动的态度等待, 当套接字上发 生了某些事件后, 系统再以某种方式通知进程, 接着进程去检 测套接字的情况, 发现对应的事件并进行处理.在这种工作方 式下, 进程是在已经知道在套接字上发生了事件时, 才对套接 字进行检测, 而在没有事件的情况下, 进程将睡眠, 所以这种工 作方式节省了大量的 CPU 时间,对于资源本来就非常紧张的 系统, 可以大大提高系统的整体性能
5 结语
本文设计的基于 ARM7 的嵌入式 MPEG-4 网络监控系统, 该监控系统稳定性高,支持基于 Internet 的数据传输, 的结 C/S 构体系允许用户进行远端操纵系统的工作方式.系统的各个子 模块相对独立, 通过采用 MPEG-4 视频压缩技术, 图像高清晰, 画质接近 DVD 效果, 能够实现单画面轮流监看和 1~16 个画面 同屏监看.支持远程和本地云台控制, 支持多任务工作方式, 而 监看, 远程控制可同步进行, 监控距离随网络延伸 且图像存储, 而不断加长, 具有良好的发展应用前景.
作者创新点: 本文提出的矩阵系统的模块化设计便于将来 系统的升级和扩展,即使在将来扩展时,也不需要替换现有设备, 而只需软件升级或添加硬件,从而保证了系统的延续性. 符合模 调试更加容易,使用更方便. 块化的设计原则,设计, 调试更加容易,使用更方便。
通过采用 MPEG-4 视频压缩技术, 图像高清晰, 画质接近 能够实现单画面轮流监看和 1~16 个画面同屏监看. DVD 效果, 支持远程和本地云台控制,能够实现信号的可靠传输和 MPEG-4 视频流图像的平滑传输.