楊 進
(1.南京鐵道職業(yè)技術(shù)學院 通號學院,南京210035;2.江蘇省軌道交通控制工程中心)
?
USB接口單片機的VoIP終端設(shè)計
楊 進1,2
(1.南京鐵道職業(yè)技術(shù)學院 通號學院,南京210035;2.江蘇省軌道交通控制工程中心)
介紹了一種以單片機SONIX2202、D類功放AX2012和語音芯片NY3P010AS8為核心設(shè)計的網(wǎng)絡(luò)電話機,該裝置通過USB接口連接到計算機上,可撥打國際國內(nèi)長途電話及手機,系統(tǒng)還帶有語音撥號等功能。本文對該裝置的工作原理、硬件配置、軟件設(shè)計及功能進行了詳細論述,經(jīng)樣機實驗證明,其各項功能均可很好地實現(xiàn)。
SONIX2202;AX2012;網(wǎng)絡(luò)電話
自1999年網(wǎng)絡(luò)電話試驗網(wǎng)開通以來,隨著軟交換技術(shù)的發(fā)展,網(wǎng)絡(luò)電話的通話質(zhì)量有了明顯改善[1]。由于網(wǎng)絡(luò)電話采用數(shù)據(jù)壓縮與分組交換方式傳遞語音信息,占用帶寬僅有傳統(tǒng)電話的1/5,因此有非常明顯的價格優(yōu)勢,越來越多的用戶在使用IP電話[2-4]。參考文獻3對Voce Over Internen Protocol 電話終端進行了研究與探討,參考文獻[4]~[7]對SIP協(xié)議的VoIP系統(tǒng)進行詳細論述。但普遍存在的問題是這些系統(tǒng)硬件設(shè)計都比較復雜。本文所設(shè)計的VoIP終端電路結(jié)構(gòu)簡單、價格低廉、性能穩(wěn)定可靠。下面主要從硬件和軟件方面闡述該終端的設(shè)計及實現(xiàn)過程。
1.1 硬件系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)由USB矩陣鍵盤、單片機、語音電路、D類功放音頻接口電路4個部分組成。單片機完成矩陣鍵盤按鍵識別,并負責通過單片機自帶的USB接口發(fā)送數(shù)字代碼給PC機上的USB主機;語音電路完成按鍵語音播報功能;音頻接口電路主要是用D類功放電路對音頻線語音信號進行放大,完成掛機時語音外放功能,并對摘機和掛機兩種狀態(tài)的語音進行分流。系統(tǒng)框圖如圖1所示。

圖1 無線通信單元系統(tǒng)框圖
整個系統(tǒng)由USB接口提供5 V電源。
1.2 USB矩陣鍵盤電路設(shè)計
矩陣鍵盤采用非編碼式行列鍵盤,電路原理圖如圖2所示。電路結(jié)構(gòu)簡單,在按鍵去抖動方面,未采用專用鍵盤芯片或門電路作硬件處理,也沒有采用延時查詢方式去抖動,而是采用實時操作系統(tǒng)的任務調(diào)度設(shè)計方法,用定時掃描和計數(shù)去抖的鍵盤處理方法。按鍵有數(shù)字0~9、回車鍵、開始撥號鍵、刪除鍵。
經(jīng)過軟件處理好的按鍵代碼通過USB接口發(fā)送給計算機USB主機。SONIX2202是一款帶USB1.1內(nèi)核的高性能廉價、低功耗單片機。USB高速方式的傳輸速率為12 Mbps,低速方式的傳輸速率為1.5 Mbps,完全可以滿足發(fā)送鍵盤碼的要求。

圖2 矩陣鍵盤電路原理圖

