當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于16位微控制器的小車語(yǔ)音控制系統(tǒng)

引言

  SPCE061A是一款16位微控制器,其高速的處理和特殊的內(nèi)核結(jié)構(gòu)使它能夠非??焖俚靥幚韽?fù)雜的數(shù)字信號(hào),同時(shí)其內(nèi)嵌32KB的FLASH ROM和2KB的SRAM能夠存儲(chǔ)所需的數(shù)據(jù)和程序,特別是其所提供的語(yǔ)音識(shí)別函數(shù)可供方便地進(jìn)行調(diào)用,不需要過多地考慮語(yǔ)音算法,為語(yǔ)音識(shí)別設(shè)計(jì)帶來了很大的方便。本文選用SPCE061A作為該系統(tǒng)的控制核心,系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

  

 

  圖1 系統(tǒng)硬件結(jié)構(gòu)圖

  方案論證

  主控模塊和語(yǔ)音處理模塊的選擇

  較MCS-51系列單片機(jī)而言, SPCE061A單片機(jī)內(nèi)部集成有32KB的ROM、2KB的SRAM,更能滿足軟件對(duì)空間的要求,且不需要擴(kuò)展相關(guān)存儲(chǔ)器。另外,該類單片機(jī)完全支持C語(yǔ)言,軟件編寫比較方便,語(yǔ)音處理模塊采用凌陽(yáng)的語(yǔ)音壓縮算法,也用軟件來實(shí)現(xiàn)。該單片機(jī)內(nèi)部集成有A/D、D/A轉(zhuǎn)換功能,方便實(shí)現(xiàn)語(yǔ)音錄放功能。

  電機(jī)模塊的選擇

  電機(jī)模塊選擇直流電機(jī)。與步進(jìn)電機(jī)相比較而言,直流電機(jī)具有轉(zhuǎn)速快、控制方便等特點(diǎn),更能夠滿足小車較高速行駛情況的要求,如圖2所示。

  

 

  圖2 電機(jī)控制模塊原理圖

  測(cè)路程方案的選擇

  本文利用紅外對(duì)管來實(shí)現(xiàn)對(duì)小車的路程測(cè)量。在小車的車輪轉(zhuǎn)軸上安裝一個(gè)不透光轉(zhuǎn)盤,在轉(zhuǎn)盤邊緣均勻地打N個(gè)孔,當(dāng)紅外發(fā)射管發(fā)射的紅外光經(jīng)小孔照射到接收管時(shí),接收管的反向端電平將發(fā)生變化,單片機(jī)通過檢測(cè)這種電平的變化便可以自行計(jì)算出小車的運(yùn)行路程。紅外對(duì)管還具有體積較小、安裝較霍爾傳感器更方便、成本低等特點(diǎn)。

  系統(tǒng)硬件結(jié)構(gòu)

  語(yǔ)音控制小車的系統(tǒng)硬件結(jié)構(gòu)主要由兩部分組成:一部分是SPCE061A精簡(jiǎn)開發(fā)板,另外一部分是電機(jī)控制板。SPCE061A精簡(jiǎn)開發(fā)板為系統(tǒng)主控模塊,電機(jī)控制板則驅(qū)動(dòng)小車的前后兩個(gè)電機(jī)按系統(tǒng)的要求工作。

  小車控制板主要包括接口模塊、電機(jī)控制模塊、預(yù)留傳感器接口以及電源模塊等幾部分。其中,電源模塊采用集成穩(wěn)壓芯片 L7805,在輸出端(控制板的JP11)并接了一個(gè)470μF的去耦電容和一個(gè) 0.1μF的濾波電容,增強(qiáng)了系統(tǒng)電壓的穩(wěn)定性和抗干擾性能。

  電機(jī)控制模塊是整個(gè)控制板的核心部分,其根據(jù)61板的具體輸出信號(hào)啟動(dòng)或停止相應(yīng)的電機(jī),并調(diào)整電機(jī)的正反轉(zhuǎn)方向,實(shí)現(xiàn)小車的前進(jìn)、倒退等功能。后電機(jī)的控制電路包括方向控制和速度控制兩個(gè)單元,前電機(jī)的控制電路則只有方向控制單元??刂茊卧?fù)責(zé)小車電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止三態(tài)控制。速度控制單元是擴(kuò)展單元,以適應(yīng)不同的場(chǎng)合需求。

  紅外對(duì)管測(cè)小車運(yùn)行路程部分的原理圖如圖3所示。

  

 

  圖3 紅外對(duì)管電路原理圖

  紅外發(fā)光管D2和接收管U4安裝在同一水平線上,發(fā)射管D2一直處于發(fā)射工作狀態(tài)。當(dāng)D2和U4間沒有被擋住,即D2發(fā)射的紅外線照射在U4上時(shí),U4的2腳和3腳導(dǎo)通,同時(shí)2腳和1腳也導(dǎo)通,此時(shí)晶體管Q1的基極電壓為Ub=VDD×R12/(R12+R10),Q1導(dǎo)通,SPEED端近似于接地,呈低電平狀態(tài)。當(dāng)D2和U4間被擋住時(shí),即D2發(fā)射的紅外線不能照射在U4上時(shí),U4的2腳和3腳截止,同時(shí)2腳和1腳也截止,此時(shí)Q1的基極經(jīng)電阻R12和R10接地,即基極電壓為0V,此時(shí)Q1截止,SPEED端經(jīng)電阻R11接到VDD,呈高電平狀態(tài)。單片機(jī)通過檢測(cè)這種高低電平的變化來實(shí)現(xiàn)小車的路程測(cè)量。

   [!--empirenews.page--]軟件部分

 

  主程序流程

  小車的主程序流程圖如圖4所示,主要分為四部分:初始化部分、訓(xùn)練部分、識(shí)別部分和重訓(xùn)操作。

  

 

  圖4 主程序流程圖

  初始化部分的初始化操作會(huì)將SPCE061A單片機(jī)上的IOB13~IOB10設(shè)置為輸出端,用以控制電機(jī)。將其IOA的低8位IOA0~IOA7設(shè)置為下拉的輸入端,用來連接按鍵。

  訓(xùn)練部分完成的工作是建立語(yǔ)音模型。程序一開始會(huì)判斷小車是否被訓(xùn)練過,如果沒有訓(xùn)練過,系統(tǒng)會(huì)要求對(duì)其進(jìn)行訓(xùn)練,并且會(huì)在訓(xùn)練成功之后將訓(xùn)練的模型存儲(chǔ)到Flash中;如果已經(jīng)訓(xùn)練過則會(huì)把存儲(chǔ)在Flash中的模型調(diào)出,裝載到辨識(shí)器中。

  在識(shí)別環(huán)節(jié)當(dāng)中,如果辨識(shí)結(jié)果是名字,直接置待命標(biāo)志,然后等待動(dòng)作命令。只有檢測(cè)到待命標(biāo)志,小車才會(huì)根據(jù)相應(yīng)的辨識(shí)結(jié)果執(zhí)行動(dòng)作。如果沒有待命標(biāo)志,即使識(shí)別到動(dòng)作命令也不會(huì)執(zhí)行動(dòng)作。小車在執(zhí)行完對(duì)應(yīng)的命令之后清除待命標(biāo)志,結(jié)束待命狀態(tài)。

  考慮到有重新訓(xùn)練的需求,這里設(shè)置了重新訓(xùn)練的按鍵。程序運(yùn)行時(shí)循環(huán)掃描該按鍵,什么時(shí)間檢測(cè)到此鍵按下,則將擦除語(yǔ)音模型存儲(chǔ)區(qū)首單元(0xe000)所在的頁(yè),等待復(fù)位到來。復(fù)位后,程序重新從頭開始執(zhí)行,當(dāng)檢測(cè)到語(yǔ)音模型存儲(chǔ)區(qū)首地址為0xffff(擦除后的值)時(shí),系統(tǒng)會(huì)要求重新對(duì)其進(jìn)行訓(xùn)練。

  FIQ中斷服務(wù)程序

  FIQ中斷服務(wù)程序用來調(diào)用語(yǔ)音辨識(shí)子程序,并對(duì)a2000格式的語(yǔ)音進(jìn)行解碼播放。

  調(diào)試及性能分析

  系統(tǒng)的調(diào)試以程序?yàn)橹?。硬件調(diào)試時(shí),首先檢查電路的焊接是否正確,然后用萬用表測(cè)試或通電檢測(cè)。軟件調(diào)試則需要分別進(jìn)行主程序、FIQ中斷服務(wù)程序、顯示子程序等的編程及調(diào)試。本程序采用單片機(jī)匯編語(yǔ)言編寫,用KEIL uVision2編譯器編程調(diào)試。軟件調(diào)試直到語(yǔ)音能夠控制小車的行駛狀態(tài),并顯示出小車的行駛距離等功能為止。

  結(jié)語(yǔ)

  本文設(shè)計(jì)的語(yǔ)音控制系統(tǒng)主要采用16位單片機(jī)SPCE061A來實(shí)現(xiàn)。軟件編程則是采用C語(yǔ)言和匯編語(yǔ)言的混合編程來實(shí)現(xiàn)的,集兩種語(yǔ)言的優(yōu)點(diǎn)于一體,實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)控制。通過實(shí)驗(yàn)驗(yàn)證,該語(yǔ)音控制系統(tǒng)主要可實(shí)現(xiàn)以下功能:

  (1) 可以通過語(yǔ)音命令來控制小車的行駛狀態(tài),實(shí)現(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等功能;

  (2) 顯示小車的運(yùn)行時(shí)間以及運(yùn)行路程;

  (3) 可以擴(kuò)展控制板的調(diào)速環(huán)節(jié),利用系統(tǒng)的PWM資源,實(shí)現(xiàn)小車的PWM調(diào)速;

  (4) 預(yù)留多路開關(guān)型傳感器接口,可以自行安裝各類傳感器,配合程序?qū)崿F(xiàn)小車的循跡、避障等功能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