- •Встраиваемые микроконтроллеры avr-8
- •Санкт-Петербург 2013 Содержание
- •Часть 1. Архитектура мк (л2, л3)
- •Понятия мк для встраиваемых приложений и семейства мк. Семейство avr-8
- •Структура и архитектура мк
- •Тактирование, процессор и арифметико-логическая группа команд
- •Структура и адресация памяти программ. Ветвления, циклы, подпрограммы, и группа команд передачи управления
- •Структура и адресация памяти данных. Группа команд передачи данных
- •Порты ввода/вывода. Типовая схема включения мк. Структура управляющей программы, поллинг.
- •Часть 2. Процесс проектирования устройств на мк (л4, л5)
- •2.1. Этапы процесса проектирования устройств на мк
- •2.2.Техническое задание и разработка алгоритма (блок-схемы)
- •2.3. Языки программирования и синтаксическая проверка проекта
- •2.4. Средства загрузки кодов программ и данных (программаторы)
- •2.5. Средства отладки для выявления логических и схемотехнических ошибок
- •2.6. Подключение индикаторов и клавиатуры
- •Часть 3. Ввод/вывод в мпу
- •3.1. Понятие и характеристики интерфейса
- •3.2. Внутрисистемные интерфейсы в мпу
- •3.3 Параллельный порт avr
- •3.4. Внешняя магистраль памяти данных avr мк
- •3.5. Принцип и средства ввода/вывода по прерываниям.
- •3.6. Принцип прямого доступа к памяти
- •Часть 4. Прерывания (л8)
- •4.1. Механизм прерываний в avr и его программирование
- •4.2. Входы прерываний inTx и pcinTx.
- •Часть 5. Таймеры/счетчики
- •5.1. Задачи формирования и измерения временных интервалов
- •5.2. Принципы программного формирования/измерения временного интервала
- •5.3. Таймер/счетчик с прерыванием по переполнению
- •5.4. Таймер/счетчик с дополнительными узлами захвата и сравнения
- •Часть 6. Задачи и устройства аналогового ввода/вывода (л12, л13)
- •6.1. Задачи аналогового ввода и вывода
- •6.2. Встроенный аналоговый компаратор
- •6.3. Встроенный многоканальный ацп
- •6.4. Встроенный цап
- •Часть 7. Задачи и устройства последовательного интерфейса (л14, л15)
- •7.1. Принципы и преимущества последовательного интерфейса
- •7.2. Функции встроенного контроллера последовательного интерфейса
- •7.3. Протокол и контроллер трехпроводного синхронного пи (spi)
- •7.4. Устройство контроллера i2c и его применение
- •7.5 Цап с последовательным интерфейсом
- •7.6. Устройство контроллера u(s)art и его применение
- •7.7. Сетевые протоколы и их стандартизация
- •7.8. Открытый протокол Modbus
- •История
- •Введение
- •Категории кодов функций
- •Модель данных
- •Стандартные функции протокола Modbus
- •Запись одного значения
- •Запись нескольких значений
- •Контроль ошибок в протоколе Modbus rtu
- •Rtu фрейм
- •Логические ошибки
- •Стандартные коды ошибок
2.4. Средства загрузки кодов программ и данных (программаторы)
Для размещения кодов программы и данных (констант) в энергонезависимой памяти МК/МП используются разные технологии и устройства.
Самый дешевый способ основан на применении масочно программируемого ПЗУ, код «прошивается» на этапе производства, для изменения программы требуется перепроектирование кристалла, что ограничивает этот способ только устройствами с большим тиражом. Следующими по стоимости идут микросхемы с однократно программируемым ПЗУ.
Самыми гибкими являются микросхемы с многократно стираемым и программируемым ПЗУ.
Сегодня многократно программируемые ПЗУ базируются на технологиях EEPROM и FlashROM (электрически стираемые и программируемые). Еще одним широко распространенным атрибутом стало наличие в кристалле узла загрузки/стирания/выгрузки, управляемого извне через один или несколько последовательных интерфейсов. Это позволяет выполнять процедуры редактирования программы/данных непосредственно на целевой плате, что значительно упрощает разработку и отладку программного обеспечения, поддержку развития программы на этапе эксплуатации платы.
Этот же механизм поддерживает редактирование небольшой области энергонезависимой памяти (Fuse и Lock биты). Fuse биты (или биты конфигурации) служат для настройки свойств МК, таких как выбор источника тактирования, длительность процесса рестарта, запрет работы сторожевого таймера и пр. Lock биты (или биты защиты) управляют доступом к ранее загруженным кодам программы и данных – защита от чтения и от стирания.
Для проверки связи и автоматической настройки каждая модель МК оснащена уникальным номером (signature bytes).
МК серии AVR уже на этапе разработки серии были оснащены механизмом программирования «в системе» (In System Programming – ISP). Кроме того, старшие модели подсемейства ATmega и ATxmega стали оснащать встроенным интерфейсом JTAG, который кроме загрузки/выгрузки кодов программ/данных выполняет функции внутрисхемного отладчика.
Технология ISP использует один вывод кристалла для перевода в режим программирования (вход RESET в низком состоянии) и три вывода собственно для подачи специальных команд, загрузки данных и выгрузки данных. Последние выводы называются не всегда одинаково, но работают по единому алгоритму последовательного синхронного интерфейса SPI в режиме ведомого. Один вывод служит для подачи к МК тактов (SCK), второй для подачи команд/данных MOSI/PDI, третий – для чтения данных MISO/PDO. Как правило, все эти функции выводов альтернативные, то есть когда МК не в режиме сброса-программирования, они могут использоваться как выводы портов и пр.
В качестве устройства, управляющего процессом загрузки/выгрузки используется персональный компьютер. Для этого используется специальный кабель-загрузчик (download cable), один конец которого подключается к одному из интерфейсных разъемов компьютера (LPT, COM, USB), другой – к разъему загрузки/выгрузки на плате с целевым МК. Чаще всего загрузочный кабель оснащен встроенным преобразователем интерфейса.
Программное управление процессом загрузки/выгрузки выполняет программа-загрузчик, работающая автономно или в составе пакета (среды) проектирования программ.
Для загрузки/выгрузки МК серии AVR используются среда AVRStudio (Tools Program_AVR), CodeVisionAVR (Tools Chip_Programmer) и пр., либо автономные программы – Kanda_System, PonyProg, Avreal и пр. Они поддерживают работу через различные кабели загрузки.
