公交車報(bào)站器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
公交車報(bào)站器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
公交車報(bào)站器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
公交車報(bào)站器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
公交車報(bào)站器設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、南華大學(xué)船山學(xué)院畢業(yè)論文畢業(yè)設(shè)計(jì)論文公交車報(bào)站器設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教 師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。 盡我所知,除文中特別加 以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過(guò)的研 究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)貢獻(xiàn)的個(gè)人或集體, 均已在文中作了明確的說(shuō)明并表示了謝意。作者簽名: 日 期:指導(dǎo)教師簽名: 日 期: 使用授權(quán)說(shuō)明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和

2、電 子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供 目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制 手段保存論文;在不以贏利為目的前提下,學(xué)校可以公布論文的部分 或全部?jī)?nèi)容。作者簽名: 日 期:目錄1系統(tǒng)總體方案 51.1公交車報(bào)站器可選方案 5.1.2設(shè)計(jì)方案的可行性分析和選擇71.3公交車報(bào)站器的硬件框圖 7.2系統(tǒng)硬件設(shè)計(jì) 82.1 SPCE061A 簡(jiǎn)介.8.2.2系統(tǒng)電源設(shè)計(jì)1.22.3語(yǔ)音存儲(chǔ)電路設(shè)計(jì) .122.4音頻輸出電路設(shè)計(jì) .142.5顯示電路設(shè)計(jì)1.52.6鍵盤電路設(shè)計(jì)1.63系統(tǒng)軟件設(shè)計(jì) 173.1語(yǔ)音處理1.73.2主函數(shù)流程圖1.93.3

3、初始化函數(shù)263.4語(yǔ)音播放的實(shí)現(xiàn)313.5更新時(shí)間343.6設(shè)置時(shí)間35參考文獻(xiàn) 48謝辭 49附錄一 公交車報(bào)站器電路圖 51附錄二公交車報(bào)站器程序 52在當(dāng)今社會(huì),即使在私家車越來(lái)越多的今天,公交車仍然是人們出行的首選, 因?yàn)楣卉嚲哂蟹奖?、快捷、車票便宜等?yōu)點(diǎn)。傳統(tǒng)的公交車報(bào)站主要由售票員 報(bào)站,但是有些售票員有著濃重的地方口音,給外地人乘坐公交車造成了困難, 另外,隨著無(wú)人售票車逐漸增多,公交車報(bào)站器就越顯得重要了。目前我國(guó)公交車輛己從原有的人工語(yǔ)音報(bào)站發(fā)展到現(xiàn)在的自動(dòng)語(yǔ)音報(bào)站。 就 報(bào)站語(yǔ)音而論,絕大多數(shù)報(bào)站裝置都采用IsD系列的語(yǔ)音芯片,部分報(bào)站產(chǎn)品也 有采用最新的數(shù)字語(yǔ)音處理合

4、成技術(shù), 兩者各有優(yōu)缺點(diǎn)。前者成本低,但音質(zhì)較 差,且更改報(bào)站信息不靈活,當(dāng)公交車輛臨時(shí)改道時(shí)必須重新對(duì)語(yǔ)音芯片編程 ; 后者受信息容量、語(yǔ)音音質(zhì)的限制,且更換信息仍需專業(yè)設(shè)備。因此設(shè)計(jì)一款能 夠方便地更換報(bào)站信息、播放高音質(zhì)語(yǔ)音信息的公交車報(bào)站器愈顯重要。本方案利用單片機(jī)的語(yǔ)音處理功能,以及其強(qiáng)大的處理能力,完成語(yǔ)音的合 成技術(shù),再配合存儲(chǔ)器,擴(kuò)大存儲(chǔ)容量,很容就可以實(shí)現(xiàn)公交車報(bào)站器,從而為 市民提供了更加人性化的服務(wù)。這些優(yōu)點(diǎn)使得本方案成為制作公交報(bào)站器一種最 經(jīng)濟(jì)實(shí)用的選擇。第5頁(yè)共74頁(yè)1系統(tǒng)總體方案公交報(bào)站系統(tǒng)的設(shè)計(jì)要求報(bào)站系統(tǒng)可以完整地播放一條公交線路的站名。可以在顯示屏上顯示當(dāng)前

5、的時(shí)間,具有時(shí)間日期的設(shè)置功能,還可以播放音樂(lè)或廣 告。經(jīng)過(guò)查閱資料,可選方案有基于 MP3/U盤的公交車報(bào)站設(shè)計(jì),基于GPS勺公 交車報(bào)站器系統(tǒng)設(shè)計(jì)和基于SPCE061A勺公交車報(bào)站系統(tǒng)設(shè)計(jì)等1.1公交車報(bào)站器可選方案1.1.1基于MP3/U盤的公交車報(bào)站設(shè)計(jì)方案采用AT89C51SND1單片機(jī)(內(nèi)部集成MP3解碼器)作為主控CPU及解碼MP3 數(shù)據(jù),實(shí)現(xiàn)對(duì)報(bào)站信息播放、點(diǎn)陣字符顯示、文件存儲(chǔ)以及用作優(yōu)盤功能時(shí)USBUSB接口電 路與PC機(jī)聯(lián)機(jī)的控制。利用FAT16在K9F1208上實(shí)現(xiàn)文件系統(tǒng),形成一個(gè) Windows 可識(shí)別訪問(wèn)的64MB尋址區(qū)域。結(jié)合USB控制器,系統(tǒng)可作為優(yōu)盤在 Wi

