單片機(jī)原理及實(shí)用技術(shù)第9章-SPCE061A實(shí)用技術(shù)課件_第1頁(yè)
單片機(jī)原理及實(shí)用技術(shù)第9章-SPCE061A實(shí)用技術(shù)課件_第2頁(yè)
單片機(jī)原理及實(shí)用技術(shù)第9章-SPCE061A實(shí)用技術(shù)課件_第3頁(yè)
單片機(jī)原理及實(shí)用技術(shù)第9章-SPCE061A實(shí)用技術(shù)課件_第4頁(yè)
單片機(jī)原理及實(shí)用技術(shù)第9章-SPCE061A實(shí)用技術(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第9章 SPCE061A實(shí)用技術(shù) 9.1 應(yīng)用領(lǐng)域 9.2 應(yīng)用舉例思考題 第9章 SPCE061A實(shí)用技術(shù) 9.1 應(yīng)用領(lǐng)域9.1 應(yīng) 用 領(lǐng) 域 9.1.1 數(shù)字信號(hào)處理1. 數(shù)字濾波器(Digital Filter)數(shù)字濾波器是一種計(jì)算處理或算法,它將輸入的數(shù)字信號(hào)或序列中的干擾濾掉變換為標(biāo)準(zhǔn)數(shù)字序列輸出。數(shù)字濾波器已被廣泛地應(yīng)用于數(shù)字語(yǔ)音、數(shù)字圖像處理以及模式識(shí)別和頻譜分析等領(lǐng)域。 9.1 應(yīng) 用 領(lǐng) 域 9.1.1 數(shù)字信號(hào)處理數(shù)字信號(hào)處理器DSP(Digital Signal Processor)是通過(guò)一系列數(shù)字來(lái)表示信號(hào)及其信息,并借助數(shù)字計(jì)算方法,變換和處理這些信號(hào)的。在DSP

2、系統(tǒng)中,要求必須快速地完成數(shù)值的乘法運(yùn)算并將乘積累加于寄存器,因而要求處理器具有較高的處理速度,以完成“乘和累加”MAC(Multiply & Accumulate)運(yùn)算,nSPTM的指令系統(tǒng)中專(zhuān)門(mén)設(shè)計(jì)了“累計(jì)運(yùn)算”指令,使得數(shù)字信號(hào)處理變得非常方便。顯然,nSP的硬件結(jié)構(gòu)與其指令系統(tǒng)非常適用于DSP方面的開(kāi)發(fā)與應(yīng)用。 數(shù)字信號(hào)處理器DSP(Digital Signal Pr2. 數(shù)字信號(hào)的壓縮編碼與解碼通常用于存儲(chǔ)語(yǔ)音、圖像等多媒體信息的數(shù)字信息量非常大,無(wú)論存儲(chǔ)還是傳輸都很不方便,為了節(jié)省存儲(chǔ)空間、提高傳輸效率,我們可以采用某種算法進(jìn)行壓縮編碼與解碼(篇幅所限,不再贅述,請(qǐng)參閱數(shù)字通信原理

3、)。 2. 數(shù)字信號(hào)的壓縮編碼與解碼3. 數(shù)字語(yǔ)音信號(hào)處理數(shù)字語(yǔ)音信號(hào)處理是建立在DSP硬件基礎(chǔ)上的,通常DSP按運(yùn)算的復(fù)雜程度分為定點(diǎn)運(yùn)算和浮點(diǎn)運(yùn)算兩類(lèi)。定點(diǎn)DSP采用整數(shù)運(yùn)算,適用于容量大、簡(jiǎn)單、低功耗的應(yīng)用場(chǎng)合。浮點(diǎn)DSP采用實(shí)數(shù)運(yùn)算,適宜于高性能、較復(fù)雜的應(yīng)用場(chǎng)合。nSP可用于定點(diǎn)DSP運(yùn)算且其成本較低,在語(yǔ)音處理方面具有獨(dú)到之處。 3. 數(shù)字語(yǔ)音信號(hào)處理9.1.2 便攜式終端 隨著無(wú)線(xiàn)電通信及微電子技術(shù)的迅速發(fā)展,便攜式終端越來(lái)越朝著實(shí)用化、個(gè)性化、時(shí)尚化的方向發(fā)展,筆記本電腦、電子詞典、個(gè)人數(shù)字助理PDA(Personal Digital Assistant)等都是這種時(shí)尚潮流產(chǎn)物

4、。若以nSP家族產(chǎn)品為CPU,添加必要的外圍電路,配合相應(yīng)的外設(shè)可方便地設(shè)計(jì)出實(shí)用性強(qiáng)、可靠性高的各類(lèi)PDA產(chǎn)品。圖9.1是基于nSP系列單片機(jī)的PDA硬件框圖,是PDA的一個(gè)基本設(shè)計(jì)方案。針對(duì)不同的要求可對(duì)其外圍電路作適當(dāng)刪減、修改,設(shè)計(jì)出具有不同功能和不同品位的PDA 產(chǎn)品。 9.1.2 便攜式終端 圖9.1 基于nSP系列單片機(jī)的PDA 硬件框圖 圖9.1 基于nSP系列單片機(jī)的PDA 硬件框圖 便攜式終端的基本功能如下: 內(nèi)置微型實(shí)時(shí)操作系統(tǒng)RTOS(Real-Time Operating System)。 語(yǔ)音識(shí)別輸入或觸摸屏輸入。 無(wú)線(xiàn)移動(dòng)式語(yǔ)音通信。 無(wú)線(xiàn)尋呼機(jī)、對(duì)講機(jī)。 雙機(jī)或

5、多機(jī)通信。 下載升級(jí)軟件。 移動(dòng)定位導(dǎo)航及位置信息服務(wù)。 家電遙控器。 個(gè)人資料數(shù)據(jù)庫(kù)(名片冊(cè)、醫(yī)療檔案及家庭理財(cái)?shù)?。 電子詞典、計(jì)算器、游戲機(jī)、學(xué)習(xí)機(jī)、萬(wàn)年歷等。 便攜式終端的基本功能如下:9.1.3 嵌入式系統(tǒng)嵌入式計(jì)算機(jī)系統(tǒng)ECS(Embedded Computer System,簡(jiǎn)稱(chēng)嵌入式系統(tǒng))是指專(zhuān)門(mén)用于某一應(yīng)用系統(tǒng)或設(shè)備并隱藏于其中起控制作用的計(jì)算機(jī)系統(tǒng)。與通用計(jì)算機(jī)系統(tǒng)相比,嵌入式系統(tǒng)有以下特征:專(zhuān)用性、可封裝性、獨(dú)立性、實(shí)時(shí)性及可靠性。所謂獨(dú)立性,指ECS自成一個(gè)子系統(tǒng),與目標(biāo)系統(tǒng)的其它子系統(tǒng)保持相對(duì)獨(dú)立。不同的應(yīng)用領(lǐng)域?qū)CS的要求不同。(1) 小型應(yīng)用系統(tǒng):一般不需大量的

6、數(shù)據(jù)處理,要求ECS具有較強(qiáng)的實(shí)時(shí)控制功能、體積小、功耗低等。如智能化儀表、設(shè)備的自動(dòng)控制、家用電器、遙控器等。通常選用8位機(jī)(如凌陽(yáng)公司的SPL 系列微處理器等)即可滿(mǎn)足要求。 9.1.3 嵌入式系統(tǒng) (2) 簡(jiǎn)單的工業(yè)控制系統(tǒng):要求有相當(dāng)強(qiáng)的實(shí)時(shí)數(shù)據(jù)處理能力和控制能力。如步進(jìn)電機(jī)控制、數(shù)據(jù)采集、智能檢測(cè)系統(tǒng)、汽車(chē)控制系統(tǒng)等。一般選用8位或16位單片機(jī)即可滿(mǎn)足要求,可選用具有定點(diǎn)DSP運(yùn)算功能的nSP系列16位微處理器實(shí)現(xiàn)(如凌陽(yáng)公司的SPCE系列微處理器等)。(3) 工業(yè)控制系統(tǒng):由于現(xiàn)場(chǎng)情況復(fù)雜、環(huán)境惡劣,通常采用分布式多機(jī)系統(tǒng),采用模塊化結(jié)構(gòu),在某些模塊配置智能I/O處理機(jī)對(duì)現(xiàn)場(chǎng)信息進(jìn)

7、行實(shí)時(shí)測(cè)量和控制。因此,要求ECS不僅具有較強(qiáng)的數(shù)據(jù)處理能力,而且必須具有可靠性高、抗干擾能力強(qiáng)的硬件環(huán)境。如航空航天系統(tǒng)、機(jī)器人系統(tǒng)、生產(chǎn)線(xiàn)控制等??筛鶕?jù)需要選用若干個(gè)8位機(jī)、16位機(jī)甚至32位機(jī)組合成分布式多機(jī)系統(tǒng)。 (2) 簡(jiǎn)單的工業(yè)控制系統(tǒng):要求有相當(dāng)強(qiáng)的實(shí)時(shí)數(shù)9.1.4 凌陽(yáng)單片機(jī)應(yīng)用nSP的特點(diǎn)決定其能很好地勝任從簡(jiǎn)單到復(fù)雜的嵌入系統(tǒng),在如下一些領(lǐng)域得到了廣泛的應(yīng)用:(1) 工業(yè)控制。工業(yè)控制包括工廠生產(chǎn)線(xiàn)控制、鍋爐控制、電力系統(tǒng)自動(dòng)化、智能儀器儀表、機(jī)器人控制等。(2) 汽車(chē)控制系統(tǒng)。汽車(chē)控制系統(tǒng)包括防撞系統(tǒng)、減震系統(tǒng)、靜噪系統(tǒng)、燃油噴射系統(tǒng)、通信與音響、智能駕駛系統(tǒng)等。 9.1

