В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


28. IEEE 1149.1-совместимый интерфейс граничного сканирования JTAG

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

  • Интерфейс JTAG (совместим со стандартом IEEE 1149.1-2001)
  • Возможности граничного сканирования в соответствии со стандартом JTAG
  • Полное сканирование всех линий ввода-вывода
  • Поддержка обязательных JTAG-инструкций SAMPLE, PRELOAD, EXTEST и BYPASS
  • Поддержка опциональных инструкций IDCODE, HIGHZ и CLAMP
  • Поддержка специальной инструкции AVR-микроконтроллеров PDICOM для предоставления доступа к интерфейсу PDI, работающего в его опциональном режиме JTAG.

28.2. Обзор

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

Цепь граничного сканирования обладает возможностями управления логическими уровнями и их контроля на всех линиях ввода-вывода. На системном уровне, сигналы TDI/TD

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

    Стандартом IEEE 1149.1-2001 определены обязательные JTAG-инструкции IDCODE, BYPASS, SAMPLE/PRELOAD и EXTEST, а также опциональные инструкции CLAMP и HIGHZ, которые можно использовать для тестирования печатной платы. Исходное сканирование регистра данных позволяет узнать идентификационный код МК, т.к. IDCODE - это JTAG-инструкция по умолчанию. При необходимости максимального сокращения цепи сканирования в микроконтроллере, может быть введена инструкция BYPASS. Инструкция EXTEST предназначена для ввода/вывода состояния внешних выводов. Данные с выходов регистров окажутся на выводах МК сразу после загрузки инструкции EXTEST в регистр инструкции (РИ). Таким образом, чтобы избежать повреждения платы во время первого ввода инструкции EXTEST, задание исходных значений кольца сканирования лучше выполнить объединенной инструкцией SAMPLE/PRELOAD. Инструкцию SAMPLE/PRELOAD также выгодно использовать для опроса состояния внешних выводов МК в процессе его нормального функционирования, т.к. она никак не влияет на ход работы МК. С помощью инструкции CLAMP можно задать состояние выводов МК через регистры граничного сканирования при одновременной активизации обхода этих регистров, что эффективно сокращает общую длину пути сканирования. Альтернативно, для перевода выводов МК в неактивное состояние с одновременной активизацией обхода регистра граничного сканирования можно использовать инструкцию HIGHZ.

    Поддерживаемая только некоторыми AVR-микроконтроллерами инструкция PDICOM делает возможным использование регистра данных PDI в качестве интерфейса доступа к PDI в целях программирования и отладки. Обратите внимание, что инструкция PDICOM никак не влияет на цепь граничного сканирования, а лишь предоставляет альтернативный путь доступа к внутренним ресурсам программирования и отладки через интерфейс JTAG. Более детально о работе интерфейса программирования и отладки PDI см. в разделе 29 "Интерфейс программирования и отладки".

    Для разрешения работы интерфейса JTAG и TAP-порта необходимо запрограммировать Fuse-бит JTAGEN, а также обнулить бит JTAGD в регистре MCUCR.

    Когда интерфейс JTAG используется для граничного сканирования, частота TCK может быть выше внутренней частоты МК. Более того, граничное сканирование может работать даже при отключенной системной синхронизации.

    28.3. TAP-порт

    Интерфейс JTAG занимает четыре вывода МК. По терминологии стандарта JTAG, данные выводы образуют TAP-порт (от Test Access Port). К выводам TAP-порта относятся:

    • TMS: выбор режима тестирования. Данный вывод предназначен для навигации по цифровому автомату TAP-контроллера.
    • TCK: тестовая синхронизация. Через этот вывод осуществляется синхронизация интерфейса JTAG.
    • TDI: ввод тестовых данных. Вход сдвигового регистра, в качестве которого может выступать регистр инструкции или регистр данных (цепи сканирования).
    • TDO: вывод тестовых данных. Выход сдвигового регистра, т.е. регистра инструкции или регистра данных.

    Стандартом IEEE 1149.1-2001 также оговорен опциональный сигнал сброса TRST. У МК XMEGA он не предусмотрен.

    Если Fuse-бит JTAGEN находится в незапрограммированном состоянии или равен единице бит отключения JTAG, интерфейс JTAG будет находиться в отключенном состоянии. В этом случае, выводы TAP-порта работают как обычные линии ввода-вывода, а TAP-контроллер находится в состоянии сброса. После разрешения работы, на входах TAP-порта активизируется подтяжка к плюсу питания, а интерфейс JTAG становится готовым к операциям граничного сканирования.

    Автомат состояний TAP-контроллера
    Рисунок 28.1. Автомат состояний TAP-контроллера

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

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

    • Через вход TMS по нарастающим фронтам TCK вводится последовательность 1, 1, 0, 0, которая вызывает переход в состояние СДВИГ_РИ. В этом состоянии по нарастающим фронтам TCK вводятся четыре бита в регистр JTAG-инструкции через вход TDI.

      По ходу ввода 3 младших бит, для удержания состояния СДВИГ_РИ, вход TMS необходимо удерживать в низком состоянии. Ввод старшего бита инструкции выполняется при выходе из состояния СДВИГ_РИ установкой высокого уровня на входе TMS. По мере ввода инструкции через вход TDI, на выходе выводится код состояния ЗАХВАТ_РИ: 0x01. JTAG-инструкция выбирает определенный регистр данных в качестве пути между выводами TDI и TDO, а также управляет схемой, окружающей выбранный регистр данных.

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

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

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



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