Читаем даташит на примере ATmega8

Как читать даташит на Atmega8?

Может быть кто не в курсе, даташит — это техническое описание на какую-либо радиодетальку. Где его найти? Ну, конечно же, в интернете! Но так почти вся радиоэлектронная продукция выпускается «за бугром», то и описание на них, соответственно, «забугорское», а точнее, на английском языке. Те, кто хорошо дружит с разговорным английским, не факт, что сможет прочитать технические термины в даташитах.

Давайте попробуем пролить свет истины на основные характеристики МК ATmegа8. Для этого качаем даташит. В нашей статье мы будем рассматривать только основные сведения нашего подопечного.

Вот что мы видим на первой странице даташита:

 

Итак, погнали! 

Запоминаем правило: в фирменном описании нет ни одного лишнего слова! (иногда информации не хватает, но это уже другой случай)

Features. Переводится как «функции». В среде электронщиков просто «фичи».

— High Performance, Low Power AVR® 8-Bit Microcontroller

Высокопроизводительный, потребляющий мало энергии, 8-битный микроконтроллер.

Понимаем как рекламу, единственно полезное то, что данный микроконтроллер — 8 битный.

— Advanced RISC Architecture

Расширенная RISC архитектура.

RISC и CISC — технологии построения процессорных систем. Но нам это не важно, по крайней мере, пока.

— 130 Powerful Instructions – Most Single Clock Cycle Execution

130 команд, большинство из них выполняются за один цикл.

А вот это уже интереснее! Во-первых, такое большое количество команд (например, у микроконтроллеров PIC всего 35 команд) уже подразумевает ориентацию этого МК под языки высокого уровня. Во-вторых, узнаем, что одна команда выполняется за один такт генератора. Т.е., при тактовой частоте 1 МГц одна команда будет выполняться 1 микросекунду (1 мкс, одну миллионную часть секунды — 10^-6). А при 10 МГц — в десять раз быстрее, т.е., 0,1 мкс.

— 32 x 8 General Purpose Working Registers

32 восьмибитных регистра общего пользования.

Про регистры поговорим позднее, просто запомним, что большое количество регистров — весьма неплохо, ведь регистр — это ячейка памяти в самом МК. А чем больше такой памяти – тем «шустрее» работает МК!

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

— Fully Static Operation

Полностью статическая структура.

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

(Также нелишним будет напомнить о том, что потребляемая мощность большинства типов МК напрямую зависит от тактовой частоты: чем выше тактовая частота, тем больше он  потребляет)

— Up to 16 MIPS Throughput at 16 MHz

До 16 миллионов выполняемых команд при тактовой частоте 16 МГц.

За одну секунду при тактовой частоте 16 МГц может быть выполнено до 16 000 000 команд! Следовательно, одна однобайтовая команда может быть выполнена за 0,07 мкс. Весьма недурно для маленькой микросхемы.

С учетом предыдущего пункта понимаем, как работает на частотах от 0 Гц до 16 МГц.

— On-chip 2-cycle Multiplier

В данном МК имеется встроенный умножитель, который умножает числа за два такта.

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

— High Endurance Non-volatile Memory segments

Надежная энергонезависимая память, построенная в виде нескольких сегментов.

Вспоминаем типы памяти: EEPROM и FLASH.

— 8KBytes of In-System Self-programmable Flash program memory

— 8 Кбайт встроенной в МК памяти. Память выполнена по технологии Flash. В самом МК имеется встроенный программатор.

Этот объем весьма хорош! Для обучения (да и не только) — с запасом. А наличие встроенного программатора этой памяти, позволяет загружать данные в память, используя простой внешний программатор (в простейшем случае это пять проводков, которыми микроконтроллер подключают к LPT порту компьютера).

— 256 Bytes EEPROM

В МК имеется 256 байт энергонезависимой памяти EEPROM.

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

— 1024 Bytes Internal SRAM

В МК имеется 1024 байт оперативной памяти (ОЗУ/RAM).

Также весьма приятный объем

— Write/Erase cyles: 10,000 Flash/100,000 EEPROM

Память Flash выдерживает 10 000 циклов записи/стирания, а память EEPROM — до 100 000

Проще говоря, программу в МК можно изменять до 10 000 раз, а свои данные в 10 раз больше.

— Data retention: 20 years at 85°C/100 years at 25°C

Сохранность данных в памяти МК — до 20 лет при температуре хранения 85°C, и 100 лет — при температуре 20°C.

Если ваши внуки и правнуки включат вашу «мигалку» или музыкальную шкатулку, то они смогут насладиться их работой ))

— Optional Boot Code Section with Independent Lock Bits

— Programming Lock for Software Security

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

