Разделы

В сети

Пользователей: 121
Из них просматривают:
Аналоги: 80. Даташиты: 5. Инструкции: 1. Новости: 19. Профиль пользователя: 1. Теги: 1. Форум: 14.
Участников: 1
Гостей: 120

Google , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

ATmega128. Интерфейс JTAG и встроенная отладочная система

Написал MACTEP 31.03.2010 7:50:00 (Просмотров: 9187)

Интерфейс JTAG и встроенная отладочная система



 

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

  • Интерфейс JTAG (совместимость со стандартом IEEE 1149.1)
  • Функции граничного сканирования в соответствии с IEEE 1149.1 (JTAG)
  • Отладчик имеет доступ к следующим блокам микроконтроллера:
        – Все внутренние периферийные блоки
        – Внутреннее и внешнее ОЗУ
        – Внутренний файл регистров
        – Программный счетчик
        – ЭСППЗУ и флэш-память
  • Отладочная система поддерживает обширные условия прерывания, в т.ч.:
        – Прерывания по инструкциям AVR-микроконтроллера
        – Прерывание по изменению потока памяти программ
        – Пошаговое прерывание
        – Точки прерывания памяти программ по одиночному адресу или адресному диапазону
        – Точки прерывания памяти данных по одиночному адресу или адресному диапазону
  • Программирование флэш-памяти, ЭСППЗУ, конфигурационных бит и бит защиты программы через интерфейс JTAG
  • Встроенная отладочная система поддерживается AVR Studio

 

Введение

Интерфейс JTAG микроконтроллеров семейства AVR совместим со стандартом IEEE 1149.1 и может использоваться в следующих целях:

  • Тестирование печатных плат с помощью функции граничного сканирования
  • Программирование энергонезависимой памяти, конфигурационных бит и бит защиты программы
  • Встроенная отладка

Встроенная отладочная система управляется через специальные JTAG-инструкции, которые известны только внутри корпорации ATMEL и выбранным ATMEL сторонним поставщикам отладочных средств.

На рисунке 120 представлена функциональная схема интерфейса JTAG и встроенной отладочной системы. TAP-контроллер – цифровой автомат, который управляется сигналами TCK и TMS. TAP-контроллер выбирает в качестве сканируемой цепи (сдвигового регистра) между входом TDI и выходом TDO или регистр JTAG-инструкции или один из нескольких регистров данных. В регистре инструкции сохраняются JTAG-инструкции, которые управляют поведением регистра данных.

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

 

Порт доступа к функциям тестирования – TAP

JTAG-интерфейс задействует 4 вывода AVR-микроконтроллера. По JTAG-терминологии эти выводы в совокупности называются "Порт доступа к функциям тестирования" (TAP). В состав этого порта входят следующие сигналы:

  • TMS – Выбор режим тестирования. Данный вывод используется для навигации по цифровому автомату TAP-контроллера.
  • TCK: Синхронизация тестирования. JTAG-интерфейс работает синхронно по отношению TCK.
  • TDI: Тестовый ввод данных. Последовательный ввод данных сдвигом в регистр инструкции или регистр данных (цепи сканирования).
  • TDO: Тестовый вывод данных. Последовательный вывод данных из регистра инструкции или регистра данных.

 

По стандарту IEEE 1149.1 также определен опциональный TAP-сигнал: TRST – сброс тестирования, который у AVR-микроконтроллеров отсутствует.

Если конфигурационный бит JTAGEN незапрограммирован, то четыре TAP-вывода выполняют функции обычного порта ввода-вывода, а TAP-контроллер находится в состоянии сброса. Если же бит JTAGEN запрограммирован, а также сброшен бит JTD в регистре MCUCSR, то к входным сигналам порта TAP подключаются внутренние подтягивающие к плюсу питания резисторы и разрешается работа интерфейса JTAG для граничного сканирования и программирования. В тех случаях, когда TAP-контроллер не выполняет сдвиг данных, выход порта TAP (вывод TDO) находится в третьем состоянии и, поэтому, должен быть подключен к внешнему подтягивающему резистору или к другому аппаратному компоненту, который содержит свой подтягивающий резистор (например, вход TDI следующего устройства в цепи сканирования). В состоянии поставки конфигурационный бит JTAGEN запрограммирован. Системой встроенной отладки в дополнении к сигналам интерфейса JTAG используется вывод RESET, состояние которого оценивает отладчик для определения возникновения условия внешнего сброса. Кроме того, отладчик может установить низкий уровень на выводе RESET, поэтому, необходимо следить, чтобы источник внешнего сброса в исполнительном каскаде содержал только открытый коллектор (сток).

