VC5402芯片AD和DA转换接口的设计DOC.docx
《VC5402芯片AD和DA转换接口的设计DOC.docx》由会员分享,可在线阅读,更多相关《VC5402芯片AD和DA转换接口的设计DOC.docx(18页珍藏版)》请在冰点文库上搜索。
VC5402芯片AD和DA转换接口的设计DOC
摘要
DSP是一种适合于实时数字信号处理的微处理器,主要用于实时快速地实现各种数字信号的处理算法。
在许多应用系统中,为了应用DSP卓越的数字信号处理能力,我们必须先将模拟信号进行数字化(A/D转换),再对采样数据进行相应的算法处理,最后经过数字信号模拟化(D/A转换)后输出。
TMS320VC5402是TI公司生产的一种性能价格比较高的16位定点DSP。
它的指令周期为10ns,具有运算速度快、通用性强、接口连接方便等特点,尤其适合在语音编码和通信中应用。
TLC320AD50C是TI公司生产的Σ-Δ型A/D、D/A音频接口芯片,为V3.4调制解调器以及音频应用提供了通用的模拟接口,可以直接与TMS320VC5402相连。
本文介绍TMS320C54X与 - 型A/D、D/A转换芯片TLC320AD50C的工作原理、硬件接口以及软件设计。
关键词:
DSPTMS320VC5402TLC320AD50C接口芯片
摘要I
1设计概述1
2芯片介绍2
2.1TMS320VC5402简介2
2.2TMS320VC5402串口简介3
2.3TLC320AD50C概述3
2.4TLC320AD50C特点4
2.5TLC320AD50C引脚及功能框图介绍6
3系统硬件设计8
3.1整体系统框图设计9
3.2电源模块和复位模块9
3.3时钟电路模块11
3.4TMS320VC5402的存储空间扩展11
3.5TLC320AD590C与TMS320VC5402接口电路12
4系统软件设计13
4.1AD50的控制时序15
4.2程序流程图17
4.3部分程序代码17
5心得体会19
参考文献21
1设计概述
通常,一个典型的DSP系统应包括抗混叠滤波、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等,其组成框图如图1-1所示。
在许多应用系统中,为了应用DSP卓越的数字信号处理能力,我们必须先将模拟信号进行数字化(A/D转换),再对采样数据进行相应的算法处理,最后经过数字信号模拟化(D/A转换)后输出。
在这些DSP应用系统中的关键问题是怎样十分容易和高效地实现这些转换,因此必然涉及到接口电路的设计。
本文介绍一种单片内集成了ADC通道和DAC通道的模拟接口电路TLC320AD50C(以下简称AD50)与TMS320VC5402缓冲串口的接口的设计实现方法,然后,基于这种接口电路的硬件设计,通过软件编程实现信号的采集与回放。
图1-1典型的DSP数据处理系统框图
2芯片介绍
2.1TMS320VC5402简介
TMS320VC5402是TI公司生产的从属于TMS320C54x系列的一个工作灵活、高速、具有较高性价比、低功耗的16位定点通用DSP芯片。
其主要特点包括:
采用改进的哈佛结构,1条程序总线(PB),3条数据总线(CB、DB、EB)和4条地址总线(PAB,CAB,DAB,EAB),带有专用硬件逻辑CPU,片内存储器,片内外围专用的指令集,专用的汇编语言工具等。
TMS320VC5402含4K字节的片内ROM和16K字节的双存取RAM,1个HPI(HostPortInterface)接口,2个多通道缓冲单口MCBSP(Multi-ChannelBufferedSerialPort),单周期指令执行时间10ns,双电源(1.8V和3.3V)供电,带有符合IEEE1149.1标准的JTAG边界扫描仿真逻辑。
TMS320VC5402有两个McBSP多通道缓存串行口。
图2-1TMS320VC5402引脚图
2.2TMS320VC5402串口简介
McBSP提供了全双工的通信机制,以及双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输,数据长度可以为8、12、16、20、24、32;同时还提供了A-律和μ-律压扩,多达128个通道的发送和接收。
McBSP串口由数据通道和控制通道组成,它通过7个管脚与外部设备相连,数据发送通过DX,数据接收通过DR,串行口的控制信息从CLKX、CLKR、FSX和FSR获得。
CLKS为外部时钟源。
CPU和DMA控制器通过内部外设总线对McBSP进行访问,从数据接收寄存器DRR[1,2]中读取数据,往数据发送寄存器DXR[1,2]写数据,数据从DR引脚进入DSP,首先存放在接收移位寄存器RSR[1,2]中,当一个完整的字接收完毕后,结果被复制到接收缓冲寄存器RBR[1,2],最后再由RBR[1,2]复制到DRR[1,2]中,供CPU或DMA控制器访问。
写操作与读取相仿,从结构上来看,发送和接收部分是相对独立的,所以可以实现全双工通信。
McBSP的控制设置通过一对寄存器读写来完成,这些控制寄存器控制的工作模式或指示串口的状态信息。
访问某个指定的寄存器时,首先要将相应的控制寄存器的子地址写入子地址控制器SPSA,SPSA驱动复接器,使之与数据控制寄存器SPSD相连。
接入相应子地址寄存器所在的实际物理存储位置,当向SPSD写入数据时,数据送入前面子地址寄存器所指定的内嵌数据存储器,当从SPSD读取数时,也接入所制定的内嵌数据存储器。
2.3TLC320AD50C概述
TLC320AD50C使用过采样的Σ-Δ技术提供从数字至模拟(D/A)和模拟至数字(A/D)的高分辨率低速信号转换。
该器件包括两个串行的同步转换通道(用于各自的数据方向);在DAC之前有一个插入滤波器(interpolationfilter)和ADC之后有一个抽取滤波器(decimationfilter)。
其它的高级功能有片内时序和控制。
Σ-Δ结构在低系统速度和低价格下产生高分辨率的模数和数模转换。
该器件的选项和电路结构可通过串行接口进行编程。
其选项包括:
复位、掉电、通信协议、串行时钟率、信号采样率、增益控制及测试方式等。
TLC320AD50C的工作温度范围从0℃~70℃。
2.4TLC320AD50C特点
●单5V电源供电或5V模拟、3V数字电源
●工作方式时功耗(PD)100mW(最大)
●硬件掉电方式时功耗2.5mW
●通用16位信号处理
●2的补码数据格式
●动态范围91dB(典型)
●ADC总的信号/(噪声+失真)88dB(最小)
●DAC总的信号/(噪声+失真)85dB(最小)
●全部器件为差分结构
●内部基准电压(Vref)
●ADC为64倍过采样,而DAC为256倍过采样(内部)
●串行接口
●当二次通信(secondarycommunication)时ALTDATA端提供数据监视
●系统测试方式,数字反馈(loopback)测试和模拟反馈测试
●支持各种V.34采样速率
●支持商业级音响应用
●多种转换速率可选,如MCLK/(128×N)或MCLK(512×N)
●可以配置成主机或从机方式
●可以支持三个从机器件
●输入和输出增益控制
以下是一些定义和术语的解释。
DataTransferInterval(数据传送时间间隔),时间间隔是指在此时间内数据从DOUT传出和向DIN传入。
此间隔为16个移位时钟,数据传送由帧同步信号的下降沿启动。
SignalData(信号数据),信号数据包括输入信号通过ADC通道转换的结果以及通过DAC通道至模拟输出的返回(数据)。
这与纯数字软件控制的数据相反。
PrimaryCommunications(首次通信),首次通信是指数字数据传送时间。
因为器件是同步的,所以信号数据来自ADC通道和送至DAC通道是同时发生的。
SecondaryCommunications(二次通信),二次通信是指送入DIN的数字控制和配置数据传送时间,以及从DOUT寄存器读出数据的时间。
只有当硬件或软件要求时才产生数据传送时间。
FrameSync(帧同步),帧同步就是指启动数据传送时间间隔的信号的下降沿。
首次帧同步启动首次通信,二次帧同步启动二次通信。
FrameSyncandSamplingPeriod(帧同步和采样周期),连续的两个首次帧同步信号下降沿之间的时间。
FrameSyncInterval(帧同步时间间隔),16个移位时钟所占据的时间间隔。
在帧同步信号的下降沿之后,帧同步信号在SCLK的第16个上升沿时变为高电平。
ADCChannel(ADC通道),从模拟输入到DOUT端数字转换结果之间的全部信号处理电路。
DACChannel(DAC通道),在加至DIN端的数字数据字与OUTP和OUTM端可用的差分输出模拟信号之间的所有信号处理电路。
2.5TLC320AD50C引脚及功能框图介绍
DW和PT封装的AD50的引脚排列(顶视)如图2-2和2-3所示。
图2-2DW封装的TLC320AD50C的引脚排列图
图2-3PT封装的TLC320AD50C的引脚排列图
TLC320AD50C的功能方框如图2-4所示。
图2-4TLC320AD50C功能框图
3系统硬件设计
3.1整体系统框图设计
DSP作为主设备,AD50为从设备的连接图如下图所示。
图中AD50的时钟信号由5402的定时器0输出提供,时钟频率可以通过修改定时器0的设置而改变。
AD50的FC引脚连接到C5402的XF引脚,用于控制第二次串行通信。
AD50的DIN和DOUT分别连接C5402的缓冲串口0的DX0和DR0引脚。
AD50的SCLK连接C5402的CLKR0,帧同步信号FS连接C5402缓冲串口的FRX0。
图3-1系统总体框图
3.2电源模块和复位模块
TMS320C5402芯片的电源电压有3.3V和1.8V两种,其中3.3V电压供I/O接口用,1.8V电源主要供期间内部使用。
电源的产生一般由5V电源电压产生3.3V、1.8V,产生电源的芯片很多,如Maxim公司的MAX604和,MAX748,TI公司的TPS72x和TPS73x系列,这些芯片又分为线性和开关两种,在设计时应根据实际的需要,如果系统对功耗要求不是很高的情况下,可以使用线性稳压器。
复位电路一般有两种,一种是RC复位电路,另一种是采用集成自动监控复位芯片电路。
RC复位电路成本低,在一般情况下能够保证系统的正常复位,但其功耗大,可靠性差,当电源出现瞬态降落时,由于RC的相应速较慢,无法产生符合要求的复位脉冲,另外电阻和电容受环境温度的影响大,给设计也带来一些麻烦,所以我们采用性能全、价格低、可靠性高的集成自动监控复位芯片复位电路。
图3-2电源电路和复位电路
3.3时钟电路模块
一般TMS320C54x芯片的时钟电路有两种。
一种是利用芯片内部的振荡器电路与X1、X2/CLK引脚之间连接的一个晶体和两个电容组成并联谐振电路,如图3-3,它可以产生与外加晶体同频率的时钟信号。
电容一般在0~30pf之间选择,它们可以对时钟频率起到微调的作用。
另一种方法是采用封装好的晶体振荡器,将外部时钟源直接输入X2/CLK引脚,而将X1引脚悬空,如图3-3由于这种方法简单,一般系统设计都采用这种方案。
晶振我们一般采用20M晶振。
图3-3 时钟电路
3.4TMS320VC5402的存储空间扩展
TMS320VC5402的程序存储空间扩展RAM选用IS61LV6416,程序存储空间扩展FLASH选用AT29LV1024,数据存储空间扩展RAM选用IS61LV6416。
考虑到上电及复位时,引导的执行以及用户程序要存放到读取速度较快的外部程存RAM中,所以要设计程存空间和数存空间在转换的逻辑电路,即用DSP的XF外部标志输出引脚和非门74HC32来实现引导期间数据总线、地址总线在程存空间和数存空间的切换,具体电路如图3-4所示。
图3-4存储空间扩展电路
3.5TLC320AD590C与TMS320VC5402接口电路
DSP作为主设备,TLC320AD590C为从设备的连接图如下图所示。
图中AD50的时钟信号由5402的定时器0输出提供,时钟频率可以通过修改定时器0的设置而改变。
AD50的FC引脚连接到C5402的XF引脚,用于控制第二次串行通信。
AD50的DIN和DOUT分别连接C5402的缓冲串口0的DX0和DR0引脚。
AD50的SCLK连接C5402的CLKR0,帧同步信号FS连接C5402缓冲串口的FRX0。
图3-5TLC320AD590C与TMS320VC5402接口电路
4系统软件设计
一旦完成了正确的硬件连接,接下来就可以进行软件编程调试了。
要完成的工作包括:
(1)TMS320VC5402串口的初始化。
首先将DSP串口1复位,再对串口1的16个寄存器进行编程,使DSP串口工作在以下状态:
以SPI模式运行,每帧一段,每段一个字,每字16位,采样率发生器由DSP内部产生,帧同步脉冲低电平有效,并且帧同步信号和移位时钟信号由外部产生。
DSP给AD50C编程用查询方式,接收A/D转换的D信号和发送D/A转换的D信号用DMA方式。
(2)AD50初始化。
该初始化操作过程包括通过TMS320VC5402的同步串口发送两串16位数字信息到AD50。
第一串为0000000000000001B,最低有效位(bits0)说明下一个要传输的数据字属于二次通信。
第二个数据值用来对AD50的4个数据寄存器的某一个进行配置。
Bits15~11位为0,Bits10~8位为所选寄存器地址值,Bits7~0位为所选中寄存器的编程值。
4个用户可编程寄存器的描述如下:
R1中包含模拟输入通道选择,硬件、软件编程方式选择;R2进行单机、从机工作和电话模式(电话模式内容请参阅参考文献[3])选择;R3控制带从机个数选择;R4用来设置模拟信号可编程放大增益和A/D、D/A转换频率。
其它两个寄存器R5、R6是厂家留着测试用的,用户不可以对其编程。
我们在以下例程中对4个可编程寄存器编程,使AD50C工作在以下状态:
选择INP/INM为工作模拟输入,15+1位ADC和15+1位DAC模式,不带从机,采样频率为10.67KHz,模拟信号输入和输出放大增益均为0dB。
(3)用户代码的编写。
完成音频信号采集与回放代码的编制。
本设计给AD50编程用查询方式,接收A/D转换的D信号和发送D/A转换的D信号用DMA方式。
4.1AD50的控制时序
AD50C的ADC通道主通信时序图如图4-1所示。
图4-1ADC通道主通信时序图
AD50C的ADC通道主通信和次通信时序图如图4-2所示。
图4-2ADC通道主通信和次通信时序图
AD50C的DAC信号通道主通信和次通信时序图如图4-3所示。
图4-3DAC信号通道主通信和次通信时序图
控制寄存器1位功能表如图4-4所示。
另外还有控制寄存器2、3、4的功能表,此处不再一一叙述,他们的映象表如图4-5所示。
图4-5控制寄存器的映象表
4.2程序流程图
DSP串行口1初始化
DSP中断控制设置
复位AD50C
给寄存器2编程
开始接受A/D转化数据
给寄存器4编程
给寄存器3编程
给寄存器1编程
开始
结束
图4-6系统程序流程图
4.3部分程序代码
为了实现DSP与串口AD和DA转换的正常通信,首先要进行初始化DSP的串行口,在进行TLC320AD590C的初始化控制字,最后最后才可能实现正常通信。
程序如下
; -------McBSP 串行口初始化---------
STM #SRGR11_SUBADDR,SPSA1
STM #0000H,SPSD1
STM #SRGR21_SUBADDR,SPSA1
STM #0000H,SPSD1
STM #SPCR00_SUBADDR,SPSA1 复位串行端口
STM #SPCR21_SUBADDR ,SPSA1
STM #RCR11_SUBADDR,SPSA1 接收控制寄存器2配置
STM #0040H,SPSD1 接收帧长度为16位
STM #RCR21_SUBADDR,SPSA1;接收控制寄存器2子地址
STM #0040H,SPSD1 接收帧长度为16位
STM #XCR11_SUBADDR,SPSA1;接收控制寄存器1子地址
STM #0040H,SPSD1 接收帧长度为16位
STM #XCR21_SUBADDR,SPSA1;接收控制寄存器2子地址
STM #0040H,SPSD1 接收帧长度为16位 ;
-------TLC320AD50C初始化--------
STM #CONTRAL_RECEIWE,AR3
STM #CONTRAL_WORD,AR5
LD #0,DP
LD #15,A
SSBX INTM
STM #K_BXINT1,IMR;打开K_BRINT0和K_BXINT0中断
STM #(-K_BXINT1),IFR 清除标志
RSBX INTM INTM=0,打开所有中断
RPT #512 NOP
AD_DA:
LD *AR5,B
MVDD *AR5+,*AR3+ 发送数据
NOP
NOP
STLM B,DXR11
IDLE 1 等待串口中断
NOP
SUB #1,A
BC AD_DA,ANEQ 判断控制字是否发送完
NOP
NOP
SSBX INTM 控制字发送完后关闭所有中断
STM #0X0000,IMR
STM #0XFFFF,IFR
5心得体会
通过这次课程设计,我认识到了知识和实践的重要性,对dsp数字信号处理的知识又有了深刻的理解,在之前DSP的学习以及完成课后的作业的过程中,对其有了一些基础的了解和认识。
通过这次练习是我进一步了解了DSP信息处理的方法和它的系统构建。
以及其应用软件的基本命令和一些基础编程语言。
让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用ccs5000也可以很好的加深我对课程的理解,方便我的思维。
这次设计使我了解了提高了分析和动手实践能力。
同时我相信,进一步加强对DSP的学习与研究对我今后的学习将会起到很大的帮助。
只有牢固掌握了所学的理论知识,才能有清晰的思路,知道每一步该怎样走,才能顺利的解决每一个问题。
但在实际应用中还要更深入思考。
通过查阅书籍和上网搜索资料,我发现所说的基本上都是一样的,只有通过自己的实际操练,上机编程来验证,才能发现问题的所在,从而真正掌握知识技能。
两周的课程设计虽然结束了,但是在这期间所学的知识和老师的指导让我受益匪浅。
参考文献
[1] 支长义等.DSP原理及开发应用.北京:
北京航空航天大学出版社,2006.
[2] 苏涛等.DSP实用技术.西安:
西安电子科技大学出版社,2002.
[3] 刘益成.TMS320C54xDSP应用程序设计与开发.北京:
北京航空航天大学出版社,2002.
[4] 赵红怡.DSP技术与应用实例(第二版).北京:
电子工业出版社,2008.
[5] Rulph Chassaing.DSP Applications Using C and the TMS320C6x DSK.王华、张建.北京:
电子工业出版社,2005.
[6] 张雄伟等.DSP芯片的原理与开发应用.北京:
电子工业出版社,2000.
[7] 张雄伟等. DSP芯片的原理与开发应用[M].第3版.北京:
电子工业出版社,2003.