ETC HX711

HX711
电子秤专用模拟/数字(A/D)转换器芯片
简介
特点
HX711 采用了海芯科技集成电路专利技术,
是一款专为高精度电子秤而设计的 24 位 A/D 转
换器芯片。与同类型其它芯片相比,该芯片集
成了包括稳压电源、片内时钟振荡器等其它同
类型芯片所需要的外围电路,具有集成度高、
响应速度快、抗干扰性强等优点。降低了电子
秤的整机成本,提高了整机的性能和可靠性。
• 两路可选择差分输入
该芯片与后端 MCU 芯片的接口和编程非常
简单,所有控制信号由管脚驱动,无需对芯片
内部的寄存器编程。输入选择开关可任意选取
通道 A 或通道 B,与其内部的低噪声可编程放
大器相连。通道 A 的可编程增益为 128 或 64,
对应的满额度差分输入信号幅值分别为±20mV
或±40mV。通道 B 则为固定的 32 增益,用于系
统参数检测。芯片内提供的稳压电源可以直接
向外部传感器和芯片内的 A/D 转换器提供电
源,系统板上无需另外的模拟电源。芯片内的
时钟振荡器不需要任何外接器件。上电自动复
位功能简化了开机的初始化过程。
VAVDD
10uF
• 片内低噪声可编程放大器,可选增益为
32,64 和 128
• 片内稳压电路可直接向外部传感器和芯片内
A/D 转换器提供电源
• 片内时钟振荡器无需任何外接器件,必要时
也可使用外接晶振或时钟
• 上电自动复位电路
• 简单的数字控制和串口通讯:所有控制由管
脚输入,芯片内寄存器无需编程
• 可选择 10Hz 或 80Hz 的输出数据速率
• 同步抑制 50Hz 和 60Hz 的电源干扰
• 耗电量(含稳压电源电路):
典型工作电流:< 1.6mA, 断电电流:< 1µA
• 工作电压范围:2.6 ~ 5.5V
• 工作温度范围:-40 ~ +85℃
• 16 管脚的 SOP-16 封装
VSUP
S8550
R2
2.7~5.5V
R1
VFB
传感器
BASE
VSUP
DVDD
AVDD
INA+
Analog Supply Regulator
DOUT
INAINB+
Input
MUX
Digital
Interface
24-bit Σ∆
ADC
PGA
Gain = 32, 64, 128
INBVBG
Bandgap Reference
PD_SCK
To/From
MCU
RATE
Internal
Oscillator
HX711
0.1uF
AGND
图一
XI
XO
HX711 内部方框图
Information contained in this document is for design reference only and not a guarantee. Avia Semiconductor reserves the right to modify it without notice.
TEL: (592) 252-9530 (P. R. China)
EMAIL: [email protected]
www.aviaic.com
AVIA SEMICONDUCTOR
HX711
管脚说明
稳压电路电源
VSUP
1
数字电源
16
DVDD
输出数据速率控制输入
稳压电路控制输出
BASE
2
15
RATE
模拟电源
AVDD
3
14
XI
外部时钟或晶振输入
稳压电路控制输入
VFB
4
13
XO
晶振输入
模拟地
AGND
5
12
DOUT
串口数据输出
参考电源输出
VBG
6
11
PD_SCK 断电和串口时钟输入
通道A负输入端
INNA
7
10
INPB
通道B正输入端
通道A正输入端
INPA
8
9
INNB
通道B负输入端
SOP-16L 封装
管脚号
名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
VSUP
BASE
AVDD
VFB
AGND
VBG
INAINA+
INBINB+
PD_SCK
DOUT
XO
XI
RATE
DVDD
性能
电源
模拟输出
电源
模拟输入
地
模拟输出
模拟输入
模拟输入
模拟输入
模拟输入
数字输入
数字输出
数字输入输出
数字输入
数字输入
电源
描述
稳压电路供电电源: 2.6 ~ 5.5V
稳压电路控制输出(不用稳压电路时为无连接)
模拟电源: 2.6 ~ 5.5V
稳压电路控制输入(不用稳压电路时应接地)
模拟地
参考电源输出
通道 A 负输入端
通道 A 正输入端
通道 B 负输入端
通道 B 正输入端
断电控制(高电平有效)和串口时钟输入
串口数据输出
晶振输入(不用晶振时为无连接)
外部时钟或晶振输入,0: 使用片内振荡器
输出数据速率控制,0: 10Hz; 1: 80Hz
数字电源: 2.6 ~ 5.5V
表一 管脚描述
AVIA SEMICONDUCTOR
2
HX711
主要电气参数
参数
条件及说明
最小值
典型值
满额度差分输入范围
有效位数(EffectiveNumber-of-Bits) (1)
无噪声位数(NoiseFree Bits) (2)
V(inp)-V(inn)
积分非线性(INL)
输入共模电压范围
满量程的百分比
输出数据速率
使用片内振荡器,RATE = 0
10
使用片内振荡器,RATE =
DVDD
80
输入零点漂移
输入噪声
单位
±0.5(AVDD/GAIN)
V
增益 = 128,速率=10Hz
19.7
Bits
增益 = 128,速率=10Hz
17.3
Bits
%of
FSR
V
±0.001
AGND+1.2
外部时钟或晶振,RATE = 0
输出数据编码
输出稳定时间(3)
最大值
外部时钟或晶振,RATE =
DVDD
二进制补码
AVDD-1.3
Hz
fclk/1,105,920
fclk/138,240
800000
7FFFFF
HEX
ms
RATE = 0
RATE = DVDD
增益 = 128
增益 = 64
400
50
0.1
0.2
mV
mV
增益 = 128,RATE = 0
50
nV(rms)
增益 = 128,RATE = DVDD
90
温度系数
输入零点漂移(增益 = 128)
增益漂移(增益 = 128)
±12
±7
nV/℃
ppm/℃
输入共模信号抑制比
增益 = 128,RATE = 0
100
dB
增益 = 128,RATE = 0
电源干扰抑制比
输出参考电压(VBG)
100
1.25
dB
V
外部时钟或晶振频率
电源电压
模拟电源电流
(含稳压电路)
数字电源电流
DVDD
AVDD,VSUP
1
2.6
2.6
正常工作
断电
正常工作
断电
11.0592
1500
0.5
100
0.2
20
5.5
5.5
MHz
V
µA
µA
(1) 有效位数 ENBs(Effective Number of Bits) = ln(FSR/RMS Noise)/ln(2)。FSR 为满量
程输入或输出, RMS Noise 为对应的输入或输出噪声有效值。
(2) 无噪声位数(Noise-Free Bits) = ln(FSR/Peak-to-Peak Noise)/ln(2)。FSR 为满量程输
入或输出, Peak-to-Peak Noise 为对应的输入或输出噪声峰-峰值。
(3) 输出稳定时间指从上电、复位、输入通道或增益改变到有效的稳定输出数据时间。
表二 主要电气参数表
AVIA SEMICONDUCTOR
3
HX711
模拟输入
通道 A 模拟差分输入可直接与桥式传感器
的差分输出相接。由于桥式传感器输出的信号
较小,为了充分利用 A/D 转换器的输入动态范
围,该通道的可编程增益较大,为 128 或 64。
这些增益所对应的满量程差分输入电压分别±
20mV 或±40mV。
通道 B 为固定的 32 增益,所对应的满量程
差分输入电压为±80mV。通道 B 应用于包括电
池在内的系统参数检测。
供电电源
数字电源(DVDD)应使用与 MCU 芯片相同的
的数字供电电源。
HX711 芯片内的稳压电路可同时向 A/D 转换
器和外部传感器提供模拟电源。稳压电源的供
电电压(VSUP)可与数字电源(DVDD)相同。稳压
电源的输出电压值(VAVDD )由外部分压电阻
R1 、R2 和芯片的输出参考电压 VBG 决定( 图
1),VAVDD=VBG(R1+R2)/R2 。应选择该输出电压
比稳压电源的输入电压(VSUP)低至少 100mV。
如果不使用芯片内的稳压电路,管脚 VSUP
应连接到 DVDD 或 AVDD 中电压较高的一个管脚
上。管脚 VBG 上不需要外接电容,管脚 VFB 应
接地,管脚 BASE 为无连接。
时钟选择
如果将管脚 XI 接地,HX711 将自动选择使
用内部时钟振荡器,并自动关闭外部时钟输入
和晶振的相关电路。这种情况下,典型输出数
据速率为 10Hz 或 80Hz。
如果需要准确的输出数据速率,可将外部
输入时钟通过一个 20pF 的隔直电容连接到 XI
管脚上,或将晶振连接到 XI 和 XO 管脚上。这
种情况下,芯片内的时钟振荡器电路会自动关
AVIA SEMICONDUCTOR
闭,晶振时钟或外部输入时钟电路被采用。此
时,若晶振频率为 11.0592MHz, 输出数据速率
为准确的 10Hz 或 80Hz。输出数据速率与晶振
频率以上述关系按比例增加或减少。
使用外部输入时钟时,外部时钟信号不一
定需要为方波。可将 MCU 芯片的晶振输出管脚
上的时钟信号通过 20pF 的隔直电容连接到 XI
管脚上,作为外部时钟输入。外部时钟输入信
号的幅值可低至 150mV。
串口通讯
串口通讯线由管脚 PD_SCK 和 DOUT 组成,
用来输出数据,选择输入通道和增益。
当数据输出管脚 DOUT 为高电平时,表明
A/D 转换器还未准备好输出数据,此时串口时
钟输入信号 PD_SCK 应为低电平。当 DOUT 从高
电平变低电平后,PD_SCK 应输入 25 至 27 个不
等的时钟脉冲(图二)。其中第一个时钟脉冲
的 上 升 沿 将 读 出 输 出 24 位 数 据 的 最 高 位
(MSB),直至第 24 个时钟脉冲完成,24 位输
出数据从最高位至最低位逐位输出完成。第 25
至 27 个时钟脉冲用来选择下一次 A/D 转换的
输入通道和增益,参见表三。
PD_SCK 脉冲数
输入通道
增益
25
A
128
26
B
32
27
A
64
表三 输入通道和增益选择
PD_SCK 的输入时钟脉冲数不应少于 25 或多
于 27,否则会造成串口通讯错误。
当 A/D 转换器的输入通道或增益改变时,
A/D 转换器需要 4 个数据输出周期才能稳定。
DOUT 在 4 个数据输出周期后才会从高电平变低
电平,输出有效数据。
4
HX711
当前转换周期
下一个转换周期
一个数据输出周期时间
DOUT
LSB
MSB
T2
T3
T1
PD_SCK
1
2
3
PD_SCK
1
2
PD_SCK
1
2
下一次转换:通道A,增益128
4
24
25
3
4
24
25
26
3
4
24
25
26
T4
下一次转换:通道B,增益32
27
下一次转换:通道A,增益64
图二 数据输出,输入通道和增益选择时序图
符号
说明
最小值 典型值 最大值 单位
T1
DOUT 下降沿到 PD_SCK 脉冲上升沿
T2
PD_SCK 脉冲上升沿到 DOUT 数据有效
T3
PD_SCK 正脉冲电平时间
0.2
T4
PD_SCK 负脉冲电平时间
0.2
复位和断电
当芯片上电时,芯片内的上电自动复位电
路会使芯片自动复位。
管脚 PD_SCK 输入用来控制 HX711 的断电。
当 PD_SCK 为低电平时,芯片处于正常工作状
态。
断电控制:
PD_SCK
µs
0.1
0.1
µs
50
µs
µs
进入正常工作状态。芯片从复位或断电状态进
入正常工作状态后,通道 A 和增益 128 会被自
动选择作为第一次 A/D 转换的输入通道和增
益。随后的输入通道和增益选择由 PD_SCK 的
脉冲数决定,参见串口通讯一节。
芯片从复位或断电状态进入正常工作状态
后,A/D 转换器需要 4 个数据输出周期才能稳
定。DOUT 在 4 个数据输出周期后才会从高电平
变低电平,输出有效数据。
应用实例
60µ s
图三
断电
正常工作
断电控制
如果 PD_SCK 从低电平变高电平并保持在高
电平超过 60µs,HX711 即进入断电状态(图
三)。如使用片内稳压电源电路,断电时,外
部传感器和片内 A/D 转换器会被同时断电。当
PD_SCK 重新回到低电平时,芯片会自动复位后
AVIA SEMICONDUCTOR
图四为 HX711 芯片应用于计价秤的一个参
考电路图。该方案使用内部时钟振荡器
(XI=0),10Hz 的输出数据速率(RATE=0)。电
源(2.7~5.5V)直接取用与 MCU 芯片相同的
供电电源。通道 A 与传感器相连,通道 B 通过
片外分压电阻(未在图一中显示)与电池相
连,用于检测电池电压。
5
HX711
LCD
LED
1u
充电电路
磁珠 L1
稳压管
0.1u
电池
Q1
4.7k
0.1u
传感器
1k
0.1u
VSUP
DVDD
BASE
RATE
AVDD
XI
VFB
XO
AGND
DOUT
VBG
PD_SCK
INNA
INPB
INPA
INNB
HX711
1k
VDD
I/O
I/O
MCU
L1:用于隔离模拟与数字电源;
Q1:用于关断传感器和ADC电源。
图四 HX711 计价秤应用参考电路图
参考 PCB 板(单层)
图五为与 HX711 相关部分的 PCB 板参考设计线路图。图五为相应的单层 PCB 板参考设计板图。
图五
AVIA SEMICONDUCTOR
与 HX711 相关部分的 PCB 板参考设计线路图
6
HX711
图六
AVIA SEMICONDUCTOR
与 HX711 相关部分的单层 PCB 板参考设计板图
7
HX711
参考驱动程序(汇编)
/*------------------------------------------------------------------在ASM中调用:
LCALL ReadAD
可以在C中调用:
extern unsigned long ReadAD(void);
.
.
unsigned long data;
data=ReadAD();
.
.
----------------------------------------------------------------------*/
PUBLIC
ReadAD
HX711ROM
segment code
rseg
HX711ROM
sbit
sbit
ADDO = P1.5;
ADSK = P0.0;
/*-------------------------------------------------OUT: R4, R5, R6, R7
R7=>LSB
如果在C中调用,不能修改R4,R5,R6,R7。
---------------------------------------------------*/
ReadAD:
CLR
ADSK
//使能AD(PD_SCK置低)
JB
ADDO,$
//判断AD转换是否结束,若未结束则等待否则开始读取
MOV
R4,#24
ShiftOut:
SETB ADSK
//PD_SCK置高(发送脉冲)
NOP
CLR
ADSK
//PD_SCK置低
MOV
C,ADDO
//读取数据(每次一位)
XCH
A,R7
//移入数据
RLC
A
XCH
A,R7
XCH
A,R6
RLC
A
XCH
A,R6
XCH
A,R5
RLC
A
XCH
A,R5
DJNZ R4,ShiftOut
//判断是否移入24BIT
SETB ADSK
NOP
CLR
ADSK
RET
END
AVIA SEMICONDUCTOR
8
HX711
参考驱动程序(C)
sbit ADDO = P1^5;
sbit ADSK = P0^0;
unsigned long ReadCount(void){
unsigned long Count;
unsigned char i;
ADSK=0;
Count=0;
while(ADDO);
for (i=0;i<24;i++){
ADSK=1;
Count=Count<<1;
ADSK=0;
if(ADDO) Count++;
}
ADSK=1;
Count=Count^0x800000;
ADSK=0;
return(Count);
}
AVIA SEMICONDUCTOR
9
HX711
封装尺寸
9.90
6.00
6.20
5.80
10.10
9.70
3.90 4.10
3.70
1.27
0.48
0.39
1.60
1.20
典型值
最大值
最小值
单位:毫米
SOP-16L 封装
注意事项
1. 所 有 数 字 输 入 管 脚 , 包 括 RATE , XI 和
PD_SCK 管脚,芯片内均无内置拉高或拉低
电阻。这些管脚在使用时不应悬空。
2.建议使用通道 A 与传感器相连,作为小信
号输入通道;通道 B 用于系统参数检测,
如电池电压检测。
3.建议使用 PNP 管 S8550 与片内稳压电源电
路配合。也可根据需要使用其他 MOS 或双
极晶体管,但应注意稳压电源的稳定性。
4.无论是采用片内稳压电源或系统上其他电
源,建议传感器和 A/D 转换器使用同一模
拟供电电源。
5.PD_SCK 的输入时钟脉冲数不应少于 25 或
多于 27,否则会造成串口通讯错误。
6.与 DOUT 相连的 MCU 接口应设置为输入口,
并且不接任何拉高或拉低电阻,以减少
MCU 与 ADC 之间的电流交换(干扰)。
AVIA SEMICONDUCTOR
10
HX711
参考电路板
参考驱动程序
常见问题
问:
答:
问:
答:
AVIA SEMICONDUCTOR
11