版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、 文章編號:1004-5422(200801-0062-04一種基于單片機的語音錄放電路的設計和實現(xiàn)楊洪軍,石 琳,劉永亮(成都大學電子信息工程學院,四川成都 610106摘 要:介紹了基于單片機設計和實現(xiàn)的一種語音錄放電路,并著重分析了使用dsPIC 系列單片機自帶的SPI 函數(shù)庫實現(xiàn)與ISD4002語音錄放芯片通信的軟件程序?qū)崿F(xiàn)方法.關鍵詞:ISD4002;語音錄放;SPI中圖分類號:TP912 文獻標識碼:A0 引 言隨著社會和科技的進步,諸如電話自動應答、公交自動報站等人性化的設備越來越多,而這些設備最核心的部分就是語音自動錄放裝置.本文介紹了一種基于單片機的語音錄放電路的設計和實現(xiàn).
2、該設計具有簡單易行、使用方便、成本低廉等特點,并且具有較好的可擴展性,有較高的實用價值.1 系統(tǒng)總體設計本設計采用dsPIC 單片機作為主控芯片,使用IS D4002作為語音錄放芯片,單片機和ISD 芯片之間通過SPI 接口進行通信,完成控制語音錄放功能,LC D 用于顯示語音錄放狀態(tài)和其他控制信息.系統(tǒng)總體框圖如圖1所示. 圖1 語音錄放系統(tǒng)框圖1.1 SPI 接口SPI 是由M otorola 公司推出的一種同步串行傳輸規(guī)范,常作為單片機外設芯片串行擴展接口.SPI 有4條引腳,分別是SS(從器件選擇線,SD O(串行數(shù)據(jù)輸出線,SDI(串行數(shù)據(jù)輸入線,SC K(同步串行時鐘線.SPI 可
3、以用全雙工通信方式同時發(fā)送和接受8位或16位數(shù)據(jù).本文所設計的系統(tǒng)以dsPIC30F6014為主控制器,ISD4002為從器件,通過S PI 口完成通信控制的過程.1.2 dsPIC 系列單片機1,2dsPIC 系列是M icroChip 公司推出的新型16位高性能數(shù)字信號控制器,它結(jié)合了單片機的控制優(yōu)點及數(shù)字信號處理器(D SP的高速運算特性,為嵌入式系統(tǒng)提供了單一芯片解決方案.它繼承了PIC 單片機系列的總線結(jié)構(gòu)和精簡指令集技術(shù),具有尋址方式簡單、運行速度快、功耗低、驅(qū)動能力強等優(yōu)點,同時集成了主板級的DSP 功能,能夠提供強大的數(shù)字信號處理能力.此外,它還提供了如UA RT 、C A N
4、 、SPI 等豐富的外圍接口,可以方便地與其他設備進行通信互聯(lián).本文所設計的系統(tǒng)就采用dsPIC 數(shù)字信號控制器的SPI 接口與ISD 語音芯片進行通信控制,使用的芯片型號為dsPIC30F6014.1.3 ISD4002語音錄放芯片3ISD 系列語音芯片采用多電平直接模擬存儲(Chip Corder專利技術(shù),聲音不需要A P D 轉(zhuǎn)換和壓縮,每個采樣直接存儲在片內(nèi)的閃爍存儲器中,避收稿日期:2007-09-15.作者簡介:楊洪軍(1980,男,碩士,助教,從事通信技術(shù)、D SP 應用研究1免了A P D 轉(zhuǎn)換的誤差,能夠真實、自然地還原語音、音樂及效果聲,避免了一般固體錄音電路量化和壓縮造成
5、的量化噪聲和金屬聲.本文所設計的系統(tǒng)使用的芯片型號為ISD4002,單片錄放時間為120s.I SD4002工作于SPI 串行接口.SPI 協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI 移位寄存器在SCL K 的下降沿動作.因此,對IS D4002而言,在時鐘上升沿鎖存M O SI 引腳數(shù)據(jù),在下降沿將數(shù)據(jù)送至M ISO 引腳.協(xié)議具體內(nèi)容如下:¹所有串行數(shù)據(jù)傳輸開始于SS 下降沿;ºS S 在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平;»數(shù)據(jù)在時鐘上升沿移入,在下降沿移出;¼SS 變低,輸入指令和地址之后,ISD 才開始錄放動作;
6、½指令格式是10位地址碼加6位控制碼;¾ISD 的任何操作(含快進如果遇到E O M 或O VF 則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI 周期開始時被清除;¿使用讀指令會使中斷狀態(tài)為移出ISD 的M ISO 引腳時,控制及地址數(shù)據(jù)也同步從M OSI 移入;À所有操作在運行位(R UN置/10時開始,置/00時結(jié)束;Á所有指令都在SS 上升沿開始執(zhí)行.具體時序圖如圖2所示 .圖2 SPI 接口時序圖2 系統(tǒng)功能的實現(xiàn)本設計系統(tǒng)采用dsPIC30F6014數(shù)字信號控制器,通過3個按鍵開關控制ISD4002錄放音芯片的動作.S1、S2、S3分別接到
7、控制器外部中斷I N T1、I N T2、I NT3上.當按下S1時,開始錄音,再次按下S1時停止錄音.如此反復即可實現(xiàn)多段錄音.同理,按下S2時開始放音,再次按下S2是停止放音.如此反復即可順序播放多段錄音.按下S3關機.2.1 硬件設計整個電路由語音錄放電路、話筒輸入電路、按鍵開關電路及LC D 顯示電路構(gòu)成.由于本設計系 統(tǒng)輸出直接驅(qū)動普通耳機,經(jīng)實驗驗證不需外部功放電路,直接利用ISD4002內(nèi)部功放輸出即可.ISD 4002作為從機,其S PI 接口的M OSI 接控制器的S DO,MIS O 接控制器的SD I,SCL K 接SCK,SS 接控制器的SS 即可LC D 用于人機交互
8、的界面顯示.該系統(tǒng)的電路圖如圖3所示.圖3 系統(tǒng)電路圖2.2 軟件設計dsPIC Language Tools Libraries 是M icrochip 公司提供給開發(fā)者的一套工具庫4,5,其中主要包含了3個子庫:D SP 庫,提供了常用的D SP 函數(shù);外圍接口庫,提供對dsPIC 系列所有外圍接口的驅(qū)動函數(shù),包括SPI 接口;標準C 及數(shù)學函數(shù)庫,在設計中,我們使用其中的外圍接口庫中的S PI 庫函數(shù)即可.SPI 庫中主要包括以下幾個函數(shù):¹Config 2IntSPIx SPI 中斷配置函數(shù).該函數(shù)可以對SPI 接口的中斷以及中斷優(yōu)先級進行配置,返回值為空.ºClo
9、seSPIx 函數(shù)關閉SPI 接口.»DataRdySPIx 函數(shù)使S PI 接口數(shù)據(jù)就緒.該函數(shù)用來判斷SPI 接收緩沖區(qū)中是否有數(shù)據(jù)等待讀出.若返回值為1,表示緩沖區(qū)中數(shù)據(jù)已經(jīng)就緒,等待讀出;若返回值為0,則表示緩沖區(qū)為空.¼ReadSPIx 函數(shù)讀SPI 接口緩沖區(qū).½WriteSPIx 函數(shù)向SPI 接口發(fā)送緩沖區(qū)寫數(shù)據(jù).¾OpenS PIx 函數(shù)打開SPI 接口.該函數(shù)包含兩個參數(shù),config1和config2.config1中包含了對SPI 接口操作模式的配置信息,寫入控制寄存器;c on 2fig2中則包含了S PI 的狀態(tài)信息,將寫入狀
10、態(tài)寄存器.該函數(shù)在打開S PI 接口的同時完成對其的配置.¿pusSPI x 函數(shù)將一個字符串數(shù)據(jù)寫入到發(fā)送緩沖區(qū)中.ÀgetsSPIx 函數(shù)從接收緩沖區(qū)讀入指定長度的字符串數(shù)據(jù)并轉(zhuǎn)存到指定的空間.除了這8個函數(shù)以外,該庫還提供了相應的宏指令完成同樣功能,可以在程序中方便的使用.#63#第1期 楊洪軍,等:一種基于單片機的語音錄放電路的設計和實現(xiàn)2.2.1ISD4002芯片操作要求.對于ISD4002芯片,器件延時TPUD(8kHz采樣時,約為25ms后才能開始操作.因此,用戶發(fā)完上電指令后,必須等待TPUD,才能發(fā)出一條操作指令.典型的操作如下:(1從00處發(fā)音,應按如下
11、時序:¹發(fā)PO W2 ERUP命令;º等待TPUD(上電延時;»發(fā)地址值為00的SE TPL AY命令;¼發(fā)PL AY命令.器件會從此00地址開始放音,當出現(xiàn)EO M 時,立即中斷,停止放音.(2從00處錄音,則按以下時序:¹發(fā)PO WER UP命令;º等待T PUD(上電延時;»發(fā)PO WER UP命令;¼等待2倍TPUD;½發(fā)地址值為00的SE TREC命令;¾發(fā)REC命令.器件便從00地址開始錄音,一直到出現(xiàn)O VF (存貯器末尾時,錄音停止.2.2.2軟件程序設計.軟件程序包括主程序以及
12、幾個子程序.主程序中,在完成了初始化的工作之后,進入一個while 循環(huán),等待響應按鍵觸發(fā)的中斷,若有按鍵按下,則進入相應的中斷服務程序.在按鍵S1的中斷服務程序中,設置一個標志變量,S1每按下一次,標志變量取反,用來控制錄音及停止錄音.同理,S2的中斷服務程序中也設置一個標志變量,控制開始放音及停止放音.S3的中斷服務程序中則發(fā)送Po werDo wn指令關機.另外,軟件還包括了L CD顯示驅(qū)動及控制等子程序.參照ISD4002芯片手冊的要求,本設計系統(tǒng)通過以下幾個子程序來實現(xiàn)SPI 通信控制的功能.(1初始化S PI接口.在進行SPI接口通信之前,首先要初始化S PI接口,設定主從關系、字
13、節(jié)長度、S PI模塊內(nèi)部預分頻系數(shù)等參數(shù),這些參數(shù)基本上按照默認值設置,也可以根據(jù)需要進行修改.在設置這些參數(shù)前,首先要關閉SPI接口,設置完成后,再打開S PI接口,設置的參數(shù)開始生效,程序如下5:void Init S PI(unsigned int S PIC ONValue;P P保存SPI配置參數(shù)信息unsigned int S PIS TATVal ue;P P保存SPI接口開關狀態(tài)信息CloseS PI1(;P P關閉SPI接口P P對SPI接口進行配置,相關的配置信息請參考芯片手冊SPIC ONValue=FRA ME ENAB LE OF F&FRA ME S YNC
14、OU TPU T&ENAB LE SD O PIN&SPI MODE16ON&SPI S MP ON&SPI C KE ON&SLAVE ENAB LE OFF&CLK POL AC TIVE HIG H&MAS TER ENAB LE ON&SEC PR ES CA L71&PRI PRES C AL641;P P對SPI接口開關狀態(tài)進行配置SPIS TA TValue=S PI ENAB LE&SPI IDLE CO N&S PI RX O VFLOW C LR;OpenS PI1(SPICO NVal
15、ue,SPISTATValue;P P以設定的配置信息為參數(shù),打開S PI接口(2PO WERUP子程序.每次對ISD4002進行錄音或放音操作時,都需要啟動ISD4002芯片,即向ISD4002芯片發(fā)送PO WERUP指令,程序如下: #defi ne POW ER UP0x0004P P定義POWERUP指令數(shù)void PowerUp(SS=0;P P使SS為低電平,啟動一次SPI讀寫操作WriteSPI1(POW ER UP;P P發(fā)送PO WER UP指令while(S PI1S TATbits.S PITB F;P P等待發(fā)送標志位為0Delay Trans(;P P適當延時SS=1
16、;P P使SS為高電平,結(jié)束一次SPI讀寫操作(3錄音子程序.進行錄音操作,首先初始化S PI端口,然后發(fā)送PO WERUP指令,等待TPUD,再次發(fā)送PO WERUP指令,等待2倍TPUD,發(fā)送SE2 T REC指令指示開始錄音的起始地址,然后再發(fā)送REC指令即可開始錄音,程序如下:void Record(unsigned i nt MsgAddressIni t SPI(;P P初始化SPI接口PowerUp(;P P發(fā)送POWER UP指令Delay25m S(;P P延時TPUD,25m sPowerUp(;P P再次發(fā)送POW ER UP指令Delay25m S(;P P延時2倍TP
17、 UD,50msDelay25m S(;SETREC=MsgAddres s|0x0005;P P取得錄音的起始地址SS=0;P P s s為低電平,啟動S PI操作WriteSPI1(SETREC;P P發(fā)送地址為錄音起始地址的SETREC命令while(S PI1S TATbits.S PITB F;P P等待指令發(fā)送成功Delay Trans(;P P適當延時SS=1;P P SS為高電平,結(jié)束一次SPI操作SS=0;P P s s為低電平,再次啟動一次SPI操作WriteSPI1(REC;P P發(fā)送REC指令while(S PI1S TATbits.S PITB F;P P等待指令發(fā)送
18、成功Delay Trans(;P P適當延時#64#成都大學學報(自然科學版第27卷SS=1;P P ss為高電平,結(jié)束一次SPI操作hom e clr(;P P清LC D顯示屏puts lcd(d Recording,d,16;P P向LC D顯示屏打印d Recordi ng,d字符CloseS PI1(;P P關閉SPI接口(4放音子程序.放音與錄音操作基本相同,首先初始化SPI端口,再發(fā)送PO WER UP指令,等待TP UD,然后發(fā)送SE TPL AY指令指示開始放音的起始地址,再發(fā)送PL A Y指令即可開始放音,程序如下:void Play(unsi gned int MsgAdd
19、res sInit S PI(;P P初始化SPI端口PowerUp(;P P發(fā)送POW ER UP指令Delay25m S(;P P等待TPUD,25m sSETPLAY=Ms gAddress|0x0007;P P取得開始放音的起始地址SS=0;P P ss為低電平,啟動一次SPI操作WriteSPI1(SETPLAY;P P發(fā)送以放音起始地址為參數(shù)的SETPLAY指令whi le(S PI1STA Tbi ts.SPITB F;P P等待指令發(fā)送成功DelayTrans(;P P適當延時SS=1;P P ss為高電平,結(jié)束一次SPI操作SS=0;P P ss為低電平,再次啟動一次SPI操
20、作WriteSPI1(PLAY;P P發(fā)送PLAY指令whi le(S PI1STA Tbi ts.SPITB F;P P等待指令發(fā)送成功DelayTrans(;P P適當延時SS=1;P P ss為高電平,結(jié)束一次SPI操作home cl r(;P P清LCD顯示屏puts lcd(d Playing,d,10;P P向LC D打印d Playi ng,d字符CloseSPI1(;P P關閉S PI端口3結(jié)語本文介紹了一種基于單片機的語音錄放實現(xiàn)方案,并著重分析了使用dsPIC系列單片機自帶的S PI函數(shù)庫實現(xiàn)與IS D4002語音芯片通信的程序.該設計方案電路易于實現(xiàn),功能簡單實用,可擴展性較好,輸出聲音清晰、自然,具有較高的實用性.參考文獻:1劉永亮1用SPI實現(xiàn)dsPIC與ISD語音芯片的通信J.單片機與嵌入式系統(tǒng)應用,2005(11:15-1812李朝青1單片機原理及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年高端餐廳員工聘用合同示范3篇
- 二零二五版凍豬肉儲備政府采購合同爭議解決與仲裁條款2篇
- 二零二五版商業(yè)地產(chǎn)改造與招商合作合同3篇
- 二零二五年度腳手架施工材料供應與租賃合同3篇
- 二零二五版新型讓與擔保合同-供應鏈金融支持協(xié)議2篇
- 二零二五版家政服務員與雇主及家政協(xié)會三方合作合同3篇
- 二零二五版公司間股權(quán)置換、轉(zhuǎn)讓與資本運作合同3篇
- 二零二五年教育機構(gòu)教學質(zhì)量兜底服務合同范本3篇
- 二零二五版二手房貸款買賣合同范本:適用于房產(chǎn)交易中的擔保合同2篇
- 二零二五年度購物卡電子支付解決方案合同3篇
- 2025年河北供水有限責任公司招聘筆試參考題庫含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說課稿-2024-2025學年高中英語人教版(2019)必修第一冊
- 農(nóng)發(fā)行案防知識培訓課件
- 社區(qū)醫(yī)療抗菌藥物分級管理方案
- 安徽大學大學生素質(zhì)教育學分認定辦法
- 巴布亞新幾內(nèi)亞離網(wǎng)光儲微網(wǎng)供電方案
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預防接種護理質(zhì)量考核標準
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機組水輪機安裝概述與流程
評論
0/150
提交評論