8、.4 凌陽(yáng)單片機(jī)應(yīng)用(3) 消費(fèi)娛樂(lè)。消費(fèi)娛樂(lè)包括數(shù)字機(jī)頂盒、游戲機(jī)、智能玩具、語(yǔ)音復(fù)讀機(jī)、電子詞典、家用電器控制系統(tǒng)等。(4) 通信領(lǐng)域。通信領(lǐng)域包括數(shù)字留言機(jī)、數(shù)字語(yǔ)音信箱、三遙系統(tǒng)、數(shù)字信號(hào)傳輸系統(tǒng)等。(5) 軍事領(lǐng)域。軍事領(lǐng)域包括雷達(dá)與聲納信號(hào)處理、導(dǎo)航系統(tǒng)、保密通信、全球定位系統(tǒng)等。(3) 消費(fèi)娛樂(lè)。消費(fèi)娛樂(lè)包括數(shù)字機(jī)頂盒、游戲機(jī)、智能玩9.2 應(yīng) 用 舉 例 9.2.1 作息時(shí)間控制 1. 原理 在此設(shè)計(jì)了一個(gè)具有語(yǔ)音報(bào)時(shí)功能的作息時(shí)間控制鐘。假設(shè)某學(xué)校的作息時(shí)間如下:08:0008:50 第一節(jié)課08:5009:00 休息09:0009:50 第二節(jié)課09:5010:10 課間操

