Разработка устройств на микроконтроллерах реферат

Обновлено: 30.06.2024

Приложение 2 – Спецификация
Введение
Сегодня в мире ежедневно успешно проектируется и используется огромное количество различных электронных устройств и систем. Современная жизнь немыслима без компьютеров, а сам факт, что сейчас на экранах мониторов вы читаете эту статью, стал возможен только благодаря сети Интернет и возможностям современной науки и электронной техники. Однако многие устройства человек использует чаще компьютеров. Без этих устройств уже нельзя вообразить нашу повседневную жизнь, такой, как мы привыкли ее видеть. Это встроенные приборы, управляемые различными микроконтроллерами. К примеру, банкомат построен на базе несложного терминала, который имеет сетевое подключение, и интерфейсные модули для дисплея, клавиатуры, устройству выдачи купюр и так далее. Всем знакомые электронные часы, управляются микросхемой, отсчитывающей отрезки времени в микросекундах и отображающей на экране текущее время. А сотовый телефон и вовсе имеет собственную операционную систему, со своими файлами, директориями и подпрограммами.


  • Микроконтроллер PIC18F8680 со встроенными модулями EUSART, SPI.

  • 3-канальный 12-разрядный АЦП MAX1247 с SPI-интерфейсом.

  • 1-канальный 10-разрядный ЦАП AD561.

  • Клавиатура 20 клавиш (матрица 5*4)

  • LCD-индикатор ACM-1602

  • Схема сопряжения в фотоимпульсным датчиком углового положения ФИ2.

  • Аналоговые сигналы (3 канала) – через АЦП.

  • Числовые данные и управление функциями – через клавиатуру.

  • Цифровая информация с внешних цифровых источников через интерфейс RS-485.

  • Фотоимпульсный датчик.

  • Аналоговый сигнал управления (1 канал) – через ЦАП.

  • Цифровая и буквенная информация – через дисплей.

  • Данные о текущем состоянии устройства и цифровые данные для внешних цифровых устройств – через интерфейс RS-485.

2. Описание принципиальной схемы

Описание основных блоков устройства и обоснование выбора элементной базы, а также общее описание функционирования.
2.1. Микроконтроллер PIC18F8680


.

Рис. 2.1.1. Функциональная схема.

Микроконтроллеры семейства PIC имеют эффективную систему команд, состоящую всего из 35 инструкций. Все инструкции выполняются за один цикл, за исключением условных переходов и команд, изменяющих программный счетчик, которые выполняются за 2 цикла. Один цикл выполнения инструкции состоит из 4 периодов тактовой частоты. Таким образом, учитывая то, что рабочая частота контроллера составляет 0 Гц . 20 МГц, минимальное время выполнения инструкции равняется 200 нс. Каждая инструкция состоит из 14 бит, делящихся на код операции и операнд (возможна манипуляция с регистрами, ячейками памяти и непосредственными данными).

Высокая скорость выполнения команд в PIC достигается за счет использования двухшинной Гарвардской архитектуры вместо традиционной одношинной Фон-Hеймановской. Гарвардская архитектура основывается на наборе регистров с разделенными шинами и адресным пространством для команд и для данных. Набор регистров означает, что все программные объекты, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры.

На рис.2.1.2 представлена карта памяти данного микроконтроллера.


Рис.2.1.2. Карта памяти

Программирование контроллера осуществляется любым программатором, совместимым с процессорами PIC, через стандартизованный разъем.

Тактирование МК будет осуществляться от внутреннего RC-генератора с частотой 4 МГц При этом на выводе RA6 получим тактовый сигнал с частотой в 4 раза меньшей, чем частота RC-генератора. Этот вывод будет задействован для синхронизации внешней логики.

2.2. Интерфейс RS-485

Интерфейс RS-485 (другое название - EIA/TIA-485) - один из наиболее распространенных стандартов физического уровня связи. Физический уровень - это канал связи и способ передачи сигнала (1 уровень модели взаимосвязи открытых систем OSI).

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов. В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" – отрицательна (рис.2.2.1).

