Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Цепь граничного сканирования

Поиск

Цепь граничного сканирования имеет возможность управления логическими уровнями и их контроля на всех линиях ввода-вывода. Более детально об этом см. в 28.6 "Цепь граничного сканирования".

Регистр данных PDICOM

Регистр данных PDICOM - 9-битный регистр, который используется для последовательно-параллельного и параллельно-последовательного преобразования данных между JTAG TAP и PDI. Подробности см. в разделе 29 "Интерфейс программирования и отладки".

Цепь граничного сканирования

Цепь граничного сканирования позволяет управлять логическими уровнями на линиях ввода-вывода и контролировать их. Чтобы гарантировать предсказуемость поведения микроконтроллера в процессе и после выполнения инструкций EXTEST, CLAMP и HIGHZ, микроконтроллер автоматически переходит в состояние сброса. В этом состоянии отключаются внешние генераторы, аналоговые модули и заданные программно настройки портов (в т.ч. подтяжка к плюсу или минусу, адаптивная подтяжка и выходы типа "Монтажное И/ИЛИ"). Необходимо заметить, что инструкции SAMPLE и PRELOAD не влияют на текущее состояние микроконтроллера и его портов.

Сканирование линий ввода-вывода

На рисунке 28.4 показана ячейка граничного сканирования, предусмотренная на каждой двунаправленной линии порта. Данная ячейка может управлять как направлением линии, так и её значением через двухступенчатый сдвиговый регистр. Если альтернативная функция линии ввода-вывода не используется, её направление будет зависеть от значения регистра DIR, состояние - от значения регистра OUT, а входное значение будет доступно через регистр IN (предварительно поступает к входному инвертору и синхронизатору). Линия Mode активизируется инструкцией CLAMP или EXTEST, а линия Shift DR равна единице, когда TAP-контроллер находится в состоянии СДВИГ-РД.

Рисунок 28.4. Ячейка граничного сканирования двунаправленной линии

Сканирование линий PDI

Для контроля за состоянием комбинированного вывода RESET/PDI_CLK и вывода PDI_DATA предусмотрены две специальные ячейки, имеющие только возможность контроля логических уровней. Несмотря на то, что вывод PDI_DATA является двунаправленным, он может только контролироваться, что необходимо для избавления от избыточной логики в выходном тракте PDI_DATA.

Рисунок 28.5. Ячейки с возможностями только контроля входов

Интерфейс программирования и отладки PDI

Отличительные особенности

· Интерфейс программирования и отладки (PDI)

· 2-проводной интерфейс для внешнего программирования и доступа к встроенной отладочной системе

· Использует вывод сброса (Reset) и еще один специальный вывод Test

· В программировании и отладке не участвуют линии ввода-вывода

· Особенности программирования

· Гибкий протокол передачи данных

· 8 гибких инструкций

· Минимальные затраты ресурсов на реализацию протокола

· Малое время программирования

· Частота синхронизации программирования 10 МГц при напряжении питания 1.8В

· Надежность

· Встроенное обнаружение и обработка ошибок

· Возможности отладки

· Не нарушает работу МК

· Не использует программных или аппаратных ресурсов

· Полное управление потоком программы

· Поддержка символьной отладки на аппаратном уровне

· Команды управления исполнением программы GO(пуск), STOP (стоп), RESET (сброс), STEP INTO (шаг с входом в подпрограмму), STEP OVER (шаг с обходом подпрограммы), STEP OUT (шаг с выходом из подпрограммы), RUN-TO-CURSOR (исполнение до курсора)

· 1 специальная точка останова по адресу памяти программ или символьная точка останова для AVR STUDIO/эмулятора

· 4 аппаратных точек останова

· Неограниченное количество точек останова программы пользователя

· ЦПУ участвует в доступе к памяти ввода-вывода, памяти данных и памяти программ

· Высокоскоростная работа

· Не предъявляются ограничения к частоте системной синхронизации

· Интерфейс JTAG

· Совместим со стандартом IEEE 1149.1

· Возможности граничного сканирования в соответствии со стандартом IEEE 1149.1 (JTAG)

· Те же функции программирования, что и у PDI

· Те же функции отладки, что и у PDI

Обзор

Интерфейс программирования и отладки (PDI) - разработанный компанией Atmel интерфейс доступа к встроенным в микроконтроллер блокам программирования и отладки.

PDI поддерживает высокоскоростное программирование всех пространств энергонезависимой памяти, в т.ч. Flash-память, EEPOM, Fuse-биты, Lock-биты и сигнатурный код пользователя. Программирование осуществляется путем доступа к контроллеру энергонезависимой памяти (NVM-контроллер) и выполнения NVM-контроллером команд, описанных в разделе 30 "Программирование памяти".

