<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于SPI實(shí)現dsPlC與ISD語(yǔ)音芯片的通信設計

基于SPI實(shí)現dsPlC與ISD語(yǔ)音芯片的通信設計

作者: 時(shí)間:2011-12-14 來(lái)源:網(wǎng)絡(luò ) 收藏

介紹dsPIc數字信號控制器以廈4002的功能特點(diǎn);特別介紹dsPIC的SPl庫函數的功能及使用,并給出一種簡(jiǎn)單的錄放電路。具有低成本、易使用等特點(diǎn),有較高的實(shí)用價(jià)值。

本文引用地址:http://dyxdggzs.com/article/172338.htm

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

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

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

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

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

dsPIC Language Tools Libraries是MictoChip公司提供給開(kāi)發(fā)者的一套工具庫,其中主要含3個(gè)子庫.DSP庫,提供常用的DSP函數;外圍接口庫,提供對dsPIC系列所有外圍接口的驅動(dòng)函數,包括SPI接口;標準C及數學(xué)函數庫,可在Microchip的官方網(wǎng)站下載(www.microchip. com)。我們使用其中的外圍接口庫中的SPI庫函數即可。SPI庫中主要包括以下幾個(gè)函數:
①configIntSPIx SPI中斷配置函數。該函數可以對sPI接口的中斷使能位以及中斷優(yōu)先級進(jìn)行配置,返回值為空。
②CloseSPlx關(guān)閉SPI接口。
③DataRdySPlx SPl接口數據就緒。該函數用來(lái)判斷SPI接收緩沖區中是否有數據等待讀出。若返回值為1,表示緩沖區中數據已經(jīng)就緒,等待讀出;若返回值為0,則標示緩沖區為空。
④ReadSPIx讀SPI接口緩沖區。
⑤WriteSPIx向SPI接口發(fā)送緩沖區寫(xiě)數據。
⑥OpenSPIx打開(kāi)SPI接口。該函數包含2個(gè)參數:configl和config2。configl中包含對SPI接口操作模式的配置信息,將寫(xiě)入控制寄存器;config2中包含SPI的狀態(tài)信息,將寫(xiě)入狀態(tài)寄存器。該函數在打開(kāi)SPI接口的同時(shí)完成對其的配置。
⑦puasSPIx函數將一個(gè)字符串數據寫(xiě)入到發(fā)送緩沖區中。
⑧getsSPIx函數將從接收緩沖區讀人指定長(cháng)度的字符串數據,并轉存到指定的空間。

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

5 lSD4002
ISD4002工作于SPI串行接口。SPI協(xié)議是一個(gè)同步串行數據傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動(dòng)作。對ISD4002而言,在時(shí)鐘上升沿鎖存MOSI引腳數據.存下降沿將數據送至MISO引腳.協(xié)議具體內容如下:
①所有串行數據傳輸開(kāi)始于SS下降沿;
②SS在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平;
③數據在時(shí)鐘上升沿移入,在下降沿移出;
④SS變低,輸入指令和地址之后,ISD才會(huì )開(kāi)始錄放動(dòng)作;
⑤指令格式是10位地址碼加6位控制碼;
⑥ISD的任何操作(含快進(jìn))如果遇到EOM或OVF則產(chǎn)生一個(gè)中斷,該中斷狀態(tài)在下一個(gè)SPI周期開(kāi)始時(shí)被清除;
⑦使用讀指令會(huì )使中斷狀態(tài)為移出ISD的MISO引腳時(shí),控制及地址數據也同步從MOSI移入;
⑧所有操作在運行位(RUN)置1時(shí)開(kāi)始,置0時(shí)結束;
⑨所有指令都在SS上升沿開(kāi)始執行。
其時(shí)序如圖2所示。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>