Раздел: Документация
0 ... 174 175 176 177 178 179 180 ... 195 14.3.8. Чтение ячеек идентификатора и калибровочных ячеек Чтение ячеек идентификатора осуществляется в следующей последовательности (реализация каждого этапа приведена в Табл. 14.17): 1.Загрузить команду «Чтение ячеек идентификатора» (код 0000 1000). 2.Загрузить младший байт адреса ($00...$02). 3.Установить ОЕ и BS1 в 0, после этого с шины данных DATA можно будет считать содержимое выбранной ячейки идентификатора. 4.Установить ОЕ в 1. Чтение калибровочных констант осуществляется аналогичным образом и посредством той же команды: 1.Загрузить команду «Чтение ячеек идентификатора» (код 0000 1000). 2.Загрузить младший байт адреса ($00...$03). 3.Установить ОЕ в 0, a BS1 — в 1, после этого с шины данных DATA можно будет считать значение выбранной калибровочной константы. 4.Установить ОЕ в 1. 14.4. Программирование по интерфейсу JTAG 14.4.1. Общие сведения об интерфейсе JTAG Интерфейс JTAG был разработан группой ведущих специалистов по проблемам тестирования электронных компонентов (Joint Test Action Group). В дальнейшем он был зарегистрирован в Институте инженеров по электротехнике и электронике (IEEE) в качестве промышленного стандарта IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture). Встроенный в большинство микроконтроллеров семейства, интерфейс JTAG может быть использован для следующих целей: •тестирования печатных плат; •конфигурирования (программирования) кристалла; •внутрисхемной отладки. В данной книге рассматривается только один из аспектов использования интерфейса JTAG, а именно программирование микроконтроллеров. Доступ к модулю JTAG осуществляется через четыре вывода микроконтроллера, составляющих так называемый «порт тестового доступа» (Test Access Port — ТАР): TMS, ТСК, TDI и TDO. Соответствие этих выводов контактам портов ввода/вывода микроконтроллера, а также их функции приведены в Табл. 14.19. Стандартная разводка 10-штырькового разъема для подключения JTAG-устройств приведена на Рис. 14.13.
Рис. 14.13. Разводка разъема JTAG Таблица 14.19. Выводы, используемые интерфейсом JTAG
Работой модуля JTAG управляет так называемый ТАР-контроллер, представляющий собой конечный автомат с 16 состояниями. Диаграмма состояний ТАР-контроллера приведена на Рис. 14.14. Переход между состояниями осуществляется по нарастающему фронту сигнала ТСК в соответствии с сигналом, присутствующим на выводе TMS. После включения питания контроллер находится в состоянии Test-Logic-Reset. Работа по интерфейсу JTAG осуществляется следующим образом (полагаем, что изначально ТАР-контроллер находится в состоянии Run-Test/Idle): 1. На вход TMS подается последовательность сигналов 1, 1, 0, 0, которые «защелкиваются» по нарастающему фронту сигнала ТСК. В результате ТАР-контроллер переходит в состояние Shift-IR, в котором к входу TDI подключается сдвиговый регистр команд. После этого iqTest.Lo0,c-Reset Run-Test/Idle
Select-IR Scan Shift-DR У Exit1-DR У Exit2-DR Update-DR I r— Capture-IR Shift-IR ExitMR Pause-IR Exit2-IR Update-IR У У Рис. 14.14. Диаграмма состояний ТАР-контроллера на вход TDI подается, начиная с младшего бита, 4-битный код команды. Занесение битов кода в регистр команд также осуществляется по нарастающему фронту сигнала ТСК. При загрузке трех младших битов на выводе TMS должен удерживаться сигнал лог. О, чтобы ТАР-контроллер оставался в состоянии Shift-IR. Старший бит кода команды заносится в регистр при выходе контроллера из этого состояния, осуществляемого путем подачи на вход TMS лог. 1. При этом контроллер переходит в состояние Exit-IR. Во время загрузки команды на вывод TDO выдается значение $01 (начиная с младшего бита). Загруженная команда определяет, какой из регистров данных JTAG будет далее подключен между выводами TDI и ТЕЮ, а также 0 ... 174 175 176 177 178 179 180 ... 195
|