Ну, тут всё понятно: свои труды вы можете защитить от вычитывания программы из памяти МК.

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

— Two 8-bit Timer/Counters

— One 16-bit Timer/Counter

В МК имеется два таймера/счетчика: 8 и 16 бит.

— Three PWM Channels

Три канала ШИМ

– 8-channel ADC in TQFP and QFN/MLF package

Eight Channels 10-bit Accuracy

– 6-channel ADC in PDIP package

Six Channels 10-bit Accuracy

В составе МК есть несколько каналов АЦП: 6 – для корпуса PDIP и 8 – для корпуса QFN/MLF. Разрядность АЦП — 10 бит.

— Byte-oriented Two-wire Serial Interface

— Programmable Serial USART

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

Master/Slave SPI Serial Interface

Реализован SPI интерфейс связи, режимы Мастер/Подчиненный.

— Programmable Watchdog Timer with Separate On-chip Oscillator

Сторожевой таймер с собственным автономным генератором.

— On-chip Analog Comparator

Аналоговый компаратор.

— Power-on Reset and Programmable Brown-out Detection

Реализованы режимы контроля напряжения питания и защита работы МК при плохом питании (гарантирует увеличение надёжности работы всей системы).

— Internal Calibrated RC Oscillator

Встроенный калиброванный RC-генератор (можно запустить МК без внешних элементов).

— External and Internal Interrupt Sources

Реализовано несколько типов внешних и внутренних прерываний.

— Five Sleep Modes

Пять режимов «сна» (уменьшение энергопотребления МК за счет отключения некоторых внутренних узлов или специальных методов замедления их работы)

Понимаем как возможность выбора такого режима, при котором соотношение «потребляемая энергия/возможности» будут оптимальны для решения наших задач. Весьма полезная возможность при необходимости экономить энергию: питании от батарей, аккумуляторов и других источников.

— 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF

Указаны типы корпусов, в которых выпускается данный микроконтроллер. Видим «28 DIP» — это хорошо! Не надо покупать специализированные дорогостоящие панели и мучиться с тоненькими и часто расположенными выводами на корпусе МК.

Temperature Range:

 -40°C to 85°C

Рабочая температура: -40°C … +85°C

Очень важный параметр! Бывают модели микроконтроллеров, которые работоспособны только при положительных температурах окружающего воздуха.

(Был у меня горький опыт, когда в устройстве был применен именно такой «теплолюбивый» микроконтроллер. А устройство поместили на улицу… И каждую зиму «благодарные» пользователи моего устройства «хвалили» меня за «замерзание» микроконтроллера, которое проявлялось в виде полного его зависания)

Напряжение питания и тактовая частота

– 2.7 — 5.5V for ATmega8L

– 4.5 — 5.5V for ATmega8

Имеется две модификации данного МК: одна работоспособна при широком диапазоне питающих напряжение, вторая — в узком.

ATmega8L: 0 – 8 MHz @ 2.7 — 5.5V

ATmega8: 0 – 16 MHz @ 4.5 — 5.5V

Максимальная тактовая частота:

— Atmega8L: 0 – 8 МГц при напряжении питания 2,7 – 5,5 вольт

— Atmega8: 0 – 16 МГц при напряжении питания 4,5 – 5,5 вольт.

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

Power Consumption at 4 Mhz, 3V, 25°C

— Active: 3.6 mA

— Idle Mode: 1.0 mA

— Power-down Mode: 0.5 µA

Потребляемая мощность:

— при работе на частоте 4 МГц и напряжении питания 3 вольта потребляемый ток: 3,6 миллиампер,

— в различных режимах энергосбережения потребляемый ток: от 1 миллиампер до 0,5 микроампера

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

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

Внимание!

Обратите внимание на такой факт: микросхема микроконтроллера может иметь (и имеет в данной модели) несколько выводов для подключения источника питания. Т.е., имеется несколько выводов для подключения «земли» — «общего провода», и несколько выводов для подачи положительного напряжения.

Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т.е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.

При этом через одинаковые выводы МК не должны протекать токи, так как внутри корпуса МК они соединены тонкими проводниками! Т.е., при подключении нагрузки эти выводы не должны рассматриваться как «перемычки».

Листаем описание далее, видим главу «Overview» (Обзор).

В ней имеется раздел «

Block Diagram» (Устройство). На рисунке показаны устройства, входящие в состав данного микроконтроллера.

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

В программе часто возникает необходимость сделать временную задержку в ее выполнении — паузу. А точную паузу можно организовать только методом подсчета времени. Время считаем исходя из количества тактов генератора микроконтроллера.

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

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources

» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»). В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме. А емкость конденсатора очень зависит от температуры!

