Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программное управление технологическим оборудованием

.pdf
Скачиваний:
1
Добавлен:
29.11.2025
Размер:
11.79 Mб
Скачать

5 – индикатор выходного аналогового сигнала (LLI);

6 – датчики аналоговых сигналов (2 задатчика RP1, RP2); 7 – источник квадратурного сигнала (энкодер EP1);

8 – матричная двенадцатикнопочная клавиатура;

9 – кнопка сброса контроллера RESET;

Рис. 1.3. Лицевая панель стенда

Задняя панель стенда представлена на рисунке 1.4. На задней панели стенда расположены:

1 – тумблер включения питания стенда; 2 – разъём для подключения внешних устройств; 3 – разъём

для организации связи по последовательному интерфейсу;

4 – разъём USB-B для подключения стенда к компьютеру для программирования микроконтроллера.

Рис. 1.4. Задняя панель стенда

431

2 Порядок работы учебного стенда

1)Подключить стенд к сети. Включить тумблер «Сеть» на задней панели стенда.

2)С помощью шнура USB AM-BM через гнездо «USB» на задней панели стенда подключить стенд к USB-порту компьютера.

3)Запустить MPLAB IDE.

4)С помощью пункта меню «File → Import…» открыть файл тестовой прошивки стенда «Test.hex».

Рисунок 2.1 – Открытие файла тестовой прошивки стенда

С помощью пункта меню «Programmer → Select Programmer» выбрать программатор PICkit 2 (рис 2.2).

432

Рис. 2.2. Выбор программатора PICkit 2

1)Запрограммировать стенд тестовой прошивкой, воспользовавшись пунктом меню «Programmer → Program» (рис. 2.3).

Рис. 2.3. Программирование стенда тестовой прошивкой

433

Перевести микроконтроллер в рабочий режим, воспользовавшись пунктом меню «Programmer → Release from Reset».

Закрыть MPLAB IDE.

Изучить назначение органов управления стенда.

По результатам выполненных операций сделать вывод.

3 Контрольные вопросы

1)Перечислите основные характеристики микроконтроллеров семейства dsPIC33?

2)Какие структурные элементы входят в состав микроконтроллеров семейства dsPIC33?

3)Каковы основные структурные элементы учебного стенда НТЦ-02.31.2?

4)Опишите органы управления лабораторного стенда.

5)Каков порядок работы со стендом?

434

Лабораторная работа 2

Изучение системы команд и основ работы микроконтроллера семейства dsPIC33

Цель работы:

Изучить состав и особенности выполнения команд микроконтроллера, программное обеспечение лабораторного стенда, освоить технику программной симуляции работы микроконтроллера на примере построения элементарной конструкции.

Порядок выполнения работы:

1)Изучить систему команд микроконтроллера.

2)Изучить программное обеспечение лабораторного стенда.

3)Составить программу в соответствии с индивидуальным заданием.

4)Написать исходный код и отладить программу в среде MPLAB IDE.

5)Исследовать выполнение программы в симуляторе MPLAB SIM.

6)Оформить отчёт по лабораторной работе.

7)Ответить на контрольные вопросы.

1 Краткие теоретические сведения

1.1 Архитектура

Ядро dsPIC построено по модифицированной Гарвардской архитектуре с расширенной системой команд. Микроконтроллеры dsPIC33 поддерживают выполнение специфических для алгоритмов цифровой обработки сигналов инструкций (умножение с накоплением), специальные методы адресации (модульная, бит-реверсивная), знаковые вычисления с целыми числами и числами с фиксированной точкой.

1.2 Память программ

Карта памяти программ контроллеров dsPIC линейная и несегментированная. Счётчик команд (PC – Program Counter) имеет разрядность 23 бита, однако младший бит всегда равен 0 для обеспечения выравнивания данных при выборке инструкции. Следовательно, для задания непосредственно адреса используется 22 бита, и таким образом эффективное количество адресуемых инструкций равно 222 ~ 4 млн.

Адрес памяти более удобно рассматривать в виде младшего и старшего слова, при этом старший байт старшего слова не используется и равен 0. Младшее слово всегда располагается по четному адресу, а старшее – по нечетному. Адреса памяти программ всегда выравниваются по границе слова и при выполнении программного кода всегда инкрементируются и декрементируются на 2.

435

Карта программной памяти микроконтроллера dsPIC33fj32mc204 изображена на рис. 1.1.

Рис. 1.1. Карта памяти программ микроконтроллера dsPIC33

436

Семейства dsPIC33 не имеют EEPROM, что связано с изменением технологии изготовления кристаллов. Поэтому при необходимости наличия в системе энергонезависимой памяти малого объема с большим количеством циклов перепрограммирования рекомендуется использовать внешние микросхемы памяти EEPROM с последовательным интерфейсом.

Пользовательским программам доступна область памяти в диапазоне адресов 0x000000…0x7FFFFF. Память программ организована в виде блоков, адресуемых пословно. Хотя адрес памяти является 24 битным, более удобно рассматривать любой адрес в виде младшего и старшего слова, при этом старший байт старшего слова не используется и равен 0. Младшее слово всегда располагается по четному адресу, а старшее — по нечетному.

По адресам 0x000000 и 0x000002 размещается команда перехода к фактическому началу программы, при этом по первому адресу располагается код операции инструкции goto, а по второму — собственно адрес точки входа в программу. Также в памяти программ размещаются две таблицы векторов прерываний. Одна из них располагается в диапазоне адресов 0x000004…0x0000FE, а вторая (альтернативная) — в диапазоне адресов

0x000104…0x0001FE.