6、ndows下使 用,從而實(shí)現(xiàn)在Windows下對(duì)文件的管理以及數(shù)據(jù)存儲(chǔ)功能。這樣通過(guò)程序的設(shè) 定,公交車可通過(guò)鍵盤實(shí)現(xiàn) MP3格式聲音信號(hào)的報(bào)站以及各種信息的廣播。列表 文件在系統(tǒng)對(duì)閃存初始化時(shí)生成,系統(tǒng)在對(duì)閃存進(jìn)行格式化的同時(shí)生成該名為 SCHED-ULE.LS的列表文件。該列表文件可在 Windows下利用記事本打開,編輯 所需播放的MP3名稱。播放報(bào)站信息的同時(shí)通過(guò)16個(gè)16X 16的LED點(diǎn)陣顯示相 應(yīng)的播放內(nèi)容。系統(tǒng)框圖如圖1.1所示。閃存電路功放電路IledJ點(diǎn)陣MCU顯示f 電路 + 鍵盤I 指示電 -路圖1.1方案一系統(tǒng)框圖南華大學(xué)船山學(xué)院畢業(yè)論文1.1.2基于GPS的公交車自

7、動(dòng)報(bào)站系統(tǒng)設(shè)計(jì)方案GPS的公交車自動(dòng)報(bào)站系統(tǒng)利用 GPS通過(guò)GPS接收單元接收衛(wèi)星發(fā)送的信號(hào)確 認(rèn)車輛的動(dòng)態(tài)位置(經(jīng)度、緯度)、時(shí)間、狀態(tài)等信息,與公交線路信息庫(kù)中存儲(chǔ) 的車站的位置進(jìn)行比較,根據(jù)預(yù)先設(shè)定的距離和規(guī)則向乘客通報(bào)車站和線路的語(yǔ) 音信息;并且能把車輛運(yùn)行的詳細(xì)情況記錄下來(lái),對(duì)公共汽車的運(yùn)營(yíng)狀況進(jìn)行全程監(jiān)控并記錄。系統(tǒng)的組成見圖1.2。天線圖1.2方案二系統(tǒng)框圖1.1.3基于SPCE061A的公交車報(bào)站系統(tǒng)設(shè)計(jì)方案系統(tǒng)以SPCE061A為核心,可以劃分為鍵盤輸入、數(shù)碼管顯示、SPR4096資源存儲(chǔ)與語(yǔ)音播放等部分,如圖1.3所示。SPCE061舲為整個(gè)系統(tǒng)的核心控制, 并且負(fù)責(zé)語(yǔ)音的

