一种基于ARM Linux的无线音视频对讲系统设计方案
随着数字化和网络化时代的到来,尤其是宽带无线网络的发展,为音视频这样大数据量传输业务在无线网络上的应用提供了契机。同时由于音视频独特的感官特性,使其相关的应用需求也变得越来越迫切。无线多媒体是多媒体和移动通信这两个领域的技术相互融合的产物,成为当今通信领域的一个热点。鉴于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 嵌入式音视频的同步
本文的基
- 用ARM11和RFID技术打造的智能物流管理系统参考设计(09-19)
- 基于SDRAM文件结构存储方式的数据缓存系统(09-08)
- 基于SDRAM文件结构存储的数据缓存系统FPGA实现(10-25)
- 高分辨率视频图像处理中SDRAM控制器的设计(02-10)
- 高速图像处理系统中DDR2-SDRAM接口的设计(06-23)
- SRAM简介及与DRAM/SDRAM的比较(07-25)