基于低功耗处理芯片OMAP5912实现实时语音通信系统的设计

当前移动电话以方便、快捷的通话特点已经成为人们的日常生活品之一。然而,它需要基站支持。如果处于基站覆盖区外,用户就很难进行通信。并且它一般只适合两个用户之间通信,这难以适用于应急通信或临时会议等应用场合。针对这一问题,本文提出一种采用wi-fi(wireless fidelity,无线保真)传输技术的嵌入式系统。它利用ad-hoc进行自组织组网,实现多人同时进行通话的目的。该系统不需要专用基站,从而解决移动电话需要专网的不足。
1 系统设计思想
无线多方通话系统是指在同一个系统中允许多人同时进行对话,它不同于常规对讲机。对讲机只能实现半双工通信,即发起方在说话时,听不到其他人的语音。通信双方时常因为抢话而难以顺利沟通。如果多人同时抢话,将造成系统无法正常通信。
为了实现无线多方通话,需要解决两个关键问题:无线局域网的建立、系统语音通信的方法。无线局域网可以采用基于ap方式的组网和基于ad-hoc方式的组网。基于ap方式的组网需要选择一个中心节点,它负责转发和处理下面各成员之间的语音信息。然而,如果该节点失效,整个网络就会瘫痪,而基于ad-hoc方式的网络内各用户地位均等,各用户在彼此覆盖范围可以建立对等的通信关系直接通信。考虑到系统的便携性和实用性,系统采用基于ad-hoc方式进行无线组网。
在建立无线局域网后,可以采用rtp协议实现简单的点对点语音通话。为了实现多方话务系统,还需要采用组播方式。由于无线局域网的有效带宽有限,为了容纳更多的用户,需要采用合适的语音编解码算法以降低各自带宽的需求。语音编码一般分为三种类型:波形编码、参数编码和波形参数混合编码。波形编码的语音自然度高,但是压缩效率比较差,常在32 kbps以上。参数编码特点是语音压缩效率高,但是自然度比较差,能够在极低速率进行编码。而波形参数混合编码结合了以上两者的长处,代表算法有g.723、g.729等,能在4~16 kbps的速率上进行高质量的语音合成。考虑到算法的复杂度和对语音的需求,这里选用适合嵌入式应用的g729a算法。接收方接收到多个用户的语音信息后先进行相应的语音解码,然后采取混音技术实现实时接听多人话音。
考虑到系统的便携性以及系统开发的难易程度,选择linux2.6操作系统作为软件开发平台,以ti的omap5912作为中央处理器,利用无线网卡组建ad-hoc网络,利用qt技术实现图形界面显示和系统控制。最终完成在局域网内进行多方话务通信的功能。
2 系统硬件设计
本系统结构如图1所示。该无线局域网内有n个用户,其中n的取值范围为[2,253]。每个用户的系统架构相同,它包括语音采集/播放模块、触摸屏、无线网卡、中央处理单元和电源模块。
2.1 中央处理器与语音采集/播放模块之间通信
这里选用ti公司的低功耗处理芯片omap5912,它采用arm9+dsp55x的双核构架。而声卡主芯片选用ti公司的aic23芯片,该芯片是一款高性能的立体声语音编解码器,提供模/数转换和数/模转换,数据格式支持16/20/24/32,采样频率支持[8 khz,96 khz]范围内可调。如图2所示,aic23的可编程设置通过omap5912的i2c接口完成。aic23的音频数据通过与omap5912的mcbsp接口相连完成数字化音频输入/输出,而aic的耳麦输入/输出接口相对简单,利用该电路可以完成自身语音的采集和还原其他用户传来语音信息。
2.2 中央处理器与触摸屏之间通信
考虑到图像的直观性和操控的灵活性,选用三星公司的ltv350qv_foe触摸屏,它采用320×240像素液晶输出方式。对液晶的控制是通过专用芯片ads7843来完成的。图3所示是omap5912与ads7843的接口电路图。omap5912通过mcsi接口来实现与ads7843的命令、数据的串行输入/输出,并通过将kb.cx引脚复用成gpio,然后实现penirq与busy信号的中断触发。
2.3 无线通信模块与omap之间通信
系统的无线通信模块采用基于rt2571芯片的802.11无线网卡,它工作在2.4 ghz的ism工作频段,负责完成各用户之间语音和数据信息的交换。它与cpu之间通信是通过usb接口实现。
整个系统以超声波发射和接收电路为核心进行设计,系统采用直接数字频率合成芯片ad9833产生脉冲串,经过功率放大电路驱动超声波换能器,超声波经过悬浊液到达接收换能器,利用92 db对数放大器ad8307对回波衰减信号进行对数放大,最后由微控制器对数据进行处理得出浓度值。系统还配备了键盘、显示、参数存储、开关量输出、继电器输出、电流输出、uart通信等功能。
3 系统软件设计
本系统软件可以分为3个功能模块:语音信息处理模块、无线通信模块和qt控制模块。其中qt控制模块负责图形界面显示和人机接口控制。为了便于实现系统管理,采用基于linux操作系统的应用程序开发模式,操作系统则选用linux2.6.29版本。系统主程序结构如图4所示。
在完成必要的软硬件初始化后,系统进入qt界面控制程序,qt界面控制程序负责两大功能:
①语音编解码处理。如图5所示,语音信号的处理是通过dsp55x内核完成。它采用双线程处理。线程1负责语音编码处理。此时dsp内核采用双缓存机制保存arm9送入的本地语音数据。它利用g729a定点编码算法实现对语音的压缩处理,然后送给arm9内核。线程2负责语音解码处理。arm接收到的语音数据送入dsp内核后利用多用户解码算法恢复各个用户的语音信息,然后回送给arm9内核处理。
②无线语音和声卡数据的收发以及混音处理。它由arm9内核完成。arm9内核与dsp内核的通信是通过dsp gateway双核通信机制方式实现,由arm9内核负责控制。对于语音编码,arm9负责把aic23采集的缓存数据写入到dsp的编码器中。编码完的数据放入发送缓存单元,当发送缓冲区放满之后,arm端就会将数据通过网口发送出去。然后将编码后的数据通过无线网卡发送出去。语音解码与编码过程相反,首先通过无线网卡接收其他用户发送过来的比特流,并提取用户信息,送入dsp端解码,经过解码器解码后,判别当前是否多用户通信,如果是就启动混音程序,再输出至音频接口,变为模拟语音信号播放。
4 系统测试
测试系统采用3块omap5912开发板和对应的3块无线网卡。无线网卡选用华硕网卡w167g,采用ad-hoc进行组网。针对系统需求,需要测试系统的有效带宽和语音延迟以及音质。
系统的有效带宽是保证多用户语音通话的前提。这里利用netperf软件进行分析,测试表明基于udp的传输速度,两点间的平均速度可达3.4 mbps。
对于语音通信而言,基于aic23芯片的语音通信采样速度是8 khz,采用16比特单声道采样,所需带宽为128 kbps。而g729a的压缩率为16:1。故所需带宽仅为8 kbps。因此,该无线网卡支持多用户通信。
然后对语音音质进行测试,这里利用由cooledit2000软件进行分析,如图6所示,原始语音和采用g729a语音编解码处理后的语音波形虽有所损伤,但基本一样,从音质效果上看,语音清晰,达到mos=4的语音测试水平。
最后对系统语音延迟进行测试,无线传输时语音数据每次发送4帧数据,每帧包含10 ms语音数据,系统整体延时约为60 ms,听者基本感觉不到延迟效应。
通过以上测试,系统可以正常工作,达到设计目标。
结语
本文设计了一套可供无线局域网内实时语音通信系统,它以omap5912作为系统硬件平台,采用qt界面技术进行管理。用户可以方便地进行多人通话。由于采用嵌入式方式进行设计,适合于应急通信和临时移动会议等便携式通信场合。


内存和磁盘的关系&数据压缩(下)
零售业与物联网的结合会有什么反应
三星A40渲染图曝光 采用水滴屏设计4000毫安时电池
长虹推出“ZETA+蓝牙BEACON”的资产定位标签产品及解决方案
光电传感器的相关分类
基于低功耗处理芯片OMAP5912实现实时语音通信系统的设计
西门子歌美飒计划于明年第二季启用台中机舱厂
MEMS传感器的应用及分类
华为面向企业市场推出沃土数字化平台解决方案,主要有五大关键特性
新型土壤肥料养分速测仪介绍
物联网通信安全很重要,工业4.0的RFID也是一样
东风CR-V用插混技术再续传奇,带来前所未有的科技体验
横河CENTUM系列DCS维护之数据保存
Avast宣布推出面向5G网络的智能家居安全服务
基于单片机的双积分型A/D电路设计
晶华微SD3302F1多功能数显表的详细介绍
分解铅蓄电池的步骤和方法
性能、口碑、性价比 总有一项打动你
华曙高科用创新成为湖南3D打印产业一道亮丽风景线
网络“盲道”的探路者们,正在触达新世界 | 全国助残日