电子秤专用模拟 / 数字 (A/D) 转换器芯片 简介 HX711 采用了海芯科技集成电路专利技术, 是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片 与同类型其它芯片相比, 该芯片集成了包括稳压电源 片内时钟振荡器等其它同类型芯片所需要的外围电路, 具有集成度高 响应速度快 抗干扰性强等优点 降低了电子秤的整机成本, 提高了整机的性能和可靠性 该芯片与后端 MCU 芯片的接口和编程非常简单, 所有控制信号由管脚驱动, 无需对芯片内部的寄存器编程 输入选择开关可任意选取通道 A 或通道 B, 与其内部的低噪声可编程放大器相连 通道 A 的可编程增益为 128 或 64, 对应的满额度差分输入信号幅值分别为 ±20mV 或 ±40mV 通道 B 则为固定的 32 增益, 用于系统参数检测 芯片内提供的稳压电源可以直接向外部传感器和芯片内的 A/D 转换器提供电源, 系统板上无需另外的模拟电源 芯片内的时钟振荡器不需要任何外接器件 上电自动复位功能简化了开机的初始化过程 特点 两路可选择差分输入 片内低噪声可编程放大器, 可选增益为 32,64 和 128 片内稳压电路可直接向外部传感器和芯片内 A/D 转换器提供电源 片内时钟振荡器无需任何外接器件, 必要时也可使用外接晶振或时钟 上电自动复位电路 简单的数字控制和串口通讯 : 所有控制由管脚输入, 芯片内寄存器无需编程 可选择 10Hz 或 80Hz 的输出数据速率 同步抑制 50Hz 和 60Hz 的电源干扰 耗电量 ( 含稳压电源电路 ): 典型工作电流 :< 1.6mA, 断电电流 :< 1µA 工作电压范围 :2.6 ~ 5.5V 工作温度范围 :-40 ~ +85 16 管脚的 SOP-16 封装 传感器 V AVDD 10uF AVDD R2 R1 VFB S8550 V SUP BASE VSUP DVDD 2.7~5.5V INA+ INA- INB+ INB- Input MUX Analog Supply Regulator PGA Gain = 32, 64, 128 24-bit Σ ADC Digital Interface DOUT PD_SCK RATE To/From MCU 0.1uF VBG Bandgap Reference Internal Oscillator HX711 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) AVIA SEMICONDUCTOR EMAIL: market@aviaic.com www.aviaic.com
管脚说明 稳压电路电源稳压电路控制输出模拟电源稳压电路控制输入模拟地参考电源输出通道 A 负输入端通道 A 正输入端 VSUP BASE AVDD VFB AGND VBG INNA INPA 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 DVDD RATE XI XO DOUT PD_SCK INPB INNB 数字电源输出数据速率控制输入外部时钟或晶振输入晶振输入串口数据输出断电和串口时钟输入通道 B 正输入端通道 B 负输入端 SOP-16L 封装 管脚号名称性能描述 1 VSUP 电源 稳压电路供电电源 : 2.6 ~ 5.5V 2 BASE 模拟输出 稳压电路控制输出 ( 不用稳压电路时为无连接 ) 3 AVDD 电源 模拟电源 : 2.6 ~ 5.5V 4 VFB 模拟输入 稳压电路控制输入 ( 不用稳压电路时应接地 ) 5 AGND 地 模拟地 6 VBG 模拟输出 参考电源输出 7 INA- 模拟输入 通道 A 负输入端 8 INA+ 模拟输入 通道 A 正输入端 9 INB- 模拟输入 通道 B 负输入端 10 INB+ 模拟输入 通道 B 正输入端 11 PD_SCK 数字输入 断电控制 ( 高电平有效 ) 和串口时钟输入 12 DOUT 数字输出 串口数据输出 13 XO 数字输入输出 晶振输入 ( 不用晶振时为无连接 ) 14 XI 数字输入 外部时钟或晶振输入,0: 使用片内振荡器 15 RATE 数字输入 输出数据速率控制,0: 10Hz; 1: 80Hz 16 DVDD 电源 数字电源 : 2.6 ~ 5.5V 表一管脚描述 AVIA SEMICONDUCTOR 2
主要电气参数 参数条件及说明最小值典型值最大值单位 满额度差分输入范围 V(inp)-V(inn) ±0.5(AVDD/GAIN) V 有效位数 (Effective- Number-of-Bits) (1) 增益 = 128, 速率 =10Hz 19.7 Bits 无噪声位数 (Noise- Free Bits) (2) 增益 = 128, 速率 =10Hz 17.3 Bits 积分非线性 (INL) 满量程的百分比 ±0.001 %of FSR 输入共模电压范围 AGND+1.2 AVDD-1.3 V 输出数据速率使用片内振荡器,RATE = 0 10 Hz 使用片内振荡器,RATE = DVDD 80 外部时钟或晶振,RATE = 0 f clk /1,105,920 外部时钟或晶振,RATE = DVDD f clk /138,240 输出数据编码二进制补码 800000 7FFFFF HEX (3) 输出稳定时间 RATE = 0 400 ms RATE = DVDD 50 输入零点漂移增益 = 128 0.1 mv 增益 = 64 0.2 mv 输入噪声增益 = 128,RATE = 0 50 nv(rms) 增益 = 128,RATE = DVDD 90 温度系数输入零点漂移 ( 增益 = 128) ±12 nv/ 增益漂移 ( 增益 = 128) ±7 ppm/ 输入共模信号抑制比增益 = 128,RATE = 0 100 db 电源干扰抑制比增益 = 128,RATE = 0 100 db 输出参考电压 (V BG ) 1.25 V 外部时钟或晶振频率 1 11.0592 20 MHz 电源电压 DVDD 2.6 5.5 V AVDD,VSUP 2.6 5.5 模拟电源电流正常工作 1500 µa ( 含稳压电路 ) 断电 0.5 数字电源电流正常工作 100 µa 断电 0.2 (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
模拟输入 通道 A 模拟差分输入可直接与桥式传感器的差分输出相接 由于桥式传感器输出的信号较小, 为了充分利用 A/D 转换器的输入动态范围, 该通道的可编程增益较大, 为 128 或 64 这些增益所对应的满量程差分输入电压分别 ± 20mV 或 ±40mV 通道 B 为固定的 32 增益, 所对应的满量程差分输入电压为 ±80mV 通道 B 应用于包括电池在内的系统参数检测 供电电源 数字电源 (DVDD) 应使用与 MCU 芯片相同的的数字供电电源 HX711 芯片内的稳压电路可同时向 A/D 转换器和外部传感器提供模拟电源 稳压电源的供电电压 (VSUP) 可与数字电源 (DVDD) 相同 稳压电源的输出电压值 (V AVDD) 由外部分压电阻 R 1 R 2 和芯片的输出参考电压 VBG 决定 ( 图 1),V AVDD=V BG(R 1+R 2)/R 2 应选择该输出电压比稳压电源的输入电压 (V SUP) 低至少 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 A 64 表三输入通道和增益选择 PD_SCK 的输入时钟脉冲数不应少于 25 或多于 27, 否则会造成串口通讯错误 当 A/D 转换器的输入通道或增益改变时, A/D 转换器需要 4 个数据输出周期才能稳定 DOUT 在 4 个数据输出周期后才会从高电平变低电平, 输出有效数据 AVIA SEMICONDUCTOR 4
当前转换周期 下一个转换周期 一个数据输出周期时间 DOUT MSB LSB T2 T3 T1 PD_SCK 1 2 3 4 24 25 下一次转换 : 通道 A, 增益 128 PD_SCK 1 2 3 4 24 25 26 T4 下一次转换 : 通道 B, 增益 32 PD_SCK 1 2 3 4 24 25 26 27 下一次转换 : 通道 A, 增益 64 图二数据输出, 输入通道和增益选择时序图 符号 说明 最小值典型值最大值单位 T1 DOUT 下降沿到 PD_SCK 脉冲上升沿 0.1 µs T2 PD_SCK 脉冲上升沿到 DOUT 数据有效 0.1 µs T3 PD_SCK 正脉冲电平时间 0.2 50 µs T4 PD_SCK 负脉冲电平时间 0.2 µs 复位和断电 当芯片上电时, 芯片内的上电自动复位电路会使芯片自动复位 管脚 PD_SCK 输入用来控制 HX711 的断电 当 PD_SCK 为低电平时, 芯片处于正常工作状态 断电控制 : 进入正常工作状态 芯片从复位或断电状态进入正常工作状态后, 通道 A 和增益 128 会被自动选择作为第一次 A/D 转换的输入通道和增益 随后的输入通道和增益选择由 PD_SCK 的脉冲数决定, 参见串口通讯一节 芯片从复位或断电状态进入正常工作状态后,A/D 转换器需要 4 个数据输出周期才能稳定 DOUT 在 4 个数据输出周期后才会从高电平变低电平, 输出有效数据 PD_SCK 图三 60µ s 断电 断电控制 正常工作 如果 PD_SCK 从低电平变高电平并保持在高电平超过 60µs,HX711 即进入断电状态 ( 图三 ) 如使用片内稳压电源电路, 断电时, 外部传感器和片内 A/D 转换器会被同时断电 当 PD_SCK 重新回到低电平时, 芯片会自动复位后 应用实例 图四为 HX711 芯片应用于计价秤的一个参考电路图 该方案使用内部时钟振荡器 (XI=0),10Hz 的输出数据速率 (RATE=0) 电源 (2.7~5.5V) 直接取用与 MCU 芯片相同的供电电源 通道 A 与传感器相连, 通道 B 通过片外分压电阻 ( 未在图一中显示 ) 与电池相连, 用于检测电池电压 AVIA SEMICONDUCTOR 5
充电电路 LED 稳压管 1u 磁珠 L1 LCD 电池 Q1 0.1u 传感器 0.1u 1k 4.7k VSUP BASE AVDD VFB AGND VBG INNA INPA DVDD RATE XI XO DOUT PD_SCK INPB INNB VDD I/O I/O 0.1u HX711 MCU 1k 图四 HX711 计价秤应用参考电路图 L1: 用于隔离模拟与数字电源 ; Q1: 用于关断传感器和 ADC 电源 参考 PCB 板 ( 单层 ) 图五为与 HX711 相关部分的 PCB 板参考设计线路图 图五为相应的单层 PCB 板参考设计板图 图五 与 HX711 相关部分的 PCB 板参考设计线路图 AVIA SEMICONDUCTOR 6
图六 与 HX711 相关部分的单层 PCB 板参考设计板图 AVIA SEMICONDUCTOR 7
参考驱动程序 ( 汇编 ) /*------------------------------------------------------------------- 在 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
参考驱动程序 (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
封装尺寸 9.90 10.10 9.70 6.00 6.20 5.80 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
参考电路板 参考驱动程序 常见问题 问 : 答 : 问 : 答 : AVIA SEMICONDUCTOR 11