专用型高精度24位AD转换器芯片HX711说明.docx
《专用型高精度24位AD转换器芯片HX711说明.docx》由会员分享,可在线阅读,更多相关《专用型高精度24位AD转换器芯片HX711说明.docx(10页珍藏版)》请在冰豆网上搜索。
专用型高精度24位AD转换器芯片HX711说明
HX711
称重传感器专用模拟/数字〔A/D〕转换器芯片
简介:
HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。
与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。
降低了电子秤的整机本钱,提高了整机的性能和可靠性。
该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的存放器编程。
输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。
通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。
通道B那么为固定的32增益,用于系统参数检测。
芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。
芯片内的时钟振荡器不需要任何外接器件。
上电自动复位功能简化了开机的初始化过程。
特点:
两路可选择差分输入
片内低噪声可编程放大器,可选增益为64和128
片内稳压电路可直接向外部传感器和芯片内A/D转换器提供电源
片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟
上电自动复位电路
简单的数字控制和串口通讯:
所有控制由管脚输入,芯片内存放器无需编程
可选择10Hz或80Hz的输出数据速率
同步抑制50Hz和60Hz的电源干扰
耗电量〔含稳压电源电路〕:
典型工作电流:
<1.7mA,断电电流:
<1μA
工作电压范围:
工作温度范围:
-20~+85℃
16管脚的SOP-16封装
管脚说明
模拟输入
通道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和管脚AVDD应相连,并接到电压为2.6~5.5V的低噪声模拟电源。
管脚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或多于27,否那么会造成串口通讯错误。
当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。
DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。
复位和断电
当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。
管脚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芯片相同的供电电源。
片内稳压电源电路通过片外PNP管S8550和分压电阻R1、R2向传感器和A/D转换器提供稳定的低噪声模拟电源。
通道A与传感器相连,通道B通过片外分压电阻〔未在图一中显示〕与电池相连,用于检测电池电压。
参考PCB板〔单层〕
图五为与HX711相关局部的PCB板参考设计线路图。
图五为相应的单层PCB板参考设计板图。
参考驱动程序〔汇编〕
/*-------------------------------------------------------------------
在ASM中调用:
LCALLReaAD
可以在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置低〕
SETBADDO//51CPU准双向I/0输入使能
JBADDO,$//判断AD转换是否结束,假设未结束那么等待否那么开始读取
MOVR4,#24
ShiftOut:
SETBADSK//PD_SCK置高〔发送脉冲〕
NOP
CLRADSK//PD_SCK置低
MOVC,ADDO//读取数据〔每次一位〕
XCHA,R7//移入数据
RLCA
XCHA,R7
XCHA,R6
RLCA
XCHA,R6
XCHA,R5
RLCA
XCHA,R5
DJNZR4,ShiftOut//判断是否移入24BIT
SETBADSK
NOP
CLRADSK
RETEND
参考C程序:
SbitADDO=P1^5;
SbitADSK=P0^0;
UndsignedlongReadCount(void){
UnsignedlongCount;
Unsignedchari;
ADDO=1;
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);
}
封装尺寸:
考前须知
1.所有数字输入管脚,包括RATE,XI和PD_SCK管脚,芯片内均无内置拉高或拉低电阻。
这些管脚在使用时不应悬空。
2.建议使用通道A与传感器相连,作为小信号输入通道;通道B用于系统参数检测,如电池电压检测。
3.建议使用PNP管S8550与片内稳压电源电路配合。
也可根据需要使用其他MOS或双极晶体管,但应注意稳压电源的稳定性。
4.无论是采用片内稳压电源或系统上其他电源,建议传感器和A/D转换器使用同一模拟供电电源。
5.的输入时钟脉冲数不应少于25或多于27,否那么会造成串口通讯错误。