1 芯片介绍
TMS320VC5402是TI公司生产的,从属于TMS320C54x系列的一个合作灵活、高速、具有较高性价比、低功耗的16位定点通用DSP芯片。其主要特点包括:改进的哈佛结构(1条程序存储器总线,3条数据存储器总线和4条地址总线),带有专用硬件逻辑CPU,片内存储器,片内外围专用的指令集,专用的汇编语言工具。TMS320VC5402含4K字的片内ROM和16K字的双存取RAM,1个HPI(Host Port Interface)接口,2个多通道缓冲单口MCBSP(Multi-Channel Buffered Serial Port),单周期指令执行时间10ns,双电源(1.8V和3.3V)供电,带有符合IEEE1149.1标准的JTAG边界扫描仿真逻辑。
TLC320AC01是TI公司生产的一个14位、音频(大约12kHz带宽)、内含抗混滤波器和重构滤波器的模拟接口电路,有一个能与许多DSP芯片相连的同步串行数字接口。其内部电路的配置和性能参数的设定,比如采样频率、滤波器带宽和增益高调整等,都可以通过对它内部的8个数据寄存器写入控制信息来实现。ADC通道与DAC通道同步操作,数据是以2的补码格式进行传输的。有3个基本的操作模式:单机模式、主从模式、线性编解码模式。在单机模式下,TLC320AC01能生成移位时钟和帧同步并用于单机的数据传输;主从模式下、1个TLC320AC01作为主机生成主移位时钟和帧同步信号,另外的模拟接口电路是从机;在线性编解码操作模式下,移位时钟和帧同步信号由外部电路生成,定时信号可以由任何一种编解码电路产生。TLC320AC01的典型应用包括调制解调器、语音处理、工业过程控制、光谱分析、作为DSP的模拟接口电路进行数据采集处理以及各种记录仪等。TLC320AC01C的工作温度范围是0~70℃。TLC320AC01有28脚的塑料J型针封装(带FN后缀)和64脚的塑料扁平封装(带PM后缀),体积较小,适应于便携设备。单一5V电源供电,工作时的最大功耗110mW。
2 硬件连接
硬件连接电路原理如图1所示。
①TMS320VC5402与2片TLC320AC01的主时钟必须来源于同一外部时钟源。本设计采用10MHz的有源晶振作主时钟源,以消除噪声,并保持DSP与TLC320AC01接口电路协调工作。
②主模式的TLC320AC01的M/S端接高电平,从模式的TLC320AC01的M/S接地。
3 软件设计
3.1 软件编制过程
一旦完成了正确的硬件连接,接下来就可以进行软件编程调试了。要完成的工作包括:
①两个通道的区分。TLC320AC01的运行模式是主从模式:一个TLC320AC01是主,另一个是从。硬件上通过设置M/S的高低电平分配主从模式的TLC320AC01,软件上则通过检测从TLC320AC01所接收的信息字中的最低有效位将主与从分开。主的信息字的最低有效位是0,而所有从的信息字的最低有效位是1。主从模式下的TLC320AC01与TMS320VC5402的缓冲串口进行轮流通信。
②初始化。初始化操作过程包括通过TMS320VC5402的同步串口发送两串16位的数字信息到TLC320AC01。第一串为0000 0000 0000 0011B,14个最高有效位(bits 15~2)定义输出采样值为0,2个最低有效位(bits 1~0)说明下一个要传输的数据字属于二次通信(关于一次通信和二次通信的内容请参阅TLC320AC01的DATA SHEET)。第二个数据值用来对TLC320AC01的9个数据寄存器的某一个进行配置。Bits 15、14用来控制Modem中的相移,这里设为0;bit 13=0,表示这个数据值将写到TLC320AC01的某个寄存器;bits 12~8表示要配置的寄存器地址;bits 7~0包含要写到寄存器的值。9个寄存器的描述如下:R0大多数应用设为0,R1用来设置采样频率,R2用来设备低通滤波器的截止频率,R3进行相移控制,R4进行模拟输入输出的增益控制,R3进行相移控制,R4进行模拟输入输出的增益控制,R5用于使能高通滤波器,R6控制操作模式,R7控制从模式的串行通信,R8控制生成的帧同步脉冲数。
③用户代码的编写。完成音频信号采集与回放代码的编制。本设计采用中断方式,包括发送中断和接收中断。
3.2 部分关键代码
(1)初始化
包括TMS320VC5402的初始化和TLC320AC01的初始化。
;TMS320VC5402的初始化;
SSBX INTM ;使所有中断无效
ORM#0834h,PMST ;设备处理器方式状态寄存器PMST
STM #02492h,SWWSR ;所有外围两个等待状态
RSBX OVM ;使OVM=0
RSBX FRCT ;使FRCT=0,允许整数乘
STM #010h,IMR ;多通道缓冲串口接收中断使能
RSBX INTM ;使能所有非屏蔽中断
;TLC320AC01的初始化
SSBX SXM ;设置符号扩展模式
LD #PR1,DP ;以下三句设置TLC320AC01内部数据
LD PR1,A ;寄存器R1的值,其余寄存器的设置与此同
CALL AC01_2ND
……
RET
AC01_2ND;
RSBX INTM ;使中断有效
STH A,DXR10
STL A,DXR10
STL #0,DXR10 ;确保字被发送
SSBX INTM ;使中断无效
RET
(2)接收中断服务程序
这段程序包括通道的区分,方法是:使主TLCAC01首选写入,主TLCAC01的LSB是0,从TLCAC01的LSB是1。发送中断与此相同。
SBPREC:BITF DRR10,#1
BC loop1,TC
LD DRR10,A
AND #0fffch,A
STL A,DXR10
B loop2
Loop1: LD DRR10,A
AND #0fffch,A
STL A,DXR10
RETE
Loop2: RETE
结束语
基于上述硬件设计的方法,通过软件编程可以实现许多应用,如数据采集、处理和存储的数据采集卡,对采集的数据进行频谱分析和频谱分析仪,数字记录仪,以及调制解调器等。