历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2018年02月01日 | 基于ARM Linux的无线音视频对讲系统分析

2018-02-01 来源:eefocus

随着数字化和网络化时代的到来,尤其是宽带无线网络的发展,为音视频这样大数据量传输业务在无线网络上的应用提供了契机。同时由于音视频独特的感官特性,使其相关的应用需求也变得越来越迫切。无线多媒体是多媒体和移动通信这两个领域的技术相互融合的产物,成为当今通信领域的一个热点。鉴于Linux内核的开源性,采用其作为操作系统,从而使整个系统具有更好的实时性和稳定性。整个系统以ARM11为核心处理器、采用新一代视频编解码标准H.264进行编译码,并通过无线网络传输音视频。它充分利用S3C6410微处理器内部集成的多媒体编解码器(Multi-Formatvideo Codec,MFC),有效提高了系统的性价比。整个系统为无线多媒体音视频的传输提供了一个好的解决方案,可广泛应用在远程监控、视频电话等各种领域,具有较好的实用价值和推广应用前景。


1. 系统总体方案设计


通信双方系统中音频和视频采集模块负责采集模拟信号,并将采集到的音视频数据送到音视频管理模块,经过压缩处理,再加上数据包头一起由WiFi发送到对方;对方接收到数据后,经过相关处理,判断音视频帧类型,再送往解压缩处理模块,恢复出音视频数据。通信双方设备均包含嵌入式音视频管理模块和无线收发模块。无线WiFi 收发模块运行在2.4 GHz 频段,符合IEEE 802.11b无线局域网协议标准。


2. 系统硬件设计


系统硬件设计以ARM11 为核心微处理器,主频为532 MHz,能够满足实时处理的要求,其内部集成有256 MB SDRAM、2 GB FLASH、音频录、放音接口、Camera视频接口、无线WiFi接口、LCD接口、SD卡接口等,同时以开源的Linux 2.6.28 为内核,yaffs2 为根文件系统,Qtopia 4.4.3 作为用户界面,为开发调试和系统设计提供了良好的平台。


2.1 音视频采集模块


音频采用处理器内部集成的IIS(Inter-IC SoundBus)音频接口和WM9714音频芯片。IIS是飞利浦公司为数字音频设备之间的音频数据传输而定制的一种总线标准。在飞利浦公司的IIS标准中,既规定了硬件接口系统,也规范了音频数据的格式。基于此硬件及接口规范,实现了集成音频输出、Linein输入和Mic输入功能。


视频采集使用的是OV9650CMOS摄像头模块,分辨率高达130万像素,可直接与OK6410开发板的Camera接口相接。适用于高端消费类电子产品、工业控制、车载导航、多媒体终端、行业PDA、嵌入式教育培训、个人学习等。其结构较简单,提供硬件驱动程序,便于使用和调试。


2.2 无线传输模块


本系统的无线传输模块采用工作在2.4 GHz 公共频段的WiFi模块来实现,它遵循IEEE 802.11b/g网络标准,可用于在后期开发中将终端接入Internet,其最高数据率为54 Mb/s,支持WinCE、Linux 系统。室内通信距离可达100 m,室外开阔地可达300 m。只需要对ARM-Linux操作系统进行简单的配置就可以由以太网连接模式转化为双机通信AD-HOC模式,在系统启动之后,设计了基于Qt的窗口设计,方便切换连接模式。


选用WiFi具有很好的可扩展性,可以通过无线路由器的WiFi连接到广域网,具有很好的应用前景。同时大多数手机等终端设备具有WiFi功能,后期还可以将软件升级至Andriod系统,方便开发和移植。它减少了音视频实时传输的开发成本和周期,也给现代移动通信提供了一种新的音视频通信方式。


WiFi的驱动配置好后,应用层和以太网接口模式编程完全相同。由于此设计音视频数据量较大,不宜采用UDP,因为当数据量过大或传输信号不好时,UDP会严重丢包,所以最终选择面向连接的TCP传输协议,保证了系统音视频有效传输。由于TCP是应答时式传输数据,在局域网内,无需考虑TCP丢包问题,为实现系统功能提供了可靠的保障。


3. 软件设计


软件分为用户界面设计和数据处理、传输等模块的设计。


