HX711: 24-битный АЦП с дифференциальными входами |
![]() |
Добавил(а) microsin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HX711 это точный 24-разрядный АЦП (ADC), основанный на патентованной технологии Avia Semiconductor. Он разработан для непосредственного считывания напряжения с моста тензодатчиков весов (таких как DYLY-102 компании Daysensor [2]) и других промышленных приложений. Входной мультиплексор выбирает дифференциальный вход канала A или B для малошумящего усилителя с программируемым коэффициентом усиления (programmable gain amplifier, PGA). Канал A можно запрограммировать на усиление 128 или 64, что соответствует полному диапазону (full-scale) дифференциального входного напряжения ±20mV или ±40mV соответственно, когда питание 5V подключено к выводу аналогового питания AVDD. У канала B фиксированное усиление 32. Встроенный регулятор питания устраняет необходимость во внешнем регуляторе, чтобы запитывать ADC и подключаемый к нему сенсор. Предусмотрено гибкое тактирование. Это может быть либо внешний источник тактового сигнала, либо кварцевый резонатор, либо может использоваться встроенный в чип внутренний RC-генератор, в последнем случае никаких внешних компонентов не требуется. Встроенная система сброса по включению питания (power-on-reset) упрощает инициализацию цифрового интерфейса. Не требуется программирование никаких внутренних регистров. Все управление HX711 осуществляется через его выводы. Основные функциональные особенности HX711: • Два входных дифференциальных канала, которые можно выбирать. Рис. 1. Типовая схема подключения к измерительному мосту (тензодатчику) весов. Цоколевка выводов: Таблица 1. Описание выводов.
Примечание: NC означает Not Connected, никуда не подключено. Таблица 2. Основные электрические характеристики.
Примечания: (1) V(inp) напряжение на положительном выводе дифференциального входа, V(inn) на отрицательном выводе дифференциального входа. Аналоговые входы. Канал A имеет дифференциальный вход, который непосредственно подключается к дифференциальному выходу мостового датчика (такого как например тензодатчик DYLY-102 [2]). Усиление канала A может быть выбрано 128 или 64. Большое усиление подойдет к небольшому уровню сигнала от сенсора. Когда на выводе AVDD используется напряжение питания 5V, эти коэффициенты усиления соответствуют полному диапазону входного напряжения ±20 mV или ±40 mV соответственно. У дифференциального входа канала B усиление фиксированное, и равное 32. Когда для AVDD используется питание 5V, это соответствует полному диапазону входного напряжения ±80 mV. Питание. Цифровое питание (DVDD) должно совпадать с напряжением питания управляющего микроконтроллера (MCU). Когда используется внутренний аналоговый регулятор питания, падение напряжения на регуляторе зависит от внешнего используемого транзистора. Выходное напряжение равно VAVDD = VBG * (R1+R2) / R1 (см. рис. 1). Это напряжение должно быть на 100 mV ниже напряжения VSUP. Если встроенный регулятор аналогового напряжения не используется, то вывод VSUP должен быть подключен либо к AVDD, либо к DVDD, в зависимости от того, какое напряжение больше. Вывод VFB должен быть подключен к земле (GND), и вывод BASE ставится NC (Not Connected, не подключен). При этом не нужен внешний блокировочный конденсатор на выводе VBG, показанный на рис. 1. Тактирование. При подключении вывода XI к земле (GND) активируется встроенный генератор. Номинальная скорость вывода данных при использовании внутреннего генератора равно 10SPS (RATE=0) или 80SPS (RATE=1). Если нужна точная частота выходных данных, то может использоваться кварцевый резонатор или внешний опорный генератор. Кварц может быть непосредственно подключен между выводами XI и XO. Внешний тактовый сигнал может быть подключен к выводу XI через развязывающий конденсатор 20 пФ. Внешний тактовый сигнал необязательно должен быть прямоугольным. Он может поступать непосредственно от выхода кварцевого генератора чипа MCU, с амплитудой до 150 mV. Когда используется кварц или внешняя тактовая частота, внутренний генератор автоматически выключается. Скорость и формат выходных данных. Когда используется встроенный генератор, скорость выходных данных обычно 10SPS (RATE=0) или 80SPS (RATE=1). Когда используется внешний тактовый генератор или кварц, скорость выходных данных прямо пропорциональна частоте тактов. При 11.0592 МГц получается точная скорость выходных данных 10SPS (RATE=0) или 80SPS (RATE=1). Выходные 24 бита данных имеют формат дополнения до 2. Когда входной дифференциальный сигнал выходит за диапазон 24 бит, происходит насыщение до значение 800000h (MIN) или 7FFFFFh (MAX), пока входной сигнал не вернется во входной диапазон полной шкалы. Последовательный интерфейс. Выводы PD_SCK и DOUT используются для считывания данных, выбора входа, выбора усиления и управления питанием. Внутренняя схема HX711 сама запускает преобразование (оцифровку) уровня напряжения входов АЦП с заданной частой, зависящей от уровня на выводе RATE (10 или 80 Гц). Задача внешнего микроконтроллера прочитать данные результата преобразования, когда они будут готовы. Готовность данных можно определить по логическому уровню на выводе DOUT. Когда выходные данные не готовы для чтения, на цифровом выходе DOUT присутствует лог. 1. На входе тактов PD_SCK должен быть уровень лог. 0. Когда DOUT переходит в лог. 0, это означает готовность данных к чтению. Путем подачи 25 .. 27 положительных импульсов на вывод PD_SCK данные выдвигаются наружу через вывод DOUT. Каждый положительный импульс PD_SCK производит сдвиг на 1 бит, начиная со старшего бита (MSB), пока не будут выдвинуты все 24 бита. 25-й импульс PD_SCK приведет к обратному переводу DOUT в состояние лог. 1 (см. рис. 2). Выбор входа и усиления управляется количеством входных импульсов PD_SCK (таблица 3). Количество импульсов PD_SCK не должно быть меньше 25 и больше 27 в течение периода преобразования, чтобы не допустить ошибки последовательной коммуникации. Таблица 3. Входной канал и выбор усиления.
Рис. 2. Выход данных, тайминг и управление выбором входа и усиления.
Reset и Power-Down. Когда на чип подается питание, встроенная схема сбрасывает чип в исходное состояние. Вывод PD_SCK используется для выключения HX711. Когда на входе PD_SCK лог. 0, чип находится в нормальном рабочем режиме. Рис. 3. Управление выключением (Power Down). Когда вывод PD_SCK меняет уровень с лог. 0 на лог. 1, и остается в таком состоянии на время больше 60 мкс, HX711 входит состояние выключения (power down mode, рис. 3). При использовании внутреннего регулятора для HX711 и внешнего преобразователя питания, выключается как HX711, так и преобразователь. Когда PD_SCK возвращается к низкому уровню, чип сбрасывается и переходит в нормальный режим работы. После события сброса (reset) или выключения (power-down) по умолчанию выбирается канал A с усилением 128. [Пример применения] На рис. 1 показана типовая схема применения HX711 для весов с тензодатчиком. Используется встроенный генератор (XI=0), скорость выходных данных 10 Гц (RATE=0). Единое напряжение питания (2.7V .. 5.5V)приходит непосредственно от шины питания MCU. Канал B может использоваться для определения уровня заряда батареи, на рис. 1 схема для этого не показана. Рис. 4. Образец принципиальной схемы (плата рис. 5). Рис. 5. Образец разводки печатной платы. Пример кода на языке ассемблера: /*------------------------------------------------------------------- Вызов из ASM: LCALL ReaAD Вызов из C: extern unsigned long ReadAD(void); . . unsigned long data; data=ReadAD(); . . ----------------------------------------------------------------------*/ Пример кода на языке C: sbit ADDO = P1^5; sbit ADSK = P0^0; Рис. 6. Размеры корпуса SOP-16L, указанные в миллиметрах. [Ссылки] 1. HX711 24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales site:sparkfun.com. |