freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于spce061a單片機的語音遙控小車的設(shè)計-在線瀏覽

2025-01-20 21:46本頁面
  

【正文】 CE061A開發(fā)板用于采集聲音信號,如方案二判斷 出語音命令,然后把語音命令轉(zhuǎn)換為固定碼通過 PT2262無線發(fā)射模塊發(fā)射出去。比如預(yù)先約定的“ 0001”固定碼代表“左拐”命令,當(dāng)接收到的固定碼為“ 0001”時,小車執(zhí)行左拐動作。 接口總線 接口 模塊 語音接收模塊 語音播放 電機驅(qū)動 IO MCS51 IO MIC 輸入 模塊 語音輸出 模塊 SPCE061A 動力電機 模塊 A/D 轉(zhuǎn)換 編碼解碼處理 存儲 D/A轉(zhuǎn)換 IO 口 舵機驅(qū)動 模塊 IO 口 4 圖 43 基于兩塊 SPCE061A 單片機的語音遙控小車的設(shè)計 方案比較 根據(jù)設(shè)計要求 ,若采用方案一即使用 AT89C51單片機,需要額外添加語音模塊、擴展存儲器,外圍器件,尤其語音芯片,擴展存儲器等總線器件,占用大量 IO口,所以還需要進(jìn)行端口擴展等其他操作;外接模塊擴展接口會提高成本,電路也將變的復(fù)雜,從而造成性能不穩(wěn)定,降低運算速度。所以采用凌陽 SPCE061A單片機來設(shè)計語音遙控小車的設(shè)計。方案三相對方案二的優(yōu)點是減小小車行駛過程中電機噪聲的干擾,確保聲音識別的準(zhǔn)確性。出于這兩方面的考慮,此設(shè)計采用第三種方案,即采用兩塊 SPCE061A單片機開發(fā)板,將聲音采集,和小車電機控制,分離開來,然后通過無線信號連接起來。接收模塊根據(jù)接收的不同的固定碼來判斷語音命令的真正意圖,通過 IO 口管腳操作來實現(xiàn)對小車的行駛狀態(tài)的。nSP內(nèi)核的 16位單片機,具 有一定的數(shù)字信號處理功能,該芯片擁有 8 路 10 位精度的 ADC,其中一路為音頻信號專用轉(zhuǎn)換通道,并且內(nèi)置有自動增益電路。兩路 10 位精度的 DAC,只需要外接功放( SPY0030A)即可完成語音的播放。nSP 微處理器; ( 2) 工作電壓:內(nèi)核工作電壓 VDD為 ~(CPU), I/O口工作電壓 VDDH為 VDD~(I/O); ( 3) CPU時鐘: ~; ( 4) 內(nèi)置 2K字 SRAM; ( 5) 內(nèi)置 32K閃存 ROM; ( 6) 可編程音頻處理; ( 7) 晶體振蕩器; ( 8) 系統(tǒng)處于備用狀態(tài)下 (時鐘處于停止?fàn)顟B(tài) ); ( 9) 2個 16位可編程定時器 /計數(shù)器 (可自動預(yù)置初始計數(shù)值 ); ( 10) 2個 10位 DAC(數(shù) 模轉(zhuǎn)換 )輸出通道; ( 11) 32位通用可編程輸入 /輸出端口; ( 12) 14個中斷源可來自定時器 A/B, 時基, 2個外部時鐘源輸入,鍵喚醒; ( 13) 具備觸鍵喚醒的功能; ( 14) 使用凌陽音頻編碼 SACM_S240方式 ( /秒 ),能容納 210秒的語音數(shù)據(jù); ( 15) 鎖相環(huán) PLL振蕩器 提供系統(tǒng)時鐘信號; ( 16) 32768Hz實時時鐘; 6 (17) 7通道 10位電壓模 數(shù)轉(zhuǎn)換器 (ADC)和單通道聲音模 數(shù)轉(zhuǎn)換器; (18) 聲音模 數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益控制 (AGC)功能; (19) 具備串行設(shè)備接口; (20) 低電壓復(fù)位 (LVR)功和低電壓監(jiān)測 (LVD)功能; (21) 內(nèi)置在線仿真板 (ICE, In Circuit Emulator)。 7 圖 54 凌陽 SPCE061A 單片機最小系統(tǒng) 電源 SPCE061A板采用 3節(jié) 5號電池進(jìn)行供電,由 J10接入,其中前后兩組電容用來去耦濾波,使其供給電源更加穩(wěn)定。兩個二極管,是為了防止誤將電 源接反而設(shè)置的。后面的零電阻及其電源分成不同的幾路是為了減少電磁干擾設(shè)置的。 SPY0029是凌陽公司設(shè)計的電壓調(diào)整 IC,采用 CMOS工藝。 VDDH3為 SPCE061A單片機 的 I/O電平參考,接 SPCE061A單片機 的 51腳,這種接法使得 I/O輸出高電平為 ; VDDP為 PLL鎖相環(huán)電源,接 SPCE061A單片機 的 7腳; VDD和 VDDA分別為數(shù)字電源與模擬電源,分別接 SPCE061A單片機 的 15腳和 36腳; AVSS1是模擬地,接 SPCE061A單片機 的 24 腳; VSS是數(shù)字地,接 SPCE061A單片機 的 38腳; AVSS2接音頻輸出電路的 AVSS2。如果系統(tǒng)需要的端口高電平為 ,所以圖中的 J5跳線需要跳到 2和 3上。編碼芯片 PT2262 發(fā)出的編碼信號由:地址碼、數(shù)據(jù)碼、同步碼組成一個完整的碼字, 解碼芯片 PT2272 接收到信號后,其地址碼經(jīng)過兩次比較核對后, VT 腳才輸出高電平,與此同時相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。 圖 56 無線發(fā)射模塊 圖 57 無線接收模塊 因為無線發(fā)射模塊考慮到發(fā)射距離采用 12V供電,這里我們采用光電隔離。當(dāng)語音識別后, IO口電平變?yōu)榕c之對應(yīng)的數(shù)據(jù)碼 D0、 D D D3 四位,當(dāng)某一位為“ 1”,光電三極管導(dǎo)通,則在該位上 PT2262輸入“ 1”,否則該位 PT2262數(shù)據(jù)輸入“ 0”。 無線接收模塊通過天線接收到數(shù)據(jù)碼,通過 D0、 D D D3 輸出。當(dāng)有數(shù)據(jù)碼接收時,根據(jù) 9 不同的數(shù)據(jù)碼對 H橋驅(qū)動 IO口進(jìn)行不同的電平轉(zhuǎn)換,從而實現(xiàn)對電機的驅(qū)動,改變小車的行駛狀態(tài)。 圖 58 無線發(fā)射模塊電路連接 圖 59 無線接收模塊電路連接 小車控制板 控制板主要包括:接口電路、電源電路和兩路電機的驅(qū)動電路,電路連接如圖 510。 電源部分:整個小車有 4 個電源信號:電池電源,控制板工作電源, SPCE061A開發(fā)板工作電源, SPCE061A開發(fā)板的 I/O輸出電源。 二極管 D1作用: ( 1)降壓, 4 節(jié)電池提供的電壓 VCC 最大可達(dá)到 6V, D1 可有效地降壓。 10 電機驅(qū)動部分:分為舵機驅(qū)動和動力電機驅(qū)動,所以采用雙 H橋驅(qū)動。 如果讓 Q Q2 導(dǎo)通 Q Q4 關(guān)斷,如圖 511所示,此時電流將會流經(jīng) Q負(fù)載、 Q2 組成的回路,電機正轉(zhuǎn)。如果讓 Q Q2 關(guān)斷 Q Q4 也關(guān)斷,負(fù)載 Load兩端懸空,此時電機停轉(zhuǎn),如圖514。 如果讓 Q Q2 導(dǎo)通 Q Q4 也導(dǎo)通,那么電流將會流經(jīng) Q Q4 組成的回路以及 Q2 和 Q3 組成的回路,如圖 513所示,這時橋臂上會出現(xiàn)很大的短路電流。 圖 513 Q Q Q Q4 都導(dǎo)通時電機停轉(zhuǎn) 12 圖 514 Q Q Q Q4 都不導(dǎo)通時電機停轉(zhuǎn) 小車車體架構(gòu) 語音控制小車為四輪結(jié)構(gòu),前面兩個車輪由前輪電機控制,來調(diào)節(jié)小車的前進(jìn)方向。后面兩個車輪由后輪電機驅(qū)動,為整個小車提供前行動力。前輪電機反向轉(zhuǎn)動,后輪電機正向轉(zhuǎn)動,這時小車就是會在前后輪共同作用下朝右側(cè)前行,如圖 516 所示。 圖 515 車體側(cè)視圖 后輪 前輪 13 圖 516 小車頂視右轉(zhuǎn)圖 SPCE061A精簡開發(fā)板 SPCE061A精簡開發(fā)板(簡稱 61板),是以凌陽 16位單片機 SPCE061A為核心的精簡開發(fā)-仿真-實驗板,除具備單片機最小系統(tǒng)電路外,還包括有電源電路、音頻電路(含 MIC輸入電路和 DAC音頻輸出部分)、復(fù)位電路。 61板上的主要功能模塊如下: ( 1) SPCE061A單片機最小系統(tǒng)外圍電路模塊; ( 2)電源輸入模塊; ( 3)音頻電路(包含 Mic輸入、 DAC音頻功放輸出)模塊; ( 4)按鍵模塊; ( 5) I/O端口接口模塊; ( 6)調(diào)試、下載接口模塊。 14 圖 517 小車實物圖 圖 518 語音遙控部分實物圖 15 6 系統(tǒng)軟件設(shè)計 軟件結(jié)構(gòu) 本系統(tǒng)主要包括以下程序:小車訓(xùn)練子程序,語音識別子程序,無線信號發(fā)射子程序,電機驅(qū)動子程序,中斷子程序。 圖 61 第一塊開發(fā)板主程序流程圖 Y N Y N 初始化 訓(xùn)練小車 保存訓(xùn)練結(jié)果 進(jìn)入識別模式 語音識別 清模型存儲區(qū) 等待復(fù)位 重新訓(xùn)練 發(fā)射語音識別對應(yīng)數(shù)據(jù)碼 已訓(xùn)練過 開始 裝載語音模型 16 圖 62 第二塊開發(fā)板主流程圖 系統(tǒng)的主程序流程如圖 61所示,分為四大部分:初始化部分、訓(xùn)練部分、識別部分、重訓(xùn)操作。必要時還要有對應(yīng)的輸入端設(shè)置和 PWM 端口設(shè)置等。程序一開始判斷小車是否被訓(xùn)練過,如果沒有訓(xùn)練過則要求對其進(jìn)行訓(xùn)練,并且會在 訓(xùn)練成功之后將訓(xùn)練的模型存儲到 Flash,在以后使用時不需要重新訓(xùn)練;如果已經(jīng)訓(xùn)練過會把存儲在 Flash 中的模型調(diào)出來裝載到辨識器中。如果辨識結(jié)果為動作指令小車會語音告知相應(yīng)動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車的名字使小車停下來。復(fù)位后,程序重新執(zhí)行,當(dāng)檢測到訓(xùn)練標(biāo)志位為 0xffff時會要求重新對其進(jìn)行訓(xùn)練。在訓(xùn)練階段,單片機對采集到的語音樣本進(jìn)行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,單片機對采集到的語音樣本也進(jìn)行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進(jìn)行對比,如果二者達(dá)到了一定的匹配度,則輸入的語音被識別。 N 播放相應(yīng)交互語音 執(zhí)行相應(yīng)電機操作 Y 接收到數(shù)據(jù)碼 初始化 開始 掃描鍵盤 17 圖 63 語音識別流程圖 訓(xùn)練子程序 當(dāng)程序檢測到訓(xùn)練標(biāo)志位 BS_Flag內(nèi)容為 0xffff,就會要求操作者對它進(jìn)行訓(xùn)練操作,訓(xùn)練操作的過程如圖 64所示:訓(xùn)練采用兩次訓(xùn)練獲取結(jié)果的方式,以訓(xùn)練名字為例:小車首先會提示:給我取個名字吧,這時你可以告訴它一個名字(比如小強);然后它會提示:請再說一遍,這時再次告訴它名字(小強),如果兩次的聲音差別不大,小車就能夠成功的建立模型,名稱訓(xùn)練成功;如果沒能夠成功的建立模型,小車會告知失敗的原因并要求重新訓(xùn)練。依次訓(xùn)練小車的名稱 — 前進(jìn)指令 — 倒車指令 — 左轉(zhuǎn)指令 — 右轉(zhuǎn)指令,全部訓(xùn)練成功子程序返回,訓(xùn)練結(jié)束。 void TrainSD() { while(TrainWord(NAME_ID,S_NAME) != 0) 。 //訓(xùn)練第 1 個動作 while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) 。 //訓(xùn)練第 3 個動作 while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) 。如果 ID號為名稱,則結(jié)束運動(如果當(dāng)前在運動狀態(tài)),進(jìn)入待命狀態(tài),等待下一次的指令觸發(fā);如果 ID號為動作,則語音告知將要執(zhí)行的動作,并執(zhí)行該動作。 前進(jìn):由小車的結(jié)構(gòu)原理和驅(qū)動電路分析知:只要 IOB8 為高電平, IOB9, IOB10, IOB11 全部為低電平即可實現(xiàn)小車的前進(jìn)。 //語音提示 *P_IOB_Data=0x0100。 //開 2Hz 中斷 __asm(int fiq,irq)。 //清定時器 } 倒車:由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:只要 IOB9 為高電平, IOB8, IOB10, IOB11 全部為低電平即可實現(xiàn)小車的倒退。 //語音提示 *P_IOB_Data=0x0200。 //開 2Hz 中斷 __asm(int fiq,irq)。 //清定時器 } 左轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車左轉(zhuǎn)需要兩個條件: 前進(jìn), 這時對應(yīng)的 I/O狀態(tài)為: IOB IOB10為高電平, IOB IOB11為低電平。 //播放提示音 *P_IOB_Data=0x0900。 //延時 *P_IOB_Data=0x0500。 //打開 2Hz 中斷 __asm(int f
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1