TMS320VC5402DSP与串行AD73360A/D转换器接口设计
摘要:讨论了TI公司的数字信号处理器TMS320VC5402的多通道缓冲串口与串行A/D变换器AD73360的接口设计,详细阐述了两者的硬件接口和软件实现。
关键词:多通道缓冲串口 TMS320VC5402DSP AD73360 A/D转换器
随着对信号处理要求的不断提高以及DSP技术的不断发展,越来越多的工程技术人员开始采用DSP进行系统设计。美国TI公司的TMS320VC5402(以下简称VC5402)DSP具有运算速度快、功耗小和性价比高的特点,已在个人移动通信、信号与信息处理以及自动控制等领域得到了广泛的应用。该芯片提供了两个多通道缓冲串行接口(McBSP)与外部设备进行通信。它与串行A/D变换器构成的信号采集与处理系统具有硬件设计简单、可靠性好的特点。本文将详细阐述VC5402与AD73360的接口设计。
1 VC5402的McBSP
VC5402的McBSP是一种同步串行接口,支持多种通信方式和SPI协议,该串口可以根据设计者的不同需求进行配置,使用非常灵活。javascript:window.open(this.src);" style="cursor:pointer;"/>它的主要特点如下:全双工的串行通信;连续的发送和接收数据流功能;具有外部时钟输入或内部可编程时钟两种时钟控制方式;可独立编程的发送和接收帧同步;多通道数据传输(最多可达128个通道);可选的数据宽度:8、12、16、20、24或32位;用于数据压缩的μ律和A律压缩扩展;可编程的时钟和帧同步极性。
McBSP包括6个引脚,分别是串行数据发送信号DX、串行数据接收信号DR、发送时钟信号CLKX、接收时钟信号CLKR、发送帧同步信号FSX和接收帧同步信号FSR。由于McBSP内带有一个可编程的采样和帧同步时钟产生器,所以串口接收、发送时钟和帧同步等信号既可由内部产生,也可以由外部输入。
VC5402的McBSP由23个寄存器进行控制,除了少数几个不能由程序访问之外,一般在串口进行数据通信之前都要对它们进行初始化,部分寄存器是存储器映射寄存器,必须通过子地址的方式进行访问。要访问McBSP的这些寄存器,首先要把所要访问的寄存器的子地址写到子地址寄存器SPSA中,然后才能对数据寄存器进行访问。
McBSP接收和发送数据的过程如下:在发送数据时,首先将要发送的数据写到DXR寄存器中,若XSR寄存器为空(说明上一次发送的数据已经由DX引脚送出),则将DXR寄存器中的数据拷贝到XSR寄存器中;然后在帧同步FSX和时钟CLKX的作用下,将XSR寄存器中的数据逐位移到DX引脚输出。在数据从DXR寄存器复制到XSR后,就可以将下一个要发送的数据写到DXR寄存器中,因而可以保证数据的连续发送。串口接收数据的过程与发送基本类似,但方向相反且VC5402的多通道串口的接收带三个缓冲器。
在VC5402片内,CPU与McBSP之间的数据传送有三种方式查询方式、中断方式和DMA方式。每当串口接收到一个字(新接收的数据复制到DRR12寄存器中)或发送的字从DXR寄存器拷贝到XSR寄存器中时,都会改变串口控制寄存器1(SPCR1)中的RDDY和串口控制寄存器2(SPCR2)中的XRDY标志位,所以CPU可以通过不断查询的方法知道数据是否发送完毕以及是否接收到新的数据,从而决定下一步操作。CPU还可以通过串口的接收或发送中断事件,在中断服务程序中完成数据的传送,中断的触发事件是可以选择的,在进行处理之前必须预先设置好串口控制寄存器1(SPCR1)和串口控制寄存器2SPCR2中相应的位。第三种传数方式就是通过芯片的DMA与串口相连,由串口同步事件触发DMA完成数据的传送。
McBSP的初始化主要完成串口的配置,接收和发送可以分别设定,但要结合具体的硬件设计来进行。串口初始化的主要工作如下设定FSR、FSX、CLKX和CLKR为输入还是输出以及它们的极性;设定是单相位还是双相位帧同步;设定每帧所包含的数据个数;设定传输数据的字宽(若为双相位帧同步,每一相位对应的字宽可设为不一样);设定第一个帧同步之后的帧同步是否被忽略;设定数据位的延迟;设定数据的符号扩展方式;设定所选择的传输通道;若采用内部产生时钟和帧同步信号,还需要对时钟和帧同步产生器进行设置。
2 串行A/D转换器AD73360
AD73360是AD公司推出的6通道模拟输入的16位串行可编程A/D转换器。由于采用Σ-Δ A/D转换原理,具有良好的内置抗混叠性能,所以对模拟前端滤波器的要求不高,用一阶RC低通滤波器就能满足要求。由于其采样率和输入信号增益都是可编程的,采样率可分别设置为64K、32K、16K和8K(输入时钟为16.384MHz时)增益可在0dB到38dB之间选择,因而它既适合于大信号的应用,也适合于小信号的应用。AD73360能保证6路模拟信号同时采样,且在变换过程中延迟很小。AD73360还能多片级联使用,从而扩充模拟输入的通道数。
AD