圖4 D類功放音頻接口電路原理圖
1.3 語音電路設(shè)計
系統(tǒng)核心芯片選用臺灣Nyquest公司單晶片CMOS語音合成芯片NY3P010AS8,可通過專用工具將數(shù)字0~9、回車鍵、開始撥號鍵、刪除鍵以及其他需要錄制的中文語音依次燒寫到該OPT芯片中,然后通過單片機編程,讀取各個地址的聲音文件。外圍電路僅需一個電容和一個喇叭即可工作。電路原理圖如圖3所示。

圖3 語音單元電路原理圖
BUSY引腳在芯片工作時(播放聲音),輸出低電平,停止工作或者待機時保持高電平;DATA引腳是接收控制脈沖的腳位,收到幾個脈沖,就播第幾個地址的語音內(nèi)容;RESET引腳在任何時候,只要收到一個脈沖,就可以使芯片的播放指針歸零,同時停止芯片工作,進入待機狀態(tài)。
1.4 D類功放音頻接口電路設(shè)計
為了實現(xiàn)掛機時語音的外放功能,本設(shè)計采用D類功放芯片AX2012作為音頻的放大芯片,并用一個叉簧開關(guān)轉(zhuǎn)換摘機和各個掛機的語音分流。電路原理圖如圖4所示。AX2012是一款國產(chǎn)低功耗立體聲無濾波器類D類音頻放大器,有QFN20和SOP16兩種封裝形式。該芯片的工作僅需很少的外部元件,可以選擇的增益為6、12、18、24dB,可利用G0和G1進行增益選擇,同時該芯片具有較高的抑制噪聲的性能。
2.1 新型非編碼式矩陣鍵盤軟件設(shè)計
傳統(tǒng)的非編碼式鍵盤軟件系統(tǒng)設(shè)計中,由于軟件延遲去抖法存在兩大缺點:程序浪費大量時間而不能執(zhí)行其他任務,系統(tǒng)的實時性不好;在噪聲影響下,很可能剛好兩次檢測都為抖動信號,造成鍵碼誤判。因此本設(shè)計采用新的算法[8],整個軟件系統(tǒng)主要分為按鍵掃描子程序、去抖動子程序和計算鍵碼值三個部分。
按鍵掃描子程序負責將外部按鍵信息讀入到內(nèi)部緩沖器中。下面以0~9數(shù)字鍵為例,在RAM中創(chuàng)建一個按鍵信息緩沖區(qū),將每個鍵的狀態(tài)讀入緩沖器中,如表1所列。

表1 鍵碼緩沖區(qū)
去抖動子程序設(shè)計為逐行掃描,且每調(diào)用一次子程序只掃描一行,其流程圖如圖5所示。

圖5 按鍵掃描子程序流程圖
新的消抖程序設(shè)計思想是:當?shù)谝淮螜z測到有按鍵按下時,程序首先設(shè)有鍵按下的標志位,并打開計時器開始計時,然后轉(zhuǎn)去執(zhí)行其他任務。之后,每運行到鍵盤操作,程序都會檢測對應鍵的狀態(tài),當計時時間到時,鍵盤消抖處理程序已經(jīng)執(zhí)行了n次,進行了n次按鍵狀態(tài)的檢測。只有當n次檢測鍵的狀態(tài)都沒有發(fā)生變化時,消抖處理結(jié)束,確認本次是一次有效的按鍵,只要有一次檢測到對應的鍵的狀態(tài)發(fā)生變化,就認為此鍵操作無效。
計算鍵碼值程序部分是將鍵盤上對應位置按鍵代碼轉(zhuǎn)換為人為定義的數(shù)據(jù)或者符號。
2.2 語音軟件設(shè)計
語音程序部分是通過語音的方式播報出所按下的按鍵數(shù)字或者符號。
該語音芯片的控制方式是采用模擬串行控制方式,如需要播放第幾個地址的內(nèi)容就發(fā)送幾個脈沖。脈沖時間大于0.2 ms即可,一般可采用1 ms左右。部分源代碼如下:
Void yuyin(x){
//播放地址x段的語音
RST=1; //發(fā)送給RST一個2 ms脈沖
Delay_ms(2);
RST=0;
Delay_ms(2);
While(x>0){
DATA=1; //發(fā)送一個1ms選擇脈沖
Delay_ms(1);
DATA=0;
Delay_ms(1);
x--; //沒有發(fā)送完,則繼續(xù)發(fā)脈沖
}
}

