中文字幕无码夊久人妻|国产另类在线欧美日韩|精品无码乱码AV片国产|91久久香蕉国产熟女线看|白嫩丰满大乳美女免费视频|久久久久人妻精品区一三寸|免费一看一级毛片少妇丰满2|精品无码国产一区二区三区51

您現(xiàn)在的位置:融合網(wǎng)首頁 > 芯片 > 技術(shù) >

用SPI實現(xiàn)dsPIC與ISD語音芯片的通信

來源:飛象網(wǎng) 作者:佚名 責(zé)任編輯:admin 發(fā)表時間:2011-12-31 14:05 
核心提示:在SPI的數(shù)據(jù)傳輸中,不同芯片所定義的傳輸順序可能不同,因此要注意是先傳高位還是先傳低位。ISD4002要求先傳高位數(shù)據(jù),如果與主芯片所定義的順序相反,則只要把指令碼反過來傳即可。

1 dsPlC系列的簡單介紹

dsPIC系列是Microchip公司推出的新型16位高性能數(shù)字信號控制器。它結(jié)合了單片機(jī)的控制優(yōu)點及數(shù)字信號處理器(DSP)的高速運算特性,為嵌入式系統(tǒng)提供了單一芯片解決方案。它繼承了PlC單片機(jī)系列的哈佛總線結(jié)構(gòu)和精簡指令集(RISC)技術(shù),以及尋址方式簡單、運行速度快、功耗低、驅(qū)動能力強(qiáng)等優(yōu)點,同時集成了主板級的DSP功能,能夠提供強(qiáng)大的數(shù)字信號處理能力;此外,還提供了如UART、CAN、SPI等豐富的外圍接口,可以方便地與其他設(shè)備進(jìn)行通信互聯(lián)。本文介紹使用dsPIC數(shù)字信號控制器的SPI接口與ISD語音芯片進(jìn)行通信控制,使用的芯片型號為dsPIc30F6014。

2 ISD系列語音錄放芯片

ISD系列語音芯片是美國ISD公司推出的產(chǎn)品。該系列芯片采用多電平直接模擬存儲(Chip Corder)專利技術(shù),聲音不需要A/D轉(zhuǎn)換和壓縮,每個采樣直接存儲在片內(nèi)的閃爍存儲器中,避免了A/D轉(zhuǎn)換的誤差;能夠真實、自然地還原語音、音樂及效果聲;避免了一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲。ISD4000系列采用CM0s技術(shù),內(nèi)含晶體振蕩器、防混疊濾波器、平滑濾波器、自動靜噪、音頻功率放大器及高密度多電平閃爍存儲陣列等,只需要很少的外圍器件即可構(gòu)成一個完整的語音錄放系統(tǒng)。它的操作命令通過串行通信接口(SPI)或Microwire送入;采樣頻率可為4.0Hz、5.3Hz、6.4Hz、8.0Hz,頻率越低,錄放時間越長,但音質(zhì)會有所下降;片內(nèi)信息存于閃爍存儲器中,可在斷電情況下保存100年(典型值),反復(fù)錄音10萬次;器件工作電壓3v,工作電流25~30mA,音質(zhì)好,適用于移動電話及其他便攜式電子產(chǎn)品。本設(shè)計使用的芯片型號為ISD4002,單片錄放時間為120s。

3 SPI接口介紹