Встроенная отладочная система (OCD-система) функционирует полностью автономно. В процессе работы отладочной системы, не задействуются какие-либо программные или аппаратные ресурсы, кроме четырех линий ввода-вывода, выступающих в роли интерфейса JTAG (если он используется). OCD-система оснащена всеми возможностями управления потоком программы, поддерживает неограниченное число точек останова по данным и адресам программы, и может выполнить чтение или запись любой области памяти.

Возможности программирования и отладки доступны через два физических интерфейса. Основной интерфейс - PDI. Он представляет собой 2-проводной интерфейс, в т.ч. вывод Reset, использующийся в качестве входа синхронизации (PDI_CLK), и отдельный вывод Test, использующийся для ввода и вывода данных (PDI_DATA). У большинства микроконтроллеров также имеется интерфейс JTAG. Этот интерфейс является 4-проводным и тоже может использоваться для программирования и отладки. Интерфейс JTAG совместим со стандартом IEEE 1149.1 и поддерживает возможности граничного сканирования. Если не указывается иное, при любом дальнейшем упоминании PDI полагается доступ к нему через его же трансивер. Любой внешний программатор или адаптер встроенной отладочной системы/эмулятор может быть напрямую подключен к этим интерфейсам, не требуя при этом установки внешних компонентов.

Рисунок 29.1. Контроллер PDI с трансиверами JTAG и PDI, а также другими ближайшими модулями (выделены серым цветом)

Трансивер PDI

Трансивер PDI отвечает за обработку сигналов последовательного интерфейса на физическом уровне. Трансивер образован двунаправленным полудуплексным синхронным последовательным приемником и передатчиком (идентичен USART в режиме USRT). Трансивер поддерживает возможности обнаружения начала посылки, ошибок в посылке, генерации паритета, обнаружения ошибок паритета и обнаружения коллизий.

PDI доступен через два вывода:

· PDI_CLK: вход синхронизации PDI (вывод Reset).

· PDI_DATA: вход/выход PDI (вывод Test).

Кроме этих двух выводов, у внешнего программатора/отладчика и микроконтроллера необходимо соединить линии VCC и GND. Типовое подключение показано на рисунке 29.2.

Рисунок 29.2. Подключение к интерфейсу PDI

Остальная часть данного раздела ориентирована на производителей средств программирования микроконтроллеров XMEGA.

Разрешение работы

Перед тем как использовать трансивер PDI необходимо разрешить его работу. Для этого, вначале необходимо перевести линию PDI_DATA в высокое состояние на время, которое больше минимальной длительности внешнего импульса сброса (длительность внешнего импульса сброса уточните в документации на микроконтроллер). В результате такой операции, отключается функция сброса у вывода Reset (при условии, что эта функции не была отключена прежде fuse-битом).

Очередным действием, направленным на разрешение работы PDI, является удержание линии PDI_DATA в высоком состоянии в течение 16 циклов PDI_CLK (16 нарастающих фронтов). Первый цикл PDI_CLK должен появиться с задержкой не более 100 мкс после отключения функции сброса у вывода Reset. Если это требование не выполнить, функция сброса вывода Reset будет автоматически возобновлена и последовательность разрешения работы PDI придется повторить заново.

После выполнения всех описанных действий, PDI включается в работу и готов к приему инструкций. Последовательность разрешения работы показана на рисунке 29.3.

На выводе PDI_DATA имеется внутренний подтягивающий к минусу резистор, который активизируется одновременно с PDI.

Рисунок 29.3. Последовательность разрешения работы PDI

Отключение

Если частота синхронизации на линии PDI_CLK окажется меньшей приблизительно 10 кГц, это будет восприниматься как неактивность линии синхронизации и приведет к отключению PDI и возобновлению функции сброса у вывода Reset (PDI_CLK), но при условии, что функция сброса не была отключена fuse-битом. Если в процессе разрешения работы возникнут чрезмерные задержки, последовательность разрешения работы PDI придется начать заново.

Из сказанного следует, что минимальная частота программирования равна приблизительного 10 кГц.

Формат посылки и символы

Интерфейс PDI использует фиксированный формат посылки. Последовательная посылка образована 8 битами данных, старт-битом, стоп-битами и битом паритета.

Рисунок 29.4. Формат посылки интерфейса PDI

Таблица 1

St Старт-бит, всегда равен 0
(0-7) Биты данных (0…7)
P Бит паритета, используется четный паритет
Sp1 Стоп-бит 1, всегда равен 1
Sp2 Стоп-бит 2, всегда равен 1

Символы

Предусмотрено три символа: DATA, BREAK и IDLE. Символ BREAK генерируется передачей 12 бит низкого уровня. Символ IDLE равен по длительности 12 битам высокого уровня. Оба символа, BREAK и IDLE, могут быть дольше по длительности, чем 12 бит.

Рисунок 29.5. Символы и временные диаграммы интерфейса PDI



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 333; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.3.235 (0.008 с.)