Распиновка atmega8: Arduino attmega8: плата, характеристики, распиновка

Как подключить AVR микроконтроллер к программатору

Научимся искать информацию по разным моделям AVR микроконтроллеров, разберемся c чтением PDF документов в операционной системе Linux. Узнаем как подключить микроконтроллер к программатору используя интерфейс ISP при помощи нескольких проводников.

Содержание:

  1. Несколько рекомендаций
  2. Чтение PDF документов в Linux
  3. Подключение AVR микроконтроллера к программатору
  4. Заключение

Несколько рекомендаций

Чтобы правильно подключить микросхему-микроконтроллер к программатору нужно разобраться где у него и какие выводы. Для получения исчерпывающей информации о интересующем нас микроконтроллере качаем на официальном сайте даташит (datasheet) на интересующий нас чип — Даташиты по микроконтроллерам ATMEL.

На первой страничке даташита приводится подробное описание возможностей микроконтроллера, а далее приведена распиновка микросхем под каждый из типов корпусов. Каждый даташит по AVR чипу содержит массу подробной информации на английском языке, к примеру даташит на микроконтроллер ATmega8 содержит 326 страниц!

Не знаете английского? — старайтесь понемногу изучать, без него сейчас очень трудно в современном мире радиоэлектроники и компьютерной техники, это универсальный международный язык. А пока что, если не знаете что означает какое-то слово или предложение — переведите его через сервис машинных переводов translate.google.com.

Чтение PDF документов в Linux

Как правило, все даташиты на микросхемы поставляются в формате PDF (Portable Document Format) — формат электронных документов для использования на разных платформах, разработан фирмой Adobe Systems.

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

Программы в Linux что умеют читать PDF:

  • Okular — универсальная и мощная программа для просмотра документов, входит в окружение рабочего стола KDE;
  • Qpdfview — простая и легковесная программа для просмотра документов в формате PDF, DjVu и PS;
  • Evince (Document Viewer) — очень быстрый и легковесный просмотрщик документов PostScript (PS), EPS, DJVU, DVI, PDF;
  • Xpdf — высокопроизводительный просмотрщик PDF-файлов.

Какую программу выбрать для просмотра PDF под Linux? — очень хорошо справляются со своими задачами программы Okular и Evince.

Если у вас установлена рабочая среда KDE то скорее всего что программа Okular уже присутствует в системе. Если Okular не установлен то исправить это можно командой:

sudo apt-get install okular okular-extra-backends

Если же у вас рабочая среда отличная от KDE — GNOME, XFCE, UNITY то более экономичным решением будет установить Evince, поскольку установка в данных средах программы Okular потребует некоторые компоненты от рабочей среды KDE.

Рис. 1. Универсальный просмотрщик документов Evince под Linux — средство для листания PDF документов по микроконтроллерам.

Просмотрщик документов Evince очень хорошо открывает огромные документы и справляется иногда с такими что не под силу прочитать для Okular. Установка Evince в Linux:

sudo apt-get install evince

Думаю что у вас теперь не возникнет проблем с чтением документов в формате PDF под ОС GNU Linux .

Подключение AVR микроконтроллера к программатору

Выше было рассказано что для подключения микроконтроллера к программатору нужно соединить выводы ISP: VCC, GND, MISO, MOSI, SCK, RST. Выводы с данными названиями присутствуют у всех микроконтроллеров, так что даташит нам в помощь.

Рис. 2. Распиновка микроконтроллера ATmega8 и подключение его к ISP (USB ASP).

У программатора USB ASP на коннекторе ISP предусмотрено напряжение +5В (VCC), так что для программирования чипа можно воспользоваться питанием от программатора, а вернее от USB порта к которому он подключен.

В рассмотреных раньше программаторах, что используют COM и LPT порты, нет вывода VCC, а это значит что с использованием этих программаторов на выводы GND (-) и VCC (+) микроконтроллера нужно подать напряжение питания 5В от внешнего источника.

Подключения микроконтроллера к программатору USB ASP на беспаечной макетной панели очень просто реализовать при помощи перемычек (проводники со штырьками на двух концах).

Рис. 3. Подключение к ISP коннектору программатора USB ASP на беспаечной макетной панели.

Рис. 4. Программатор USBASP подключен к микроконтроллеру ATmega8 (увеличение рисунка по клику).

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

Заключение

Как видите, нет ничего сложного в подключении микроконтроллера к программатору используя интерфейс ISP. Главное найти даташит под нужный микроконтроллер и разобраться с его ножками, а там останется подсоединить несколько проводков и… готово!