SPI是由美國摩托羅拉公司推出的一種同步串行傳輸規(guī)范,常作為單片機(jī)外設(shè)芯片串行擴(kuò)展接口。SPI有4個引腳:SS(從器件選擇線)、SDO(串行數(shù)據(jù)輸出線)、SDI(串行數(shù)據(jù)輸入線)和SCK(同步串行時鐘線)。SPI可以用全雙工通信方式同時發(fā)送和接收8(16)位數(shù)據(jù),過程如下:主機(jī)啟動發(fā)送過程,送出時鐘脈沖信號,主移位寄存器的數(shù)據(jù)通過SDO移入到從移位寄存器,同時從移位寄存器中的數(shù)據(jù)通過SDI移人到主移位寄存器中。8(16)個時鐘脈沖過后,時鐘停頓,主移位寄存器中的8(16)位數(shù)據(jù)全部移人到從移位寄存器中,隨即又被自動裝入從接收緩沖器中,從機(jī)接收緩沖器滿標(biāo)志位(BF)和中斷標(biāo)志位(SSPIF)置“1”。同理,從移位寄存器中的8位數(shù)據(jù)全部移入到主寄存器中,隨即又被自動裝入到主接收緩沖器中.主接收緩沖器滿標(biāo)志位(BF)和中斷標(biāo)志位(SSPIF)置“1”。主CPU檢測到主接收緩沖器的滿標(biāo)志位或者中斷標(biāo)志位置1后,就可以讀取接收緩沖器中的數(shù)據(jù)。同樣,從CPU檢測到從接收緩沖器滿標(biāo)志位或中斷標(biāo)志位置1后,就可以讀取接收緩沖器中的數(shù)據(jù),這樣就完成了一次相互通信過程。這里設(shè)置dsPIC30F6014為主控制器,ISD4002為從器件,通過SPI口完成通信控制的過程。

4 dsPIC的SPI函數(shù)庫

dsPIC30F6014提供了2個SPI接口模塊,每個接口模塊包括三個特殊功能寄存器和四個引腳。SPIxBUF是數(shù)據(jù)緩沖寄存器。需要注意的是,接收緩沖SPIxRBF和發(fā)送緩沖SPIxTBF共享同一個地址,即它們都是地址映射到SPIxBUF的。也就是說,當(dāng)對接收或發(fā)送緩沖寄存器操作時,都只能對SPIxBUF進(jìn)行操作,而不能直接對SPIxRBF或SPIxTBF進(jìn)行操作。SPIxCON是控制寄存器,用來對sPI模塊的操作模式等進(jìn)行配置;SPIxSTAT是狀態(tài)寄存器,用來標(biāo)示SPI模塊所處的狀態(tài)。

通過對控制寄存器的配置,可以將SPI模塊設(shè)置為8位或16位模式、主模式或從模式、幀同步等多種操作模式,還可以對時鐘邊沿、時鐘分頻倍數(shù)等進(jìn)行配置。這里使用了以dsPIC為主,ISD為從的主從模式。Microchip提供的外圍接口庫可以方便地完成這些配置工作。

dsPIC Language Tools Libraries是MictoChip公司提供給開發(fā)者的一套工具庫,其中主要含3個子庫.DSP庫,提供常用的DSP函數(shù);外圍接口庫,提供對dsPIC系列所有外圍接口的驅(qū)動函數(shù),包括SPI接口;標(biāo)準(zhǔn)C及數(shù)學(xué)函數(shù)庫,可在Microchip的官方網(wǎng)站下載(www.microchip.com)。我們使用其中的外圍接口庫中的SPI庫函數(shù)即可。SPI庫中主要包括以下幾個函數(shù):

①configIntSPIx SPI中斷配置函數(shù)。該函數(shù)可以對sPI接口的中斷使能位以及中斷優(yōu)先級進(jìn)行配置,返回值為空。

②CloseSPlx關(guān)閉SPI接口。

③DataRdySPlx SPl接口數(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個參數(shù):configl和config2。configl中包含對SPI接口操作模式的配置信息,將寫入控制寄存器;config2中包含SPI的狀態(tài)信息,將寫入狀態(tài)寄存器。該函數(shù)在打開SPI接口的同時完成對其的配置。

⑦puasSPIx函數(shù)將一個字符串?dāng)?shù)據(jù)寫入到發(fā)送緩沖區(qū)中。

⑧getsSPIx函數(shù)將從接收緩沖區(qū)讀人指定長度的字符串?dāng)?shù)據(jù),并轉(zhuǎn)存到指定的空間。

除了這8個函數(shù)以外,該庫還提供了相應(yīng)的宏指令完成同樣的功能,可以在程序中方便地使用。

5 lSD4002

ISD4002工作于SPI串行接口。SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。對ISD4002而言,在時鐘上升沿鎖存MOSI引腳數(shù)據(jù).存下降沿將數(shù)據(jù)送至MISO引腳.協(xié)議具體內(nèi)容如下:

①所有串行數(shù)據(jù)傳輸開始于SS下降沿;

②SS在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平;

③數(shù)據(jù)在時鐘上升沿移入,在下降沿移出;