Рис.2.2.1. Принцип передачи сигнала.

Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего ("земли"). Кроме того, на сопротивлении длинного общего провода будет падать разность потенциалов земель - дополнительный источник искажений. А при дифференциальной передаче искажения не происходит. В самом деле, если два провода пролегают близко друг к другу, да еще перевиты, то наводка на оба провода одинакова. Потенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений. Аппаратная реализация интерфейса - микросхемы приемопередатчиков с дифференциальными входами/выходами (к линии) и цифровыми портами.

RS-485 - полудуплексный интерфейс. Прием и передача идут по одной паре проводов с разделением по времени. В сети может быть много передатчиков, так как они могут отключаются в режиме приема.

Цифровой выход приемника (RO) подключается к порту приемника (RX). Цифровой вход передатчика (DI) к порту передатчика (TX). Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне "0" - работа на прием, при "1" - на передачу. Драйвер подключается согласно рис.2.2.2

Рис.2.2.2. Включение драйвера.

MAX1247-это 4-канальные 12-разрядные системы сбора данных, которые содержат 4-канальный мультиплексор, широкополосное устройство выборки и хранения, последовательный интерфейс с высокой скоростью преобразования и обладает низким энергопотреблением. Аналоговые входы являются программно конфигурируемыми для работы в униполярном, биполярном и симметричном и дифференциальном режимах.

4-проводной последовательный интерфейс напрямую сопрягается с устройствами SPI без использования дополнительных логических согласующих ИС (рис.2.4.1). Данные преобразователи построены по методу последовательного приближения.

MAX1247 имеет вход аппаратного управления режимом отключения SHDN (активный-НИЗКИЙ) и программно выбираемый режим отключения, и могут быть запрограммированы на автоматическое отключение по завершению преобразования. Обращение к последовательному интерфейсу автоматически активизирует ИС, а малое время включения позволяет приборам быть отключенными между преобразованиями, что дополнительно снижает потребляемый ток. Данная микросхема поставляется в корпусах DIP и QSOP.


Рис.2.4.1. Подключение к МК


  • CH0,CH1,CH3 – входы, по которым ведется снятие аналоговых сигналов с внешних датчиков (3 канала)

  • COM – общий вывод для аналоговых входов

  • SCLK, Din,Dout,CS – выходы АЦП, по которым осуществляется передача данных в МК по SPI интерфейсу. Они подключаются к выводам RC3,RC5,RC4,RF7 микроконтроллера соответственно.

  • Vcc,AGND,DGND – силовые выводы для питания микросхемы

  • SSTRB – используется для определения занятости АЦП.

  • Остальные выводы не используются.

2.5. Подключение клавиатуры
Для ввода цифровой и буквенной информации в приложениях на базе микроконтроллеров используются клавиатуры. Клавиатура представляет собой блок из нескольких кнопок, объединенных конструктивно и связанных между собой электрически по матричной схеме.

Порты, подключенные к строкам, настроены на выход и в начальном состоянии на этих выводах напряжение логического нуля. Порты, подключенные к столбцам, настроены на вход, внутренние подтягивающие резисторы отключены и эти линии “придавлены к нулю питания” с помощью внешних резисторов номиналом в 10 КОм.

Процедура сканирования клавиатуры выглядит следующим образом. Выставляем 1 на выводе RA0 и проверяем состояние выводов RB2-RB5. Если на каком-либо из выводов установлена 1, значит, на клавиатуре в данный момент нажата кнопка, подключенная к первой строке. Сохраняем биты RA0-RA5 и RB2-RB5– по этому коды мы будем определять номер нажатой кнопки. Если ни одна из кнопок не нажата, продолжаем процедуру сканирования.

Сбрасываем 1 на выводе RA0 и устанавливаем 1 на выводе PD1. Снова проверяем состояние выводов RB2-RB5, и в случае нажатия кнопки сохраняем биты RA0-RA5 и RB2-RB5 в переменной.

