下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
用SPI實(shí)現(xiàn)dsPlC與ISD語音芯片的通信摘要介紹dsPIc數(shù)字信號(hào)控制器以廈ISD4002語音芯片的功能特點(diǎn);特別介紹dsPIC的SP1庫函數(shù)的功能及使用,并給岀一種簡(jiǎn)單的語
音錄放電路。具有低成本、易使用等特點(diǎn),有較高的實(shí)用價(jià)值。關(guān)鍵詞dsPICdsPlC30F6014ISD4002語音芯片在很多應(yīng)用場(chǎng)合中,需要用到語音錄放功能,如復(fù)讀機(jī)、電話自動(dòng)應(yīng)答裝置等。本文介紹一種簡(jiǎn)單實(shí)用的dsPIc數(shù)字信號(hào)控制器,用來完成語音錄放功能。由于dsPIC強(qiáng)大的數(shù)字信號(hào)處理功能,可以提供后續(xù)的復(fù)雜處理等,具有良好的易擴(kuò)展性。dsPlC系列的簡(jiǎn)單介紹dsPIC系列是Microchip公司推岀的新型16位高性能數(shù)字信號(hào)控制器。它結(jié)合了單片機(jī)的控制優(yōu)點(diǎn)及數(shù)字信號(hào)處理器(DSP)的高速運(yùn)算特性,為嵌入式系統(tǒng)提供了單一芯片解決方案。它繼承了P1C單片機(jī)系列的哈佛總線結(jié)構(gòu)和精簡(jiǎn)指令集(RISC)技術(shù),以及尋址方式簡(jiǎn)單、運(yùn)行速度快、功耗低、驅(qū)動(dòng)能力強(qiáng)等優(yōu)點(diǎn),同時(shí)集成了主板級(jí)的DSP功能,能夠提供強(qiáng)大的數(shù)字信號(hào)處理能力;此外,還提供了如UART、CAN、SPI等豐富的外圍接口,可以方便地與其他設(shè)備進(jìn)行通信互聯(lián)。本文介紹使用dsPIC數(shù)字信號(hào)控制器的SPI接口與ISD語音芯片進(jìn)行通信控制,使用的芯片型號(hào)為dsPIc30F6014。ISD系列語音錄放芯片ISD系列語音芯片是美國ISD公司推岀的產(chǎn)品。該系列芯片采用多電平直接模擬存儲(chǔ)(ChipCorder)專利技術(shù),聲音不需要A/D轉(zhuǎn)換和壓縮,每個(gè)采樣直接存儲(chǔ)在片內(nèi)的閃爍存儲(chǔ)器中,避免了A/D轉(zhuǎn)換的誤差;能夠真實(shí)、自然地還原語音、音樂及效果聲;避免了一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲。ISD4000系列采用CMOs技術(shù),內(nèi)含晶體振蕩器、防混疊濾波器、平滑濾波器、自動(dòng)靜噪、音頻功率放大器及高密度多電平閃爍存儲(chǔ)陣列等,只需要很少的外圍器件即可構(gòu)成一個(gè)完整的語音錄放系統(tǒng)。它的操作命令通過串行通信接口(SPI)或Microwire送入;采樣頻率可為4.0Hz、5.3Hz、6.4Hz、&0Hz,頻率越低,錄放時(shí)間越長(zhǎng),但音質(zhì)會(huì)有所下降;片內(nèi)信息存于閃爍存儲(chǔ)器中,可在斷電情況下保存100年(典型值),反復(fù)錄音10萬次;器件工作電壓3v,工作電流25?30mA,音質(zhì)好,適用于移動(dòng)電話及其他便攜式電子產(chǎn)品。本設(shè)計(jì)使用的芯片型號(hào)為ISD4002,單片錄放時(shí)間為120s。SPI接口介紹SPI是由美國摩托羅拉公司推岀的一種同步串行傳輸規(guī)范,常作為單片機(jī)外設(shè)芯片串行擴(kuò)展接口。SPI有4個(gè)引腳:SS(從器件選擇線)、SDO(串行數(shù)據(jù)輸岀線)、SDI(串行數(shù)據(jù)輸入線)和SCK(同步串行時(shí)鐘線)。SPI可以用全雙工通信方式同時(shí)發(fā)送和接收8(16)位數(shù)據(jù),過程如下:主機(jī)啟動(dòng)發(fā)送過程,送岀時(shí)鐘脈沖信號(hào),主移位寄存器的數(shù)據(jù)通過SDO移入到從移位寄存器,同時(shí)從移位寄存器中的數(shù)據(jù)通過SDI移人到主移位寄存器中。8(16)個(gè)時(shí)鐘脈沖過后,時(shí)鐘停頓,主移位寄存器中的8(16)位數(shù)據(jù)全部移人到從移位寄存器中,隨即又被自動(dòng)裝入從接收緩沖器中,從機(jī)接收緩沖器滿標(biāo)志位(BF)和中斷標(biāo)志位(SSPIF)置“1”。同理,從移位寄存器中的8位數(shù)據(jù)全部移入到主寄存器中,隨即又被自動(dòng)裝入到主接收緩沖器中?主接收緩沖器滿標(biāo)志位(BF)和中斷標(biāo)志位(SSPIF)置“1”。主CPU檢測(cè)到主接收緩沖器的滿標(biāo)志位或者中斷標(biāo)志位置1后,就可以讀取接收緩沖器中的數(shù)據(jù)。同樣,從CPU檢測(cè)到從接收緩沖器滿標(biāo)志位或中斷標(biāo)志位置1后,就可以讀取接收緩沖器中的數(shù)據(jù),這樣就完成了一次相互通信過程。這里設(shè)置dsPIC30F6014為主控制器,ISD4002為從器件,通過SPI口完成通信控制的過程。dsPIC的SPI函數(shù)庫dsPIC30F6014提供了2個(gè)SPI接口模塊,每個(gè)接口模塊包括三個(gè)特殊功能寄存器和四個(gè)引腳。SPIxBUF是數(shù)據(jù)緩沖寄存器。需要注意的是,接收緩沖SPIxRBF和發(fā)送緩沖SPIxTBF共享同一個(gè)地址,即它們都是地址映射到SPIxBUF的。也就是說,當(dāng)對(duì)接收或發(fā)送緩沖寄存器操作時(shí),都只能對(duì)SPIxBUF進(jìn)行操作,而不能直接對(duì)SPIxRBF或SPIxTBF進(jìn)行操作°SPIxC0N是控制寄存器,用來對(duì)sPI模塊的操作模式等進(jìn)行配置;SPIxSTAT是狀態(tài)寄存器,用來標(biāo)示SPI模塊所處的狀態(tài)。其模塊框圖如圖1所示。
EPl接收緩沖寄存器Six'區(qū)F泗岡湘——<}■-主時(shí)鐘允許圖1SPI摸塊框圈EPl接收緩沖寄存器Six'區(qū)F泗岡湘——<}■-主時(shí)鐘允許圖1SPI摸塊框圈移位控制內(nèi)部數(shù)據(jù)總線寄存蟄共亨地址SPI^送緩沖寄存器SPI^&寄存器SP1緩沖寄存鶉T藉嚴(yán)通過對(duì)控制寄存器的配置,可以將SPI模塊設(shè)置為8位或16位模式、主模式或從模式、幀同步等多種操作模式,還可以對(duì)時(shí)鐘邊沿、時(shí)鐘分頻倍數(shù)等進(jìn)行配置。這里使用了以dsPIC為主,ISD為從的主從模式。Microchip提供的外圍接口庫可以方便地完成這些配置工作。dsPICLanguageToolsLibraries是MictoChip公司提供給開發(fā)者的一套工具庫,其中主要含3個(gè)子庫.DSP庫,提供常用的DSP函數(shù);外圍接口庫,提供對(duì)dsPIC系列所有外圍接口的驅(qū)動(dòng)函數(shù),包括SPI接口;標(biāo)準(zhǔn)C及數(shù)學(xué)函數(shù)庫,可在Microchip的官方網(wǎng)站下載(www.microchip.com)。我們使用其中的外圍接口庫中的SPI庫函數(shù)即可。SPI庫中主要包括以下幾個(gè)函數(shù):configIntSPIxSPI中斷配置函數(shù)。該函數(shù)可以對(duì)sPI接口的中斷使能位以及中斷優(yōu)先級(jí)進(jìn)行配置,返回值為空。CloseSPlx關(guān)閉SPI接口。DataRdySPlxSPl接口數(shù)據(jù)就緒。該函數(shù)用來判斷SPI接收緩沖區(qū)中是否有數(shù)據(jù)等待讀岀。若返回值為1,表示緩沖區(qū)中數(shù)據(jù)己經(jīng)就緒,
等待讀出;若返回值為0,則標(biāo)示緩沖區(qū)為空。ReadSPIx讀SPI接口緩沖區(qū)。WriteSPIx向SPI接口發(fā)送緩沖區(qū)寫數(shù)據(jù)。OpenSPIx打開SPI接口。該函數(shù)包含2個(gè)參數(shù):configl和config2。configl中包含對(duì)SPI接口操作模式的配置信息,將寫入控制寄存器;config2中包含SPI的狀態(tài)信息,將寫入狀態(tài)寄存器。該函數(shù)在打開SPI接口的同時(shí)完成對(duì)其的配置。puasSPIx函數(shù)將一個(gè)字符串?dāng)?shù)據(jù)寫入到發(fā)送緩沖區(qū)中。getsSPIx函數(shù)將從接收緩沖區(qū)讀人指定長(zhǎng)度的字符串?dāng)?shù)據(jù),并轉(zhuǎn)存到指定的空間。除了這8個(gè)函數(shù)以外,該庫還提供了相應(yīng)的宏指令完成同樣的功能,可以在程序中方便地使用。lSD4002ISD4002工作于SPI串行接口。SPI協(xié)議是一個(gè)同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動(dòng)作。對(duì)ISD4002而言,在時(shí)鐘上升沿鎖存MOSI引腳數(shù)據(jù)?存下降沿將數(shù)據(jù)送至MISO引腳?協(xié)議具體內(nèi)容如下:所有串行數(shù)據(jù)傳輸開始于SS下降沿;SS在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平;數(shù)據(jù)在時(shí)鐘上升沿移入,在下降沿移岀;SS變低,輸入指令和地址之后,ISD才會(huì)開始錄放動(dòng)作;指令格式是10位地址碼加6位控制碼;ISD的任何操作(含快進(jìn))如果遇到EOM或OVF則產(chǎn)生一個(gè)中斷,該中斷狀態(tài)在下一個(gè)SPI周期開始時(shí)被清除;使用讀指令會(huì)使中斷狀態(tài)為移岀ISD的MIS0引腳時(shí),控制及地址數(shù)據(jù)也同步從MOSI移入;所有操作在運(yùn)行位(RUN)置1時(shí)開始,置0時(shí)結(jié)束;所有指令都在SS上升沿開始執(zhí)行。其時(shí)序如圖2所示。對(duì)于ISD4002,器件延時(shí)TPUD(8kHz采樣時(shí),約為25ms)后才能開始操作;因此,用戶發(fā)完上電指令后,必須等待TPUD.才能發(fā)岀一條操
作指令。下面是典型的操作。從00處發(fā)音,應(yīng)遵循如下時(shí)序:發(fā)POWERUP命令;等待TPUD(上電延時(shí));發(fā)地址值為00的SFTPLAY命令;發(fā)PLAY命令。器件會(huì)從00地址開始放音,當(dāng)岀現(xiàn)E0M時(shí),立即中斷,停止放音。
如果從00處錄音,則按以下時(shí)序;發(fā)POWERUP命令;等待TPUD(上電延時(shí));發(fā)POWERUP命令等待2倍TPUD;發(fā)地址值為00的SETREC命令;發(fā)REC命令。器件便從00地址開始錄音,一直到岀現(xiàn)OVF(存儲(chǔ)器末尾)時(shí),錄音停止。其工作時(shí)序如圖3所示。
停止mx::放音,錄音y -S_.停止mx::放音,錄音y -S_.xu.ildJbJi■..1I」jLLlbJ』JJAii.(J-,udJSCLKMOS1MISOAA^Aa/va電路設(shè)計(jì)本電路采用dsPICC30F6014數(shù)字信號(hào)控制器,通過3個(gè)按鍵開關(guān)控制ISD4002錄放音芯片的動(dòng)作。S1、S2、S3分別接到控制器外部中斷INTl、INT2、INT3上。當(dāng)按下S1時(shí),開始錄音,再次按下S1時(shí)停止錄音。如此反復(fù)即可實(shí)現(xiàn)多段錄音。同理,按下S2時(shí)開始放音,再
次按下S2是停止放音。如此反復(fù)順序播放多段錄音。按下S3關(guān)機(jī)。(1)硬件電路設(shè)計(jì)電路原理如圖4所示。整個(gè)電路由語音錄放電路、話筒輸入電路、按鍵開關(guān)電路及LCD顯示電路構(gòu)成。由于本設(shè)計(jì)輸岀直接驅(qū)動(dòng)普通耳機(jī),經(jīng)實(shí)驗(yàn)不需外部功放電路,直接利用ISD4002內(nèi)部功放輸岀即可。ISD4002作為從機(jī),其SPI接口的M0SI接控制器的SDO;MIS0接控制器的SDI;SCLK接SCK;SS接控制器的SS即可。LCD用于人機(jī)交互的界面顯示。
dsrTC30Mi4VDDVDD古DOIVDDdsrTC30Mi4VDDVDD古DOIVDDWHVDDSCKISSIINT]INT2VSSVSSVSSMJS£)MOS1MT*VCCDVSSDvocdVS^AANA1帖亠AUDOUTXCLKAMCAPMIC吉SIS2R4S3(2)軟件設(shè)計(jì)
程序包括主程序以及幾個(gè)子程序。主程序中,在完成初始化的工作之后,進(jìn)入一個(gè)while循環(huán),等待響應(yīng)按鍵觸發(fā)的中斷,若有按鍵按
下,則進(jìn)入相應(yīng)的中斷服務(wù)程序。在按鍵S1的中斷服務(wù)程序中,設(shè)置一個(gè)標(biāo)志變量,si每按下一次,標(biāo)志變量取反,用來控制錄音及停
止錄音。同理,S2的中斷服務(wù)程序中也設(shè)置一個(gè)標(biāo)志變量,控制開始放音及停止放音。S3的中斷服務(wù)程序中則發(fā)送Power-Down指令關(guān)
機(jī)。程序清單中給岀了主程序以及中斷服務(wù)程序,另外包括LCD驅(qū)動(dòng)程序以及dsPIC的SPI函數(shù)庫等。(編者注:源程序見本刊網(wǎng)站www.d
pi.。)7總結(jié)該電路易于實(shí)現(xiàn),功能簡(jiǎn)單實(shí)用,可擴(kuò)展性較好;輸岀聲音清晰、自然。如要增加錄音時(shí)間,可選用ISD4000系列的其他芯片,程序基本相同。另
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年水利工程建設(shè)與管理規(guī)范
- 北京市東城區(qū)2025-2026學(xué)年高三上學(xué)期期末考試語文試卷
- 2025年汽車租賃業(yè)務(wù)操作流程指南
- 漢初的選官制度
- 公共交通車輛性能檢測(cè)制度
- 企業(yè)內(nèi)部保密制度溝通手冊(cè)(標(biāo)準(zhǔn)版)
- 2025年企業(yè)資產(chǎn)管理手冊(cè)
- 義翹講堂《蟲媒病毒防控新策略:診斷與疫苗研究進(jìn)展》
- 2026年珠海城市職業(yè)技術(shù)學(xué)院招聘?jìng)淇碱}庫及答案詳解1套
- 養(yǎng)老院服務(wù)質(zhì)量監(jiān)控制度
- 2026年直播服務(wù)合同
- 掛靠取消協(xié)議書
- 2026秋招:澳森特鋼集團(tuán)試題及答案
- 哲學(xué)史重要名詞解析大全
- 2026年寧夏黃河農(nóng)村商業(yè)銀行科技人員社會(huì)招聘?jìng)淇碱}庫及答案詳解(易錯(cuò)題)
- 銀行借款抵押合同范本
- DB37-T4975-2025分布式光伏直采直控技術(shù)規(guī)范
- 兒童糖尿病的發(fā)病機(jī)制與個(gè)體化治療策略
- 脫硫廢水零排放項(xiàng)目施工方案
- 2026年海南衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫參考答案詳解
- 水泥產(chǎn)品生產(chǎn)許可證實(shí)施細(xì)則2025
評(píng)論
0/150
提交評(píng)論