8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 175 176 177 178 179 180 181 ... 195

управляет элементами микроконтроллера, с которыми связан этот регистр данных.

2.На вход TMS подается последовательность сигналов 1,0, в результате чего микроконтроллер возвращается в состояние Run-Test/Idle. При прохождении состояния Update-IR содержимое сдвигового регистра фиксируется на его параллельном выходе.

3.На вход TMS подается последовательность сигналов 1, 0, 0, которые «защелкиваются» по нарастающему фронту сигнала ТСК. В результате ТАР-контроллер переходит в состояние Shift-DR. В этом состоянии в регистр данных, определяемый загруженной ранее командой, заносятся необходимые данные, начиная с младшего бита. Как и в случае команд, загрузка осуществляется с вывода TDI по нарастающему фронту сигнала ТСК. При загрузке всех битов регистра, кроме самого старшего, на выводе TMS должен удерживаться сигнал лог. О, чтобы ТАР-контроллер оставался в состоянии Shift-DR. Старший бит данных заносится в регистр при выходе контроллера из этого состояния, осуществляемого путем подачи на вход TMS лог. 1. При этом контроллер переходит в состояние Exit-DR. Одновременно с загрузкой данных на вывод TDO выдается, начиная с младшего бита, содержимое регистра данных, «захваченного» в состоянии Capture-DR.

4.На вход TMS подается последовательность сигналов 1, 0, в результате чего микроконтроллер вновь возвращается в состояние Run-Test/Idle. Если выбранный регистр имеет параллельный выход, то его содержимое фиксируется на нем при прохождении состояния Update-DR.

Остается только добавить, что независимо от начального состояния ТАР-контроллера он всегда возвращается в состояние Test-Logic-Reset после удержания на выводе TMS сигнала лог. 1 в течение 5 периодов сигнала ТСК.

14.4.2. Использование интерфейса JTAG для программирования кристалла

Разрешение/запрещение интерфейса JTAG (причем не только для программирования) осуществляется при помощи конфигурационной ячейки JTAGEN. Если она не запрограммирована (1), то выводы ТАР работают как обычные контакты портов ввода/вывода, а ТАР-контроллер находится в состоянии сброса. Для включения интерфейса ячейка JTAGEN должна быть запрограммирована (состояние по умолчанию). Кроме того, должен быть сброшен бит JTD регистра MCUCSR или MCUCR (Рис. 14.15). Причем, для изменения состояния этого бита новое значение необходимо записать в него дважды в течение четырех тактов.


MCUCR

JTD

-

-

PUD

-

-

IVSEL

IVCE

Чтением/Запись)

R/W

R

r

r/w

R

R

r/w

r/w

Начальное значение

0

0

0

0

0

0

0

0

7

6

5

4

3

2

1

0

MCUCSR

jtd

x

x

jtrf

wdrf

borf

extrf

PORF

4TeHHe(R)/3anncb(W)

R/W

x

x

r/w

r/w

r/w

r/w

r.w

Начальное значение

0

0

0

0

x

x

x

x

ATmega 164x/324x/644x ATmega 165x

ATmega325x/3250x/645x/6450x

ATmega640x/1280x/1281x

ATmega2560x/2561x

ATmega 16x/32x ATmega64x/128x ATmega 162x

Puc. 14.15. Регистры MCUCSR/MCUCR применительно к интерфейсу JTAG

Описанный механизм позволяет использовать выводы ТАР как в качестве контактов портов ввода/вывода при нормальном функционировании микроконтроллера, так и в качестве выводов собственно порта JTAG при программировании кристалла. Разумеется, этот механизм не применим в том случае, если порт JTAG используется для отладки или тестирования.

14.4.3. Команды JTAG, используемые при программировании

Из 16 команд, поддерживаемых интерфейсом, при программировании используются только пять. Описания этих команд приведены ниже.

AVR RESET (код команды $0С)

Эта команда предназначена для перевода микроконтроллера в состояние сброса и соответственно вывода его из этого состояния. В качестве регистра данных выбирается 1-битный регистр сброса (Reset Register). Запись 1 в этот регистр эквивалентна подаче на вывод RESET микроконтроллера напряжения НИЗКОГО уровня. В состоянии сброса микроконтроллер будет находиться до тех пор, пока в регистр сброса не будет записан 0.

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

• Shift-DR — осуществляется загрузка регистра сброса.

PROG.ENABLE (код команды $04)

Эта команда предназначена для разрешения программирования кристалла через порт JTAG. В качестве регистра данных выбирается 16-битный регистр разрешения программирования (Programming Enable Register).

При записи в этот регистр числа $А370 (сигнатура разрешения программирования) разрешается программирование микроконтроллера по


интерфейсу JTAG. При выходе из режима программирования этот регистр должен сбрасываться.

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

•Shift-DR — осуществляется загрузка регистра разрешения прерывания;

•Update-DR — осуществляется сравнение содержимого регистра с числом $А370 и в случае совпадения — перевод микроконтроллера в режим программирования.

PROG COMMANDS (код команды $05)

Эта команда предназначена для загрузки команд программирования и выдачи результатов их выполнения (если они есть). В качестве регистра данных выбирается 15-битный регистр команд (Programming Command Register).

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

•Capture-DR — результат выполнения предыдущей команды загружается в регистр;

•Shift-DR — по нарастающему фронту сигнала ТСК осуществляется выдача результата с одновременной загрузкой новой команды;

•Update-DR — загруженная команда подается на блок памяти микроконтроллера;

•Run-Test/ldle — в ряде случаев генерируется один тактовый импульс, необходимый для выполнения команды.

PROG PAGELOAD (код команды $06)

Эта команда предназначена для непосредственной загрузки страницы памяти программ через порт JTAG. Реализация этой команды зависит от модели микроконтроллера.

В «старых» моделях (ATmega 16х/32х/64х/128х и ATmega 162х) в качестве регистра данных выбирается регистр загрузки виртуальной страницы (Virtual FLASH Page Load Register), размер которого равен размеру одной страницы памяти программ. Собственно сдвиговый регистр является 8-битным, а побайтная пересылка данных в буфер осуществляется автоматически.

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

•Shift-DR — осуществляется побитовая загрузка данных и побайтная их пересылка в буфер страницы FLASH-памяти.

В остальных моделях в качестве регистра данных выбирается 8-битный регистр данных FLASH-памяти.



0 ... 175 176 177 178 179 180 181 ... 195