丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>TMS320VC5402 DSP與ISD4004語(yǔ)音錄放芯片

TMS320VC5402 DSP與ISD4004語(yǔ)音錄放芯片

時(shí)間:2023-02-20 23:33:37 電子通信論文 我要投稿
  • 相關(guān)推薦

TMS320VC5402 DSP與ISD4004語(yǔ)音錄放芯片

摘要:根據(jù)語(yǔ)音錄放芯片ISD4004的接口特點(diǎn),設(shè)計(jì)了其與TMS320VC5402 DSP的SPI接口電路。完成了DSP對(duì)ISD芯片的通訊與接口控制編程,并給出了實(shí)際應(yīng)用中的一種ISD4004信息管理方法:信息地址表(MAT)。

    關(guān)鍵詞:DSP 語(yǔ)音錄放芯片 ISD4004 SPI接口 MAT

許多類型的語(yǔ)音錄放應(yīng)用要求具備信息管理的功能,即能夠隨著地錄、放、刪除任意一段信息。而許多語(yǔ)音錄放系統(tǒng)并不能很好地滿足這種要求,如磁帶錄音系統(tǒng)。ISD4004語(yǔ)音錄放芯片提供了SPI微控制器接口,使得語(yǔ)音錄放的信息管理成為可能。本文將詳細(xì)闡述TMS320VC5402 DSP與ISD4004的SPI接口設(shè)計(jì)及其控制操作,同時(shí)設(shè)計(jì)適合應(yīng)用的信息管理方法。

ISD4004語(yǔ)音錄放芯片工作電壓為3V,單片錄放時(shí)間為8~16分鐘。芯片設(shè)計(jì)使得所有操作必須由微控制器控制,操作命令可通過(guò)串行通信接口SPI送入。芯片采用多電平直接模擬量存儲(chǔ)技術(shù),每個(gè)采樣值直接存儲(chǔ)在片內(nèi)內(nèi)爍存儲(chǔ)器中,因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音、音樂(lè)、音調(diào)和效果聲。采樣頻率可為4.0k、5.3k、6.4k、8.0kHz,頻率越低,錄放時(shí)間越長(zhǎng),但音質(zhì)有所下降。

TMS320VC5402是美國(guó)TI(德州儀器)公司推出的一款高性能的定點(diǎn)DSP,最高頻率為100MHz,內(nèi)部提供16K的存儲(chǔ)空間。它提供的多信道緩沖串口(McBSP)可以設(shè)置為SPI工作方式,從而使得DSP與ISD4004的接口設(shè)計(jì)成為可能。
(范文先生網(wǎng)www.panasonaic.com收集整理)
1 接口設(shè)計(jì)

DSP作為SPI(串行外設(shè)接口)的主器件(Master),負(fù)責(zé)為ISD4004提供串行時(shí)鐘、片選信號(hào)以及控制ISD4004的動(dòng)作信號(hào)。接口電路如圖1所示。

1.1 SPI

SPI協(xié)議是一個(gè)同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動(dòng)作。ISD4004工作于SPI工作模式。因此對(duì)于ISD4004而言,在時(shí)鐘上升沿鎖存MOSI引腳的數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。ISD4004與DSP通訊協(xié)議的具體內(nèi)容如下:

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

(2)SS在數(shù)據(jù)傳輸期間必須保持低電平,在兩條指令之間則保持高電平。

(3)數(shù)據(jù)在時(shí)鐘上升沿移入,在下降沿移出。

(4)SS變低時(shí),輸入指令和地址后,ISD才能開始錄放操作。

(5)指令格式是8位控制碼加16位地址碼。

(6)ISD的任何操作(含快進(jìn))如果遇到EOM(信息結(jié)束標(biāo)志)或OVF(溢出),則產(chǎn)生一個(gè)中斷,該中斷狀態(tài)在下一個(gè)SPI周期開始時(shí)被清除。

(7)使用“讀”指令使中斷狀態(tài)位移出ISD的MISO引腳時(shí),控制及地址數(shù)據(jù)也應(yīng)同步從MOSI端移入。因此要注意移入的數(shù)據(jù)是否與器件當(dāng)前進(jìn)行的操作兼容。

(8)所有操作在運(yùn)行位(RUN)置“1”時(shí)開始,置“0”時(shí)結(jié)束。

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

1.2 ISD4004與DSP的SPI時(shí)序配合