9、、休息10:1011:00 第三節(jié)課11:0011:10 休息11:1012:00 第四節(jié)課 12:0014:00 午間休息14:0014:50 第五節(jié)課14:5015:00 休息15:0015:50 第六節(jié)課15:5016:00 播放音樂(lè)16:0016:50 第七節(jié)課16:5018:00 體育活動(dòng) 9.2 應(yīng) 用 舉 例 9.2.1 作息時(shí)間控制08:02. 硬件電路硬件電路由CPU、鍵盤(pán)、聲音輸出模塊、顯示模塊和電源組成。SPCE061A單片機(jī)的系統(tǒng)硬件框圖如圖9.2所示。 圖9.2 系統(tǒng)硬件框圖 2. 硬件電路圖9.2 系統(tǒng)硬件框圖 系統(tǒng)擴(kuò)展了三個(gè)按鍵用于報(bào)時(shí)及校正時(shí)間。SPCE061A

10、的DAC為電流型輸出,經(jīng)負(fù)載電阻R1、三極管V1,放大驅(qū)動(dòng)揚(yáng)聲器SPEAKER放音。SPEAKER可選用4 或8 揚(yáng)聲器,根據(jù)具體需要播報(bào)相應(yīng)的語(yǔ)音信息。IOA15接一個(gè)LED,顯示作息時(shí)間到等信息,SPCE061A的工作電壓為3.3 V,可通過(guò)兩種方法獲得,如圖9.3所示。這兩種方法如下: 系統(tǒng)擴(kuò)展了三個(gè)按鍵用于報(bào)時(shí)及校正時(shí)間。SPCE061A的圖9.3 硬件連接圖 圖9.3 硬件連接圖 (1) 通過(guò)兩個(gè)二極管連續(xù)降壓使5 V的電壓降至3.6 V接近3.3 V供芯片使用,此法比較簡(jiǎn)單,但電壓值不是很精確。(2) 通過(guò)LM7833穩(wěn)壓塊獲得準(zhǔn)確的3.3 V電壓。 (1) 通過(guò)兩個(gè)二極管連續(xù)降壓

11、使5 V的電壓降至3.6 3. 程序說(shuō)明整個(gè)程序分為主程序、鍵盤(pán)掃描子程序、萬(wàn)年歷計(jì)算子程序、校時(shí)子程序、語(yǔ)音播報(bào)子程序等幾部分。1) 主程序程序按照模塊化設(shè)計(jì),所有功能都可通過(guò)調(diào)用子程序完成,主程序較簡(jiǎn)單,流程如圖9.4所示。SPCE061A具有低功耗睡眠模式,在睡眠模式下功耗很小,對(duì)于用電池供電的系統(tǒng)非常有利,睡眠模式可以通過(guò)按鍵中斷喚醒。 3. 程序說(shuō)明圖9.4 主程序流程圖圖9.4 主程序流程圖2) 鍵盤(pán)掃描程序由于機(jī)械觸點(diǎn)有彈性,在按下或彈起按鍵時(shí)會(huì)出現(xiàn)抖動(dòng),從最初按下到接觸穩(wěn)定要經(jīng)過(guò)數(shù)毫秒的彈跳時(shí)間,如圖9.5所示。為了保證按鍵識(shí)別的準(zhǔn)確性,必須消除抖動(dòng)。消抖處理有硬件和軟件兩種方

12、法:硬件消抖是利用加去抖動(dòng)電路濾波避免產(chǎn)生抖動(dòng)信號(hào);軟件消抖是利用數(shù)字濾波技術(shù)來(lái)消除抖動(dòng)。我們采用軟件方法,利用主程序循環(huán)掃描,主程序每循環(huán)一次掃描按鍵一次,當(dāng)連續(xù)N次掃描到的鍵值相同時(shí),則說(shuō)明是某鍵按下。 2) 鍵盤(pán)掃描程序圖9.5 鍵按下的過(guò)程 圖9.5 鍵按下的過(guò)程 3) 萬(wàn)年歷計(jì)算子程序利用2 Hz中斷做時(shí)鐘源進(jìn)行計(jì)時(shí),每?jī)纱沃袛嗝胗?jì)數(shù)器加1并進(jìn)行年歷計(jì)算,年歷范圍從2019年到3099年。在進(jìn)行年歷計(jì)算時(shí)有平閏年計(jì)算問(wèn)題,閏年的條件是能被400整除或者能被4整除但不能被100 整除。萬(wàn)年歷調(diào)整子程序流程圖如圖9.6所示。 3) 萬(wàn)年歷計(jì)算子程序圖9.6 萬(wàn)年歷計(jì)算子程序 圖9.6 萬(wàn)

