TMS320VC5402 DSP与ISD4004语音录放芯片
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_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,开始接收数据
stm SPCR2,McBSP1_SPSA
stm #0041h,McBSP1_SPSD ;设定XRST=1,开始发送数据
DSP中断服务程序、命令字发送程序以及信息管理程序在此不多述。
2 信息管理