基于C8051F020和DTMF單元的電臺身份識別及語音自動
介紹一種基于C8051F單片機(jī),以DTMF編碼的方式識別電臺身份的系統(tǒng)。該系統(tǒng)使用簡單,在不改變電臺原有特性的基礎(chǔ)上,只需和電臺的擴(kuò)展口連接,便可實(shí)現(xiàn)對電臺身份的識別。即使對方破解了語音信號,還可通過地址編碼來分辨電臺的身份。該系統(tǒng)在保密性要求高的場所有一定應(yīng)用前景。
2 系統(tǒng)組成與工作原理
圖1為識別電臺身份系統(tǒng)結(jié)構(gòu)圖。單片機(jī)選用C8051F020,DTMF單元選用MT8880雙音多頻器,語音存儲播放模塊采用ISD4004,另外還有顯示單元、存儲單元、鍵盤。
電臺一般都預(yù)留擴(kuò)展接口:音頻輸入、音頻輸出、PTT發(fā)射控制、電源、地。該系統(tǒng)通過這些接口與電臺相連,如圖2所示。
系統(tǒng)工作原理:作為發(fā)射機(jī)時(shí),電臺按下FTT鍵,PTT從高電平變?yōu)榈碗娖?,并將該信號送入單片機(jī),單片機(jī)的中斷程序?qū)⒈緳C(jī)的地址碼通過數(shù)據(jù)接口送至MT8880,經(jīng)MT8880調(diào)制后送入電臺的音頻輸入接口,伴隨語音信號一同發(fā)送。作為接收機(jī)時(shí)需分多種情況,如圖3所示。
接收到語音信號后,判斷是否有DTMF信號輸入。如果有,MT8880解碼,解碼后的數(shù)據(jù)傳送給C8051F020,C805117020再判斷此地址是否為預(yù)先規(guī)定的電臺地址碼。若是,此地址碼在LCD上顯示,否則顯示ERROR;若沒有DTMF信號而只有語音信號,則說明此信號非本網(wǎng)內(nèi)信號,操作者通過放音鍵回復(fù)事預(yù)先錄制好的一些語音信號迷惑對方。
3 系統(tǒng)硬件設(shè)計(jì)
整個(gè)系統(tǒng)根據(jù)功能可分為DTMF編/解碼和語音存儲播放兩部分。并由主控單元控制。由于該系統(tǒng)由電臺的蓄電池供電,所以選用低功耗器件。這里主控單元采用C8051F020。它是完全集成的混合信號系統(tǒng)級芯片(SoC),具有與8051兼容的高速CIP-51內(nèi)核,與MCS-51指令集完全兼容。C8051F020的時(shí)鐘頻率可達(dá)25 MHz,含有64 KB片內(nèi)Flash程序存儲器,4 352 B的RAM、8個(gè)I/O端口、64根I/O線。
3.1 DTMF編/解碼
DTMF編/解碼器選用MT8880。MT8880C是一個(gè)帶有呼叫處理濾波器的單片DTMF信號收發(fā)器。該器件采用低功耗、高穩(wěn)定性的 ISO-CMOS技術(shù),內(nèi)置1個(gè)帶有可變增益的內(nèi)部放大器的高性能接收器,1個(gè)帶有脈沖計(jì)數(shù)器的發(fā)射器,以及1個(gè)可訪問MT8880內(nèi)部寄存器的標(biāo)準(zhǔn)微處理器接口。其內(nèi)部寄存器包括1個(gè)狀態(tài)寄存器、2個(gè)數(shù)據(jù)寄存器和2個(gè)控制寄存器,其電路如圖4所示。
該系統(tǒng)采用單端輸入方式,IN-為運(yùn)放輸入端,R1與R2調(diào)節(jié)輸入信號增益。TDNE為音頻輸出,用于發(fā)送DTMF信號。OSCl為時(shí)鐘/振蕩器輸入端,OSC2為時(shí)鐘輸出端,MT8880采用3.579 5 MHz的工作時(shí)鐘。IRQ/CA為中斷請求信號,漏極開路輸出,當(dāng)有DTMF信號輸入時(shí),IRQ/CA向C8051F020發(fā)出中斷申請。D0~D3為微機(jī)數(shù)據(jù)總線,與TTL兼容,輸出測得的DTMF信號和輸入要發(fā)出的DTMF信號,與C8051F020 的I/O接口相連。12引腳CP2端為系統(tǒng)時(shí)鐘輸入,與讀寫控制端R/W配合完成MT8880的讀寫操作,RS0引腳為寄存器選擇,TTL電平兼容。地址碼可由0~9以及A~D組成。由于該系統(tǒng)應(yīng)用領(lǐng)域的特殊性,地址碼都經(jīng)加密算法。當(dāng)終端作為發(fā)射機(jī)時(shí),DTMF編/解碼部分把終端的地址碼經(jīng)一定算法加密后,調(diào)制成DTMF信號,再送入電臺,便于網(wǎng)內(nèi)其他電臺識別。當(dāng)終端作為接收機(jī)時(shí),DTMF編/解碼部分把所接收的DTMF信號解調(diào)成數(shù)字碼,再經(jīng)解密算法得到地址碼??紤]到該系統(tǒng)阻抗與電臺音頻I/O接口阻抗可能不匹配,應(yīng)在兩者間加入一個(gè)音頻變壓器。
由于MT8880提供的標(biāo)準(zhǔn)微機(jī)接口和6800系列兼容,如果改用其他單片機(jī)控制。必須通過硬件或軟件的方式模擬其工作時(shí)序。筆者在使用 MT8880過程中發(fā)現(xiàn),關(guān)鍵是為MT8880提供接口時(shí)鐘信號CP2。其時(shí)鐘周期tCYC的典型值為250 ns,實(shí)際上tCYC在0.167~1 0 s(6 MHz~100 kHz)之間取值,MT8880也仍能正常工作,故tCYC取值范圍較寬,如圖5所示。因此,CP2的產(chǎn)生比較靈活。
該系統(tǒng)中,通過C8051F020的引腳P1.0與MT8880的引腳CP相連,模擬MT8880所需的工作時(shí)序。
3.2 語音存儲播放
語音存儲播放模塊選用ISD公司的ISD4004。該語音器件采用多電平直接模擬存儲(Chip Corder)專利技術(shù),聲音無需經(jīng)A/D轉(zhuǎn)換和壓縮,每個(gè)采樣值直接存儲在片內(nèi)的閃爍存儲器中,從而避免一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲。圖6為語音播放原理電路。語音輸人通過話筒(MIC)直接與ISD4004的引腳IN+、IN-連接差分驅(qū)動輸入。語音輸出端則是通過LM386放大后連接到電臺的語音輸出端。系統(tǒng)采用鍵控分段錄放音模式。通過錄音鍵可錄制10段不同的語音,每段錄音對應(yīng)鍵盤上一個(gè)按鍵,根據(jù)所接收到的語音信號,通過10個(gè)按鍵可播放不同的語音,使用方便、靈活。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)程序基于匯編語言編寫,所有DTMF的收/發(fā)工作均由中斷服務(wù)程序完成。主程序只負(fù)責(zé)初始化程序和鍵盤掃描。圖7為主程序流程。圖8為接收中斷處理程序流程。圖9為發(fā)送中斷處理程序流程。
5 結(jié)束語
在某*項(xiàng)目研制中,成功利用上述系統(tǒng)實(shí)現(xiàn)了電臺身份識別及語音自動播放功能,實(shí)際使用情況證明,該系統(tǒng)接口簡單、可靠,取得令人滿意的效果。
評論