13、年歷計(jì)算子程序 4) 校時(shí)子程序系統(tǒng)擴(kuò)展了三個(gè)按鍵:TIME、UP和DOWN鍵,常組合起來(lái)使用。TIME鍵用于報(bào)時(shí),由于時(shí)間包括年月日時(shí)分,按一次TIME鍵報(bào)年月日,再按一次報(bào)時(shí)分,一直按住TIME鍵3 s則進(jìn)入校時(shí)狀態(tài),語(yǔ)音播報(bào)當(dāng)前是XXXX年,按UP鍵年份增加,按DOWN鍵減少,再按TIME鍵來(lái)切換月日時(shí)分,調(diào)整完分后,按TIME鍵確認(rèn),語(yǔ)音報(bào)出年月日時(shí)分。校時(shí)程序的流程如圖9.7所示(時(shí)間減少的流程與增加的相似,在此不再贅述)。在校正時(shí)間的狀態(tài)下,連續(xù)2分鐘沒(méi)有鍵按下則自動(dòng)退出。 4) 校時(shí)子程序圖9.7 校時(shí)子程序 圖9.7 校時(shí)子程序 5) 語(yǔ)音播報(bào)子程序 報(bào)時(shí)用SACM-A2000

14、播放。 5) 語(yǔ)音播報(bào)子程序4. 功能擴(kuò)展增加一個(gè)調(diào)頻接收模塊接受某電臺(tái)的整點(diǎn)報(bào)時(shí)信號(hào),利用凌陽(yáng)SPCE061A單片機(jī)語(yǔ)音識(shí)別功能實(shí)現(xiàn)自動(dòng)校時(shí)功能。 4. 功能擴(kuò)展9.2.2 溫度計(jì)設(shè)計(jì) 1. 測(cè)溫原理采用熱敏電阻作為溫度傳感器。熱敏電阻是一種新型半導(dǎo)體感溫元件,具有靈敏度高、體積小、壽命長(zhǎng)、價(jià)格低等優(yōu)點(diǎn)。熱敏電阻分為正溫度系數(shù)和負(fù)溫度系數(shù)兩種類(lèi)型。負(fù)溫度系數(shù)熱敏電阻是當(dāng)溫度升高時(shí)電阻值減小,當(dāng)溫度降低時(shí)電阻值增大,其阻值溫度特性曲線(xiàn)如圖9.8所示。(熱敏電阻的阻值溫度特性曲線(xiàn)是一條指數(shù)曲線(xiàn),非線(xiàn)性較大,實(shí)際應(yīng)用中要進(jìn)行線(xiàn)性化處理比較復(fù)雜,一般只使用線(xiàn)性度較好的一段,如圖9.8所示的AB段。)

15、通過(guò)測(cè)量熱敏電阻的阻值就可以計(jì)算出其對(duì)應(yīng)的溫度值。 9.2.2 溫度計(jì)設(shè)計(jì)圖9.8 溫度特性曲線(xiàn) 圖9.8 溫度特性曲線(xiàn) 2. 硬件電路用熱敏電阻測(cè)溫的硬件電路如圖9.9所示。將熱敏電阻RT與固定電阻R串聯(lián)接3.3 V電源,當(dāng)溫度改變時(shí),RT阻值改變,其兩端的電壓也隨之改變,通過(guò)測(cè)量?jī)啥说碾妷呵蟮脺囟戎担篢=T0-KUT其中,T為被測(cè)溫度;T0為與熱敏電阻特性有關(guān)的溫度參數(shù);K為與熱敏電阻特性有關(guān)的系數(shù);UT為熱敏電阻兩端的電壓。 2. 硬件電路固定電阻R阻值的選?。篗FD-502-34型熱敏電阻線(xiàn)性化較好的一段是-2080,為了在最高溫度和最低溫度時(shí)使被測(cè)信號(hào)基本接近滿(mǎn)量程值,采取線(xiàn)性區(qū)域內(nèi)

16、中間某一點(diǎn)溫度的阻值作為固定電阻的值,它們分壓后AD的輸入電壓是AD輸入電壓范圍的一半,在25時(shí)熱敏電阻的阻值為5 k,所以選取固定電阻R的值為5 k。在-20時(shí)熱敏電阻的阻值為37.399 k,兩端電壓URT=2.9 V,接近A/D輸入電壓的上限3.3 V;在80時(shí)熱敏電阻的阻值為0.796 k,兩端電壓URT=0.45 V,接近A/D輸入電壓的下限0 V。固定電阻R阻值的選?。篗FD-502-34型熱敏電阻線(xiàn)性 按照?qǐng)D9.9硬件圖,T0=76,K=0.1022,根據(jù)以上公式和參數(shù),測(cè)出熱敏電阻兩端的電壓就可以求出被測(cè)溫度。 按照?qǐng)D9.9硬件圖,T0=76,K=0.1022,圖9.9 硬件連

