
- •Встраиваемые микроконтроллеры 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.5. Средства отладки для выявления логических и схемотехнических ошибок
Основные способы и средства отладки (Debug).
1. Отладка с использованием программной модели МК (симулятор) – самый дешевый способ, его полнота ограничена возможностями программной модели.
2. Отладка с использованием внутрисхемного эмулятора (In Circuit Emulator - ICE) – ранее самый дорогой, но высокоэффективный инструмент отладки. Сейчас цена значительно снижена благодаря внедрению в кристалл МК средств специализированных интерфейсов типа JTAG или ONE, поддерживающих основные команды отладки средствами внутри кристалла..
3. Отладка с использованием схемно-программной модели МК в среде моделирования электронных устройств ProteusVSM.
4. Отладка в целевой плате – обязательный завершающий этап разработки, наличие на целевой плате элементов человеко-машинного интерфейса (от светодиодов и кнопок до символьных или графических дисплеев) значительно упрощает процесс отладки.
Симуляторы.
Процесс отладки в симуляторе предполагает выполнение разработанной программы в пошаговом или более быстром темпе, наблюдение изменения состояния ячеек памяти, регистров ввода/вывода, воздействие на модель, посредством изменения состояния ячеек памяти или регистров ввода/вывода.
Наиболее функционально полным для МК семейства AVR следует признать симулятор в среде программирования и отладки AVR_Studio. Он моделирует работу как устройств ядра (процессор и все виды памяти), так и ряда встроенных периферийных устройств, прежде всего портов ввода/вывода, таймеров/счетчиков, некоторых последовательных интерфейсов.
Состояние регистров ввода/вывода можно наблюдать и изменять в окне IO, вызываемом по команде View/New IO View. В этом окне доступен поразрядный, т. е. битовый режим индикации. Пустой квадратик подразумевает «0», «галочка» в квадратике – «1», при помещении курсора на квадратик и нажатии левой кнопки мыши содержимое квадратика инвертируется. Таким образом, в пошаговом режиме можно имитировать внешние сигналы на входах МК (изменяя требуемым образом состояние битов регистра входов PINx).
Такой способ становится слишком трудоемким, когда необходимо симулировать большое количество изменений состояния входов, да еще и повторять эту последовательность многократно. Для таких задач в AVR Studio предусмотрено использование внешних файлов входных воздействий. Формат файла входного воздействия очень прост:
0000000000:00
0000000039:01
0000000040:00
9999999999:FF
Здесь значение, указанное после разделителя «:», — это шестнадцатеричное представление сигналов, воздействующих на порт микроконтроллера. Значение, указанное до разделителя, — это десятичный номер цикла (с момента сброса микроконтроллера), в котором указанное воздействие поступает на выводы порта микроконтроллера. Файл входного воздействия должен заканчиваться строкой с заведомо большим номером цикла, в противном случае будет выдано сообщение об ошибке. Для подключения файла входного воздействия служит пункт меню Options / Simulator Port Stimuli. В открывшемся окне нужно указать порт микроконтроллера, на который нужно подавать воздействие, и файл этого воздействия.
Пользователь также может записывать изменения значений на выходах портов микроконтроллера в файл (формат этого файла тот же, что и у файла входных воздействий). Для записи служит пункт меню Options / Simulator Port Logging. В открывшемся окне нужно указать порт микроконтроллера и имя файла для записи. Записываемый файл будет удаляться и создаваться вновь при каждом выполнении сброса микроконтроллера (Debug / Reset). Для закрытия файла требуется закрыть проект командой Project / Close.
Подключать файл входного воздействия или задавать имя файла для записи пользователь должен сам при каждом запуске симулятора.
Для просмотра в симуляторе AVR Studio длительных процессов пошаговые команды выполнения (Trace into, Step Over) не эффективны. Целесообразно использовать многошаговые команды: многошаговая с заданным числом шагов (Multi Step), автошаговая с заданным временным шагом (Auto Step), выполнение до курсора (Run To Cursor), движение (Go) до команды останова со стороны оператора (Break) или до точки прерывания (Breakpoints). Некоторые параметры этих команд задаются в окне Debug Option, для управления точками прерывания служит меню Breakpoints.