Функциональная схема интерфейса JTAG и отладочной системы
Рисунок 120 – Функциональная схема интерфейса JTAG и отладочной системы

Граф-автомат TAP-контроллера
Рисунок 121 – Граф-автомат TAP-контроллера

TAP-контроллер

TAP-контроллер – цифровой автомат с 16 состояниями, который управляет работой схемой граничного сканирования, схемой JTAG-программирования или встроенной системой отладки. Граф-автомат, представленный на рисунке 121, зависит от сигнала TMS (его значение показывается рядом с переходом на другое состояние) в момент возникновения нарастающего фронта на TCK. Исходным состоянием после сброса при подаче питания является СБРОС ТЕСТ-ЛОГИКИ.

Все сдвиговые регистры выполняют первым ввод/вывод младших разрядов. Допустим, что текущим состоянием является ТЕСТ-СТАРТ/СВОБОДЕН, тогда типичным сценарием использования интерфейса JTAG является:

  1. Формирование на входе TMS последовательности 1, 1, 0, 0 синхронно с нарастающим фронтом TCK для перевода в состояние сдвига регистра инструкции– СДВИГ ИР. Находясь в этом состоянии, выполняется сдвиг 4 разрядов JTAG-инструкции в регистр инструкции с входа TDI синхронно с нарастающим фронтом TCK. На входе TMS должен присутствовать низкий логический уровень в процессе ввода 3 младших разрядов для того, чтобы остаться в состоянии Сдвиг РИ. Старший разряд инструкции вводится сдвигом при выходе из данного состояния установкой лог. 1 на TMS. В процессе ввода инструкции через вывод TDI на выходе TDO выводится сдвигом код 0х01, означающий нахождение в состоянии СДВИГ РИ. JTAG-инструкция выбирает специфический регистр данных в качестве сдвигового регистра между выводами TDI и TDO, а также управляет схемой, связанной с регистром данных.
  2. Формирование на входе TMS последовательности 1, 1, 0 для повторного ввода в состояние ТЕСТ-СТАРТ/СВОБОДЕН. В состоянии МОДИФ. ИР инструкция защелкивается на параллельном выходе сдвигового регистра. Состояния ВЫХОД1 ИР, ПАУЗА ИР и ВЫХОД2 ИР используются только для навигации по цифровому автомату.
  3. Формирование на входе TMS последовательности 1, 0, 0 синхронного с нарастающими фронтами TCK для ввода состояния сдвига регистра данных – Сдвиг РД. Находясь в этом состоянии, загружается регистр данных (какой именно регистр определяется действующей инструкцией в регистре инструкции) с входа TDI нарастающим фронтом TCK. Для удержания состояния СДВИГ РД вход TMS должен оставаться в низком состоянии в процессе ввода всех разрядов за исключением последнего (старшего). Старший разряд вводится при выходе из этого состояния при установке высокого уровня на входе TMS. Во время последовательной записи в сдвиговый регистр с вывода TDI параллельные входы регистра данных захватываются в состоянии ЗАХВАТ РД и передаются сдвигом на выводе TDO.
  4. Формирование на входе TMS последовательности 1, 1, 0 для повторного ввода состояния ТЕСТ-СТАРТ/СВОБОДЕН. Если у выбранного регистра данных параллельный выход содержит защелку, то защелкивание происходит в состоянии МОДИФ. РД. Состояния ВЫХОД1 РД, ПАУЗА РД и ВЫХОД2 РД используются только для навигации по граф-автомату.

Как показано на граф-автомате состояние ТЕСТ-СТАРТ/СВОБОДЕН не должно вводиться между выбором JTAG-инструкции и использованием регистров данных, а также некоторые JTAG-инструкции активизируют функции, которые работают даже в состоянии ТЕСТ-СТАРТ/СВОБОДЕН, что делает это состояние неприемлемым в качестве свободного состояния.

Прим.: Независимо от исходного состояния TAP-контроллера перейти в состояние СБРОС ТЕСТ-ЛОГИКИ можно путем удержания входа TMS в высоком состоянии в течение 5 тактов TCK.

Более детальная информация по техническим требованиям к JTAG приведена в специализированной литературе (см. "Список литературы").

Использование цепи граничного сканирования

