Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпт 2013.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.12 Mб
Скачать

37. Параллельное программирование

Существует три метода программирования памяти микроконтроллера и конфигурационных байт: - Параллельное программирование - Последовательное программирование - Программирование через интерфейс JTAG

Параллельное программирование.Как у ATmega запрограммировать и проверить флэш-память, ЭСППЗУ, биты защиты и конфигурационные?

На рис показывается расположение и назначение выводов ATmega, которые используются для параллельного программирования. Выводы XA1/XA0 определяют выполняемое действие при положительном фронте на выводе XTAL1Подачей и мпульсов на WR или OE в зависимости от загруженной команды опред-ся выполняемое действие.

Загружаемые команды и адрес запоминаются в микроконтроллере в процессе программирования.

Для эффективности программирования необходимо учитывать следующее:

  • Если выполняется чтение или запись по нескольким адресам памяти, то команда м. б. загружена однократно.

  • Старший байт адреса необходимо загружать только перед началом программирования или чтения новых 256 слов флэш-памяти и 256 байт ЭСППЗУ. Данное распространяется также на чтение сигнатурных байт.

В ыполнение команды стирания кристалла приводит к очистке содержимого флэш-памяти и ЭСППЗУ, а также бит защиты. Очистка бит защиты происходит только после полного стирания памяти программ. Конфигурационные биты при этом не изменяются. Стирание кристалла необходимо выполнять перед перепрограммированием флэш-памяти и/или ЭСППЗУ.

Флэш-память имеет постраничную организацию. Во время программирования флэш-памяти данные помещаются в страничный буфер. Это позволяет за один подход записать всю страницу.

38. Последовательное програмирование, jtag

Существует три метода программирования памяти микроконтроллера и конфигурационных байт:- Параллельное программирование - Последовательное программирование

- Программирование через интерфейс JTAG

П оследовательное программирование

  • Флэш-память и ЭСППЗУ могут быть запрограммированы через последовательный интерфейс SPI, когда вход RESET переведен в низкое состояние.

  • Последовательный интерфейс состоит из следующих сигналов: SCK, MOSI (вход) и MISO (выход).

  • После подачи низкого уровня на вход RESET необходимо выполнить инструкцию разрешения программирования.

  • MOSI (PDI) ввод

Последовательный ввод данных

  • MISO (PDO) вывод

Последовательный вывод данных

  • SCK ввод

Синхронизация последовательной связи

  • После того, как страница полностью запрограммирована во флэш-память, при чтении по адресам в пределах запрограммированной страницы возвращается $FF. Микроконтроллер готов к записи новой страницы, если запрограммированное значение считано корректно. Это используется для определения момента, когда может быть загружена следующая страница. Обратите внимание, что запись выполняется всей страницы одновременно и любой адрес в пределах страницы может использоваться для опроса. Опрос данных флэш-памяти не действует для значения $FF, т.к. при записи этого значения пользователь может не вводить задержку перед программированием новой страницы. Данная возможность объясняется тем, что очищенная память микроконтроллера содержит $FF во всех ячейках.

  • При чтении значения по адресу, который использовался для записи нового байта и последующего его программирования в ЭСППЗУ, возвращается значение $FF. В это же время, микроконтроллер готов к записи нового байта, если запрограммированное значение корректно считывается. Это используется для определения момента, когда может быть осуществлена запись следующего байт. Данное не распространяется на значение $FF: поскольку очищенная память заполнена $FF по всем адресам, то программирование ячейки значением $FF может быть пропущено. Пропуск нельзя делать, если ЭСППЗУ перепрограммируется без предварительного стирания всей памяти. В этом случае, значение $FF нельзя использовать для опроса данных.

Программирование через интерфейс JTAG

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

  • Для активизации JTAG-интерфейса необходимо запрограммировать конфигурационный бит JTAGEN. В состоянии поставки у микроконтроллера данный бит запрограммирован.

  • Кроме этого, необходимо сбросить бит JTD в регистре MCUCSR. Альтернативно бит JTD можно сбросить путем удержания входа сброса в низком состоянии в течении двух тактов ЦПУ, после чего выводы JTAG-интерфейса доступны для программирования.

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

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

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

  • Отладчик имеет доступ к следующим блокам микроконтроллера:

  • – Все внутренние периферийные блоки

  • – Внутреннее и внешнее ОЗУ

  • – Внутренний файл регистров

  • – Программный счетчик

  • – ЭСППЗУ и флэш-память

  • Отладочная система поддерживает обширные условия прерывания, в т.ч.:

– Прерывания по инструкциям AVR-микроконтроллера

– Прерывание по изменению потока памяти программ

– Пошаговое прерывание

– Точки прерывания памяти программ по одиночному адресу или адресному диапазону

  • – Точки прерывания памяти данных по одиночному адресу или адресному диапазону

  • Программирование флэш-памяти, ЭСППЗУ, конфигурационных бит и бит защиты программы через интерфейс JTAG

  • Встроенная отладочная система поддерживается AVR Studio

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

  • Тестирование печатных плат с помощью функции граничного сканирования

  • Программирование энергонезависимой памяти, конфигурационных бит и бит защиты программы

  • Встроенная отладка

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

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

Цепь внутреннего сканирования и точки прерывания сканируемой цепи используются только встроенной системой отладки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]