17、接圖 圖9.9 硬件連接圖 3. 溫度計(jì)算系統(tǒng)擴(kuò)展了一個(gè)按鍵接于IOA15,當(dāng)按鍵按下時(shí),進(jìn)行A/D 轉(zhuǎn)換初始化并進(jìn)行4 次A/D轉(zhuǎn)換,SPCE061A的A/D轉(zhuǎn)換結(jié)果在高10位,每次將其移入低10位再計(jì)算4次平均值作為A/D有效結(jié)果返回。為了提高準(zhǔn)確度,變量TempAD和Temper都采用浮點(diǎn)數(shù),計(jì)算完成后用語(yǔ)音將溫度值播報(bào)。由于在放音時(shí)播放函數(shù)會(huì)改變一些參數(shù),為了穩(wěn)定起見(jiàn),在每次A/D轉(zhuǎn)換前都做一次初始化。由于每個(gè)熱敏電阻的特性不一致,與熱敏電阻串聯(lián)的電阻R不準(zhǔn)確等原因,因此每臺(tái)溫度計(jì)在整個(gè)測(cè)量范圍內(nèi)應(yīng)至少找5點(diǎn)進(jìn)行校正,并適當(dāng)?shù)匦薷膮?shù),以達(dá)到最佳狀態(tài)。 3. 溫度計(jì)算A/D轉(zhuǎn)換程序如下

18、:.PUBLIC _ReadAD_ReadAD: .procr2=4; /共進(jìn)行4次轉(zhuǎn)換R3=0;TestLoop:R1=P_ADC_MUX_Data /進(jìn)行一次A/D轉(zhuǎn)換R1=0 x8000;TempConverLoop:TEST R1,P_ADC_MUX_CtrlJZ TempConverLoop /轉(zhuǎn)換完成否R1=P_ADC_MUX_Data /取A/D轉(zhuǎn)換值R1=R1 LSR 4 /A/D值移到低10 位 A/D轉(zhuǎn)換程序如下:R1=R1 LSR 2R3+=R1 /4次A/D值累加r2-=1JNZ TestLoopR3=R3 LSR 2 /結(jié)果除以4,求4次A/D 值的平均值R1=R3

19、/A/D返回值在R1中RETF.ENDP R1=R1 LSR 2溫度計(jì)算及語(yǔ)音播報(bào)部分程序:if(Key=0 x8000)InitAD();TempAD=ReadAD(); /進(jìn)行一次A/D轉(zhuǎn)換Temper=76-0.1022*TempAD; /溫度計(jì)算if(Temper80)Temper=0XFFFF; /溫度超出范圍PlayVoice(Temper); /播報(bào)語(yǔ)音 溫度計(jì)算及語(yǔ)音播報(bào)部分程序:9.2.3 紅外遙控器1. 工作原理1) 遙控指令編碼遙控器發(fā)送的功能指令碼一般采用多位二進(jìn)制串行碼。下面以29T6B-X型彩色電視接收機(jī)的紅外遙控器為例說(shuō)明其原理。一幀數(shù)據(jù)結(jié)構(gòu)為:同步脈沖、系統(tǒng)碼、

20、命令碼、命令反碼和結(jié)束位。同步脈沖作為一幀命令的起始位起到幀同步作用,系統(tǒng)碼用于區(qū)別不同類(lèi)別的電器,命令碼用于完成命令功能。29T6B-X型彩色電視的系統(tǒng)碼為0 x08,命令碼如表9.1所示。命令反碼是將命令碼按位取反,每次發(fā)送都是先發(fā)送脈寬為4510 s、周期為24510 s的同步脈沖,然后連續(xù)發(fā)送兩次系統(tǒng)碼,接著發(fā)送命令碼及命令反碼,最后發(fā)送結(jié)束位,波形如圖9.10所示。 9.2.3 紅外遙控器表9.1 遙控器命令碼表 表9.1 遙控器命令碼表 圖9.10 遙控指令編碼圖 圖9.10 遙控指令編碼圖 2) 數(shù)據(jù)的脈沖編碼紅外通信數(shù)據(jù)采用脈沖編碼,即將每位數(shù)據(jù)信號(hào)用一個(gè)脈沖來(lái)表示。本例程序的

21、紅外編碼采用頻率調(diào)制(FSK)方式,以脈寬561 s為周期,4561 s代表1,2561 s代表0。載波頻率為38 kHz,占空比為1/3,如圖9.11所示。這樣做有兩點(diǎn)好處:第一減少了有效發(fā)射時(shí)間,降低了平均功耗,對(duì)于采用干電池供電的發(fā)射器十分重要;第二提高了抗干擾能力。 2) 數(shù)據(jù)的脈沖編碼圖9.11 信號(hào)0和1的脈沖圖9.11 信號(hào)0和1的脈沖2. 硬件電路系統(tǒng)由鍵盤(pán)電路、紅外發(fā)射電路和CPU組成。利用SPCE061A 的IOA口擴(kuò)展了48鍵盤(pán)矩陣,發(fā)射電路中三極管V1選用9013,對(duì)信號(hào)放大,R4為270 電阻,R5為10 電阻,C5為22 F,VD1為紅外發(fā)射管,電路如圖9.12所示

22、。各個(gè)按鍵功能如表9.2所示。 2. 硬件電路圖9.12 硬件連接圖 圖9.12 硬件連接圖 表9.2 按鍵功能表 表9.2 按鍵功能表 3. 程序設(shè)計(jì)SPCE061A 的IOA0IOA7設(shè)置為在輸入時(shí)具有按鍵喚醒功能。本例程序中將其設(shè)置為帶下拉電阻的輸入端口,IOA8IOA11設(shè)置為帶數(shù)據(jù)緩存器的輸出端口,鍵盤(pán)掃描程序比較簡(jiǎn)單,此處不作詳細(xì)介紹。串行碼的發(fā)送利用了SPCE061A的TimerA 和TimerB 兩個(gè)定時(shí)器,IOB8 編程為第二功能時(shí),由定時(shí)器TimerA 控制輸出占空比可調(diào)的脈寬調(diào)制信號(hào)APWMO,產(chǎn)生38 kHz載波信號(hào)。將APWMO信號(hào)頻率設(shè)置為38 kHz,串行碼為1時(shí)

