1 AD73322AR的性能特点
AD73322AR是AD公司的一款具有双ADC和双DAC的转换芯片。其输入/输出采样率以及通道增益可编程控制,最高采样速率可达64 kHz,而且功耗低,在工作电压为3.3 V时,其典型功耗为73 mW。
AD73322有两个16位的D/A通道和两个16位的A/D通道,每个通道在语音信号频带内都有77dB的信噪比,而且每个通道分别包含一个增益链路,通道的最高可编程增益分别为38 dB和21 dB。AD73322AR的每个ADC都包括一个模拟的sigma-delta模块和一个数字抗混叠滤波器,其中Sigma-delta模块可对信号噪声成型并生成DMCLK/8的采样位流。这个位流表示模拟输入信号,可输入到抗混叠滤波器中。数字抗混叠滤波器是一个梳状低通滤波器,可滤除高频成形噪声。它也提供了一个可编程片上参考电压,以允许单电源工作。
AD73322AR带有一个串行口,允许单个或多个AD73322AR芯片与工业标准的DSP接口。由于其串行口的传输速率可编程,因而可与快速或慢速DSP接口。
事实上,AD73322AR的采样率也可编程控制,在主时钟为16.384 MHz时,它可提供64 kHz、32 kHz、8 kHz的采样率。它的时钟分频电路可将外部主时钟(MCLK)分频为内部主时钟(DM-CLK),并由内部控制寄存器CRB中的三位(CRB:6~4)控制,且具有MCLK/(1,2,3,4,5)等5种选择。位同步时钟SCLK则由内部控制寄存器CRB中的两位(CRB:3~2)控制,它有DMCLK/(1,2,4,8)等4种选择;帧同步时钟由内部控制寄存器CRB中的两位(CRB:1~0)来控制,有DM-CLK/(256,512,1024,2048)等4种选择。AD73322共有8个内部控制寄存器,其中CRA用于设置芯片的工作模式、芯片的级联个数以及是否使用软件复位;CRC可控制芯片内部的ADC部分、DAC部分以及参考电压部分电路是否上电,以根据系统整体需要来降低芯片功耗;CRD用来设置芯片内部输入输出放大器的增益,CRE用来控制D/A转换通道的群延迟;CRF则可控制模拟通道的可编程增益;CRG、CRH用于控制数字可编程增益。
AD73322有五种工作模式:数据模式、程序模式、数据/程序混合模式、数据环路模式以及串口环路模式,其中前三种是工作模式,后两种为调试模式。在程序模式,可以对芯片的控制寄存器组进行配置,此时送给AD的16位数据被认为是控制字;在数据模式,串行口输入的是16位D/A转换数据,输出的是16位A/D转换的数据。要注意的是,一旦进入数据模式,就不能再获取控制信息,而会永远处于这一模式,除非重新启动或硬件复位。在混合模式,送给AD73322的16位码字可能是D/A转换的数据,也可能是控制字,通常由此码字的最高位MSB来标识这个码字是控制字还是转换数据。在此模式下,系统可根据运行状况来改变AD73322的状态,如模拟放大器和数字放大器的放大倍数等。
2 TMS320C5402的MCBSP串行接口
TMS320C5402是TI公司推出的一款定点数字信号处理器,它提供有两个高速、全双工、多通道缓冲串口(MCBSP),可用来与系统中的其他器件、编码解码器、串行模/数(A/D)变换器以及其他串行器件接口。MCBSP串口是在标准同步串口基础上的功能扩展,它可提供强大的同步串口通信机制,并具有收发双缓冲结构,允许数据连续传送。每个串口最多可支持128通道,串行字长度可选(包括8、12、16、20、24和32位),同时支持μ-Law和A-Law数据压缩扩展,并可以选择LSB或MSB为起始位,另外,使用外部时钟还是内部时钟作为帧同步和数据时钟也可编程,同时,由于内部时钟和帧同步脉冲的产生可编程,帧同步脉冲和时钟信号的极性可编程,数据传输时帧同步后数据出现是否需要延迟以及延迟的时间长度可编程,因此,该方法具有极强的灵活性。
选用MCBSP口可通过6个引脚与其他外围设备实现数据交换。其中DX用于发送数据,DR用于接收数据,CLKR为接收时钟信号,CLKX为发送时钟信号,FSR为接收帧同步信号,FSX为发送帧同步信号。该串行口由16位数据接收寄存器(DRR)、数据发送寄存器(DXR)、接收移位寄存器(RSR)、发送移位寄存器(XSR)以及控制电路所组成。
每个MCBSP串行口均包括16个映射到DSP数据空间的寄存器,通过向这些寄存器写入适当的数据,可以实现对MCBSP接口工作状态的控制。MCBSP接口工作控制的主要内容包括:时钟的产生、帧同步信号的产生、每帧中包含数据路数的选择、每帧中包含数据位数的选择以及中断和事件的触发信号等。
在发送数据时,应先将要发送的数据写到DXR。若XSR是空的,则将DXR中的数据复制到XSR,然后在FSX和CLKX的作用下,将XSR中的数据移到DX引脚输出。一旦DXR中的数据赋值到XSR,就可以立即将另一个数据写到DXR。当DXR中的数据刚复制到XSR后,串行口控制寄存器中的发送准备好位(XRDY)将立刻由0变为1,并随即产生一个串行口发送中断(XINT)信号,以通知CPU可以对DXR重新加载。
接收数据时,可将来自DR引脚的数据在FSR和CLKR的作用下移位至RSR,然后复制到DRR,以便CPU从DRR中读出数据。一旦RSR中的数据复制到DRR,串行口控制寄存器中的接收数据准备好位(RRDY)将立即由0变1,随后将产生一个串行口接收中断(RINT)信号,以通知CPU可以从DRR中读取数据。
发送和接收过程中所使用的FSR、CLKR、FSX、CLKX可以选择由内部时钟分频器产生,也可以由外部设备驱动。
3接口设计
3.1硬件接口设计
AD73322与TMS320C5402连接时,SCLK、SDO、SDOFS、SDI和SDIFS应分别与DSP的串行时钟、接收数据、接收帧同步、发送数据和发送帧同步相连。SE引脚应由一个并行输出管脚或标志输出管脚来控制,这里选用DSP上电即为高电平的XF。RESET引脚必须与系统硬件复位结构相连或由专门的控制线控制。如果将RESET引脚与系统硬件复位结构相连,那么,AD73322应工作在混合模式下,并应允许软件复位,否则将无法复位此芯片。本设计采取硬件复位方式,并使用DSP的XF位同时控制芯片复位和芯片工作。图1所示是该系统的硬件接口电路。
3.2软件接口设计
系统上电之后.首先应对DSP的一些关键寄存器(PMST、BSCR等)进行初始化,以便为中断处理和SRAM的读取做准备工作,然后对MCBSP口进行配置。本设计中的MCBSP口工作在从模式下,时钟信号和帧同步信号都由AD73322提供,每帧包含1路数据,每帧中的数据位数为16位,发送和接收中断分别由发送帧同步和接收帧同步触发,帧同步上升沿有效,接收到帧同步信号以后.延迟一位数据并从下一时钟信号的上升沿开始对数据进行采样。在完成对MCBSP口的初始化以后,应再开启串口中断,然后向AD73322发送控制命令以完成对它的初始化。图2所示为软件接口流程图。
来源:电子元器件应用