基于ISD4004芯片的語音錄放系統(tǒng)設(shè)計word格式.doc_第1頁
基于ISD4004芯片的語音錄放系統(tǒng)設(shè)計word格式.doc_第2頁
基于ISD4004芯片的語音錄放系統(tǒng)設(shè)計word格式.doc_第3頁
基于ISD4004芯片的語音錄放系統(tǒng)設(shè)計word格式.doc_第4頁
基于ISD4004芯片的語音錄放系統(tǒng)設(shè)計word格式.doc_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

安徽工程大學(xué)畢業(yè)設(shè)計(論文)基于單片機的語音錄放器設(shè)計自動化081 孟新指導(dǎo)教師:孫新柱摘要:本文介紹了基于stc12c5a60s2單片機及isd4004語音板為主要部件的語音錄放電路的工作原理、硬件和軟件的設(shè)計。isd4004系列工作電壓3v,單片錄放時間8至16分鐘,音質(zhì)好,適用于移動電話及其他便攜式電子產(chǎn)品中。芯片設(shè)計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口spi送入。論文概述了語音錄放電路的原理,并且在介紹語音錄放系統(tǒng)功能的基礎(chǔ)上,提出了系統(tǒng)的總體構(gòu)成。針對錄放系統(tǒng)的錄音、放音部分的總體設(shè)計方案進行了論證。進一步介紹了單片機at89c52應(yīng)用在系統(tǒng)中的應(yīng)用,分析了系統(tǒng)各部分的硬件及軟件實現(xiàn)。本次設(shè)計目是完成一個簡單方便,能可靠穩(wěn)定工作的語音錄放系統(tǒng),該方案結(jié)構(gòu)簡單,控制可靠, 便于推廣。關(guān)鍵詞:isd4004 at89c52單片機 語音錄放abstract:this paper introduces isd4004 based on stc12c5a60s2 single chip computer and of the main parts of speech plate as the working principle of voice recording circuit and the design of hardware and software. isd4004 series working voltage, monolithic 3v recording time 8 to 16 minutes, timbre, suitable for mobile phones and other portable electronics. chip design is based on all the operation must by micro controller control, operation orders through serial communication interface spi into. this paper summarizes the principle of voice recording circuit, and introduces the function of speech on the basis of recording system, puts forward the general structure of the system. recording system for the recording, playback part of the overall design scheme is demonstrated. this paper introduces microcontroller at89c52 single applications in system, the application system were analyzed each part of hardware and software realization.this design is to complete a reliable and stable working voice recording circuit. the design is simple in structure, reliable control and facilitate promotion. keyword: isd4004;89c52microcontroller;voice recording and playback目錄引 言1第1章緒論21.1系統(tǒng)設(shè)計的意義21.2系統(tǒng)設(shè)計的目的21.3系統(tǒng)采用的實現(xiàn)方法3第2章 單片機控制技術(shù)和開發(fā)環(huán)境介紹42.1 stc12c5a60s2單片機性能和引腳介紹42.1.1 stc12c5a60s2系列單片機簡介42.1.2 stc12c5a60s2主要性能參數(shù)42.1.3 stc12c5a60s2引腳52.2 keil開發(fā)環(huán)境和建立工程72.2.1 keil簡介72.2.2 keil工程建立72.3 isd4004介紹102.3.1性能簡述和引腳圖102.3.2引腳描述102.4 spi(串行外設(shè)接口)122.4.1協(xié)議介紹122.4.2 信息快進132.4.3上電順序132.4.4 spi端口的控制位142.4.5 spi控制寄存器152.4.6時序15第3章系統(tǒng)總體設(shè)計173.1 硬件電路設(shè)計173.2軟件設(shè)計203.2.1語音芯片的內(nèi)部信息尋址機制203.2.2 監(jiān)控isd4004錄音地址的實例213.2.3程序流程圖21第4章 測試實例234.1 測試內(nèi)容23參考文獻25插圖清單圖2.1 stc12c5a60s2單片機引腳圖6圖2.2 選擇單片機型號8圖2.3 加入文件8圖2.4 重復(fù)加入源程序得到的提示9圖2.5 isd4004引腳圖10圖2.6 時序11表2.1 指令表14圖2.7 各端口功能14表2.2 控制器功能15圖2.8 spi 端口15表2.3 spi 時序參數(shù)16圖3.1 電源與指示燈原理圖17圖3.2 按鍵和指示燈原理圖18圖3.3 單片機原理圖18圖3.4 音頻輸入原理圖19圖3.5 音頻輸出原理圖19圖3.6錄放時序20圖3.8 程序流程圖22圖4.1 實物圖23引 言語音,作為一種典型的非平穩(wěn)隨機信號,是人類交流信息最自然、最有效、最方便的手段,在人類文明和社會進步中起著重要的作用。隨著電子通信業(yè)的出現(xiàn)和計算機技術(shù)的發(fā)展,人們開始可以從數(shù)字信號處理的角度了解語音。語音信號的研究可以從時域和頻域兩個方面進行。其中時域的分析處理有兩種方法:一是進行語音信號分析,這屬于小型處理的范疇,主要是通過信號的加減、時移、倍乘、卷積、求相關(guān)函數(shù)等來實現(xiàn);另一種是生成和變換成各種調(diào)制信號,這屬于非線性的范疇,主要是對信號平均累加器的動態(tài)范圍進行壓縮擴張,用門限方法對噪聲的抑制。對頻域分析處理,即對信號的頻率特性在頻譜中加以分析研究,這拓展了信號分析的范圍,是對不確定信號分析的主要方法。隨著計算機技術(shù)處理和信息技術(shù)的發(fā)展,語音交互已經(jīng)成為人機交互的必要手段,而語音信號的采集處理是人機交互的前提和基礎(chǔ)。聲卡是計算機對語音信息進行加工的重要部件,它具有對信號濾波、放大、采樣保持、a/d和d/a轉(zhuǎn)換等功能。語音信號處理作為一個重要的研究領(lǐng)域,已經(jīng)有很長的研究歷史。但是它的快速發(fā)展可以說是從1940年前后dudley的聲碼器和potter等人的可見語音開始的;20世紀(jì)60年代中期形成的一系列數(shù)字信號處理方法和技術(shù),如數(shù)字濾波器、快速傅里葉變換等成為語音信號數(shù)字處理的理論和技術(shù)基礎(chǔ);到了80年代,由于矢量量化、隱馬爾克夫模型和人工神經(jīng)網(wǎng)絡(luò)等相繼被應(yīng)用于語音信號處理,并經(jīng)過不斷改進與完善,使得語音信號處理技術(shù)產(chǎn)生了突破性的進展。進入90年代以來,語音信號處理在實用化方面取得了許多實質(zhì)性的進展。一方面,對聲音語音學(xué)統(tǒng)計模型的研究逐漸深入,魯棒的語音識別、基于語音段的建模方法及隱馬爾可夫模型與人工神經(jīng)網(wǎng)絡(luò)的結(jié)合成為研究的熱點。另一方面,為了語音識別使用化的需要,講著自適應(yīng)、聽覺模型、快速搜索識別算法以及進一步的語言模型的研究等課題備受關(guān)注。第1章緒論1.1系統(tǒng)設(shè)計的意義語音不僅是人與人之間進行信息交流最直接、最方便和最有效的工具,而且也是人與機器之間進行通信的重要工具。1874年電話的發(fā)展可以認(rèn)為是現(xiàn)代處理的開端。電話的理論基礎(chǔ)是盡可能不失真地傳送語音波形。這種“波形原則”幾乎統(tǒng)治了其后整整一百年。1939年產(chǎn)生了一種概念全新的語音處理技術(shù),這就是著名的通道聲碼器技術(shù)。聲碼器的理論基礎(chǔ)是認(rèn)為語音是由人的聲帶振動產(chǎn)生的生源(載波)受到運動的聲道的控制(調(diào)制)而產(chǎn)生的,因而將載波和調(diào)制兩部分分開來進行傳送便可極大地壓縮頻帶。這一概念已經(jīng)包含著其后出現(xiàn)的語音參數(shù)模型的基本思想。40年代后期,研制成功了能夠把語音信號的時變譜用語音表示出來的儀器語音儀,為語音信號分析提供了一個有力的工具。對于語音信號,數(shù)字處理比模擬處理具有更多的優(yōu)點。這是因為:第一,數(shù)字技術(shù)能夠完成許多很復(fù)雜的信號處理工作;第二,通過語音進行交換的信息本質(zhì)上具有離散的性質(zhì),因為語音可以看成是因素的組合,這就特別適合于數(shù)字處理;第三,數(shù)字系統(tǒng)具有高可靠性、價廉、緊湊、快速等特點,很容易完成實時處理任務(wù);第四,數(shù)字語音適合于在強干擾通信中傳輸,易于和數(shù)據(jù)一起在通信網(wǎng)中傳輸,也易于進行加密傳輸。因此數(shù)字語音信號處理是主要研究方向。無論是人與人之間還是人與計算機之間的語音通信,語音處理,特別是語音數(shù)字處理的理論和技術(shù),具有特別重要的作用。單片機的應(yīng)用無處不在,利用單片機控制語音的錄放也多不勝舉。用單片機控制語音芯片,再把單片機和語音芯片嵌入到通信設(shè)備,智能儀器,治安報警及兒童玩具中,就可做成語音播放的機器,應(yīng)用范圍廣泛。用單片機控制語音芯片設(shè)計語音錄放系統(tǒng),該系統(tǒng)功能多,錄放音音質(zhì)好,外圍電路簡單。1.2系統(tǒng)設(shè)計的目的設(shè)計一個語音錄放系統(tǒng),可以應(yīng)用于通訊設(shè)備、智能儀表、治安報亭、語音報站、報數(shù)報價、語音講解、語音記錄、語音復(fù)讀、教學(xué)儀器、智能玩具、電子禮品等領(lǐng)域。要求放音質(zhì)量好,用二極管顯示工作狀態(tài)。系統(tǒng)具有較強的抗干擾能力,便于安裝和擴展。1.3系統(tǒng)采用的實現(xiàn)方法設(shè)計硬件原理圖,焊接語音模塊,包括電壓轉(zhuǎn)換芯片,音頻小功率放大器和isd4004的連接.編寫軟件程序,利用單片機控制技術(shù),實現(xiàn)錄、放、停等操作。第2章 單片機控制技術(shù)和開發(fā)環(huán)境介紹2.1 stc12c5a60s2單片機性能和引腳介紹2.1.1 stc12c5a60s2系列單片機簡介 stc12c5a60s2/ad/pwm 系列單片機是stc生產(chǎn)的單時鐘/機器周期(1t)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快812倍。內(nèi)部集成max810專用復(fù)位電路,2路pwm,8路高速10位a/d轉(zhuǎn)換(250k/s,即25萬次/秒),針對電機控制,強干擾場合。2.1.2 stc12c5a60s2主要性能參數(shù)1.增強型8051 cpu,1t,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)80512.工作電壓:stc12c5a60s2系列工作電壓:5.5v- 3.3v(5v單片機)stc12le5a60s2系列工作電壓:3.6v- 2.2v(3v單片機)3.工作頻率范圍:0 - 35mhz,相當(dāng)于普通8051的 0420mhz4.用戶應(yīng)用程序空間8k /16k / 20k / 32k / 40k / 48k / 52k / 60k / 62k字節(jié).5.片上集成1280字節(jié)ram6.通用i/o口(36/40/44個),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)i/o口) 可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏 每個i/o口驅(qū)動能力均可達到20ma,但整個芯片最大不要超過55ma7. isp(在系統(tǒng)可編程)/iap(在應(yīng)用可編程),無需專用編程器,無需專用仿真器 可通過串口(p3.0/p3.1)直接下載用戶程序,數(shù)秒即可完成一片8.有eeprom功能(stc12c5a62s2/ad/pwm無內(nèi)部eeprom)9. 看門狗10.內(nèi)部集成max810專用復(fù)位電路(外部晶體12m以下時,復(fù)位腳可直接1k電阻到地)11.外部掉電檢測電路:在p4.6口有一個低壓門檻比較器 5v單片機為1.32v,誤差為+/-5%,3.3v單片機為1.30v,誤差為+/-3%12.時鐘源:外部高精度晶體/時鐘,內(nèi)部r/c振蕩器(溫漂為+/-5%到+/-10%以內(nèi)) 1用戶在下載用戶程序時,可選擇是使用內(nèi)部r/c振蕩器還是外部晶體/時鐘 常溫下內(nèi)部r/c振蕩器頻率為:5.0v單片機為:11mhz15.5mhz 3.3v單片機為: 8mhz12mhz 精度要求不高時,可選擇使用內(nèi)部時鐘,但因為有制造誤差和溫漂,以實際測試為準(zhǔn)13.共4個16位定時器 兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器t0和t1,沒有定時器2,但有獨立波特率發(fā)生器 做串行通訊的波特率發(fā)生器 再加上2路pca模塊可再實現(xiàn)2個16位定時器14. 2個時鐘輸出口,可由t0的溢出在p3.4/t0輸出時鐘,可由t1的溢出在p3.5/t1輸出時鐘15.外部中斷i/o口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的pca模塊, power down模式可由外部中斷喚醒, int0/p3.2, int1/p3.3, t0/p3.4, t1/p3.5, rxd/p3.0, ccp0/p1.3(也可通過寄存器設(shè)置到p4.2 ), ccp1/p1.4 (也可通過寄存器設(shè)置到p4.3)16. pwm(2路)/pca(可編程計數(shù)器陣列,2路) -也可用來當(dāng)2路d/a使用 -也可用來再實現(xiàn)2個定時器 -也可用來再實現(xiàn)2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持)17.a/d轉(zhuǎn)換, 10位精度adc,共8路,轉(zhuǎn)換速度可達250k/s(每秒鐘25萬次)18.通用全雙工異步串行口(uart),由于stc12系列是高速的8051,可再用定時器或pca軟件實現(xiàn)多串口19. stc12c5a60s2系列有雙串口,后綴有s2標(biāo)志的才有雙串口,rxd2/p1.2(可通過寄存器設(shè)置到p4.2),txd2/p1.3(可通過寄存器設(shè)置到p4.3)20.工作溫度范圍:-40 - +85(工業(yè)級) / 0 - 75(商業(yè)級)21.封裝:pdip-40,lqfp-44,lqfp-48 i/o口不夠時,可用2到3根普通i/o口線外接 74hc164/165/595(均可級聯(lián))來擴展i/o口, 還可用a/d做按鍵掃描來節(jié)省i/o口,或用雙cpu,三線通信,還多了串口。2.1.3 stc12c5a60s2引腳引腳圖如圖2.1所示: 圖表 1圖2.1 stc12c5a60s2單片機引腳圖2.2 keil開發(fā)環(huán)境和建立工程2.2.1 keil簡介keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。2.2.2 keil工程建立啟動uvison3,點擊“file new”在工程管理器的右側(cè)打開一個新的文件輸入窗口,在這個窗口里輸入一個源程序,注意大小寫及每行后的分號,不要錯輸及漏輸。輸入完畢之后,選擇“file save”,給這個文件取名保存,取名字的時候必須要加上擴展名,一般c語言程序均以“.c”為擴展名,這里將其命名為fgf.c,保存完畢后可以將該文件關(guān)閉。keil不能直接對單個的c語言源程序進行處理,還必須選擇單片機型號;確定編譯、匯編、連接的參數(shù);指定調(diào)試的方式;而且一些項目中往往有多個文件,為管理和使用方便,keil使用工程(project)這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個工程中,只能對工程而不能對單一的源程序進行編譯和連接等操作。 點擊“project-newproject”菜單,出現(xiàn)對話框,要求給將要建立的工程起一個名字,這里起名為fgf,不需要輸入擴展名。點擊“保存”按鈕,出現(xiàn)第二個對話框,如圖2.2所示,這個對話框要求選擇目標(biāo)cpu(即你所用芯片的型號),keil支持的cpu很多,這里選擇atmel公司的89s52芯片。點擊atmel前面的“+”號,展開該層,點擊其中的89s52,然后再點擊“確定”按鈕,回到主窗口,此時,在工程窗口的文件頁中,出現(xiàn)了“target1”,前面有“+”號,點擊“+”號展開,可以看到下一層的“sourcegroup1”,這時的工程還是一個空的工程,里面什么文件也沒有,需要手動把剛才編寫好的源程序加入,點擊“sourcegroup1”使其反白顯示,然后,點擊鼠標(biāo)右鍵,出現(xiàn)一個下拉菜單,如圖2.3所示,選中其中的“addfiletogroup sourcegroup1”,出現(xiàn)一個對話框,要求尋找源文件。圖表 2圖2.2 選擇單片機型號 圖表 3圖2.3 加入文件雙擊fgf.c文件,將文件加入項目,注意,在文件加入項目后,該對話框并不消失,等待繼續(xù)加入其它文件,但初學(xué)時常會誤認(rèn)為操作沒有成功而再次雙擊同一文件,這時會出現(xiàn)如圖2.4所示的對話框,提示你所選文件已在列表中,此時應(yīng)點擊“確定”,返回前一對話框,然后點擊“close”即可返回主接口,返回后,點擊“sourcegroup1”前的加號,fgf.c文件已在其中。雙擊文件名,即打開該源程序。圖表 4圖2.4 重復(fù)加入源程序得到的提示 2.3 isd4004介紹2.3.1性能簡述和引腳圖isd4004 系列工作電壓 3v,單片錄放時間 8 至 16 分鐘,音質(zhì)好,適用于移動電話及其他便攜式電子產(chǎn) 品中。芯片采用 cmos 技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪及高密 度多電平閃爍存貯陳列。芯片設(shè)計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口spi送入。芯片采用多電平直接模擬量存儲技術(shù), 每個采樣值直接存貯在片內(nèi)閃爍存貯器 中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,避免了一般固體錄音電路因量化和壓縮 造成的量化噪聲和金屬聲。采樣頻率可為 4.0,5.3,6.4,8.0khz,頻率越低,錄放時間越長,而音質(zhì)則有所下 降,片內(nèi)信息存于閃爍存貯器中,可在斷電情況下保存 100 年(典型值),反復(fù)錄音 10 萬次。圖表 5圖2.5 isd4004引腳圖2.3.2引腳描述1 電源:(vcca,vccd) 為使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝的 不同管腳上,模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近器件。2 地線:(vssa,vssd) 芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線。3 同相模擬輸入(ana in+) 這是錄音信號的同相輸入端。輸入放大器可用單端或差分驅(qū)動。單端輸入時, 信號由耦合電容輸入,最大幅度為峰峰值 32mv,耦合電容和本端的 3k電阻輸入阻抗決定了芯片頻帶的 低端截止頻率。差分驅(qū)動時,信號最大幅度為峰峰值 16mv,為 isd33000 系列相同。4 反相模擬輸入(ana in-) 差分驅(qū)動時,這是錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度為 峰峰值 16mv音頻輸出(aud out) 提供音頻輸出,可驅(qū)動 5k的負(fù)載。5 片選(ss) 此端為低,即向該 isd4004 芯片發(fā)送指令,兩條指令之間為高電平。6 串行輸入(mosi) 此端為串行輸入端,主控制器應(yīng)在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供isd輸入。7 串行輸出(miso) isd 的串行輸出端。isd 未選中時,本端呈高阻態(tài)。8 串行時鐘(sclk) isd 的時鐘輸入端,由主控制器產(chǎn)生,用于同步 mosi 和 miso 的數(shù)據(jù)傳輸。數(shù)據(jù)在 sclk上升沿鎖存到 isd,在下降沿移出 isd。9 中斷(/int) 本端為漏極開路輸出。isd 在任何操作(包括快進)中檢測到 eom 或 ovf 時,本端變低并保 持。中斷狀態(tài)在下一個 spi 周期開始時清除。中斷狀態(tài)也可用 rint 指令讀取。ovf 標(biāo)志-指示 isd 的錄、放操作已到達存儲器的未尾。eom 標(biāo)志-只在放音中檢測到內(nèi)部的 eom 標(biāo)志時,此狀態(tài)位才置1。10 行地址時鐘(rac) 漏極開路輸出。每個 rac 周期表示 isd 存儲器的操作進行了一行(isd4004 系列中的 存貯器共 2400 行)。該信號 175ms 保持高電平,低電平為25ms??爝M模式下,rac 的 218.75s 是高電 平,31.25s 為低電平。圖表 6圖2.6 時序 11 外部時鐘(xclk) 本端內(nèi)部有下拉元件。芯片內(nèi)部的采樣時鐘在出廠前已調(diào)校,誤差在 +1%內(nèi)。商業(yè)級 芯片在整個溫度和電壓范圍內(nèi), 頻率變化在+2.25%內(nèi)。工業(yè)級芯片在整個溫度和電壓范圍內(nèi),頻率變化 在-6/+4%內(nèi),此時建議使用穩(wěn)壓電源。若要求更高精度,可從本端輸入外部時鐘(如前表所列)。由于內(nèi)部 的防混淆及平滑濾波器已設(shè)定,故上述推薦的時鐘頻率不應(yīng)改變。輸入時鐘的占空比無關(guān)緊要,因內(nèi)部首 先進行了分頻。在不外接地時鐘時,此端必須接地。12 自動靜噪(amcap) 當(dāng)錄音信號電平下降到內(nèi)部設(shè)定的某一閾值以下時,自動靜噪功能使信號衰弱,這樣有 助于養(yǎng)活無信號(靜音)時的噪聲。通常本端對地接 1mf 的電容,構(gòu)成內(nèi)部信號電平峰值檢測電路的一部 分。檢出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動靜噪功能的翻轉(zhuǎn)點。大信號時,自動靜噪電路不 衰減,靜音時衰減 6db。1mf 的電容也影響自動靜噪電路對信號幅度的響應(yīng)速度。本端接 vcca 則禁止自動靜噪。2.4 spi(串行外設(shè)接口)2.4.1協(xié)議介紹isd4004工作于spi串行接口。spi 協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的 spi 移 位寄存器在 sclk 的下降沿動作,因此對 isd4004 而言,在時鐘止升沿鎖存 mosi 引腳的數(shù)據(jù),在下降沿將數(shù)據(jù)送至 miso 引腳。協(xié)議的具體內(nèi)容為:1 所有串行數(shù)據(jù)傳輸開始于 ss 下降沿。2 ss 在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平。3 數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。4 ss 變低,輸入指令和地址后,isd 才能開始錄放操作。5 指令格式是(8 位控制碼)加(16 位地址碼)。6 isd 的任何操作(含快進)如果遇到 eom 或 ovf,則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個 spi 周期開始時被清除。7 使用讀指令使中斷狀態(tài)位移出 isd 的 miso 引腳時,控制及地址數(shù)據(jù)也應(yīng)同步從 mosi 端移入。因此要注意移入的數(shù)據(jù)是否與器件當(dāng)前進行的操作兼容。當(dāng)然,也允許在一個 spi 周期里,同時執(zhí)行讀狀 態(tài)和開始新的操作(即新移入的數(shù)據(jù)與器件當(dāng)前的操作可以不兼容)。8 所有操作在運行位(run)置 1 時開始,置 0 時結(jié)束。9 所有指令都在 ss 端上升沿開始執(zhí)行。2.4.2 信息快進 用戶不必知道信息的確切地址,就能快進跳過一條信息。信息快進只用于放音模式。放音速度是正常的 1600 倍,遇到 eom 后停止,然后內(nèi)部地址計數(shù)器加 1,指向下條信息的開始處。2.4.3上電順序器件延時 tpud(8khz 采樣時,約為 25 毫秒)后才能開始操作。因此,用戶發(fā)完上電指令后,必須等待tpud,才能發(fā)出一條操作指令。參見表2.1。例如,從 00 從處發(fā)音,應(yīng)遵循如下時序:1 發(fā) powerup 命令;2 等待 tpud(上電延時);3 發(fā)地址值為 00 的 setplay 命令;4 發(fā) play 命令。器件會從此 00 地址開始放音,當(dāng)出現(xiàn) eom 時,立即中斷,停止放音。如果從 00 處錄音,則按以下時序:1 發(fā) power up 命令;2 等待 tpud(上電延時);3 發(fā) power up 命令;4 等待 2 倍 tpud;5 發(fā)地址值為 00 的 setrec 命令;6 發(fā) rec 命令。器件便從 00 地址開始錄音,一直到出現(xiàn) ovf(存貯器末尾)時,錄音停止。指令8 位控制碼操作摘要powerup00100xxx上電:等待 tpud后器件可以工作set play11100xxx從指定地址開始放音。后跟 play 指令可使放音繼續(xù)進行下去play11110xxx從當(dāng)前地址開始放音(直至 eom 或 ovf)set rec10100xxx從指定地址開始錄音。后跟 rec 指令可使錄音繼續(xù)進行下去rec10110xxx從當(dāng)前地址開始錄音(直至 ovf 或停止)set mc11101xxx從指定地址開始快進。后跟 mc 指令可使快進繼續(xù)進行下去mc11111xxx執(zhí)行快進,直到 eom.若再無信息,則進入 ovf 狀態(tài)stop0x110xxx停止當(dāng)前操作stop wrdn0x01xxxx停止當(dāng)前操作并掉電rint0x110xxx讀狀態(tài):ovf 和 eom圖表 7表2.1 指令表注:快進只能在放音操作開始時選擇。2.4.4 spi端口的控制位spi端口有兩個硬件控制位miso 和mosi,spi控制寄存器控制放、錄、信息檢索、上電、掉電、啟動和停止、忽視地址指示等功能。詳見圖2.7圖表 8圖2.7 各端口功能2.4.5 spi控制寄存器spi控制寄存器控制器件的每個功能,如錄放、錄音、信息檢索(快進)、上電/掉電、開始和停止操 作、忽略地址指針等。詳見表2.2:圖表 9表2.2 控制器功能位值功能位值功能run 1 0允許/禁止操作開始 停止pu10電源控制上電 掉電p/-r10錄/放模式放音 錄音iab10操作是否使用指令地址忽略輸入地址寄存的內(nèi)容 使用輸入地址寄存的內(nèi)容mc10快進模式允許快進 禁止p15-p0a15-a0行指針寄存器輸出輸入地址寄存器 注:iab 置 0 時,錄、放操作從 a9-a0 地址開始。為了能連貫地錄、放到后續(xù)的存儲空間,在操作到達該 行末之前,應(yīng)發(fā)出第二個 spi 指令將 iab 置 1,否則器件在同一地址上反復(fù)循環(huán)。這個特點對語音提 示功能很有用。rac 腳和 iab 位可用于信息管理。spi端口簡單框圖如下:圖表 10圖2.8 spi 端口2.4.6時序spi總線協(xié)議是一個環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時序主要是在sck的控制下,兩個雙向移位寄存器進行數(shù)據(jù)交換。假設(shè)下面的8位寄存器裝的是待發(fā)送的數(shù)據(jù)10101010,上升沿發(fā)送、下降沿接收、高位先發(fā)送。那么第一個上升沿來的時候數(shù)據(jù)將會是sdo=1;寄存器=0101010x。下降沿到來的時候,sdi上的電平將所存到寄存器中去,那么這時寄存器=0101010sdi,這樣在8個時鐘脈沖以后,兩個寄存器的內(nèi)容互相交換一次。這樣就完成里一個spi時序。圖表 11表2.3 spi 時序參數(shù)symbolparametersmintypmaxunitstsss/ss setup time500nsectssh/ss hold time500nsectdisdata in setup time200nsectdihdata in hold time200nsectpdoutput delay500nsectdfoutput delay to hiz500nsectssmin/ss high1sectsckhisclk high time400nsectscklowsclk low time400nsecf0clk(frequency)1000khz第3章系統(tǒng)總體設(shè)計3.1 硬件電路設(shè)計3.1.1 單片機控制模塊該電路采用stc12c5a60s2單片機(美國atmel公司生產(chǎn)的at89c52單片機。該芯片片內(nèi)集有8k字節(jié)的電擦除閃速存儲器(flash rom),價格低;晶體振蕩頻率選為12mhz;采用上電復(fù)位的方法通過操作),5個微型按扭開關(guān)和一個微動開關(guān)實現(xiàn)功能轉(zhuǎn)換,操作命令由串行通信接口(spi)送入。電路即可工作在順序模式,又可工作在循環(huán)模式。當(dāng)工作在循環(huán)模式。當(dāng)工作在循環(huán)模式的錄音狀態(tài)時,isd芯片將始 終記錄最后16min的語音信息,直至按下停止鍵。如圖3.1 3.2 3.3所示 圖表 12 圖3.1 電源與指示燈原理圖 圖表 13圖3.2 按鍵和指示燈原理圖 圖表 14圖3.3 單片機原理圖3.1.2 錄音模塊錄音芯片采用isd4004-16m。isd系列語音芯片是美國isd公司推出的產(chǎn)品。該系列語音芯片采用多電平直接接模擬存儲(chip corder)專利技術(shù),聲音不需要a/d轉(zhuǎn)換和壓縮,每個采樣值直接存儲在片內(nèi)的閃爍存儲器中,沒有a/d轉(zhuǎn)換誤差,因此能夠真實、自然地再現(xiàn)語音、音樂及效果聲。避免了一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲。如3.2圖所示 圖表 15 圖3.4 音頻輸入原理圖3.1.3 放音模塊該部分電路采用tda2822芯片。如圖3.5所示 圖表 16圖3.5 音頻輸出原理圖3.1.4 總體思路 該電路采用stc12c5a60s2單片機,通過操作5個微型按扭開關(guān)和一個微動開關(guān)實現(xiàn)功能轉(zhuǎn)換,操作命令由串行通信接口(spi)送入。電路即可工作在順序模式,又可工作在循環(huán)模式。當(dāng)工作在循環(huán)模式。當(dāng)工作在循環(huán)模式的錄音狀態(tài)時,isd芯片將始 終記錄最后16min的語音信息,直至按下停止鍵。整個電路由單片機控制顯示電路、isd4004語音錄放電路、話筒輸入電路、音頻功率放大電路幾部分構(gòu)成。isd4004的片選信號ss由控制器p2.0提供。單片機stc12c5a60s2的串行口工作于同步移位寄存器方式,同步移位脈沖由txd(p3.1)輸出至isd4004的串行時鐘輸入端sclk,數(shù)據(jù)由rxd(p3.0)輸入輸出。對單片機而言,發(fā)射時作為輸出,接至isd4004的串行輸入端(mosi);接收時作為輸入,接至isd4004的串行輸出端(miso)。電路中拔動開關(guān)ks用于選擇啟用或取消循環(huán)錄音功能。3.2軟件設(shè)計3.2.1語音芯片的內(nèi)部信息尋址機制isd4004語音芯片具有能夠準(zhǔn)確控制語音錄放地址的功能,這種功能使我們能夠方便靈活地對語音信 息進行處理以達到我們對語音信息的要求。例如,我們可以利用軟件編程的方法實現(xiàn)對語音信息的剪輯、合成等操作來達到我們對語音信息特殊的要求。還有,我們可以通過程序控制做到語音的定時放音和循環(huán) 放音。若干條信息按順序分別錄入到芯片內(nèi),比如稱其為a,b,c,d信息。我們需要知道每一時刻的錄音信息在芯片存儲器中所處的位置,這樣有利于我們實時地監(jiān)控isd4004語音芯片工作的位置,從而能夠知道所錄的每段信息的開頭和結(jié)尾的準(zhǔn)確地址,便于我們對已錄入的信息進行管理。下面以isd4004-8mp為例來說明如何利用硬件結(jié)構(gòu)尋址。isd4004-8mp 內(nèi)置了特殊的信息尋址機制,即行地址時鐘(以下簡稱rac)。為了理解其工作原理,有必要先介紹器件的存儲結(jié)構(gòu)。isd4004的存儲器分為2400行。對器件尋址,就是選擇一行,從行首開始錄、放操作,而每行中的各列是不可尋址的。每一行的所有操作都從第一列開始。isd4004-8mp 每一行周期為200ms,這就是器件的地址分辨率。其中每行有175ms的高電平,25ms的低電平。每個錄放周期都從這200ms的“語音存儲塊”的塊首開始,如圖3.6所示。還以isd4004-8mp為例,rac在行末前25ms變低,在恰好到達行末時變高,這就類似一個時鐘,幫助你確定錄放操作已到何處。這個時鐘相對于微控制器的速度來說較慢,上例為200ms。因此,微控制器很容易通過軟件查詢rac的方法來確定何時已到達 圖表 17圖3.6錄放時序 行末。但由于微處理器的查詢速度相對于rac時鐘頻率要快得多,所以,如果通過查詢的方法檢測rac 每個周期的低電平時,在上一次檢測到rac低電平時必須要經(jīng)過一段延時才能再檢測rac,這樣檢測到的低電平才是有效的,這段延時可以說是“假延時”。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論