基于ATmega8的无线智能跳频数码扩音系统
时间:08-27
来源:互联网
点击:
2.2 接收端系统接口
如图4所示,ATmega8与NRF24L01连接方式与发射端相同,IO方向设置也与其相同。为了防止NRF24L01返回ACK时造成的电源波动,模拟器件和数字器件都各自使用独立LDO。由于ATmega8的IO口较少,内部数个硬件接口使用同一个IO,导致接口冲突。SPI的MOSI和Timer2的OC2共用PB3,SS与Timer1的OC1B共用PB2,最后只有16 bit的Timer1OC1A可使用。通过修改TCCR1A寄存器让Timer1工作在8bit PWM模式,工作频率为62.5 kHz。修改OCR1则可以改变OC1B上输出的PWM占空比。Timer2在比较匹配模式下工作,每隔52μs中断一次,并修改缓冲区的数据送至Timer1,让其改变PWM占空比,经过低通滤波器滤去PWM高频成分后,最终得到音频信号。
3.1 发射端软件流程
MCU上电复位后,首先会对SPI接口进行初始化,再进行IO设置。接着再对外设NRF24L01和Timer0初始化。完成对NRF24L01的初始化后,紧接着就是对接收机的搜索。流程图内附有简略算法。与接收机建立握手后就开始对A/D初始化,并开始对音频信号进行采样,将数据保存至A、B两个缓冲区,一旦A缓冲区溢出后新采样的数据就传输至B缓冲区,并将A缓冲区的数据打包发送。紧接着进入接收模式并等待接收端返回ACK。与此同时采集的数据将保存到B缓冲区内。当收到ACK后将进入下一个循环周期。如果10 min内不断发送数据且没有收到ACK则认为和接收端的连接已经中断,这时将进入待机状态。定时器每10 ms触发中断,对当前连接状态通过红绿LED进行显示。正常状态时绿色LED长亮,一旦出现丢包现象则只有红LED长亮,用于告知发射端和接受端的距离过远或信号受到障碍物阻挡、干扰。
3.2 接收端软件流程
接收端的软件实现流程为发射端的逆过程。首先对ATmage8的IO、SPI、定时器、NRF24L01进行初始化,其设置与发射端一致。接着设置NRF24L01为接受状态,MCU将搜索发射端握手信号和空闲频道,如果搜索不到握手信号时将在空闲频道上等待发射主动搜索到该频道。完成信号握手后接收端将会一直等待发射端发送数据包,并把数据包内的数据移至缓冲区,10 min后收不到数据包则进入待机状态。Timer2工作
于比较匹配模式,一旦TNCT2等于OCR2时,MCU会对TNCT2硬件清零,从而产生一个周期为52μs的比较匹配中断,并利用这个中断去从缓冲区读取音频数据至Timer1用于输出PWM占空比。与此同时,timer也将产生一个10 ms的中断用于LED显示连接状态,实现原理与发射端的一致。
4 性能测试
无线智能跳频数码扩音器实现射频频率在2.4~2.5 CHz的数码传输。在无遮挡直线传输的条件下,有效距离达60 m。收、发机可自动应答和重发。频响为100 Hz~10 kHz。信噪比>45 dB。在125个可选工作频道中自动跳频,频道切换时间极短。发射器工作状态电流最大为12 mA,静待状态电流最大为0.06 mA,输出功率5 W,数据速率为2 Mbit·s-1。
5 结束语
无线智能跳频数码扩音器设计方案,是利用ATmega8 MCU和nRF24L01射频收发器件,以及智能跳频询址技术进行开发的,在可选工作频道中自动跳频,频道切换时间极短。在无障碍物的直线传输条件下实现输出功率为5 W、发射和接收有效距离在60 m以内。ATmega8 MCU的应用虽然降低了该扩音器的成本,但ATmega8 MCU的性能限制,使扩音效果存在音频爆音现象。处理的方法有不少,其中可采用窄带高频及中频选频滤波,外加噪声数码抑制电路,有效避免脉冲杂音,多种增强主音源,最大限度抑制了背景噪音,提高了传音质量。
扩音 系统 数码 智能 ATmega8 无线 基于 相关文章:
- 第四代移动通信系统中的多天线技术(08-05)
- 透析信道效应对MIMO系统运作效能的影响(01-18)
- 如何发展中国第二代导航卫星系统(02-02)
- 北斗卫星导航系统的特点(02-02)
- 基于无线传送的智能家居室内通信系统(01-03)
- 基于WiMAX技术的5.8G无线专网射频系统设计(10-06)