1 硬件设计
1.1 硬件设备概述
嵌入式设备具有基本的硬件体系,大致包括以下3类组成部件:
①核心部件:微处理器、时钟电路。
②主要部件:存储器件、测试通道器件、人机接口部件、通信接口部件。
③基础部件:电源供电电路、电路监控电路、复位电路、电磁兼容与干扰抑制EMC/EMI电路等。
便携嵌入式监控设备选择硬件时,要考虑到处理核心的运算能力是否满足高清音频与视频的采集、处理需求;存储设备是否有足够空间容纳数据量较大的高清音频、视频数据;通信设备能否实现数字信号的高速、稳定、安全传输。满足上述功能的同时,因为便携嵌入式监控设备的特殊性,要尽量选择功耗较低的硬件设备,并且在满足基本需求后,应对其他设备进行裁剪,例如显示/打印设备、键盘输入设备等。
1.2 硬件设备设计方案
德州仪器公司的TMS320DM365(以下简称DM365)具有较快的运算速度,在编码时可以使用协处理器进行加速,且支持大容量存储介质等特点,在功能上足以满足监控设备的需求。同时,其外围电路设计简单,可以很大程度上缩小设备尺寸;处理核心为ARM内核,功耗相对较低;内存使用低功耗和小体积的mDDR作为内存模块;选用Micro SD卡作为存储设备,用其代替NAND Flash来存储系统及应用程序;通信使用USB接口和WiFi模块;视频采集使用APTINA公司的AR0330模块。硬件设计框图如图1所示。
2 软件设计
2.1 软件架构设计
Linux系统是一种基于硬件设备的类Unix操作系统,包含硬件驱动、电源管理、文件系统以及线程管理等模块,提供基本的系统调用。Linux提供符合POSIX标准的C/C++运行库,基于DM365硬件设备,需要使用UBL和Uboot来引导启动Linux系统,应用软件基于此系统设计。系统结构图如图2所示。
便携监控系统应用软件建立在基本Linux系统上,包括主线程以及4个主要子线程,分别用于视频处理、音频处理、通信管理以及设备管理。软件运行的流程图如图3所示。
2.2 音频/视频采集、编码与存储设计
音频使用DM365处理器自带的音频采集方式,编码采用AAC压缩方式,使用了全新的算法进行编码,具有更高的性价比。利用AAC格式,可使声音质量没有明显降低的前提下,体积更小。在软件实现过程中,使用TI公司结合Linux系统设计的API函数;使用DRV_audioOpen()与DRV_audioRead()函数实现音频硬件的初始化与读入数据;使用ALG_ audEncRun()函数进行音频的AAC编码,并编写程序,实现编码后的数据存储。在上述过程中,需要对API函数进行参数配置。处理流程如图4所示。
视频的采集是通过I2C接口的图像传感器AR0330读入视频流信息,经过片载ISP进行自动白平衡,每次读入1帧图像,然后进行图像编码并保存。视频编码采用JPEG方式,封装为.jpg图片文件进行存储。使用DRV_captureStart()函数实现摄像头的初始化操作;调用ALG_aewbRun()函数进行自动曝光与自动白平衡;使用DRV_ipipeGetRszBuf()函数读入1帧图像;将数据传入SnapshotFrameDataEx()函数,进行JPEG编码。程序会启动存储线程将编码后的文件保存在存储设备中,然后启动上传线程,将图像上传至客户端。视频处理序列图如图5所示。
2.3 通信方案设计
本方案使用基于WiFi技术的无线传输方式作为基础媒介,利用软件实现基于TCP/IP协议的Socket传输策略,在保证传输速度的同时,也保证了数据传输的稳定性和安全性。实现无线网络接入点(AP)的架设,使其他设备(诸如计算机、手机、平板电脑等)可以通过WPA2加密方式连接到便携监控设备,在保证足够安全性的同时实现数据的交换。
在实现AP的架设后,通过软件实现Socket服务器,保证传输功能的完整实现。建立连接以后,使用单独的线程完成监控设备与客户端设备的数据通信。
在该线程中,实现实时监控数据的上传与接收客户端发来的控制指令并执行的功能。通信线程序列图如图6所示。
2.4 系统运行方案设计
在监控系统运行过程中,微处理器、存储设备以及其他必要电路必须保持时刻供电状态,其他设备则可以依据使用情况进行电源通断的管理。因此,为了更好地控制功耗,需要在软件上对视频采集设备和通信设备进行电源管理。
对于视频采集设备而言,在便携监控设备运行过程中使用每秒拍照3次的运行方式,既可以保证监控的连续性,又可以控制视频采集设备以及图像编码器的功耗。在需要进行拍照时,启动视频采集设备和图像编码加速器,进行图像采集与编码。当3次拍照结束后,暂停视频采集设备,并关闭图像编码加速器的电源。本设计的图像采集速度为30 fps,因此以上过程可以使得系统90%的时间处于低功耗状态,从而在很大程度上降低了系统的平均功耗。
对于通信设备而言,使用WiFi模块进行数据通信。在系统不需要对外发送数据时,通过软件使WiFi设备的驱动处于卸载状态,此时WiFi设备的功耗很低。当需要进行数据通信时,加载WiFi设备的驱动以实现数据传输。传输完毕后,可关闭WiFi功能,卸载驱动,使WiFi设备恢复到低功耗状态。
2.5 Android手机端方案设计
本文使用基于Android系统的手机软件作为客户端软件,其与便携监控系统进行通信,实现监控画面的实时显示与存储,并对其进行控制。因此需要对Socket通信、图片显示与存储、本地文件写入与读取以及界面绘制、线程操作等进行设计。实现的具体功能有:①通过IP地址与端口号连接便携监控设备上的服务器;②接收并实时显示监控画面,可选择本地存储收到的图片;③对服务器的AP参数、系统时间进行配置,并保存配置信息;④控制监控系统对监控画面的存储,查询可用空间,格式化监控系统的存储区域。
客户端软件与便携监控设备上的服务器通过Socket进行通信,并实现上述功能,因此需要建立简单的通信协议。对于不同操作定义不同命令控制字,命令控制字占用4个字节。服务器接收到命令控制字后,对其合法性进行判断,并根据预设的对应功能进行执行。客户端通过接收并判断服务器端返回的命令控制字来进行下一步操作。
结语
设计并实现了便携监控系统的硬件设备,并对软件方案进行了测试。实验结果表明,本文提出的基于DM365的便携监控系统解决方案可以有效减小硬件体积,并降低功耗。通过与其他便携设备的交互,提高了设备的灵活性与可用件。