王朝网络
分享
 
 
 

TLC320AD50C在DSP系统中的应用与设计

王朝厨房·作者佚名  2007-01-04
宽屏版  字体: |||超大  

西北工业大学 谢奕胜 向平

前言

DSP是一种适合于实时数字信号处理的微处理器,主要用于实时快速地实现各种数字信号的处理算法,如数字滤波、变换、增强、压缩、估计、识别等。DSP自20世纪80年代诞生以来得到迅速的发展,广泛用于通信、控制、军事等领域。在 DSP的应用中,数据的采集、信号处理及重建是DSP应用系统的重要任务。本文介绍TMS320C54X与 - 型A/D、D/A转换芯片TLC320AD50C的工作原理、硬件接口以及软件设计。

TMS320C54X DSP的串口简介

在TI的DSP中,串行口是一个非常重要的片上外设,它能够高速地与外部设备进行数据交换。TMS32054X DSP随着器件不同,有多种接口,都能与TLC320AD50C直接接口。下面以TMS320C5409 DSP为例,简要叙述McBSP串口的工作原理和应用要点。

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读取数时,也接入所制定的内嵌数据存储器。

TLC320AD50C 简介

随着数字技术的不断发展,介于模拟与数字电路之间的芯片的使用也越来越多。美国TI公司的TLC320AD50C(以下简称AD50)就是一种具有许多优良特性的模拟接口电路芯片,该芯片可广泛用于各种电路,尤其是应用在DSP领域中。AD50芯片采用过采样 - 技术,可进行A/D和D/A的高分辨率、低速信号转换。该器件同时还包括两个串行同步转换电路(用于各自的数据方向),在DAC之前有一个内插滤波器,而在后面有一个抽取滤波器。AD50中的可选项和电路配置可以通过串行口进行编程, AD50配置位可进行软件编程,该器件中共有七个数据和控制寄存器可供使用。其用途如下:

寄存器0:空操作(No-Op)寄存器。寄存器1:Control1寄存器。该寄存器用以控制软件复位、软件掉电、选择正常或辅助模拟输入、数字反馈的选择、DAC的16位或15位工作方式的选择、监视放大器输出增益的选择及硬件或软件二次通信请求方式的选择等。寄存器2:Control 2寄存器,用于控制一个抽取FIR滤波器溢出的输出标志、FLAG的输出值、ALT-DATA输入端使能、为ADC选择16位方式或15位方式及使能模拟反馈。寄存器3:Control 3寄存器。它控制FS与FSD之间延迟SCLK的个数;通知主器件有多少从器件将连在一起。寄存器4:Control 4寄存器,用来控制输入输出放大器增益,采样率为fs=MCLK/(128 N)或MCLK/(512 N)的选择,以及在MCLK输入端使能外部采样时钟和旁路内部PLL等。寄存器5和寄存器6:保留寄存器,用于工厂测试。

TLC320AD50C 与外界串行通信可以分为首次通信和二次通信。在首次通信中,有两种数据传送模式,16位传送模式和15+1位传送模式,可通过控制寄存器设定。默认情况下为15+1位传送模式。若采用15+1位传送模式,其最低位DO为非数据位,输入DAC数据的DO位为二次通信请求位,输出ADC数据的D0位为M/S脚的状态位。二次通信只有在发出请求时产生,当首次通信采用15+1位模式时,可以进行二次通信请求;当首次通信采用16位模式时,则必须由FC脚输入信号来产生二次通信请求。二次通信数据格式如图1所示,其中D7-D0为控制寄存器数据,D12-D8为控制寄存器地址,D13=1为读控制寄存器数据, D13=0对控制寄存器写数据。通过二次通信,可实现TLC320AD50C初始化和修改TLC320AD50C内部控制寄存器。在 TLC320AD50C内部有5个可供二次通信访问的控制寄存器,其中4个寄存器和TLC320AD50C初始化及配置有关。其功能如表1所示。

硬件设计

在应用中,将TLC320AD50C接至DSP的同步串口,并将TLC320AD50C设置在主动工作模式下,即由TLC320AD50C提供帧同步信号和移位时钟,另外不同型号的DSP的管脚电压可以为3.3V或者5V。因此,可以根据DSP 的电源特性为TLC320AD50C选择3.3V或5V的数字电,以实现管脚的直接连接。通过将多个TLC320AD50C串行连接,并将第一个 TLC320AD50C设置成主动工作模式,而其他TLC320AD50C设置成从设备方式,以实现多TLC320AD50C和DSP的相连。