Половину карты программной памяти занимает так называемое «конфигурационное пространство». Во всех 16-битных микроконтроллерах физически реализована только небольшая часть этого сектора – это слова конфигурации, определяющие режим работы контроллера после сброса и идентификационный код кристалла, предназначенный для определения контроллера аппаратными средствами разработки.

Физически программная память во всех контроллерах 16-битного семейства реализована в виде перепрограммируемой Flash-памяти. Все контроллеры поддерживают внутрисхемное программирование и программирование в ходе выполнения программы.

1.3 Память данных

Шина адреса данных микроконтроллеров dsPIC33 является 16-битной и позволяет адресовать до 64 кБ памяти ОЗУ, которая физически выполнена в качестве статической памяти с возможностью байтового доступа. Почти все инструкции, работающие с ОЗУ, имеют спецификатор, указывающий, будет ли осуществляться доступ к слову (16 бит) или к байту (8 бит). Карта памяти данных микроконтроллера dsPIC33fj32mc204 приведена на рис. 1.2.

437

Рис. 1.2. Карта памяти данных микроконтроллера dsPIC33

1) начале ОЗУ расположена область регистров специального назначения (SFR) объемом 2 кБайта. Внутри семейства все регистры SFR расположены статически по одним адресам.

Данные в памяти выравниваются по границе слова, при этом младшие байты имеют четные, а старшие — нечетные адреса.

С адреса 0x0800 начинается сектор ОЗУ общего назначения, максимальный объем которого составляет 30 кБайт; в разных контроллерах только часть этого сектора может быть реализована физически. Верхнюю половину ОЗУ занимает область, в которую отображается часть программной

438

памяти при использовании механизма PSV.

2) семействе dsPIC33 реализовано два адресных генератора, что позволяет инструкциям DSP-ядра делать две выборки из ОЗУ за один командный такт. Это объясняет разделение области ОЗУ общего назначения на два сектора X и Y. Однако это разделение не является сегментированием или ограничением – для всех инструкций CPU-ядра сектор ОЗУ общего назначения линеен.

Первые 8 кБайт ОЗУ (включая область SFR) называются пространством ближней памяти (Near Data Space). Прямая адресация возможна только к этому сегменту. Остальная часть ОЗУ может быть адресована косвенно.

1.4 АЛУ, умножитель, поддержка деления

16-битное арифметико-логическое устройство (АЛУ) позволяет выполнять за один командный такт следующие операции: сложение, вычитание, битовый сдвиг и поразрядные логические операции, включая инверсию. Результаты операций влияют на статусные флаги. АЛУ выполняет операции с 16-битными словами или байтами в зависимости от синтаксиса инструкции.

В состав ядра входит умножитель 17 x 17 бит, который позволяет выполнять операции умножения 16 x 16, 16 x 8 и 8 x 8 бит, знаковые, беззнаковые и смешанные за один командный такт. При знаковом и смешанном умножении используется расширение знака. Операции умножения не влияют на статусные флаги. В качестве операндов используются рабочие регистры, результат умножения возвращается в указанную регистровую пару.

Аппаратная поддержка деления (итерационный метод) позволяет значительно сократить время выполнения математических алгоритмов. Операции деления 32/16 и 16/16 бит (знаковые и беззнаковые) выполняются за 18 командных тактов. В качестве операндов используются рабочие регистры, после выполнения деления доступен результат и остаток.

Ядро содержит модуль сдвига (barrel shifter), который позволяет выполнять за один командный такт операции сдвига и вращения на произвольное (до 15) количество бит. Сдвиг вправо может быть логическим (без расширения знака) или арифметическим (с расширением знака).

1.5 Система тактирования микроконтроллера

Микроконтроллер состоит из множества различных модулей, работу которых необходимо синхронизировать и тактировать. Для этих целей служит тактовый генератор. Тактовый генератор непрерывно формирует импульсы заданной частоты. Главной характеристикой генератора является частота.

Семейства dsPIC33 имеют переработанную схему конвейера – команда выполняется за 2 такта генератора. Таким образом, частота выполнения

439

команд соответствует частоте FCY и по умолчанию FCY = FOSC / 2. Максимальная производительность dsPIC33 составляет 40 MIPS (при тактовой частоте 80

MHz).

Микроконтроллер семейства dsPIC33 имеет возможность тактирования от одного из двух внутренних и двух внешних источников, позволяя также производить их настройку и переключение. Внутренние генераторы позволяют уменьшить количество деталей и размеры платы и применяются в тех случаях, когда не требуется высокая точность их работы. Внешние генераторы применяются при необходимости точной синхронизации нескольких устройств в схеме. На рисунке 1.3 изображена блок-схема системы тактирования микроконтроллера.

Рис. 1.3. Блок-схема системы тактирования микроконтроллера

Таким образом, схема тактирования имеет четыре источника – первичный кварцевый генератор (4-10 МГц), вторичный кварцевый генератор (32 кГц), внутренний RC генератор 7.37 МГц и внутренний низкочастотный RC генератор 512 кГц. Первичный генератор может тактировать схему умножения частоты с ФАПЧ (PLL), коэффициент умножения является дробным и настраивается программно. PLL-умножитель не может быть подключен к внутренним RC генераторам или ко вторичному кварцевому генератору. Микроконтроллер может тактироваться от внешнего источника частоты (0-40 МГц). Система тактирования содержит детекторы стабильности тактовой частоты - возможно автоматическое переключение на вторичный источник при сбое первичного.

Частота внутреннего генератора может программно корректироваться в пределах +/- 12% c шагом в десятые доли процента.

Для работы с тактовым генератором предназначены нижеперечисленные регистры:

440

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