- •Семейство микроконтроллеров aDuC70xxс прецизионной подсистемой аналогоцифрового преобразования.
- •Общее описание
- •Терминология и сокращения
- •Дифференциальная нелинейность
- •Погрешность смещения
- •Погрешность усиления
- •Режим 16-битных команд Thumb (t)
- •Умножение 32-разрядных чисел (m)
- •Встроенный отладчик EmbeddedIce (I)
- •Исключения
- •Регистры arm
- •Время обработки прерывания
- •Организация памятив aDuC70xx
- •Память Flash/ее
- •Память sram
- •Регистры внутрикристальных периферийных устройств.
- •Функция преобразования ацп
- •Тактирование
- •Особенности ацп в микросхеме aDuC7019
- •Интерфейс ацп с регистрами mmrs
- •Дифференциальный режим
- •Псевдодифференциальный режим
- •Однополярный режим
- •Структура аналогового входа
- •Подача сигнала на аналоговые входы
- •Калибровка ацп
- •Датчик температуры
- •Источник опорного напряжения
- •Энергонезависимая память flash/ee
- •Надежность Flash/ee памяти
- •Программирование флэш-памяти через последовательные интерфейсы.
- •Программирование флэш-памяти через интерфейс jtag
- •Интерфейс управления памятью Flash /ee
- •Защита памяти flash/ee
- •Существует два уровня защиты:
- •Последовательность записи ключа такова:
- •Интерфейс управления памятью Flash /ee
- •Подробное описание регистров интерфейса управления памятью Flash/ee
- •Время выполнения программы из памяти sram и из флэш-памяти
- •Отображение блоков памяти в адресное пространство
- •Причины формирования сигнала начального сброса reseTи действие этого сигнала
- •Прочая аналоговая периферия
- •Использование цап
- •Монитор источника питания
- •Компаратор
- •Генератор и схема фапч Система тактирования микроконтроллера
- •Использование внешнего кварцевого резонатора
- •Переход в режим тактирования от внешнего генератора
- •Система управления питанием
- •Интерфейс системы управления питанием и тактированием
- •Цифровая периферия Трехфазный широтно-импульсный модулятор (шим)
- •Модели в 40-выводных корпусах (aDuC7020, 21, 22)
- •Описание блока шим
- •Отключение блока шим
- •Портыдискретного параллельного ввода/вывода
- •Последовательные интерфейсы в микросистемах aDuC70xx
- •Мультиплексирование выводовпоследовательныхинтерфейсов
- •Последовательный интерфейс uart
- •Структурная схема передатчика и приёмника
- •Набор линий интерфейса и протокол канального уровня
- •Контрольный бит и спобобы его использования
- •Задание скорости передачи (частоты следования битовых интерваловBaudrate) в aDuC70xx
- •Дробный делитель (FractionalDivider)
- •Основные регистры сф, ассоциированные с подсистемой uart
- •Сетевой режим с аппаратной поддержкой адресации.
- •Последовательный синхронный периферийный интерфейс spi.
- •Последовательные интерфейсы i2c Блок программируемой логики
- •Подсистема прерываний микрокомпьютера aDuC70xx
- •Источники запросов прерываний
- •Интерфейс внешней параллельной адресуемой магистрали
- •Таймерная подсистема
Подача сигнала на аналоговые входы
При работе АЦП может применяться внутренний или внешний источник опорного напряжения. В дифференциальном режиме существуют ограничения на величину синфазного сигнала (VCM), зависящие от величины VREF и от напряжения источника питания, так как сигнал должен находиться в границах напряжения питания. В табл. 10 приведены некоторые величины VCMMIN и VCMMAX для некоторых условий.
Калибровка ацп
Значения, записанные изготовителем в регистры ADCOF (коэффициент смещения) и ADCGN (коэффициент усиления) по умолчанию, дают оптимальные рабочие характеристики в показателях конечных ошибок и свойства линейности для автономных процессов (смотри раздел технических характеристик). Если требуется системная калибровка, возможно изменение заданных по умолчанию коэффициентов смещения и усиления для улучшения показателя конечных ошибок, но следует иметь в виду, что любое изменение установленных изготовителем значений регистров ADCOF и ADCGN может ухудшить показатель линейности АЦП.
Для устранения погрешности смещения необходимо снаружи подключить аналоговый вход к "земле" AGND. Для подбора величины в регистре ADCOF необходимо создать программный цикл, с помощью которого необходимо добиться значения кода в регистре ADCDAT равного 0 или 1. Если значение регистра ADCDAT превосходит 1, то значение регистра ADCOF следует уменьшать, пока значение кода в регистре ADCDAT не примет значение 0 или 1. Погрешность смещения устраняется в цифровом виде, разрешение схемы устранения погрешности смещения составляет 0.25·ЕМР и диапазон компенсации ±3.125% от VREF.
Для коррекции коэффициента усиления необходимо снаружи подключить аналоговый вход к источнику VREF. Для подбора величины в регистре ADCGN необходимо создать программный цикл, с помощью которого необходимо добиться значения кода в регистре ADCDAT равного 4094 или 4095. Если значение регистра ADCDAT меньше 4094, то значение регистра ADCGN следует увеличивать, пока значение кода в регистре ADCDAT не примет значение 4094 или 4095. Подобно схеме калибровки смещения, разрешающая способность схемы калибровки усиления составляет 0.25·ЕМР и диапазон компенсации ±3% от VREF
Датчик температуры
В микросхеме ADuC702x со встроенного источника опорного напряжения имеется выход сигнала, пропорцио-нального величине абсолютной температуры. Этот сигнал может подаваться на вход АЦП через внутренний мультиплексор (в сущности, это – дополнительный аналоговый канал), обеспечивая измерение температуры кристалла с точностью ±3°C.
Следующий пример демонстрирует, как можно работать с встроенным датчиком температуры
int main(void){
float a = 0;
short b;
ADCCON = 0x20; // power-on the ADC
delay(200);
ADCCP = 0x10; // Select Temperature Sensor as an input to the ADC
REFCON = 0x01; // connect internal 2.5Vreference to Vref pin
ADCCON = 0xE4; // continuous conversion
while(1){
while (!ADCSTA){};// wait for end of conversion
b = (ADCDAT >> 16); // To calculate temperature in °C, use the formula:
a = 0x525 - b;// ((Temperature = 0x525 – Sensor Voltage) / 1.3)
a /= 1.3;
b = floor(a);
printf("Temperature: %d oC\n",b);
}
return 0;
}