8、輸出。SPR4096作為語(yǔ)音資源的存儲(chǔ)介質(zhì)。LED鍵盤顯示模組作 為時(shí)間顯示與用戶輸出設(shè)備.使用SPCE061可以非常方便靈活的實(shí)現(xiàn)語(yǔ)音的錄 放。兩路10位精度的DAC只需要外接功放(SPY0030A即可完成語(yǔ)音的播放。語(yǔ)音存儲(chǔ)電路第6頁(yè)共74頁(yè)語(yǔ)音輸出電路單片機(jī)控制系南華大學(xué)船山學(xué)院畢業(yè)論文鍵盤電路|I 四 顯示電路第43頁(yè)共74頁(yè)圖1.3方案三系統(tǒng)框圖1.2設(shè)計(jì)方案的可行性分析和選擇這三種方案各有各的優(yōu)勢(shì)?;?MP3/U盤的公交報(bào)站系統(tǒng)能夠作為U盤與 電腦連接,可自行下載報(bào)站器的播放內(nèi)容,也可方便地更改播放內(nèi)容,播放高品 質(zhì)的音樂(lè),無(wú)報(bào)站播放時(shí)可作為 MP3播放器,提高公交車服務(wù)質(zhì)量。但

9、是 MP3 操作頁(yè)面對(duì)于司機(jī)來(lái)說(shuō)太小,分散過(guò)多的注意力,實(shí)用性不夠?;贕PS的公交報(bào)站系統(tǒng)用先進(jìn)的衛(wèi)星定位,進(jìn)站、出站自動(dòng)播報(bào)站名及服務(wù)用語(yǔ),準(zhǔn)確、及 時(shí)、完全不需要人工介入,實(shí)現(xiàn)了公交車報(bào)站器的完全智能化。國(guó)內(nèi)GPS語(yǔ)音自動(dòng)報(bào)站系統(tǒng)處于試驗(yàn)階段,可行性太小。基于SPCE061A公交報(bào)站系統(tǒng),SPCE061A芯片有語(yǔ)音處理能力使得系統(tǒng)設(shè)計(jì)簡(jiǎn)化,外圍電路較少;另外具有一套 指令系統(tǒng)和集成開發(fā)環(huán)境易學(xué)易用效率較高。SPR4096能夠存儲(chǔ)大量語(yǔ)音數(shù)據(jù), 符合任務(wù)書所給要求。1.3公交車報(bào)站器的硬件框圖查閱各種相關(guān)資料,設(shè)計(jì)出公交報(bào)站系統(tǒng)。系統(tǒng)電路原理圖見附錄2系統(tǒng)硬件設(shè)計(jì)硬件電路設(shè)計(jì)可以分為單片機(jī)

10、控制系統(tǒng)設(shè)計(jì);語(yǔ)音存儲(chǔ)電路設(shè)計(jì);音頻輸出電路設(shè)計(jì);顯示電路設(shè)計(jì)。2.1 SPCE061A 簡(jiǎn)介SPCE061型單片機(jī)是凌陽(yáng)科技公司推出的一款 16位微處理器,具有體積小、 集成度高、易擴(kuò)展、可靠性高、功耗低、結(jié)構(gòu)簡(jiǎn)單、中斷處理能力強(qiáng)等特點(diǎn),內(nèi) 嵌32K字閃存FLASH處理速度高,能夠很方便的完成普通單片機(jī)的功能,尤其 適應(yīng)于數(shù)字語(yǔ)音播報(bào)和識(shí)別等應(yīng)用領(lǐng)域,是數(shù)字語(yǔ)音識(shí)別與語(yǔ)音信號(hào)處理的理想 產(chǎn)品,得到廣泛的應(yīng)用。SPCE061A單片機(jī)的主要性能有:16位u nSP微處理器工作電壓(CPU VDD為 3.03.6V,(I/O)VDDF為 3.05.5VCPU寸鐘:0.3249.152MHz內(nèi)置2K

11、字SRAM內(nèi)置32K字FLASH可編程音頻處理晶體振蕩器系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2uA/3.6V2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值)2個(gè)10位DAC (數(shù)/模轉(zhuǎn)換)輸出通道32位通用可編程輸入/輸出通道14個(gè)中斷源可來(lái)自定時(shí)器 A/B、時(shí)基、2個(gè)外部時(shí)鐘源輸入和鍵喚醒具備觸鍵喚醒的功能使用凌陽(yáng)音頻編碼SACM_S480可以播放壓縮的語(yǔ)音資源鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào)32768Hz實(shí)時(shí)時(shí)鐘7通道10位電壓模/數(shù)轉(zhuǎn)換器(ADC和單通道聲音模/數(shù)轉(zhuǎn)換器 聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器,并具有自動(dòng)增益控制(AGC功能具備串行設(shè)備接口具備低電壓

12、復(fù)位功能和低電壓檢測(cè)功能內(nèi)置在線仿真電路接口具有WatchDog功能圖2.1為SPCE061A單片機(jī)的內(nèi)部結(jié)構(gòu)框圖:IOA15 -0IOB15-0圖2.1 SPCE061A 內(nèi)部結(jié)構(gòu)圖SPCE061A引腳排列如圖2.2所示,引腳功能如表2.1所示1314151617.K.92021222324252b272S293031322OSC321 XTESTVDD X1CE XI 匚 ECLK X1CESDAV5S PUX DAC1 DAC2 KEF2 SSAGC OP1 XUCCUT VUCN PFLSE C XC IN - 3C kno sc 1=0-_z二 A OZHM sc- 壬o一 zm 空

13、c一 ur.m匚匚匚匚匚FI0B11IOB12 IOB1?JOB 14JOB 15 XSLEEP VSS XROMTJOA15 JOA14 10AI?纟LV3一C?c_ kc一3-V3一=z 工SA JISA UUA UWLLMA2-5 -LhlH2UA 二2二 AIOA12IGA11LOA9747Tjo7?7s左66至至737TTo至三55?4屮.二工蘭二一護(hù) IV二 L 乂 蘭:二一Li k.亠匕寸寸寸寸十十丁b LQ bLQ b.圖2.2 SPCE061A引腳圖表2.1 SPCE061A引腳功能表引腳名稱類型引腳功能IOA15:8輸入輸出OA15:8:雙向 IO 端口IOA7:0輸入輸出

14、IOA7:0:通過(guò)編程,可設(shè)置成喚醒管腳IOA6:0:與 ADC Line_ln 輸入共用IOB15:11輸入輸出IOB15:11:雙向IO端口。IOB1O-O除用作普通的IO端口,還可作為如下功能:IOB10輸入輸出IOB10:通用異步串行數(shù)據(jù)發(fā)送管腳TxIOB9輸入輸出IOB9: TimerB脈寬調(diào)制輸出管腳 BPWMOIOB8輸入輸出IOB8: TimerA脈寬調(diào)制輸出管腳 APWMOIOB7輸入輸出IOB7:通用異步串行數(shù)據(jù)接收管腳RxIOB6輸入輸出IOB6 :雙向IO端口IOB5輸入輸出IOB5 :外部中斷源EXT2的反饋管腳IOB4輸入輸出IOB4 :外部中斷源EXT1的反饋管腳

15、I0B3輸入輸出IOB3 :外部中斷源EXT2I0B2輸入輸出IOB2 :外部中斷源EXT1I0B1輸入輸出IOB1 :串行接口的數(shù)據(jù)傳送管腳IOB0輸出IOB0:串行接口的時(shí)鐘信號(hào)DAC1輸出DAC1數(shù)據(jù)輸出管腳DAC2輸出DAC2數(shù)據(jù)輸出管腳OSCI輸入32768Hz晶振輸入管腳OSCO輸出32768Hz晶振輸出管腳VCP輸入PLL的RC濾波器連接管腳AGC輸入AGC的控制管腳MICN輸入麥克風(fēng)負(fù)向輸入管腳MICP輸入麥克風(fēng)正向輸入管腳VREF2輸出電壓源2.0V產(chǎn)生5mA的驅(qū)動(dòng)電流,可用作外部 ADC Line_In通道的取咼參考輸入電壓,不可作為電壓源使用MICOUT輸出麥克風(fēng)1階放大

16、器輸出管腳,管腳外接電阻決定AGC增益倍數(shù)OPI輸入麥克風(fēng)2階放大器輸入管腳VRTPAD輸入ADC Line_ln通道的最高參考輸入電壓管腳VMIC輸出麥克風(fēng)電源VCM輸出AD參考電壓(由內(nèi)部ADC產(chǎn)生)VDD輸入邏輯電源的正向電壓VSS輸入邏輯電源和IO 口的參考地VDDIO輸入IO端口的正向電壓管腳VSSIO輸入IO端口的參考地AVDD輸入模擬電路(A/D、D/A和2V穩(wěn)壓源)正向電壓AVSS輸入模擬電路(A/D、D/A和2V穩(wěn)壓源)參考地RSETB輸入低電平有效的復(fù)位管腳SLEEP輸出睡眠模式(高電平激活)ICE輸入激活I(lǐng)CE(高電平激活I(lǐng)CECLK輸入ICE串行接口時(shí)鐘管腳ICESDA

17、輸入輸出ICE串行接口數(shù)據(jù)管腳TEST輸入測(cè)試模式時(shí)接咼電平,正常模式時(shí)接地GND或懸浮ROMT輸入測(cè)試閃爍存儲(chǔ)器,正常模式時(shí)懸浮NC輸入正常使用時(shí)接地2.2系統(tǒng)電源設(shè)計(jì)圖2.3是電源部分的電路,61單片機(jī)的內(nèi)核工作電壓是3.3V,而10 口電壓 可以是3.3V也可以是5V。公交蓄電池12V直流電壓經(jīng)過(guò)7805產(chǎn)生5V電壓,再 經(jīng)過(guò)SPY0029后產(chǎn)生3.3V電壓分別給系統(tǒng)供電。LM7805是常用的三端正電源穩(wěn)壓電路,使用的是 TO-220封裝,能提供直流 電源5V的輸出電壓,內(nèi)含短路和熱過(guò)載保護(hù)電路,應(yīng)用范圍非常廣泛。帶散熱 片時(shí)能持續(xù)提供1A的電流,如果使用外圍器件,它還能提供不同的電壓和

18、電流。 它有三個(gè)引腳,引腳1為輸入電壓,引腳2為+5V輸出電壓,引腳3接地。SPY0029是凌陽(yáng)公司設(shè)計(jì)的電壓調(diào)整IC,采用CMO工藝,具有靜態(tài)電流低, 驅(qū)動(dòng)能力強(qiáng),線性調(diào)整出色等特點(diǎn)。它有三個(gè)引腳,引腳 1接地,引腳2為輸入 電壓,引腳3為輸出電壓。2.3語(yǔ)音存儲(chǔ)電路設(shè)計(jì)因?yàn)镾PCE061A勺FLASH只有32K字,要存放大量的語(yǔ)音資源,就要外擴(kuò)存 儲(chǔ)器。本次設(shè)計(jì)選用SPR4096芯片。2.3.1 SPR4096芯片簡(jiǎn)介SPR4096是一個(gè)高性能的 4M-bit(512K X 8-bit)FLASH,分為 256 個(gè)扇區(qū)(Sector),每個(gè)扇區(qū)為 2KB SPR4096還內(nèi)置了一個(gè) 4KX

19、 8bit 的 SRAMSPR4096內(nèi)置了一個(gè)總線存儲(chǔ)器接口和一個(gè)串行接口,它允許單片機(jī)通過(guò)8bit并行模式或者1bit串行模式訪問(wèn)FLASH/SRA存儲(chǔ)區(qū)。本設(shè)計(jì)使用品行模 式,串行接口的工作頻率可達(dá) 5MHz有兩個(gè)電源輸入端 VDDI和VDDQ.VDD是給 內(nèi)部FLASH和控制邏輯供電的;VDD(是專門為I/O供電的。最大讀電流為2mASPR4096按串行接口模式工作,要把CF2CF0均接高電平。CF7為低電平時(shí) 選中FLASH高電平時(shí)選中SRAM.3.3.2語(yǔ)音存儲(chǔ)電路圖2.4是SPR4096與單片機(jī)的硬件連接圖。 SPR4096的 SCK接 SPCE061A勺IOB0,SDA接 SP

20、CE061A勺 IOB1CF(CF2 接高電平,CF7 接低電平,選中 FLASH圖2.4 SPR4096電路圖2.4音頻輸出電路設(shè)計(jì)SPCE061A內(nèi)置2路10位精度的DAC,芯片輸出的音頻信號(hào)功率較小,在報(bào) 站時(shí)要求比較大的聲音,就要對(duì)芯片輸出的聲音信號(hào)進(jìn)行功率放大,因此電路選 用了 SPY0030音頻功率放大電路。圖2.5為音頻輸出電路。SPCE061A勺音頻輸出采用雙通道數(shù)/模轉(zhuǎn)換 DAC 方式,即數(shù)字信號(hào)通過(guò)10位DAC轉(zhuǎn)換成3mA驅(qū)動(dòng)的電流模擬信號(hào)輸出。語(yǔ)音提 示輸出直接采用DAC1道,經(jīng)信號(hào)放大后,由SPEAKER揚(yáng)聲器)輸出。圖2.5音頻輸出電路SPY0030芯片是一個(gè)音頻驅(qū)動(dòng)

21、,其增益可以通過(guò)外部電阻(最長(zhǎng)增益調(diào)整為20)。它的輸出功率約700mWV電壓可調(diào)范圍很廣(2.4V-6.8V ),具有雙端輸出 模式,低失真,低待機(jī)電流等特點(diǎn)。簡(jiǎn)單易用,僅需 2.4V(兩顆電池)即可工作。圖2.6為SPY0030芯片的引腳圖。表2.2為引腳功能表SPKVDDSPPCEIINNAC INA二圖2.6 SPY0030芯片引腳圖表22 SPY0030芯片引腳功能表引腳名稱引腳號(hào)類型引腳功能VDD8輸入電源的正向電壓VSS3輸入電源地SPP2輸出音頻輸出正極SPN1輸出音頻輸出負(fù)極ACIN5輸入信號(hào)輸入正極INN4輸入信號(hào)輸入負(fù)極CE7輸入芯片使能VREF6輸出參考電壓2.5顯示電

22、路設(shè)計(jì)圖2.7為顯示電路圖。整個(gè)顯示過(guò)程中采用動(dòng)態(tài)顯示,即六位顯示器逐一輪 流顯示,每位持續(xù)1ms,10ms或20ms之內(nèi)循環(huán)一遍,刷新速度不要小于每秒三 十楨。由于視覺暫留,我們看到的便是 6只顯示器同時(shí)在顯示。U2fTWD056q3ECR17眈3W8A口di!4Q14 nimotm1H2OUT2曲OUT1W4OUT4恥OUT5OUT61N?OUT?GNDCCMDIG 】MGS2D ?DIR *DTG3 5DIP 趕UTGi79CC4DD2EEFT12W$HH3H呂IR10dOH2圖2.7顯示電路圖顯示電路中只要有 ULN2003A WD0521C和 WD05643C等元器件組成。ULN20

23、03A:其內(nèi)部為三極管陣列,它的IN腳相當(dāng)于三極管的B極,OUT較相當(dāng)于三極管的C極。若IN腳輸入高電平,對(duì)應(yīng)的OUT腳接地;IN腳輸入低電平,對(duì)應(yīng)的OUT腳截止輸出。WD0521CX共陰極2位數(shù)碼管.adp為數(shù)碼管的段信號(hào),G1、G2為2位數(shù) 碼管的位信號(hào)。段信號(hào)高有效,位信號(hào)低有效。WD05643CXfc陰極4位數(shù)碼管.adp為數(shù)碼管的段信號(hào),di、d2為時(shí)鐘冒 號(hào)的段信號(hào);G1G4為4位數(shù)碼管的位信號(hào),G5為時(shí)鐘冒號(hào)的位信號(hào)。段信號(hào)咼有效,位信號(hào)低有效。2.6鍵盤電路設(shè)計(jì)鍵盤輸入電路如圖2.8所示。各按鍵功能不同,根據(jù)各按鍵功能列出表2.3.表2.3鍵盤各按鍵功能表按鍵公交車報(bào)站狀態(tài)時(shí)間

24、設(shè)置狀態(tài)S0逐次播放上仃各站提示語(yǔ),每按一次按順序播放一個(gè)無(wú)效S1逐次播放下仃各站提示語(yǔ),每按一次按順序播放一個(gè)無(wú)效S2播放警告用語(yǔ)“車輛拐彎,請(qǐng)注意安全”無(wú)效S3播放提示語(yǔ)“車上有老弱病殘?jiān)谐丝?,?qǐng)讓座”無(wú)效S4播放娛樂(lè)音樂(lè)或廣告無(wú)效S5進(jìn)入設(shè)置時(shí)間狀態(tài)設(shè)置切換S6顯示在時(shí)間/日期/年之間切換增加S7打開或關(guān)閉數(shù)碼管減小3系統(tǒng)軟件設(shè)計(jì)3.1語(yǔ)音處理語(yǔ)音處理是建立在語(yǔ)言學(xué)和數(shù)字信號(hào)處理基礎(chǔ)之上的綜合學(xué)科。語(yǔ)音處理大致可以分為A/D采樣輸入、編碼處理、存儲(chǔ)、解碼處理以及D/A等。SPCE061A是16位單片機(jī),有2個(gè)16位定時(shí)/計(jì)數(shù)器;CPU時(shí)鐘最高達(dá) 49MHz,16位乘法器和內(nèi)積運(yùn)算,有能力

25、執(zhí)行復(fù)雜壓縮算法,有完善的語(yǔ)音處 理函數(shù)庫(kù)支持等。這些都無(wú)疑為語(yǔ)音的播放、錄放、合成及識(shí)別提供了條件。3.1.1壓縮存儲(chǔ)采樣輸入是指音頻采樣和量化,將模擬的(連續(xù)的)聲音波形數(shù)字化(離散 化);語(yǔ)音信號(hào)的時(shí)域分析,直接利用語(yǔ)音信號(hào)的時(shí)域波形進(jìn)行分析;語(yǔ)音信號(hào) 的頻域分析,對(duì)語(yǔ)音信號(hào)的頻譜、功率譜等進(jìn)行分析;語(yǔ)音信號(hào)的線性預(yù)測(cè)分析, 把語(yǔ)音信號(hào)用一個(gè)模型來(lái)表示,利用模型的參數(shù)來(lái)描述語(yǔ)音信號(hào)的波形和頻譜特 性。編碼處理采用壓縮編碼,它具有高效存儲(chǔ)和高速傳輸?shù)忍攸c(diǎn)。 壓縮編碼可分 為三類:1. 波形編碼:sub-band即SACM_A2000特點(diǎn):高質(zhì)量、高碼率,適于高保真 語(yǔ)音/音樂(lè)。2. 參數(shù)編