④SS變低,輸入指令和地址之后,ISD才會開始錄放動作;

⑤指令格式是10位地址碼加6位控制碼;

⑥ISD的任何操作(含快進(jìn))如果遇到EOM或OVF則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI周期開始時被清除;

⑦使用讀指令會使中斷狀態(tài)為移出ISD的MISO引腳時,控制及地址數(shù)據(jù)也同步從MOSI移入;

⑧所有操作在運行位(RUN)置1時開始,置0時結(jié)束;

⑨所有指令都在SS上升沿開始執(zhí)行。

對于ISD4002,器件延時TPUD(8kHz采樣時,約為25ms)后才能開始操作;因此,用戶發(fā)完上電指令后,必須等待TPUD.才能發(fā)出一條操作指令。下面是典型的操作。

從00處發(fā)音,應(yīng)遵循如下時序:

發(fā)POWERUP命令;

等待TPUD(上電延時);

發(fā)地址值為00的SFTPLAY命令;

發(fā)PLAY命令。

器件會從00地址開始放音,當(dāng)出現(xiàn)EOM時,立即中斷,停止放音。

如果從00處錄音,則按以下時序;

發(fā)POWER UP命令;

等待TPUD(上電延時);

發(fā)POWER UP命令

等待2倍TPUD;

發(fā)地址值為00的SETREC命令;

發(fā)REC命令。

器件便從00地址開始錄音,一直到出現(xiàn)OVF(存儲器末尾)時,錄音停止。

本電路采用dsPICC30F6014數(shù)字信號控制器,通過3個按鍵開關(guān)控制ISD4002錄放音芯片的動作。S1、S2、S3分別接到控制器外部中斷INTl、INT2、INT3上。當(dāng)按下S1時,開始錄音,再次按下S1時停止錄音。如此反復(fù)即可實現(xiàn)多段錄音。同理,按下S2時開始放音,再次按下S2是停止放音。如此反復(fù)順序播放多段錄音。按下S3關(guān)機(jī)。

(1)硬件電路設(shè)計

電路原理如圖4所示。整個電路由語音錄放電路、話筒輸入電路、按鍵開關(guān)電路及LCD顯示電路構(gòu)成。由于本設(shè)計輸出直接驅(qū)動普通耳機(jī),經(jīng)實驗不需外部功放電路,直接利用ISD4002內(nèi)部功放輸出即可。ISD4002作為從機(jī),其SPI接口的MOSI接控制器的SDO;MISO接控制器的SDI;SCLK接SCK;SS接控制器的SS即可。LCD用于人機(jī)交互的界面顯示。

程序包括主程序以及幾個子程序。主程序中,在完成初始化的工作之后,進(jìn)入一個while循環(huán),等待響應(yīng)按鍵觸發(fā)的中斷,若有按鍵按下,則進(jìn)入相應(yīng)的中斷服務(wù)程序。在按鍵S1的中斷服務(wù)程序中,設(shè)置一個標(biāo)志變量,Sl每按下一次,標(biāo)志變量取反,用來控制錄音及停止錄音。同理,S2的中斷服務(wù)程序中也設(shè)置一個標(biāo)志變量,控制開始放音及停止放音。S3的中斷服務(wù)程序中則發(fā)送Power-Down指令關(guān)機(jī)。程序清單中給出了主程序以及中斷服務(wù)程序,另外包括LCD驅(qū)動程序以及dsPIC的SPI函數(shù)庫等。

7 總結(jié)

該電路易于實現(xiàn),功能簡單實用,可擴(kuò)展性較好;輸出聲音清晰、自然。如要增加錄音時間,可選用ISD4000系列的其他芯片,程序基本相同。另外,在設(shè)計過程中有以下幾點事項需要注意:

①在SPI的數(shù)據(jù)傳輸中,不同芯片所定義的傳輸順序可能不同,因此要注意是先傳高位還是先傳低位。ISD4002要求先傳高位數(shù)據(jù),如果與主芯片所定義的順序相反,則只要把指令碼反過來傳即可。

②由于ISD4002要求在時鐘前半個周期把數(shù)據(jù)放在傳輸線上,因此,在使用dsPIC的SPI函數(shù)庫時需要注意SPI初始化。在本設(shè)計中,使用的配置為SPl—CKE—ON&CLK_P0L_ACTIVE_HIGH。

