石涛,於辉
(桂林电子科技大学 广西 桂林 541004)
在应用DSP进行数字信号处理时,通常都要用采样电路对模拟信号进行采样,然后进行A/D转换器转换成数字信号再进行数据处理。这里给出一种由TLV1571与TMS320VC5410[1]组成的信号采集系统。
在DSP的外围电路中,A/D转换器比较重要。基于不同的应用,可选择不同性能指标和价位的芯片。一般的A/D转换器的选择主要考虑:转换精度、转换时间、转换器的价格。
这里选择了TI公司专门为DSP配套的一种10位的并行A/D转换器TLV1571,该器件给定的CLK频率达到的等效最大采样频率为(1/16)fCLK。
TLV1571的内部结构及引脚功能定义如图1及表1所示。
TLV1571采用2.7~5.5 V的单电源工作,能接受0~3.3 V的模拟输入电压,此时以625 Kb/s的速度使输入电压数字化。在5 V电压下,以最大1.25 Mb/s的速度使输入电压数字化[2]。该A/D转换器具有速度高,接口简单以及功耗低等特点,成为需要模拟输入的高速数字信号处理的理想选择。
上电后,必须为低电平以开始I/O周期,INT/EOC最初为高电平。TLV1571要求两个写周期以配置两个控制寄存器。从掉电状态返回后的首次转换可能无效,应当不予考虑。
TLV1571的控制寄存器格式如表2所示,它可以实现软件配置,其两个最高有效位D9和D8用于寄存器寻址,其余的8位用作控制数据位。在写周期内所有寄存器位同时写入控制寄存器,用户可配置两个控制寄存器CR0和CR1,对于控制寄存器 0(CR0),A1∶A0=00,其配置如表 3所示;对于控制寄存器 1(CR1),A1 ∶A0=01,其配置如表 4 所示。
表1 TLV1571引脚功能定义Tab.1 TLV1571 Pin functions
通过改变控制寄存器的控制字,可以选择TLV1571的工作方式。通过配置CR0.D5可以选择时钟源,对于时钟源的选择,有内部时钟和外部时钟,它的内部具有10 MHz振荡器。通过配置CR1.D6可以选择内置振荡器的工作速度,配置为(10±1)MHz或(20±2)MHz。 输出方式也有 2 种方式:二进制输出和补码输出。
在单通道输入方式下则CR0.D3=0,CR1.D7=0;采用软件启动方式则CR0.D7=1;采用内部时钟源则CR0.D5=0;内部时钟源振荡频率设置为20 MHz则CR1.D6=1;采用二进制输出方式,则CR1.D3=0。所以最终得到的控制寄存器控制字为:CR0=00C0H,CR1=0140H。在单通道软件启动时,最初由WR的上升沿启动采样,在RD的上升沿发生采样;在采样开始后的6个时钟周期后开始转换,INT方式时,每次转换后产生一个INT脉冲;EOC方式时,转换开始,EOC由高电平变至低电平,转换结束后换回高电平[3]。
TLV1571提供了3种自测方式。当采用这些自测方式的时候,不用提供外部信号便可检查A/D转换器本身工作是否正常。通过写CR1(D1、D0)来控制这3种自测方式,具体方法如表 5 所示[4]。 另外当 CR1.D2=1, CR1(D1、D0)=0 时,此时回输出写入CR0控制寄存器的控制字;当CR1.D2=1,CR1(D1、D0)=1时,此时回输出写入CR1控制寄存器的控制字,也可以用来测试和检验控制字是否正确写入控制寄存器及A/D转换器是否正常工作。
表2 控制寄存器格式Tab.2 Format of control registers
表3 控制寄存器CR0Tab.3 Control register CR0
表4 控制寄存器CR1Tab.4 Control register CR1
表5 TLV1571自测状态Tab.5 Self test status of TLV1571
TLV1571与TMS320VC5410的接口连接很简单,如图2所示。这个系统中没有采用硬件启动采样控制的方法,而是采用了软件启动的控制方法。时钟信号也是采用A/D转换器的内部时钟。如果需要外部时钟输入,可以由DSP提供一个精确而且可以根据需要控制变化的时钟信号。本设计采用查询方法来读取转换后的数据。另外在设计电路时要注意,当供电电压为3 V时,TLV1571提供的采样速度是625 ks/s,此时它的功耗为12 mW;当供电电压为5 V时,它提供的采样速度是1.25 Ms/s,功耗为35 mW。
图2 TLV1571和TMS320VC5410连接示意图Fig.2 Flow chart of connect TLV1571 and TMS320VC5410
在调试这个系统时,由于DSP外部的I/O空间的调试,基本上只涉及如何选通该空间,如何从外部空间取数据或读数据,如何和外部空间建立握手信号,但是要注意的是DSP与外围器件时序上的配合。特别是对于数据线信号的读取,当系统中有多个器件共享DSP数据线的时候,一定要处理好各个器件的时序配合。使处于非工作状态的器件的数据线处于高阻状态,以免影响正常工作的器件的数据读写。在对TLV1571调试过程中需要注意以下问题:1)必须将TLV1571的2个状态字正确地写入到A/D,可以在写入后读一次数据来确认写入数据的正确性,也可以采用循环写入方式利用示波器观察写入的两个脉冲信号,另外也可以用读出写入CRO、CR1控制寄存器控制字的方法来判断控制字是否正确写入了TLV1571的控制寄存器内,也可以判断器件是否正常工作;2)TMS320VC5410的读写信号只有一根地址线,所以需利用XF引脚控制TLV1571的读信号,且必须在DSP每次读入数据后,用软件控制XF引脚输出信号到TLV1571,否则A/D将不再采样。另外如果采用DSP定时中断来读取数据的时候,在设置定时中断时,中断间隔只要大于TLV1571工作频率所需采样周期数,可以不用查询的方法来读取EOC信号,而是直接读取采样数据,然后控制XF输出信号使它进行下一次采样工作;3)TLV1571不能采样负的电压信号,如果必须采样负的电压信号,可以人为引入一个直流信号,将负电压抬高到正电压,而DSP要在采样信号中减去引入的直流信号;4)为了验证采样信号是否正确,可以在CCS下画出所采样数据的时域图或频域图。
实验证明该系统可以满足一般高速实时信号的采样和处理工作,验证了在单通道下该系统可以达到最高1.25 Ms/s的采样速度,而且通过调整DSP定时中断时间可以方便的获得在该系统最大采样频率(1.25 Mb/s)以下的各种采样速度,可以灵活的满足多种应用。另外这个系统支持最多8路的高速实时数据信号采集,通过配置正确的A/D转换器控制字CR0、CR1就可以方便的调整输入信号的数量,而硬件电路不用改变。在实际的实验中,将这个系统制作成了一个最小系统,通过修改加入所需要的器件,可以将这个系统制作成各种需要专用的数据采集系统。
[1]戴明帧.TMS320C54XX DSPS的机构、原理和应用[M].北京:北京航空航天大学出版社,2001:46-90.
[2]TI.TLV1571datasheet[EB/OL].(2000-07-11)[2010-03-01].http://focus.ti.com.cn/cn/general/docs/lit/getliterature.tsp?genericPartNumber=tlv1571&fileType=pdf.
[3]汪安民.TMS320C54XX DSP实用技术[M].北京:清华大学出版社,2002: 17-86.
[4]戴明帧.数字信号处理的硬件实现[M].北京:航空工业出版社,1998:20-35.
[5]吴冬梅,张玉杰.DSP技术及应用[M].北京:北京大学出版社,2006:67-78.
[6]纪震,钟景春.DSP系统入门与实践[M].北京:电子工业出版社,2006:35-47.
[7]张勇,曾炽祥.TMS320C5000系列DSP汇编语言程序设计[M].西安:西安电子科技大学出版社,2004:54-73.