基于IEEE802.1 5.4/ZigBee的语音通信系统
1.3 硬件实现
硬件方案充分利用MSP430片上12位ADC和DAC,从而无需外部语音编码解码器件,系统更加精简。语音传输系统的硬件电路如图2所示。
麦克风放大器及前置低通滤波器电路的工作原理:U1构成的反向放大器提供麦克风放大,其增益由R4和R5决定;R2、R3分压后为U1提供合适的偏置,R1给驻极体话筒提供偏置电压,C2阻止直流成分输入到放大器;一级Sallen-key结构的切比雪夫低通滤波器R8和C5构成一阶低通滤波器,用于ADC的反堆叠滤波。后置滤波器由一级Sallen-key结构的切比雪夫低通滤波器、一级RC低通滤波器和一级电压跟随器U4构成。三级滤波器的截止频率彼此稍有错位,以限制整个滤波电路通带的纹波。整个电路的截止频率设置在3 400 Hz,电压跟随器用于防止电路从输出获得反馈,并提供电流驱动。
在设计音频部分的电路时,考虑到采样率为10 kHz,根据奈奎斯特取样定理,系统的有效取样频率Os必须满足Os≥2ON的规定。在此ON称为奈奎斯特频率而ON称为奈奎斯特率。当采样频率小于奈奎斯特频率时,在接收端恢复的信号失真较大,这是因为存在信号的混迭;当采样频率大于或等于奈奎斯特频率时,恢复信号与原信号基本一致。输入的信号频率最高不能超过5kHz,在输入ADC之前必须加一个低通滤波器,将高于5 kHz的信号加以滤除。
2 软件实现
软件设计主要是基于MSP430F168与CC2420之间的SPI通信。通过设计单片机的SPI寄存器来驱动CC2420,进而设置和读取射频芯片的寄存器值,实现相应的发送和接收功能。
2.1 系统功能实现
远程端对语音数据进行A/D转换并打包发送。为实现语音实时通信,应尽量减少帧间等待时间,以提高有效数据率。为达到最大传输效率,理论上应使用最大载荷打包,但较长的数据帧也更容易被外界干扰信号破坏,同时也增加了语音迟延。综合考虑滤波器的截止频率以及CC2420的节点传输速度,A/D转换采用10 kHz的采样频率,8位分辨率。MSP430的主频为8 MHz,ADC将其8分频,单通道单次转换。定时器B与其时钟同步,每50μs产生一次中断。每两次中断进行一次转换,并将数据读出取高8位。ADC一次采样84个8位信号为一个数据包,这个数据包在被RF发送出去之前由协议栈自动加上一个12Byte的包头。由于CC2420传送速率为250kbit·s-1,所以每传送一个数据包耗时约3.072ms。
近程端将接收到的语音采集数据进行还原。D/A转换时钟设置与A/D转换同步。并且也采用10 kHz的频率。用单片机的定时器A模块,每100μs产生一次中断,在中断中进行一次D/A转换。一个ADC的输入缓冲区或一个DAC的输出缓冲区的大小为84Byte。装满这些缓冲区需要8.4 ms。系统流程图如图3所示。
评论