В следующей статье рассмотрим программное обеспечение для работы с AVR микроконтроллерами под ОС GNU Linux, а также кратко рассмотрим разные среды для разработки и написания кода.

Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.

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

Универсальные платы для умного дома на базе микроконтроллера ATmega128 (ATmega2561) / Хабр

Недавно я написал первый пост о том, как начал переделывать обычные светодиодные светильники в диммируемые. Многим не понравилось что свой диммер я делаю на базе микроконтроллера ATmega128. Поэтому хочу объяснить, почему используется именно этот микроконтроллер, и почему в наше время разрабатывая что-то ДЛЯ СЕБЯ, не стоит стремиться всё делать на самом слабеньком микроконтроллере, способном протянуть только лишь функционал разрабатываемого вами устройства.

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

Почему был выбран именно этот микроконтроллер? Да всё просто, потому что по цене ATmega128 всего на 20 центов дороже чем чем ATtiny2313. А ATtiny2313 стоит столько же, сколько и ATmega8. То есть уже про ATtiny2313 можно забыть как страшный сон.
Привожу пару картинок с ценами на AliExpress (а именно там я покупаю детальки) и идём дальше.

ATtiny2313:

Стоимость ATtiny2313

ATmega8:

Стоимость ATmega8

ATmega128:

Стоимость ATmega128

ATmega2561:

Стоимость ATmega2561

Думаю комментарии излишни, сейчас даже для мигалки обычным светодиодиком куда выгоднее и рациональнее брать сразу ATmega128 чем 8 мегу, про тиньку и вообще молчу, забудьте про её существование как страшный сон. Да даже штук 5 транзисторов и резисторов для мигалки, уже будут стоить больше чем ATmega128. Так что забудьте про все микроконтроллеры слабее 128 меги, их использование в домашних проектах просто невыгодно и нерационально со всех сторон как ни посмотри. Да-да друзья мои, хочется вам или нет, но таковы реалии современного мира.

Следующий аргумент можно заметить если сравнить внимательно распиновку ножек ATmega128 и ATmega2561.

Сравнение между собой ATmega128 и ATmega2561

Видим что распиновка ножек очень похожа, выводы SPI для программирования МК совпадают, так же совпадают и выводы питания, в общем почти всё совпадает, там буквально пару ножек различается которые ни на что не влияют, к чему я это веду, да к тому, что разработав плату для ATmega128, вы спокойно можете при необходимости купить и впаять в неё более производительный ATmega2561, а тут и памяти под программу больше в 2 раза и «оперативки». Например, мой главный модуль умного дома будет построен именно на ATmega2561, а остальные на ATmega128. Как итог, мне не нужно будет самому изготавливать плату для ATmega2561. Не знаю как кому, а лично мне, изготавливать в домашних условиях платы для smd микросхем тот ещё геморрой. Ну не люблю я разводить такую мелюзгу, особенно ЛУТ-том (другой технологии я пока не освоил). Заказывать в Китае 10 плат ради одного модуля тоже не выгодно. А так мы разводим универсальную плату на базе ATmega128, и в одну из плат впаиваем ATmega2561 для главного модуля умного дома. Как итог, все наши платы для микроконтроллеров изготовлены на заводе в Китае, а в заводские платы даже впаивать smd микроконтроллеры проще, чем в платы собственного изготовления, во всяком случае для меня.

Ну и собственно к самой теме поста.
Схема моих универсальных плат для умного дома:

Схема платы

Вот такие платы пришли из Китая:

Лицевая сторона платЗадняя сторона плат

После разрезания и впаивания компонентов платы выглядят так:

Лицевая сторона плат после впаивания компонентовЗадняя сторона плат после впаивания компонентов

Плата с модулем ADM488 для связывания всех модулей умного дома в единую сеть:

Плата с модулем ADM488Плата с модулем ADM488

Плата с модулем беспроводной связи nRF24L01+:

Плата с модулем nRF24L01+Плата с модулем nRF24L01+

Как видите, на универсальной плате есть 2 специализированных разъёма, для модуля ADM488 и для модуля nRF24L01+, вся остальная периферия подключаемая к таким универсальным платам будет подключаться шлейфами к выведенным штырькам.

Вот собственно и всё. Может кто-то подчерпнёт какие-нибудь полезные идеи и для себя.

Как получить максимальную отдачу от этого микроконтроллера

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

