《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > TMS320VC5402 DSP與ISD4004語音錄放芯片的接口設計及其信息管理

TMS320VC5402 DSP與ISD4004語音錄放芯片的接口設計及其信息管理

2008-09-03
作者:陳 斌 施克仁

  摘? 要: 根據(jù)語音錄放芯片ISD4004的接口特點,設計了其與TMS320VC5402 DSP的SPI接口電路。完成了DSP對ISD芯片的通訊與接口控制編程,并給出了實際應用中的一種ISD4004信息管理" title="信息管理">信息管理方法:信息地址表(MAT)。

  關鍵詞: DSP? 語音錄放芯片? ISD4004? SPI接口? MAT

?

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

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

  TMS320VC5402是美國TI(德州儀器)公司推出的一款高性能的定點DSP,最高頻率為100MHz,內部提供16K的存儲空間。它提供的多信道緩沖串口" title="串口">串口(McBSP)可以設置為SPI工作方式,從而使得DSP與ISD4004的接口設計成為可能。

1 接口設計

  DSP作為SPI(串行外設接口)的主器件(Master),負責為ISD4004提供串行時鐘、片選信號以及控制ISD4004的動作信號。接口電路如圖1所示。

?

1.1 SPI

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

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

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

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

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

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

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

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

  (8)所有操作在運行位(RUN)置“1”時開始,置“0”時結束。

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

1.2 ISD4004與DSP的SPI時序配合

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

?

?

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

?

?

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

