微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > OMAP5912的嵌入式无线组播通信设计

OMAP5912的嵌入式无线组播通信设计

时间:02-23 来源:单片机与嵌入式系统 点击:

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界面技术进行管理。用户可以方便地进行多人通话。由于采用嵌入式方式进行设计,适合于应急通信和临时移动会议等便携式通信场合。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top