Кроме того, ATMEGA8 отлично подходит для аналитических целей в системах промышленной автоматизации. Благодаря 28-контактному интерфейсу и модулю USART для связи с ПК легко понять, почему программисты так часто выбирают его. Пока вы читаете дальше, в этой инструкции рассказывается, как получить максимальную отдачу от этого MCU.

ATMEGA8 Описание

Распиновка ATMEGA8 представляет собой 8-разрядный RISC-микроконтроллер AVR на КМОП-технологии с низким энергопотреблением. Как правило, он обеспечивает пропускную способность до 1MIPS на МГц за один такт. Таким образом, это позволяет разработчикам систем выполнять строгие инструкции, балансируя скорость обработки и энергопотребление.

(типичная распиновка ATMEGA8).

Конфигурация выводов ATMEGA8

(схема выводов ATMEGA с указанием названий выводов).

Характеристики ATMEGA8

  • Начнем с того, что процессор представляет собой 8-битный AVR.
  • Для ATmega8L идеальное напряжение питания находится в диапазоне от +2,7 В до +5,5 В.
  • Однако ATmega8 имеет напряжение питания от +4,5 В до +5 В. (+5,5 В — абсолютное максимальное напряжение питания).
  • Всего на плате доступно 23 контакта ввода-вывода.
  • Модуль АЦП имеет 10-битное разрешение и шесть каналов.
  • Выводы модуля таймера содержат 16-битный таймер и два 8-битных счетчика.
  • Присутствует один аналоговый компаратор.
  • Имеется три канала ШИМ.
  • ATMEGA8L использует внешний генератор 0–8 МГц, а ATMEGA8 использует 0–16 МГц.
  • Однако он имеет внутренний RC-генератор, откалиброванный на частоте 0–8 МГц.
  • Флэш-память программ объемом 8 Кбайт включена. То есть 10к циклов записи/стирания.
  • Скорость ЦП 16 MIPS.
  • Чип также содержит 1 КБ RAM и 512 байт EEPROM.
  • Аппаратные блоки включают сторожевой таймер и встроенный генератор.
  • Наконец, он имеет функцию блокировки программы.

ATMEGA8 Замена

ATMEGA328P.

ATMEGA8 Альтернативы

ATMEGA8535, ATMEGA32, ATMEGA16.

Другие 8-разрядные микроконтроллеры

Микроконтроллер ATMega2560.

Где использовать микроконтроллер ATMEGA8

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

Как использовать микроконтроллер ATMEGA8

  1. Сначала напишите функции, которые вы хотите, чтобы ATMEGA8 выполнял. Используйте программу IDE для написания этих функций на подходящем языке программирования, предпочтительно на языке «C».
  2. После написания функций используйте компилятор для удаления ошибок.
  3. Создайте файл HEX с помощью IDE для программы, которую вы пишете.
  4. Далее выберите инструмент программирования. Например, программатор SPI для контроллеров AVR хорош для подключения ATMEGA8 к ПК.
  5. Выберите подходящий HEX-файл программы SPI.
  6. После этого выберите «записать загрузчик».
  7. Наконец, отсоедините инструмент программирования и подключите необходимые периферийные устройства контроллера, чтобы запустить систему.

(микроконтроллер AVR ATMEGA8 на плате Arduino).

8. Спящие режимы микроконтроллера ATmega8

Обычно микроконтроллер ATMEGA8 имеет пять спящих режимов. Это

Режим энергосбережения

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

Режим ожидания

В режиме ожидания процессор перестает работать. Однако другие части, такие как АЦП, SPI, TWI, Watchdog и система прерываний, по-прежнему работают.

Режим отключения питания

Отключает внешний генератор и тактовый сигнал. В то же время он включает сторожевой таймер, внешние прерывания и двухпроводной последовательный интерфейс.

Режим шумоподавления АЦП

Этот режим позволяет функционировать каналам АЦП, 8-битному таймеру и внешним прерываниям.

Режим ожидания

Кроме того, этот режим сокращает все другие операции микроконтроллера. Однако осциллятор является единственным исключением.

9. Приложения

  • Измерение и управление аналоговыми сигналами.
  • Промышленные системы управления.
  • Встроенные системы.
  • Блоки индикации и блоки управления двигателями.
  • Периферийные интерфейсные системы.
  • Системы регулирования мощности и ИИП.

(обозначение встроенной системы)

Заключение

Распиновка ATMEGA8 представляет собой 8-битный микроконтроллер. Благодаря своей высокой производительности и небольшому размеру он выполняет важную функцию во встроенных приложениях и проектах промышленной автоматизации.