根據(jù)ISD4004的時(shí)序要求,DSP設(shè)置串口為SPI工作模式,發(fā)送數(shù)據(jù)先于串行時(shí)鐘半個(gè)周期建立、數(shù)據(jù)在時(shí)鐘上升沿發(fā)送。由圖2可知,ISD接收命令字的方式是先地址后命令,且位序從低到高;而DSP發(fā)送數(shù)據(jù)方式是先高位后低位,故在DSP發(fā)送程序中須將待送地址和命令進(jìn)行高低位對(duì)調(diào)。

圖2 ISD控制命令字時(shí)序圖

    串行時(shí)鐘(SCLK)由DSP主時(shí)鐘產(chǎn)生。在DSP運(yùn)行于10MHz時(shí),設(shè)置時(shí)鐘分頻因子為255,得到約40kHz的串行傳輸時(shí)鐘,適應(yīng)ISD4004相對(duì)慢速的要求。DSP串口SPI方式數(shù)據(jù)傳輸時(shí)序如圖3所示。

ISD4004的RAC管腳(行地址時(shí)鐘)用于指示錄放操作已經(jīng)接近一行的末發(fā)展。RAC在行末前25ms變低,在到達(dá)行末時(shí)變高,DSP將它作為中斷INT3的中斷源,指示錄放操作進(jìn)行到何處;INT管腳在遇到EOM標(biāo)志和OVF溢出時(shí)向DSP發(fā)中斷,DSP將它作中斷INT2的中斷源,用來(lái)指示是否到達(dá)一段信息的末尾。按下NUM鍵觸發(fā)INT1中斷開始錄音,按下STOP鍵觸發(fā)INT0中斷終止錄音。放音時(shí)按下NUM即開始,遇以語(yǔ)句EOM時(shí)自動(dòng)停止放音。

1.3 接口軟件設(shè)計(jì)

DSP對(duì)ISD的控制是通過(guò)SPI接口實(shí)現(xiàn)的,因此DSP的McBSP必須設(shè)置為符合ISD控制命令時(shí)序要求的SPI工作模式。下程序段完成了McBSP的SPI模式設(shè)置(單幀數(shù)據(jù)為24bit,串行時(shí)鐘上升沿發(fā)送數(shù)據(jù),時(shí)鐘頻率為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ù)提前半個(gè)周期

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的時(shí)鐘=DSP時(shí)鐘/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 ;等待兩個(gè)周期

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 信息管理

在采用本模塊的擬人機(jī)器人語(yǔ)言交互系統(tǒng)中,若干條語(yǔ)音按順序分別被錄入到芯片,并將期編程為1、2、3等。DSP可以通過(guò)SPI接口獲得每次錄音結(jié)束時(shí)的ISD內(nèi)部信息指針,據(jù)此構(gòu)建一個(gè)信息地址表(MAT),并將此表存入Flash Memory中,作為以后錄放、刪除操作時(shí)信息管理的依據(jù)。

ISD4004內(nèi)部存儲(chǔ)器分為2400行,每行1600列。對(duì)器件尋址即選擇一行,從行首開始錄放,而每行中的列不可尋址。對(duì)于8kHz采樣率的ISD4004,采樣間隔為125μs。器件地址分辨率可按如下計(jì)算:

(1/Fs)×1600=200ms

2.1 MAT

由于ISD4004內(nèi)部可尋址多達(dá)2400行,而每行固定存儲(chǔ)200ms語(yǔ)音,為了可錄放、刪除任意長(zhǎng)度的語(yǔ)音,有必要建立MAT。MAT跟蹤每一條語(yǔ)音的開始地址以及每一個(gè)信息碎塊的開始結(jié)束地址。ISD4004共2400行,實(shí)際只需要12位地址即可完成尋址。為節(jié)省MAT存儲(chǔ)空間,將地址最高位bit15作為語(yǔ)音起始點(diǎn)標(biāo)志。建立MAT的規(guī)則如下:

(1)MAT表項(xiàng)值全為0(0000 0000 0000 0000):表示對(duì)應(yīng)行未存儲(chǔ)任何語(yǔ)音;

(2)MAT表項(xiàng)值的bit15為1(1XXX XXXX XXXX XXXX),表示對(duì)應(yīng)的是某句語(yǔ)音的起始行;

(3)MAT表項(xiàng)值的bit15為0,其余各位是有效地址(0XXX XXXX XXXX XXXX),表示對(duì)應(yīng)的行是某句語(yǔ)音的一行,但不是起始行;

(4)ISD的第一行總是某句語(yǔ)音的起始行。

