Конденсаторы по питанию
Перед тем, как подать на микроконтроллер питающее напряжение, выполним правило, которое обязательно для всех цифровых микросхем: в непосредственной близости от выводов питания микросхемы должен быть керамический конденсатор емкостью 0,06 — 0,22 мкф. Обычно устанавливают конденсатор 0,1 мкф. Его часто называют блокировочным конденсатором.
В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.
Дело в том, что микроконтроллер (как и другие цифровые микросхемы) состоит из транзисторных ячеек, которые в процессе работы постоянно переключаются из открытого состояния в закрытое, и наоборот. При этом изменяется потребляемая транзисторными ячейками энергия. В линии питания возникают кратковременные «провалы» напряжения. Этих ячеек в микроконтроллере сотни тысяч (думаю, что сейчас уже миллионы!), поэтому по питающим проводам начинают гулять импульсные помехи с частотами от единиц до десятков тысяч Герц.
Для предотвращения распространения этих помех по цепям схемы, да и самой микросхемы микроконтроллера, параллельно его выводам питания устанавливают такой блокировочный конденсатор. При этом на каждую микросхему необходимо устанавливать индивидуальный конденсатор.
Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока
How to install
Boards Manager Installation
This installation method requires Arduino IDE version 1.6.4 or greater.
-
Open the Arduino IDE.
-
Open the File > Preferences menu item.
-
Enter the following URL in Additional Boards Manager URLs:
-
Open the Tools > Board > Boards Manager… menu item.
-
Wait for the platform indexes to finish downloading.
-
Scroll down until you see the MiniCore entry and click on it.
-
Click Install.
-
After installation is complete close the Boards Manager window.
-
Note: If you plan to use the *PB series, you need the latest version of the Arduino toolchain. This toolchain is available through IDE 1.8.6 or newer. Here’s how you install/enable the toolchain:
- Open the Tools > Board > Boards Manager… menu item.
- Wait for the platform indexes to finish downloading.
- The top is named Arduino AVR boards. Click on this item.
- Make sure the latest version is installed and selected
- Close the Boards Manager window.
Manual Installation
Click on the «Download ZIP» button in the upper right corner. Exctract the ZIP file, and move the extracted folder to the location «~/Documents/Arduino/hardware». Create the «hardware» folder if it doesn’t exist.
Open Arduino IDE, and a new category in the boards menu called «MiniCore» will show up.
Семейства микроконтроллеров
Стандартные семейства:
- tinyAVR (ATtinyxxx):
- Флеш-память до 16 КБ; SRAM до 512 Б; EEPROM до 512 Б;
- Число линий ввода-вывода 4-18 (общее количество выводов 6-32);
- Ограниченный набор периферийных устройств.
- megaAVR (ATmegaxxx):
- Флеш-память до 256 КБ; SRAM до 16 КБ; EEPROM до 4 КБ;
- Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
- Аппаратный умножитель;
- Расширенная система команд и периферийных устройств.
- XMEGA AVR (ATxmegaxxx):
- Флеш-память до 384 КБ; SRAM до 32 КБ; EEPROM до 4 КБ;
- Четырёхканальный DMA-контроллер;
- Инновационная система обработки событий.
Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).[источник не указан 3304 дня]
На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:
- со встроенными интерфейсами USB, CAN, контроллером LCD;
- со встроенным радиоприёмопередатчиком — серии ATAxxxx, ATAMxxx;
- для управления электродвигателями — серия AT90PWMxxxx;
- для автомобильной электроники;
- для осветительной техники.
Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).
Версии контроллеров
AT (mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit’ы отличаются.
Номер модели дополняется индексом, указывающим вариант исполнения. Цифры (8,10,16,20) перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).
Первая буква индекса означает вариант корпуса:
АТxxx-P — корпус DIP
АТxxx-A — корпус TQFP
АТxxx-J — корпус PLCC
АТxxx-M — корпус MLF
АТxxx-MA — корпус UDFN/USON
АТxxx-C — корпус CBGA
АТxxx-CK — корпус LGA
АТxxx-S — корпус EIAJ SOIC
АТxxx-SS — узкий корпус JEDEC SOIC
АТxxx-T — корпус TSOP
АТxxx-TS — корпус (ATtiny4/5/9/10)
АТxxx-X — корпус TSSOP
Следующая буква означает температурный диапазон и особенности изготовления:
АТxxx-xC — коммерческий температурный диапазон (0 °C — 70 °C)
АТxxx-xA — температурный диапазон −20 °C — +85 °C, с использованием бессвинцового припоя
АТxxx-xI — индустриальный температурный диапазон (-40 °C — +85 °C)
АТxxx-xU — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припоя
АТxxx-xH — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAu
АТxxx-xN — расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припоя
АТxxx-xF — расширенный температурный диапазон (-40 °C — +125 °C)
АТxxx-xZ — автомобильный температурный диапазон (-40 °C — +125 °C)
АТxxx-xD — расширенный автомобильный температурный диапазон (-40 °C — +150 °C)
последняя буква R означает упаковку в ленты (Tape & Reel) для автоматизированных систем сборки.
Getting started with MiniCore
Ok, so you’re downloaded and installed MiniCore, but how to get started? Here’s a quick guide:
- Hook up your microcontroller as shown in the , or simply just plut it into an Arduino UNO board.
- Open the Tools > Board menu item, and select a MiniCore compatible microcontroller.
- If the BOD option is presented, you can select at what voltage the microcontroller will shut down at. Read more about BOD .
- Select your prefered clock frequency. 16 MHz is standard on most Arduino boards, including the Arduino UNO.
- Select what kind of programmer you’re using under the Programmers menu.
- If the Variants option is presented, you’ll have to specify what version of the microcontroller you’re using. E.g the ATmega328 and the ATmega328P got different device signatures, so selecting the wrong one will result in an error.
- Hit Burn Bootloader. If an LED is connected to pin PB5 (Arduino pin 13), it should flash twice every second.
- Now that the correct fuse settings is sat and the bootloader burnt, you can upload your code in two ways:
- Disconnect your programmer tool, and connect a USB to serial adapter to the microcontroller, like shown in the . Then select the correct serial port under the Tools menu, and click the Upload button. If you’re getting some kind of timeout error, it means your RX and TX pins are swapped, or your auto reset circuity isn’t working properly (the 100 nF capacitor on the reset line).
- Keep your programmer connected, and hold down the button while clicking Upload. This will erase the bootloader and upload your code using the programmer tool.
Your code should now be running on your microcontroller! If you experience any issues related to bootloader burning or serial uploading, please use or create an issue on Github.
Datasheets
ATmega48PA/88PA/168PAAVRВ Microcontroller with picoPowerВ TechnologyIntroductionВ The picoPower ATmega48PA/88PA/168PA is a low-power CMOS 8-bit microcontroller based on theВAVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, theВATmega48PA/88PA/168PA achieves throughputs close to 1 MIPS per MHz. This empowers systemdesigners to optimize the device for power consumption versus processing speed. FeatureВ High Performance, Low-Power AVR 8-Bit Microcontroller FamilyAdvanced RISC Architecture – 131 Powerful instructions– Most single clock cycle execution– 32 x 8 General purpose working registers– Fully static operation– Up to 20 MIPS throughput at 20 MHz– On-chip 2-cycle multiplier High Endurance Nonvolatile Memory Segments– 4K/8K/16K Bytes of in-system self-programmable Flash program memory– 256/512/512 Bytes EEPROM– 512/1K/1K Bytes internal SRAM– Write/erase cycles: 10,000 Flash/100,000 EEPROM– Data retention: 20 years at 85В°C/100 years at 25В°C(1)– Optional boot code section with independent lock bits In-system programming by on-chip boot program True read-while-write operation– Programming lock for software security QTouch Library Support …
ATmega48PA/88PA/168PA — Summary Datasheet
PDF, 439 Кб, Файл опубликован: 10 дек 2016
Выписка из документа
8-bit AVR Microcontrollers ATmega48PA/88PA/168PADATASHEET SUMMARY IntroductionВ В The Atmel picoPower ATmega48PA/88PA/168PA is a low-power CMOS 8bit microcontroller based on the AVRВ enhanced RISC architecture. Byexecuting powerful instructions in a single clock cycle, the ATmega48PA/88PA/168PA achieves throughputs close to 1MIPS per MHz. This empowerssystem designer to optimize the device for power consumption versusprocessing speed. FeatureHigh Performance, Low Power AtmelВAVRВ 8-Bit Microcontroller Family Advanced RISC Architecture– 131 Powerful Instructions– Most Single Clock Cycle Execution– 32 x 8 General Purpose Working Registers– Fully Static Operation– Up to 20 MIPS Throughput at 20MHz– On-chip 2-cycle Multiplier High Endurance Non-volatile Memory Segments– 4K/8K/16KBytes of In-System Self-Programmable Flash programMemory– 256/512/512Bytes EEPROM– 512/1K/1KBytes Internal SRAM– Write/Erase Cycles: 10,000 Flash/100,000 EEPROM– Data Retention: 20 years at 85В°C/100 years at 25В°C(1)– Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation– Programming Lock for Software Security AtmelВ QTouchВ Library Support– Capacitive Touch Buttons, Sliders and Wheels …
Общее описание
ATMega48, ATMega88, ATMega168 — низкопотребляющие 8 битные КМОП микроконтроллеры с AVR RISC архитектурой. Выполняя команды за один цикл, ATMega48, ATMega88, ATMega168 достигают производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.
AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.
ATMega48, ATMega88, ATMega168 имеют следующие характеристики: 4/8/16 КБ внутрисистемно программируемой Flash память программы, 256/512/512 байтную EEPROM память данных, 512/1К/1К байтное SRAM (статическое ОЗУ), 23 линии ввода — вывода общего применения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика со схемой сравнения, внутренние и внешние источники прерывания, последовательный программируемый USART, байт- ориентированный последовательный 2- проводный интерфейс, 6 канальный АЦП (8- канальный у приборов в TQFP и MFL корпусах), 4 (6) канала которых имеют 10- битное разрешение, а 2- 8- битное, программируемый сторожевой таймер со встроенным генератором, SPI порт и пять программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, а SRAM, таймеры/счетчики, SPI порт и система прерываний продолжают функционировать. В Power-down режиме содержимое регистров сохраняется, но останавливается задающий генератор и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. В режиме Power-save асинхронные таймеры продолжают функционировать, позволяя отсчитывать временные интервалы в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В Standby режиме задающий генератор работает, в то время как остальная часть прибора бездействует. Это позволяет быстро сохранить возможность быстрого запуска приборов при одновременном снижении потребления.
Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти. Программа-загрузчик способна загрузить данные по любому интерфейсу, имеющегося у микроконтроллера. Программа в загрузочном секторе продолжает выполняться даже при загрузке области памяти прикладной программы, обеспечивая реальный режим «считывания при записи». Объединив 8- битное RISK ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала приборы ATMega48, ATMega88, ATMega168 мощными микроконтроллерами, обеспечивающими большую гибкость и ценовую эффективность широкому кругу управляющих устройств.
Обозначения индексов микроконтроллеров
После обозначения базовой версии и серии микроконтроллера, через дефис идет индекс, указывающий вариант исполнения микроконтроллера.Индекс состоит из 1-2 цифр, которые означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания, и из 1-3 букв, которые обозначают вариант корпуса, температурный диапазон работы, и особенности изготовления.Первая буква (или две буквы) после частоты обозначает тип корпуса:P — корпус DIP (PDIP)A — корпус TQFPM — корпус MLFTS — корпус SOT-23 (ATtiny4/5/9/10)J — корпус PLCCA — корпус UDFN/USONC — корпус CBGACK — корпус LGAS — корпус EIAJ SOICSS — узкий корпус JEDEC SOICT — корпус TSOPX — корпус TSSOP
Следующая буква означает температурный диапазон и особенности изготовления:C — коммерческий температурный диапазон (0 °C — 70 °C)A — температурный диапазон −20 °C — +85 °C, с использованием бессвинцового припояI — индустриальный температурный диапазон (-40 °C — +85 °C)U — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припояH — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAuN — расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припояF — расширенный температурный диапазон (-40 °C — +125 °C)Z — автомобильный температурный диапазон (-40 °C — +125 °C)D — расширенный автомобильный температурный диапазон (-40 °C — +150 °C)
Еще в самом конце может быть буква R, которая означает, что микроконтроллеры упакованы в ленты для автоматизированных систем сборки
К примеру:ATmega8L-8AU — максимальная частота — 8 мегагерц, корпус — TQFP, индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припояATmega8-16PN — максимальная частота — 16 мегагерц, корпус — PDIP, расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припоя
Если вы знаете, что обозначают буквы и цифры в маркировке микроконтроллера, значит знаете основные параметры микроконтроллеров, и всегда сможете подобрать для своей конструкции наиболее оптимальный вариант микроконтроллера.
Линейка микроконтроллеров ATmegaЛинейка микроконтроллеров ATtiny
Маркировка микроконтроллеров AVR ATmega и ATtinyМаркировка микроконтроллеров AVR семейства ATmega и ATtiny, базовые версии и версии микроконтроллеров, индекс микроконтроллеров
Published by: Мир микроконтроллеров
Date Published: 04/27/2015
Общее описание
ATMega48, ATMega88, ATMega168 — низкопотребляющие 8 битные КМОП микроконтроллеры с AVR RISC архитектурой. Выполняя команды за один цикл, ATMega48, ATMega88, ATMega168 достигают производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.
AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.
ATMega48, ATMega88, ATMega168 имеют следующие характеристики: 4/8/16 КБ внутрисистемно программируемой Flash память программы, 256/512/512 байтную EEPROM память данных, 512/1К/1К байтное SRAM (статическое ОЗУ), 23 линии ввода — вывода общего применения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика со схемой сравнения, внутренние и внешние источники прерывания, последовательный программируемый USART, байт- ориентированный последовательный 2- проводный интерфейс, 6 канальный АЦП (8- канальный у приборов в TQFP и MFL корпусах), 4 (6) канала которых имеют 10- битное разрешение, а 2- 8- битное, программируемый сторожевой таймер со встроенным генератором, SPI порт и пять программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, а SRAM, таймеры/счетчики, SPI порт и система прерываний продолжают функционировать. В Power-down режиме содержимое регистров сохраняется, но останавливается задающий генератор и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. В режиме Power-save асинхронные таймеры продолжают функционировать, позволяя отсчитывать временные интервалы в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В Standby режиме задающий генератор работает, в то время как остальная часть прибора бездействует. Это позволяет быстро сохранить возможность быстрого запуска приборов при одновременном снижении потребления.
Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти. Программа-загрузчик способна загрузить данные по любому интерфейсу, имеющегося у микроконтроллера. Программа в загрузочном секторе продолжает выполняться даже при загрузке области памяти прикладной программы, обеспечивая реальный режим «считывания при записи». Объединив 8- битное RISK ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала приборы ATMega48, ATMega88, ATMega168 мощными микроконтроллерами, обеспечивающими большую гибкость и ценовую эффективность широкому кругу управляющих устройств.
Параметры
Parameters / Models | ATMEGA88PA-15AZ | ATMEGA88PA-15MZ | ATMEGA88PA-AN | ATMEGA88PA-ANR | ATMEGA88PA-AU | ATMEGA88PA-AUA5 | ATMEGA88PA-AUR | ATMEGA88PA-CCU | ATMEGA88PA-CCUR | ATMEGA88PA-MMH | ATMEGA88PA-MMHR | ATMEGA88PA-MMN | ATMEGA88PA-MMNR | ATMEGA88PA-MMUR | ATMEGA88PA-MN | ATMEGA88PA-MNR | ATMEGA88PA-MU | ATMEGA88PA-MUR | ATMEGA88PA-PN | ATMEGA88PA-PU |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
# of Comparators | 1 | |||||||||||||||||||
ADC Input | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | |
ADC with Computation | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |
ADCC with Computation | No | |||||||||||||||||||
Angular Timer | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
Архитектура | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
CPU | 8-bit AVR | |||||||||||||||||||
CPU Type | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | 8-bit AVR | |
CRC | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |
CRC/Scan | No | |||||||||||||||||||
Class B Hardware | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |
EEPROM / HEF | 512 | |||||||||||||||||||
Emulated EEPROM in Flash | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | 512 | |
High Voltage Capable | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
I2C | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Internal Oscillator | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Internal Voltage Reference, Bandgap | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Lead Count | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 28 | 28 | 28 | 28 | 28 | 32 | 32 | 32 | 32 | 28 | 28 | |
Math Accelerator | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
Max # PWM outputs, including complementary outputs | 6 | |||||||||||||||||||
Max 16 Bit Digital Timers | 1 | |||||||||||||||||||
Max 16-Bit Digital Timers | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
Max 8 Bit Digital Timers | 2 | |||||||||||||||||||
Max 8-Bit Digital Timers | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | |
Max A/D Resolution, bits | 10 | |||||||||||||||||||
Max ADC Resolution, Bits | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | |
Max CPU Speed, МГц | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | |
Max PWM outputs, including complementary | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | |
Max. CPU Speed MHz | 20 | |||||||||||||||||||
Количество компараторов | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
Рабочий диапазон температур, °C | от -40 до +85 | |||||||||||||||||||
Operation Voltage Max, В | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | 5.5 | |
Operation Voltage Max.(V) | 5.5 | |||||||||||||||||||
Operation Voltage Min, В | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | 1.8 | |
Operation Voltage Min.(V) | 1.8 | |||||||||||||||||||
Package Width | 7x7x1mm | 5x5x0.9mm | 7x7x1mm | 7x7x1mm | 7x7x1mm | 7x7x1mm | 4x4x0.6mm | 4x4x0.6mm | 4x4x1mm | 4x4x1mm | 4x4x1mm | 4x4x1mm | 4x4x1mm | 5x5x1mm | 5x5x1mm | 5x5x1mm | 5x5x1mm | .300in | .300in | |
Peripheral Pin Select, PPS | No | |||||||||||||||||||
Peripheral Pin Select / Pin Muxing | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |
Pin count | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 | 32 |
Размер памяти программ, KB | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
RAM, bytes | 1024 | |||||||||||||||||||
SPI | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
SRAM, Bytes | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | |
Temp Range Max | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 85 | |
Temp Range Min | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | -40 | |
Temp. Range Max. | 85 | |||||||||||||||||||
Temp. Range Min. | -40 | |||||||||||||||||||
Total # of A/D channels | 8 | |||||||||||||||||||
UART | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Windowed Watchdog Timer, WWDT | No | |||||||||||||||||||
Zero Cross detect | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
Распиновка Atmega8
На следующей странице публикуется расположение выводов данного микроконтроллера при использовании разных типов корпусов:
Советую этот листок из даташита распечатать и иметь под рукой. В процессе разработки и сборки схемы очень полезно иметь эти данные перед глазами.
Внимание!
Обратите внимание на такой факт: микросхема микроконтроллера может иметь (и имеет в данной модели) несколько выводов для подключения источника питания. То есть имеется несколько выводов для подключения «земли» — «общего провода», и несколько выводов для подачи положительного напряжения
Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т.е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.
При этом через одинаковые выводы МК не должны протекать токи, так как внутри корпуса МК они соединены тонкими проводниками! То есть при подключении нагрузки эти выводы не должны рассматриваться как «перемычки».
Bootloader option
MiniCore lets you select which serial port you want to use for uploading. UART0 is the default port for all targets, but ATmega328PB can also use UART1.
If your application doesn’t need or require a bootloader for uploading code you can also choose to disable this by selecting No bootloader. This frees 512 bytes of flash memory. Unline official Arduino AVR boards, the bootloader isn’t automatically removed when you upload using a programmer. You’ll have to select No bootloader hit «upload» or the «burn bootloader» for this to happen.
Note that you have need to connect a programmer and hit Burn bootloader if you want to change any of the Upload port settings.
Supported clock frequencies
MiniCore supports a variety of different clock frequencies. Select the microcontroller in the boards menu, then select the clock frequency. You’ll have to hit «Burn bootloader» in order to set the correct fuses and upload the correct bootloader.
Make sure you connect an ISP programmer, and select the correct one in the «Programmers» menu. For time critical operations an external crystal/oscillator is recommended.
You might experience upload issues when using the internal oscillator. It’s factory calibrated but may be a little «off» depending on the calibration, ambient temperature and operating voltage. If uploading failes while using the 8 MHz internal oscillator you have these options:
- Edit the baudrate line in the boards.txt file, and choose either 115200, 57600, 38400 or 19200 baud.
- Upload the code using a programmer (USBasp, USBtinyISP etc.)
- Use the 4, 2 or 1 MHz option instead
Frequency | Oscillator type | Comment |
---|---|---|
16 MHz | External crystal/oscillator | Default clock on most AVR based Arduino boards and MiniCore |
20 MHz | External crystal/oscillator | |
18.4320 MHz | External crystal/oscillator | Great clock for UART communication with no error |
14.7456 MHz | External crystal/oscillator | Great clock for UART communication with no error |
12 MHz | External crystal/oscillator | Useful when working with USB 1.1 (12 Mbit/s) |
11.0592 MHz | External crystal/oscillator | Great clock for UART communication with no error |
8 MHz | External crystal/oscillator | Common clock when working with 3.3V |
7.3728 MHz | External crystal/oscillator | Great clock for UART communication with no error |
4 MHz | External crystal/oscillator | |
3.6864 MHz | External crystal/oscillator | Great clock for UART communication with no error |
2 MHz | External crystal/oscillator | |
1.8432 MHz | External crystal/oscillator | Great clock for UART communication with no error |
1 MHz | External crystal/oscillator | |
8 MHz | Internal oscillator | Might cause UART upload issues. See comment above this table |
4 MHz | Internal oscillator | Derived from the 8 MHz internal oscillator |
2 MHz | Internal oscillator | Derived from the 8 MHz internal oscillator |
1 MHz | Internal oscillator | Derived from the 8 MHz internal oscillator |
Общее описание
ATMega48, ATMega88, ATMega168 — низкопотребляющие 8 битные КМОП микроконтроллеры с AVR RISC архитектурой. Выполняя команды за один цикл, ATMega48, ATMega88, ATMega168 достигают производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.
AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.
ATMega48, ATMega88, ATMega168 имеют следующие характеристики: 4/8/16 КБ внутрисистемно программируемой Flash память программы, 256/512/512 байтную EEPROM память данных, 512/1К/1К байтное SRAM (статическое ОЗУ), 23 линии ввода — вывода общего применения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика со схемой сравнения, внутренние и внешние источники прерывания, последовательный программируемый USART, байт- ориентированный последовательный 2- проводный интерфейс, 6 канальный АЦП (8- канальный у приборов в TQFP и MFL корпусах), 4 (6) канала которых имеют 10- битное разрешение, а 2- 8- битное, программируемый сторожевой таймер со встроенным генератором, SPI порт и пять программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, а SRAM, таймеры/счетчики, SPI порт и система прерываний продолжают функционировать. В Power-down режиме содержимое регистров сохраняется, но останавливается задающий генератор и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. В режиме Power-save асинхронные таймеры продолжают функционировать, позволяя отсчитывать временные интервалы в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В Standby режиме задающий генератор работает, в то время как остальная часть прибора бездействует. Это позволяет быстро сохранить возможность быстрого запуска приборов при одновременном снижении потребления.
Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти. Программа-загрузчик способна загрузить данные по любому интерфейсу, имеющегося у микроконтроллера. Программа в загрузочном секторе продолжает выполняться даже при загрузке области памяти прикладной программы, обеспечивая реальный режим «считывания при записи». Объединив 8- битное RISK ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала приборы ATMega48, ATMega88, ATMega168 мощными микроконтроллерами, обеспечивающими большую гибкость и ценовую эффективность широкому кругу управляющих устройств.
Write to own flash
MiniCore uses Optiboot Flash, a bootloader that supports flash writing within the running application, thanks to the work of @majekw.
This means that content from e.g. a sensor can be stored in the flash memory directly without the need of external memory. Flash memory is much faster than EEPROM, and can handle at least 10 000 write cycles before wear becomes an issue.
For more information on how it works and how you can use this in you own application, check out the Serial_read_write for a simple proof-of-concept demo, and
Flash_put_get + Flash_iterate for useful examples on how you can store strings, structs and variables to flash and retrieve then afterwards.
The Read_write_without_buffer example demonstrate how you can read and write to the flash memory on a lower level without using a RAM buffer.
Генератор тактовой частоты
Но самым важным для нас в настоящее время является блок «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 схеме
А емкость конденсатора очень зависит от температуры!