單片機(jī)基于DTMF編碼的無線電數(shù)據(jù)通信
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著單片機(jī)應(yīng)用的普及,單片機(jī)間通信問題已引起廣泛的關(guān)注。目前,應(yīng)用較多的是有線通信,而如何利用現(xiàn)有的無線模擬信道進(jìn)行單片機(jī)數(shù)據(jù)傳輸,是眾多同行們更加關(guān)心的課題。本節(jié)介紹一種利用DTMF編碼進(jìn)行單片機(jī)間無線數(shù)據(jù)通信的應(yīng)用系統(tǒng)。它具有簡(jiǎn)便、實(shí)用、價(jià)格低廉等特點(diǎn)。
一、系統(tǒng)工作原理
本系統(tǒng)采用51單片機(jī)控制雙音多頻DTMF發(fā)生器(TCM5087)來實(shí)現(xiàn)信道編碼。DT-MF產(chǎn)生的雙音編碼正弦波送入無線電話進(jìn)行發(fā)射。接收端將無線電話機(jī)收到的DTMF信號(hào)送入DTMF解調(diào)器(MT8870)來實(shí)現(xiàn)信道解碼,從而完成單片機(jī)間的數(shù)據(jù)通信。其結(jié)構(gòu)如圖1- 74所示。
二、DTMF信號(hào)編碼方式
DTMF是一種在電話通信中應(yīng)用較廣泛的信號(hào)編碼方式。
為了更清楚地了解DTMF信號(hào)的編碼原理,下面分別介紹其發(fā)生器、解調(diào)器及單片機(jī)的控制工作過程。
三、TCM5087結(jié)構(gòu)及其工作原理
TCM5087是雙列直插式DTMF信號(hào)發(fā)生器專用電路。
輸入端R1~R4(行)、Cl~C4(列)既可接普通電話鍵盤,也可用于電平輸入。16端為音調(diào)輸出端,輸出的兩個(gè)音頻信號(hào)被線性地疊加在一起。一個(gè)音頻由輸入端Ri~R4從低頻組中選定;另一個(gè)音頻由輸入端Cl~C4從高頻組中選定。低頻組有697Hz(R1)、770 Hz( R2)、852Hz(R3)和941 Hz(R4)四個(gè)頻率,高頻組有1 209 Hz(C1)、1 336 Hz(C2)、1 477 Hz(C3)和1633 Hz(C4)四個(gè)頻率。當(dāng)行(R1)輸入為0電平時(shí),選擇其低頻組中的一個(gè);當(dāng)列(C1)輸入為VDD電平時(shí),選擇其高頻組中的一個(gè)。輸出的音頻單音幅度Vpp為400~500 mV。雙音調(diào)輸出的諧波失真和交調(diào)失真小于10%,頻率誤差為±1.0%,準(zhǔn)確度優(yōu)于0.75%,高頻比低頻加重2 dB。15端用來阻止單音產(chǎn)生,當(dāng)為O電平時(shí),輸出端將不會(huì)產(chǎn)生單音調(diào)輸出。10端是靜噪輸出端,2端為發(fā)射機(jī)開關(guān)控制端,7端為片內(nèi)振蕩器外接晶振的一個(gè)輸入端,8端為片內(nèi)振蕩器外接晶振的另一個(gè)輸入端。應(yīng)用時(shí),在7、8端之間接入3. 579 545 MHz晶體即可。該芯片的最大優(yōu)點(diǎn)是所用外圍元件最少,僅需一個(gè)廉價(jià)的彩電晶體即可工作。
四、MT8870結(jié)構(gòu)及工作原理
MT8870是雙列直插式DTMF解調(diào)專用電路。其內(nèi)部電路方框圖如圖1- 78所示。
由圖1-74及圖1-78可以看出:由運(yùn)放及R1、R2、C1組成一反相放大器,對(duì)輸入的DT-MF信號(hào)進(jìn)行隔離放大。其增益K=-R2 /R1,K值一般為1~5;輸入的DTMF信號(hào)幅度應(yīng)為27. 5~883 mV;VREF (4)為參考電壓輸出端,取值為VDD/2=2.5 V;IC(5端和6端)為內(nèi)部電路的連接線,必須接V ss;其他各端子的功能參照譯碼過程波形圖,不難理解。值得注意的是,輸出的二進(jìn)制編碼信號(hào)Qi~Q4由使能端TOE控制:TOE為高電平時(shí),打開輸出鎖存器,輸出與當(dāng)前輸入的DTMF信號(hào)相對(duì)應(yīng)的二進(jìn)制編碼;當(dāng)TOE為低電平時(shí),Qi~Q4呈高阻狀態(tài),故可直接掛在數(shù)據(jù)總線上。DTMF信號(hào)與二進(jìn)制編碼信號(hào)的對(duì)應(yīng)關(guān)系如表1- 22所列。
表1- 22 DTMF信號(hào)與二進(jìn)制編碼的對(duì)應(yīng)關(guān)系
雙音到達(dá)檢測(cè)時(shí)間tDP為5~15ms;雙音持續(xù)時(shí)間tREC應(yīng)為20~40 ms; tGTP、tGTA由時(shí)間常數(shù)R3 C2決定,表達(dá)式為:
式中:V TST為門限電壓,一般取VDD/2,故tGTP =tGTA=0.69 R3 C2。譯碼過程波形可參照?qǐng)D1-79。
五、單片機(jī)控制工作過程
發(fā)送端:?jiǎn)纹瑱C(jī)將欲發(fā)送的數(shù)據(jù)通過查表變換成對(duì)應(yīng)的DTMF代碼;然后由DB總線送74LS273鎖存;TCM5087接到鎖存器信號(hào)后,發(fā)出雙音頻正弦波信號(hào);同時(shí)發(fā)出發(fā)射機(jī)打開信號(hào),將無線電話機(jī)置為發(fā)射狀態(tài),從而將代碼所對(duì)應(yīng)的雙音調(diào)發(fā)射出去。持續(xù)一段時(shí)間后(約40 ms),單片機(jī)再以同樣方式將另一數(shù)據(jù)發(fā)射出去。
接收端:由無線電話收到的雙音信號(hào)輸入到MT8870解調(diào)器后,在EST端產(chǎn)生一矩形脈沖,經(jīng)R3C2積分后,在S1/GT端產(chǎn)生如圖1- 79所示波形。當(dāng)S1/GT端電乎高于VTST時(shí),產(chǎn)生SiD信號(hào)為1;當(dāng)S1/GT端電平低于VTST時(shí),SiD信號(hào)為0。該信號(hào)輸出端與單片機(jī)8031的外部中斷INTi端相連,當(dāng)該信號(hào)發(fā)生由1到0的跳變時(shí),中斷標(biāo)志IEI置1(中斷方式安排為下降沿觸發(fā)方式)。8031響應(yīng)中斷后,產(chǎn)生一個(gè)RD信號(hào),經(jīng)反相后,使MT8870的TOE端產(chǎn)生一個(gè)高電平脈沖信號(hào),將與當(dāng)前輸入的雙音信號(hào)相對(duì)應(yīng)的二進(jìn)制編碼信號(hào)通過DB總線(低4位)讀入8031。單片機(jī)通過查表,即可得到與發(fā)送端完全一致的數(shù)據(jù)信息,完成了數(shù)據(jù)遠(yuǎn)傳。具體編碼方式可參考表1- 22。
六、軟件設(shè)計(jì)
本系統(tǒng)應(yīng)用程序?yàn)槟K式結(jié)構(gòu),發(fā)送端為主動(dòng)工作方式,接收端為被動(dòng)工作方式。有關(guān)信息編碼可參考表1- 22。
數(shù)據(jù)傳送程序清單如下:
查詢式無線遙測(cè)水位儀中采用了上述電路方案。實(shí)際運(yùn)行表明,該系統(tǒng)穩(wěn)定可靠,抗干擾能力強(qiáng),使用方便、靈活,價(jià)格低廉,誤碼率完全滿足要求,對(duì)軟件稍作充實(shí)修改,即可廣泛應(yīng)用于各種低速無線數(shù)據(jù)傳輸?shù)膱?chǎng)合