Микроконтроллеры. Основные определения

Методические указания

к курсовому проектированию по междисциплинарному курсу

МДК.02.02 «Микропроцессорные системы»
Специальность 230113 «Компьютерные системы и комплексы»

Ижевск, 2014

Методические указания к курсовому проектированию по междисциплинарному курсу МДК.02.02 «Микропроцессорные системы» специальности 230113 «Компьютерные системы и комплексы» составлены в соответствиис Государственными требованиями к минимуму содержания и уровню подготовки выпускников по специальности 230113 «Компьютерные системы и комплексы». Методические указания содержат сведения об основах программирования микроконтроллеров. Приведен порядок выполнения курсовой работы.

Составитель: В.Н. Сяктерев, канд. техн. наук, доц.

Рекомендованы методическим объединением профессионального цикла

Протокол № _______ от «_____»__________ 20 ___ г.


СОДЕРЖАНИЕ

  Введение  
1. Теоретические сведения  
  1.1 Микроконтроллеры. Основные определения  
  1.2 Программирование микроконтроллеров. Компиляторы  
  1.3 Программаторы  
2. Общая постановка задач на курсовое проектирование  
3. Варианты заданий для курсового проектирования  
4. Пример выполнения курсового проекта  
  4.1 Получение файла прошивки  
  4.2 Моделирование работы схемы в Proteus VSM 7.7.  
  Список литературы  

Введение

В настоящее время широкое распространение получили микропроцессорные системы (МПС) на основе микроконтроллеров, которые отличаются от других МПС не только архитектурой и характеристиками, но и особенностями функционирования и реализации. Большинство микроконтроллеров представляют собой процессор, интегрированный с памятью и устройствами ввода/вывода. Когда разрабатываются системы на основе микроконтроллеров, то создаются не только аппаратные средства, которые реализуются соответствующим подключением микроконтроллера к внешним устройствам но и разрабатывается необходимое программное обеспечение. Разработчик при этом должен обеспечить выполнение многих системных функций, которые в традиционных МПС обеспечиваются с помощью операционной системы и специальных периферийных микросхем. Это позволяет оптимизировать разработку для конкретного применения. Эффективность проектирования МПС определяется в первую очередь квалификацией разработчика и арсеналом инструментальных средств для проектирования. Поэтому в процессе разработки МПС, на стадии обучения, целесообразно применение современных моделирующих систем автоматизированного проектирования.


ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Микроконтроллеры. Основные определения.

Микроконтроллер (МК) — это специальная микросхема, предназначенная для управления электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной программой. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства (периферию). Использование в современном микроконтроллере достаточного мощного вычислительного устройства с широкими возможностями, построенного на одной микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе устройств. В настоящее время микроконтроллеры находят применение в различных отраслях: системах автоматического управления, в вычислительной технике, электронике и устройствах бытовой техники и др.

В зависимости от модели микроконтроллера его периферию составляют:

· универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;

· различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;

· аналого-цифровые и цифро-аналоговые преобразователи;

· компараторы;

· широтно-импульсные модуляторы;

· таймеры;

· контроллеры бесколлекторных двигателей;

· контроллеры дисплеев и клавиатур;

· радиочастотные приемники и передатчики;

· массивы встроенной флэш-памяти;

· встроенный тактовый генератор и сторожевой таймер.

Наличие всех перечисленных устройств в составе микроконтроллера необязательно. Чаще всего производитель выпускает несколько моделей изделий, имеющих в своем составе различные периферийные устройства. Микроконтроллеры с одним типом процессора (и набором исполняемых машинных кодов), но различными периферийными устройствами относят к одному семейству.

В зависимости от числа используемых кодов операций системы команд МК можно разделить на две группы: CISC и RISC. Термин CISC означает сложную систему команд и является аббревиатурой английского определения Complex Instruction Set Computer. Аналогично термин RISC означает сокращенную систему команд и происходит от английского Reduce Instruction Set Computer. Основная идея RISC архитектуры - это тщательный подбор таких комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Основной выигрыш от такого подхода - резкое упрощение аппаратной реализации центрального процессора и возможность значительно повысить его производительность.

Очевидно, что в общем случае одной команде CISC соответствует несколько команд RISC. Однако обычно выигрыш от повышения быстродействия в рамках RISC перекрывает потери от менее эффективной системы команд, что приводит к более высокой эффективности RISC систем в целом по сравнению с CISC.

Однако в настоящее время грань между CISC и RISC архитектурой стремительно стирается. Например, МК семейства AVR фирмы Atmel имеют систему команд из 120 инструкций, что соответствует типу CISC. Однако большинство из них выполняется за один такт, что является признаком RISC архитектуры. Сегодня принято считать, что признаком RISC архитектуры является выполнение команд за один такт тактового генератора. Число команд само по себе значения уже не имеет.

Можно выделить три основных вида памяти, используемой в МК:

а) память программ;

б) память данных;

в) регистры МК.

