Микроконтроллеры

21 ноября 2014

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

 

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


Существует шесть компаний занимающихся данной отраслью микроэлектроники: Atmel Corporation, Microchip Technology Inc, STMicroelectronics, Texas Instruments, NXP и Freescale.


Две основные из них, занимающихся продажами микроконтроллеров на свободный рынок:
Microchip Technology Inc. - США, созданная в 1987 году, выпускающая 8 битные, 16 битные и 32-битные микроконтроллеры, семейства PIC. Модели: PIC12C508, PIC14000, PIC16C432, PIC17C42...
Atmel Corporation – США. Эта компания создана в 1984 году, выпускает 8 бит, 16 бит и 32 микроконтроллеры, семейства ARM,RISC архитектуры. Первая выпущенная модель была в 1993 году на базе ядра Intel 8051. Модели: ATtiny11, ATtiny2313, AT90S2313, ATmega8, ATmega16, ATmega32, ATmega48 и т.д.


Именно на МК этих производителей, сейчас радиолюбители собирают, различные простые и сложные автоматизированные устройства.


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


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


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

Можно использовать и готовые написанные программы. Благо в интернете их полно.


Для осуществления такого простого проекта понадобятся:
Первое - собрать программатор. Он нужен для согласования микроконтроллера с компьютером (ПК), для того чтобы выполнить программирование микроконтроллера. Так как без программы, МК работать не будет. Второе - Установленная программа на ПК, которая будет прошивать МК.


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


Самый распространённый и безопасный, последовательный тип - собирается на базе буферной микросхемы, такой как 74HC244N фирмы Philips (Его точный аналог 74LS244N фирмы TEXAS INSTRUMENTS). Эта микросхема - 8 буферный шинный формирователь. Который сопрягает, каналы обмена данных (в частности программы) МК с ПК. Можно конечно обойтись и без неё, поставив обычные резисторы. Но тогда вы подвергните опасности (в виде порчи) аппаратную часть компьютера и микроконтроллера. Как это может произойти? Дело в том, что данный программатор подключается к компьютеру через LPT порт. В котором уровень сигнала передачи данных, намного выше чем, уровень порта интерфейса передачи данных(ISP) МК. Только поэтому и нужен программатор,
Сам ISP-интерфейс МК, из себя представляет пять проводников (контактных ножек МК),это: SCK, MISO, MOSI,RESET, GND. каждая из них выполняет конкретную функцию по передаче данных. MISO (Master Input Slave Output) - ввод данных, MOSI (Master Output Slave Input) - вывод данных, SCK - линия синхроимпульса скорости обмена данных, RESET - сброс, GND - общий провод(масса).


Кроме программирования через LPT(параллельный), существует ещё два варианта: через COM порт (последовательный) и универсальную последовательную шину(USB).


Программатор МК через COM порт, очень простой. Для его исполнения не нужна микросхема буфера. При использовании режима Bitbang, собирается из пяти деталей - диодов с резисторами, которые приводят уровень сигнала COM порта к необходимым МК. Описанный программатор, тоже довольно хорошо распространён, но менее безопасен, чем программатор LPT.


Теперь по поводу USB. Программаторы, сделанные для работы через данный порт, очень сложны. Для его сборки нужен прошитый микроконтроллер, которого у нас пока нет. Именно по этой и другим причинам, первый программатор лучше собирать с последовательным подключением(LPT).


Программ для работ с микроконтроллерами устанавливаемых в компьютер, достаточно много. Более удобны и функциональны: AVReAl, Pony prog, Visual avr и Ic prog. Они позволяют, редактировать, прошивать, считывать, форматировать, а также писать на них программы.


Есть ещё программы эмулирующую работу МК, такая как Proteus. Хороша тем, что позволяет проверить работу вашего будущего устройства в виртуальном виде, до того как вы будете собирать устройство на базе микроконтроллера. Заранее дав вам возможность исправить все недочёты. Само программирование происходит, путём установки МК в программатор с последующим подключением к ПК, и ни как в другой последовательности. Бывает и внутрисхемное программирование. МК позволяет прошивание, не изымая его из устройства.


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


Также прошу обратить внимание на фьюзы(FUSE)во время прошивания микроконтроллера. FUSE - это внутрисхемный программный предохранитель. От которого зависят важные системные функции МК. В разных микроконтроллерах их бывает разное количество.
Главное помните, неправильное выставление FUSE, может вывести из строя МК. Данные об их правильной настройке, вы найдёте в справке микроконтроллера.