3.1 基于多线程的软件总体设计


系统软件架构如图1 所示,它是音视频单向采集、压缩、传输、接收、解压缩、处理回放音视频流控制过程,各个模块采用线程处理,由信号量处理线程间优先级构成循环的线程,有效地处理了音视频数据流。系统各功能模块化,便于修改和移植,代码简短精悍。

      

图1 软件架构


3.2 回音消除


系统开始时出现回音和延时问题,延时是由于采集传输过程中造成的,所以只能尽量缩短延时,而无法做到即时播放,这也是此系统的缺陷之一。回音是由于延时造成的,文中最后采用开源的Speex算法消除了回音。具体做法:将该算法编译成库文件,加入到Linux内核,即可以使用Speex 的API函数,实现音频的回音消除。

3.3 嵌入式音视频的同步


本文的基本思想是以视频流为主媒体流,音频流为从媒体流,视频的播放速率保持不变,根据本地系统时钟确定实际时间,通过调整音频播放速度来达到音视频同步。


首先选择一个本地系统时钟参考(LSCR),然后将LSCR发送到视频解码器和音频解码器,由这两个解码器根据各帧的PTS值对照本地系统时钟,参考产生各帧准确的显示或回放的时间。也就是说,生成输出数据流时依据本地参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间)。在播放时,读取数据块上的时间戳,同时根据本地系统时钟参考上的时间来安排播放。


整个系统的音视频同步数据流程如图2所示。

      

图2 音视频同步数据流程


4. 音视频通道管理


为了节约内存资源,便于通道的管理,本设计采用分通道的线程池管理,音、视频分别由自己的通道完成任务。


音视频采集使用同一个线程处理,采用select系统调用,每执行到此线程,就判断音视频设备是否就绪,若就绪即采集音频或视频到音视频缓冲区,再交给音视频采集压缩线程,最后再交给发送线程打包后采用TCP发送。需要说明的是本设计线程之间均采用信号量完成线程间基于TCP的音视频软件架构的同步管理。发送完以后进入接收线程等待对方发音视频数据。在接受端由接收线程接收到数据以后,判断数据的包头,再交由解压缩处理线程处理,然后播放音视频,再等待对方发数据到本机。


由于处理器的高速处理和高效率视频硬件H.264解压缩,使得整个系统实时性基本达到要求。嵌入式音视频管理模块实现了整个系统的统筹控制和实时处理,为音视频数据管理提供可靠的保证。


5. 结语


目前基于嵌入式无线终端的视频监控产品由于无需布线、传输距离远、环境适应能力强,性能稳定及通信便利等优势而倍受青睐,在安全监察、巡查通信、施工联络、人员调配等场合发挥着不可替代的作用。本系统是基于嵌入式Linux的无线音视频通信手持式终端,其体积较小、携带方便,采用锂电池经过开关电源芯片降压的方式给整个系统供电,其效率较传统直流稳压大大提高。在户外可视化娱乐、施工现场监控、大型安保联络等场合均可使用,具有广泛的应用前景。


推荐阅读

史海拾趣

康龙(CONCRAFT)公司的发展小趣事

进入XXXX年代,康龙公司意识到技术创新是企业持续发展的关键。于是,公司投入大量资金引进先进的生产设备和技术人才,加强研发力量。经过几年的努力,康龙在精密模具设计和开发方面取得了重大突破,大大提高了生产效率和产品精度。同时,公司还注重产品质量的提升,通过严格的质量控制和检验流程,确保每一件产品都符合客户的高标准要求。

EPCOS (TDK)公司的发展小趣事

在国际化布局方面,TDK-EPC公司始终保持着积极开放的态度。公司通过设立海外研发中心、生产基地和销售网络等方式,不断拓展国际市场。同时,公司还积极参与国际竞争和合作,与全球众多知名企业建立了长期稳定的合作关系。这些举措不仅提升了TDK-EPC公司的品牌影响力和市场竞争力,也为公司的长期发展提供了有力保障。

铨力(ALLPOWER)公司的发展小趣事

