具有語音合成功能的嵌入式車載通訊終端的設(shè)計
1 引言
本文引用地址:http://m.butianyuan.cn/article/196596.htm據(jù)廣州市公布的《2005年廣州市交通發(fā)展年度報告》統(tǒng)計,2005年廣州市機動車擁有量為177.4萬輛;據(jù)《法制晚報》報道2006年5月份北京機動車保有量可突破300萬輛。奧運時將突破330萬輛;而據(jù)2006年GSM協(xié)會公布的一組數(shù)據(jù)稱:GSM手機用戶數(shù)量超過20億,中國市場最大。以上三組不同的數(shù)據(jù)顯示:越來越多的人在駕駛著機動車并通過GSM終端與外界進行通訊。
現(xiàn)階段,許多機動車輛都安裝了車載終端。它主要用于車載導航、車輛調(diào)度、車載監(jiān)控等。而許多終端設(shè)備是依靠手工操作顯示終端來完成的,如駕駛員查看車輛調(diào)度中心或朋友發(fā)來的重要短消息。查看導航終端的地圖等。這樣就導致司機開車時不能專心,其直接后果可能導致嚴重的交通事故。
語音交流是人類最自然的交流方式,如果車載終端的很多操作可由實時的語音來代替的話,將有利于減少交通事故的發(fā)生率。例如,GSM Modem收到短消息,司機不用手動查看。語音合成系統(tǒng)可以自動播報出來;可以實時地提示司機行駛的方向與路名;可以實時地將交通狀況播報出來。讓駕駛員了解當前交通狀況,通過了解道路交通擁堵的實時信息,從而避開擁堵路段,更快到達目的地等。語音合功能成的車載終端可提高車載終端的智能性、車輛駕駛的安全性和舒適性,使用戶使用起來更加方便,更具有人性化。
2 語音合成及GSM M0dem
2.1 語音合成技術(shù)
語音合成技術(shù)是利用計算機、智能系統(tǒng)等設(shè)備,按預(yù)定的程序和指令,人為產(chǎn)生音素、音節(jié)、詞和句子的技術(shù)。
目前,語音合成技術(shù)已發(fā)展到能實時地將任意文本轉(zhuǎn)換成連續(xù)可懂的自然語句輸出,相應(yīng)技術(shù)通常稱為文語合成或文語轉(zhuǎn)換(Text To Speech,簡稱TTS),涉及到聲學、語言學、語音數(shù)字信號處理技術(shù)、多媒體技術(shù)等多個學科。文語合成的原理:根據(jù)韻律建模的結(jié)果,從原始語音庫中取出相應(yīng)的語音基元,利用特定的語音合成技術(shù)對語音基元進行韻律特性的調(diào)整和修改,最終合成出符合實際的語音。
2.2 語音合成模塊
本設(shè)計采用安徽中科大訊飛信息科技有限公司研發(fā)的一款高端中文語音合成模塊XF-S4240。該模塊可通過UART、SPI和12C三種接口接收待合成的文本,直接合成為語音輸出(Line out)。
該模塊采用。InterSound4.0 KT系統(tǒng)作為模塊內(nèi)核,一個是輕量級中文連續(xù)語音合成系統(tǒng)。
XF-S4240模塊的特點如下:支持任意中文文本的合成。支持英文字母的合成,遇到英文單詞時按字母方式發(fā)音;支持四種內(nèi)碼格式:GB2312(簡體中文編碼)、GBK(國家標準擴展編碼)、Unicode(字符編碼)、Big5(繁體中文編碼);具有雙發(fā)音人:男聲、女聲;具有智能的文本分析處理算法,可正確識別和處理數(shù)值、號碼、時間日期及一些常用的度量衡符號,具備較強多音字處理和中文姓氏處理能力;支持軟件調(diào)節(jié)語速、語調(diào)、音量等。 2.3 GSM Modem
GSM Modem是繼GSM手機后又一種非常重要的GSM移動通信系統(tǒng)的終端設(shè)備。GSM Modem作為一種主要的GSM網(wǎng)絡(luò)接入設(shè)備,它是傳統(tǒng)調(diào)制解調(diào)器與GSM無線移動通信系統(tǒng)相結(jié)合的一種數(shù)據(jù)終端設(shè)備,因此也叫無線調(diào)制解調(diào)器。它的出現(xiàn)打開了GSM網(wǎng)絡(luò)數(shù)據(jù)通信及其應(yīng)用的大門。本設(shè)計采用西門子公司生產(chǎn)的第三代GSM雙頻ModemTC35i,該模塊可廣泛應(yīng)用于POS終端、手持式設(shè)備、移動電腦、無線電話、交通控制和導航系統(tǒng)、快速管理安全系統(tǒng)、遠程監(jiān)視、遠程抄表、自動售賣機等系統(tǒng)。
3 車載終端的硬件設(shè)計
系統(tǒng)硬件是以廣州周立功單片機發(fā)展有限公司的ARM7系列Smart ARM2200嵌入式平臺為基礎(chǔ)。平臺主控制器采用飛利浦公司生產(chǎn)的16/32位ARM7TDMI-S微控制器IPC2210,它具有豐富的外部接口,例如工業(yè)標準的UART、高速的I2C接口(400 kb/s)、SPI接口、A/D轉(zhuǎn)換接口等,可以方便地與其他外設(shè)互連。
系統(tǒng)底層軟件采用μCliunx內(nèi)核,該內(nèi)核是針對微控制領(lǐng)域而設(shè)計的Linux系統(tǒng),適合無內(nèi)存管理單元(MMU)的微控制器。
XF-S4240模塊可通過UART、SPI和I2C接口實現(xiàn)與其他終端設(shè)備的通訊。本系統(tǒng)設(shè)計利用SmartARM2200嵌入式平臺的I2C接口與XF-S4240的12C接口進行通訊。XF-S4240設(shè)置為從設(shè)備,默認地址為0x80,Smart ARM2200設(shè)置為主設(shè)備。GSM Modem則通過標準UART口與SmartARM2200嵌入式系統(tǒng)的通用串口2連接。
4 軟件設(shè)計
4.1 語音模塊合成的通訊協(xié)議
無論XF-S4240采用UART、SPI還是I2C與其他智能系統(tǒng)連接,語音合成模塊的上層通訊協(xié)議是相同的,下面將介紹語音合成的控制命令。
發(fā)送給XF-S4240的所有命令與數(shù)據(jù)均采用幀的方式進行數(shù)據(jù)封裝后傳輸。
其中,幀頭長度為一個字節(jié),定義為16進制0xFD;數(shù)據(jù)區(qū)長度占兩個字節(jié),高字節(jié)在前,低字節(jié)在后。數(shù)據(jù)區(qū)長度不定,但須小于1 024個字節(jié)。數(shù)據(jù)區(qū)包含命令字、命令參數(shù)和合成的語音信息。
此幀的含義:0xFD表示幀頭,0x00 0x0A表示數(shù)據(jù)區(qū)長度為10個字節(jié)。0x01表示語音合成命令,0x00表示文本格式為GB2312,剩余的16進制編碼為中山大學的GB2312編碼[3]。
4.2 TC35i GSM Modem的通訊協(xié)議
TC35i GSM Modem與其他終端采用通用串行接口進行通訊,通訊協(xié)議采用AT指令集。本設(shè)計主要讀取GSM Modem的短消息。而與短消息收發(fā)有關(guān)的規(guī)范主要包括GSM 03.38,GSM 03.40和GSM07.05。前兩者重點描述的是SMS技術(shù)實現(xiàn)(編碼方式),后者規(guī)定了SMS的DTE-DCE接口標準(AT命令集)。AT指令是以AT為開頭,如AT+CMGL=0(GSM 07.05版本)表示讀取最新收到的短消息,AT+CMGC表示發(fā)出一條短消息等。
短消息共有3種接收與發(fā)送模式:Block Mode(塊模式),Text Mode(文本模式)和PDU Mode(PDU模式)。PDU模式最常用,支持所有手機,可以使用任何字符集。下面給出一個PDU模式下的ASCII串,其短消息中心號碼(SMSC)是+8613800200500,發(fā)送者號碼是13826468897.消息內(nèi)容是中山大學,則通過讀取它的PDU串是:08 9l 68 3l 0820 00 05 F0 04 0D 91 68 31 28 46 86 98 F7 00 0860 30 02 11 82 21 80 08 D0 D6 BD C9 F3 B4 A7D1。通過以上這個PDU串得知.要得到需要的用戶信息就必須對PDU串進行解碼。下面給出PDU串解碼的數(shù)據(jù)結(jié)構(gòu)。
4.3 應(yīng)用程序的設(shè)計與流程
嵌入式平臺SmartARM220的應(yīng)用程序是運行于μCliunx內(nèi)核之上,應(yīng)用程序不能直接對硬件操作。為了實現(xiàn)硬件與外部設(shè)備通訊,必須調(diào)用相應(yīng)的設(shè)備驅(qū)動程序。本文主要涉及UART驅(qū)動、I2C驅(qū)動,嵌入式驅(qū)動程序的設(shè)計方法在這里省略。
5 結(jié)束語
基于語音合成技術(shù)和語音模塊XF-S4240的車載終端可廣泛應(yīng)用于導航系統(tǒng)、車載調(diào)度、車載監(jiān)控等。由于該技術(shù)的通用性,它還可應(yīng)用于其他需要語音合成技術(shù)的場合,如排隊叫號系統(tǒng),公交報站器等。目前語音識別技術(shù)雖已取得很大的成績,但效果不如語音合成技術(shù),相信不久人們就可利用更加先進的語音技術(shù)自然地與機器進行交流!
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論