|
A/D转换芯片TLC1543与STC89C52RC单片机接口电路设计
作者:武汉谷鑫科技有限公司 www.mcutech.cn
TLC1543是美国TI公司生产的多通道、低价格的模数转换器。采用串行通信接口,具有输入通道多、性价比高、易于和单片机接口的特点,可广 泛应用于各种数据采集系统。 TLC1543为20脚DIP封装的CMOS 10位开关电容逐次A/D逼近模数转换器,引脚排列如图1所示。其中A0~A10(1~9、11、12 脚)为11个模拟输入端,REF+(14脚,通常为VCC)和REF-(13脚,通常为地)为基准电压正负端,CS(15脚)为片选端,在CS端的一个下降沿变化将 复位内部计数器并控制和使能ADDRESS、I/O CLOCK(18脚)和DATA OUT(16 脚)。ADDRESS(17脚)为串行数据输入端,是一个4位的串行地址用来选择 下一个即将被转换的模拟输入或测试电压。DATA OUT 为A/D转换结束3态串行输出端,它与微处理器或外围的串行口通信,可对数据长度和格式灵活编 程。I/O CLOCK为数据输入/输出提供同步时钟,系统时钟由片内产生。芯片 内部有一个14通道多路选择器,可选择11个模拟输入通道或3个内部自测电 压中的任意一个进行测试。片内设有采样-保持电路,在转换结束时,EOC(19 脚)输出端变高表明转换完成。内部转换器具有高速(10μS转换时间),高 精度(10位分辨率,最大±1LSB不可调整误差)和低噪声的特点。
TLC1543是CMOS、10位开关电容逐次逼近模数转换器。这些器件有三个输入端和一个三态输出端(片选CS、输入/输出I/O CLOCK、地址输入ADDRESS和数据输出DATA OUT)这样就和主处理器的串行口有一个直接的4线接口。可以进行高速的数据传输。
除了进行高速的数据转换和通用的控制能力外,该器件有一个片内的14通道多路器,可以选择11个输入中的任意一个或3个内部自测试(self-test)电压中的一个。采样和保持是自动的。在转换结束时,“转换结束”(EOC)输出端变高以指示转换的完成。器件中的转换器结合外部输入的差分高阻抗的基准电压,具有简化比率转换、刻度以及模拟电路与逻辑电路和电源噪声隔离的特点。开关电容的设计可以使在整个温度范围内有较小的转换误差。
1. TLC1543的工作时序
其工作过程分为两个周期:访问周期和采样周期。工作状态由CS使能或禁止,工作时CS必须 置低电平。CS为高电平时,I/O CLOCK、ADDRESS被禁止,同时DATA OUT为高 阻状态。当CPU使CS变低时,TLC1543开始数据转换,I/O CLOCK、ADDRESS使能,DATA OUT脱离高阻状态。随后,CPU向ADDRESS端提供4位通道地址,控 制14个模拟通道选择器从11个外部模拟输入和3个内部自测电压中选通1路送 到采样保持电路。同时,I/O CLOCK端输入时钟时序,CPU从DATA OUT 端接收前一次A/D转换结果。I/O CLOCK从CPU 接受10个时钟长度的时钟序列。前4个时钟用4位地址从ADDRESS端装载地址寄存器,选择所需的模拟通道,后6个时钟对模拟输入的采样提供控制时序。模拟输入的采样起始于第4个I/OCLOCK的下降沿,而采样一直持续6个I/O CLOCK周期,并一直保持到第10个I/O CLOCK的下降沿。转换过程中,CS的下降沿使DATA OUT引脚脱离高阻状态并 起动一次I/O CLOCK的工作过程。CS的上升沿终止这个过程并在规定的延迟 时间内使DATA OUT引脚返回到高阻状态,经过两个系统时钟周期后禁止I/O CLOCK和ADDRESS端。
2.软硬件设计要点
TLC1543的三个控制输入端CS、I/O CLOCK、ADDRESS 和一个数据输出端DATA OUT遵循串行外设接口SPI协议,要求微处理器具有 SPI接口。但大多数单片机均未内置SPI接口(如目前国内广泛采用的MCS51 和PIC系列单片机),需通过软件模拟SPI协议以便和TLC1543接口。TLC1543 芯片的三个输入端和一个输出端与51系列单片机的I/O口可直接连接。
软件设计中,应注意区分TLC1543的11个模拟输入通道和3个内部测试 电压地 址。 附 表为 模拟 通道和 内部 电压测 试地 址。程 序 软件 编 写 应 注 意 TLC1543通道地址必须为写入字节的高四位,而CPU读入的数据是芯片上次A/D转换完成的数据。
表二
模拟输入通道选择 |
输入寄存器地址(2进制) | |
A0 |
0000 | |
A1 |
0001 | |
A2 |
0010 | |
A3 |
0011 | |
A4 |
0100 | |
A5 |
0101 | |
A6 |
0110 | |
A7 |
0111 | |
A8 |
1000 | |
A9 |
1001 | |
A10 |
1010 | |
|
| |
内部测试电压选择 |
输入地址 |
输出结果(16进制) |
(Vref++ Vref-)/2_ |
1011 |
200 |
Vref- |
1100 |
000 |
Vref+ |
1101 |
3ff |
注:Vref+为加到TLC1543 REF+端的电压,Vref-是加到REF-端的电压 |
1.1.2 测量算法
A/D转换结果D与被测量x存在以下关系:
(3-9)
式中:S——传感器及其测量电路的灵敏度(即被测量X转换成电压U的转换系数)
K——放大器的放大倍数
——A/D转换器满量程输入电压
——A/D转换器满量程输出数字
而被测量X总是以其测量数字N和测量单位x1表示
(3-10)
将式(3-10)代入(3-9)得
(3-11)
由上式可见只要满足以下条件
(3-12)
就可以使A/D转换结果D与被测量x的数值N相等,即D=N,在这种情况下将A/D转换结果作为被测量的数值传送到显示器显示出来。