Перейти к содержанию

Подключение микроконтроллера

На первый взгляд элементарная тематика, а но в комментариях меня засыпали вопросами как присоединить контроллер. Как присоединить к нему светодиод, клавишу, питание. Как быть с AGND либо AREF. Для чего необходим AVCC и все в подобном духе. Так вот, раз есть вопросы, означает тематика не ясна и нужно предоставить по возможности подробный ответ. Все представляю для контроллеров AVR, однако для каких нибудь PIC все очень похоже. Т.к. основы здесь единственны.

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

Для работы микроконтроллеру необходима энергия — напряжение. Для этого на него конечно же необходимо завести питалово. Усилие питание у МК Atmel AVR разнится от 1.8 до 5 вольт, исходя из серии и модификации. Все AVR могут работать от 5 вольт (если есть исключительно низковольтные серии, то просьба уточнить в комментариях, т.к. я подобных не видел). Таким образом будем думать что усилие питания контроллера у нас всегда 5 вольт либо около того. Плюс усилия питания как правило намечается как Vcc. Свежий вывод (и Земля, Каркас, да когда его не называют) означают GND. Если получить за образец комповый адапрет. То темный шнур это GND (к слову, земельной шнур по традиции красят в темный оттенок), а ярко-красный это +5, будет нашим Vcc. Если ты намереваешься подсоединить контроллер от батареек, то минус батареек примем за GND, а плюс за Vcc (основное чтобы усилие питания с аккумуляторов было в данных краях для этого МК, позырь в даташите.

Направь внимание, что есть особенные низковольтные серии (к примеру 2313V низковльтная) у которых нижня граница усилия питания значительно меньше. Также стоит обратить свое внимание на следующий пункт, про частоты. Здесь представлена связь предельной частоты от усилия питания. Хорошо видно, что на невысоком усилии максимальные частоты ниже. А низковольтные серии раза в 2 неторопливее собственных высоковольтных коллег. Тем не менее, разгону все микропроцессоры послушны.

Для работы контроллерам серии AVR довольно лишь питания. На все входы Vcc нужно передать наши 5 (либо сколько там у тебя) вольт, а все входы GND нужно посадить на землю. У микроконтроллера вполне может быть очень много входов Vcc и очень много входов GND (в особенности если он в квадратном TQFP каркасе. У которого питалово со всех боков торчит). Очень много выводов выполнено не для удобства ремонта, а в целях однородной запитки кристалла со всех боков, чтобы внешние линии питания не перегружались. А то представь, что присоединил ты питалово лишь с одной стороны, а с иной стороны чипсета повесил на каждую полосу порта по светодиоду, да разом их зажег. Внешняя тонкопленочная рама питания, офигев от подобной токовой перегрузки, улетучилась и проц получил Неожиданно и без заметных, на первый взгляд, причин откинул копыта. Таким образом включать нужно все выводы Vcc и GND. Объединить их как следствие и подсоединить.

Некоторые вопросы вызвают AGND и AVCC — это аналоговая земля и питание для Аналого-Цифрового Преобразователя. АЦП это крайне истинный датчик усилия, потому его предпочтительно подсоединить через особые фильтры, чтобы преграды, которые не редкостны в стандартной питающей линии, не оказывали влияние на качество измерения. С данной задачей в четких схемах проводят деление земли на цифровую и аналоговую (они подсоединены должны быть лишь в одной точке), а на AVCC сервируется усилие через фильтровальный дроссель. Если ты не планируешь применять АЦП либо не намереваешься делать четкие измерения, то вполне позволительно на AVCC передать такие же 5 вольт, что и на Vcc, а AGND посадить на такую же землю что и все. Однако включать их нужно в обязательном порядке!!! ЕМНИП от AVCC питается также шлюз А.

В чипсете Mega8 похоже есть ошибка на уровне топологии чипсета — Vcc и AVcc сопряжены между собой внутри кристалла. Между ними противодействие около 5О м. Для аналогии, в ATmega16 и ATmega168 между Vcc и AVcc противодействие в сотни МЕГА ом! В даташите на данный счет никаких предписаний нет до сегодняшнего дня, однако в одном из топиков за 2004 год на AVRFreaks произнесено, что люди сопротивлялись с цифровым гулом АЦП, затем сообщили в помощь Atmel дескать WTF??? А те, мол, да в чипсете есть бага и Vcc и AVcc подсоединены внутри кристалла. В свете данной инфы, полагаю что устанавливать дроссель на AVcc для Mega8 почти бесполезно. Однако AVcc запитывать нужно так или иначе — кто знает как производительная данная внешняя зависимость?

Простая модель включения Микроконтроллера AVR дана ниже:

Это нужный максимум чтобы контроллер швырнулся. Шнур Vcc до программатора представлен пунктиром так как он не необходим. Если ты намереваешься кормить МК от наружного источника, то он не нужен. Однако я все-таки советую сперва кормить всю технологию (МК+программатор) от одного источника — больше возможность удачной прошивки 🙂 Для тренировочной задачи, диодом помигать, сойдет и так.

Однако так все упрощать я не советую. Лучше добавить несколько подвесных наружных частей. Вернее будет. Чтобы было вот так:

Как наблюдаешь, добавился дроссель в цепь питания AVCC, и конденсаторы. Отличным тоном считается устанавливать керамический конденсатор на сотню нанофарад между Vcc и GND у любой микросхемы (если у микрухи очень много вход питания и территорий, то между каждым питанием и любой землей) как можно к выводам питания — он сгладит короткие пульсирующие преграды в покрышке питания вызыванные работой цифровых моделей. Конденсатор на 47мКФ в линии питания сгладит не менее глубочайшие броски усилия. Кондесатор между AVcc и GND специально уймет питание на АЦП.

Вход AREF это вход основного усилия АЦП. Туда вообще можно передать усилие сравнительно которого будет думать АЦП, однако как правило применяется или врожденный ресурс основного усилия на 2.56 вольта, или усилие на AVCC, потому на AREF советуется вешать конденсатор, что несколько усовершенствует качество основного усилия АЦП (а от качества опоры находится в зависимости адекватность показаний на выходе АЦП).

Резистор на RESET. Вообще в AVR есть собственная внешняя модель сброса, а знак RESET внутри подтянут резистором в 100кОм к Vcc. Однако! Подтяжка это так мертвая, что контроллер преследует сброс от любого чиха. К примеру, от касания пальцем ножки RST, а может быть просто от задевания пальцем за оплату. Потому очень советуется RST натянуть до питания резистором в 10к. Меньше не следует, т.к. тогда есть возможность, что внутрисхемный программатор не может данную подтяжку пересилить и выметать МК внутри модели не получиться. 10к в самый раз. Если вас интересует Подключение микроконтроллера загляните на сайт www.radiodetector.ru.

Есть еще вот такая модель сброса:

Она примечательна чем — при подключении модели конденсатор разряжен и усилие на RST близко к нолю — контроллер не начнется, т.к. ему постоянный сброс. Однако с течением времени, через резистор, конденсатор повторяется и усилие на RST добьется лог1 — МК пустится. Ну, а клавиша дает возможность принудительно сделать сброс если нужно.

Заминка будет приблизительно T=R*C для этого образца — около сек. Для чего данная заминка? Да по крайней мере для того, чтобы МК не начался прежде чем все аксессуары платы запитаются и выйдут на определившийся порядок. В старых МК (АТ89С51, к примеру) без такой цепочки, обеспечивающей базовый сброс, МК мог вообще не стартануть.

В целом, в AVR задержку начала, если необходимо, можно сделать программно — опустить с пол сек до того как подходить к серьезным действиям. Таким образом кондер можно выбросить нафиг. А кнопку… как хочешь. Необходим тебе наружный RESET? Тогда оставь. Я как правило оставляю.

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *