
- •1.Микропроцессорные устройства. Этапы развития, технологии производства.
- •Классификация микропроцессорных устройств. Назначение.
- •Микропроцессорная система, основные определения
- •Микропроцессор, программа.
- •Связь блоков в микропроцессорной системе, шины.
- •Структура мпс. Управляющие сигналы.
- •Программный обмен, обмен по прерываниям.
- •Прямой доступ к памяти.
- •9. Функции процессора.
- •1 0. Структура процессора.
- •11. Память процессора.
- •12. Устройства ввода-вывода.
- •13. Микроконтроллер, назначение и состав.
- •14. Система команд, виды архитектур.
- •15. Особенности архитектуры микроконтроллеров.
- •16. Минимизация энергопотребления.
- •17. Обеспечение надежности.
- •18. Дополнительные модули в микроконтроллерах.
- •19. Микроконтроллеры avr. Общие характеристики, устройство.
- •20. Типы и организация памяти микроконтроллеров avr.
- •21. Периферийные устройства, их назначение. Взаимодействие с цпу
- •22. Питание. Назначение выводов.
- •23. Ядро, регистр статуса, конвейер микроконтроллеров avr.
- •24. Классификация команд микроконтроллеров.
- •27.Представление чисел в микропроцессоре. Математические инструкции. Операции с многобайтными числами.
- •28. Команды умножения, операции с многобайтными числами.
- •29. Логические и битовые команды. Сдвиги. Операции сдвига с многобайтными числами.
- •36. Защита памяти программ и eeprom. Конфигурационные биты.
- •Конфигурационные биты
- •30. Деление, перевод в десятичную систему. Использование сдвигов вместо арифметических команд. Битовые маски.
- •Организация циклов, ветвлений. Р азветвление программы на две ветки с последующим соединением
- •Разветвление программы на три ветки с последующим соединением
- •33. Команды передачи данных. Адресация памяти данных.
- •33.Адресация памяти данных:
- •34. Директивы ассемблера avr
- •35. Макросы, выражения, функции ассемблера avr
- •37. Параллельное программирование
- •38. Последовательное програмирование, jtag
- •39. Устройство сброса микроконтроллера
- •40. Режимы энергосбережения
- •Минимизация потребляемой мощности
- •41. Порты ввода-вывода
- •42.Режимы работы портов ввода-вывода, альтернативные функции. Система прерываний.
- •43. Внешние прерывания
- •49. Режимы работы таймера. Шим с фазовой коррекцией.
- •50.Асинхронный режим работы таймера.
- •51.Синхронный режим. Устройство предделителей таймеров.
- •59. Аналоговый компаратор
- •56. Ацп. Устройство и принцип работы.
- •57. Выполнение преобразования ацп.
- •Режимы работы ацп. Регистры настройки ацп.
- •25.Типы адресации памяти, сегментации памяти
- •26.Ассемблер,структура команд, операнды. Виды регистровой адрессации
- •46. Режимы работы таймера. Нормальный режим.
- •47. Режимы работы таймера. Режим стс.
- •48. Режимы работы таймера. Быстрый шим.
- •53. Функциональные блоки 16-разрядного таймера-счетчика.
- •55. Режимы шим 16-разрядного таймера-счетчика.
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.
Цепь внутреннего сканирования и точки прерывания сканируемой цепи используются только встроенной системой отладки.