ADSll10自校准模数转换器在称重中的应用
引言
ADSlllO是精密的连续自校准A/D转换器,带有差分输入和高达16位的分辨率。片内可编程的增益放大器PGA提供高达8倍的增益,并且允许以高分辨率对较小的信号进行测量。
1 ADSll10芯片结构及工作原理
1.1 ADSll10芯片结构
ADS1110由△-∑A/D转换器、可程控增益放大、2.048 V的电压基准、时钟振荡器和I2C总线接口组成,其结构如图1所示。
1.2 ADSll10工作原理
ADSlllO模数转换器是由1个差分开关电容△-∑调节器和1个数字滤波器组成。调节器测量正模拟输入和负模拟输入的压差,并将其与基准电压相比较,数字滤波器从调节器接收高速位流,并输出一个代码。该代码是一个与输入电压成比例的数字,这个数字被限定在一定范围内,范围取决于代表输出码所需要的位数。在ADS1110中,基准电压为2.048 V,该基准通常用作A/D转换器的电压基准,不允许接外部基准。ADS1110只能采用内部电压基准,而且该基准不能直接测得,也不能被外部电路使用。
2 ADSl110在称重测量中的应用
数字电子称是日常生活中广泛使用的一种称量工具,市场上使用的各式小量程电子称存在一定的局限性,这些电子称体积大、成本高、计量误差大。本文提出的电子称选用低功耗、超低价控制芯片STC89C51RC和16位△-∑A/D转换器ADSlllO,设计一种体积小、低成本、计量精度高、工作可靠的小量程电子称。
ADSlllO与STC89C5lRC单片机组成的称重系统的硬件原理如图2所示。
设计中选用单点式荷重传感器LC8020,其精度为O.03%,灵敏度(2.O±O.2)mV/V,额定量程5 kg,供桥电压5 V。当称重传感器满负载5 kg时,传感器输出电压变化(10±1)mV,此时要求加入ADSlllO的电压为1 024mV。设计配置8位ADSlllO寄存器如表1所列。
位的含意取决于它是被写入还是被读出。在单周期转换方式中,写1到位则转换开始,写入O无影响;在连续方式中,ADSlllO忽略写入的值。在进行读操作时,表明输出寄存器中的数据是否为新数据。如果为O,则刚从输出寄存器中读出的数据是新数据;如果为1,则刚从输出寄存器读出的数据以前已经被读取过。保留位位6和位5置为O。SC位控制ADSlllO是以连续转换方式工作还是以单周期转换方式工作,置SC为1时,ADS1110以单周期转换方式工作。DR的位3和位2控制ADSlll0的数据速率,置DR的位3和位2为1表示ADSlll0的数据采样率为15 sps。PGA的位1和O控制ADSlllO的增益,置PGA位1和O为1、O表示ADSlllO的PGA增益为4。
3 软件设计
按照硬件电路,采用汇编语言编程,在KeilA51 V8.50环境下调试通过,并成功应用在单片机称重系统中。软件按功能模块,主要由LCD显示控制、ADslllO模数转化、超负荷报警检测、采集数据处理、键盘中断等子程序构成。此处侧重介绍ADSlll0模数转换程序。程序代码如下:
;定义P3.O脚为时钟SCI,P3.1脚为数据SDA
SDA BIT P3.1 ;定义数据
SCL BIT P3.O ;定义时钟
;配置寄存器子程序
SEND:ACALL START;主机发送开始条件
MOV A,#10010000B ;发送ADSlll0地址(末位为O表示写)
ACALL S_BIT
ACALL G_ASK
JC STOP1 ;如果应答失败,结束通信
MOV A,#l0011100B;工作在单周期模式
ACALL S_BIT
ACALL G_ASK
STOP1: ACALL STOP
RET
;接收一次转换值(3字节)子程序
READ:ACALL START;主机发送开始条件
MOV A,#10010001B;发送ADSlllO地址(末位为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稳压电源。
测试条件:称重传感器型号LC80320,额定载荷5kg,传感器信号线长O.2 m,测试载物台面尺寸φ100 mm,测试环境温度27.8℃。测试结果如表2所列。
- 用CP2101将USB口扩展成串口(01-18)
- 单收/单发RS-232接口芯片 ADM101E及其应用(01-25)
- 简易型高电压电流检测终得实现(01-05)
- 8位高速A/D转换器TLC5510的应用(02-16)
- NCP1014非隔离线路的应用解决方案(05-18)
- 数字电源管理芯片ZL2105的性能及性能测试设计(06-02)