Полное описание возможностей граничного сканирования дано в разделе “Граничное сканирование с соответствии с IEEE 1149.1 (JTAG)”.

Использование встроенной отладочной системы

Как показано на рисунке 120 аппаратная часть отладочной системы состоит из:

  • Скан-цепь на интерфейсе между внутренним AVR ЦПУ внутренними периферийными блоками
  • Блок точек прерывания
  • Коммуникационный интерфейс между ЦПУ и JTAG-системой

Все операции чтения или модификация/запись, необходимые для работы отладчика, выполнены путем применения AVR-инструкций через внутреннюю скан-цепь AVR ЦПУ. ЦПУ отправляет результат в память ввода-вывода по указанному адресу, которая является частью коммуникационного интерфейса между ЦПУ и JTAG-системой.

Блок точек прерывания поддерживает прерывания по изменению программного потока, пошаговое прерывание, две точки прерывания в памяти программ и две комбинированных точки прерывания. Вместе, четыре точки прерывания могут конфигурироваться как:

  • 4 раздельных точки прерывания памяти программ
  • 3 раздельных точки прерывания памяти программ + 1 точка прерывания памяти данных
  • 2 раздельных точки прерывания памяти программ + 2 раздельных точки прерывания памяти данных
  • 2 раздельных точки прерывания памяти программ + 1 точка прерывания памяти программ с маской ("множество точек прерывания")
  • 2 раздельных точки прерывания памяти программ + 1 точка прерывания памяти данных с маской для задания множества точек прерываний

Однако, отладчик, например AVR Studio, может использовать только ограниченный набор этих возможностей, что снижает гибкость отладки для конечного пользователя. Перечень специфических JTAG-инструкций встроенной отладки представлен в разделе “Специальные JTAG-инструкции встроенной отладочной системы”.

Для разрешения работы порта доступа к функциям тестирования (TAP) необходимо запрограммировать конфигурационный бит JTAGEN. Кроме того, работа встроенной отладочной системы возможна только, если запрограммирован конфигурационный бит OCDEN и нет установленных бит защиты программы. В целях безопасности работа отладочной системы блокируется, если установлен какой-либо из бит защиты программы. В противном случае, отладочная система могла бы служить способом считывания защищенной разработчиком программы.

AVR Studio предоставляет разработчику полное управление выполнением программы AVR-микроконтроллера за счет использования встроенной в микроконтроллер отладочной системы, внутрисхемного эмулятора или автономного симулятора AVR-инструкций. AVR Studio поддерживает выполнение программ на Ассемблере, откомпилированных ассемблером корпорации Atmel, а также программ на Си, откомпилированных программами сторонних производителей.

AVR Studio работает под операционными системами Microsoft Windows 95/98/2000 и Windows NT. В данном документе представлены только общие черты программы AVR Studio, а полное описание представлено в "Руководство пользователя по AVR Studio" (AVR Studio User Guide).

Все необходимые команды могут быть выполнены в AVR Studio, как на уровне исходного кода, так и на дезассемблированном уровне. Пользователь может запустить программу на исполнение, выполнить программу пошагово как с переходом к обработке подпрограмм, так и без, выполнить шаг назад, выполнить программу до позиции курсора, остановить программу, а также сбросить текущий сеанс выполнения программы (эквивалентно сбросу микроконтроллера). Кроме того, пользователь может установить неограниченное число точек прерывания по адресу памяти программ (используя инструкцию BREAK) и до двух точек прерываний по обращению к адресам памяти данных, которые альтернативно могут образовывать маску адресов памяти данных для прерывания выполнения программы.

Специальные JTAG-инструкции встроенной отладочной системы

Встроенная отладочная система поддерживает специальные инструкции, которые известны только внутри корпорации ATMEL и сторонним производителям отладочных средств. Для справки ниже приведены коды операций.

PRIVATE0; $8 специальная JTAG-инструкция для обращения к встроенной отладочной системе.

PRIVATE1; $9 специальная JTAG-инструкция для обращения к встроенной отладочной системе.

PRIVATE2; $A специальная JTAG-инструкция для обращения к встроенной отладочной системе.

PRIVATE3; $B специальная JTAG-инструкция для обращения к встроенной отладочной системе.

Регистр встроенной отладочной системы – OCDR


 

<< Предыдущая страница Оглавление Следующая страница >>

Теги:

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Контактные щетки для микродеталей, электробритв и т.п. можно выпилить из графитовых стержней от старых батареек питания.

Похожие статьи