STATUS - общий регистр статуса аналоговых компараторов 


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



ЗНАЕТЕ ЛИ ВЫ?

STATUS - общий регистр статуса аналоговых компараторов



Бит                  
+0x07 WSTATE[1:0] AC1STATE AC0STATE - WIF AC1IF AC0IF STATUS
Чтение/ запись Чт/Зап Чт/Зап Чт/Зап Чт/Зап Чт Чт/Зап Чт/Зап Чт/Зап
Нач значение                

· Биты 7:6 - WSTATE[1:0]: текущее состояние оконного режима аналоговых компараторов

Данные биты отражают текущий результат сравнения в оконном режиме в соответствии с таблицей 27.6.

Таблица 27.6. Текущее состояние оконного режима аналоговых компараторов

WSTATE[1:0] Групповая конфигурация Описание
  ABOVE Сигнал выше верхней границы окна
  INSIDE Сигнал в пределах границ окна
  BELOW Сигнал ниже нижней границы окна
  - (резерв)

· Бит 5 - AC1STATE: текущее состояние аналогового компаратора 1

Данный бит отражает текущее состояние входного сигнала аналогового компаратора 1.

· Бит 4 - AC0STATE: текущее состояние аналогового компаратора 0

Данный бит отражает текущее состояние входного сигнала аналогового компаратора 0.

· Бит 3 - Res: резервный бит

Данный бит не используется и зарезервирован для использования в будущем. В целях совместимости с более новыми МК, выполняя запись в этот регистр, всегда записывайте нуль в резервный бит.

· Бит 2 - WIF: флаг прерывания для оконного режима аналогового компаратора

Данный флаг прерывания используется только в оконном режиме аналоговых компараторов. Установка флага WIF происходит при обнаружении заданного битами WINTMODE условия (см. 27.9.5 "WINCTRL - регистр управления оконным режимом аналоговых компараторов").

Флаг WIF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.

· Бит 1 - AC1IF: флаг прерывания аналогового компаратора 1

Данный бит является флагом прерывания аналогового компаратора 1. Флаг AC1IF становится равным единице при обнаружении заданного битами INTMODE условия (см. 27.9.1 "ACnCTRL - регистр управления аналоговым компаратором n").

Флаг AC1IF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.

· Бит 0 - AC0IF: флаг прерывания аналогового компаратора 0

Данный бит является флагом прерывания аналогового компаратора 0. Флаг AC0IF становится равным единице при обнаружении заданного битами INTMODE условия (см. 27.9.1 "ACnCTRL - регистр управления аналоговым компаратором n").

Флаг AC1IF автоматически сбрасывается при переходе на вектор обработки прерывания оконного режима аналоговых компараторов. Альтернативно, флаг можно сбросить записью в него единицы.

Обзор регистров

Адрес Наименование Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
+0x00 AC0CTRL INTMODE[1:0] INTLVL[1:0] HSMODE HYSMODE[1:0] ENABLE
+0x01 AC1CTRL INTMODE[1:0] INTLVL[1:0] HSMODE HYSMODE[1:0] ENABLE
+0x02 AC0MUXCTR - - MUXPOS[2:0] MUXNEG[2:0]
+0x03 AC1MUXCTR - - MUXPOS[2:0] MUXNEG[2:0]
+0x04 CTRLA - - - - - - - AC0OUT
+0x05 CTRLB - - SCALEFAC[5:0]
+0x06 WINCTRL - - - WEN WINTMODE[1:0] WINTLVL[1:0]
+0x07 STATUS WSTATE[1:0] AC1STATE AC0STATE - WIF AC1IF AC0IF

Обзор векторов прерываний

Таблица 27.7. Векторы прерываний аналогового компаратора

Смещение Источник Описание прерывания
0x00 COMP0_vect Вектор прерываний аналогового компаратора 0
0x02 COMP1_vect Вектор прерываний аналогового компаратора 1
0x04 WINDOW_vect Вектор прерываний оконного режима аналоговых компараторов

IEEE 1149.1-совместимый интерфейс JTAG

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

· Интерфейс JTAG (совместим со стандартом IEEE 1149.1-2001)

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

· Полное сканирование всех линий ввода-вывода

· Поддержка обязательных JTAG-инструкций SAMPLE, PRELOAD, EXTEST и BYPASS

· Поддержка опциональных инструкций IDCODE, HIGHZ и CLAMP

· Поддержка специальной инструкции AVR-микроконтроллеров PDICOM для предоставления доступа к интерфейсу PDI, работающего в его опциональном режиме JTAG.

Обзор

Интерфейс граничного сканирования 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 может быть выше внутренней частоты МК. Более того, граничное сканирование может работать даже при отключенной системной синхронизации.

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 становится готовым к операциям граничного сканирования.

Рисунок 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.

JTAG-инструкции

Регистр инструкции является 4-битным. Ниже приводится описание JTAG-инструкций, используемых для граничного сканирования, а также инструкции PDICOM, используемой для доступа к интерфейсу PDI в режиме JTAG.

Ввод и вывод младшего бита осуществляется первым у всех сдвиговых регистров.

Код операции для каждой инструкции показан сразу за её наименованием в шестнадцатиричном формате. В тексте можно найти указание, какой регистр данных используется в качестве пути между выводами TDI и TDO у каждой инструкции.

EXTEST; 0x1

