基于Linux 的矿用搜救机器人音视频系统_李文峰.pdf
Vol.51No.2 Feb. 2020 第 51 卷第 2 期 2020 年 2 月 Safety in Coal Mines 基于 Linux 的矿用搜救机器人音视频系统 李文峰, 白俊涛 (西安科技大学 通信与信息工程学院, 陕西 西安 710054) 摘要 设计了一种基于嵌入式 Linux 的矿用搜救机器人音视频系统。 系统选用 S5PV210 微处理 器作为主控单元,采用 1/2.7 inch CMOS USB 双目摄像头+BH1750 光强采集+850 nm 红外补光 作为低照度环境下视频采集方案、 本质安全电压转换方案和有线/无线通信接口, 实现了矿井低 照度环境下高清音视频的采集, 并对采集的音视频数据进行压缩、 存储、 显示以及传输。 关键词 嵌入式; Linux; 音视频; S5PV210; 低照度; 本质安全; 矿用搜救机器人 中图分类号 TD679文献标志码 B文章编号 1003-496X (2020 ) 02-0109-04 Audio and Video System for Mine Search and Rescue Robot Based on Linux LI Wenfeng, BAI Juntao (College of Communication and Ination Engineering, Xi’ an University of Science and Technology, Xi’ an 710054, China) Abstract The audio and video system of mine search and rescue robot is designed based on the Linux. The system selects a 1/ 2.7 inch CMOS USB binocular camera, BH1750 light intensity acquisition and 850 nm infrared compensation light as the video acquisition scheme under low illumination environment, the hardware has intrinsically safe power conversion circuit and wired/ wireless communication interface, the system realizes the acquisition of two high-definition audio and video in the low illumination environment of coal mine, and carries out compression, storage, display and transmission for the collected audio and video data. Key words embedded; Linux; audio and video; S5PV210; low illumination; intrinsical safety; mine search and rescue robot 矿用搜救机器人主要用于矿难发生后,先行进 入井下事故现场进行灾害情况探测和现场数据采 集,保障救援队员生命安全并为制定救援计划提供 依据 。国内外主要集中于救援机器人移动平台、 控 制系统及通信方面的研究,在气体参数采集、音视 频感知方面研究较少。音视频感知大多采用以红外 LED 阵列充当补光光源的监控摄像头外部添加笨 重隔爆外壳来满足低照度视频采集和防爆要求。该 方案操作起来简单, 但采用众多 LED 组成的阵列补 光以及隔爆形式防爆使得音视频系统整体功耗上 升、 体积增大、 质量增加 (3~20 kg) 、 费用高[1], 直接导 致搜救机器人行走困难,同等电池容量下工作时长 变短,而且难以进行二次开发。考虑到使用 2 个红 外光源功率较小以及本质安全设备具有安全性好、 不用隔爆外壳及其他复杂结构、 质量轻、 尺寸小、 成 本低等优点,采用模块化思想,利用本质安全与嵌 入式相关技术,以 Cortex-A8 微处理器 S5PV210 为 核心设计了一款搭载于搜救机器人本体之上的本安 型低照度音视频系统,用于井下高清音视频数据的 采集、 压缩、 存储、 播放以及传输。 1系统总体方案 以重庆多朋科技有限公司的 ZRK 矿用机器人 为载体进行了音视频系统的开发,系统主要包括主 处理器模块、 低照度视频采集模块、 音频采集模块、 存储显示模块以及通信接口模块。 系统工作流程 USB 摄像头和拾音器产生模拟 视音频信号, 分别经过 TVP5150 和 WM8960 视音频 编解码芯片生成符合 ITU-BT656 标准的数字视频 DOI10.13347/j.cnki.mkaq.2020.02.024 李文峰, 白俊涛.基于 Linux 的矿用搜救机器人音视频系统 [J] .煤矿安全, 2020, 51 (2 ) 109-112. LI Wenfeng, BAI Juntao. Audio and Video System for Mine Search and Rescue Robot Based on Linux [J] . Safety in Coal Mines, 2020, 51 (2) 109-112. 基金项目 国家重点研发计划资助项目 (2017YFC0703204) ; 陕西 省科技统筹创新工程计划资助项目 (2015KTCQ03- 10) 移动扫码阅读 109 ChaoXing 第 51 卷第 2 期 2020 年 2 月 Safety in Coal Mines Vol.51No.2 Feb. 2020 图 2照度采集和补光电路原理图 Fig.2Schematic diagram of illumination acquisition and lighting circuit 图 1TPS62143 电压转换原理 Fig.1TPS62143 voltage conversion principle 信号和 I2S 准的数字音频信号,再经过 S5PV210 处 理器进行压缩编码后获得 H.264 视频数据流和 WAV 音频数据流, 压缩后的音视频数据用于本地存 储以及通过网口发送至机器人,经由机器人更为强 大的通信模块传送至远端。 2系统硬件 矿用搜救机器人视音频系统包含主控模块和外 围模块。主控模块是 S5PV210 ARM 控制平台[2]; 外 围模块包括视频模块、 音频模块、 存储与显示模块、 通信接口模块和本安电源适配模块。其中本安电源 适配模块为各芯片提供相应电压;视频模块用于低 照度环境视频的采集、 解码、 压缩与传输; 音频模块 用于声音的采集、 编码、 播放与传输; 存储模块用于 存储音视频数据;通信接口模块实现与机器人本体 之间的数据传输以及系统调试。 2.1 电源适配模块 系统采用机器人本体提供的 6~8.4 V 电源供 电, 由于该系统内部资源主要用到 5、 3.3 V 电压, 因 此需要通过电压转换电路实现降压。本安电源适配 模 块 采 用 DC/DC 变 换 器 的 方 案 设 计 , 利 用 TPS62143、 TPS621422 种芯片实现 DC-DC 5 V 和 3.3 V 电源转换。 基于 TPS62143 设计的电压转换电路如图 1, 输 入电压 VDDBAT 的范围为 6~8.4 V, C43为输入滤波 电容, C45连接至 SS/TR 引脚是实现芯片的软启动功 能, 通过调节 C45的容值大小来改变软启动时间; 通 过 FSW 引脚进行工作频率选择。由于 Buck 变换器 的工作频率降低, 效率得到提高, 但电感值增加, 对 本质安全设计不利, 因此将 FSW 引脚拉低[3-4], 芯片 工作在 2.5 MHz 的频率,输出滤波电容 C44为 22 μF, 电感大小为 2.2 μH, 满足本质安全要求。 2.2视频模块 视频模块由 1/2.7 inch CMOS USB 摄像头、 2 个 850 nm 红外 LED 辅助光源以及 BH1750 光强传感 器组成。BH1750 光照度采集电路与处理器相连, 通 过 I2C 总线将采集到的光照强度数据传送给处理 器。考虑到电压驱动型电路电压微弱变化会引起电 流的巨变, 严重影响半导体二极管使用寿命, 所以采 用。PT4115 恒流源驱动电路[5]用于驱动补光光源, 处理器根据获取的光照强度数据来改变自身输 出 PWM 波的占空比来改变恒流源驱动电路的输出 电流值,从而改变补光光源功率。照度采集和补光 电路原理图如图 2。 摄像头产生 PAL 格式的模拟视频信号,经过 TVP5150 视音频编解码芯片生成符合 ITU-BT656 标 准 的 8 位 4 2 2 YUV 数 字 视 频 信 号 , 再 经 过 S5PV210 处理器内部的MFC 硬件编解码器进行压缩 编码后获得 H.264 视频数据流,压缩后的音视频数 据用于本地存储以及传送至远端,通过 I2C 总线对 视频解码芯片进行配置,完成对输出数据格式、 对 比度、 饱和度等参数选择。视频采集方案如图 3。 2.3音频模块 音频模块采用“MIC 音频编解码器 扬声器” 的方法实现音频的采集和播放。以 WM8960 音频编 解码芯片为核心设计音频电路, I2S 总线用于编码 后数据传输, I2 C 总线用于音频控制。 WM8960 音频 110 ChaoXing Vol.51No.2 Feb. 2020 第 51 卷第 2 期 2020 年 2 月 Safety in Coal Mines 图 3视频采集方案 Fig.3Video capture solution 编解码芯片内置 24 bit 的 A/D 和 D/A 转换器实现 高精度数模和模数转换, 且 WM8960 内置的 D 类功 率放大器, 比一般的 A、 B 类功放效率提高 40[6], 具 有体积小、 信噪比高的优点。 设计采用灵敏度为-52 dB 的电容式驻极体作为声电转换器件和 8 Ω、 1 W 的喇叭电声转换器件,实现声电和电声的转换。 210_Xi2sCDCLK0、 210_Xi2sSCLK0、 210_Xi2LRCK0、 210_Xi2sSDO0_0 和 210_Xi2sSDI0 构成 I2S 接口, 用 于音频信号的传输, 210_I2C_SDA0 和 210_I2C_SCL0 构成 I2C 总线接口用于控制信号的传输,通过 I2C 总线配置内部的相关寄存器进而控制音频音量、 关 闭内部未使用的模块电源等操作。 2.4通信接口模块 通信接口模块负责音视频及其他数据的传输, 系统采用有线/无线的方式实现通信。有线通信中 S5PV210 处 理 器 通 过 快 速 以 太 网 MAC 控 制 器 DM9000 将数据发送给网络变压器, 再通过 RJ45 将 数据转发出去; 无线通信中直接通过 LBWA18HEPZ 无线模块进行数据的收发。 DM9000 网络控制器, 引脚与 S5PV210 的 ADDR2 连接, 决定传输的是数据还是指令 (为低时 数据总线上传输地址信号, 为高时传输数据信号) 。 CS 是片选信号,与 S5PV210 的 CSn1 连接, CSn1 的 基地址为 0 x88000000,而 DM9000 的 IO 基地址为 0 x300, 结合 引脚的连接情况, 因此 DM9000 的 数据地址接口为 0 x88000304,命令接口地址为 0 x88000300, S5PV210 通过数据口和地址口, 并结合 读 写 信 号 线 可 以 对 DM9000 进 行 读 写 操 作 。 HR911105 是自带网络变压器的 RJ45 接口,其主要 作用是信号传输、 阻抗匹配、 波形修复、 信号杂波抑 制和电压隔离等。 2.5存储和显示模块 存储模块采用闪迪公司生产的存储密度较高的 32G TF 卡, 系统图像传感器采集的 640480 分辨率 的彩色画面, 其每帧图像大小为 4 KB, 按每秒 25 帧 计算, 2 路视频则每小时需要 720 MB 的空间,连续 工作 4 h, 需要 3 GB 的空间, 所选内存足够存储机 器人连续工作 4 h 所产生的数据。 显示器件是功率消耗较大的器件,选择低功耗 的显示器件可以降低整体功耗。TFT 显示屏由于其 低功耗、 体积小、 可触摸操控等优点成为可移动设备 的首选方案,系统显示模块采用统宝光电设计生产 的 TD035STEE1 LTPS TFT-LCD 显示屏,屏幕尺寸 大小为 3.5 英寸、分辨率为 640480,采用 6S1P WLED 作为背光源, 功耗仅为 430 mW。 3系统软件 3.1嵌入式操作系统和硬件驱动程序 1) 嵌入式操作系统。 系统采用内核为 Linux3.0.8 的 Linux 操作系统。Linux 因具开源、 免费、 内核可裁 剪、 资源占用少、 可移植、 稳定性高、 安全性强等特 点而被广泛应用于嵌入式设计开发当中[7-8]。 2) 硬件驱动程序。选用的 Linux 的内核中带有 CMOS 传感器的 USB 控制器 OV511 和 Framebuffer 设备的驱动程序, 可以缩短开发周期。在 Linux 内核 基础上进行 BH1750、 WM8960、 无线网卡、 显示屏等 外为设备的驱动移植与修改, 并进行内核裁剪。 3.2 应用软件 1) 视频采集。系统视频采集应用层程序的开发 主要利用 Video4linux2 (V4L2) 驱动框架为上层应用 提供的一套通用的 API 接口函数来访问底层视频设 备[9]。V4L2 对上层应用屏蔽了底层硬件的差异, 用 户空间对视频设备的操作只需要通过 ioctl ( ) 、 open ( ) 等函数就可以实现。利用 V4L2 完成 USB 摄像头 图像采集应用程序,打开设备,获取视频设备能力 并设置参数,申请帧缓冲,申请物理内存,开始采 集, 结束并关闭设备。视频采集流程图如图 4。 2) 视频播放。视频显示模块应用层程序利用 Framebuffer帧缓冲接口来实现视频显示。Frame- buffer 是 Linux 系统为显示设备提供的 1 个接口[10], 用于从包含完整的帧数据的 1 个内存缓冲区中来驱 动 1 个视频显示设备, 它将显示缓冲区抽象, 屏蔽图 像硬件的底层差异,供用户态进程实现直接写屏的 抽象对象, 可以被看做是显存的 1 个映像, 用户只需 要通过应用程序直接读写 Framebuffer 内容就可以 完成对屏幕的显示控制。视频播放流程图如图 5。 111 ChaoXing 第 51 卷第 2 期 2020 年 2 月 Safety in Coal Mines Vol.51No.2 Feb. 2020 图 4视频采集流程图 Fig.4Video capture flow chart 图 5视频播放流程图 Fig.5Video playback flow chart 3) 音频采集与编码。音频采集利用 ALSA 声卡 体系所提供的 API 函数实现,它是高级的 Linux 音 频系统接口,其拥有的 alsa-lib 开发库为应用层程 序的设计提供了方便。利用接口采集来的是模拟音 频信号,经过 WM8960 芯片转化后,成为需要的数字 音频原始信息,清晰度较高。音频采集流程分 4 步 打开 1 个录音接口, 设置音频流的硬件参数, 从麦克 风读取数据, 关闭录音接口。从接口读出来的 RAW 格式数据由于数据量较大,所以采用 G711 算法进 行压缩。 4) TCP 数据通信。考虑到获取连续、 稳定、 可靠 的音视频数据对井下救援工作的重要性,系统选用 TCP 协议来传输经过压缩的音视频数据。TCP 是一 种提供面向连接的、可靠的字节流服务的传输控制 协议[11-12], 收发双方需要经过 3 次 “握手” 成功建立 1 个 TCP 连接后, 才能进行数据流的传输。系统与机 器人本体路由器之间使用工业以太网作为主连接, WiFi 做为备用连接, 设置系统与机器人路由器在同 一网段的 IP 地址, 进行音视频的实时传输, 使数据 传输的稳定性和可靠性得到了保障。 4结语 设计了一款基于嵌入式 Linux 的矿用搜救机器 人音视频系统, 系统通过红外 LED 补光实现了井下 低照度环境下高清音视频的采集,并经过压缩编码 进行本地存储和传送。介绍了系统工作流程和软硬 件设计,系统采用了成熟的嵌入式平台和较少的补 光光源, 利用了 linux 可裁剪性, 具有成本低、 构造简 单、 方便维护、 通用性强、 可二次开发等特点。 参考文献 [1] 王志凯.本安型低照度数字 CCD 视频采集模块设计 与实现 [D] .西安 西安科技大学, 2012. [2] 姚莉, 邓丹君.基于 A8 的嵌入式 Linux 远程视频监控 系统的设计与实现 [J] .物联网技, 2016, 6 (5) 24-26. [3] 李艳, 刘树林.改进型本安 Buck 变换器的分析与设计 [J] .西安科技大学学报, 2019, 39 (2) 360-365. [4] 崔保春, 王聪, 程红.本质安全电源电路理论综述 [J] . 电源世界, 2006 (12) 1-6. [5] 李文峰, 蔡蓬勃.本质安全型低照度视频采集激光辅 助光源设计 [J] .工矿自动化, 2019, 45 (1) 13-17. [6] 刘丽.嵌入式 WM8960 音频驱动及多线程播放器的设 计 [D] .哈尔滨 哈尔滨工业大学, 2015. [7] 王立红.井下搜救机器人音视频采集传输研究与 实现 [D] .青岛 山东科技大学, 2011. [8] 王立红, 樊铭渠, 李芳.基于 OMAP3530 的音视频采集 及传输实现[J] .电脑知识与技术, 2010, 6(29) 8313-8314. [9] 黄新, 梁洋洋.基于 V4L2 嵌入式视频监控系统 [J] .仪 器仪表用户, 2017, 24 (5) 46-50. [10] 李艳, 吴浩, 刘政科.基于 Linux 内核 framebuffer 的图 像采集与显示系统设计 [J] .计算机测量与控制, 2018, 26 (3) 124-128. [11] 狄博.TCP/IP 协议分析及通信应用编程 [J] .计算机 与现代化, 2006 (3) 37-39. [12] 孟蕾, 陈文艺, 宋焕生.嵌入式 TCP/IP 实现的研究和 分析 [J] .西安邮电学院学报, 2004 (1 ) 56-60. 作者简介 李文峰1969, 河南襄城人, 教授, 硕士生 导师, 博士, 2001 年毕业于西北工业大学, 西安科技大学电 路与系统学科带头人,主要研究方向为应急救援和矿山信 息化技术,发表论文 80 余篇。 (收稿日期 2019-08-16; 责任编辑 李力欣) 112 ChaoXing