- 相關推薦
TMS320VC5402 DSP與ISD4004語音錄放芯片
摘要:根據語音錄放芯片ISD4004的接口特點,設計了其與TMS320VC5402 DSP的SPI接口電路。完成了DSP對ISD芯片的通訊與接口控制編程,并給出了實際應用中的一種ISD4004信息管理方法:信息地址表(MAT)。許多類型的語音錄放應用要求具備信息管理的功能,即能夠隨著地錄、放、刪除任意一段信息。而許多語音錄放系統并不能很好地滿足這種要求,如磁帶錄音系統。ISD4004語音錄放芯片提供了SPI微控制器接口,使得語音錄放的信息管理成為可能。本文將詳細闡述TMS320VC5402 DSP與ISD4004的SPI接口設計及其控制操作,同時設計適合應用的信息管理方法。
ISD4004語音錄放芯片工作電壓為3V,單片錄放時間為8~16分鐘。芯片設計使得所有操作必須由微控制器控制,操作命令可通過串行通信接口SPI送入。芯片采用多電平直接模擬量存儲技術,每個采樣值直接存儲在片內內爍存儲器中,因此能夠非常真實、自然地再現語音、音樂、音調和效果聲。采樣頻率可為4.0k、5.3k、6.4k、8.0kHz,頻率越低,錄放時間越長,但音質有所下降。
TMS320VC5402是美國TI(德州儀器)公司推出的一款高性能的定點DSP,最高頻率為100MHz,內部提供16K的存儲空間。它提供的多信道緩沖串口(McBSP)可以設置為SPI工作方式,從而使得DSP與ISD4004的接口設計成為可能。
1 接口設計
DSP作為SPI(串行外設接口)的主器件(Master),負責為ISD4004提供串行時鐘、片選信號以及控制ISD4004的動作信號。接口電路如圖1所示。
1.1 SPI
SPI協議是一個同步串行數據傳輸協議,協議假定微控制器的SPI移位寄存器在SCLK的下降沿動作。ISD4004工作于SPI工作模式。因此對于ISD4004而言,在時鐘上升沿鎖存MOSI引腳的數據,在下降沿將數據送至MISO引腳。ISD4004與DSP通訊協議的具體內容如下:
(1)所有串行數據傳輸開始于SS下降沿。
(2)SS在數據傳輸期間必須保持低電平,在兩條指令之間則保持高電平。
(3)數據在時鐘上升沿移入,在下降沿移出。
(4)SS變低時,輸入指令和地址后,ISD才能開始錄放操作。
(5)指令格式是8位控制碼加16位地址碼。
(6)ISD的任何操作(含快進)如果遇到EOM(信息結束標志)或OVF(溢出),則產生一個中斷,該中斷狀態在下一個SPI周期開始時被清除。
(7)使用“讀”指令使中斷狀態位移出ISD的MISO引腳時,控制及地址數據也應同步從MOSI端移入。因此要注意移入的數據是否與器件當前進行的操作兼容。
(8)所有操作在運行位(RUN)置“1”時開始,置“0”時結束。
(9)所有指令都在SS上升沿開始執行。
1.2 ISD4004與DSP的SPI時序配合
根據ISD4004的時序要求,DSP設置串口為SPI工作模式,發送數據先于串行時鐘半個周期建立、數據在時鐘上升沿發送。由圖2可知,ISD接收命令字的方式是先地址后命令,且位序從低到高;而DSP發送數據方式是先高位后低位,故在DSP發送程序中須將待送地址和命令進行高低位對調。
圖2 ISD控制命令字時序圖
串行時鐘(SCLK)由DSP主時鐘產生。在DSP運行于10MHz時,設置時鐘分頻因子為255,得到約40kHz的串行傳輸時鐘,適應ISD4004相對慢速的要求。DSP串口SPI方式數據傳輸時序如圖3所示。
ISD4004的RAC管腳(行地址時鐘)用于指示錄放操作已經接近一行的末發展。RAC在行末前25ms變低,在到達行末時變高,DSP將它作為中斷INT3的中斷源,指示錄放操作進行到何處;INT管腳在遇到EOM標志和OVF溢出時向DSP發中斷,DSP將它作中斷INT2的中斷源,用來指示是否到達一段信息的末尾。按下NUM鍵觸發INT1中斷開始錄音,按下STOP鍵觸發INT0中斷終止錄音。放音時按下NUM即開始,遇以語句EOM時自動停止放音。
1.3 接口軟件設計
DSP對ISD的控制是通過SPI接口實現的,因此DSP的McBSP必須設置為符合ISD控制命令時序要求的SPI工作模式。下程序段完成了McBSP的SPI模式設置(單幀數據為24bit,串行時鐘上升沿發送數據,時鐘頻率為40kHz):
stm SPCR1,McBSP1_SPSA
stm #0000h,McBSP1_SPSD ;Reset接收
stm SPCR2,McBSP1_SPSA
stm #0000h,McBSP1_SPSD ;Reset發送
stm SPCR1,McBSP1_SPSA
stm #1800h,McBSP1_SPSD ;CLKSTP=11,數據提前半個周期
stm RCR1,McBSP1_SPSA
stm #0080h,McBSP1_SPSD ;RWDLEN1=100,每幀數據24bit
stm RCR2,McBSP1_SPSA
stm #0001h,McBSP1_SPSD ;RDATDLY=01
stm XCR1,McBSP1_SPSA
stm #0080h,McBSP1_SPSD ;XWDLEN1=100,發送數據每幀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_SP
【TMS320VC5402 DSP與ISD4004語音錄放芯片】相關文章:
芯片封裝技巧知多少06-05
基于dsp三相變流器滑模變結構控制(c)06-03