引言
ADS1110 是精密的连续自校准A/D转换器,带有差分输入和高达16 位的分辨率。片内可编程的增益放大器PGA 提供高达8 倍的增益,并且允许以高分辨率对较小的信号进行测量。
1ADS1110芯片结构及工作原理
1.1ADS1110芯片结构
图1ADS1110芯片结构
ADS1110由Δ-Σ A/D转换器、可程控增益放大、2.048 V的电压基准、时钟振荡器和I2C总线接口组成,其结构如图1所示。
1.2ADS1110工作原理
ADS1110模数转换器是由1个差分开关电容Δ-Σ调节器和1个数字滤波器组成。调节器测量正模拟输入和负模拟输入的压差,并将其与基准电压相比较,数字滤波器从调节器接收高速位流,并输出一个代码。该代码是一个与输入电压成比例的数字,这个数字被限定在一定范围内,范围取决于代表输出码所需要的位数。在ADS1110中,基准电压为2.048 V,该基准通常用作A/D转换器的电压基准,不允许接外部基准。ADS1110只能采用内部电压基准,而且该基准不能直接测得,也不能被外部电路使用。
2ADS1110在称重测量中的应用
数字电子称是日常生活中广泛使用的一种称量工具,市场上使用的各式小量程电子称存在一定的局限性,这些电子称体积大、成本高、计量误差大。本文提出的电子称选用低功耗、超低价控制芯片STC89C51RC和16位Δ-Σ A/D转换器ADS1110,设计一种体积小、低成本、计量精度高、工作可靠的小量程电子称。
ADS1110与STC89C51RC单片机组成的称重系统的硬件原理如图2所示。
图2系统硬件电路原理
设计中选用单点式荷重传感器LC8020,其精度为0.03%,灵敏度(2.0±0.2) mV/V,额定量程5 kg,供桥电压5 V。当称重传感器满负载5 kg时,传感器输出电压变化(10±1) mV,此时要求加入ADS1110的电压为1 024 mV。设计配置8位ADS1110寄存器如表1所列。
表1ADS1110寄存器配置表
ST/DRTY位的含意取决于它是被写入还是被读出。在单周期转换方式中,写1到ST/DRTY位则转换开始,写入0无影响;在连续方式中,ADS1110忽略写入ST/DRTY的值。在进行读操作时, ST/DRTY表明输出寄存器中的数据是否为新数据。如果ST/DRTY为0,则刚从输出寄存器中读出的数据是新数据;如果ST/DRTY为1,则刚从输出寄存器读出的数据以前已经被读取过。保留位位6和位5置为0。SC 位控制ADS1110 是以连续转换方式工作还是以单周期转换方式工作,置SC为1时,ADS1110以单周期转换方式工作。DR的位3和位2控制ADS1110的数据速率,置DR的位3和位2为1表示ADS1110的数据采样率为15 sps。PGA的位1 和0 控制ADS1110 的增益,置PGA位1 和0为1、0表示ADS1110 的PGA增益为4。
3软件设计
按照硬件电路,采用汇编语言编程,在KeilA51 V8.50环境下调试通过,并成功应用在单片机称重系统中。软件按功能模块,主要由LCD显示控制、ADS1110模数转化、超负荷报警检测、采集数据处理、键盘中断等子程序构成。此处侧重介绍ADS1110模数转换程序。程序代码如下:
****************************
;定义P3.0脚为时钟SCL,P3.1脚为数据SDA
SDABITP3.1;定义数据
SCLBITP3.0;定义时钟
;配置寄存器子程序
SEND: ACALL START;主机发送开始条件
MOV A, #10010000B;发送ADS1110地址(末位为0表示写)
ACALL S_BIT
ACALL G_ASK
JC STOP1;如果应答失败,结束通信
MOV A, #10011100B;工作在单周期模式
ACALL S_BIT
ACALL G_ASK
STOP1:ACALL STOP
RET
;接收一次转换值(3字节)子程序
READ: ACALL START;主机发送开始条件
MOV A, #10010001B;发送ADS1110地址(末位为1表示读)
ACALL S_BIT
ACALL G_ASK
JC STOP2;如果应答失败,结束通信
ACALL READBYTE
MOV R7, A;高字节存在R7中
CLR SDA;发送应答脉冲
NOP
NOP
SETB SCL
NOP
NOP
CLR SCL
ACALL READBYTE
MOV R6, A;低字节存在R6中
CLR SDA;发送应答脉冲
NOP
NOP
SETB SCL
NOP
NOP
CLR SCL
ACALL READBYTE
MOV R5, A;配置寄存器数据存在R5中
CLR SDA;发送应答脉冲
NOP
NOP
SETB SCL
NOP
NOP
CLR SCL
STOP2:ACALL STOP
RET
;I2C开始子程序
START: SETB SDA
SETB SCL
NOP
NOP
CLR SDA
NOP
NOP
CLR SCL
NOP
NOP
RET
;I2C停止子程序
STOP: CLR SDA
SETB SCL
NOP
NOP
SETB SDA
NOP
NOP
CLR SCL
NOP
NOP
RET
;I2C检测应答子程序
G_ASK: SETB SDA
SETB SCL
NOP
NOP
MOV C, SDA
NOP
NOP
CLR SCL
RET
;接收1字节数据子程序
READBYTE: SETB SDA;释放总线
MOV 7FH, #8H
READ_LOOP: SETB SCL;读取数据
NOP
NOP
MOV C, SDA
NOP
NOP
CLR SCL
RLC A
DJNZ 7FH, READ_LOOP
RET
;发送1字节数据子程序
S_BIT: CLR C
CLR SCL
MOV 7FH, #8H
SEND_LOOP1: RLC A
MOV SDA, C
SETB SCL
NOP
NOP
CLR SCL
NOP
DJNZ 7FH, SEND_LOOP1
RET
4实验结果
根据上述设计方案制作了实验电路,各电路模块所需的电源由电源模块提供。电源模块以7805为核心,为电路提供5 V稳压电源。
测试条件:称重传感器型号LC8020,额定载荷5 kg,传感器信号线长0.2 m,测试载物台面尺寸100 mm,测试环境温度27.8 ℃。测试结果如表2所列。
表2实验电路测试结果kg
结语
将ADS1110应用于小量程电子称,能充分发挥其性能特点,降低硬件成本。实验证明,该电子称在日常条件下工作可靠,具有精度高、体积小、读数直观等优点。经验证实现秤重测量范围0~5 kg,最小分辨1 g。可以很好地适应日常生活需要,在民用市场上有着良好的应用前景。