程銳 張文軒 鐘詩航 馮廷亮 曾志強 雷丁揚
(北方工業(yè)大學(xué)電子信息工程學(xué)院,北京 100144)
數(shù)字式語音無線通信系統(tǒng)
程銳 張文軒 鐘詩航 馮廷亮 曾志強 雷丁揚
(北方工業(yè)大學(xué)電子信息工程學(xué)院,北京 100144)
本文使用nRF24L01無線收發(fā)模塊,設(shè)計了一套基于STC12LE5A60S2單片機的數(shù)字式語音無線通信系統(tǒng)。該系統(tǒng)分為發(fā)射系統(tǒng)和接收系統(tǒng)。系統(tǒng)電路共包括4部分:麥克放大電路部分、音頻放大電路部分、MCU控制部分和nRF24L01無線通信部分。本文介紹了基于STC12LE5A60S2的數(shù)字式語音無線通信系統(tǒng)的設(shè)計方案,詳細介紹了方案中所涉及的模數(shù)轉(zhuǎn)換方法和PWM數(shù)模轉(zhuǎn)換方法。最終,該系統(tǒng)成功地實現(xiàn)了語音信號在數(shù)字通信系統(tǒng)中進行半雙工通信。
無線通信 數(shù)字通信 半雙工 語音信號
1.1 子系統(tǒng)方案設(shè)計
無線語音發(fā)射系統(tǒng)的原理圖如圖1所示。語音信號經(jīng)拾音器采集經(jīng)放大、濾波送入AD,AD采集信號使用STC12LE5A60S2內(nèi)部集成AD模塊,MCU對AD和無線發(fā)射模塊進行配置,最后,無線發(fā)射模塊將語音信號發(fā)射到無線信道。
1.2 硬件部分設(shè)計
拾音器使用壓控麥克,信號經(jīng)麥克采集后再經(jīng)9014三極管放大電路放大。為了獲得較為清晰的語音,保證高頻諧波或者低頻雜波能夠被濾除掉。帶通濾波器通頻帶設(shè)定為人類語音信號帶寬300Hz—3.4kHz。帶通信號經(jīng)9014放大電路放大后傳給單片機內(nèi)部AD模塊。
MIC放大電路見圖2所示,MCU控制部分如圖3所示,nRF24L01模塊電路如圖4所示。
1.3 軟件部分設(shè)計
MCU對內(nèi)部AD進行配置,并控制nRF24L01模塊進行數(shù)據(jù)發(fā)送。
部分程序參看如下:
#include <stc12c5a60s2.h>
#include <intrins.h>
#include "ad.h"
#include "nrf24l01p.h"
#include "pwm.h"
main()
{
init_nrf24l01_io();//初始化nRF14L01
transmit_mode_init();//配置發(fā)送模式
Init_ADC();//初始化ADC
while(1)
{
if(send_flag==1)
{
send_data(txData);//發(fā)送ADC采集到的數(shù)據(jù)send_flag=0;//清除標(biāo)志位
}
}
}
MCU首先對nRF24L01進行初始化設(shè)置,寫發(fā)送端與接收端地址,設(shè)置通信通道,設(shè)置自動重發(fā)時間和次數(shù),設(shè)置數(shù)據(jù)長度等,配置nRF24L01為發(fā)送模式;初始化MCU片內(nèi)ADC,設(shè)置采樣頻率為8KHz。全部初始化完成之后,進入循環(huán)發(fā)送模式,等待ADC采集數(shù)據(jù),采集完成之后將數(shù)據(jù)傳給nRF24L01發(fā)送出去。
2.1 子系統(tǒng)設(shè)計方案
無線語音接收子系統(tǒng)框圖如圖5所示。無線接收模塊接收到信號后,將信號送入單片機,單片機將數(shù)字語音信號輸出PWM波,PWM波經(jīng)過低通濾波器濾波后轉(zhuǎn)換成模擬語音信號,模擬語音信號經(jīng)過LM386音頻放大模塊放大后輸入到揚聲器,揚聲器將電信號轉(zhuǎn)換成聲音信號。
②非線性層:我們在輸入層與LSTM隱藏層中間加入了非線性激活層,目的是引入更多的非線性特征,從而更好的反映數(shù)據(jù)的變化規(guī)律。該層的輸出可表示為:
2.2 硬件部分設(shè)計
單片機輸出為PWM波,PWM波濾波輸出實現(xiàn)D/A轉(zhuǎn)換,音頻放大器用LM386芯片,最后輸出給揚聲器,將電信號轉(zhuǎn)換為聲音信號。電路圖如圖6所示。
2.3 軟件部分設(shè)計
MCU將數(shù)字信號以PWM波的形式發(fā)出給后續(xù)電路處理。部分程序參看如下:
#include <stc12c5a60s2.h>
#include <intrins.h>
#include "ad.h"
#include "nrf24l01p.h"
main()
{
init_nrf24l01_io();//初始化nRF14L01
receive_mode_init();//配置接收模式
PWM_Init();//初始化PWM波發(fā)生器
while(1)
{
if(recieve_flag==1)
{
recieve_data(rxData);//接收數(shù)據(jù)給PWM波發(fā)生器
recieve_flag=0;//清除標(biāo)志位
}
}
}
//pwm.h中PWM_Init()部分
void PWM_Init(void)
{
P1M1 &=0xF7;
P1M0 |=0x08;
CMOD=0x02;
AUXR |=0x80;
TMOD &=0xF0;
TMOD |=0x02;
TL0=0xf5;
TH0=0xf5;
TR0=1;
CL=0x00;
CH=0x00;
PCA_PWM0=0x00;
PCA_PWM1=0x00;
CCAP0L=0xFE;
CCAP0H=0xFE;
CCAPM0=0x42;
CR=1;
}
程序首先對nRF24L01進行初始化,初始化的各項參數(shù)同發(fā)送部分,配置接收端的nRF24L01為接收模式,使兩個nRF24L01可以配對使用。之后對MCU片內(nèi)的PWM產(chǎn)生模塊進行初始化,使其可以根據(jù)輸入的數(shù)據(jù)輸出頻率和占空比可變的PWM波。最后進入循環(huán)等待接收模式,當(dāng)檢測到數(shù)據(jù)到來時,接收數(shù)據(jù)并將數(shù)據(jù)傳送給PWM波產(chǎn)生模塊,輸出PWM波。
本文使用nRF24L01無線收發(fā)模塊完成了半雙工模式的數(shù)字式語音無線通信系統(tǒng),并成功實現(xiàn)了數(shù)字對講功能,通話清晰,傳達語音信息可成功辨別且低噪聲,通信距離空曠條件下可達到100m。該設(shè)計最終可用外部電池供電方便攜帶,可手持通信。
[1]周 炯槃 ,龐沁華,續(xù)大我,吳偉陵,楊鴻文.通信原理[M].北京郵電大學(xué)出版社,2008,8.
[2]李亞彬.基于無線控制與無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)[D].南京∶南京理工大學(xué),2007,6.
[3]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].高等教育出版社,2009,7.
[4]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].高等教育出版社,2009,12.
[5]徐巖.語音信號增強技術(shù)及其應(yīng)用[M].科學(xué)出版社,2013,2.
[6]黃志偉.印制電路板(PCB)設(shè)計技術(shù)與實踐[M].電子工業(yè)出版社,2012.1.
2016年北京市大學(xué)生科學(xué)研究與創(chuàng)業(yè)行動計劃課題。
指導(dǎo)教師:王振紅,北方工業(yè)大學(xué),高級實驗師,指導(dǎo)學(xué)生獲北京市大學(xué)生電子設(shè)計競賽獎50項,指導(dǎo)學(xué)生獲全國大學(xué)生電子設(shè)計競賽市級獎25項,指導(dǎo)學(xué)生獲“藍橋杯”電子設(shè)計競賽獎80項,指導(dǎo)學(xué)生獲“挑戰(zhàn)杯”市級獎11項,指導(dǎo)學(xué)生獲全國“挑戰(zhàn)杯”獎2項,指導(dǎo)學(xué)生獲全國“藍橋杯”獎9項。榮獲北京市大學(xué)生電子設(shè)計競賽優(yōu)秀輔導(dǎo)教師獎。獲全國電子專業(yè)人才設(shè)計與技能大賽決賽電子設(shè)計與制作優(yōu)秀指導(dǎo)教師獎。在實驗教學(xué)改革中出版實踐教材12部,其中北京市精品教材一部。