EXTEST - обязательная инструкция, предназначенная для выбора цепи граничного сканирования (позволяет протестировать внешнюю, подключенную к МК AVR, схему) в качестве регистра данных. Через цепь граничного сканирования можно изменить направление (DIR) и состояние (OUT) любой линии ввода-вывода, а также проконтролировать настройку направления линии и её фактическое состояние. Содержимое выходов с фиксацией цепи граничного сканирования становится доступным на выходах сразу после загрузки в регистр инструкции команды EXTEST.

Активные состояния:

· ЗАХВАТ_РД: выполняется выборка данных на внешних выводах для считывания через цепь граничного сканирования.

· СДВИГ_РД: данные в цепи граничного сканирования сдвигаются под управлением входа TCK.

· МОДИФ_РД: данные из цепи сканирования подаются на выводы выходов.

IDCODE; 0x3

IDEOCE - обязательная инструкция, предназначенная для выбора 32-битного регистра идентификации МК в качестве регистра данных.

Регистр идентификации содержит следующие данные: номер версии, номер МК и JEDEC-код производителя. Данная инструкция является инструкцией по умолчанию после подачи питания.

Активные состояния:

· ЗАХВАТ_РД: выполняется выборка содержимого регистра IDCODE в регистр идентификации МК.

· СДВИГ_РД: цепь сканирования IDCODE передается сдвигом под управлением входа TCK.

SAMPLE/PRELOAD; 0x2

SAMPLE/RELOAD - обязательная инструкция, предназначенная для предварительной загрузки выходов с фиксацией и опроса состояния входов/выходов без нарушения работы системы. Однако необходимо учесть, что выходы с фиксацией не связаны с выводами. В качестве регистра данных выступает цепь граничного сканирования.

Обратите внимание, что каждая из инструкций SAMPLE и PRELOAD выполняют одни те же действия, что объясняет причину общего кода операции у них и объединения в одну инструкцию.

Активные состояния:

· ЗАХВАТ_РД: выполняется выборка данных на внешних выводах для чтения через цепь граничного сканирования.

· СДВИГ_РД: передача сдвигом цепи граничного сканирования под управлением входа TCK.

· МОДИФ_РД: данные из цепи граничного сканирования подаются на выходы с фиксацией. Однако нужно учесть, что выходы с фиксацией не связаны с выводами.

BYPASS; 0xf

BYPASS - обязательная инструкция, предназначенная для выбора регистра обхода в качестве регистра данных.

Активные состояния:

· ЗАХВАТ_РД: загрузка логического "0" в регистр обхода.

· СДВИГ_РД: регистр обхода включен между выводами TDI и TD

· как сдвиговый регистр.

CLAMP; 0x4

CLAMP - опциональная инструкция, которая позволяет назначить состояние выводов МК по состоянию предварительно загруженных выходов с фиксацией. В качестве регистра данных выбирается регистр обхода.

Активные состояния:

· ЗАХВАТ РД: загрузка логического "0" в регистр обхода.

· СДВИГ РД: регистр обхода работает как сдвиговый регистр между выводами TDI и TDO.

HIGHZ; 0x5

HIGHZ - опциональная инструкция, предназначенная для перевода всех выходов в неактивное состояние (например, высокоимпедансное). В качестве регистра данных выбирается регистр обхода.

Активные состояния:

· ЗАХВАТ_РД: загружает логический "0" в регистр обхода.

· СДВИГ_РД: регистр обхода включается между выводами TDI и TD

· как сдвиговый регистр.

PDICOM; 0x7

PDICOM - специфическая AVR-инструкция, предназначенная для использования порта JTAG TAP в качестве альтернативного канала доступа к интерфейсу программирования и отладки PDI.

Активные состояния:

· ЗАХВАТ_РД: фиксация параллельных данных из PDI в регистре данных PDICOM.

· СДВИГ_РД: передача сдвигом регистра данных PDICOM под управлением входа TCK.

· МОДИФ_РД: копирование команд или операндов в параллельном формате из регистра данных PDICOM в интерфейс PDI.

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

Между выводами TDI и TD

  • могут быть включены следующие регистры данных:

· Обходной регистр (регистр А на рисунке 28.2).

· Регистр идентификации МК (регистр С на рисунке 28.2).

· Цепь граничного сканирования (регистр D на рисунке 28.2).

· Регистр данных PDI (регистр В на рисунке 28.2).

Рисунок 28.2. Обзор JTAG регистра данных

Обходной регистр

Обходной регистр образован однокаскадным сдвиговым регистром. Когда обходной регистр выбирается в качестве пути между выводами TDI и TDO, при выходе контроллера из состояния ЗАХВАТ-РД, регистр принимает нулевое значение. Обходной регистр может использоваться для минимизации длины цепи сканирования во время тестирования другой микросхемы.

Регистр идентификации МК

Рисунок 28.3. Регистр идентификации МК

Версия

Версия - 4-битное значение, позволяющее идентифицировать версию компонента. Здесь используется JTAG нумерация версий. Версии А соответствует код 0x0, версии B - 0x1 и т.д.

Шифр продукции

Шифр продукции - это 16-битный код, позволяющий установить наименование микросхемы. Узнать числовое значение шифра продукции интересующего микроконтроллера можно в документации на него.

Идентификатор производителя

Идентификатор производителя - это 11-битный код, позволяющий установить производителя микросхемы. В случае Atmel этот код равен 11x01F.



Поделиться:


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

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