23、,打開(kāi)APWMO輸出;為0時(shí),關(guān)閉APWMO輸出,輸出低電平。用TimerB控制脈沖寬度,發(fā)射流程如圖9.13(a)所示,同步脈沖、0信號(hào)和1信號(hào)的發(fā)射流程如圖9.13(b)所示。 3. 程序設(shè)計(jì)圖9.13 程序流程圖 圖9.13 程序流程圖 9.2.4 學(xué)習(xí)機(jī) 1. 原理1) 錄音SPCE061A的A/D 轉(zhuǎn)換器有8個(gè)通道,其中1個(gè)通道是MIC-IN 輸入,專(zhuān)門(mén)用于對(duì)語(yǔ)音信號(hào)進(jìn)行采樣。語(yǔ)音信號(hào)經(jīng)Mic 轉(zhuǎn)換成電信號(hào),經(jīng)隔直電容輸入至SPCE061A內(nèi)部前置放大器。SPCE061A內(nèi)部具有自動(dòng)增益控制電路(AGC),能隨時(shí)跟蹤前置放大器輸出的音頻信號(hào)電平。當(dāng)輸入信號(hào)增大時(shí),AGC電路自動(dòng)減小放

24、大器的增益;當(dāng)輸入信號(hào)減小時(shí),AGC電路自動(dòng)增大放大器的增益,以便使輸入A/D 的信號(hào)保持在最佳電平。 9.2.4 學(xué)習(xí)機(jī) 1. 原理A/D 轉(zhuǎn)換器對(duì)輸入的音頻信號(hào)進(jìn)行采樣,根據(jù)抽樣定理我們選用抽樣頻率為8 kHz,并按照凌陽(yáng)音頻編碼格式進(jìn)行編碼,每秒將占用16 Kb的存儲(chǔ)器空間。為了增加存儲(chǔ)時(shí)間,系統(tǒng)擴(kuò)展了一塊容量為1 Mb的SRAM存儲(chǔ)器HM628128A用來(lái)存儲(chǔ)語(yǔ)音數(shù)據(jù)。 A/D 轉(zhuǎn)換器對(duì)輸入的音頻信號(hào)進(jìn)行采樣,根據(jù)抽樣定理我們2) 放音將HM628128A中存儲(chǔ)的語(yǔ)音數(shù)據(jù)順序取出解碼后以8 kHz的速率進(jìn)行D/A 轉(zhuǎn)換輸出,經(jīng)電容濾波后恢復(fù)原始語(yǔ)音信號(hào)驅(qū)動(dòng)揚(yáng)聲器發(fā)音。 2) 放音2.

25、硬件電路HM628128A與SPCE061A的連接電路如圖9.14所示,由SPCE061A的I/O口完成地址線(xiàn)、數(shù)據(jù)線(xiàn)和控制線(xiàn)擴(kuò)展功能。系統(tǒng)擴(kuò)展了三個(gè)按鍵REC、PLAY和STOP。REC用于錄音,PLAY用于放音,STOP 用于停止錄音或放音。 2. 硬件電路圖9.14 硬件電路圖 圖9.14 硬件電路圖 3. 軟件編程錄放音的編碼/解碼是靠調(diào)用庫(kù)函數(shù)完成的,我們只要完成數(shù)據(jù)的存入和讀出即可。程序主要是完成HM628128A的讀寫(xiě),對(duì)語(yǔ)音采樣數(shù)據(jù)的編碼處理是通過(guò)調(diào)用庫(kù)函數(shù)完成的,寫(xiě)讀程序都包括初始化和寫(xiě)讀兩部分,寫(xiě)入、讀出程序較簡(jiǎn)單,只要按照HM628128A的寫(xiě)讀時(shí)序即可。下面介紹初始化和

26、寫(xiě)入時(shí)的參數(shù)傳遞過(guò)程,讀出時(shí)參照寫(xiě)入部分。 3. 軟件編程PUBLIC _SP_InitWriteSRAM /寫(xiě)入初始化.PUBLIC F_SP_InitWriteSRAM_SP_InitWriteSRAM: .procF_SP_InitWriteSRAM:PUSH r1 TO sp;R1 = 0 xFFF0;P_IOA_Dir = R1; /IOA15A4為輸出P_IOA_Attrib = R1; /IOA3A0為輸入P_IOA_Data = R1; R1 = 0 xFFFFH;P_IOB_Dir = R1; /IOB15B0為輸出P_IOB_Attrib = R1;P_IOB_Data =

27、 R1;POP r1 FROM sp;RETF.ENDP PUBLIC _SP_InitWriteSRAM /寫(xiě)初始化包括地址線(xiàn)、數(shù)據(jù)線(xiàn)和控制線(xiàn)的設(shè)置。IOB15IOB0、IOA7 接地址線(xiàn),設(shè)置為輸出;IOA15IOA8接數(shù)據(jù)線(xiàn),寫(xiě)入時(shí)設(shè)置為輸出;IOA6IOA4 接選通信號(hào),設(shè)置為輸出。輸入子程序:.PUBLIC _SP_WriteSRAM _SP_WriteSRAM: .PROCPUSH bp TO sp;bp = sp + 1; r1 = bp+3; /地址低位初始化包括地址線(xiàn)、數(shù)據(jù)線(xiàn)和控制線(xiàn)的設(shè)置。IOB15IOr2 = bp+4; /地址高位 JZ Write_Low_Addr;/