Теперь, когда у вас есть эта информация, вы можете начать работу над проектом с использованием ATMEGA8. Тем не менее, экспертные знания и помощь всегда рекомендуются. Вы всегда можете связаться с нами здесь.

Схема выводов ATmega8 | Блок-схема и описание ATmega8

— Реклама —

AVR — это семейство микроконтроллеров, разработанных Atmel, начиная с 1996 года. Это модифицированные 8-битные однокристальные микроконтроллеры RISC с гарвардской архитектурой. Ядро Atmel AVR сочетает в себе богатый набор инструкций с 32 рабочими регистрами общего назначения. Все 32 регистра напрямую подключены к арифметико-логическому устройству (ALU), что позволяет получить доступ к двум независимым регистрам в одной инструкции, выполняемой за один такт. Полученная в результате архитектура более эффективна в коде, обеспечивая при этом пропускную способность в десять раз выше, чем у обычных микроконтроллеров CISC. Здесь мы рассмотрим схему контактов ATmega8, блок-схему, спящий режим и функции. Но прежде чем говорить о схеме выводов ATmega8, давайте сначала рассмотрим блок-схему ATmega8.

Блок-схема ATmega8.

Блок-схема ATmega8. рабочих регистров, три гибких таймера/счетчика с режимами сравнения, внутренними и внешними прерываниями, последовательный программируемый USART, двухпроводной последовательный интерфейс с байтовой ориентацией, 6-канальный АЦП (восемь каналов в корпусах TQFP и QFN/MLF) с 10-битным точность, программируемый сторожевой таймер с внутренним генератором, последовательный порт SPI и пять программно выбираемых режимов энергосбережения.

Особенности

  • Расширенная архитектура RISC
    • 130 Мощные инструкции — самое быстрое выполнение цикла за один такт
    • 32 × 8 рабочих регистров общего назначения
    • Полностью статическая операция
    • Пропускная способность до 16MIPS на частоте 16 МГц
    • Встроенный двухтактный умножитель
  • Сегменты энергонезависимой памяти высокой надежности
    • 8 Кбайт внутрисистемной самопрограммируемой флэш-памяти программ
    • 512 байт EEPROM
    • 1 Кбайт внутренней SRAM
    • Циклов записи/стирания: 10 000 Flash/100 000 EEPROM
    • Сохранение данных: 20 лет при 85°C/100 лет при 25°C (1)
    • Дополнительный раздел кода загрузки с независимыми битами блокировки
    • Внутрисистемное программирование с помощью встроенной программы загрузки
    • Истинная операция чтения при записи
    • Блокировка программирования для безопасности программного обеспечения
  • Периферийные функции
    • Два 8-разрядных таймера/счетчика с отдельным предделителем, один режим сравнения
    • Один 16-разрядный таймер/счетчик с отдельным предделителем, режимом сравнения и режимом захвата
    • Счетчик реального времени с отдельным генератором
    • Три канала ШИМ
    • 8-канальный АЦП в корпусах TQFP и QFN/MLF (восемь каналов, точность 10 бит)
    • 6-канальный АЦП в корпусе PDIP (шесть каналов, точность 10 бит)
    • Байт-ориентированный двухпроводной последовательный интерфейс
    • Программируемый последовательный USART
    • Ведущий/ведомый последовательный интерфейс SPI
    • Программируемый сторожевой таймер с отдельным встроенным генератором
    • Встроенный аналоговый компаратор
  • Специальные функции микроконтроллера
    • Сброс при включении питания и программируемое обнаружение отключения питания
    • Внутренний калиброванный RC-генератор
    • Внешние и внутренние источники прерываний
    • Пять режимов сна: бездействие, шумоподавление АЦП, энергосбережение, отключение питания и режим ожидания
  • Ввод/вывод и пакеты
    • 23 программируемых линии ввода-вывода
    • 28-контактный PDIP, 32-контактный TQFP и 32-контактный QFN/MLF
  • Рабочее напряжение
    • 2,7–5,5 В (ATmega8L)
    • 4,5–5,5 В (ATmega8)
  • Классы скорости
    • 0 – 8 МГц (ATmega8L)
    • 0 – 16 МГц (ATmega8)
  • Потребляемая мощность при 4МГц, 3В, 25С
    • Активный: 3,6 мА
    • Режим ожидания: 1,0 мА
    • Режим отключения питания: 0,5 мкА

Рассмотрим подробнее распиновку ATmega8.

ATmega8 Схема контактов и описание

Схема контактов ATmega8

— Реклама —

Подробное описание схемы контактов ATmega8:

VCC : Цифровое напряжение питания.

GND : Земля.

Порт B (PB7 …PB0) XTAL1/XTAL2/TOSC1/TOSC2

Порт B — это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами (выбирается для каждого бита). Выходные буферы порта B имеют симметричные характеристики возбуждения с высокой пропускной способностью как приемника, так и истока. В качестве входов выводы порта B, на которые извне подается низкий уровень, будут источником тока, если активированы подтягивающие резисторы. Выводы порта B находятся в тройном состоянии, когда состояние сброса становится активным, даже если часы не работают.

Порт C (PC5…PC0)

Порт C — это 7-битный двунаправленный порт ввода-вывода с внутренними нагрузочными резисторами (выбирается для каждого бита). Выходные буферы порта C имеют симметричные характеристики возбуждения с высокой пропускной способностью как приемника, так и истока. В качестве входов выводы порта C, на которые извне подается низкий уровень, будут источником тока, если активированы подтягивающие резисторы. Выводы порта C находятся в тройном состоянии, когда состояние сброса становится активным, даже если часы не работают.

ПК6/СБРОС

Если запрограммирован предохранитель RSTDISBL, PC6 используется как контакт ввода-вывода. Обратите внимание, что электрические характеристики PC6 отличаются от характеристик других контактов порта C.

Если предохранитель RSTDISBL не запрограммирован, PC6 используется как вход сброса. Низкий уровень на этом контакте дольше, чем минимальная длина импульса, вызовет сброс, даже если часы не работают.

Порт D (PD7…PD0)

Порт D — это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами (выбирается для каждого бита). Выходные буферы порта D имеют симметричные характеристики возбуждения с высокой пропускной способностью как приемника, так и истока. В качестве входов контакты порта D, на которые извне подается низкий уровень, будут источником тока, если активированы подтягивающие резисторы. Выводы порта D находятся в тройном состоянии, когда состояние сброса становится активным, даже если часы не работают.

СБРОС

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

Vcc

Vcc — вывод напряжения питания для аналого-цифрового преобразователя, порта C (3…0) и АЦП (7…6). Он должен быть внешне подключен к Vcc, даже если АЦП не используется. Если используется АЦП, его следует подключить к Vcc через фильтр нижних частот. Обратите внимание, что порт C (5…4) использует цифровое напряжение питания, Vcc.

ARef

ARef — аналоговый эталонный контакт для аналого-цифрового преобразователя. ADC7…6 (только для корпусов TQFP и QFN/MLF) В корпусах TQFP и QFN/MLF ADC7…6 служат аналоговыми входами аналого-цифрового преобразователя. Эти выводы питаются от аналогового источника питания и служат 10-битными каналами АЦП.

В режиме ожидания ЦП останавливается, в то время как SRAM, таймер/счетчики, порт SPI и система прерываний продолжают функционировать. В режиме отключения питания содержимое регистра сохраняется, но осциллятор замораживается, отключая все остальные функции микросхемы до следующего прерывания или аппаратного сброса. В режиме энергосбережения асинхронный таймер продолжает работать, позволяя пользователю поддерживать базу таймера, пока остальная часть устройства находится в спящем режиме. Режим шумоподавления АЦП останавливает ЦП и все модули ввода-вывода, кроме асинхронного таймера и АЦП, чтобы свести к минимуму шум переключения во время преобразования АЦП. В режиме ожидания кварцевый/резонаторный генератор работает, в то время как остальная часть устройства находится в спящем режиме. Это обеспечивает быстрый запуск в сочетании с низким энергопотреблением.

Микроконтроллер работает в 5 спящих режимах.

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

Режим ожидания : останавливает работу ЦП, но разрешает работу АЦП, TWI, SPI и прерывает систему и сторожевой таймер. Это достигается установкой битов SM0-SM2 флага регистра микроконтроллера в ноль.

Режим отключения питания : Включает внешние прерывания, 2-проводной последовательный интерфейс и сторожевой таймер при отключении внешнего генератора. Он останавливает все сгенерированные часы.

Режим шумоподавления АЦП : Останавливает центральный процессор, но разрешает работу АЦП, таймера/счетчика и внешних прерываний.

Режим ожидания : В этом режиме может работать только генератор, замедляя все остальные операции микроконтроллера.

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

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