在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > TMS320VC5402 DSP與ISD4004語音錄放芯片的接諫杓萍捌湫畔⒐芾?

            TMS320VC5402 DSP與ISD4004語音錄放芯片的接諫杓萍捌湫畔⒐芾?

            作者: 時間:2007-03-09 來源:網(wǎng)絡(luò) 收藏
            摘要:根據(jù)語音錄放芯片ISD4004的接口特點,設(shè)計了其與TMS320VC5402 的SPI接口電路。完成了對ISD芯片的通訊與接口控制編程,并給出了實際應(yīng)用中的一種ISD4004信息管理方法:信息地址表(MAT)。關(guān)鍵詞: 語音錄放芯片 ISD4004 SPI接口 MAT 許多類型的語音錄放應(yīng)用要求具備信息管理的功能,即能夠隨著地錄、放、刪除任意一段信息。而許多語音錄放系統(tǒng)并不能很好地滿足這種要求,如磁帶錄音系統(tǒng)。ISD4004語音錄放芯片提供了SPI微控制器接口,使得語音錄放的信息管理成為可能。本文將詳細闡述TMS320VC5402 DSP與ISD4004的SPI接口設(shè)計及其控制操作,同時設(shè)計適合應(yīng)用的信息管理方法。 ISD4004語音錄放芯片工作電壓為3V,單片錄放時間為8~16分鐘。芯片設(shè)計使得所有操作必須由微控制器控制,操作命令可通過串行通信接口SPI送入。芯片采用多電平直接模擬量存儲技術(shù),每個采樣值直接存儲在片內(nèi)內(nèi)爍存儲器中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲。采樣頻率可為4.0k、5.3k、6.4k、8.0kHz,頻率越低,錄放時間越長,但音質(zhì)有所下降。 TMS320VC5402是美國TI(德州儀器)公司推出的一款高性能的定點DSP,最高頻率為100MHz,內(nèi)部提供16K的存儲空間。它提供的多信道緩沖串口(McBSP)可以設(shè)置為SPI工作方式,從而使得DSP與ISD4004的接口設(shè)計成為可能。1 接口設(shè)計 DSP作為SPI(串行外設(shè)接口)的主器件(Master),負責為ISD4004提供串行時鐘、片選信號以及控制ISD4004的動作信號。接口電路如圖1所示。 1.1 SPI SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。ISD4004工作于SPI工作模式。因此對于ISD4004而言,在時鐘上升沿鎖存MOSI引腳的數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。ISD4004與DSP通訊協(xié)議的具體內(nèi)容如下: (1)所有串行數(shù)據(jù)傳輸開始于SS下降沿。 (2)SS在數(shù)據(jù)傳輸期間必須保持低電平,在兩條指令之間則保持高電平。 (3)數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。 (4)SS變低時,輸入指令和地址后,ISD才能開始錄放操作。 (5)指令格式是8位控制碼加16位地址碼。 (6)ISD的任何操作(含快進)如果遇到EOM(信息結(jié)束標志)或OVF(溢出),則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI周期開始時被清除。 (7)使用“讀”指令使中斷狀態(tài)位移出ISD的MISO引腳時,控制及地址數(shù)據(jù)也應(yīng)同步從MOSI端移入。因此要注意移入的數(shù)據(jù)是否與器件當前進行的操作兼容。 (8)所有操作在運行位(RUN)置“1”時開始,置“0”時結(jié)束。 (9)所有指令都在SS上升沿開始執(zhí)行。 1.2 ISD4004與DSP的SPI時序配合 根據(jù)ISD4004的時序要求,DSP設(shè)置串口為SPI工作模式,發(fā)送數(shù)據(jù)先于串行時鐘半個周期建立、數(shù)據(jù)在時鐘上升沿發(fā)送。由圖2可知,ISD接收命令字的方式是先地址后命令,且位序從低到高;而DSP發(fā)送數(shù)據(jù)方式是先高位后低位,故在DSP發(fā)送程序中須將待送地址和命令進行高低位對調(diào)。圖2 ISD控制命令字時序圖串行時鐘(SCLK)由DSP主時鐘產(chǎn)生。在DSP運行于10MHz時,設(shè)置時鐘分頻因子為255,得到約40kHz的串行傳輸時鐘,適應(yīng)ISD4004相對慢速的要求。DSP串口SPI方式數(shù)據(jù)傳輸時序如圖3所示。 ISD4004的RAC管腳(行地址時鐘)用于指示錄放操作已經(jīng)接近一行的末發(fā)展。RAC在行末前25ms變低,在到達行末時變高,DSP將它作為中斷INT3的中斷源,指示錄放操作進行到何處;INT管腳在遇到EOM標志和OVF溢出時向DSP發(fā)中斷,DSP將它作中斷INT2的中斷源,用來指示是否到達一段信息的末尾。按下NUM鍵觸發(fā)INT1中斷開始錄音,按下STOP鍵觸發(fā)INT0中斷終止錄音。放音時按下NUM即開始,遇以語句EOM時自動停止放音。 1.3 接口軟件設(shè)計 DSP對ISD的控制是通過SPI接口實現(xiàn)的,因此DSP的McBSP必須設(shè)置為符合ISD控制命令時序要求的SPI工作模式。下程序段完成了McBSP的SPI模式設(shè)置(單幀數(shù)據(jù)為24bit,串行時鐘上升沿發(fā)送數(shù)據(jù),時鐘頻率為40kHz): stm SPCR1,McBSP1_SPSA stm #0000h,McBSP1_SPSD ;Reset接收 stm SPCR2,McBSP1_SPSA stm #0000h,McBSP1_SPSD ;Reset發(fā)送 stm SPCR1,McBSP1_SPSA stm #1800h,McBSP1_SPSD ;CLKSTP=11,數(shù)據(jù)提前半個周期 stm RCR1,McBSP1_SPSA stm #0080h,McBSP1_SPSD ;RWDLEN1=100,每幀數(shù)據(jù)24bit stm RCR2,McBSP1_SPSA stm #0001h,McBSP1_SPSD ;RDATDLY=01 stm XCR1,McBSP1_SPSA stm #0080h,McBSP1_SPSD ;XWDLEN1=100,發(fā)送數(shù)據(jù)每幀24bit stm XCR2,McBSP1_SPSA stm #0001h,McBSP1_SPSD stm SRGR1,McBSP1_SPSA stm #00ffh,McBSP1_SPSD ;CLKGDV=0xFF,SPI的時鐘=DSP時鐘/256 stm SRGR2,McBSP1_SPSA stm #2000h,McBSP1_SPSD stm PCR,McBSP1_SPSA stm #0a08h,McBSP1_SPSD ;CLKXP=0,CLKXM=1,FSXM=1,FSXP=1 stm SPCR2,McBSP1_SPSA stm #0040h,McBSP1_SPSD ;GRST=1 nop nop ;等待兩個周期 stm SPCR1,McBSP1_SPSA stm #1801h,McBSP1_SPSD ;設(shè)定RRST=1,開始接收數(shù)據(jù) stm SPCR2,McBSP1_SPSA stm #0041h,McBSP1_SPSD ;設(shè)定XRST=1,開始發(fā)送數(shù)據(jù) DSP中斷服務(wù)程序、命令字發(fā)送程序以及信息管理程序在此不多述。2 信息管理 在采用本模塊的擬人機器人語言交互系統(tǒng)中,若干條語音按順序分別被錄入到芯片,并將期編程為1、2、3等。DSP可以通過SPI接口獲得每次錄音結(jié)束時的ISD內(nèi)部信息指針,據(jù)此構(gòu)建一個信息地址表(MAT),并將此表存入Flash Memory中,作為以后錄放、刪除操作時信息管理的依據(jù)。 ISD4004內(nèi)部存儲器分為2400行,每行1600列。對器件尋址即選擇一行,從行首開始錄放,而每行中的列不可尋址。對于8kHz采樣率的ISD4004,采樣間隔為125μs。器件地址分辨率可按如下計算: (1/Fs)%26;#215;1600=200ms 2.1 MAT 由于ISD4004內(nèi)部可尋址多達2400行,而每行固定存儲200ms語音,為了可錄放、刪除任意長度的語音,有必要建立MAT。MAT跟蹤每一條語音的開始地址以及每一個信息碎塊的開始結(jié)束地址。ISD4004共2400行,實際只需要12位地址即可完成尋址。為節(jié)省MAT存儲空間,將地址最高位bit15作為語音起始點標志。建立MAT的規(guī)則如下: (1)MAT表項值全為0(0000 0000 0000 0000):表示對應(yīng)行未存儲任何語音; (2)MAT表項值的bit15為1(1XXX XXXX XXXX XXXX),表示對應(yīng)的是某句語音的起始行; (3)MAT表項值的bit15為0,其余各位是有效地址(0XXX XXXX XXXX XXXX),表示對應(yīng)的行是某句語音的一行,但不是起始行; (4)ISD的第一行總是某句語音的起始行。 同一句語音的地址在MAT中總是連續(xù)存儲的。由若干行組成的句語音,它的各行地址總是從小到大,但不一定兩兩相連。以行地址為表項的MAT,所要求的存儲空間是較大的。本例中為2400行語句,則要求MAT具有2400個表項。為了減小MAT大小,也可對語音進行分塊。若8以位為一個語音塊,則MAT大小減小為300個表項。經(jīng)過幾次錄音和刪除手,建立的MAT如表1所示。表1 MAT實例 MATbit15實際行地址句1000 0000 0000 000010000 0000 0000 000010000 0000 0000 000100000 0000 0000 00010000 0000 0000 000200000 0000 0000 00021000 0000 0000 000310000 0000 0000 000320000 0000 0000 000500000 0000 0000 00050000 0000 0000 000600000 0000 0000 00061000 0000 0000 000410000 0000 0000 000440000 0000 0000 000700000 0000 0000 00070000 0000 0000 000800000 0000 0000 00082.2 信息管理操作 放音時,DSP從MAT表頭開始搜索bit15為1的表項。要播放第幾條語句,則尋找第幾個bit15為1的表項。由于RAC的周期和器件的行相同,且其低脈沖時間長達25ms,在播放當前行語音的同時,RAC觸發(fā)DSP的INT3中斷。INT3中斷服務(wù)程序驗證下一行bit15是否為1,若不為1則將該行地址送入ISD,則輸入的地址不會立刻生效,而是在緩沖器中等待當前結(jié)束;若為1則指示下一行為新語句開始地址,DSP不送任何指令。放音遇到EOM或者OVF時產(chǎn)生INT中斷,停止放音。 錄音時,按NUM鍵啟動錄音操作,DSP首先找出MAT中的個全0行,發(fā)錄音指令;在錄制當前行的同時,DSP等待RAC信號觸發(fā)INT3中斷,中斷服務(wù)程序繼續(xù)尋找全0行、發(fā)帶該行地址的錄音指令,直到按STOP鍵觸發(fā)INT0中斷發(fā)錄音停止命令為止。刪除語音可通過將相應(yīng)語音行全置零來完成。 本文詳細闡述了TMS320VC5402 DSP與ISD4004語音錄放芯片的SPI接口設(shè)計、ISD4004的語音信息管理以及DSP與ISD4004之間的通訊與控制程序算法的設(shè)計。該模塊作為擬人機器人語音互系統(tǒng)的語音應(yīng)答模塊,可以對機器人識別的命令語音進行相應(yīng)的實時應(yīng)答。

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