Повторяем описанную последовательность для оставшихся строк.

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

Код, получаемый в процессе сканирования клавиатуры, часто требуется преобразовать в символьное значение номера/буквы кнопки (например, для передачи по USART`у). Для этого можно создать таблицу перекодировки - двумерный массив. В первом столбце таблицы будут храниться коды кнопок, а во втором соответствующие символьные значения. Методом последовательного перебора в таблице можно находить нужное значение.

2.6. Осуществление индикации
Для отображения информации будет использоваться LCD индикатор ACM-1602. Его характеристики приведены ниже в таблицах 3 и 4.


Рис.2.6.1. Функциональная схема.

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


  • RS,R/W,E – входы управления режимами индикатора, которые подключаются к выводам RG0-RG2 микроконтроллера соответственно.

  • DB0-DB7 – входы данных, подключаемые к выводам RF0-RF6,RE7 соответственно.

  • V0,Vdd,BL+ - выводы питания и управления подсветкой, подключаются к +5V.

  • Vss,BL- - общие выводы, подключаемые к аналоговой земле.

2.7. Схема сопряжения фотоимпульсного датчика с микроконтроллером
Основным элементом ФИД является прозрачный диск с нанесенными на него рисками, количество которых достигается нескольких тысяч. При повороте диска, луч света, излучаемый источником ИС, модулируется рисками и воспринимается фотоприемниками ФП. Электрические сигналы от ФП преобразуются электронным преобразователем ЭП в систему электрических сигналов, которые подаются на микроконтроллер.

В качестве электронного преобразователя рассматривается следующая схема сопряжения ФИД с цифровой системой(рис.2.7.1).

Риc.2.7.1. Структурная схема сопряжения ФИ датчика.

В качестве гальванической развязки используются двухканальная оптопара диод-транзистор.

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

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

Для данной схемы возможны всего 4 комбинации (табл.6):

Табл.6.


А'

А

А

1

1

0

1

0

1

0

1

1

1

1

1

Схема мажоритарного фильтра будет иметь вид (рис.2.7.2):

Рис. 2.7.2. Схема мажоритарного элемента

Работа представленного мажоритарного фильтра представлена на временных

диаграммах (рис. 2.7.3)

Рис. 2.7.3. Временные диаграммы работы мажоритарного фильтра
Для реализации схемы мажоритарного фильтра будем использовать одну микросхему К555ТМ9, которая включает в себя 6 D-триггеров, 1 микросхему К555ЛП13 в качестве мажоритарного элемента.
Для выделения импульсов будем использовать распространенную схему, собранную на мультиплексоре (К555КП2) и D-триггере (К555ТМ8).

Основной принцип работы схемы заключается в сдвиге сигналов с канала на один такт и подача прямого и инверсного сдвинутого сигнала на входы мультиплексора. Для формирования конечных импульсов данные сигналы поочередно передаются на выход мультиплексора с каждого информационного входа. Диаграмма выделения импульсов представлена на рис.2.7.4.

Рис. 2.7.4. Диаграммы работы схемы выделения импульсов
Для того, чтобы учесть все фронты и спады сигналов A и B, необходимо, чтобы частота импульсов CLK была минимум в 10 раз выше, чем частота вращения двигателя. Скоростью вращения двигателя max = 3000 об/мин = 50 об/с. Исходя из этих условий рассчитаем минимальную частоту синхроимпульсов:

Возьмём частоту с генератора (вывод RA6) микроконтроллера.

Рассчитаем требуемую разрядность реверсивных счётчиков:

fmax = 50 Гц – максимальная скорость вращения двигателя

= 0.001 – периодичность опроса датчика

N = 2048 – число импульсов на оборот поступающее с датчика

K =2 – коэффициент умножения

Следовательно, для ФИх2 n=8

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

Для передачи данных в микроконтроллер используется микросхема буферного регистра К555ИР35. Для передачи данных,записанных в регистр,он подключается к выводам порта RE

В нашей схеме будет использоваться: однофазная мостовая схема выпрямления, сглаживающие конденсаторы, интегральные стабилизаторы. В качестве стабилизаторов напряжения возьмем: LM7805(+5B) – 3шт., LM7815(+15B),LM337(-15B).

Согласно ТЗ, в качестве устройства обработки информации будем использовать микроконтроллер (МК) ATmega8, который производится фирмой Atmel. В качестве устройства ввода информации в МК будем использовать кнопку SB0. В качестве устройства вывода информации будем использовать семисегментный индикатор.

1. Техническое задание

. Разработка структурной схемы

. Разработка принципиальной схемы

. Разработка блок-схемы алгоритма работы устройства и программы для МК

. Результаты моделирования работы устройства в программе ISIS пакета Рroteus

. Разработка печатной платы

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

1. Техническое задание

На основе микроконтроллера ATmega8 разработать устройство, выполняющее следующие функции:

Подсчет количества нажатий на кнопку SB0 за каждые 15 с. Работа устройства должна осуществляться в цикле. По истечению текущих 15 с результат подсчета числа нажатий выводится на дисплей (семисегментный или LCD-дисплей) и сохраняется на нем в течении следующих 15 с.

Обеспечить формирование аналогового сигнала, вид которого изображен на рис. 1.1.

Рис. 1.1 — Заданный аналоговый сигнал 2. разработка структурной схемы

Согласно ТЗ, в качестве устройства обработки информации будем использовать микроконтроллер (МК) ATmega8, который производится фирмой Atmel. В качестве устройства ввода информации в МК будем использовать кнопку SB0. В качестве устройства вывода информации будем использовать семисегментный индикатор.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Для формирования аналогового сигнала будем использовать цифро-аналоговый преобразователь (ЦАП). Структурная схема устройства, построенная с учетом вышесказанного, приведена на рис. 2.1.

Рис. 2.1 — Структурная схема проектируемого устройства
3. разработка принципиальной схемы

В качестве микроконтроллера (МК) будем использовать заданный в ТЗ ATmega8, возможности которого позволяют решить поставленную задачу. Для ввода в МК соответствующего сегмента будем использовать кнопку SB0, которая подключается к выводу порта С PC0 микроконтроллера. Семисегментый индикатор подключим по схеме динамической индикации к выводам порта B PB0…PB6 и порта С PС0, PС1. Для того чтобы ток, протекающий через светодиод, не превышали допустимого тока, последовательно с ним необходимо включить токоограничивающий резистор R, номинал которого определяется из закона Ома

Принципиальная схема проектируемого устройства, созданная в программе ISIS пакета Proteus, изображена на рис. 3.1.

Рис. 3.1 — Принципиальная схема проектируемого устройства . Разработка блок-схемы алгоритма работы устройства и программы для МК

Основную программу будем использовать для определения количества нажатий на кнопку SB0 и вывода данного значения на семисегментные индикаторы.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Для формирования аналогового сигнала и отсчета 15 с будем использовать режим работы сброс таймера при совпадении (СТС). Для работы в режиме СТС используется специальный регистр микроконтроллера — регистр совпадения, в нашем случае это OCR0A. В режиме СТС таймер производит подсчет входных импульсов. Текущее значение таймера из его счетного регистра постоянно сравнивается с содержимым регистра совпадения. Когда содержимое счетного регистра совпадет с содержимым регистра OCR0A, произойдет сброс таймера и вызов соответствующего прерывания. По прерыванию в порт С выводится значение, которое рассчитывается МК по заданным формулам. При частоте тактового генератора 8 МГц в регистр совпадения необходимо записать значение 115, или, представив данное значение в шестнадцатеричной системе счисления, получим 0x73.

В качестве среды разработки программы будем использовать среду CodeVisionAVR, которая представляет собой интегрированная среду разработки программного обеспечения для микроконтроллеров семейства AVR фирмы Atmel .

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

Таблица 4.1 — Описание переменной, используемой в программе

Имя переменной Тип переменной Назначение переменной
time unsigned int Количество интервалов дискретизации
msec unsigned int Счетчик милисекунд
sec unsigned char Счетчик секунд
vivod unsigned char Переменная, в которой хранится результат предыдущего запоминания
count unsigned char Счетчик количества нажатий
cifri[] unsigned char Массив цифр для семисегментного индикатора
temp unsigned char Переменная для динамической индикации
i unsigned char Переменная для динамической индикации

Блок-схемы работы основной программы и подпрограмм обработки прерываний изображены на рис. 4.1…4.3.

программа прерывание плата

Рис. 4.1 — Блок-схема подпрограммы обработки прерываний для формирования аналогового сигнала

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Рис. 4.2 — Блок-схема подпрограммы обработки прерываний для отсчета 15 с

Рис. 4.2 — Блок-схема основной программы и функции динамической индикации

Текст программы, написанной на языке С, представлен ниже.

This program was produced by theV2.05.0 ProfessionalProgram Generator

type : ATmega8type : ApplicationCore Clock frequency: 8,000000 MHzmodel : SmallRAM size : 0Stack size : 256

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

// Timer1 output compare A interrupt service routine[TIM1_COMPA] void timer1_compa_isr(void)

Гост

ГОСТ

Виды и особенности микроконтроллеров AVR

Микроконтроллер – это микросхема, которая предназначена для управления электронными устройствами.

Основная особенность микроконтроллеров серии AVR заключается в их быстродействии. Они способны выполнить подавляющее большинство инструкций за один цикл. Они действуют в четыре раза быстрее, чем микроконтроллеры серии PIC, = потребляют значительно меньше энергии и могут работать в самых разных режимах электросбережения.

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

Микроконтроллеры серии AVR делятся на следующие группы:

  1. ATmega. Большой контроллер с флеш-памятью, объем которой может достигать 256 килобайт, в корпусе, оборудованном контактами, число которых составляет от 28 до 100, со встроенным аппаратным усилителем.
  2. ATxmega – мощный процессор с DMA.
  3. AT90CAN - ATmega с контроллером CAN.
  4. AT90USB - ATmega с встроенным USB-контроллером.
  5. ATtiny, который представляет собой маленький контроллер AVR с флеш памятью объемом до 16 килобайт, оборудованный контактами, количество которых составляет от 6 до 32.

Разработка устройств на основе микроконтроллера AVR

Процесс разработки устройств на основе микроконтроллера AVR состоит из следующих этапов:

Готовые работы на аналогичную тему

  1. Постановка (получение) задачи.
  2. Составление алгоритма работы устройства.
  3. Разработка электрической схемы.
  4. Создание программы на языке программирования.
  5. Транслирование и отладка.

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

Постановка задачи осуществляется заказчиком или самим исполнителем, на основе положений ранее полученного технического задания. Например, оно может звучать следующим образом “Разработать устройство управления двумя светодиодами при помощи одной кнопки. При первом нажатии оба светодиода должны загореться, а при повторном погаснуть”.

В процессе разработки электрической схемы устройства на основе микроконтроллера AVR решается ряд вопросов. Первый вопрос заключается в подключении кнопки и светодиодов к микроконтроллеру. В микроконтроллерах серии AVR для этого предусмотрены специальные порты. Самым удобным способом будет следующее подключение - каждый светодиод и кнопку подключить к отдельному порту. Из этого можно сделать вывод, что нам нужна модель контроллера минимум с тремя портами. Далее на основе особенностей подключения разрабатывается и рассчитывается принципиальная схема готового устройства.

После разработки схемы переходят к созданию алгоритма. Он представляет собой последовательность действий, которые должен произвести микроконтроллер, необходимых для достижения нужного результата. Для этого устанавливаются начальные настройки, например, настройка портов, включение внутренних резисторов и т.п. Затем создаются операции тела цикла работы устройства - от включения до отключения. После этого начинается процесс программирования, на одном из языков. Данный процесс достаточно трудоемкий и занимает значительную долю время от общего времени разработки устройства. Выбор того или иного языка программирования зависит от навыков программиста и имеющихся ресурсов. Как правило, для микроконтроллеров серии AVR применяется язык Ассемблер. В большинстве случаев программирование производится на двум и более языках. Делается это для быстрого нахождения ошибок и исправления недочетов.

Последним этапом разработки являются транслирование и отладка Транслирование представляет собой процесс преобразование программы, выполненной на одном языке, в программу на другом, в процессе которого могут быть обнаружены критические ошибки, для исправления которых проводится отладка. Отладка представляет собой процесс исправления ошибок. Для этого используется специальная компьютерная программа-отладчик. Она позволяет поэтапно реализовать готовую программу, а также пошагово выполнять ее с использованием точек остановок. Существуют три основных вида программ - отладчиков: программные, аппаратные и комбинированные. Программные проверяют только логику работы программы. При помощи аппаратного отладчика проверяют работу устройства в реальном времени и в комплексе, что невозможно сделать при применении программного отладчика.

Овчинникова Полина Михайловна

Увлечение радиоэлектроникой привело к знакомству свойств микроконтроллеров и изготовление на их основе различных устройств.

ВложениеРазмер
изготовление устройств на основе микроконтроллеров 21.71 КБ

Предварительный просмотр:

Увлекаясь радиоэлектроникой, я создал множество различных устройств, но недавно я стал замечать, что возможностей транзисторов и КМОП микросхем мне уже не хватает. Тогда я решил познакомиться с микроконтроллерами.

Целями моей работы стали: изучение истории и свойств микроконтроллеров и создание устройства на основе МК.

Микроконтро́ллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.

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

Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. Во многих контроллерах вообще нет шин для подключения внешней памяти. Наиболее дешёвые типы памяти допускают лишь однократную запись. Такие устройства подходят для массового производства в тех случаях, когда программа контроллера не будет обновляться. Другие модификации контроллеров обладают возможностью многократной перезаписи энергонезависимой памяти.

Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:

  • универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;
  • различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;
  • аналого-цифровые и цифро-аналоговые преобразователи;
  • компараторы;
  • широтно-импульсные модуляторы;
  • таймеры;
  • контроллеры бесколлекторных двигателей;
  • контроллеры дисплеев и клавиатур;
  • радиочастотные приемники и передатчики;
  • массивы встроенной флеш-памяти;
  • встроенный тактовый генератор и сторожевой таймер;

Ограничения по цене и энергопотреблению сдерживают также рост тактовой частоты контроллеров. Хотя производители стремятся обеспечить работу своих изделий на высоких частотах, они, в то же время, предоставляют заказчикам выбор, выпуская модификации, рассчитанные на разные частоты и напряжения питания. Во многих моделях микроконтроллеров используется статическая память для ОЗУ и внутренних регистров. Это даёт контроллеру возможность работать на меньших частотах и даже не терять данные при полной остановке тактового генератора. Часто предусмотрены различные режимы энергосбережения, в которых отключается часть периферийных устройств и вычислительный модуль.

Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода.

В 1976 годуамериканская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, совместимый по системе команд с выпущенным ранее микропроцессором MC6800. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием — в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

В СССР велись разработки оригинальных микроконтроллеров, также осваивался выпуск клонов наиболее удачных зарубежных образцов. В 1979 году в СССР НИИ ТТ

Изучив ресурсы интернета, я узнал что микроконтроллеры подразделяют на несколько семейств: MCS 51 (Intel), MSP430 (TI), ARM (ARM Limited), AVR (Atmel), PIC (Microchip) STM8 (STMicroelectronics).

Я решил остановиться на МК семейства PIC т.к. они наиболее распространены в России.

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

  • в вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD, калькуляторах;
  • электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления — стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах;
  • устройств промышленной автоматики — от программируемого реле и встраиваемых систем до ПЛК,
  • систем управления станками

В дальнейшем я планирую изучить язык программирования ассемблер чтобы самостоятельно программировать МК.

Читайте также: