1引言
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。
2TLC2543的特点
(1)12位分辩率A/D转换器;
(2)在工作温度范围内10μs转换时间;
(3)11个模拟输入通道;
(4)3路内置自测试方式;
(5)采样率为66kbps;
(6)线性误差±1LSBmax;
(7)有转换结束输出EOC;
(8)具有单、双极性输出;
(9)可编程的MSB或LSB前导;
(10)可编程输出数据长度。
3TLC2543的引脚排列及说明
TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1。

图1TLC2543的封装
表1TLC2543引脚说明
引脚号
名称
I/O
说明
1~9,11,12
AIN0~AIN10
I
模拟量输入端。11路输入信号由内部多路器选通。对于4.1MHz的I/OCLOCK,驱动源阻抗必须小于或等于50Ω,而且用60pF电容来限制模拟输入电压的斜率
15

I
片选端。在
端由高变低时,内部计数器复位。由低变高时,在设定时间内禁止DATAINPUT和I/O CLOCK
17
DATAINPUT
I
串行数据输入端。由4位的串行地址输入来选择模拟量输入通道
16
DATA OUT
O
A/D转换结果的三态串行输出端。
为高时处于高阻抗状态,
为低时处于激活状态
19
EOC
O
转换结束端。在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平并保持到转换完成和数据准备传输为止
10
GND
地。GND是内部电路的地回路端。除另有说明外,所有电压测量都相对GND而言
18
I/O CLOCK
I
输入/输出时钟端。I/OCLOCK接收串行输入信号并完成以下四个功能:(1)在I/O CLOCK的前8个上升沿,8位输入数据存入输入数据寄存器。(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。(3)将前一次转换数据的其余11位输出到DATA OUT端,在I/OCLOCK的下降沿时数据开始变化。(4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位
14
REF+
I
正基准电压端。基准电压的正端(通常为Vcc)被加到REF+,最大的输入电压范围由加于本端与REF-端的电压差决定
13
REF-
I
负基准电压端。基准电压的低端(通常为地)被加到REF-
20
Vcc
电源
4接口时序
可以用四种传输方法使TLC2543得到全12位分辩率,每次转换和数据传递可以使用12或16个时钟周期。
一个片选(
)脉冲要插到每次转换的开始处,或是在转换时序的开始处变化一次后保持
为低,直到时序结束。
图2显示每次转换和数据传递使用16个时钟周期和在每次传递周期之间插入
的时序,图3显示每次转换和数据传递使用16个时钟周期,仅在每次转换序列开始处插入一次
时序。

图216时钟传送时序图(使用
,MSB在前)

图316时钟传送时序图(不使用
,MSB在前)
5TLC2543在智能仪器仪表中的应用
TLC2543是12位分辩率,与MAX186在功能上基本相同,但价格比MAX186低得多,因此TLC2543在便携式数据记录仪、医用仪器、电力检测仪表中具有广泛的应用。下面主要讲述TLC2543在电力监控显示屏中的应用。
在电厂和变电站中,电网中的电压和电流由于多种原因常常处于波动状态,为了给工作人员提供有效数据,并在超值范围内采取有效措施,监测电网中电压和电流值是非常必要的。该系统主要是采用TLC2543作A/D转换器,把电压和电流值转换成数字信号,GMS90C32作CPU,进行数字信号处理,PS7219作LED显示驱动器,把监测的电压和电流值显示出来,本文主要介绍TLC2543在电力监控显示屏中与单片机GMS90C32的接口部分,包括硬件和软件两部分。
5.1硬件
GMS90C××和GMS97C××系列是LGS公司的51系列单片机,这类单片机都不带SPI或相同的接口能力,为了和TLC2543模数转换器接口,需要用软件来模拟SPI的时序操作。图4是TLC2543和GMS90C××或GMS97C××的接口简图,TLC2543的I/O时钟、数据输入、片选
由并行双向I/O口1的引脚P1.0、P1.1、P1.3提供。TLC2543的转换结果数据通过口1的P1.2脚接收,通道选择和方式数据通过口3输入到微控制器。

图4TLC2543和GMS90C32接口
在设计制作时要注意如下三个问题:
(1)电源去耦
当使用TLC2543这种12位A/D器件时,每个模拟IC的电源端必须用一个0.1μF的陶瓷电容连接到地,用作去耦电容。在噪声影响较大的环境中,建议每个电源和陶瓷电容端并一个10μF的钽电容,这样能够减小噪声的影响。
(2)接地
对模拟器件和数字器件,电源的地线回路必须分开,以防止数字部分的噪声电流通过模拟地回路引入,产生噪声电压,从而对模拟信号产生干扰。所有的地线回路都有一定的阻抗,因此地线要尽可能宽或用地线平面,以减小阻抗,连线应当尽可能短,如果使用开关电源,则开关电源要远离模拟器件。
(3)电路板布线
使用TLC2543时一定要注意电路板的布线,电路板的布线要确保数字信号和模拟信号隔开,模拟线和数字线特别是时钟信号线不能互相平行,也不能在TLC2543芯片下面布数字信号线。
5.2软件
包括主程序和两个子程序“SET1”、“SET2”。主程序定义口1的I/O引脚方向:P1.2设置为输入端,P1.0、P1.1和P1.3设置为输出端。设定P1.3使TLC2543片选端为高,“SET1”被调用,这个子程序模拟SPI操作,在TLC2543和微控制器间交换数据。检测最低位前导(LSBF)标志,即通道选择/方式数据字节的位1,以决定转换结果的哪个字节最先传送,子程序“SET2”用于映射相应于所选择的特定通道的MSBYTE和LSBYTE到偶数或奇数的RAM地址。
程序清单如下:
ORG2000H
BEGIN:
MOVSP,#50H
;设置堆栈指针
MOVP1,#04H
;定义口1的输入和输出
CLRP1.0
;清I/O时钟
SETBP1.3
;设置片选
为高
MOVA,#0FFH
ACALLSET1
;调SET1子程序
ACALLSET2
;调SET2子程序
JMPBEGIN
;转到BEGIN
SET1:
MOVR4,P3
;读方式/通道数据
MOVA,R4
CLRP1.3
;设置片选
为低
JBACC.1,LSB
;如果A的位1为1,则先传送低字节
MSB:
MOVR5,#08H
;设置高4位计数器
LOP1:
MOVC,P1.2
;读转换结果
RLC A
;A寄存器的内容左移
MOVP1.1,C
;输出方式/通道字节
SETBP1.0
;设置I/O时钟为高
CLR P1.0
;设置I/O时钟为低
DJNZR5,LOP1
;不为0则返回LOP1
MOVR2,A
;把高字节放到R2
MOVA,R4
;把方式/通道控制字放到R2
JBACC.1,RETURN
LSB:
MOVR5,#08H
;设置低字节计数器
LOP2:
MOVC,P1.2
;读转换数据到C
RLC A
;A的内容到C
MOVP1.1,C
;输出方式/通道字节
SETBP1.0
;设置时钟为高
CLRP1.0
;设置时钟为低
DJNZR5,LOP2
;R5不为0,则返回LOP2
MOVR3,A
;把低字节反放到R3
MOVA,R4
;把方式/通道控制字放到R3
JBACC.1,MSB
;如果R4的位1为1,则传送高字节
RETURN:
RET
SET2:
MOVA,R4
;读方式/通道控制字
ANLA,#0F0H
;保留通道控制字
SWAPA
;A寄存器中的高4和低4位交换
MOVB,#02H
MULA,B
;A和B相乘
ADDA,#030H
;A的内容再加30H
MOVR1,A
MOVA,R2
MOV@R1,A
;把高字节的内容放到对应地址中
INC R1
MOVA,R3
MOV@R1,A
;把低字节的内容放到对应地址中
RET
END
参考文献
1TI模数/数模转换器数据手册(第一册).武汉力源电子股份有限公司,1998/04