- •Семейство микроконтроллеров 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
- •Источники запросов прерываний
- •Интерфейс внешней параллельной адресуемой магистрали
- •Таймерная подсистема
Последовательность записи ключа такова:
В регистре FEEPRO сбросить бит, соответствующий защищаемой странице.
Разрешить защиту ключом, для чего установить биты 6 и 3 регистра FEEMOD.(бит 5 должен быть равен 0 )
Записать 32-разрядный две 16-битовые половины ключа в регистры FEEADR,FEEDAT.
Осуществить запись ключа командой 0x0C в регистре FEECON, ожидать подтверждение успешности записи по состоянию регистра FEESTA.
Подать на ИМС сигнал RESET.
Для того, чтобы снять защиту или изменить ее конфигурацию, необходима та же последовательность действий с соответственно модифицированным значением FEEPRO.
Только полное стирание снимет защиту, но при этом также стирается весь пользовательский код
Вышеприведенную последовательность действий проиллюстрируем на примере, в котором защищаются от записи страницы с 4 по 7 памяти Flash:
FEEPRO=0xFFFFFFFD; // Очистить биты, защищающие страницы с 4 по 7
FEEMOD=0x48; // Разрешить запись «ключа»
FEEADR=0x1234; //16 бит – первая половина «ключа»
FEEDAT=0x5678; // 16 бит– вторая половина«ключа»
FEECON= 0x0C; // Команда «запись ключа»
Интерфейс управления памятью Flash /ee
При последовательном, параллельном программировании или программировании через интерфейс JTAG используется управляющий интерфейс памяти Flash/EE, в который входят следующие регистры:
FEESTA: регистр только для чтения, показывает состояние управляющего интерфейса памяти Flash
FEEMOD: устанавливает режим работы управляющего интерфейса памяти Flash
FEECON: 8-разрядный регистр команд. Команды описаны в табл. 14
FEEDAT: 16-разрядный регистр данных.
FEEADR: 16- разрядный регистр адреса.
FEESIGN: 24-разрядный регистр сигнатуры (контрольной суммы)
Подробное описание регистров интерфейса управления памятью Flash/ee
Регистр FEESTA– адрес 0xFFFFF800, разрядность 8, доступ Ro регистр состоянияфлэш-контроллера. (В описании ver.D на стр. 48, в табл.32 ошибочно указана разрядность 16.)
Биты |
Описание |
7:4 |
Резервированы |
3 |
Бит запроса прерывания от Flash-контроллера, устанавливается автоматически по окончании операции, если разрешено прерывание от Flash (битом FEEMOD:4). Сбрасывается при чтении регистра FEESTA. |
2 |
Бит занятости Flash-контроллера. Единичное состояние указывает на то, что Flash-контроллер выполняет операцию. Сбрасывается автоматически по окончании операции. |
1 |
Флаг неуспешного завершения команды, устанавливается автоматически. Например, это происходит, если установлена защита записи. Сбрасывается при чтении регистра FEESTA.(Это может быть любое чтение, в том числе и запрос чтения от отладчика при пошаговом прохождении программы.) |
0 |
Флаг неуспешного завершения команды, устанавливается автоматически. Сбрасывается при чтении регистра FEESTA. (Это может быть любое чтение, в том числе и запрос чтения от отладчика при пошаговом прохождении программы.) |
Регистр FEEMOD– адрес 0xFFFFF804, разрядность 16, доступ R/W регистр режима флэш-контроллера
Биты |
Описание |
15:9 |
Резервировано |
8 |
Резервировано. Должно быть всегда 0 |
7:5 |
Используется при записи ключевой комбинации, либо должно быть 000 |
4 |
Устанавливается/сбрасывается пользователем для разрешения/запрета прерывания по окончании операции флэш-контроллера. |
3 |
Устанавливается/сбрасывается пользователем для разрешения/запрета операций стирания и записи. |
2:0 |
Резервировано. Должно при записи быть всегда 0. |
Регистр FEECON– адрес 0xFFFFF808, разрядность 8, доступ R/W Регистр команд. При записи одного из значений, приведенных в таблице, запускается соответствующая операция. По окончании операции, в зависимости от успешности,в регистре FEESTA устанавливается бит0 (успешно) либо бит1 (ошибка).
Код |
Команда |
Описание |
0x001) |
Пустая |
(??? Проверить действие) |
0x011) |
Одиночное чтение |
Загружает в регистр FEEDAT содержимое адреса, на который указывает FEEADR. |
0x021) |
Одиночная запись |
Записывает содержимое регистра FEEDAT по адресу, на который указывает FEEADR. |
0x031) |
Стирание/ Запись |
Стирает страницу, определяемую содержимым FEEDAT, а затем записывает содержимое FEEDAT по адресу FEEADR. Эта операция выполняется около 24 мс. |
0x041) |
Одиночная проверка |
Сравнивает содержимое памяти по адресу FEEADR с содержимым FEEDAT. При несовпадении устанавливается бит FEESTA:1 |
0x051) |
Стирание страницы |
Стирает страницу, включающую адрес FEEADR. |
0x061) |
Общее стирание |
Стирает пользовательскую часть Flash-памяти (62 кБ). Операция выполняется около 2,48 с. Команда может быть инициирована только использованием ключевой командной последовательности. |
0x07 |
Резервировано |
Резервировано |
0x08 |
Резервировано |
Резервировано |
0x09 |
Резервировано |
Резервировано |
0x0A |
Резервировано |
Резервировано |
0x0B |
Сигнатура |
Возвращает 24-битовую «сигнатуру» содержимого Flash-памяти в регистр FEESIGN. Эта операция выполняется в течение 32778 тактов. |
0x0C |
Защита |
Запись ключа защиты. Эта команда может быть выполнена лишь единожды. Содержимое FEEPRO сохраняется и может быть изменено лишь общим стиранием (0x06), либо с использованием установленного ключа защиты. |
0x0D |
Резервировано |
Резервировано |
0x0E |
Резервировано |
Резервировано |
0x0F |
Ping |
Генерирует запрос прерывания от Flash-контроллера (для тестирования) |
1)После выполнения любой из отмеченных команд чтение этого регистра всегда возвращает 0x07.
Регистр FEEDAT– адрес 0xFFFFF80C, разрядность 16, доступ R/W Регистр данных интерфейса флэш-памяти.При выполнении операции записи содержимое этого регистра используется как источник данных, т.е. записывается в полуслово флэш-памяти, на которое указывает регистр FEEADR.
Регистр FEEADR– адрес 0xFFFFF810, разрядность 16, доступ R/W Регистр адреса флэш-памяти. Этот регистр: ‑ для операций одиночной записи и одиночного чтения
Регистр FEESIGN– адрес 0xFFFFF818, разрядность 24, доступ Ro В этот регистр возвращается «сигнатура» содержимого флэш-памяти.Сигнатура это 24 битовая величина, рассчитываемая по значениям всего содержимого всей Flash-памяти. Алгоритм вычисления сигнатуры построен таким образом, что малое количество изменений содержимого обязательно приводит к изменению значения сигнатуры. Сравнение сигнатур позволяет выявить искажения отдельных битов содержимого памяти.
Регистр FEEPRO – адрес 0xFFFFF81C, разрядность 32, доступ R/W Регистр энергонезависимой защиты, позволяет указать вид защиты (по чтению или по записи), а также указать области флэш-памяти, защищаемые по записи (см. табл). ???
Регистр FEEHIDE – адрес 0xFFFFF820, разрядность 32, доступ R/W Регистр энергонезависимой защиты, позволяет указать вид защиты (по чтению или по записи), а также указать области флэш-памяти, защищаемые по записи (см. табл). ???
Формат регистров FEEPRO и FEEHIDE.
Биты |
Описание |
31 |
Защита всей флэш-памяти по чтению. Для установки защиты это бит следует сбросить. |
30:0 |
Защита 2К-областей Flash-памяти по записи. Сброс бита 0 защищает страницы 0...3, сброс бита 1 – страницы 4...7,..., сброс бита 30 защищает страницы 120...123. Для защиты соответствующие биты следует сбросить. |
Последовательность команд для полного стирания
FEEDAT=0x3CFF;
FEEADR = 0xFFC3;
FEEMOD= FEEMOD|0x8; //ключ стирания
FEECON=0x06; // Полноестирание