图1 给出TMS320C54X与TLC320AD50C硬件接口电路,假设DSP的管脚电压为3.3V,因而将TLC320AD50C的数字电接到3.3V电源,管脚M/S经过10K电阻上拉,将TLC320AD50C设置成主动工作模式,选择INP和INM作为ADC的输入,将AUXP和AUXM接至模拟地;DAC的正相输出经过一阶低通滤波后送给模拟设备,反相输出不用;DSP可以通过通用输出口XF对TLC320AD50C进行复位操作;管脚FC接地,系统只能采用软件方式申请触发辅助通信(二次通信)模式;数据格式为15+1比特模式,管脚FSD可以输出到后面的TLC320AD50C 的FS管脚,以实现设备的同步。输入主时钟MCLK为8.192MHz,采样频率选择为8KHz,内部PLL使能(控制寄存器4中的N=8)。通过寄存器设置,将TMS320C54X的FSX,FSR,CLKR,CLKX配置为外部输人,TLC320AD50C的SCLK配置为内部产生。这样数据接收/发送帧同步信号、移位时钟信号均由TLC320AD50C产生。串行口的接收/发送过程受TLC320AD50C的控制。

软件设计

相关软件设计大致可分为串口McBSP设置和外部芯片TLC320AD50C设置。

串口McBSP设置应该先让串口的XRST=0,RRST=0, GRST=0使串口处于初始化状态,然后给控制寄存器设置设计的状态位,如SRGR、SPCR、 PCR、 XCR、 RCR等。但要注意的是,这里不能改变XRST=0,RRST=0 GRST=0位,最后是让XRST=1,RRST=1,FRST=1使串口退出复位状态。

TLC320AD50C设置通过辅助通信来读写控制寄存器,辅助通信有两种方法实现,一是硬件方式,FC必须在FS的上跳沿被拉高,这样

TLC320AD50C 会在后128个SCLK后切换到辅助通信模式下,二是软件方式,要用软件方式必须是工作在15+1位模式下,当写入的数字D0位为1,则可以在后128个 SCLK后切换到辅助通信模式下。对控制器的写的数据通过DIN进入TLC320AD50C,寄存器的数据从DOUT输出,访问寄存器时要求指明设备号、读写属性、寄存器地址。下面给出的分别是串口初始化以及LC320AD50C初始化的部分关键代码。 .include "const.inc" ;串口初始化数据表,表中每项包括寄

存器子地址,和对应的设置值

.include "init54.inc" ;初始化DSP内设的常数表文件

.include "vector.inc" ;中断向量表文件

.mmregs ;映射控制器物理地址

MCBSP_INIT: ;MCBSP_INIT 是初始化串口McBSP

;SPSA和SPSD的地址是连续的。所

以可以用辅助寄存器来访问,简化代码

stm 0,SPSA0 ;reset mcbsp0 spcr1

nop

stm K_SPCR10_RS,SPSD0 ;K_SPCR10_RS为const.inc 文件定义好的常数

nop

stm 1,SPSA0 ;spcr2

nop

STM K_SPCR20_RS,SPSD0

stm #MCBSP0_CONST,AR2 ;MCBSP0_CONST为const.inc数据表的首地址

stm #SPSA0,AR3

stm #(15-1),BRC ;共有14个寄存器要设置,采用指针循 环切换方式实现

rptb LOOP-1

ld *AR2+,A ;AR2指向数据表中的数据首地址,然后地址递增

stl A,*AR3+ ;AR3指向SPSA0,然后指向SPSD0,再回指SPSA0.

nop

ld *AR2+,A

stl A,*AR3-

nop

LOOP:

stm 0,SPSA0 ;退出复位状态

nop

stm K_SPCR10_RS|1,SPSD0

nop

stm 1,SPSA0

nop

STM K_SPCR20_RS|1,SPSD0

nop

WAIT #100

ret

AD50C_INIT: ;TLC320AD50C初始化

ld #K_Register1,B

call ADDA_SET ;调用ADDA_SET函数块

ld #K_Register2,B

call ADDA_SET

ld #K_Register4,B

call ADDA_SET

RET

ADDA_SET: ;ADDA_SET函数块,实现一次主通信,

一次辅助通信,然后返回到正常模式

stm #1,DXR10

WAIT_1INT:

ld *(serial_int_flag),A ;读取中断标识

nop

nop

nop

bc WAIT_1INT,AEQ ;等待中断

st #0,*(serial_int_flag) ;中断标识清空

stlm B,DXR10

WAIT_2INT:

ld *(serial_int_flag),A

nop

nop

nop

ADD #1,A

bc WAIT_2INT,AEQ

st #0,*(serial_int_flag)

RET

结束语

本文介绍了利用TMS320C54X的同步串行接口与TLC320AD50C之间通信的方法,介绍了AD50与DSP串口通信的硬件接口及软件。可以看出,此接口电路简洁,编程方便,可实现高精度A/D、D/A转换,可以对语音信号进行无失真采样,完全能满足后续语音信号处理的要求,与DSP接口简单,高性能,低功耗,已成为当前语音处理的主流产品,广泛应用在音频处理,语音增强,语音安全,回声抵消,VoU等电话或语音应用领域。

本文摘自《世界电子元器件》

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有