28、判高位是否為0R2 = 0 x0080H; Write_Low_Addr:HighAddr=R2;R2 = bp+5; /要輸入的數(shù)據(jù)CALL F_SP_WriteSRAM /輸入子程序POP bp FROM sp RETF.ENDP r2 = bp+4; /地址高位 由于HM628128A有17根地址線(xiàn),在主程序中記錄地址的變量設(shè)置為長(zhǎng)整型數(shù)據(jù)32位,在調(diào)用寫(xiě)入子程序時(shí)先將高16位壓入堆棧再壓入低16位,所以在寫(xiě)入子程序中取兩次地址高低,并判斷高位是否為0。不為0則將A16 置1,表明讀/寫(xiě)的是高64 KB RAM。讀者只要對(duì)上面電路程序稍加改動(dòng),就可以實(shí)現(xiàn)語(yǔ)音復(fù)讀機(jī)、跟讀機(jī)和留言機(jī)等功能。

29、 由于HM628128A有17根地址線(xiàn),在主程序中記錄地址9.2.5 多功能信號(hào)發(fā)生器1. 原理三角波的上升沿和下降沿都是由N個(gè)DAC 輸出的小階梯構(gòu)成的,由于階梯很小,從宏觀上看它可以近似成三角波波形。如圖9.15所示階梯式的波形,階梯之間的時(shí)間間隔t1、t2由定時(shí)器TimerA提供,通過(guò)改變t1、t2來(lái)改變?nèi)遣ㄉ仙拖陆禃r(shí)間T1、T2,從而改變?nèi)遣ǖ念l率。 9.2.5 多功能信號(hào)發(fā)生器圖9.15 三角波原理圖 圖9.15 三角波原理圖 正弦波利用SPCE061A 的開(kāi)發(fā)環(huán)境范圍內(nèi)提供的數(shù)學(xué)運(yùn)算函數(shù)庫(kù)math.lib,利用庫(kù)中的sinf(float) 函數(shù),當(dāng)x花02變化時(shí)就產(chǎn)生一個(gè)完整

30、的正弦波。以時(shí)間間隔t 求的波形對(duì)應(yīng)值32 736sinf(x) (注:32 736為SPCE061A的D/A輸出最大值0 xFFC0的一半)經(jīng)SPCE061A 的D/A 轉(zhuǎn)換,在管腳DAC1、DAC2 輸出并經(jīng)電容濾波后就可以得到需要的正弦波。通過(guò)改變時(shí)間間隔t可以改變正弦波的頻率,正弦信號(hào)包括正負(fù)兩個(gè)半周波形,如圖9.16所示。由于SPCE061A無(wú)法輸出負(fù)電平,要通過(guò)改變參考電平來(lái)獲得負(fù)半周信號(hào),所以將正弦信號(hào)電平正向偏移1.65 V。 正弦波利用SPCE061A 的開(kāi)發(fā)環(huán)境范圍內(nèi)提供的數(shù)學(xué)運(yùn)圖9.16 正弦波 圖9.16 正弦波 方波形成原理如圖9.17所示,在t1期間DAC輸出電壓的

31、峰值為3.3 V,t2期間DAC輸出0 V電壓,通過(guò)改變t1、t2的值來(lái)改變方波的頻率占空比和頻率。 方波形成原理如圖9.17所示,在t1期間DAC輸出電壓的圖9.17 方波 圖9.17 方波 2. 硬件電路SPCE061A內(nèi)部具有D/A轉(zhuǎn)換模塊,所以其外圍電路很簡(jiǎn)單,只要在DAC的輸出端接一個(gè)運(yùn)算放大器或負(fù)載電阻,將DAC輸出的電流信號(hào)轉(zhuǎn)換為電壓信號(hào)即可,用按鍵方式選擇輸出波形,具體電路如圖9.18所示。按TRI鍵輸出三角波,按SIN鍵輸出正弦波,按SQU 鍵輸出方波。 2. 硬件電路圖9.18 硬件連接圖 圖9.18 硬件連接圖 輸出三角波時(shí),UP用于增加上升時(shí)間t1或下降時(shí)間t2,DOW

32、N鍵用于減少t1或t2,SET用于選擇上升或下降。輸出方波時(shí),UP用于增加高電平時(shí)間t1或低電平時(shí)間t2,DOWN鍵用于減少t1或t2,SET用于選擇高電平或低電平。輸出正弦波時(shí),UP用于提高正弦波的頻率,DOWN 鍵用于降低正弦波的頻率。在輸出正弦波時(shí),請(qǐng)接入濾波電容C1,輸出三角波和方波時(shí)不用C1。 輸出三角波時(shí),UP用于增加上升時(shí)間t1或下降時(shí)間t2,D3. 程序說(shuō)明1) 三角波SPCE061A具有雙通道10位電流輸出型的D/A(AUD1、AUD2),每通道電流輸出為3 mA,在輸出端接電阻R(R值取600 ),則可將輸出的電流轉(zhuǎn)換為電壓信號(hào)。3. 程序說(shuō)明三角波的上升和下降都由100個(gè)

