摘 要: 為了提高辦公的效率和實(shí)現(xiàn)人民生活的智能化,研制了一種基于ARM-Linux的便攜式語音業(yè)務(wù)群呼系統(tǒng)。系統(tǒng)以S3C2440為處理器、TC35i為GSM模塊、UDA1341為語音芯片,ARM處理器通過AT指令控制GSM模塊將錄制好的語音業(yè)務(wù)進(jìn)行群呼。測試結(jié)果表明,該系統(tǒng)具有錄入話音、設(shè)置呼叫號碼、自動撥號放音和統(tǒng)計未呼叫成功號碼等功能,系統(tǒng)操作簡單、界面友好、成本低廉。
關(guān)鍵詞: 語音業(yè)務(wù);ARM;Linux;GSM模塊
0 引言
科技的發(fā)展和社會的進(jìn)步影響和改變了人們的生產(chǎn)和生活方式。隨著生產(chǎn)的社會化程度日益加劇,出現(xiàn)了一大批規(guī)模巨大的企事業(yè)和生產(chǎn)企業(yè),這就給這樣單位和公司發(fā)布開會通知帶來了困難:一些大公司和單位如果要召開緊急會議,就需要用短信群發(fā)或逐個撥打語音電話通知與會人員,而如果通過發(fā)送短信通知會議人員則會由于短信聲音小且振鈴時間短不易被人們發(fā)覺(而且缺少實(shí)時性);而通過語音撥號則由于需要逐個撥打而顯得極為繁重,特別是如果公司和企事業(yè)單位人數(shù)太多,這一問題就尤為突出[1]。因此,設(shè)計一個能錄入通話內(nèi)容、在線添加和修改被叫人號碼、自動撥號及統(tǒng)計未撥通號碼的語音群呼系統(tǒng)非常必要。
根據(jù)實(shí)際需要,該系統(tǒng)需要滿足如下功能:
?。?)錄入、添加、修改、刪除用戶;
?。?)錄音功能;
?。?)設(shè)定撥號次數(shù);
?。?)按照設(shè)定的次數(shù)和錄入的用戶信息自動撥號并完成錄入語音的播放;
(5)顯示撥號狀態(tài)、統(tǒng)計撥號次數(shù)和返回未撥通的用戶名單。
1 系統(tǒng)組成及工作過程
該群呼系統(tǒng)由主控制器、人機(jī)接口、語音模塊、GSM模塊等構(gòu)成,如圖1所示。
系統(tǒng)通過語音模塊錄制需要播放的語音存入存儲器中,然后在ARM處理器的控制下將觸摸屏手寫筆存入的用戶號碼通過GSM模塊撥通,撥通后將該語音通過GSM的語音接口播放出去,撥號的結(jié)果通過觸摸屏顯示出來。
在該系統(tǒng)中,人機(jī)接口采用TFT-LCD觸摸屏、ARM處理器采用三星的S3C2440處理器、語音芯片采用飛利浦公司的UDA1341、GSM模塊采用西門子公司的TC35i。
2 硬件設(shè)計
本系統(tǒng)的硬件設(shè)計比較復(fù)雜,這里只給出部分核心電路,包括ARM處理器與觸摸屏的連接、語音模塊與ARM處理器及GSM模塊的連接、GSM模塊與ARM處理器的連接。
2.1 ARM處理器與觸摸屏的連接
TFT-LCD的主要特點(diǎn)是為每個像素配置一個半導(dǎo)體開關(guān)器件,由于每個像素都可以通過點(diǎn)脈沖直接控制,因此每個節(jié)點(diǎn)都相對獨(dú)立,并可以進(jìn)行連續(xù)控制[2]。
該LCD接口是一個41Pin 0.5 mm間距的白色座,其中包含了常見LCD所用的大部分控制信號(行場掃描、時鐘和使能等)和完整的RGB數(shù)據(jù)信號(RGB輸出為8:8:8,即最高可支持1 600萬色的LCD);37、38、39、40為四線觸摸屏接口,它們可以直接連接觸摸屏使用。
2.2 語音模塊與ARM處理器及GSM模塊的連接
圖2所示為語音模塊與ARM處理器及GSM模塊的連接的硬件框圖。
ARM處理器S3C2410的IIS總線信號與語音芯片UDAl34l的IIS信號直接相連[3]。L3接口的引腳L3MODE、L3CLOCK和L3DATA分別連到S3C2440的GPBl、GPB2和GPB3通用數(shù)據(jù)輸出引腳。UDAl34l對外提供兩組音頻信號輸入接口,每組包括左右2個聲道。由于IIS總線只處理音頻數(shù)據(jù),而其他的信號(如編碼、控制等信號)單獨(dú)傳送[4]。為了使必需的引腳數(shù)最小并且保持連線簡單,IIS總線由3條信號線組成:時分復(fù)用的數(shù)據(jù)通道線、字段選擇線和時鐘信號線。本系統(tǒng)由系統(tǒng)主控制器提供時鐘信號,控制數(shù)字音頻數(shù)據(jù)在各個IC之間的流向。此時,發(fā)送器在外部時鐘信號的控制下產(chǎn)生數(shù)據(jù),處于從模式。具體連接如圖3所示。
2.3 GSM模塊與ARM處理器的連接
ARM處理器S3C2440與GSM模塊TC35i是通過USB轉(zhuǎn)串口進(jìn)行通信的。用USB Host接口與GSM模塊連接[5]。USB Host與普通PC的USB接口是一樣的,接口電路如圖4所示。
3 軟件設(shè)計
軟件設(shè)計包括Linux內(nèi)核移植、QT-4.6移植、語音業(yè)務(wù)GSM拔號軟件設(shè)計和語音錄放軟件設(shè)計,本文只對該系統(tǒng)的GSM語音拔號軟件設(shè)計和語音錄放軟件設(shè)計這兩個核心部分進(jìn)行介紹,至于Linux內(nèi)核移植、QT-4.6移植這些部分與其他的嵌入式開發(fā)系統(tǒng)并無太大差別[6-7],這里不再贅述。
3.1 語音業(yè)務(wù)GSM拔號程序設(shè)計
ARM處理器通過串口發(fā)送AT指令來控制GSM模塊TC35i的工作。AT指令及該GSM模塊的使用及相關(guān)信息可以參考相關(guān)文獻(xiàn)資料。
首先需要進(jìn)行串口的設(shè)置,串口通信的設(shè)置要符合TC35i通信的要求;然后就是對TC35i初始化,初始化的過程主要包括與TC35i建立連接、音頻模式的設(shè)置、取消回顯等;最后就是進(jìn)行循環(huán)呼叫,在呼叫的同時,不斷讀取并且更新拔號的狀態(tài),同時也統(tǒng)計呼叫的次數(shù),每當(dāng)呼叫一個號碼之后,進(jìn)行一下號碼呼叫,直到所有的號碼呼叫完為止。撥號放音應(yīng)用主程序及子程序如圖5、圖6所示。
3.2 語音錄放程序設(shè)計
?。?)錄音部分
本系統(tǒng)支持兩種錄音格式,一種是原始數(shù)據(jù)pcm格式,沒有經(jīng)過任何壓縮的WAV音頻文件;另一種是經(jīng)過lame壓縮的mp3格式。從聲卡讀取pcm數(shù)據(jù),加上文件頭信息直接寫入WAV文件,如果要錄制成mp3格式,需要使用lame庫對pcm數(shù)據(jù)進(jìn)行壓縮,然后寫入mp3文件。其設(shè)計流程圖如圖7所示。
?。?)放音部分
放音與錄音相反,放音時,如果為WAV文件格式,解析頭獲取采樣率、量化位數(shù)、聲道數(shù),對聲卡進(jìn)行初始化,然后跳過文件頭,直接讀取pcm數(shù)據(jù)寫入聲卡,就能播放WAV文件。對于MP3文件格式,需要使用libmad解碼成pcm數(shù)據(jù)即可。其設(shè)計流程圖如圖8所示。
4 測試結(jié)果
至此系統(tǒng)設(shè)計完成,圖9、圖10所示為對系統(tǒng)的撥號部分和語音的錄放部分分別進(jìn)行的測試。
5 結(jié)論
本文介紹了一種基于ARM+Linux的便攜式語音業(yè)務(wù)群呼系統(tǒng)硬件與軟件設(shè)計,通過自行設(shè)計樣機(jī)的測試表明該系統(tǒng)具有能錄入話音、設(shè)置呼叫號碼、自動撥號放音和統(tǒng)計未呼叫成功號碼等功能,系統(tǒng)操作簡單、界面友好、成本低廉。隨著生產(chǎn)社會化的日益加劇和人民對生活智能化的要求日益提高,以該系統(tǒng)所代表的技術(shù)和理念的語音業(yè)務(wù)群呼智能系統(tǒng)必將廣泛應(yīng)用于各領(lǐng)域之中。
參考文獻(xiàn)
[1] 劉誠.智能家居控制子系統(tǒng)的設(shè)計實(shí)現(xiàn)[D].北京:北京大學(xué),2008.
[2] 潘玉龍.嵌入式家庭智能終端的集成與實(shí)現(xiàn)[D].北京:北京大學(xué),2004.
[3] Samsung. S3C2410 datasheet[DB/OL]. (2010-05-30)[2013-02-15]. http://download.csdn.net/download/omycle/2408896.
[4] Philips.UDA1341 datasheet[DB/OL].(1998-12-18)[2013-02-15]. http://datasheet.eepw.com.cn/datasheet/search
[5] Siemens. TC35i user guide[DB/OL].(2009-09-10)[2013-02-15]. http://www.siemens.com.
[6] 田澤.ARM9嵌入式Linux開發(fā)試驗(yàn)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2006.
[7] 熊茂華.ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)應(yīng)用[R].北京:清華大學(xué)嵌入式設(shè)計研究院,2008:136-180.