- •Семейство микроконтроллеров 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
- •Источники запросов прерываний
- •Интерфейс внешней параллельной адресуемой магистрали
- •Таймерная подсистема
Время обработки прерывания
В самом худшем случае задержка для прерывания FIQ будет состоять из следующих частей:
время, которое запрос на прерывание проходит через блок синхронизации
время выполнения инструкции (дольше всего выполняется инструкция LDM, это загрузка всех регистров включая программный счетчик PC)
время для завершения цикла обмена данными
время для вхождения в FIQ.
После всех перечисленных этапов процессор будет выполнять инструкцию по адресу 0x1C (адрес вектора прерывания FIQ). Суммарное время будет составлять максимум 50 тактов процессора, это немного меньше, чем 1.2 мкс при тактовой частоте 41.78 MHz.
Максимальная задержка выполнения прерывания IRQ вычисляется подобным образом, но нужно учитывать, что прерывание FIQ имеет более высокий приоритет и может задержать вход в подпрограмму обработки прерывания IRQ на определенное число тактов. Это время может быть уменьшено до 42 циклов, если не используется команда LDM; некоторые компиляторы позволяют отключить применение команды LDM при компиляции. Еще одна возможность – работа в режиме THUMB, при этом время уменьшается до 22 тактов.
Минимальная задержка для прерывания FIQ или IRQ составляет 5 циклов – в случае, если задержка состоит только из прохождения через синхронизатор плюс время перехода в режим прерывания.
Обратите внимание, что когда ARM7TDMI находится в привилегированном режиме, т.е. выполняет подпрограмму обработки прерывания, он всегда работает в режиме ARM (32-разрядном).
Организация памятив aDuC70xx
Микроконтроллеры семейства содержат два физически различных блока памяти: 8 КБайт статической памяти, обеспечивающее быструю запись и чтение при работе программы, и 64 КБайт памяти Flash/EE, обеспечивающей быстрое чтение, запись программного кода и констант в нескольких режимах программирования, а также медленную программную запись в режиме исполнения ранее загруженной программы.
Из 64 КБайт памяти Flash/EE два КБ содержат программный код, записанный в процессе изготовления микросхем и защищенный от доступа со стороны конечного пользователя, и 62 КБ доступны.
Карта распределения адресов в 4ГБайт адресном пространстве приведена на рис.
0xFFFFFFFF 0xFFFF0000 |
Регистры периферийных устройств |
В состав микросхемы ADuC7019/.../28 входят два отдельных блока памяти: 8 kB ОЗУ SRAM и 64 kB памяти флэш/ЕЕ. Из памяти флэш/ЕЕ 62 kB доступны для пользователя, а оставшиеся 2 kB зарезервированы для программы загрузки. Эти два блока памяти показаны на рис. 4. Обратите внимание, что по умолчанию после загрузки память флэш/ЕЕ отображена по адресу 0x00000000. Имеется возможность отобразить по адресу 0x00000000 память ОЗУ SRAM путем сброса бита REMAP MMR. Данная функция "переадресации" памяти более подробно описана в главе "Память флэш/ЕЕ".
|
|
Не используется |
|
0x4000FFFF 0x40000000 |
Диапазон 3 адресов внешней памяти |
|
|
Не используется |
|
0x3000FFFF 0x30000000 |
Диапазон 2 адресов внешней памяти |
|
|
Не используется |
|
0x2000FFFF 0x20000000 |
Диапазон 1 адресов внешней памяти |
|
|
Не используется |
|
0x1000FFFF 0x10000000 |
Диапазон 0 адресов внешней памяти |
|
|
Не используется |
|
0x0008FFFF 0x00080000 |
Флэш-память для программ/данных – Flash/EE |
|
|
Не используется |
|
0x00011FFF 0x00010000 |
Статическая память для программ/данных ‑SRAM |
|
0x0000FFFF 0x00000000 |
Область векторов и перенаправляемый диапазон |
Память процессора ADuC7019/.../28 организована по принципу littleendian (младшие части многобайтовых информационных элементов расположены по младшим адресам). |
|