Память программ представляет собой постоянную память, предназначенную для хранения программного кода и констант. Эта память не изменяет содержимого в процессе выполнения программы. Память данных предназначена для хранения переменных в ходе выполнения программы. Регистры МК - вид памяти, включающий в себя внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами.

Для хранения программ обычно служит один из видов постоянной памяти: ROM (Read-Only Memory) (масочные ПЗУ), PROM (Programmable ROM) (однократно программируемые ПЗУ), EPROM (Erasable PROM) (электрически программируемые ПЗУ с ультрафиолетовым стиранием) или EEPROM (Electrically EPROM) (ПЗУ с электрической записью и стиранием, к этому виду также относятся современные микросхемы Flash-памяти). Все эти виды памяти являются энергонезависимыми - это означает, что содержимое памяти сохраняется после выключения питания МК.

Многократно программируемые ПЗУ - EPROM и EEPROM подразделяются на ПЗУ со стиранием ультрафиолетовым (УФ) облучением (выпускаются в корпусах с окном) и МК с электрически перепрограммируемой памятью, соответственно.

В настоящее время протоколы программирования современной EEPROM памяти позволяют выполнять программирование МК непосредственно в составе системы, где он работает. Такой способ программирования получил название - ISP (In System Programming). И теперь можно периодически обновлять программное обеспечение МК без удаления из платы. Это дает огромный выигрыш на начальных этапах разработки систем на базе МК или в процессе их изучения, когда масса времени уходит на многократный поиск причин неработоспособности системы и выполнение последующих циклов стирания-программирования памяти программ.

Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способности стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирание осуществляется целыми блоками.

ОЗУ (RAM от англ. ”Random Access Memory”) - оперативное запоминающее устройство, используется для хранения данных. Эту память называют еще памятью данных. Число циклов чтения и записи в ОЗУ неограниченно, но при отключении питания вся информация теряется.

Данные также могут быть получены из внешних устройств через линии связи — выводы микроконтроллера. Эти линии связи называют устройствами ввода и вывода данных, или портами. Выводы порта могут быть входами, с использованием которых процессор получает информацию извне от разных датчиков, или быть выходами, подавая сигналы на которые можно управлять внешними устройствами. В современных микроконтроллерах выводы практически всех портов двунаправленные, т.е. могут быть и входами, и выходами. Универсальные порты необходимо настраивать — установить режим работы на ввод или вывод. Для этого имеется специальная ячейка в памяти — регистр управления режимами работы порта. Например, для того чтобы сделать входом необходимый вывод (разряд) порта, в разряд регистра управления записывают 1 или 0 в зависимости от модели микроконтроллера.

Для решения проблемы нехватки выводов (некоторые микроконтроллеры имеют всего 8 выводов) используют метод объединения функций нескольких устройств с использованием одного вывода. Например, выводы одного из портов (8 разрядов – 8 выводов) также используется и для работы аналогово-цифрового преобразователя, а выводы другого порта — как входы аналоговых компараторов, последовательного порта или для подключения других встроенных узлов. Для управления режимами работы выводов используется специальный регистр управления режимами работы порта. В большинстве микроконтроллеров выводы имеют несколько функций. Если обратиться к технической документации на контроллер, то при описании функции вывода будет сделано замечание об основной и об альтернативной функции данного вывода. Например: PD0/RX — нулевой разряд порта D одновременно является и входом последовательного порта, PB1/Ain0 — первый разряд порта В одновременно является входом аналогового компаратора.

Команды для процессора даются в определенном порядке в соответствии с ранее разработанным алгоритмом. Алгоритм — это последовательность выполнения команд процессором. Причем команды должны быть понятны процессору и при этом иметь однозначное толкование без какой-либо самостоятельности при её выполнении. К особым командам процессора относятся команды условного и безусловного перехода. Команда безусловного перехода указывает процессору изменить порядок последовательно выполнения программы и начать выполнять команды, хранящиеся в памяти, начиная с ранее указанного адреса.
Команда условного перехода сложнее: при ее выполнении проверяется выполнение какого-либо условия. Например, необходимо сравнить значение двух ячеек памяти. Если значение первой ячейки больше, то продолжить выполнение программы по адресу А, иначе (т.е., значение первой ячейки меньше) — перейти по адресу С.

Имеется еще один способ «заставить» процессор прекратить последовательное исполнение программы и перейти к выполнению программы по определенному адресу — вызвать прерывание. Обычно его обозначают как «Int» (от англ. «Interrupt» — прерывание). При подаче сигнала на вывод «Int» происходят следующие действия:

1. Остановка выполнения основной программы.
2. В оперативной памяти сохраняется значение регистра указателя адреса выполняемой команды (место прерывания выполнения программы).
3. После чего в этот же регистр загружается новый адрес.

4. В ячейке памяти с указанным адресом расположена команда безусловного перехода: «перейти по адресу хх».
5. В памяти, начиная с ячейки с адресом хх, расположена еще одна программа (выполняемая по прерыванию).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: