Минимальная обвязка ATmega8, 168, 328

Опубликовано 20.08.2013 17:12:00


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

 

Питание контроллера

Питание контроллера (IC1) делится на цифровую часть (VCC, GND) и аналоговою (AVCC, AGND), и для ATmega8, 168, 328 должно лежать в пределах 5 вольт. В нашем случае можно смело объединить VCC с AVCC и GND c AGND. 

В контроллере также присутствует вывод AREF. Напряжение, присутствующее на данном выводе, будет задавать опорное для аналоговых входов. Если данный вывод ни к чему не подключен, что мы и имеем на платах Arduino, то контроллер автоматом задает значение опорного напряжения равное 5 вольтам.

Для фильтрации ВЧ помех рекомендуется установить конденсатор (C1) емкостью 0.1 мкФ между питанием контроллера и землей.

 

 

Кварцевый генератор

В контроллерах ATmega8, 168, 328 имеется внутренний кварцевый генератор работающий на частоте 8 МГЦ, т.е если нам не очень важна частота, то во внешнюю обвязку можно внешний кварц и не включать. Однако при таком варианте, потребуется прошивать соответствующий бутлоадер и добавлять новые платы в boards,txt

Большинство плат Arduino работает на частоте 16 МГц, в связи с этим необходима установка внешнего кварца. Кварц (Q1) ставится на ноги 9 и 10 (выводы XTAIL1/XTAIL2) и далее через конденсаторы (C2, C3), нужного для работы кварца номинала (в нашем случае 18-22p), кидаются на землю.

  


 

Перезагрузка контроллера

Для возможности осуществления перезагрузки контроллера предусмотрен вывод RESET.

Когда на выводе присутствует положительный потенциал, для этого притягиеваем резистором (R1) к +5 вольтам, контроллер работает по заданной программе. Для осуществения сброса МК, вывод RESET необходимо замкнуть на землю, для этих целей служит кнопка (S1).

 

 

Вот и все, ничего сложного нет, на этой обвязке контроллер должен уверенно запуститься.


 

Получение напряжения для работы контроллера

Не всегда под рукой можно найти стабилизированные 5 вольт. Самым простым способом решения данной проблемы явлеется установка широкораспространенного стабилизатора 7805, в простонародье Кренка.

Для сглаживания входного и выходного напряжений в обвязку кренки необходимо установить конденсаторы (C4, C5). Кренка будет работать и без них, однако напряжение может поскакивать. 


 

Распиновка контроллера

Смотря на данные принципиальные схемы, у большинства новичков скорее всего возникнут вопросы о том, куда делись привычные, для среды Arduino, выводы D1, D2 и т.д.

Непосредственно сам контроллер Atmega разбит на три порта : PORT C (аналоговые входы) и PORT B, PORT D (цифровые входы/выходы).  При программировании на СИ, в чистом виде, в коде программы происходит обращение к выводам, по названиям из даташита. Например операция PORTB |= 1«5; установит логическую единицу на указаном порте и пине, а в среде Arduino тоже самое произойдет при функции

 

digitalWrite(13, HIGH);

 

Как вы наверное уже догадались, все эти PC2, PB2,  в среде Arduino спрятаны за обычными цифрами, а обращение к портам происходит в завиcимости от функций

 

Далее приложу, да вы и сами поймете что)

Сопоставление выводов контроллера


 

Интерфейсы

Связь с внешним миром в контроллерах ATmega8, 168, 328 представлена 3 видами интерфейсов. Сильно углубляться здесь не буду, скопирую инфомацию из Википедии, от себя для наглядности добавлю цветовую маркировку.

I2C (Inter-Integrated Circuit) — последовательная шина данных для связи интегральных схем, использующая две двунаправленные линии связи (SDA и SCL). Используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами. 

UART (Universal Asynchronous Receiver-Transmitter) — узел вычислительных устройств, предназначенный для связи с другими цифровыми устройствами. Преобразует заданный набор данных в последовательный вид так, чтобы было возможно передать их по однопроводной цифровой линии другому аналогичному устройству. Метод преобразования хорошо стандартизован и широко применялся в компьютерной технике.

SPI (Serial Peripheral Interface, SPI bus) — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.

 


А как же комментарии?