Перед тем, как подать на микроконтроллер питающее напряжение, выполним правило, которое обязательно для всех цифровых микросхем: в непосредственной близости от выводов питания микросхемы должен быть керамический конденсатор емкостью 0,06 — 0,22 мкф. Обычно устанавливают конденсатор 0,1 мкф. Его часто называют блокировочным конденсатором.

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

Дело в том, что микроконтроллер (как и другие цифровые микросхемы) состоит из транзисторных ячеек, которые в процессе работы постоянно переключаются из открытого состояния в закрытое, и наоборот. При этом изменяется потребляемая транзисторными ячейками энергия. В линии питания возникают кратковременные «провалы» напряжения. Этих ячеек в микроконтроллере сотни тысяч (думаю, что сейчас уже миллионы!), поэтому по питающим проводам начинают гулять импульсные помехи с частотами от единиц до десятков тысяч Герц. Для предотвращения распространения этих помех по цепям схемы, да и самой микросхемы микроконтроллера, параллельно его выводам питания устанавливают такой блокировочный конденсатор. При этом на каждую микросхему необходимо устанавливать индивидуальный конденсатор.

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока

Выводы:

микроконтроллер AVR ATmega-8 при поставке с завода работает на тактовой частоте 0,91—1,1 МГц;

напряжение питания должно быть в пределах 4,5 — 5,5 Вольт. Мы будем использовать микросхемы с питающим напряжением 5 Вольт, поэтому и МК будет питаться этим же напряжением. (Хотя работоспособность сохранится при напряжении питания 2,7 Вольт для обычных, не низковольтных моделей МК)

www.ruselectronic.com

Mодуль AVR ATmega8A (TQFP32) для Pinboard II / Pinboard / Сообщество EasyElectronics.ru

Чем он отличается от уже имеющегося модуля?
  • наличие двух дополнительных входов ADC6 и ADC7 (только для TQFP32).
  • возможность джампером подключить AREF к AVCC или конденсатору.
  • возможность джампером подключить pull-up резисторы шины I2C.
  • возможность джамперами подключить одновременно восемь линий портов PB и/или PD к светодиодам для отладки программы.
При этом модуль менее универсален т. к. контроллер незаменяемый.

Напряжение питания

  Модуль имеет два стандартных напряжения питания, 5V и 3,3V. Они выбираются джампером J2 и не требуют настроек и переключений на самой Pinboard II.

Подтяжка I2C

Если модуль Мастер или крайний в цепи можно легко включить подтяжку джампером. Если в середине, также легко ее отключить.

Отладка программ

  Контроллер не имеет JTAG интерфейса. Поэтому для облегчения отладки «дерганьем ножкой» на модуле расположены восемь светодиодов. На них может быть нагружена любая из линий портов PB или PD установкой джампера в разьем J4. При желании можно подключить и любую линию порта PC проводной перемычкой.

Печатная плата, верх, дорожки и надписи:

Печатная плата, верх, монтаж и спецификации:

Печатная плата, низ, дорожки и надписи:

Печатная плата, низ, монтаж и спецификации:

Приложены:
ATmega8A_NEW.zip — печатка в lay6;
Circuit.png — увеличенная схема и распиновка разьемов;

Update 11.12.2014

  Небольшое изменение принципиальной схемы модуля. Связано оно с АЦП контроллера. В первоначальной схеме вывод AREF можно было соединить или с конденсатором, или с VCC, или оставить свободным. Как отметили тут в комментах второе положение излишне, т.к. соединение с VCC легко делается програмно. И посоветовали заменить его на внешний ИОН.
Что и было сделано:

  Теперь при установке джампера в положение REG, к выводу AREF подключается внешний ИОН. Образцовое напряжение регулируется в пределах 2,5V..VCC. Напряжение регулируется миниатюрным многооборотным подстроечным резистором типа 3296W.

Печатная плата, верх, дорожки и надписи:

Печатная плата, низ, дорожки и надписи:

Приложены:
ATmega8A_Upd.zip — печатка в lay6;

P.S. Во время работы над апдейтом нашел ошибку в подключении кварца. Устранил, Update уже с исправлением, печатка ATmega8A.zip из первой части заменена на ATmega8A_NEW.zip с исправлением.

we.easyelectronics.ru

Микроконтроллерный модуль на ATmega8 в корпусе TQFP

Разное

Главная  Радиолюбителю  Разное



Для тех, кто хочет встроить микроконтроллер в разрабатываемую или уже действующую аппаратуру, предлагаю одностороннюю печатную плату размерами 55×40 мм, на которой смонтирован вместе с выпрямителем и стабилизатором напряжения питания популярный ныне среди радиолюбителей микроконтроллер ATmega8A-AU в миниатюрном корпусе TQFP

