![]() |
Код АЦП и напряжение. Часть 1 |
Это математика: как преобразовать код АЦП в напряжение (часть 1)
1 апреля 2016 г.,
Кристофер Холл, Texas Instruments
Многие новички в аналого-цифровых преобразователях (АЦП) задаются вопросом, как преобразовать код АЦП в напряжение. Или, возможно, их вопрос специфичен для приложения, например, как преобразовать код АЦП обратно в физическую величину, такую как ток, температура, вес или давление. В этой серии статей из двух частей я расскажу, как выполнить это математическое преобразование для различных приложений. В части 1 я объясню, как преобразовать код АЦП обратно в соответствующее ему напряжение. Во части 2 я на нескольких примерах приложений покажу, как вычислить интересующий физический параметр из измеренного напряжения. Преобразование кодов в напряженияАналоговые сигналы выборки АЦП предоставляют квантованный цифровой код для представления входного сигнала. Цифровые выходные коды подвергаются постобработке, и результаты могут быть сообщены пользователю, который будет использовать эту информацию для принятия решений и выполнения действий. Поэтому важно правильно соотносить цифровые коды с аналоговыми сигналами, которые они представляют. В общем случае входное напряжение АЦП связано с выходным кодом простой зависимостью, как показано в уравнении 1:
где VIN (V) — входное напряжение АЦП (относится к входу, как описано ниже), Output Code — цифровой выходной код АЦП в десятичном формате (число отсчетов), а LSB Size — значение или вес младшего значащего бита (LSB) в коде АЦП. Уравнение 1 — это общее уравнение, которое может работать для любого АЦП. Неважно, находится ли выходной код АЦП в прямом двоичном формате или в формате дополнения до двух, пока двоичное число правильно преобразовано в эквивалентное десятичное значение. Определение размера LSBПосле завершения преобразования АЦП вычислите входное напряжение, умножив десятичное значение выходного кода на размер LSB. Знание размера LSB является ключом к преобразованию между кодами и напряжениями. Уравнение 2 определяет размер младшего значащего бита:
где FSR — полный диапазон входного сигнала АЦП (в вольтах), пропорциональный опорному напряжению, а N — количество бит в выходном коде АЦП. 2N равно общему количеству кодов АЦП. Размер LSB равен диапазону входного сигнала полной шкалы (FSR), деленному на общее количество кодов АЦП. Это эквивалентно размеру шага каждого кода, необходимого для покрытия всего входного диапазона. На рисунке 1 показана ступенчатая функция 4-битного АЦП (24 = 16 кодов), которая отображает входные напряжения в выходные коды.
Рисунок 1: Передаточная функция входа АЦП (N = 4) Полный диапазон и входное напряжениеВажно обратить внимание на FSR конкретного АЦП, который вы используете, так как он различается у разных АЦП. FSR всегда пропорционален опорному напряжению и может также зависеть от любого внутреннего усиления, как показывает уравнение 3:
где VREF — опорное напряжение АЦП (в вольтах); m — масштабный коэффициент опорного напряжения (например, если диапазон дифференциального входа АЦП допускает входные напряжения от -VREF до VREF , то m = 2, так что FSR = 2VREF ), а Gain — внутренний коэффициент усиления АЦП (если есть; в противном случае он равен 1 В/В). Я включил коэффициент усиления в это уравнение для расчета входного напряжения в случаях, когда АЦП включает каскад усиления, как показано на рисунке 2.
Рисунок 2: Входное напряжение Для дельта-сигма АЦП обычно интегрируют каскад усиления программируемого усилителя (PGA) перед входами АЦП; вот почему уравнение 3 включает член Gain. Включая усиление PGA в расчет FSR, расчет размера LSB учитывает это усиление. Это означает, что при умножении выходного кода на размер LSB результатом является входное напряжение (VIN ) до входа PGA, как показано на рисунке 2, а не усиленное (выходное) напряжение. Обратите внимание, что если система использует дополнительное согласование сигнала до АЦП, эффекты этой схемы могут потребовать дополнительных вычислений для определения входного напряжения системы (до схемы согласования сигнала). Пример кодаВ большинстве случаев код АЦП считывается микроконтроллером в 8-битных сегментах и объединяется в 32-битный тип данных. Если разрешение АЦП меньше 32 бит и выходной код имеет знак, данные необходимо будет расширить до 32-битного целочисленного типа данных, чтобы сохранить знак. Код на рисунке 3 показывает пример этой операции.
Рисунок 3: Пример кода считывания данных 24-битного АЦП Теперь, когда вы знаете, как преобразовать коды АЦП в соответствующие им входные напряжения, следующим шагом будет понимание взаимосвязи между входным напряжением АЦП и интересующим вас физическим параметром. Я рассмотрю это подробнее в части 2. |
Дата последнего изменения: 07.04.2025 |