微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > TLV2544/2548多通道12位串行A/D转换器的原理与应用

TLV2544/2548多通道12位串行A/D转换器的原理与应用

时间:08-31 来源:互联网 点击:

0111b7000h选择模拟通道7N/A
1000b8000h选择模拟通道8SW电源跌落(模拟+参考)
1001b9000h读CFR寄存器数据到SDO D(11~0)
1010bA000h plus data将低12位数据写CFR
1011BB000h测试选择,电压为(REFP+REFR)/2
1100bC000h测试选择,电压为REFM
1101bD000h测试选择,电压为REFP
1110bE000hFIFO读,将FIFO内容送SDO D(15~4),D(3~0)=0000
1111bF000h plus data保留

如果前高4位输入数据被译码为转换命令之一,那么采样周期开始。一般有两种采样方式:正常采样和扩展采样。正常采样实际上是采用软件启动A/D变换方式,当 A/D转换器正常采样时,采样周期是可编程的,它可以是12SCLKs(短周期采样)或24SCLKs(长周期采样)。当SCLK高于10MHz或输入源电阻较高时,长周期采样可使被采样的输入模拟信号达到0.5LSB的精度。如果正常采样达不到所要求的A/D变换精度,则应采用扩展采样,扩展采样采用硬件启动A/D变换,在引脚CSTART输入一个宽度大于800ns的负脉冲信号后,A/D转换开始。CSTART的下降沿即为采样周期的开始,CSTART的上升沿是采样周期的结束和转换的开始。

3 TLV2544的转换模式

TLV2544 具有四种转换模式,分别为:单次模式、重复模式、扫描模式和重复扫描模式。可用模式00、01、10、11表示。每种模式的工作稍有区别,这取决于转换器如何采样和采用哪一种接口。转换的触发信号可以采用有效CSTART(扩展采样)、CS(正常采样、SPI接口)或FS(正常采样,TMS320系列 DSP接口)模式。当FS用作触发信号时,CS可保护一直有效而不需要通过触发顺序跳转。不同类型的触发信号不应在重复模式和扫描模式中混合使用。当 CSTART用作触发信号时,转换开始于CSTART的上升沿。如果一个有效CS或FS用作触发信号,则转换将在第16个或第28个SCLK的边沿开始。

TLV2544/2548 的工作时序分为二大类:转换和无转换。无转换周期为读和写周期(配置),这些周期都不执行转换,而转换周期有四种转换模式的周期,图3、图4分别给出了 TLV2544/2548的CFR写周期(FS=1)和模式00时单次扩展采样(使用FS信号,FS脚连至TMS320系列DSP)时序图。

另外,TLV2544/2548还具有一个内置基准,其电平可编程为2V或4V。如果采用内部基准,REFP就被设为2V/4V,而REFM则设为0V。如果基准源编程为外部,那么也可通过两个基准输入脚REFP和REFM使用外部基准。模拟输入、外部基准的最大或最小值不应超过正电源或低于GND。正输入信号等于或高于REFP时,数字输入为满度,而在输入信号等于或低于REFM时为零。

器件的上电和初始化要求先通过向TLV2544/2548写入A000h的方法确定处理器的类型,然后对器件进行编程。器件在上电后或从断电方式中恢复后的第一次转换无效。

4 应用

TLV2544 和微处理器之间的数据传输最快和最有效的方法是用串行外设接口(SPI),但这要求微带有SPI接口能力。对不带SPI或类似接口能力的微处理器,需用软件合成SPI操作来和TLV2544连接。图5为TLV2544和单片机AT89C2051的接口电路,因为是与微处理器连接,所以不用FS端(接至高电平)。该电路采用内部基准,REFP与REFM之间接0.1μF和10μF两个退耦电容。TLV2544的SDI、SCLK、EOC/INT、CS端由单片机的双向I/O口中的P1.3、P1.4、P1.5和P1.6提供。转换结果的输出(SDO)数据由口1的P1.2接收。电路使用扩展采样方式, CSTART端接P1.7,通过硬件来控制采样与转换。其接口软件由一个主程序和一个子程序组成。主程序首先对P1口初始化,后对TLV2544进行编程以确定的工作方式。子程序“SPI-IO”用来模拟SPI的I/O操作,SPI功能用累加器A和带进位的左循环移位指令(RLC)模拟SPI移位寄存器的操作来实现。程序如下:

ORG 0000H

AJMP START

ORG 0030H

START:MOV P1,#0FFH

MOV P3,#0FFH

CLR EA

CLR ET1

CLR P1.4

SETB P1.6

CONFIG:MOV R1,#0A0H

ACALL SPI_IO

MOV R1,#00H

ACALL SPI_IO

SETB P1.6

MOV R1,#10101000B;

ACALL SPI_IO

MOV R1,#00000000B

ACALL SPI_IO

SETB P1.6

S/R:MOV R1,#ACALL SPI_IO

RESULT

MOV R1,#00H

ACALL SPI_IO

MOC R3,A;LOW BYTE RESULT

SETB P1.6

NOP

CLR P1.7/CSTART LOW,START SAMPLING

MOV R6,#08H

DELAY:NOP

NOP

NOP

DJNZ R6,DELAY

SETB P1.7;

JB P1.5,$;/INT

SETB P1.6

?

?对转换结果的处理

?

AJMP S/R

SPI_IO;CLR P1.6

CLR P1.4

MOV R0,#08H

MOV A,R1

SPI_IO1:MOV C,P1.2

RLC A

MOV P1.3,C

SETB P1.4

CLR P1.4

DJNZ R0,SPI_IO1

RET

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top