Рис. 1

Преимущество такого корпуса — его небольшие размеры — одновременно является и недостатком, прежде всего, из-за шага расположения выводов 0,8 мм, слишком мелкого для удобной разводки печатных проводников на самодельной печатной плате. В предлагаемом модуле, схема которого показана на рис. 1, выводы всех портов микроконтроллера разведены на разъёмы XP1-XP4 с шагом контактов 2,54 мм, к которым можно удобно подключить все необходимые внешние цепи.

На разъём XP1 выведены линии PC0-PC5, имеющие альтернативную функцию входов встроенного в микро

контроллер АЦП, а также ещё два его входа — ADC6 и ADC7. На этот разъём можно подавать аналоговые сигналы, напряжение которых лежит в интервале 0…+5 В, требующие цифровой обработки в микроконтроллере. Не используемые для этой цели контакты разъёма XP1 (кроме 2 и 4) могут служить обычными дискретными входами или выходами. К контакту 4 разъёма и входу ADC6 микроконтроллера в модуле уже подключён аналоговый датчик температуры LM335Z (BK1), но если этот датчик и резистор R2 не устанавливать, то на вход ADC6 можно подавать внешние аналоговые сигналы.

На разъём XP2 выведены цепи, необходимые для подключения к микроконтроллеру программатора. В запрограммированном микроконтроллере их можно использовать и для других целей, например, для подключения блока индикации и управления. Это особенно удобно, если в этом блоке восемь индикаторов и восемь кнопок. Допустим, в готовой конструкции доступ к микро

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

Основная функция цепей, выведенных на разъём XP3, — дискретный ввод-вывод. Но к его контактам 5 и 7 при необходимости можно подключить кварцевый резонатор, задающий тактовую частоту микроконтроллера. Контакты 1 и 3 имеют альтернативную функцию выходов блоков захвата и сравнения, на которые могут быть выведены сформированные микроконтроллером ШИМ-сигналы. Контакты 4 и 6 могут служить входами встроенного в микроконтроллер аналогового компаратора напряжения, а контакты 2 и 8 — соответственно входом захвата таймера T1 и его счётным входом.

На разъём XP4 выведены линии PD0-PD4 микроконтроллера. Альтернативные функции линий PD0 и PD1 (контакты 4 и 2) — соответственно вход RXD и выход TXD, которые могут использоваться для связи с COM-портом компьютера. Однако соединять их с компьютером нужно через соответству

ющий преобразователь уровней, построенный, например, на микросхеме МАХ232.

Контакты 1 и 3 могут служить входами внешнего запроса прерывания программы микроконтроллера, а контакт 5 — счётным входом таймера ТО. На контакт 6 выведено напряжение +5 В от имеющегося на плате стабилизатора напряжения DA1. В случае изготовления платы без стабилизатора (о чём будет рассказано ниже) на этот контакт можно подать такое же напряжение питания микроконтроллера от внешнего источника. Контакты 7 и 8 — общий провод.

В контрольной точке XT1 можно измерить вольтметром с большим входным сопротивлением внутреннее образцовое напряжение АЦП микроконтроллера. Сюда же можно подать внешнее образцовое напряжение.

Рис. 2

Чертёж печатных проводников платы и расположения элементов на ней показан на рис. 2. На стороне печатных проводников необходимо установить две перемычки из изолированного провода.

Первое включение модуля рекомендуется производить, не впаивая перемычку, соединяющую контакт 6 разъёма XP4 с выводом дросселя L1. Подав на диодный мост VD1-VD4 переменное напряжение 9.. .15 В от любого подходящего понижающего трансформатора, следует измерить постоянное напряжение между контактами 6 и 7 разъёма XP4. Оно не должно отличаться от 5 В более чем на 0,25 В. Только после этого можно припаять перемычку.

Более правильная методика — смонтировать всю плату, за исключением микроконтроллера, и проверить напряжение питания непосредственно на контактных площадках, предназначенных для его выводов питания (4, 6 — +5 В; 3, 5, 21 — общий провод). Только после этого устанавливать на плату микроконтроллер.

Если предполагается использовать модуль в устройстве, уже имеющем стабилизированный источник напряжения 5 В с достаточным запасом мощности, то размеры платы модуля можно уменьшить до 40×40 мм, обрезав её по показанной на рис. 2 штриховой линии. Удаляемые при этом выпрямитель с интегральным стабилизатором напряжения на схеме рис. 1 находятся слева от штрихпунктирной линии.

Автор: А. Жданов, г. Бишкек, Кыргызстан

Дата публикации: 30.12.2013

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному вышематериалу:


www.radioradar.net

alexxlab

leave a Comment