同一句語(yǔ)音的地址在MAT中總是連續(xù)存儲(chǔ)的。由若干行組成的句語(yǔ)音,它的各行地址總是從小到大,但不一定兩兩相連。以行地址為表項(xiàng)的MAT,所要求的存儲(chǔ)空間是較大的。本例中為2400行語(yǔ)句,則要求MAT具有2400個(gè)表項(xiàng)。為了減小MAT大小,也可對(duì)語(yǔ)音進(jìn)行分塊。若8以位為一個(gè)語(yǔ)音塊,則MAT大小減小為300個(gè)表項(xiàng)。經(jīng)過(guò)幾次錄音和刪除手,建立的MAT如表1所示。

表1 MAT實(shí)例

MAT bit15 實(shí)際行地址 句 1000 0000 0000 0000 1 0000 0000 0000 0000 1 0000 0000 0000 0001 0 0000 0000 0000 0001 0000 0000 0000 0002 0 0000 0000 0000 0002 1000 0000 0000 0003 1 0000 0000 0000 0003 2 0000 0000 0000 0005 0 0000 0000 0000 0005 0000 0000 0000 0006 0 0000 0000 0000 0006 1000 0000 0000 0004 1 0000 0000 0000 0004 4 0000 0000 0000 0007 0 0000 0000 0000 0007 0000 0000 0000 0008 0 0000 0000 0000 0008

2.2 信息管理操作

放音時(shí),DSP從MAT表頭開始搜索bit15為1的表項(xiàng)。要播放第幾條語(yǔ)句,則尋找第幾個(gè)bit15為1的表項(xiàng)。由于RAC的周期和器件的行相同,且其低脈沖時(shí)間長(zhǎng)達(dá)25ms,在播放當(dāng)前行語(yǔ)音的同時(shí),RAC觸發(fā)DSP的INT3中斷。INT3中斷服務(wù)程序驗(yàn)證下一行bit15是否為1,若不為1則將該行地址送入ISD,則輸入的地址不會(huì)立刻生效,而是在緩沖器中等待當(dāng)前結(jié)束;若為1則指示下一行為新語(yǔ)句開始地址,DSP不送任何指令。放音遇到EOM或者OVF時(shí)產(chǎn)生INT中斷,停止放音。

錄音時(shí),按NUM鍵啟動(dòng)錄音操作,DSP首先找出MAT中的個(gè)全0行,發(fā)錄音指令;在錄制當(dāng)前行的同時(shí),DSP等待RAC信號(hào)觸發(fā)INT3中斷,中斷服務(wù)程序繼續(xù)尋找全0行、發(fā)帶該行地址的錄音指令,直到按STOP鍵觸發(fā)INT0中斷發(fā)錄音停止命令為止。刪除語(yǔ)音可通過(guò)將相應(yīng)語(yǔ)音行全置零來(lái)完成。

本文詳細(xì)闡述了TMS320VC5402 DSP與ISD4004語(yǔ)音錄放芯片的SPI接口設(shè)計(jì)、ISD4004的語(yǔ)音信息管理以及DSP與ISD4004之間的通訊與控制程序算法的設(shè)計(jì)。該模塊作為擬人機(jī)器人語(yǔ)音互系統(tǒng)的語(yǔ)音應(yīng)答模塊,可以對(duì)機(jī)器人識(shí)別的命令語(yǔ)音進(jìn)行相應(yīng)的實(shí)時(shí)應(yīng)答。


【TMS320VC5402 DSP與ISD4004語(yǔ)音錄放芯片】相關(guān)文章:

ISD4004語(yǔ)音芯片在語(yǔ)音報(bào)站器中的應(yīng)用08-06

單聲道/立體聲錄放芯片MSM9841及其在數(shù)字語(yǔ)音錄放機(jī)中的應(yīng)用08-06

適于語(yǔ)音處理的SDA80D51芯片及其數(shù)字錄放音系統(tǒng)08-06

單片機(jī)與DSP結(jié)合的dsPIC芯片08-06

HPI自舉在TMS320VC5402芯片上的實(shí)現(xiàn)08-06

兩類DSP芯片的引導(dǎo)過(guò)程分析08-06

多制式語(yǔ)音編碼及其DSP實(shí)現(xiàn)08-06

Trimedia DSP芯片JTAG接口的仿真器設(shè)計(jì)08-06

語(yǔ)音處理芯片AC48105在低速語(yǔ)音編碼設(shè)備中的應(yīng)用08-06