[1] 王剛.基于中國互聯(lián)網(wǎng)的P2P-VoIP系統(tǒng)網(wǎng)絡(luò)域若干關(guān)鍵技術(shù)研究[D].北京郵電大學,2012:3-10.
[2] 魏德哲,李清寶等.基于VoIP處理器與USB接口的IP電話設(shè)計[J].微計算機信息,2005,21(9):83-84.
[3] 李迎新,林滸等. USB VoIP終端的設(shè)計與實現(xiàn)[J]. 小型微型計算機系統(tǒng),2006,27(3):542-546.
[4] 張振華.基于SIP協(xié)議的VoIP網(wǎng)絡(luò)電話終端的研究與實現(xiàn),北京交通大學,2009,6:1-8.
[5] 胡亨卓.基于SIP的IP電話系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學.2009.11:30-45.
[6] 徐韜.基于Android終端的小型VoIP系統(tǒng)設(shè)計與實現(xiàn)[D]. 單片機與嵌入式系統(tǒng)應用,2011.12:54-55.
[7] 徐志洋.基于SIP協(xié)議的嵌入式VoIP系統(tǒng)的設(shè)計與實現(xiàn)[D].合肥工業(yè)大學,2012,20:14-22.
[8] 徐彩霞.新型非編碼式鍵盤掃描方法研究[J].蘇州:蘇州市職業(yè)大學學報,2010.21(1):26-28.
楊進(碩士),從事鐵道信號、遠程信息控制方向的教學與研究工作。
(責任編輯:楊迪娜 收修改稿日期:2013-07-25)

參考文獻
[1] 張起貴,張勝,張剛,等.最新DSP技術(shù)——“達芬奇”系統(tǒng)、框架和組件[M].北京:國防工業(yè)出版社,2009.
[2] Texas Instruments Incorporated.TMS320DM6446 Digital Media System-on-Chip, SPRS283E,2007.
[3] 鄭靈翔.嵌入式系統(tǒng)設(shè)計與應用開發(fā)[M].北京:北京航空航天大學出版社,2006.
[4] 潘巨龍,黃寧.ARM9嵌入式Linux系統(tǒng)構(gòu)建與應用[M].北京:北京航空航天大學出版社,2006.
[5] 吳才章.基于ARM的圖像采集與顯示系統(tǒng)設(shè)計[J].自動化技術(shù)與應用,2010,29(3):118-122.
[6] 郭劍,趙建.嵌入式Linux的圖像采集與顯示[J].現(xiàn)代電子技術(shù),2006(7):129-131.
[7] 趙勇,袁譽樂,丁銳.DAVINCI技術(shù)原理與應用指南[M].南京:東南大學出版社,2008.
祝夏雨(碩士研究生),主要研究方向為嵌入式系統(tǒng)開發(fā)、攝像機標定。
(責任編輯:高珍 收修改稿日期:2013-08-12)
VoIP Terminal Based on USB Interface Microcontroller
Yang Jin1,2
(1.Department of Signal & Communication, Nanjing Institute of Railway Technology, Nanjing 210035, China; 2. Railway Control Engineering Center of Jiangsu Province)
The VoIP phone based on microcontroller SONIX2202, class-D audio power amplifier AX2012 and voice chip NY3P065 is introduced. The VoIP phone can be connected with computer by USB connector,it can used to call overseas, interstate and mobile,and it also has the function of voice dialing. The working principle, hardware configuration, software design and functions are introduced in details. The circuit of this system works successfully through the test.
SONIX2202; AX2012; VoIP
TP368.1
A