hx711官方海芯文档格式.docx
《hx711官方海芯文档格式.docx》由会员分享,可在线阅读,更多相关《hx711官方海芯文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
2.7~5.5V
传感器
AVDDINA+INA-
INB+INB-
VFB
PGA
Gain=32,64,128
BASEVSUPDVDD
24-bit∑∆
ADC
DOUTPD_SCK
RATE
To/FromMCU
0.1uF
VBG
AGNDXIXO
图一HX711内部方框图
Informationcontainedinthisdocumentisfordesignreferenceonlyandnotaguarantee.AviaSemiconductorreservestherighttomodifyitwithoutnotice.
TEL:
(592)252-9530(P.R.China)AVIASEMICONDUCTOR
EMAIL:
market@
管脚说明
稳压电路电源
1
16
DVDD
数字电源
稳压电路控制输出
BASE
2
15
输出数据速率控制输入
模拟电源
AVDD
3
14
XI
外部时钟或晶振输入
稳压电路控制输入
4
13
XO
晶振输入
模拟地
AGND
5
12
DOUT
串口数据输出
参考电源输出
6
11
PD_SCK
断电和串口时钟输入
通道A负输入端
INNA
7
10
INPB
通道B正输入端
通道A正输入端
INPA
8
9
INNB
通道B负输入端
SOP-16L封装
管脚号
名称
性能
描述
电源
稳压电路供电电源:
2.6~5.5V
模拟输出
稳压电路控制输出(不用稳压电路时为无连接)
模拟电源:
模拟输入
稳压电路控制输入(不用稳压电路时应接地)
地
INA-
通道A负输入端
INA+
通道A正输入端
INB-
通道B负输入端
INB+
通道B正输入端
数字输入
断电控制(高电平有效)和串口时钟输入
数字输出
数字输入输出
晶振输入(不用晶振时为无连接)
外部时钟或晶振输入,0:
使用片内振荡器
输出数据速率控制,0:
10Hz;
1:
80Hz
数字电源:
表一管脚描述
主要电气参数
参数
条件及说明
最小值
典型值
最大值
单位
满额度差分输入范围
V(inp)-V(inn)
±
0.5(AVDD/GAIN)
V
有效位数(Effective-Number-of-Bits)
(1)
增益=128,速率=10Hz
19.7
Bits
无噪声位数(Noise-FreeBits)
(2)
17.3
积分非线性(INL)
满量程的百分比
0.001
%of
FSR
输入共模电压范围
AGND+1.2AVDD-1.3
输出数据速率
使用片内振荡器,RATE=0
Hz
使用片内振荡器,RATE=
80
外部时钟或晶振,RATE=0
fclk/1,105,920
外部时钟或晶振,RATE=
fclk/138,240
输出数据编码
二进制补码
8000007FFFFF
HEX
输出稳定时间(3)
RATE=0
400
ms
RATE=DVDD
50
输入零点漂移
增益=128
0.1
mVmV
增益=64
0.2
输入噪声
增益=128,RATE=0
nV(rms)
增益=128,RATE=DVDD
90
温度系数
输入零点漂移(增益=128)
nV/℃
增益漂移(增益=128)
ppm/℃
输入共模信号抑制比
100
dB
电源干扰抑制比
输出参考电压(VBG)
1.25
外部时钟或晶振频率
111.059220
MHz
电源电压
2.65.5
AVDD,VSUP
模拟电源电流
(含稳压电路)
正常工作
1500
μA
断电
0.5
数字电源电流
(1)有效位数ENBs(EffectiveNumberofBits)=ln(FSR/RMSNoise)/ln
(2)。
FSR为满量程输入或输出,RMSNoise为对应的输入或输出噪声有效值。
(2)无噪声位数(Noise-FreeBits)=ln(FSR/Peak-to-PeakNoise)/ln
(2)。
FSR为满量程输入或输出,Peak-to-PeakNoise为对应的输入或输出噪声峰-峰值。
(3)输出稳定时间指从上电、复位、输入通道或增益改变到有效的稳定输出数据时间。
表二主要电气参数表
通道A模拟差分输入可直接与桥式传感器的差分输出相接。
由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。
这些增益所对应的满量程差分输入电压分别±
20mV或±
通道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管脚上。
这种情况下,芯片内的时钟振荡器电路会自动关
闭,晶振时钟或外部输入时钟电路被采用。
此时,若晶振频率为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
64
表三输入通道和增益选择
PD_SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。
当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。
DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。
当前转换周期下一个转换周期
24
下一次转换:
通道A,增益128
T4
通道B,增益32
通道A,增益64
图二数据输出,输入通道和增益选择时序图
符号
说明
T1
DOUT下降沿到PD_SCK脉冲上升沿
μs
T2
PD_SCK脉冲上升沿到DOUT数据有效
T3
PD_SCK正脉冲电平时间
PD_SCK负脉冲电平时间
复位和断电
当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。
管脚PD_SCK输入用来控制HX711的断电。
当PD_SCK为低电平时,芯片处于正常工作状态。
断电控
图三断电控制
如果PD_SCK从低电平变高电平并保持在高电平超过60μs,HX711即进入断电状态(图三)。
如使用片内稳压电源电路,断电时,外部传感器和片内A/D转换器会被同时断电。
当PD_SCK重新回到低电平时,芯片会自动复位后
进入正常工作状态。
芯片从复位或断电状态进入正常工作状态后,通道A和增益128会被自动选择作为第一次A/D转换的输入通道和增益。
随后的输入通道和增益选择由PD_SCK的脉冲数决定,参见串口通讯一节。
芯片从复位或断电状态进入正常工作状态后,A/D转换器需要4个数据输出周期才能稳定。
DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。
应用实例
图四为HX711芯片应用于计价秤的一个参考电路图。
该方案使用内部时钟振荡器(XI=0),10Hz的输出数据速率(RATE=0)。
电源(2.7~5.5V)直接取用与MCU芯片相同的供电电源。
通道A与传感器相连,通道B通过片外分压电阻(未在图一中显示)与电池相连,用于检测电池电压。
参考PCB板(单层)
图五为与HX711相关部分的PCB板参考设计线路图。
图五为相应的单层PCB板参考设计板图。
图五与HX711相关部分的PCB板参考设计线路图
图六与HX711相关部分的单层PCB板参考设计板图
参考驱动程序(汇编)
/*-------------------------------------------------------------------
在ASM中调用:
LCALLReadAD
可以在C中调用:
externunsignedlongReadAD(void);
.
unsignedlongdata;
data=ReadAD();
----------------------------------------------------------------------*/PUBLICReadAD
HX711ROMsegmentcode
rsegHX711ROM
sbitADDO=P1.5;
sbitADSK=P0.0;
/*--------------------------------------------------OUT:
R4,R5,R6,R7R7=>
LSB
如果在C中调用,不能修改R4,R5,R6,R7。
---------------------------------------------------*/
ReadAD:
CLRADSK//使能AD(PD_SCK置低)
JBADDO,$//判断AD转换是否结束,若未结束则等待否则开始读取MOVR4,#24
ShiftOut:
SETB
ADSK
//PD_SCK置高(发送脉冲)
NOP
CLR
//PD_SCK置低
MOV
C,ADDO
//读取数据(每次一位)
XCH
A,R7
//移入数据
RLC
A,R6
A,R5
DJNZ
R4,ShiftOut
//判断是否移入24BIT
RET
END
参考驱动程序(C)
sbitADDO=P1^5;
sbitADSK=P0^0;
unsignedlongReadCount(void){unsignedlongCount;
unsignedchari;
ADSK=0;
Count=0;
while(ADDO);
for(i=0;
i<
24;
i++){ADSK=1;
Count=Count<
1;
if(ADDO)Count++;
}ADSK=1;
Count=Count^0x800000;
return(Count);
}
封装尺寸
6.006.20
5.80
.10
.70
1.270.48
0.39
1.60
1.20
最大值最小值
单位:
毫米
注意事项
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之间的电流交换(干扰)。
参考电路板
参考驱动程序
常见问题问:
答:
问: