

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要 </b></p><p> 本次課程設計的主要目的是制作一個基于單片機的數(shù)碼錄音和播放系統(tǒng)。選用凌陽16位單片機SPCE061A和外部存儲器W29C040來實現(xiàn)。其具有體積小、集成度高、功耗低、結構簡單、中斷處理能力強等特點,特別適用于數(shù)字語音錄放和語音識別等數(shù)字應用領域。SPCE061A是臺灣凌陽公司生產的十六位單片機,該單片機內置有2路DA轉換,8路
2、AD轉換及在線仿真等豐富的功能,W29C040是臺灣華邦公司生產的4M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達4分鐘的語音錄放。該系統(tǒng)可以廣泛應用于需求的錄音較長的場合。如檢測溫度的存儲播放系統(tǒng),自錄語音提示等應用方案。</p><p> 關鍵詞:SPCE061A,閃存,W29C040,語音輸入/錄放 </p><p><b> ABSTRACT<
3、/b></p><p> This course design of the main purpose is to make a based on SCM digital recording and playback system. Choose Sunplus SPCE061A and 16-bit single chip external memory W29C040 to achieve. Its
4、integration with small size, high, low power consumption, simple structure, interrupt handling ability strong wait for a characteristic, especially suitable for digital voice recording and digital applications speech rec
5、ognition, etc. Sunplus SPCE061A is Taiwan company produces the 16 microcontroller, the mi</p><p> KEYWORDS:SPCE061A ;flash memory;W29C040;voice record</p><p><b> 目錄</b></p>
6、<p><b> 第1章 緒論1</b></p><p> 第2章 錄音筆設計方案與論證3</p><p><b> 2.1 引言3</b></p><p> 2.2 錄音筆設計方案的提出3</p><p> 2.3 錄音筆設計方案的確定4</p><
7、;p> 第3章 硬件設計6</p><p> 3.1 系統(tǒng)總體方案介紹6</p><p> 3.2 SPCE061A最小系統(tǒng)設計6</p><p> 3.3 音頻電路8</p><p> 3.3.1 音頻輸入電路8</p><p> 3.3.2 A/D轉換接口9</p>&l
8、t;p> 3.3.3 D/A轉換模塊11</p><p> 3.3.4 音頻輸出電路11</p><p> 3.4 W29C040存儲芯片12</p><p> 3.5 串行設備輸入輸出口(SIO)13</p><p> 3.6 通用串行通信接口UART模塊15</p><p> 第4章 軟
9、件設計16</p><p> 4.1 凌陽音頻介紹16</p><p> 4.1.1 音頻概述16</p><p> 4.1.2 數(shù)字音頻的采樣和量化及格式介紹16</p><p> 4.1.3 語音壓縮編碼基礎16</p><p> 4.2 軟件設計流程圖17</p><p&
10、gt; 4.3 程序代碼18</p><p> 4.3.1 語音的錄入19</p><p> 4.3.2 語音的播放19</p><p> 4.3.3 SACM-DVR相關的API函數(shù)19</p><p><b> 參考文獻22</b></p><p><b> 致
11、謝23</b></p><p><b> 附錄24</b></p><p><b> 第1章 緒論</b></p><p> 隨著計算機技術的發(fā)展和在控制系統(tǒng)中的廣泛應用,以及設備向小型化、智能化的發(fā)展,作為高新技術之一的單片機以其體積小,功能強,價格低,使用靈活等特點,顯示出很強的生命力。[1]可以
12、認為,單片機技術已經成為現(xiàn)代電子技術的十分重要的技術之一,可以使設計的電子產品更具智能化和先進性。進入21世紀以來,開發(fā)推出單片機的公司很多,各種高性能單片機芯片市場也異常活躍,新技術的不斷采用,更加使單片機的種類、性能以及應用領域不斷擴大和提高。單片機SPCE061A的問世,使得16位單片機的科技含量及應用躍上一個新的臺階。[2]在航空航天,機械加工,智能儀器儀表,家用電器,通信系統(tǒng),智能玩具等領域,單片機都發(fā)揮了巨大的作用。所謂單片
13、機(Single Chip Microcomputer),是指一塊芯片中集成有中央處理器(CPU),存儲器(RAM和ROM),基本I/O接口以及定時器/計數(shù)器等部件,并具有獨立指令系統(tǒng)的智能器件,即在一塊芯片上實現(xiàn)一臺微型計算機的基本功能。如果是簡單的控制對象,只需要利用單片機作為控制核心,不需要另加外部設備就能實現(xiàn)。對于較復雜的系統(tǒng),只需對單片機進行適當?shù)臄U展即可,十分方便。歸納</p><p> (1)單片
14、機獨立的指令系統(tǒng),可以將我們的設計思想充分體現(xiàn)出來</p><p> (2)系統(tǒng)配置以滿足控制對象的需求為出發(fā)點,使得系統(tǒng)具有較高的性能價格比</p><p> ?。?)應用系統(tǒng)通常將程序駐留在片內(外)ROM中,抗干擾能力強,可靠性高,使用方便.系統(tǒng)規(guī)模小,本身不具有開發(fā)能力,一般需要借助專用的開發(fā)工具進行系統(tǒng)的開發(fā)和調試,而實際的應用系統(tǒng)簡單實用,成本低,效益好。</p>
15、<p> ?。?)應用系統(tǒng)所用存儲器芯片可選用EPROM,EEPROM,OTP芯片或利用掩膜形生產,便于批量開發(fā)和應用。許多單片機(如80C51系列)的開發(fā)芯片和擴展芯片險乎配套,降低了系統(tǒng)成本。</p><p> ?。?)系統(tǒng)小巧玲瓏,控制功能強,體積小,便于嵌入被控設備之內,大大推動了產品的智能化。如數(shù)控機床,機器人,智能儀器儀表,家用電器等都是典型的機電一體化設備和產品</p>
16、<p> 同時,隨著社會和科技的不斷發(fā)展,“PC”的到來以開始改善了人們的生活水平。所謂后PC時代,是英文Pervasive Computing,翻譯為滲透到各個方面的計算。因而,后PC時代的計算機都以非計算機的形式存在,將滲透到歐文們生活的方方面面。例如,電視機,機器人,數(shù)控設備等,其中心控制部件是計算機,但他們都是以嵌入式系統(tǒng)的形式存在。單片機作為計算機技術的一個重要分之,嵌入式系統(tǒng)的先頭兵,廣泛的應用于智能儀器,機電一
17、體化產品,智能電器,個人數(shù)字處理器等領域。[3]隨著微電子技術的快速發(fā)展,電子系統(tǒng)設計已進入了片上系統(tǒng)(SOC,System On Chip)時代,單片機的更能也越來越強大,使其成為真正的系統(tǒng)單片機。</p><p> 單片機是隨著微型計算機,單板機的發(fā)展及其在智能測控系統(tǒng)中的應用而發(fā)展起來的。隨著微電子技術的迅速發(fā)展,目前世界上各個公司都研制出了各種應用領域的單片機,單片機芯片市場也異常活躍,從8位低端,到高
18、性能的16位,到集成度,速率,可靠性等全方位向更高水平發(fā)展的32位系列。隨著微電子,半導體工藝的不斷進步,單片機芯片在向高度集成化,低功耗的方向發(fā)的發(fā)展。目前世界上各個公司都研制出了各種應用領域的單片機,如ATMEL公司的80C9X系列,INTEL公司的MCS-5X系列,MOTOROLA的68系列和ZILOG的Z8系列。目前,中國臺灣的凌陽公司最新推出了16位的SPCE系列由于其在語音功能的獨特應用,得到了廣大客戶的認可,因此,也是我這
19、次畢業(yè)論文所選擇的單片機。</p><p> 本次畢業(yè)論文就是選用凌陽16位單片機SPCE061A和外部擴展存儲器W29C040來實現(xiàn)數(shù)碼語音的錄取和播放系統(tǒng)。[4]</p><p> 第2章 錄音筆設計方案與論證</p><p><b> 2.1 引言</b></p><p> 隨著視聽家電產品的不斷豐富,已經
20、有越來越多微小型化的產品走入了人們的日常生活,他們最突出的優(yōu)點是體積小巧、非常薄,而且重量很輕,給人們帶來方便,并增添了無窮樂趣。作為一種簡單方便地獲取和記錄數(shù)字化聲音文件的工具,數(shù)碼錄音筆從2000年開始風靡市場,成為學生、記者和商務人士購置錄音設備的首選。不僅在校園里取代了復讀機,也成為時間緊張的在職進修人員的掌上新寵。帶FM 功能的數(shù)碼錄音筆,還可以便利地收聽調頻廣播外語教學節(jié)目。</p><p> 數(shù)碼
21、錄音筆,實際上是一種采用數(shù)碼錄音技術的錄制設備,通過對聲音進行采集、壓縮、存儲到閃存(Flash Memory)進行記錄,無需使用額外的錄音磁帶、話筒等設備,音質清晰逼真,即使反復播放其音質也毫無損失。</p><p> 在設計中將說明怎樣利用凌陽16位單片機SPCE061A來實現(xiàn)一個錄音筆系統(tǒng)。SPCE061A該款單片機資源豐富,有強大的數(shù)字語音處理功能可應用與語音播放和語音識別領域,內置有2路DA轉換,8路
22、AD轉換及在線仿真等豐富的功能,這些都為實現(xiàn)數(shù)碼錄音和播放提供了良好的方便條件。[5]</p><p> 2.2 錄音筆設計方案的提出</p><p> 設計要求錄音筆實現(xiàn)錄音、播放、暫停、循環(huán)播放、重復播放、選擇上一段、選擇下一段以及與PC機進行數(shù)據(jù)傳輸?shù)墓δ堋?梢钥闯霰敬卧O計的系統(tǒng)的主要部分應該是括錄放音部分再附加上其他的功能部分。因此我們重點對錄放音部分實現(xiàn)的方案做了探討,方案比
23、較的多,各有其優(yōu)缺點。現(xiàn)具體分析如下:</p><p> 1 80C51:方案在我國單片機的市場中,51單片機曾經占據(jù)著絕對的主導地位,但在科技不斷發(fā)展的當今,嵌入式系統(tǒng)正在不斷流行開來,對單片機的處理速度的要求不斷提高,對單片機的處理功能也要求越來越強。我個人認為,除了其速度不夠快外,集成度不高是51最大的缺點。在當今比較高端應用場合,可能再也難以見到51單片機的身影,取而代之的是ARM和DSP等處理器。&l
24、t;/p><p> 2 DSP方案:在數(shù)字信號處理方面,處處可以見到DSP的身影。對于本系統(tǒng)中的語音采集,數(shù)據(jù)處理存放,語音回放,DSP可以輕而易舉的完成這些基本功能。DSP強大的數(shù)據(jù)處理能力是讓眾多的單片機都望塵莫及的。[6]</p><p> 3 凌陽方案:我認為,凌陽是51和DSP之間的一種良好的結合。SPCE061A是臺灣凌陽公司生產的十六位單片機,該單片機內置有2路DA轉換,8路
25、AD轉換及在線仿真等豐富的功能,這些都為我們實現(xiàn)數(shù)碼錄音和播放提供良好的方便條件,W29C040是臺灣華邦公司生產的4M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達4分鐘語音錄放。該系統(tǒng)可以廣泛應用于需求的錄音較長的場合。如錄音筆、自錄語音提示等應用方案。本系統(tǒng)提供W29C040相關的讀寫模塊,此模塊也可應用于W29C040同系列的相關FLASH芯片中另外,凌陽十六位單片機具有易學易用的效率較高的一套指令系統(tǒng)和集成開發(fā)
26、環(huán)境。在此環(huán)境中,支持標準C語言,可以實現(xiàn)C語言與凌陽匯編語言的互相調用,并且,提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就會很容易完成語音錄放 。</p><p> 2.3 錄音筆設計方案的確定</p><p> 我最后決定采用SPCE061A單片機來實現(xiàn)我的設計。SPCE061A是凌陽科技研發(fā)生產的一款高性價比十六位單片機,把各功能部件模塊化地集成在一個芯片里,內部采用總線結構
27、,減少了各功能部件之間的連線,提高了可靠性和抗干擾能力。片內帶有高尋址能力的ROM、靜態(tài)RAM和多功能的I/O口。芯片工作電壓范圍大,能在低電壓供電時正常工作,且能用電池供電。其指令系統(tǒng)為其應用增添了DSP功能但是又比專用的DSP芯片廉價。對于我的設計來說SPCE061A可以非常方便靈活的實現(xiàn)語音的錄放功能,該芯片擁有8路10位精度的ADC,其中一路為音頻轉換通道,并且內置有自動增益AGC電路。這為實現(xiàn)語音錄入提供了方便的硬件條件。兩路
28、10精度的DAC,只需要外接功放(SPY0030A)即可完成語音的播放。凌陽16位單片機采用CMOS制造工藝,有較好的低功耗和功耗管理功能,它提供了軟件激發(fā)的弱振方式、空閑方式和掉電方式三種低功耗工作方式,大大降低了芯片功耗。由于它工作電壓范圍大,可在低電壓供電時正常工作,并可用電池供電,從而可大幅度地減少器件的功耗。低功耗是一切電子應用系統(tǒng)所追求的目標,特別是在野外作業(yè)、便攜式儀器儀表的</p><p><
29、;b> 第3章 硬件設計</b></p><p> 根據(jù)系統(tǒng)設計的要求和凌陽十六位單片機(SPCE061A)所包括的功能,我可以利用其所具有的特性完成設計所需要達到的各項功能要求。</p><p> 3.1 系統(tǒng)總體方案介紹</p><p> 系統(tǒng)結構框圖如圖3.1:</p><p> 圖3.1 系統(tǒng)結構框圖<
30、;/p><p> 因此在設計中需要使系統(tǒng)具有如下模塊:</p><p> (1)一路0-3.3V可調模擬電壓,可方便地完成AD的數(shù)據(jù)采集。</p><p> (2)采用1×8鍵盤使各功能通過按鍵控制。</p><p> (3)SIO接口擴展存儲芯片W29C040,擴展4M Bits Flash的擴展存儲空間存儲所錄語音數(shù)據(jù)。&l
31、t;/p><p> (4)MIC輸入電路,配合SPCE061A內置的AGC和OPI電路,獲得語音數(shù)據(jù)。</p><p> (5)兩路音頻輸出電路,采用凌陽功放芯片SPY0030A,通過它完成語音的播放。</p><p> (6)使用SPCE061A的通用異步串行接口UART來實現(xiàn)與PC機的通訊。</p><p> 3.2 SPCE061A
32、最小系統(tǒng)設計</p><p> SPCE061A是繼µ’nSP?系列產品SPCE500A等之后凌陽科技推出的又一款16位結構的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調試等功能,SPCE061A里只內嵌32K字的閃存(FLASH)。較高的處理速度使µ’nSP?能夠非常容易地、快速地處理復雜的數(shù)字信號。因此,與SPCE500A相比,以
33、1;’nSP?為核心的SPCE061A微控制器是適用于數(shù)字語音識別應用領域產品的一種最經濟的選擇。</p><p> 前面已經提到我所設計的錄音筆系統(tǒng)的核心采用SPCE061A。SPCE061A內置的7 SPCE061A最小系統(tǒng)如圖3.2。</p><p> 圖3.2 SPCE061A最小系統(tǒng)</p><p> 芯片提供兩個16位通用的并行I/O口:IOA0-
34、IOA15,IOB0-IOB15。這兩個口的每一位都可以通過編程單獨定義為輸入或輸出口。其中A口的IOA0-IOA7用作輸入口時具有觸鍵喚醒功能,可以應用于低功耗的場合。[8]</p><p> 鑒于所要求功能,我將IOA0-IOA7與1×8鍵盤連接,A0-A7做輸入口。SPCE061A的并行I/O口可以通過編程設置為上拉輸入、下拉輸入、懸浮輸入或同相輸出、反相輸出的狀態(tài)。要求按鍵執(zhí)行程序所定義功能因
35、此設置為下拉輸入。</p><p><b> 3.3 音頻電路</b></p><p> 3.3.1 音頻輸入電路</p><p> 音頻輸入電路包括MIC錄音輸入和AGC電路。</p><p> 人的聲音頻率在300Hz-3400Hz范圍之內,因此所設計的錄音筆只需要記錄這樣一個范圍的聲音信號即可。</p
36、><p> 在這里把要記錄的語音信號最高頻率定為4KHz,根據(jù)公式:f采樣=2f低通規(guī)定系統(tǒng)的采樣頻率為8KHz。當錄入的語音信號有高于4KHz的部分時,則把高于4KHz頻率的信號認為是噪聲。[9]噪聲是不需要記錄的,所以應該把高于4KHz的聲音頻率排除在記錄范圍外,因此需在ADC電路前加一個截止頻率為4KHz的前置低通濾波器用來濾除噪聲。前置低通濾波器電路如圖3.3,濾波器的頻譜圖如圖3.4。</p>
37、<p> 圖3.3 MIC輸入驅動電路與前置低通濾波器圖</p><p> 圖3.4 前置低通濾波器頻譜圖</p><p> SPCE061A內置的AGC電路,它的作用是當輸入信號較強時使放大器增益自動降低;當信號較弱時,又使其增益。因此,從MIC輸入的音頻信號經過SPCE061A內置的AGC電路將語音信號的放大值控制在一定范圍內,便可進行AD轉換。</p>
38、<p> 輸入信號有兩個通道:一個由LINE_In通道輸入;另一個由MIC_In通道輸入。MIC_In一般用于麥克風通道插入,專門用于對語音信號進行采樣。語音信號經MIC轉換成電信號,由隔直電容隔掉直流成分,然后輸入至SPCE061A內部前置放大器。在MIC_In前端有兩級OP放大器,因此對信號的放大有兩種選擇,一是在關閉SPCE061A內部自動增益控制電路AGC時,MIC_In前端的OP放大器使信號放大。二是啟用AGC
39、自動調整增益的值,以防止信號飽和。AGC能隨時跟蹤、監(jiān)視前置放大器輸出的音頻信號電平,當輸入信號增大時,AGC電路自動減小放大器的增益;當輸入信號減小時,AGC電路自動增大放大器的增益,以便使進入A/D的信號保持在最佳電平,又可使削波減至最小。當OPAMP2的輸出>0.9AVdd時,AGC自動降低OPAMP1的增益,以防止被放大的信號飽和。</p><p> 3.3.2 A/D轉換接口</p>&
40、lt;p> 模/數(shù)轉換器ADC是外界與計算機進行信息傳遞的通道。它是一種信號轉換接口,可以把模擬量信號轉換成數(shù)字量信號以便輸入給計算機對其進行各種處理。芯片采用逐次逼近式原理實現(xiàn)A/D轉換。[10]ADC的結構及工作原理是:由10位數(shù)/模轉換器DAC0、10位緩存器DAR0、逐次逼近寄存器SAR以及比較器COMP組成逐次逼近式的ADC,如圖3.5中虛線框內所示。圖中的ADC有兩種工作方式:手動方式和自動方式。</p>
41、<p> 在ADC自動方式被啟用后,會產生出一個啟動信號,此時,DAC0的電壓模擬量輸出值與外部的電壓模擬量輸入值進行比較,.逐次逼近式控制首先將SAR中數(shù)據(jù)的最高有效位試設為'1',而其它位則全設為'0',即10 0000 0000B.這時,DAC0輸出電壓VDAC0(1/2滿量程)就會與輸入電壓VIN進行比較.如果VIN>VDAC0,則保持原先設置為'1'的位(最
42、高有效位)仍為'1';否則,該位會被清'0'.接著,逐次逼近式控制又將下一位試設為'1',其余低位依舊設為'0',即110000 0000B,VDAC0與Vin進行比較的結果若Vin>VDAC0,則仍保持原先設置位的值,否則便清'0'該位.這個逐次逼近的過程一直會延續(xù)到10位中的所有位都被測試之后, A/D轉換的結果保存在SAR內。</p>
43、<p> 圖3.5 逐次逼近式的ADC結構</p><p> ADC在手動方式下取消了自動方式的逐次逼近寄存器SAR的功能,取而代之的是內部比較器COMP和緩存器DAR0,以模擬SAR的作用。換言之,手動方式是指須用軟件程序來控制模擬信號的輸入采樣或保持,通過寫入A/D數(shù)據(jù)單元來控制比較器基準電壓值VDAC0,以及通過讀比較器的比較結果來推測模擬輸入電壓值VIN。當外部2V的電壓模擬信號輸入到A
44、DC的輸入端上,可試著寫入A/D數(shù)據(jù)單元一個數(shù)字量值1000000000B,它實際對應于1.8V電壓模擬量。由于2V>1.8 V,故COMP第一次比較輸出的結果為‘1 ’,則ADC的轉換結果暫為1000000000B。接著寫入A/D數(shù)據(jù)單元下一個數(shù)字量值。在對系統(tǒng)硬件設計中,我根據(jù)設計要求將ADC設計為手動方式。</p><p> 3.3.3 D/A轉換模塊</p><p> 單
45、片機內部D/A轉換電路的使用與其它內部接口的使用相同,都是可編程控制的接口,通過程序設置其工作方式、工作狀態(tài)等。SPCE061A單片機內部有DAC1和DAC2兩路10位的DAC轉換器,可以形成雙通道的音頻輸出,也可以作為其它的模擬輸出信號。轉換輸出是以模擬電流信號的方式分別通過AUD1和AUD2管腳輸出。</p><p> 3.3.4 音頻輸出電路</p><p> 音頻輸出電路采用凌
46、陽功放芯片SPY0030。電路中SPY0030的放大倍數(shù)被固定為20倍,音量的大小可以通過電位器調整。喇叭左右兩個通道音量分立調節(jié)并備有兩個外部音頻信號放大輸入端。錄入后的語音信號經MIC轉換成電信號,由隔直電容隔掉直流成分,然后輸入至SPCE061A內部前置放大器,經過2路10位精度的DA轉換后,通過功放SPY0030A即可完成語音的播放。音頻輸出揚聲器驅動電路圖,如圖3.7。</p><p> 圖3.7 音
47、頻輸出揚聲器驅動電路</p><p> SPCE061A的音頻輸出有兩種方式,一種是音調輸出方式(Tone Mode),另一種則為語音輸出方式(Speech Mode),如圖3.8所示。二者的區(qū)別在于其輸出的控制機理不同。前者是通過控制Timer溢出所產生的不同頻率來決定聲波振動次數(shù)的多少,從而決定發(fā)出的聲音音調的高低,譬如好聽的樂音;后者則是用與聲音(不論是音樂還是語音)數(shù)據(jù)采樣率相同的速率將聲音數(shù)據(jù)通過數(shù)/
48、模轉換(D/A)通道還原成音頻電壓或電流輸出,其中聲音數(shù)據(jù)采樣率可決定聲音音質的好壞,并決定了聲音數(shù)據(jù)所需占據(jù)的存儲空間。在本系統(tǒng)設計中我采用語音輸出方式,數(shù)據(jù)采樣率采用相同的8KHz。</p><p> 圖3.8 音頻輸出方式硬件實現(xiàn)圖</p><p> 3.4 W29C040存儲芯片</p><p> W29C040為32腳DIP封裝芯片,工作電壓為5V,
49、內部 512K * 8位的快速閃存,它的結構為256字節(jié)為一頁,每頁的擦寫時間為5mS,整片擦除時間為50mS。W29C040寫、擦除流程圖如3.9。 </p><p> 圖3.9 W29C040寫、擦除流程圖</p><p> 3.5 串行設備輸入輸出口(SIO)</p><p> SIO的電路連接原理圖如3.10:</p><p>
50、 圖3.10 SIO電路原理圖</p><p> SIO 的讀寫操作時序如圖3.11:</p><p> 圖3.11 SIO讀寫操作時序</p><p> 串行輸出入端口SIO提供了一個1位的串行接口,用于與其它設備進行數(shù)據(jù)通訊。在SPCE061A內通過IOB0和IOB1這2個口來實現(xiàn)與設備進行串行交換數(shù)據(jù)的功能。其中,IOB0用來作為時鐘口(SCK),IO
51、B1則用來作為數(shù)據(jù)端口(SDA),用于串行數(shù)據(jù)的接收或發(fā)送。SIO傳輸速率最快可設為CPUCLK/4,默認值為CPUCLK/16。SPCE061A的SIO速率最快可達12288KHz。SIO可根據(jù)外設的差別來選擇不同的尋址模式,有8/16/24位三種尋址模式可選擇。</p><p> 3.6 通用串行通信接口UART模塊</p><p> 為了能使所設計的系統(tǒng)能與PC機進行通訊,我選擇
52、了UART模塊來實現(xiàn)這一功能。UART模塊為系統(tǒng)提供了一個全雙工標準接口,用于完成SPCE061A與外設之間的串行通訊。UART的接收信號Rx發(fā)送信號Tx分別是芯片的并行I/ O口IOB7和IOB10共用。借助于IOB口的特殊功能和UART IRQ中斷,可以同時完成UART接口的接收發(fā)送數(shù)據(jù)的過程。此外,UART還可以通過緩沖來接收數(shù)據(jù)。也就是說,它可以在寄存器數(shù)據(jù)被讀取之前就開始接收新的數(shù)據(jù)。但是,如果新接收的數(shù)據(jù)被送進寄存器之前,寄
53、存器內的舊數(shù)據(jù)還未被讀走,就會發(fā)生數(shù)據(jù)遺失。</p><p> UART的硬件電路中需用一個串口線將SPCE061A在線調試器的232接口與PC機端的232接口連接起來,如圖3.12。在設計中需要SPCE061A通過UART接口與PC進行通訊,因此需要對撥碼開關S19進行設置,需要將Rx、Tx都撥到高端才能正常通訊(Rx:PC接收數(shù)據(jù),Tx:PC發(fā)送數(shù)據(jù))。擴展RS232接口可直接與計算機進行通信,或者進行單片
54、機之間的雙機通信。</p><p> 圖3.12 SPCE061A與串口通信原理圖</p><p> 凌陽的SPCE061A的波特率=Fosc/2/Scale,其中Fosc是系統(tǒng)時鐘頻率,Scale為存儲單元中的10進制的整數(shù),所以系統(tǒng)時鐘頻率越高,傳輸?shù)牟ㄌ芈试礁?。常用的UART的傳輸速率在115200B/s,而SPCE061A的系統(tǒng)時鐘頻率最高可以到40.96MHz,使其傳輸速率已
55、超過常用的傳輸速率。</p><p> UART 波特率的計算公式如下:</p><p> 當Fosc=49.152MHz,40.960MHz或32.768MHz</p><p> 波特率=(Fosc/4 )/Scale (3.6.1)</p><p>
56、; 當Fosc=24.576MHz或20.480MHz</p><p> 波特率=(Fosc/2)/Scale (3.6.2)</p><p> 由此可得出Scale的值(Scale為7024H單元和7025H單元組成的十進制整數(shù))。</p><p><b>
57、第4章 軟件設計</b></p><p> 4.1 凌陽音頻介紹</p><p> 4.1.1 音頻概述</p><p> 我們所說的音頻是指頻率在20 Hz~20 kHz的聲音信號,分為:波形聲音、語音和音樂三種,其中波形聲音就是自然界中所有的聲音,是聲音數(shù)字化的基礎。語音也可以表示為波形聲音,但波形聲音表示不出語言、語音學的內涵。語音是對講話聲
58、音的一次抽象。是語言的載體,是人類社會特有的一種信息系統(tǒng),是社會交際工具的符號。音樂與語音相比更規(guī)范一些,是符號化了的聲音。但音樂不能對所有的聲音進行符號化。樂譜是符號化聲音的符號組,表示比單個符號更復雜的聲音信息內容。 </p><p> 4.1.2 數(shù)字音頻的采樣和量化及格式介紹 </p><p> 將模擬的(連續(xù)的)聲音波形數(shù)字元化(離散化),以便利數(shù)字計算機進行處理的過程,主要
59、包括采樣和量化兩個方面。 </p><p> 數(shù)字音頻的質量取決于:采樣頻率和量化位數(shù)這兩個重要參數(shù)。此外,聲道的數(shù)目、相應的音頻設備也是影響音頻質量的原因。 </p><p> 音頻文件通常分為兩類:聲音文件和MIDI文件 </p><p> ?。?)聲音文件:指的是通過聲音錄入設備錄制的原始聲音,直接記錄了真實聲音的二進制采樣數(shù)據(jù),通常文件較大; </
60、p><p> (2)MIDI文件:它是一種音樂演奏指令序列,相當于樂譜,可以利用聲音輸出設備或與計算機相連的電子樂器進行演奏,由于不包含聲音數(shù)據(jù),其文件尺寸較小。 </p><p> 4.1.3 語音壓縮編碼基礎 </p><p> 語音壓縮編碼中的數(shù)據(jù)量是指:數(shù)據(jù)量=(采樣頻率x量化位數(shù))/8(字節(jié)數(shù)) x聲道數(shù)目。壓縮編碼的目的:通過對資料的壓縮,達到高效率存
61、儲和轉換資料的結果即在保證一定聲音質量的條件下,以最小的資料率來表達和傳送聲音信息。壓縮編碼的必要性:實際應用中,壓縮編碼的音頻資料量很大,進行傳輸或存儲資料量是不現(xiàn)實的。所以要通過對信號趨勢的預測和冗余信息處理,進行資料的壓縮,這樣就可以使我們用較少的資源建立更多的信息。舉個例子,沒有壓縮過的CD品質的資料,一分鐘的內容需要11MB的內存容量來存儲。如果將原始資料進行壓縮處理,在確保聲音品質不失真的前提下,將數(shù)據(jù)壓縮一半,5.5MB就
62、可以完全還原效果。而在實際操作中,可以依需要來選擇合適的算法。 </p><p> 常見的幾種音頻壓縮編碼: </p><p> (1)波形編碼:將時間域信號直接變換為數(shù)字代碼,力圖使重建語音波形保持原語音信號的波形形狀。波形編碼的基本原理是在時間軸上對模擬語音按一定的速率抽樣,然后將幅度樣本分層量化,并用代碼表示。譯碼是其反過程,將收到的數(shù)字序列經過譯碼和濾波恢復成模擬信號。 <
63、;/p><p> 如:脈沖編碼調制(pulse code modulation,PCM)、差值脈沖編碼調制(DPCM)、增量調制(DM)以及它們的各種改進型自適應差分編碼(ADPCM)、自適應增量調制(ADM)、自適應差值脈沖編碼調制(ADPCM) 、自適應傳輸編碼(Adaptive Transfer Coding,ATC)和子帶編碼(SBC)等都屬于波形編碼技術。 </p><p> 波
64、形編碼特點:高話音質量、高碼率,適于高保真音樂及語音。 </p><p> (2) 參數(shù)編碼:參數(shù)編碼又稱為聲源編碼,是將信源信號在頻率域或其它正交變換域提取特征參數(shù),并將其變換成數(shù)字代碼進行傳輸。譯碼為其反過程,將收到的數(shù)字序列經變換恢復特征參量,再根據(jù)特征參量重建語音信號。具體說,參數(shù)編碼是通過對語音信號特征參數(shù)的提取和編碼,力圖使重建語音信號具有盡可能高的準確性,但重建信號的波形同原語音信號的波形可能會有
65、相當大的差別 。參數(shù)編碼特點:壓縮比大,計算量大,音質不高,廉價! </p><p> (3)混合編碼:混合編碼使用參數(shù)編碼技術和波形編碼技術,計算機的發(fā)展為語音編碼技術的研究提供了強有力的工具,大規(guī)模、超大規(guī)模集成電路的出現(xiàn),則為語音編碼的實現(xiàn)提供了基礎。80年代以來,語音編碼技術有了實質性的進展,產生了新一代的編碼算法,這就是混合編碼。它將波形編碼和參數(shù)編碼組合起來,克服了原有波形編碼和參數(shù)編碼的弱點,結合
66、各自的長處,力圖保持波形編碼的高質量和參數(shù)編碼的低速率。 如:多脈沖激勵線性預測編碼(MPLPC),規(guī)劃脈沖激勵線性預測編碼(KPELPC),碼本激勵線性預測編碼(CELP)等都是屬于混合編碼技術。其數(shù)據(jù)率和音質介于參數(shù)和波形編碼之間。 </p><p> 總之,音頻壓縮技術之趨勢有兩個: </p><p> 1)降低資料率,提高壓縮比,用于廉價、低保真場合(如:電話)。 </p
67、><p> 2)追求高保真度,復雜的壓縮技術(如:CD)。</p><p> 4.2 軟件設計流程圖</p><p> 在軟件設計上,由于語音資源存放在外擴存儲器W29C040上,只能采用手動的方式播放語音。在主函數(shù)中首先初始化SIO,這樣可以獲得存儲在W29C040上的語音資源的起始地址與結束地址,這樣便于語音控制。另外,需要對圖片的顯示,在播放語音的同時需要刷
68、新圖片,這樣采用在中斷中填充語音隊列的方法來實現(xiàn)。根據(jù)設計要求寫出了如下的系統(tǒng)軟件流程圖,如圖4.1:</p><p> 圖4.1 系統(tǒng)軟件流程圖</p><p><b> 4.3 程序代碼</b></p><p> 本軟件系統(tǒng)設計簡單。主要是因為凌陽的十六位單片機開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調用,且提供豐富的凌陽語音函
69、數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實現(xiàn)語音的錄放。例如本系統(tǒng)的語音錄入和播放代碼如下:部分程序如下:</p><p> 4.3.1 語音的錄入</p><p> SP_InitW29C040Flash();</p><p> SACM_DVR_Initial(Manual);</p><p> SACM_DVR
70、_InitEncoder(RceMonitorOn);</p><p> if (SACM_DVR_TestQueue()!= Empty)</p><p><b> {</b></p><p> page_buf[n] =SACM_DVR_FetchQueue( );</p><p> many_data_wr
71、ite(M_AddrH,M_AddrL,page_buf,n); </p><p><b> }</b></p><p> 4.3.2 語音的播放</p><p> SP_InitReadW29C040Flash();</p><p> SACM_DVR_InitDecoder(DAC1+DAC2);</p
72、><p> if(SACM_DVR_TestQueue()!=Full);</p><p><b> {</b></p><p> Ret SP_Read_Data(M_AddrH,M_AddrL++);</p><p> SACM_DVR_FillQueue(Ret);</p><p>
73、 SACM_DVR_Decode ();</p><p><b> }</b></p><p> 上的幾條簡單語句調用就可以完成語音錄入和播放??梢娛褂檬菢O其方便的。本系統(tǒng)底層驅動部分包括W29C040的讀寫、擦除使用的是匯編語言編寫的。上層部分包括語音的錄放是由C語言完成的。提供獨立的W29C040的讀、寫、擦除代碼模塊??晒¦29C系列芯片的驅動。</p
74、><p> 4.3.3 SACM-DVR相關的API函數(shù)</p><p> int SACM_DVR_Initial(int Init_Index);</p><p> void SACM_DVR_ServiceLoop(void);</p><p> void SACM_DVR_Encode(void);</p><
75、p> void SACM_DVR_StopEncoder(void);</p><p> void SACM_DVR_InitEncoder(RceMonitorOn);</p><p> void SACM_DVR_Stop(void);</p><p> void SACM_DVR_Play(void);</p><p>
76、 int SACM_DVR _Status(void);</p><p> void SACM_DVR _InitDecode(void);</p><p> void SACM_DVR _Decode(void);</p><p> void SACM_DVR_StopDecoder();</p><p> unsigned int
77、 SACM_DVR _ TestQueue(void);</p><p> int SACM_DVR _Fetchqueue(void);</p><p> void SACM_DVR_FillQueue(unsigned int encoded-data);</p><p> int GetResource(long Address);</p>
78、<p><b> 結論</b></p><p> 本次論文的設計選用的是凌陽的SPCE061A型單片機因為其具有體積小,集成度高,易擴展,可靠性高,功耗低,結構簡單,中斷處理能力強等特點,內嵌32K字內存FLASH,處理速度高,特別適應于數(shù)字語音錄放和語音識別等數(shù)字應用領域,是數(shù)字語音識別和語音信號處理,個人數(shù)字設備的理想產品,得到了廣泛的應用。</p><
79、;p> 本次軟件系統(tǒng)設計簡單,也主要是因為凌陽的十六位單片機開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調用,且提供豐富的凌陽語音函數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實現(xiàn)語音的錄放。同理硬件方面的設計也能根據(jù)其原理成功的設計出來,只是不足的是在沒有外加W29C040的擴展部分時可能會存在I/O口不足和語音識別的等問題,考慮到這些問題,為了解決這些問題,因此在本次的設計當中我們用了W29C040,它能夠解決
80、所有IO不夠用的問題,同時其有4M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達4分鐘語音錄放,因此也達到了我們設計的目的及要求。</p><p> 這次畢業(yè)設計是對四年本科學習知識的綜合應用,通過做畢業(yè)設計,本人不但對以前所學的知識加深了理解,而且提高了自己的動手實踐能力、分析問題和解決問題的能力以及創(chuàng)新能力,在具體應用當中還培養(yǎng)了自己科學的設計思維和嚴謹?shù)墓ぷ髯黠L。從確定任務開始,本人認真學
81、習了相關理論,學習了他人的經驗。并具體分析了所選用方案的市場價值和應用價值,同時還考慮到系統(tǒng)中一些設備成本以及學校資源方面的因素,以此確定了設計方案。</p><p> 畢業(yè)設計對于我們這些即將走向工作崗位的畢業(yè)生,可以說是一次極好的鍛煉機會,它能為我們今后走入社會更好地工作打下良好的基礎。這次畢業(yè)設計能夠取得成功是老師的精心指導和自己努力的結果?!坝龅嚼щy毫不放棄,堅持不懈是成功之本”是本人的深切體會。<
82、;/p><p><b> 參考文獻</b></p><p> [1]歐偉明.何靜.凌云等編著.單片機原理與應用[M].電子工業(yè)出版社,2009:247-251.</p><p> [2]姜志玲.用凌陽單片機實現(xiàn)多路數(shù)據(jù)采集與傳輸系統(tǒng)[J].西華大學學報.2005.</p><p> [3]吳大正.信號與線性系統(tǒng)分析(
83、第4版)[M].北京:高等教育出版社,2005.</p><p> [4]孟憲超.數(shù)碼錄音筆原理及應用[J].信息時代導刊,2004.</p><p> [5]楊行峻,遲惠生.語音信號數(shù)字處理[M].北京:電子工業(yè)出版社,第1版.</p><p> [6]吳鎮(zhèn)揚.數(shù)字信號處理[M].北京:高等教育出版社,2004:187-193.</p><
84、;p> [7]胡隆,許靜波.錄音、調音與音響技術[M].北京:北京工業(yè)大學出版社,第1版.</p><p> [8]張福學.傳感器應用及電路精選[M].北京:電子工業(yè)出版社,1995.</p><p> [9]鄧元慶.數(shù)字電路與邏輯設計[M].北京:電子工業(yè)出版社,2001.</p><p> [10]康華光,陳大欽,張林.電子技術基礎(模擬部分)[M
85、].北京:高等教育出版社,第5版,2006:412-464.</p><p> [11]康華光,鄒壽彬,秦臻.電子技術基礎(數(shù)字部分)[M].北京:高等教育出版社,第5版,2006:444-456.</p><p> [12]邱關源.電路[M].北京:高等教育出版社,第4版,1999:210-216.</p><p> [13]王素珍.田振清.用ISP實現(xiàn)對I
86、SD25120語音芯片的錄放音控制[J].電聲技術.2002.</p><p> [14]王竹便.錄音技術與技巧淺議[J].科技開發(fā)情報與經濟,2005.</p><p> [15]John Markus.電子電路大全[M].北京:計量出版社,1995.</p><p> [16]金保華,黃維萍.鄭州輕工業(yè)學院學報(自然科學版)[J].第17卷,第01期.&l
87、t;/p><p> [17]譚浩強.C程序設計[M].北京:清華大學出版社,第3版.</p><p> [18] ISD/Winbond.ISD4003-04Mdatasheet[Z],2000.</p><p><b> 致謝</b></p><p> 在這次畢業(yè)設計中,彭華廈老師給了我很大的幫助。從查閱文獻到課題
88、分析,從設計到論文撰寫,彭老師都不厭其煩地解答我提出的各種問題,并給予我很多指導。在彭老師的指導下,我學會了如何快速地適應一個新的領域、掌握它的知識并靈活地運用它,懂得了學習要講究方法,對于做設計和研究更是如此。在此,我衷心感謝彭老師對我的幫助。他對我的嚴格要求以及為人的誠懇都將使我終身受益。</p><p> 同時要特別感謝幫助的我的朋友,他們在學習和生活中也都給了我無私的幫助,讓我學到很多。他們是我學習和生
89、活上的伙伴,也是面對困難和挑戰(zhàn)時的戰(zhàn)友。</p><p> 感謝湖南工業(yè)大學的老師們,謝謝他們這四年來對我的教育,讓我懂得了如何做事,更讓我明白了如何做人。</p><p> 最后,衷心的感謝在百忙之中抽出時間審閱論文和參與我們答辯的專家教授老師們。</p><p> 學生簽名: </p><p> 日 期:
90、 </p><p><b> 附錄</b></p><p><b> 源程序代碼:</b></p><p> #include "dvr.h"</p><p> #defineSRAM_Size0x1ffff-4</p><p> #def
91、ineStop0</p><p> #defineRecord1</p><p> #define Play2</p><p> #defineFull1</p><p> #defineEmpty2</p><p> #defineDAC11</p>
92、<p> #define DAC22</p><p> #defineRceMonitorOff0</p><p> #defineRceMonitorOn1</p><p> #define Manual0</p><p> #defineAuto1</p><p>
93、; unsigned int aWriteData[130];</p><p> unsigned int ReadData=0;</p><p> unsigned int G_TestValue=0;</p><p> unsigned int Write256BytesFlag=0;</p><p> unsigned int
94、 Addr_Counter=0;</p><p> unsigned int Addr_Counter_Tmp=0;</p><p> unsigned int Key, Mode, Status;</p><p> unsigned long int Addr, Addr_Save;</p><p> unsigned long
95、int Addr_Long;</p><p> unsigned long int yxh=0;</p><p> unsigned int Write_W29C040_Status_Check(unsigned long int,unsigned int);</p><p> int main()</p><p><b&g
96、t; {</b></p><p> unsigned int abin=0;</p><p> unsigned int i=0,j=0;</p><p> Mode = Manual;</p><p> System_Initial();</p><p> SACM_DVR_Initial(M
97、ode); </p><p> Status = Stop; </p><p><b> while(1)</b></p><p><b> {</b></p><p><b> Key=();</b></p><p> Key=GetKe
98、yScanValue();</p><p><b> if(Key>0)</b></p><p><b> {</b></p><p> switch(Key)</p><p><b> {</b></p><p> case 0x00
99、:</p><p><b> break;</b></p><p> case 0x01:</p><p> Status = Record;</p><p> Addr = 0;</p><p> Addr_Counter_Tmp=0;</p><p> S
100、P_InitWriteSRAM(); </p><p> SP_InitW29C040Flash(); </p><p> SP_InitWriteW29C040Flash();</p><p> SACM_DVR_InitQueue();</p><p> SACM_DVR_InitEncoder(RceMonitorOn);<
101、;/p><p><b> break;</b></p><p> case 0x02:</p><p> case 0x04:</p><p> switch(Status)</p><p><b> {</b></p><p> case R
102、ecord:</p><p> SACM_DVR_Stop();</p><p> while(SACM_DVR_TestQueue() != Empty)</p><p><b> {</b></p><p> Ret = SACM_DVR_FetchQueue();</p><p>
103、 SP_WriteSRAM(Addr,Ret);</p><p> SP_InitWriteW29C040Flash(); </p><p> SP_Write_W29C040_One_Word(Addr,Ret);</p><p> Addr += 2;</p><p><b> }</b></p>
104、<p> SP_WriteSRAM(Addr,0xFFFF);</p><p> SP_InitWriteW29C040Flash(); </p><p> SP_Write_W29C040_One_Word(Addr,0xFFFF);</p><p> Addr += 2;</p><p> SP_WriteSRA
105、M(Addr,0x00FF);</p><p> SP_InitWriteW29C040Flash();</p><p> SP_Write_W29C040_One_Word(Addr,0x00FF);</p><p><b> break;</b></p><p> case Play:</p>
106、<p> SACM_DVR_Stop();</p><p><b> break;</b></p><p><b> }</b></p><p> Status = Stop;</p><p><b> break;</b></p><p
107、> case 0x04:</p><p> case 0x02:</p><p> SACM_DVR_Stop();</p><p> if(Status == Record) </p><p><b> {</b></p><p> while(SACM_DVR_TestQue
108、ue() != Empty)</p><p><b> {</b></p><p> aWriteData[Addr_Counter_Tmp] = SACM_DVR_FetchQueue();</p><p> Addr_Counter_Tmp++;</p><p> SP_WriteSRAM(Addr,Ret
109、);</p><p> SP_InitWriteW29C040Flash(); </p><p> if(Addr_Counter_Tmp==128)</p><p><b> {</b></p><p> if(Write256BytesFlag==1)</p><p><b>
110、; {</b></p><p> while(Write_W29C040_Status_Check(Addr,G_TestValue)==0);</p><p><b> }</b></p><p> for(i=0;i<128;i++)</p><p><b> {</b&g
111、t;</p><p> SP_Write_W29C040_One_Word(Addr,aWriteData[i]);</p><p> Addr += 2;</p><p><b> }</b></p><p> G_TestValue=aWriteData[127];</p><p>
112、 Addr_Counter_Tmp=0;</p><p><b> }</b></p><p><b> }</b></p><p> if(Addr_Counter_Tmp<0x0080)</p><p><b> {</b></p><p&
113、gt; if(Write256BytesFlag==1)</p><p><b> {</b></p><p> while(Write_W29C040_Status_Check(Addr,G_TestValue)==0);</p><p><b> }</b></p><p> for(
114、i=0;i<Addr_Counter_Tmp;i++)</p><p><b> {</b></p><p> SP_Write_W29C040_One_Word(Addr,aWriteData[i]);</p><p> Addr += 2;</p><p><b> }</b>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 錄音筆設計(畢業(yè)課題論文)
- 基于avr的錄音筆設計
- 基于avr錄音筆設計
- 畢業(yè)設計---錄音筆的設計與實現(xiàn)
- 基于單片機的錄音筆設計1
- 基于51單片機錄音筆設計
- 基于51單片機錄音筆設計(定稿)
- 基于51單片機錄音筆設計定稿
- 基于單片機的錄音筆的設計與實現(xiàn)畢業(yè)設計好!
- 基于avr單片機錄音筆設計與制作論
- sony-icd-px470錄音筆說明書
- 2012017年錄音筆項目可行性建議書
- hj 2510-2012 環(huán)境標志產品技術要求 錄音筆
- 2012017年錄音筆項目可行性建議書
- 高清攝像筆錄音筆中英文說明書
- HJ 2510-2012 環(huán)境標志產品技術要求 錄音筆.pdf
- 智能錄音機的設計—畢業(yè)論文
- 畢業(yè)論文-基于單片機的錄音與播放系統(tǒng)
- 畢業(yè)論文外文翻譯-一種水聲錄音設備的設計與實現(xiàn)
- 軟件工程畢業(yè)論文-手機通話錄音系統(tǒng)的設計與實現(xiàn)
評論
0/150
提交評論