Ошибка смещения и ошибка усиления АЦП
Реальный АЦП ошибается не только на полшага квантования. Его характеристика может быть сдвинута относительно идеальной и иметь другой наклон. Эти две ошибки — смещение и усиление — обычно самые крупные в таблице точности, но, в отличие от нелинейности, их можно убрать калибровкой.
Обновлено Редакция GAW
Ошибка смещения (offset error) и ошибка усиления (gain error) АЦП — два отклонения его характеристики от идеальной прямой. Смещение сдвигает характеристику целиком, ошибка усиления меняет её наклон. Обе выражают в младших разрядах, LSB; цену одного LSB при данном опорном напряжении считают по формуле из термина «Младший разряд».
Определения
Даташит ATmega328P (разд. 24.6.3) определяет их по переходам кода:
- Смещение — насколько первый переход кода (0x000 → 0x001) отстоит от идеального положения на ½ LSB.
- Ошибка усиления — после исправления смещения насколько последний переход (0x3FE → 0x3FF у 10-разрядного АЦП) отстоит от идеального на 1½ LSB ниже максимума.
- Нелинейность INL и DNL считают уже после исправления обеих.
Совокупную ошибку без поправок Microchip называет абсолютной точностью, а ST — полной нескорректированной ошибкой ET (total unadjusted error).
Значения в даташитах
| Параметр | ATmega328P, VCC = VREF = 4 В, 200 кГц (тип.) | STM32F103, 3–3,6 В, 25 °C (тип. / макс.) | STM32F103, 2,4–3,6 В (тип. / макс.) |
|---|---|---|---|
| Смещение | 2 LSB тип. | ±1,0 / ±1,5 LSB | ±1,5 / ±2,5 LSB |
| Ошибка усиления | 2 LSB тип. | ±0,5 / ±1,5 LSB | ±1,5 / ±3 LSB |
| Полная ошибка | 2 LSB тип. | ±1,3 / ±2 LSB | ±2 / ±5 LSB |
Microchip задаёт эти параметры ATmega328P только типовыми значениями, предельных в таблице 29-15 нет, поэтому гарантией они не являются — см. «Типовое значение». Значения STM32F103 даны после внутренней калибровки (DS5319, табл. 49 и 50). Строки «Ошибка усиления» в столбцах определены по-разному: у Microchip — отклонение последнего перехода после вычета смещения, у ST по рис. 37 DS5319 — просто отклонение последнего перехода от идеального. При опорном 3,3 В у 12-разрядного АЦП 1 LSB ≈ 0,81 мВ, и ошибка усиления ±3 LSB на краю шкалы — около ±2,4 мВ (наш расчёт). Подробнее об АЦП STM32 и его калибровке — в статье «АЦП STM32».
Калибровка по двум точкам
Обе ошибки линейны, поэтому их убирают поправкой по двум известным напряжениям U1 и U2 с кодами N1 и N2:
Это обычная прямая через две точки (наша запись). После такой поправки остаются нелинейность, шум и дрейф с температурой. Самокалибровка STM32F1 (RM0008, разд. 11.4) — другое: она исправляет разброс конденсаторов внутреннего ЦАП, но ничего не знает о внешнем опорном напряжении и делителе на входе. Общая картина погрешностей — в статье «АЦП».
Не путать с напряжением смещения нуля операционного усилителя — это входная ошибка ОУ в вольтах; но если перед АЦП стоит усилитель, его смещение добавится к смещению АЦП.
Частые вопросы
Чем ошибка смещения отличается от ошибки усиления?
Смещение сдвигает всю характеристику: первый переход кода с 0 на 1 происходит не на ½ LSB, а раньше или позже, и эта ошибка одинакова во всём диапазоне. Ошибка усиления меняет наклон: после исправления смещения последний переход оказывается не на своём месте, и ошибка растёт к концу шкалы. По Microchip, ошибку усиления определяют уже после учёта смещения.
Что такое полная нескорректированная ошибка (TUE)?
Это наибольшее отклонение реальной характеристики от идеальной без всяких поправок — сумма действия смещения, усиления и нелинейности. У STM32F103 она обозначена ET: типично ±1,3, не больше ±2 LSB при питании 3–3,6 В и 25 °C и до ±5 LSB при 2,4–3,6 В (DS5319, табл. 49 и 50). Microchip похожий параметр называет абсолютной точностью.
Как убрать смещение и ошибку усиления?
Калибровкой по двум точкам: подать два известных напряжения у краёв диапазона, записать коды и пересчитывать каждый результат по прямой через эти две точки. Смещение и наклон при этом уходят, а нелинейность и шум остаются. Встроенная самокалибровка STM32F1 исправляет разброс конденсаторов внутреннего ЦАП, но не ошибку внешнего опорного напряжения.
Источники
- Microchip. ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet Complete (DS40002061B, 2020) — разд. 24.6.3: смещение — отклонение первого перехода (0x000 → 0x001) от идеального на 0,5 LSB; ошибка усиления — после учёта смещения отклонение последнего перехода (0x3FE → 0x3FF) от идеального на 1,5 LSB ниже максимума; INL и DNL — после учёта смещения и усиления; ошибка квантования ±0,5 LSB; абсолютная точность — совокупность смещения, усиления, нелинейности и квантования; табл. 29-15: при VREF = 4 В, VCC = 4 В и 200 кГц ошибка усиления и смещение — 2 LSB, абсолютная точность 2 LSB, все в столбце Typ (предельных значений нет)
- STMicroelectronics. DS5319 Rev 20. STM32F103x8, STM32F103xB datasheet — табл. 49 (VDDA 3–3,6 В, 25 °C, fADC 14 МГц, RAIN < 10 кОм, после внутренней калибровки): ET ±1,3 тип. / ±2 макс., EO ±1,0 / ±1,5, EG ±0,5 / ±1,5, ED ±0,7 / ±1,0, EL ±0,8 / ±1,5 LSB; табл. 50 (VDDA 2,4–3,6 В): ET ±2 / ±5, EO ±1,5 / ±2,5, EG ±1,5 / ±3; рис. 37 — определения: ET — наибольшее отклонение реальной характеристики от идеальной, EO — первого перехода, EG — последнего
- STMicroelectronics. RM0008 Reference manual: STM32F101xx–STM32F107xx (Rev 21, February 2021) — разд. 11.4: самокалибровка заметно снижает ошибки от разброса конденсаторов внутреннего ЦАП, рекомендуется после каждого включения питания
Нашли ошибку?
Смотрите также
- АЦПКвантование, формула кода, SAR, время выборки, погрешности, передискретизация
- INL и DNLНелинейность АЦП: неравные ступени и изгиб характеристики, пропущенные коды
- Младший разряд (LSB)Шаг квантования АЦП VREF / 2^N и ошибка ±½ LSB
- АЦП STM32Группы каналов, режимы, триггеры, DMA, калибровка, датчик температуры, точность