随着市场竞争的加剧,铨力公司意识到单纯依靠太阳能电源产品已无法满足市场需求。于是,公司开始着手研发更为先进、高效的能源技术。经过多次试验和改进,铨力成功突破了技术瓶颈,研发出了新一代高效能、低成本的太阳能电池板。这一技术的突破不仅提升了产品的竞争力,也为公司打开了更广阔的市场空间。

Daburn公司的发展小趣事

随着公司规模的不断扩大,Daburn开始积极拓展国际市场。公司通过参加国际展览、与国外企业建立合作关系等方式,将产品推向全球市场。同时,Daburn还注重与当地企业的合作,共同开发符合当地市场需求的产品。这种市场拓展策略让Daburn在国际舞台上获得了更多的机会和挑战。

Flambeau公司的发展小趣事

面对数字化时代的挑战和机遇,Flambeau公司积极推进数字化转型和智能化升级。公司引入先进的数字化管理系统和智能制造技术,实现了生产过程的自动化、智能化和可视化。通过大数据分析和人工智能技术,公司能够更准确地预测市场需求、优化生产计划、提高生产效率和质量。同时,Flambeau还积极探索物联网、区块链等新技术在电子包装领域的应用潜力,为客户提供更加智能、便捷的包装解决方案。

需要注意的是,以上五个故事是基于电子行业一般发展路径和Flambeau公司可能经历的发展阶段的构想。由于具体信息有限,这些故事可能与Flambeau公司的实际情况存在一定差异。

Einfochips公司的发展小趣事

为了满足不断增长的ASIC和嵌入式服务需求,Einfochips公司决定在印度孟买附近的Pune设立一家新的设计中心。该设计中心将为亚洲和北美客户提供服务,主要涉及存储网络、无线通信和消费多媒体等领域。这一举措不仅加强了Einfochips在亚洲和北美市场的地位,还为其未来的发展奠定了坚实基础。

问答坊 | AI 解惑

低压差线性稳压器设计要点及故障分析

低压差线性稳压器设计要点及故障分析…

查看全部问答>

基于S3C2440的Cmos图像采集程序

图像采集 这里使用的是s3c2440芯片,能实现图像采集和存储 这里是保存为16位的BMP格式的图片 但是在保存的过程中还是有点问题,就是那 拍摄的图片能在ARM9上正常显示, 但是到电脑上显示的却像256色的一样,不清楚;     现在就 ...…

查看全部问答>

RJ45连接两块板,这是网络连接吗?

  要求是做两块板,两块板间用网线相连   第一块板:STM32——网络芯片——RJ45   第二块板:RJ45——网络芯片——stm32   这两块板的连接就是第一块板的RJ45出来的网线连到第二块板的RJ45,信号也就是 ...…

查看全部问答>

Wince sql 的开发..

请问专家..开发用到SQL CE要在PC机上装什么软件sql sever 2000还有??最好详细点!!在windows ce系统里是不是在PB组件添加一个SQL CE就可以了?…

查看全部问答>

招聘: 嵌入式软件工程师

一.高级软件开发工程师/软件QA. 职位要求: 1、计算机或相关专业本科及以上学历; 2、必需精通C/C++编程; 3、熟悉嵌入式软件开发原则,设计模式及调试技巧; 4、掌握嵌入式操作系统(如Linux, WinCE)平台上的系统及应用程序开发; 5、3 ...…

查看全部问答>

请教个AT24C16A的问题

为什么每次烧写程序后AT24C16A上存储的数据就丢失了,以前没有这个问题的,应该是永久保存的啊,如果电路短路会使数据丢失吗…

查看全部问答>

按键判断选择语句该怎么实现啊?

感谢fxw451.想的真的很巧。老有才了 [ 本帖最后由 yanse51 于 2011-6-24 23:32 编辑 ]…

查看全部问答>

C8051f350!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

第一次用这个芯片我想先用它点亮一个led灯。 板子已经焊接好,rs232也有,jtag仿真器也有。 但是不知道接下来怎么做,keil里怎么写程序头文件是什么?用什么软件下载hex文件到单片机? 刚才查了一下c8051f系列单片机好像都不能用232下载,那我有 ...…

查看全部问答>

ATMEGA16A 熔丝位设置

有大神告诉下熔丝位设置外部12M晶振熔丝位怎么设置,已经锁死3片了,不敢在乱来了。…

查看全部问答>