1.3 接口軟件設計

  DSP對ISD的控制是通過SPI接口實現(xiàn)的,因此DSP的McBSP必須設置為符合ISD控制命令時序要求的SPI工作模式。以下程序段完成了McBSP的SPI模式設置(單幀數(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????????????????? ;設定RRST=1,開始接收數(shù)據(jù)?

  stm SPCR2, McBSP1_SPSA????

  stm #0041h, McBSP1_SPSD????????????????? ;設定XRST=1,開始發(fā)送數(shù)據(jù)

??? DSP中斷服務程序、命令字發(fā)送程序以及信息管理程序在此不贅述。

2 信息管理

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

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

????

2.1 MAT

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

  (1)MAT表項值全為0(0000 0000 0000 0000):表示對應行未存儲任何語音;

  (2)MAT表項值的bit15為1(1XXX XXXX XXXX XXXX),表示對應的行是某句語音的起始行;

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

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

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

?

?

2.2 信息管理操作

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

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

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

?

參考文獻

1 TMS320C54X DSP Reference Set, Volume 5: Enhanced?Peripherals. Texas Instruments,1999

2 TMS320C54X DSP Reference Set, Volume 2: Mnemonic?instruction set. Texas Instruments,1999

3 李 剛. 數(shù)字信號處理器的原理及其開發(fā)應用.天津:天津大學出版社,2000

4 ISD4004 Series Voice Recording & Playback IC Datasheet. ISD/Winbond Electronics Corp., 2000

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲影院在线观看| 噜噜噜91成人网| 久久精品论坛| 亚洲免费视频一区二区| 一片黄亚洲嫩模| 亚洲精品视频免费| 亚洲国产欧美一区| 国产日韩av高清| 国产精品爽黄69| 国产精品a级| 国产精品久久激情| 国产精品久久国产精麻豆99网站| 欧美色大人视频| 欧美日韩一二三区| 欧美日韩在线精品一区二区三区| 欧美精品免费在线| 欧美精品麻豆| 欧美三区在线观看| 国产精品久久久久久久久久久久久 | 在线国产亚洲欧美| 一色屋精品视频免费看| 一区二区三区在线观看欧美| 一区福利视频| 亚洲日本乱码在线观看| 亚洲精品久久久久| 一本色道久久加勒比88综合| 一区二区三区免费观看| 亚洲系列中文字幕| 亚洲欧美日本精品| 欧美中文字幕在线播放| 亚洲福利视频三区| 亚洲欧洲日韩综合二区| 99re在线精品| 亚洲一区二区三区四区五区午夜| 亚洲一区二区三区中文字幕| 亚洲欧美成人网| 欧美专区在线播放| 久久夜色精品亚洲噜噜国产mv | 国内外成人免费激情在线视频| 黄色一区二区在线| 最新69国产成人精品视频免费 | 亚洲性av在线| 午夜综合激情| 亚洲激情视频在线| 一区二区久久| 久久黄色影院| 欧美成人高清视频| 欧美视频在线观看视频极品| 国产美女一区| 在线观看视频日韩| 亚洲伦理在线免费看| 亚洲一级在线| 亚洲国产精品一区二区第一页| 一本久道久久综合狠狠爱| 午夜精品视频在线| 免费视频一区二区三区在线观看| 欧美日韩久久久久久| 国产日韩精品一区二区三区| 亚洲国产美女久久久久| 亚洲视频在线观看| 亚洲国产一区二区视频| 亚洲一区二区视频| 免费成人性网站| 国产精品久久久久久妇女6080 | 欧美性做爰猛烈叫床潮| 激情综合在线| 亚洲视屏一区| 亚洲人午夜精品| 欧美一区二区福利在线| 欧美电影免费网站| 国产日韩av高清| 亚洲免费观看| 亚洲国产精品ⅴa在线观看| 亚洲一区在线免费观看| 免费久久99精品国产| 国产精品日本精品| 亚洲人成亚洲人成在线观看| 性做久久久久久免费观看欧美| 一本色道久久88精品综合| 久久久精品一品道一区| 欧美色欧美亚洲另类二区| 一区二区三区中文在线观看| 亚洲中字黄色| 一本色道久久88亚洲综合88| 久久久久高清| 国产精品裸体一区二区三区| 亚洲经典三级| 亚洲国产精品小视频| 久久精品国产一区二区三| 欧美视频免费在线观看| 亚洲国产va精品久久久不卡综合| 性欧美xxxx大乳国产app| 亚洲视频第一页| 欧美高清在线播放| 激情丁香综合| 性欧美videos另类喷潮| 午夜久久tv| 国产精品成人在线| 日韩视频三区| 99亚洲视频| 欧美大片一区| 在线欧美日韩| 亚洲国产精彩中文乱码av在线播放| 欧美一区二区视频在线观看2020 | 亚洲欧美不卡| 欧美色欧美亚洲另类七区| 亚洲欧洲日夜超级视频| 亚洲欧洲一区二区在线播放| 久久久蜜桃精品| 国产九九视频一区二区三区| 在线亚洲国产精品网站| 一区二区三区四区国产| 欧美日本三级| 亚洲精品乱码久久久久久蜜桃91 | 欧美中在线观看| 久久久久91| 韩国av一区二区| 久久精品久久99精品久久| 久久不射网站| 国产一区av在线| 久久国产一二区| 久久久在线视频| 精品成人在线视频| 亚洲国产高清视频| 蜜桃av一区二区三区| 在线免费观看日本一区| 亚洲乱码视频| 欧美日韩国产成人在线| 日韩特黄影片| 亚洲在线1234| 国产精品亚洲网站| 欧美一区二区三区四区在线观看地址 | 国产精品欧美日韩久久| 亚洲一区二区3| 欧美在线你懂的| 国产日韩一区欧美| 欧美在线三级| 欧美成人69| 一本一本久久a久久精品牛牛影视| 亚洲视频免费在线观看| 国产精品户外野外| 亚洲欧美在线免费观看| 久久精品国产久精国产一老狼| 国产在线视频欧美| 91久久久久久久久| 欧美老女人xx| 亚洲午夜av在线| 久久国产精品免费一区| 精品二区久久| 在线视频欧美日韩| 国产精品影片在线观看| 久久av一区二区三区| 欧美xart系列在线观看| 一本色道久久| 久久国产精品久久久久久电车| 伊人色综合久久天天| 99国产一区| 国产精品少妇自拍| 亚洲第一网站免费视频| 欧美激情免费在线| 亚洲宅男天堂在线观看无病毒| 久久亚洲春色中文字幕| 亚洲欧洲综合| 欧美亚洲一区| 在线日韩视频| 亚洲欧美日韩精品久久| 国内精品久久久久久| 日韩午夜在线播放| 国产麻豆一精品一av一免费| 亚洲国产日韩美| 欧美午夜性色大片在线观看| 欧美伊人久久| 欧美日韩爆操| 欧美一二三区精品| 欧美激情第五页| 亚洲欧美精品一区| 欧美电影打屁股sp| 亚洲欧美在线免费| 欧美激情第1页| 欧美一区二区三区四区在线| 欧美精品自拍偷拍动漫精品| 亚洲在线第一页| 欧美大胆a视频| 亚洲欧美日韩视频一区| 欧美国产日本高清在线| 亚洲伊人色欲综合网| 欧美成人免费在线视频| 亚洲免费影视| 欧美韩国一区| 性8sex亚洲区入口| 欧美日韩精品高清| 久久国产欧美精品| 国产精品久久久久久久久免费| 亚洲黄色成人| 国产拍揄自揄精品视频麻豆| 日韩天堂在线观看| 国产主播在线一区| 亚洲自拍偷拍一区| 亚洲人成网站精品片在线观看 | 久久精品系列|