|
Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
УТВЕРЖДАЮ
Зав. каф. ПрЭ
________ С.Г. Михальченко
МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА И СИСТЕМЫ
Руководство к выполнению лабораторных
работ для студентов специальности
«Промышленная электроника»
Разработчики:
Ст. преп. каф. ПрЭ
________ А.А. Орлов
Начальник сектора электроники отдела ИИС
ООО НПП ТЭК
________ Д.В. Дмитриев
Лабораторная работа №1
Лабораторный стенд на базе микроконтроллера ADuCM360 и среда Keil uVision 5: изучение возможностей
Введение
Микроконтроллер ADuCM360 компании Analog Devices представляет собой низкопотребляющую, высокопроизводительную систему сбора данных, включающую в себя: многоканальные сигма-дельта АЦП, ЦАП, микроконтроллерное ядро Cortex-M3 и встроенную FLASH память.
Для оценки возможностей ADuCM360 компания Analog Devices выпускает отладочную плату EVAL-ADUCM360.
Рисунок 1 - Отладочная плата EVAL-ADUCM360
Данная плата является основой стенда для проведения лабораторных работ.
Цель работы
· Приобретение первоначальных навыков работы с лабораторным стендом на базе микроконтроллера ADuCM360.
· Знакомство с микроконтроллером ADuCM360: программная модель, порты ввода-вывода, периферия.
· Изучение программных средств разработки и отладки прикладных программ (Keil uVision 5).
Ход работы
1. Подключите лабораторный стенд ADuCM360 к персональному компьютеру, используя USB кабель из комплекта поставки. Убедитесь, что при подключении операционная система корректно определила подключенное оборудование и произвела загрузку необходимых драйверов.
2. Откройте общий файл проектов лабораторных работ LAB_WORKSPACE.uvmpw в среде Keil uVision 5.в среде Keil uVision 5. Нажмите правой кнопкой на проект «LAB1_blinky», выберите пункт «set as current project».
Рисунок 2 - Окно Keil uVision c открытым файлом проектов лабораторных работ
Дерево проекта содержит три группы файлов:
· Device содержит коды инициализации микроконтроллера.
· lib объединяет общие для микроконтроллеров семейства ADuCM36x утилиты и функции, упрощающие управление контроллером и его периферией.
· src содержит файл main.c, содержащий пользовательский код, реализующий программу лабораторной работы.
3. Откройте файл main.c в реакторе среды разработки.
· Какой язык программирования использован для реализации кода?
· Каковы основные элементы исходного файла?
· Какие внешние функции используются для управления периферией микроконтроллера (генератор и порты ввода-вывода)?
· Поясните, почему функция main() лишена точки выхода (return), а выполнение программы завершается бесконечным циклом.
4. Произведите сборку проекта (Project -> Build Target).
· Каков результат сборки проекта?
5. В случае отсутствия ошибок на предыдущем шаге загрузите программу в контроллер (Flash -> Download).
· Проанализируйте диагностические сообщения. Каков результат выполнения данной операции?
6. Запустите программу в режиме пошагового выполнения (Debug -> Start/Stop Debug Session).
· Сопоставьте команды ассемблера в окне дизассемблера и команды исходного кода программы.
· Соответствуют ли результаты выполнения команд ассемблера в пошаговом режиме (Debug -> Step Over) ожидаемому результату с точки зрения исходного кода С?
· Определите, какой командой осуществляется переключение состояния светодиода?
7. Запустите программу на выполнение командой (Debug -> Run).
· Каков характер свечения светодиода?
Завершите отладочную сессию командой (Debug -> Start/Stop Debug Session).
8. Запустите программу в режиме пошагового выполнения.
· Что отображается в окне Registers?
В режиме пошагового выполнения зайдите внутрь процедуры Delay (Debug -> Step). Откройте окно View->Watch Windows -> Watch 1. Добавьте переменную delay в окно Watch 1.
· Как изменяется ее значение при пошаговом выполнении программы? Почему?
9. Модифицируйте исходную программу таким образом, чтобы частота светодиода изменилась:
Вариант 1 | Вариант 2 | Вариант 3 |
Уменьшилась в 2 раза | Уменьшилась в 3 раза | Уменьшилась в 4 раза |
Вариант 4 | Вариант 5 | Вариант 6 |
Увеличилась в 2 раза | Увеличилась в 4 раза | Уменьшилась в 5 раз |
Вариант 7 | Вариант 8 | Вариант 9 |
Уменьшилась в 1.5 раз | Увеличилась в 5 раз | Уменьшилась в 6 раз |
10. Измените настройки генератора частоты (в функции ClkCfg) таким образом, чтобы выполнилось требование пункта 9. Возможно ли это? Какой вариант реализации предпочтительнее и почему?
Лабораторная работа №2
Исследование работы ШИМ-генератора микроконтроллера ADuCM360.
Введение
ADuCM360 содержит встроенный ШИМ-генератор. Общее количество каналов – 6, каналы объединены попарно. Вывод каждого ШИМ канала может быть привязан к выводу микроконтроллера (GPIO).
Пары каналов ШИМ имеют название PWM0/PWM1, PWM2/PWM3, PWM4/PWM5.
Каждая пара каналов имеет набор регистров для задания параметров ШИМ.
Каждая пара ШИМ-каналов имеет общий 16-тиразрядный счетчик (максимальное значение 0xFFFF), тактируемый от генератора микроконтроллера через настраиваемые делители DIV2EN, PWMCD и предделителя в модуле ШИМ. Итоговая частота ШИМ зависит от настройки данных делителей.
Рисунок 4 - Архитектура системы тактирования контроллера ADuCM360
Работа ШИМ-генератора на примере пары каналов PWM0/PWM1 поясняется на диаграмме. Названия регистров для других каналов отличаются.
Рисунок 3 - Диаграмма работы ШИМ-генератора на примере
PWM0/PWM1
Общий период ШИМ задается регистром PWM0LEN (для пары PWM0/PWM1). При достижении счетчиком ШИМ данного значение происходит его переполнение и счет начинается с 0.
В начальный момент счета оба выхода ШИМ находятся в состоянии лог. 1.
При достижении счетчиком ШИМ значения записанного в регистр PWM0COM2 происходит переключение канала PWM1 в состояние лог. 0.
При достижении счетчиком ШИМ значения записанного в регистр PWM0COM2 происходит переключение канала PWM1 в состояние лог. 0.
При достижении счетчиком ШИМ значения записанного в регистр PWM0COM1 происходит переключение канала PWM0 в состояние лог. 0.
При достижении счетчиком ШИМ значения записанного в регистр PWM0COM0 происходит переключение канала PWM0 в состояние лог. 1.
Таким образом, записывая определенные значения в регистры ШИМ-контроллера можно задавать характеристики выходного сигнала.
Частоту ШИМ можно рассчитать по формуле:
F = (UCLK / (PWMCD * PRE * (PWMхLEN+1)),
где:
· UCLK – это системная частота (в нашем случае это частота встроенного генератора 16 МГц, делитель на 2 DIV2EN выключен);
· PWMCD – делитель модуля ШИМ, в нашем случае 2;
· PRE – дополнительный предделитель модуля ШИМ, в нашем случае 1;
· PWMхLEN – регистр периода ШИМ. Максимальное значение 0xFFFF.
Цель работы
· Знакомство с периферией микроконтроллера ADuCM360 на примере встроенного ШИМ-генератора.
· Закрепление навыков разработки и отладки прикладных программ в среде Keil uVision 5.
Ход работы
1. Выбрать активным проект «LAB2_PWM1». Открыть файл main.c.
В данном проекте выходы ШИМ подключены к выводам контроллера P1.6 и P1.7.
· Определить, с помощью какой функции идет запуск ШИМ генератора.
· Откомпилировать и загрузить программу в контроллер.
· Рассчитать частоту ШИМ заданную в программе.
· Проконтролировать осциллографом реальную частоту на выходах микроконтроллера.
2. Выбрать активным проект «LAB2_PWM2». Открыть файл main.c.
В данном проекте выходы ШИМ подключены к выводам контроллера P1.2 и P1.3. Выход PWM1 подключен к светодиоду, таким образом, скважность ШИМ сигнала виляет на яркость работы светодиода.
· Изменить значение регистра PWM0COM2
· Откомпилировать и загрузить программу в контроллер.
· Проконтролировать изменение яркости свечения светодиода.
3. Выбрать активным проект «LAB2_PWM3». Открыть файл main.c.
В данном проекте выходы ШИМ подключены к выводам контроллера P1.2 и P1.3.
· Откомпилировать и загрузить программу в контроллер. Каким образом ведет себя светодиод?
· Изменить программу так, чтобы изменение состояния светодиода 1) ускорилось в 2 раза; 2) замедлилось в 2 раза.
Литература
1. Микропроцессорные системы: учебное пособие для вузов / Е.К. Александров, Р.И. Грушвицкий / под общ. ред. Д.В. Пузанкова. – СПб.: Политехника, 2002. – 935 с.: ил.
2. Джозеф Ю. Ядро Cortex-МЗ компании ARM. Полное руководство / пер. с англ. А.В. Евстифеева // М.: Додэка-XXI, 2012. – 552 c.
3. ARMv7-M Architecture Reference Manual // ARM. – Rev. E.b. – 2014. – 916 pp.
4. Cortex M3 Devices. Generic User Guide // ARM. – 2010. – 180 pp.
5. Cortex M3 Devices. Technical Reference Manua l// ARM. – Rev. r2p0. – 2010. – 133 pp.
6. ADuCM360/ ADuCM361. Data Sheet // Analog Devices. – Rev.C. – 2014. – 24 pp.
7. ADuCM360/ ADuCM361. Hardware User Guide // Analog Devices. – Rev.C. – 2014. – 176 pp.
Дата добавления: 2015-10-21; просмотров: 54 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
| | Иосиф Бродский. Напутствие |