33、小階梯組成,主程序判斷是上升還是下降。如果是上升,則將TimerA 的定時(shí)值改為t1;如果是下降,則將TimerA的定時(shí)值改為t2,即三角波上升時(shí)間為100t1,下降時(shí)間為100t2,定時(shí)器TimerA的時(shí)鐘源采用12.288 MHz。定時(shí)器初值計(jì)算:t1 初值:M1=65 535-(12 288T_High)/1000 t2 初值:M2=65 535- (12 288T_Low)/1000 由中斷服務(wù)程序完成DAC數(shù)據(jù)輸出。 三角波的上升和下降都由100個(gè)小階梯組成,主程序判斷是上2) 方波方波的高電平DAC輸出最大值0 xFFC0H,低電平時(shí)DAC輸出最小值0,方波高低電平的寬度由定時(shí)器T

34、imerB 定時(shí)值確定,方波的占空比為D=t1/(t1+t2)。 2) 方波3) 正弦波 正弦波靠調(diào)用庫(kù)函數(shù)sinf(x)產(chǎn)生,當(dāng)弧度在02之間變化時(shí),sinf(x)的值在-11的范圍內(nèi),將sinf(x)的值乘以32 736(0 xFFC0H的一半)即將波形放大,并將0點(diǎn)偏移到1.65 V(即3.3 V/2)的波形對(duì)應(yīng)AD 值計(jì)算部分程序如下:3) 正弦波mx= mz * PI/2; /計(jì)算弧度值my = sinf(mx); /計(jì)算sinf(mx)vv= (int) 32 736 * my;/AD值vv = 0 x8000; /最高位取反outdac(vv); /AD輸出delay10ms(D

35、elTime); /延時(shí)tmz=mz+0.02; /增量if(unsigned int)mz)= 4) mz=0; /循環(huán) mx= mz * PI/2; /計(jì)算弧度值圖9.19 正弦波 圖9.19 正弦波 當(dāng)弧度在0之間變化時(shí),sin(x)32 736的值為正,最高位為0,經(jīng)D/A轉(zhuǎn)換后其波形如圖9.19中虛線(xiàn)a所示;當(dāng)弧度在2之間變化時(shí),sin(x)32 736值為負(fù)(二進(jìn)制補(bǔ)碼表示最高位為1),經(jīng)D/A轉(zhuǎn)換之后其波形如圖9.19中虛線(xiàn)b所示;將最高位取反后的D/A 輸出波形如圖9.19中實(shí)線(xiàn)A、B所示。 當(dāng)弧度在0之間變化時(shí),sin(x)32 736的值9.2.6 語(yǔ)音識(shí)別1. 原理語(yǔ)音識(shí)

36、別分為特定發(fā)音人識(shí)別(Speaker Dependent)和非特定發(fā)音人識(shí)別(Speaker Independent)兩種方式。特定發(fā)音人識(shí)別是指語(yǔ)音樣板由單個(gè)人訓(xùn)練,對(duì)訓(xùn)練人的語(yǔ)音命令識(shí)別準(zhǔn)確率較高,而其他人的語(yǔ)音命令識(shí)別準(zhǔn)確率較低或不識(shí)別;非特定發(fā)音人識(shí)別是指語(yǔ)音樣板由不同年齡、不同性別、不同口音的人進(jìn)行訓(xùn)練,可以識(shí)別一群人的命令。語(yǔ)音樣板的提取非常重要,下面我們介紹采用特定發(fā)音人語(yǔ)音識(shí)別方式。我們將標(biāo)準(zhǔn)模式的存儲(chǔ)空間稱(chēng)之為“詞庫(kù)”,而把標(biāo)準(zhǔn)模式稱(chēng)之為“詞條”或“樣板”。所謂建立詞庫(kù),是將待識(shí)別的命令進(jìn)行頻譜分析提取特征參數(shù)作為識(shí)別的“標(biāo)準(zhǔn)模式”。 9.2.6 語(yǔ)音識(shí)別識(shí)別過(guò)程首先要濾除輸

37、入語(yǔ)音信號(hào)的噪音和進(jìn)行預(yù)加重處理,提升高頻分量,然后用線(xiàn)性預(yù)測(cè)系數(shù)等方法進(jìn)行頻譜分析,找出語(yǔ)音的特征參數(shù)作為未知模式,與預(yù)先存儲(chǔ)的標(biāo)準(zhǔn)模式進(jìn)行比較,當(dāng)輸入的未知模式與標(biāo)準(zhǔn)模式的特征一致時(shí),計(jì)算機(jī)便識(shí)別出輸入的語(yǔ)音信號(hào)并輸出結(jié)果,如圖6.3所示。 識(shí)別過(guò)程首先要濾除輸入語(yǔ)音信號(hào)的噪音和進(jìn)行預(yù)加重處理,提2. 硬件電路硬件電路比較簡(jiǎn)單,MIC選用駐極體電容話(huà)筒,這種話(huà)筒具有靈敏度高、無(wú)方向性、重量輕、體積小、頻率響應(yīng)寬、保真度好等優(yōu)點(diǎn),駐極體話(huà)筒所需的偏壓由SPCE061A的VMIC管腳提供,如圖9.20所示。 2. 硬件電路圖9.20 硬件電路圖 圖9.20 硬件電路圖 3. 程序設(shè)計(jì)程序包括訓(xùn)練樣本、識(shí)別和語(yǔ)音提示三

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論