26、碼:聲碼器(vocoder )模型表達(dá),抽取參數(shù)與激勵(lì)信號(hào)進(jìn)行編碼。女口: SACM_S240特點(diǎn):壓縮比大,計(jì)算量大,音質(zhì)不高,廉價(jià)!3. 混合編碼:CELP即SACM_S480特點(diǎn):綜合參數(shù)和波形編碼之優(yōu)點(diǎn)。 本次系統(tǒng)設(shè)計(jì)方案采用混合編碼方式。壓縮分無(wú)損壓縮和有損壓縮。無(wú)損壓縮一般指:磁盤文件,壓縮比低:2:1 4:1。而有損壓縮則是指:音/視頻文件,壓縮比可高達(dá)100:1。凌陽(yáng)音頻壓縮算法根據(jù)不同的壓縮比分為以下幾種:SACM_A2O0O壓縮比為 8: 1, 8:1.25 , 8:1.5SACM_S480 壓縮比為 80:3 , 80:4.5SACM_S240 壓縮比為 80:1.5按音

27、質(zhì)排序:A2000S480S240壓縮算法中SACM_A2000 SACM_S48、SACM_S240主要是用來(lái)放音,可用 于語(yǔ)音提示,而DVR則用來(lái)錄放音。3.1.2語(yǔ)音識(shí)別語(yǔ)音的識(shí)別可分為下列幾個(gè)部分:預(yù)處理,語(yǔ)音信號(hào)數(shù)字化;特征提取,抽 取反應(yīng)語(yǔ)音本質(zhì)的特征參數(shù),形成特征矢量序列;語(yǔ)音模型庫(kù),從一個(gè)或多個(gè)講 話者多次重復(fù)講話中提取的語(yǔ)音參數(shù)模板;模式匹配,把輸入語(yǔ)音的特征參數(shù)與 語(yǔ)音模型庫(kù)進(jìn)行比較分析,得到識(shí)別結(jié)果。識(shí)別的過(guò)程可用圖 3.1表示。圖3.1語(yǔ)音的識(shí)別3.1.3語(yǔ)音合成語(yǔ)音合成是將以其他方式表示或存儲(chǔ)的信息轉(zhuǎn)換成語(yǔ)音。最常見的語(yǔ)音合成技術(shù)是將文本轉(zhuǎn)換為語(yǔ)音(TTS。文本轉(zhuǎn)換成

28、語(yǔ)音如圖3.2所示圖3.2文本轉(zhuǎn)換成語(yǔ)音圖3.2主函數(shù)流程圖在主函數(shù)中完成SPR4096的初始化、鍵盤、顯示的初始化,并且進(jìn)行顯示 時(shí)間與播報(bào)公交車報(bào)站的站點(diǎn),然后進(jìn)入循環(huán)根據(jù)鍵盤的值執(zhí)行相關(guān)的操作。主函數(shù)流程圖如圖3.3所示。主函數(shù)程序:int main (void)/局部變量初始化un sig ned int uiKey;un sig ned int uiOn_Off;un sig ned int uiKey1_Co unt;un sig ned int uiKey2_C ount;un sig ned int uiflag;un sig ned int uiTemp; uiOn_Off

29、= 0;/鍵盤值/數(shù)碼管顯示或不顯示標(biāo)志key1按下次數(shù)key2按下次數(shù)按鍵keyl、key2的奇偶標(biāo)志臨時(shí)變量uiKey1_Cou nt = 0;/uiKey2_Cou nt = 16;/初始化SPR模組,SPR4096/初始化數(shù)碼管/初始化鍵盤/初始化顯示時(shí)間uiflag = 0; SP_SIOI ni tial();DIGn it();Key_Ini t();Timenit();DIG_Set(1,0);DIG_Set(2,0);DIG_Set(3,DatauiHour_H);DIG_Set(4,DatauiHour_L);DIG_Set(5,DatauiMi ni te_H);DIG_

30、Set(6,DatauiMi ni te_L);Broadcast(52);/ 播放站點(diǎn)while(1)if(uiDisp = 0)/ 顯示時(shí)間DIG_Set(1,0);DIG_Set(2,0);DIG_Set(3,DatauiHour_H);DIG_Set(4,DatauiHour_L);DIG_Set(5,DatauiMi ni te_H);DIG_Set(6,DatauiMi ni te_L);if(uiDisp = 1)/ 顯示月日DIG_Set(1,DatauiM on th_H);DIG_Set(2,DatauiM on th_L);DIG_Set(3,0x0077);DIG_Se

31、t(4,DatauiDay_H);DIG_Set(5,DatauiDay_L);DIG_Set(6,0x007f);if(uiDisp = 2)/ 顯示年DIG_Set(1,0x0040);DIG_Set(2,DatauiYear_H);DIG_Set(3,DatauiYear_MH);DIG_Set(4,DatauiYear_ML);DIG_Set(5,DatauiYear_L);DIG_Set(6,0x0040);uiKey = Key_Get();得到鍵值,掃建程序在128Hz中斷中調(diào)用switch(uiKey)選擇S480放音,在中斷FIQcase KEY1:uiA2000_S480

32、= 0;uiKey = 0;if(uiflag 1)uiKey1_Cou nt+;NextStation(uiKey1_Count); 播放提示下一站 *uiflag = 1;elseuiflag = 0;ComingStation(uiKey1_Count);/* 站到了 *if(uiKey1_Cou nt = 16)uiKey1_Cou nt = 0;如果是終點(diǎn)站,重新初始化break;case KEY2:uiA2000_S480 = 0;if(uiflag = 0)uiKey2_Cou nt-;NextStatio n(uiKey2_Cou nt);uiflag = 1;elseuifl

33、ag = 0;Comi ngStatio n(uiKey2_Cou nt);if(uiKey2_Cou nt = 0)uiKey2_Cou nt = 16;break;case KEY3:uiA2000_S480 = 0;PlayS nd_S480(65,3);break;/播放提示語(yǔ),車在運(yùn)行中,請(qǐng)做好扶穩(wěn)case KEY4:uiA2000_S480 = 0;PlayS nd_S480(67,3);break;/請(qǐng)讓座case KEY5:廣告或娛樂(lè)uiA2000_S480 = 1;PlayS nd_A2000(70,3);break;case KEY6:g_4Hz_ On = 1; uiSe

34、tflag+; Set_Time(); break;case KEY7:uiKey = 0; uiDisp+;if(uiDisp = 3)uiDisp = 0;if(uiDisp = 0)進(jìn)入4Hz中斷代碼,實(shí)現(xiàn)閃爍效果/設(shè)置時(shí)間/切換顯示時(shí)間/月曰/年uiTemp = *PNT_Ctrl_New; /打開2Hz中斷,顯示秒針uiTemp |= CRQ5_2H z;*PN T_Ctrl_New = uiTemp;elseuiTemp = *PNT_Ctrl_New; /關(guān)閉2Hz中斷,不顯示秒針uiTemp &= Oxfffb;*PN T_Ctrl_New = uiTemp;uiTemp =

35、*POB_Buffer;uiTemp &= 0xfffb;*PO B_Data = uiTemp;break;case KEY8:if(u iOn_Off = 0)DIG_Off();/關(guān)閉數(shù)碼管uiOn_Off = 1;elseDIG_O n();打開數(shù)碼管uiOn_Off = 0;break;default:break;*P_Watchdog_Clear = 0x0001;/ 清看門狗3.3初始化函數(shù)系統(tǒng)要對(duì)SPR4096鍵盤、顯示、時(shí)間初始化SPR409砌始化流程圖如圖3.4所示。圖3.4 spr4096 初始化SPR4096初始化程序如下:.PUBLIC _SP_SIOI nitial

36、_SP_SIOI nitial:.PROC/系統(tǒng)時(shí)鐘設(shè)定r1 = 0x0098;Fosc=49mHzP_SystemClock = r1;r1 = PO B_Dir;r1 |= 1;/set bit0 output for sckPOB_Dir = r1;r1 = P_I OB_Attrib;r1 |= 1;/buffer outputPOB_Attrib = r1;r1 = POB_Buffer;r1 |= 1;/output highP_l OB_Data = r1;retf.ENDP鍵盤初始化流程圖如圖3.5所示,/初始化IO為下拉輸入/初始化變量初始化IOB8-IOB15為下拉電阻輸入

37、口初始化鍵盤變量打開 128Hz (IRQ6_TMB)中斷圖3.5鍵盤初始化鍵盤初始化程序如下:F_Key_l nit:_Key_l nit:push r1 to spINT Offr1 = P_Key_Dirr1 &= Key_ALLP_Key_Dir = r1r1 = P_Key_Attrib r1 &= Key_ALLP_Key_Attrib = r1r1 = 0Sea nCnt = r1KeyCode = r1KeyUp = r1r1 = C_TMB2_128Hz/ 開啟 IRQ6_TMB2(128HZ中斷P_TimeBase_Setup = r1r1 = PN T_Maskr1 |=

38、 CRQ6_TMB2P_INT_Mask = r1INT FIQ,IRQpop r1 from spRetf.ENDP數(shù)碼管初始化流程圖如圖3.6所示,圖3.6數(shù)碼管初始化數(shù)碼管初始化程序如下:_DIGnit:F_DIGnit:push r1,bp to spINT Offr1 = DIG_Cou ntr2 = 0x0000bp = R_DIG_Buf?DIG _ln itBuf:bp+ = r2r1 -= 1jnz ?DIGn itBuf R_CurDIG = r2 r1 = P_SEG_Attrib r1 |= PIN_SEG_ALL P_SEG_Attrib = r1 r1 = P_SE

39、G_Buf r1 &= PIN_SEG_ALL P_SEG_Data = r1 r1 = P_SEG_Dir r1 |= PIN_SEG_ALL P_SEG_Dir = r1 r1 = P_DIG_Attrib r1 |= PIN_DIG_ALL P_DIG_Attrib = r1 r1 = P_DIG_Buf r1 &= PIN_DIG_ALL P_DIG_Buf = r1 r1 = P_DIG_Dir r1 |= PIN_DIG_ALL P_DIG_Dir = r1 r1 = PN T_Mask r1 |= C_IRQ4_4KHz P_INT_Mask = r1 INT FIQ,IRQ p

40、op r1,bp from sp retf/Clear Display Buffer/Reset Dig Poi nter/In itial IO Ports for Seg/In itial IO Ports for Dig/En able IRQ4_4KHz Int.ENDP時(shí)間初始化流程圖如圖3.7所示。時(shí)間初始化程序:void Timeni t(void)/設(shè)置IOB2為高電平輸出un sig ned int uiTemp; uiTemp = *P0 B_Dir; uiTemp |= 0x0004;*P_IOB_Dir = uiTemp; uiTemp = *PO B_Attrib;u

41、iTemp |= 0x0004;*POB_Attrib = uiTemp;uiTemp = *PO B_Data;uiTemp |= 0x0004;*POB_Data = uiTemp;uiTemp = *P_INT_Ctrl_New;/ 開 2Hz、4Hz 中斷uiTemp |= CRQ5_2H z;uiTemp |= CRQ5_4H z;*PN T_Ctrl_New = uiTemp;3.4語(yǔ)音播放的實(shí)現(xiàn)由于語(yǔ)音資源存儲(chǔ)在外廓的存儲(chǔ)器 SPR4096上面,要實(shí)現(xiàn)語(yǔ)音播放必須采用手動(dòng)方式。需要獲得語(yǔ)音資源,關(guān)鍵解決語(yǔ)音資源的起始地址,然后通過(guò)讀取函數(shù)獲得語(yǔ)音資源。函數(shù)流程圖如圖3.8所示。開

42、始取得語(yǔ)音資源的開始地址與結(jié)束地址初始化放音,隊(duì)列與解碼YN獲得語(yǔ)音資源判斷解碼隊(duì)列是否為Y是否播放結(jié)束?I N語(yǔ)音資源解碼1語(yǔ)音播放T結(jié)束NY結(jié)束放音是否有鍵按下?清看門狗圖3.8手動(dòng)方式播放流程圖手動(dòng)方式播放程序:void PlayS nd_A2000(u nsig ned int Sndln dex,u nsig ned int DAC_Cha nnal)/語(yǔ)音播放狀態(tài)/存儲(chǔ)語(yǔ)音資源/語(yǔ)音資源的最高字節(jié)地址/語(yǔ)音資源的高字節(jié)地址/語(yǔ)音資源的低字節(jié)地址/語(yǔ)音資源的最低字節(jié)地址/語(yǔ)音資源的末地址un sig ned int uiStatus;un sig ned int uiRet;un s

43、ig ned long ulC on _AddrHighest;un sig ned long ulC on _AddrHigh;un sig ned long ulC on _AddrLow;un sig ned long ulC on _AddrLowest;un sig ned long ulC on_En dAddr;un sig ned long ulC on _StartAddr;un sig ned int uiKey;ulCon_AddrHighest = SP_SIOReadAByte(BASE_START_ADDRESS +Sn dI ndex*12); /第一個(gè)播放文件地

44、址ulCon_AddrHighest = ulCon_AddrHighest 24;ulCon_AddrHigh = SP_SIOReadAByte(BASE_START_ADDRESS + Sn dI ndex*12+1);ulCon_AddrHigh = ulCon_AddrHigh 16;ulCon_AddrLow = SP_SIOReadAByte(BASE_START_ADDRESS + Sndln dex*12+2);ulCon_AddrLow = ulCon_AddrLow 8;ulCon_AddrLowest = SP_SIOReadAByte(BASE_START_ADDRE

45、SS +Sn dI ndex*12+3);ulCon_StartAddr = ulCon_AddrHighest | ulCon_AddrHigh/開始地址| ulCon_AddrLow | ulCon_AddrLowest;ulCon_AddrHighest = SP_SIOReadAByte(BASE_END_ADDRESSdI ndex*12); ulCon_AddrHighest = ulCon_AddrHighest 24;ulCon_AddrHigh = SP_SIOReadAByte(BASE_END_ADDRESSdI ndex*12+1);ulCon_AddrHigh = u

46、lCon_AddrHigh 16;ulCon_AddrLow = SP_SIOReadAByte(BASE_END_ADDRESS + Sndln dex*12+2);ulCon_AddrLow = ulCon_AddrLow = ulCon_E ndAddr)uiStatus = 0;/解碼隊(duì)列是否為空/文件結(jié)束?/如果文件結(jié)束,結(jié)束放音break;uiRet = SP_SIOReadAWord(ulCon_StartAddr);取得語(yǔ)音資源SACM_A2000_FillQueue(uiRet);/ 填充解碼隊(duì)列ulCon_StartAdd葉+;/移動(dòng)資源指針ulCon_StartAdd 葉

47、+;if(uiStatus)/ 解碼SACM_A2000_Decoder();/停止放音elseSACM_A2000_Stop();uiKey = Key_Get();if(uiKey != 0)uiStatus = 0;*(u nsig ned int *)0x7012 = 0x0001;3.5更新時(shí)間可以使用SPCE061A單片機(jī)的2Hz時(shí)基中斷,在2Hz時(shí)基中斷中調(diào)用更新函 數(shù),函數(shù)要作的就是換算好進(jìn)位的關(guān)系。比如60秒進(jìn)位1分鐘,然后秒清零更新時(shí)間程序如下:void Time_R un(v oid)/更新時(shí)分if(g_uiSeco nd_half = 120)g_uiSec on d_

48、half = 0;uiMi ni te_L+;if(uiMi ni te_L = 10)uiMi nite_L = 0;uiMi ni te_H+;if(uiMi nite_H = 6)uiMi ni te_H = 0;uiHour_L+;if(uiHour_H = 2)&(uiHour_L = 4)uiHour_H = 0;uiHour_L = 0;uiDay_L+;elseif(uiHour_L = 10)uiHour_L = 0;uiHour_H+;3.6設(shè)置時(shí)間在設(shè)置時(shí)間時(shí)出現(xiàn)動(dòng)態(tài)閃爍效果,這個(gè)問(wèn)題使用 4Hz的時(shí)基中斷改變標(biāo)志 位,在設(shè)置時(shí)間函數(shù)中根據(jù)這個(gè)標(biāo)志位顯示或關(guān)閉數(shù)碼管,出現(xiàn)閃爍效果。時(shí)間設(shè)置流程圖如圖3.9所示.根據(jù)標(biāo)志分別設(shè)置圖3.9時(shí)間設(shè)置流程圖清看門狗修改標(biāo)志根據(jù)鍵值時(shí)間設(shè)置程序如下:void Set_Time(void)un sig ned int uiKey;un sig ned int uiTemp;while(1)uiKey = Key_Get();*P_Watchdog_Clear = 0x0001;調(diào)整分鐘if(uiSetflag = 1)if(g_Light = 1)DIG_Set(3,DatauiH

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論