论文部分内容阅读
摘 要:DSP(数字信号处理器)具有强大的数字信号处理能力,关键在其应用系统中,大多由ADC和DAC通道来完成对模拟信号的数字化处理。本文介绍了一种集成ADC和DAC于一体的TLC320AD50C模拟接口电路与TMS320VC5402定点DSP接口电路的设计方法。
关键词:TLC320AD50C;DSP;主从模式
1 硬件设计
1.1 AD50与DSP的引脚连接方式
AD50的MCLK外接8.192MHz的晶振,TMS320VC5402的FSX和FSR由AD50设置。如果选择D7=0,N=8,则采样速率为8KHz。
AD50与TMS320VC5402是以SPI方式连接的。AD50工作在主机模式(M/S=1),提供SCLK(数据移位时钟)和FS(帧同步脉冲)。TMS320VC5402工作于SPI方式的从机模式,BCLKX1和BFSX1为输入引脚,在接数据和发数据时都是利用外界时钟和移位脉冲。
具体通信过程如下:AD50C数据输入输出与TMS320VC5402数据接收管脚相连,AD50C发出的帧频信号通过FS脚与TMS320VC5402达到同步,AD50C上M/S可控制AD50C的主从方式。TMS320VC5402中时钟和同步信号脚可用软件设置成外部输入,这样数据发送/接收,帧同步,时钟信号均由AD50产生,主时钟(MCLK)信号由晶振提供,FC、XF端作为二次通讯请求,假设数据传输格式为16位,则FC高电平时发出二次通讯请求。
采样频率的计算:AD50具有可编程的采样频率,其采样频率由控制寄存器4决定;当内部锁相环PLL被使能时(控制寄存器4的D7=0),采样频率为fs=MCLK/(128×N)①;当内部锁相环PLL(即控制寄存器4的D7=1),采样频率为fs=MCLK/(512×N)②.如果采样频率<7KHz,则根据公式②由主时钟MCLK得到,内部锁相环必须被旁路。①②两式中的N值由控制寄存器4的D4,D5,D6三位的数值决定(数值选择范围为1~8);当D6 D5 D4=001时,N=1,当D6 D5 D4=010时,N=2,当D6 D5 D4=000时,N=8.语音信号的频率范围为20Hz~3400Hz,所以通常的采样频率8KHz.MCLK=8.192MHz时,为当使能内部锁相环时,要得到的采样率为8KHz,就要设定控制寄存器4的D6D5D4=100,SCLK的频率通过下式由采样频率fs得到,而不是由MCLK得到:SCLK=256×fs.
在ADC通道中,ADC将输入的模拟信号转换为二进制补码数据,并在帧同步有效期间内,在SCLK的上升沿从DOUT管脚移出。数据可采用16或15+1比特格式。在DAC通道中,AIC在帧同步有效期间内,在SCLK的下降沿将主机送来的16比特串行数据移入并由DAC将其转换为相应幅值的模拟信号。
1.2 AD50与 TMS320VC5402的串口通信
⑴首次通信。在首次通信中,有两种数据传送模式,16位传送模式和15+1位传送模式,可通过控制寄存器设定.省却情况下为15十1位传送模式.若采用15+1位传送模式,其高15位数据作为转换数据,最低位D0为非数据位,输入DAC数据的最后一位D0位为二次通信请求位,输出ADC数据的D0位为M/S脚的状态位.如果工作在16位传输模式,则必须由FC产生二次通信请求。
⑵二次通信。二次通信只有在发出请求时产生,当首次通信采用15+1位模式时,可以用D0进行二次通信请求,当首次通信采用16位模式时,则必须由FC脚输入高电平信号来产生二次通信请求。二次通信数据时序图及格式如图4中所示,其中D7~D0为控制寄存器数据,D12~D8为控制寄存器地址,D13=1为读控制寄存器数据,D13=0对控制寄存器写数据。通过二次通信,可实现AD50初始化和修改AD50内部控制寄存器的值,可以通过向DIN写数据来初始化。
系统复位后,必须通过DSP的DX口向AD50的DIN写数据,如果采用一片AD50,只需初始化其寄存器1、寄存器2和寄存器4。
由于通信数据长度为16位,初始化时应通过RCR1和XCR1设置MCBSP的传输数据长度为16。考虑到AD50复位后至少经过6个MCLK才可以脱离复位,故可以在此时间内初始化DSP的串行口。
通过对串口编程设置工作方式,可以进行AD50初始化,建立AD50与TMS320VC5402的连接,从而实现2个芯片之间的数据传输。
3 软件设计
⑴TMS320VC5402串口的初始化。首先将DSP串口1复位,再对串口1的16个寄存器进行编程,使DSP串口工作在以下状态:以SPI模式运行,每帧一段,每段一个字,每字16位,采样率发生器由DSP内部产生,帧同步脉冲低电平有效,并且帧同步信号和移位时钟信号由外部产生。DSP给AD50C编程用查询方式,接收A/D转换的D信号和发送D/A转换的D信号用DMA方式。
⑵AD50初始化。该初始化操作过程包括通过TMS320VC5402的同步串口发送两串16位数字信息到AD50。第一串为0000 0000 0000 0001B,最低有效位(bits0)说明下一个要传输的数据字属于二次通信。第二个数据值用来对AD50的4个数据寄存器的某一个进行配置。Bits15~11位为0,Bits10~8位为所选寄存器地址值,Bits7~0位为所选中寄存器的编程值。4个用户可编程寄存器的描述如下:R1中包含模拟输入通道选择,硬件/软件编程方式选择;R2进行单机/从机工作和电话模式选择;R3控制带从机个数选择;R4用来设置模拟信号可编程放大增益和A/D、D/A转换频率。其它两个寄存器R5、R6是厂家留着测试用的,用户不可以对其编程。我们在以下例程中对4个可编程寄存器编程,使AD50C工作在以下状态:选择INP/INM为工作模拟输入,15+1位ADC和15+1位DAC模式,不带从机,采样频率为10.67KHz,模拟信号输入和输出放大增益均为0dB。
⑶用户代码的编写。完成音频信号采集与回放代码的编制。本设计给AD50编程用查询方式,接收A/D转换的D信号和发送D/A转换的D信号用DMA方式。
[参考文献]
[1]刘益成.TMS320C54x DSP应用程序设计与开发RM].北京:北京航空航天大学出版社,2002.
[2]TLC320AD50C,I TLC320AD52C Data Manual[z].Texas Instrument Inc.,2000.
[3]TMS320C54x DSP Reference Set Volume 5:Enhanced Peripherals[Z].Texas Instrument Inc.,l999.
关键词:TLC320AD50C;DSP;主从模式
1 硬件设计
1.1 AD50与DSP的引脚连接方式
AD50的MCLK外接8.192MHz的晶振,TMS320VC5402的FSX和FSR由AD50设置。如果选择D7=0,N=8,则采样速率为8KHz。
AD50与TMS320VC5402是以SPI方式连接的。AD50工作在主机模式(M/S=1),提供SCLK(数据移位时钟)和FS(帧同步脉冲)。TMS320VC5402工作于SPI方式的从机模式,BCLKX1和BFSX1为输入引脚,在接数据和发数据时都是利用外界时钟和移位脉冲。
具体通信过程如下:AD50C数据输入输出与TMS320VC5402数据接收管脚相连,AD50C发出的帧频信号通过FS脚与TMS320VC5402达到同步,AD50C上M/S可控制AD50C的主从方式。TMS320VC5402中时钟和同步信号脚可用软件设置成外部输入,这样数据发送/接收,帧同步,时钟信号均由AD50产生,主时钟(MCLK)信号由晶振提供,FC、XF端作为二次通讯请求,假设数据传输格式为16位,则FC高电平时发出二次通讯请求。
采样频率的计算:AD50具有可编程的采样频率,其采样频率由控制寄存器4决定;当内部锁相环PLL被使能时(控制寄存器4的D7=0),采样频率为fs=MCLK/(128×N)①;当内部锁相环PLL(即控制寄存器4的D7=1),采样频率为fs=MCLK/(512×N)②.如果采样频率<7KHz,则根据公式②由主时钟MCLK得到,内部锁相环必须被旁路。①②两式中的N值由控制寄存器4的D4,D5,D6三位的数值决定(数值选择范围为1~8);当D6 D5 D4=001时,N=1,当D6 D5 D4=010时,N=2,当D6 D5 D4=000时,N=8.语音信号的频率范围为20Hz~3400Hz,所以通常的采样频率8KHz.MCLK=8.192MHz时,为当使能内部锁相环时,要得到的采样率为8KHz,就要设定控制寄存器4的D6D5D4=100,SCLK的频率通过下式由采样频率fs得到,而不是由MCLK得到:SCLK=256×fs.
在ADC通道中,ADC将输入的模拟信号转换为二进制补码数据,并在帧同步有效期间内,在SCLK的上升沿从DOUT管脚移出。数据可采用16或15+1比特格式。在DAC通道中,AIC在帧同步有效期间内,在SCLK的下降沿将主机送来的16比特串行数据移入并由DAC将其转换为相应幅值的模拟信号。
1.2 AD50与 TMS320VC5402的串口通信
⑴首次通信。在首次通信中,有两种数据传送模式,16位传送模式和15+1位传送模式,可通过控制寄存器设定.省却情况下为15十1位传送模式.若采用15+1位传送模式,其高15位数据作为转换数据,最低位D0为非数据位,输入DAC数据的最后一位D0位为二次通信请求位,输出ADC数据的D0位为M/S脚的状态位.如果工作在16位传输模式,则必须由FC产生二次通信请求。
⑵二次通信。二次通信只有在发出请求时产生,当首次通信采用15+1位模式时,可以用D0进行二次通信请求,当首次通信采用16位模式时,则必须由FC脚输入高电平信号来产生二次通信请求。二次通信数据时序图及格式如图4中所示,其中D7~D0为控制寄存器数据,D12~D8为控制寄存器地址,D13=1为读控制寄存器数据,D13=0对控制寄存器写数据。通过二次通信,可实现AD50初始化和修改AD50内部控制寄存器的值,可以通过向DIN写数据来初始化。
系统复位后,必须通过DSP的DX口向AD50的DIN写数据,如果采用一片AD50,只需初始化其寄存器1、寄存器2和寄存器4。
由于通信数据长度为16位,初始化时应通过RCR1和XCR1设置MCBSP的传输数据长度为16。考虑到AD50复位后至少经过6个MCLK才可以脱离复位,故可以在此时间内初始化DSP的串行口。
通过对串口编程设置工作方式,可以进行AD50初始化,建立AD50与TMS320VC5402的连接,从而实现2个芯片之间的数据传输。
3 软件设计
⑴TMS320VC5402串口的初始化。首先将DSP串口1复位,再对串口1的16个寄存器进行编程,使DSP串口工作在以下状态:以SPI模式运行,每帧一段,每段一个字,每字16位,采样率发生器由DSP内部产生,帧同步脉冲低电平有效,并且帧同步信号和移位时钟信号由外部产生。DSP给AD50C编程用查询方式,接收A/D转换的D信号和发送D/A转换的D信号用DMA方式。
⑵AD50初始化。该初始化操作过程包括通过TMS320VC5402的同步串口发送两串16位数字信息到AD50。第一串为0000 0000 0000 0001B,最低有效位(bits0)说明下一个要传输的数据字属于二次通信。第二个数据值用来对AD50的4个数据寄存器的某一个进行配置。Bits15~11位为0,Bits10~8位为所选寄存器地址值,Bits7~0位为所选中寄存器的编程值。4个用户可编程寄存器的描述如下:R1中包含模拟输入通道选择,硬件/软件编程方式选择;R2进行单机/从机工作和电话模式选择;R3控制带从机个数选择;R4用来设置模拟信号可编程放大增益和A/D、D/A转换频率。其它两个寄存器R5、R6是厂家留着测试用的,用户不可以对其编程。我们在以下例程中对4个可编程寄存器编程,使AD50C工作在以下状态:选择INP/INM为工作模拟输入,15+1位ADC和15+1位DAC模式,不带从机,采样频率为10.67KHz,模拟信号输入和输出放大增益均为0dB。
⑶用户代码的编写。完成音频信号采集与回放代码的编制。本设计给AD50编程用查询方式,接收A/D转换的D信号和发送D/A转换的D信号用DMA方式。
[参考文献]
[1]刘益成.TMS320C54x DSP应用程序设计与开发RM].北京:北京航空航天大学出版社,2002.
[2]TLC320AD50C,I TLC320AD52C Data Manual[z].Texas Instrument Inc.,2000.
[3]TMS320C54x DSP Reference Set Volume 5:Enhanced Peripherals[Z].Texas Instrument Inc.,l999.