




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 ARM課程設(shè)計(jì)報(bào)告 基于ARM的數(shù)字音識(shí)別系統(tǒng)1、 C/OS-II的移植1. C/OS-II簡(jiǎn)介 C/OS-II是一個(gè)完整的、可移植、可固化、可剪裁的占先式實(shí)時(shí)多任務(wù)內(nèi)核。C/OS-II使用ANSI C語(yǔ)言編寫,包含一小部分匯編代碼,使之可以供不同架構(gòu)的微處理器使用。至今,從8位到64位,C/OS-II已在超過40種不同架構(gòu)的微處理器上運(yùn)行。C/OS-II的特點(diǎn):提供源代碼、可移植性、可固化、可剪裁、可剝奪、多任務(wù)、可確定性、任務(wù)棧、系統(tǒng)服務(wù)、中斷管理、穩(wěn)定性與可靠性。2.C/OS-II移植C/OS-II硬件軟件體系結(jié)構(gòu)3. 移植C/OS-II用于產(chǎn)生系統(tǒng)時(shí)鐘移植時(shí)需要編寫的代碼要移植一個(gè)操
2、作系統(tǒng)到一個(gè)特定的CPU體系結(jié)構(gòu)上并不是一件很容易的事情,它對(duì)移植者的要求:對(duì)目標(biāo)體系結(jié)構(gòu)要有很深了解;對(duì)OS原理要有較深入的了解;對(duì)所使用的編譯器要有較深入的了解;對(duì)需要移植的操作系統(tǒng)要有相當(dāng)?shù)牧私猓粚?duì)具體使用的芯片也要一定的了解。1)移植需要編寫的文件 根據(jù)C/OS-II的要求,移植C/OS-II到一個(gè)新的體系結(jié)構(gòu)上需要提供2個(gè)或3個(gè)文件: OS_CPU.H(C語(yǔ)言頭文件) OS_CPU_C.C(C程序源文件) OS_CPU_A.ASM(匯編程序源文件) 其中OS_CPU_A.ASM在某些情況下不需要,但極其罕見。2) 移植代碼包括的內(nèi)容3)與應(yīng)用相關(guān)的代碼OS_CFG.H 用來配置內(nèi)核,
3、用戶根據(jù)需要對(duì)內(nèi)核進(jìn)行修改,留下需要的部分,去掉不需要的部分,INCLUDES.H 系統(tǒng)頭文件,整個(gè)實(shí)時(shí)系統(tǒng)程序所需要的文件,包括了內(nèi)核和用戶的頭文件,這樣使得用戶項(xiàng)目中的每個(gè).C文件不用分別去考慮他實(shí)際上需要哪些頭文件。4)與處理器相關(guān)的代碼這是移植中最關(guān)鍵的部分。內(nèi)核將應(yīng)用系統(tǒng)和底層硬件有機(jī)地結(jié)合成一個(gè)實(shí)時(shí)系統(tǒng),我們?cè)谝浦矔r(shí)需要自己處理這部分代碼,在I.OS_CPU.H包含了用#define定義的與處理器相關(guān)的常量、宏和類型定義,有系統(tǒng)數(shù)據(jù)類型定義、棧增長(zhǎng)方向定義、關(guān)中斷和開中斷定義、系統(tǒng)軟中斷的定義等。 (1)不依賴于編譯的數(shù)據(jù)類型C/OS-不使用C語(yǔ)言中的short,int和long等
4、數(shù)據(jù)類型的定義,因?yàn)樗麄兣c處理器類型有關(guān),隱含著不可移植性,代之以移植性強(qiáng)的整數(shù)數(shù)據(jù)類型,這樣,既直觀又可移植。根據(jù)ADS編譯器的特性,代碼為:typedef unsigned char BOOLEAN;typedef unsigned char INT8U;typedef signed char INT8S;typedef unsigned short INT16U;typedef signed short INT16S;typedef unsigned int INT32U;typedef signed int INT32S;typedef float FP32;typedef doubl
5、e FP64;typedef INT32U OS_STK; (2)使用軟中斷SWI做底層接口 因?yàn)閹變量的ARM7處理器核具有兩個(gè)指令集,用戶任務(wù)可以使用兩種處理器模式,為了使底層接口函數(shù)與處理器狀態(tài)無關(guān),同時(shí)在任務(wù)調(diào)用相應(yīng)函數(shù)時(shí)不需要知道該函數(shù)位置,應(yīng)用中使用軟中斷指令SWI作為底層接口,使用不同的功能號(hào)區(qū)分不同的函數(shù)。 (3)OS_STK_GROWTH C/OS-使用結(jié)構(gòu)常量OS_STK_GROWTH指定堆棧的生長(zhǎng)方式,其代碼為:#define OS_STK_GROWTH 1II.OS_CPU_C.C包含了與移植有關(guān)的C函數(shù),但是最重要的是OSTaskStkInit()函數(shù),該函數(shù)是在用
6、戶建立任務(wù)時(shí)系統(tǒng)內(nèi)部自己調(diào)用的,用來對(duì)用戶任務(wù)的堆棧初始化。在ARM7體系結(jié)構(gòu)下,任務(wù)堆棧空間由高至低遞減,依次保存著PC,LR,R12,R1,R0,CPSR的初始化堆棧結(jié)構(gòu),當(dāng)用戶初始化了堆棧,OSTaskStkInit()就返回新的堆棧指針STK所指的定地址。OSTaskCreate()和OSTaskCreateExt()會(huì)獲得該地址并將他保存到任務(wù)控制塊TCB中。III. OS_CPU_A.SOs_cpu_a.s的結(jié)構(gòu)圖5) 關(guān)于中斷及時(shí)鐘節(jié)拍在移植中,IRQ是受C/OS-II管理的中斷,而對(duì)于FIQ不做處理,這是為了提高FIQ的響應(yīng)速度。由于各種ARM芯片的中斷系統(tǒng)不一樣,各個(gè)用戶的目
7、標(biāo)板也不一樣,對(duì)于中斷和時(shí)鐘節(jié)拍是需要進(jìn)一步移植的代碼。為此應(yīng)編寫了一個(gè)匯編宏,它是C/OS-II for ARM7通用的中斷服務(wù)程序的匯編與C函數(shù)接口代碼。流程圖:void ISR(void) OS_ENTER_CRITICAL()或直接給變量OsEnterSum賦1; 清除中斷源; 通知中斷控制器中斷結(jié)束: 開中斷: OS_EXIT_CRITICAL();用戶處理程序;4. C/OS-的測(cè)試做完移植工作以后,就要測(cè)試移植是否正確,這其實(shí)是移植過程的最后一步,應(yīng)該首先不加任何用代碼來測(cè)試移植好的C/OS-,即應(yīng)該首先測(cè)試內(nèi)核自身的運(yùn)行狀況,這樣做的目的是如果有些部分未能正常工作,那就是移植本
8、身的問題,而不是應(yīng)用代碼產(chǎn)生的問題,主要分為以下幾個(gè)步驟來進(jìn)行移植的測(cè)試:首先,必須了解處理器所使用的編譯器系統(tǒng),這個(gè)步驟取決于使用的編譯器,在這期間是無代碼的測(cè)試,其次,要驗(yàn)證OSTaskStkInit()和OSStartHighRdy()函數(shù),在OS_CFG.H文件中設(shè)置OS_TASK_STAT_EN為0,只讓一個(gè)空閑任務(wù)OS_TaskIdle()運(yùn)行,檢查是否出錯(cuò),然后需要驗(yàn)證任務(wù)級(jí)切換OSCtxSw()函數(shù),在測(cè)試任務(wù)TaskTest()中加入OSTimeDly()函數(shù),OSTimeDly()函數(shù)接著調(diào)用OS_Sched(),OS_Sched()調(diào)用匯編語(yǔ)言編寫的函數(shù)OSCtxSw()
9、函數(shù),如果是正確配置了SWI,CPU就會(huì)開始執(zhí)行OSCtxSw(),最后,需要驗(yàn)證OSIntCtxSw()和OSTickISR()函數(shù)。當(dāng)上述的這些測(cè)試步驟都成功后,可以嘗試運(yùn)行一些具體的任務(wù),按照由簡(jiǎn)到繁的過程不斷使測(cè)試變得復(fù)雜,來進(jìn)一步驗(yàn)證內(nèi)核的穩(wěn)定性和系統(tǒng)性能。二、系統(tǒng)設(shè)計(jì)1.語(yǔ)音識(shí)別系統(tǒng)概述伴隨著科技進(jìn)步和全球信息交流的日益擴(kuò)大,嵌入式設(shè)備產(chǎn)品的市場(chǎng)規(guī)模在迅猛發(fā)展。追求小體積多功能嵌入式設(shè)備的必然趨勢(shì),使語(yǔ)音合成、語(yǔ)音識(shí)別、手寫輸入技術(shù)在嵌入式中的應(yīng)用成了最具吸引力的功能,因此今后嵌入式產(chǎn)品交互應(yīng)用的競(jìng)爭(zhēng)已演化成以此三項(xiàng)關(guān)鍵技術(shù)為核心的競(jìng)爭(zhēng)。語(yǔ)音識(shí)別是通過識(shí)別和理解過程把人類的語(yǔ)音信號(hào)
10、轉(zhuǎn)變?yōu)槲谋净蛎畹募夹g(shù)。其根本目的就是研究出一種具有聽覺功能的機(jī)器,這種機(jī)器能直接接受人的語(yǔ)音,理解人的意圖,并做出相應(yīng)的反應(yīng)。從技術(shù)看,它屬于多維模式識(shí)別和智能接口的范疇。語(yǔ)音識(shí)別技術(shù)是一項(xiàng)集聲學(xué)、語(yǔ)音學(xué)、計(jì)算機(jī)、信息處理、人工智能等于一體的綜合技術(shù),可廣泛應(yīng)用于信息處理、通信與電子系統(tǒng)、自動(dòng)控制等領(lǐng)域。2.語(yǔ)音識(shí)別原理 語(yǔ)音識(shí)別技術(shù)發(fā)展到今天,人們提出了各種的識(shí)別方法,但它們的基本原理都是相同的,即語(yǔ)音信號(hào)經(jīng)過采集送到特征提取模塊處理,得到一組反映該段語(yǔ)音特征的參數(shù)模型,然后這些特征參數(shù)送入模型庫(kù)模塊,聲音模式匹配模塊根據(jù)模型庫(kù)對(duì)該段語(yǔ)音進(jìn)行識(shí)別,最后得出識(shí)別結(jié)果。 語(yǔ)音識(shí)別屬于模式識(shí)別,
11、與人的認(rèn)知過程一樣,分為訓(xùn)練和識(shí)別兩個(gè)過程。在訓(xùn)練階段,語(yǔ)音識(shí)別系統(tǒng)對(duì)人類語(yǔ)言進(jìn)行學(xué)習(xí),學(xué)習(xí)結(jié)束,把學(xué)習(xí)內(nèi)容組成語(yǔ)音庫(kù)存儲(chǔ)起來;識(shí)別階段就可以把人們當(dāng)前輸入的語(yǔ)音在語(yǔ)音庫(kù)中查找相應(yīng)的詞義或語(yǔ)義。從信號(hào)處理的角度,任何一個(gè)語(yǔ)音識(shí)別系統(tǒng)都能下圖來表示。 語(yǔ)音識(shí)別基本原理框圖從圖中可以看出語(yǔ)音識(shí)別一般分為兩個(gè)步驟: 第一步是系統(tǒng)“學(xué)習(xí)”或“訓(xùn)練”階段, 這一階段的任務(wù)是建立識(shí)別基本單元的聲學(xué)模型以及進(jìn)行文法分析的語(yǔ)言模型, 即構(gòu)建參考模式庫(kù); 第二步是“識(shí)別”或“測(cè)試”階段,根據(jù)識(shí)別系統(tǒng)的類型選擇能夠滿足要求的識(shí)別方法, 采用語(yǔ)音分析方法分析出這種識(shí)別方法所要求的語(yǔ)音特征參數(shù), 按照一定的準(zhǔn)則和測(cè)度
12、與參考模式庫(kù)中的模型進(jìn)行比較, 通過判決得出結(jié)果。3. 系統(tǒng)硬件設(shè)計(jì) 系統(tǒng)以LPC2880 ARM 芯片為核心, 加上FLASH、EPROM等存儲(chǔ)設(shè)備, 及LCD、USB、語(yǔ)音接口等外圍設(shè)備構(gòu)成, 共同完成語(yǔ)音的訓(xùn)練和識(shí)別過程。LPC2880 是一款基于ARM7 的32 位微控制器, 適合于要求低功耗和高性能的便攜式應(yīng)用, 8KB 的系統(tǒng)高速緩存(CACHE) , 極大地提高了系統(tǒng)運(yùn)行速度。它包含一個(gè)USB2.0 高速設(shè)備接口, 外部存儲(chǔ)器控制器支持SDRAM、FLASH、ROM和SRAM, 一個(gè)MMC/SD 存儲(chǔ)卡接口, A/D和D/A 轉(zhuǎn)換器, 以及包含UART、I2C 總線和I2S 總線
13、在內(nèi)的串行接口。在結(jié)構(gòu)上增加了多通道DMA, 處理器高速緩存, 多條內(nèi)部總線上的同步操作, 靈活的時(shí)鐘發(fā)生單元, 它們有助于確保LPC2880 能夠處理更高要求的應(yīng)用。該芯片能夠采用單電池、USB 或已校準(zhǔn)的1.8V 和3.3V 供電。系統(tǒng)的硬件框圖如圖下所示。 音識(shí)別系統(tǒng)硬件框圖1)系統(tǒng)組成( 1) 控制部分主要由LPC2880 芯片和鍵盤組成。系統(tǒng)的整個(gè)控制過程由LPC2880 來完成, 語(yǔ)音信號(hào)的特征提取、訓(xùn)練算法由上位機(jī)( PC) 來完成。UDA1314 音頻芯片通過IIS 接口與微控制器進(jìn)行音頻通信, 全部代碼固化在EEPROM中, 采樣的數(shù)據(jù)和變量存入RAM內(nèi)。鍵盤則用來控制整個(gè)系
14、統(tǒng)的工作狀態(tài)選擇, 通過不同按鍵來選擇不同的功能。主機(jī)的通信則由LPC2880 通過USB 接口來實(shí)現(xiàn), 并操作LCD 液晶顯示模塊來顯示信息。( 2) 輸入輸出部分包括有話筒、揚(yáng)聲器、LCD 液晶顯示器、A/D 和D/A 轉(zhuǎn)換電路組成。語(yǔ)音模擬信號(hào)經(jīng)話筒輸入然后進(jìn)行預(yù)處理, 包括A/D 變換, 自動(dòng)增益控制, 反混疊濾波。整個(gè)系統(tǒng)的A/D、D/A 變換由PHILIPS 公司的UDA1314 專用音頻芯片完成, 它集成了A/D 和D/A 功能, 并內(nèi)置有濾波器。揚(yáng)聲器用來輸出聲音, LCD 用來顯示系統(tǒng)當(dāng)前的工作狀態(tài)。所用的是點(diǎn)陣式液晶顯示器, 為日立公司的HD44780A00LCD。( 3)
15、 存儲(chǔ)部分存儲(chǔ)器部分共分為3 塊: 存儲(chǔ)運(yùn)行程序、采樣數(shù)據(jù)、語(yǔ)音信號(hào)訓(xùn)練結(jié)果。由于要存儲(chǔ)語(yǔ)音信號(hào)訓(xùn)練的結(jié)果, 因此選用了SAMSUNG 公司生產(chǎn)的4M×8=32MB KM29W32000AT FLASH 芯片, 它可進(jìn)行100 萬(wàn)次擦寫, 數(shù)據(jù)保存時(shí)間為10a, 通過編程可自動(dòng)進(jìn)行擦寫。這里用于保存語(yǔ)音信號(hào)訓(xùn)練的結(jié)果數(shù)據(jù), 其數(shù)據(jù)保存不需要充電維持。其連接電路圖如下圖所示。片內(nèi)自帶64KB靜態(tài)RAM用來存儲(chǔ)采樣數(shù)據(jù)。用一片24AA128( 128kE2PROM) 用來存放控制LPC2880 工作的程序。 FLASH 存儲(chǔ)器連接電路圖2)系統(tǒng)的工作過程分析( 1) LPC2880 與U
16、DA1341 語(yǔ)音芯片接口工作原理 UDA1341TS 語(yǔ)音芯片通過IIS( I2S) 接口與LPC2880 微控制器進(jìn)行音頻通信, 此外該芯片帶有L3 接口, 進(jìn)行內(nèi)部寄存器設(shè)置, 如音量控制, 低音加強(qiáng)等, L3 接口與3 個(gè)GPIO 口連接。IIS( Inter- IC Sound bus) 又稱I2S, 是SONY、PHILIPS 等公司提出的串行數(shù)字音頻總線協(xié)議。IIS 總線只傳送聲音數(shù)據(jù), L3 接口發(fā)送控制信息: L3DATA 接口數(shù)據(jù)線; L3MODE 接口模式線; L3CLOCK 接口時(shí)鐘信號(hào)線。LPC2880 通過L3 接口向UDA1341 語(yǔ)音芯片發(fā)送控制信息, 發(fā)送過程
17、分地址模式和數(shù)據(jù)傳送模式。地址模式主要用來選擇所要發(fā)送數(shù)據(jù)的目的寄存器。數(shù)據(jù)傳送模式數(shù)據(jù)可以雙向傳送, 發(fā)送控制信息。地址模式、數(shù)據(jù)傳送模式選擇由L3MODE 口線的電平時(shí)序決定, 在設(shè)定時(shí), 地址模式在先、數(shù)據(jù)傳送模式在后, 完成一次寄存器設(shè)置。( 2) 語(yǔ)音識(shí)別系統(tǒng)工作原理 系統(tǒng)的工作分為語(yǔ)音訓(xùn)練和語(yǔ)音識(shí)別兩個(gè)過程,在語(yǔ)音訓(xùn)練過程中, 從話筒輸入的語(yǔ)音信號(hào)經(jīng)UDA1341 音頻芯片處理變換后, 由PC上位機(jī)采用隱馬爾可夫算法( HMM) 進(jìn)行訓(xùn)練, 然后將分析后的結(jié)果保存在FLASH 中。語(yǔ)音識(shí)別階段是將輸入的語(yǔ)音信號(hào)經(jīng)過控制器處理后與存在FLASH 中的參考樣本進(jìn)行對(duì)比, 然后找出最相近
18、的聲音作為識(shí)別效果, 然后再由LPC2880 通知用戶系統(tǒng)。整個(gè)過程由LPC2880 進(jìn)行控制, 上位機(jī)只參與算法設(shè)計(jì), LPC2880 與上位機(jī)之間交換信息通過USB2.0 接口, 信息傳送速度快。4.系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì)分為算法設(shè)計(jì)和控制軟件設(shè)計(jì), 算法主要是用隱馬爾可夫算法( HMM) 來實(shí)現(xiàn)語(yǔ)音模型訓(xùn)練及識(shí)別, 控制軟件則是系統(tǒng)的整體軟件設(shè)計(jì)。 HMM是到目前為止已有的最強(qiáng)有力的語(yǔ)音識(shí)別算法。對(duì)語(yǔ)音識(shí)別系統(tǒng)而言, HMM的輸出值通常就是各個(gè)幀的聲學(xué)特征。為了降低模型的復(fù)雜度, 通常HMM模型有兩個(gè)假設(shè)前提: 一是內(nèi)部狀態(tài)的轉(zhuǎn)移只與上一狀態(tài)有關(guān); 二是輸出值只與當(dāng)前狀態(tài)或當(dāng)前狀態(tài)轉(zhuǎn)移有關(guān)。除了這兩個(gè)假設(shè)外, HMM模型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年6人股東合作協(xié)議書模板
- 五年級(jí)上冊(cè)數(shù)學(xué)教案-4.4 探索活動(dòng):三角形的面積(8)-北師大版
- 五年級(jí)下冊(cè)數(shù)學(xué)教案-3.2 2和5的倍數(shù)的特征丨蘇教版
- 8-數(shù)學(xué)廣角-搭配(二)-人教版三年級(jí)下冊(cè)數(shù)學(xué)單元測(cè)試卷(含答案和解析)-
- 《木蘭詩(shī)》歷年中考古詩(shī)欣賞試題匯編(截至2024年)
- Unit Six《 Lesson 17 Happy Chinese New Year to Our Family!》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年北京版(2024)英語(yǔ)一年級(jí)上冊(cè)
- 2024年磁粉離合器項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2025年度個(gè)人與環(huán)??萍脊经h(huán)保項(xiàng)目提成合同
- 2025年度便利店加盟店合作協(xié)議
- 2025年度離職員工解除勞動(dòng)合同保密協(xié)議書及保密承諾書
- 公司資產(chǎn)情況說明范文百度
- 醫(yī)療器械中有害殘留物檢驗(yàn)技術(shù)
- 2015-2022年大慶醫(yī)學(xué)高等??茖W(xué)校高職單招語(yǔ)文/數(shù)學(xué)/英語(yǔ)筆試參考題庫(kù)含答案解析
- 產(chǎn)品過程特殊特性初始清單(示例)
- 兩篇古典英文版成語(yǔ)故事塞翁失馬
- 中國(guó)古代文學(xué)史 馬工程課件(中)13第五編 宋代文學(xué) 第一章 北宋初期文學(xué)
- GB/T 14643.4-2009工業(yè)循環(huán)冷卻水中菌藻的測(cè)定方法第4部分:土壤真菌的測(cè)定平皿計(jì)數(shù)法
- DL-T 5190.1-2022 電力建設(shè)施工技術(shù)規(guī)范 第1部分:土建結(jié)構(gòu)工程(附條文說明)
- GA/T 914-2010聽力障礙的法醫(yī)學(xué)評(píng)定
- GA/T 642-2020道路交通事故車輛安全技術(shù)檢驗(yàn)鑒定
- 建筑工地生活區(qū)管理制度范本
評(píng)論
0/150
提交評(píng)論