以上兩點可能會幫助解決一些常見問題。

(責(zé)任編輯:admin)
    • “掃一掃”關(guān)注融合網(wǎng)微信號

    免責(zé)聲明:我方僅為合法的第三方企業(yè)注冊用戶所發(fā)布的內(nèi)容提供存儲空間,融合網(wǎng)不對其發(fā)布的內(nèi)容提供任何形式的保證:不保證內(nèi)容滿足您的要求,不保證融合網(wǎng)的服務(wù)不會中斷。因網(wǎng)絡(luò)狀況、通訊線路、第三方網(wǎng)站或管理部門的要求等任何原因而導(dǎo)致您不能正常使用融合網(wǎng),融合網(wǎng)不承擔(dān)任何法律責(zé)任。

    第三方企業(yè)注冊用戶在融合網(wǎng)發(fā)布的內(nèi)容(包含但不限于融合網(wǎng)目前各產(chǎn)品功能里的內(nèi)容)僅表明其第三方企業(yè)注冊用戶的立場和觀點,并不代表融合網(wǎng)的立場或觀點。相關(guān)各方及作者發(fā)布此信息的目的在于傳播、分享更多信息,并不代表本網(wǎng)站的觀點和立場,更與本站立場無關(guān)。相關(guān)各方及作者在我方平臺上發(fā)表、發(fā)布的所有資料、言論等僅代表其作者個人觀點,與本網(wǎng)站立場無關(guān),不對您構(gòu)成任何投資、交易等方面的建議。用戶應(yīng)基于自己的獨立判斷,自行決定并承擔(dān)相應(yīng)風(fēng)險。

    根據(jù)相關(guān)協(xié)議內(nèi)容,第三方企業(yè)注冊用戶已知悉自身作為內(nèi)容的發(fā)布者,需自行對所發(fā)表內(nèi)容(如,字體、圖片、文章內(nèi)容等)負(fù)責(zé),因所發(fā)表內(nèi)容(如,字體、圖片、文章內(nèi)容等)等所引發(fā)的一切糾紛均由該內(nèi)容的發(fā)布者(即,第三方企業(yè)注冊用戶)承擔(dān)全部法律及連帶責(zé)任。融合網(wǎng)不承擔(dān)任何法律及連帶責(zé)任。

    第三方企業(yè)注冊用戶在融合網(wǎng)相關(guān)欄目上所發(fā)布的涉嫌侵犯他人知識產(chǎn)權(quán)或其他合法權(quán)益的內(nèi)容(如,字體、圖片、文章內(nèi)容等),經(jīng)相關(guān)版權(quán)方、權(quán)利方等提供初步證據(jù),融合網(wǎng)有權(quán)先行予以刪除,并保留移交司法機(jī)關(guān)查處的權(quán)利。參照相應(yīng)司法機(jī)關(guān)的查處結(jié)果,融合網(wǎng)對于第三方企業(yè)用戶所發(fā)布內(nèi)容的處置具有最終決定權(quán)。

    個人或單位如認(rèn)為第三方企業(yè)注冊用戶在融合網(wǎng)上發(fā)布的內(nèi)容(如,字體、圖片、文章內(nèi)容等)存在侵犯自身合法權(quán)益的,應(yīng)準(zhǔn)備好具有法律效應(yīng)的證明材料,及時與融合網(wǎng)取得聯(lián)系,以便融合網(wǎng)及時協(xié)調(diào)第三方企業(yè)注冊用戶并迅速做出相應(yīng)處理工作。

    融合網(wǎng)聯(lián)系方式:(一)、電話:(010)57722280;(二)、電子郵箱:2029555353@qq.com dwrh@dwrh.net

    對免責(zé)聲明的解釋、修改及更新權(quán)均屬于融合網(wǎng)所有。

    熱門關(guān)鍵字

    關(guān)于我們 - 融合文化 - 媒體報道 - 在線咨詢 - 網(wǎng)站地圖 - TAG標(biāo)簽 - 聯(lián)系我們
    Copyright © 2010-2020 融合網(wǎng)|DWRH.net 版權(quán)所有 聯(lián)系郵箱:dwrh@dwrh.net 京公網(wǎng)安備 11011202002094號 京ICP備11014553號