微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AVR 8位单片机的短距离立体声数字音频无线传输系统开发

基于AVR 8位单片机的短距离立体声数字音频无线传输系统开发

时间:06-04 来源:互联网 点击:

3 主控模块的软件流程

由于nRF2401的数据传输率为1Mbps,而从WM8739对模拟信号抽样量化后的数据长度为16bit,左右声道的采样率均为44.1kHz,若不对数据进行编码压缩,则需要1.41Mbps(16bit×44.1kHz×2)的数据传输带宽,显然超出了RF模块的数据传输能力。为了充分利用线路资源,而又不希望明显降低音频信号的质量,就要对数据作进一步压缩,本文采用自适应差分脉冲编码调制ADPCM (Adaptive Difference Pulse Code Modulation)的压缩算法。
ADPCM是利用样本与样本之间的高度相关性和量化阶自适应来压缩数据的一种波形编码技术,它综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能较好的波形编码。ADPCM的核心思想是:利用自适应改变量化阶的大小,即使用小的量化阶去编码小的差值,使用大的量化阶去编码大的差值;使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。ADPCM记录的量化值不是每个采样点的幅值,而是该点的幅值与前一个采样点幅值之差。这样16bit的数据经ADPCM编码之后只需4bit表示其差值,数据压缩比为4:1。接收端的译码器使用与发送端相同的算法,利用传送来的信号确定量化器和逆量化器中的量化阶大小,并且用它来计算下一个接收信号的预测值。ADPCM算法实现框图如图3所示。

为了保证数据传输的有效性,以及避免其他同频率信号的干扰,定义了如表1所示的传输数据的帧结构。

数据帧的总长度为64B,其中帧头为1B,用于射频芯片进行帧同步的前导码,3B,用于USART进行帧同步的同步码,3B作为地址码。另外为了保证接收端解码后的数据的连续性,整个程序流程将引入“双缓存区结构”即存储区和发送区,在发送一帧数据(位于发送区)的同时,要完成对当前帧数据的压缩编码及存储(存于存储区),在存储区放满之后要将该存储区则变为发送区,而原来的发送区变为新的存储区。在一帧的结尾还要产生一个CRC循环校验码,便于在接收端判断传送数据是否正确有效。接收端收到数据时,要先通过地址码判断数据是否有效,其余过程为发送端的逆过程。发送子系统程序流程如图4所示。

为避免在2.4GHz公共频段上容易出现的对音质的干扰,本系统提供了频点选择功能,有125个频点可选。如果系统在工作过程中,发现有较强的噪音出现,即在当前频点存在干扰影响输出音质时,可选择新的工作频点,以保持产品良好的使用效果。

4 实验结果与结论

本系统的设计充分利用了ATmega48丰富的片上外设,方便地实现了对语音芯片WM8739/8731和单片无线收发芯片nRF2401的连接。本系统应用于点对点的无线数据传输中,系统工作于ISM频段,有125个可选频点,44.1Kbps数字音频采样率,16bit样本量化级,20Hz~20kHz频率响应,音频输出达到CD音质效果,有效传输距离达到100m,有障碍物情况下能达到40m。

本系统为无线传输系统提供了一种比较实用且经济的解决方案,可以广泛地应用于无线耳机、话筒,小范围内的广播、家庭影院的后置音箱、多功能会议厅、多房间无线音响系统,无线教室教学系统等场合。

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

网站地图

Top