
- •Основные параметры некоторых микроконтроллеров семейства avr:
- •Дополнительные параметры мк avr mega:
- •Техника безопасности
- •Выбор и разработка принципиальной схемы
- •Изготовление печатной платы устройства
- •Лазерно-утюжная технология
- •Травление пп
- •Установка и пайка радиоэлементов на пп
- •Отладка устройства.
- •Прошивка мк
Оглавление.
Информация о AVR микроконтроллерах …………………………
Техника Безопасности………………………………………………………..
Выбор и разработка принципиальной схемы………………………………
Перечень элементов……………………………………………………………
Изготовление печатной платы устройства…………………………………
Лазерно-утюжная технология………………………………………………..
Травление ПП…………………………………………………………………
Установка и пайка радиоэлементов на ПП………………………………….
Отладка устройства……………………………………………………………
Программирование МК
Прошивка МК
Микроконтроллеры (МК) прочно вошли в нашу жизнь, на просторах интернета можно встретить очень много интересных схем, которые исполнены на МК. Чего только нельзя собрать на МК: различные индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры…), металлоискатели, разные игрушки, роботы и т.д. перечислять можно очень долго.МК ATmegaХХХХ выполнен по технологии CMOS, 8-разрядный, микропотребляющий, основан на AVR-архитектуре RISC. Выполняя одну полноценную инструкцию за один такт.Самыми популярными микроконтроллерами являются ATmega8, а так же ATmega48, 16, 32, ATtiny2313 и другие. Они продаются в корпусах TQFP и DIP, новичкам следует покупать в DIP. Если купите TQFP, будет проблематичнее их прошить, придется купить или изготовить переходник и паять плату т.к. у них ножки располагаются очень близко друг от друга. МК в DIP корпусах, желательно ставить на специальные панельки, это удобно и практично, не придется выпаивать МК если приспичит перепрошить, или использовать его для другой конструкции.
Маркировка микроконтроллеров
Первые цифры в названии микроконтроллера обозначают объем FLASH ПЗУ в килобайтах, например ATtiny15 – 1 Кб, ATtiny26 – 2 Кб, AT90S4414 – 4 Кб, Atmega8535 – 8 Кб, ATmega162 – 16Кб, ATmega32 – 32 Кб, ATmega6450 – 64Кб, Atmega128 – 128КбВ маркировке микроконтроллера могут присутствовать буквы с цифрами, например Atmega 8L 16PU, 8 16AU, 8A PU и пр. Буква L означает, что МК работает от более низкого напряжения, чем МК без буквы L, обычно это 2.7В. Цифры после дефиса или пробела 16PU или 8AU говорят о внутренней частоте генератора, который есть в МК. Если фьюзывыставлены на работу от внешнего кварца, кварц должен быть установлен на частоту, не превышающей максимальную по даташиту, это 20МГц для ATmega48/88/168, и 16МГц для остальных атмег.
Основные параметры некоторых микроконтроллеров семейства avr:
Микроконтроллер |
Память FLASH |
Память ОЗУ |
Память EEPROM |
Порты ввода/вывода |
U питания |
Частота |
ATmega48 |
4 |
512 |
256 |
23 |
2,7-5,5 |
0-10-20 |
ATmega48V |
4 |
512 |
256 |
23 |
1,8-4,8-5,5 |
0-4-10 |
ATmega8515 |
8 |
512 |
512 |
35 |
4,5-5,5 |
0-16 |
ATmega8515L |
8 |
512 |
512 |
35 |
2,7-5,5 |
0-8 |
ATmega8535 |
8 |
512 |
512 |
32 |
4,5-5,5 |
0-16 |
ATmega8535L |
8 |
512 |
512 |
32 |
2,7-5,5 |
0-8 |
ATmega8 |
8 |
1K |
512 |
23 |
4,5-5,5 |
0-16 |
ATmega8L |
8 |
1K |
512 |
23 |
2,7-5,5 |
0-8 |
ATmega88 |
8 |
1K |
512 |
23 |
2,7-5,5 |
0-10-20 |
ATmega88V |
8 |
1K |
512 |
23 |
4,5-5,5 |
0-4-10 |
ATmega16 |
16 |
1K |
512 |
32 |
4,5-5,5 |
0-16 |
ATmega16L |
16 |
1K |
512 |
32 |
2,7-5,5 |
0-8 |
ATmega32 |
32 |
2K |
1K |
32 |
4,0-5,5 |
0-16 |
ATmega32L |
32 |
2K |
1K |
32 |
2,7-5,5 |
0-8 |
Технические параметры: МК ATmega8:
Память для программ составляет 8 Кб с возможностью перезаписать 10 000 раз
512 байт флеш-памяти для хранения переменных (100 000 циклов перезаписи)
1 Кб ОЗУ и 32 регистра общего назначения
Два 8-разрядных Таймера/Счетчика с раздельнымпрескалером, режим сравнения
16-разрядный Таймер/Счетчик с раздельнымпрескалером, режим сравнения, режим захвата
Таймер реального времени с независимым генератором
3 канала ШИМ
6 каналов 10-разрядного АЦП
Двухпроводный последовательный интерфейс
Программируемый последовательный USART
Интерфейс SPI с режимами Master/Slave
Программируемый сторожевой таймер с отдельным независимым генератором
Встроенный аналоговый компаратор
Сброс при включении питания, программируемая защита от провалов питания
Встроенный калиброванный RC-генератор
Обработка внутренних и внешних прерываний
5 режимов с пониженным энергопотреблением: Idle, ADC NoiseReduction, Power-save, Power-down, и Standby
Напряжение питания 4.5 - 5.5В
Тактовая частота 0-16 МГц
Дополнительные параметры мк avr mega:
Рабочая температура: -55…+125*С
Температура хранения: -65…+150*С
Напряжение на выводе RESET относительно GND: max 13В
Максимальное напряжение питания: 6.0В
Максимальный ток линии ввода/вывода: 40мА
Максимальный ток по линии питания VCC и GND: 200мА
Максимальный ток на каждый пин порта 20мА
Описание выводов микроконтроллера ATmega8:
23 порта ввода/вывода, объединенных в 3 группы:
Порт В (PB0 - РВ7): Два вывода (РВ6 и PB7) используются для подключения кварцевого резонатора. Выводы РВ2 - РВ5 зарезервированы для внутрисхемного программирования. Таким образом, для общего применения остаются порты PB0 и PB1.
Порт С (PC0 - РС6 : 7 выводов): Порты PC0 - РС5 можно использовать в качестве аналоговых входов. РС6 обычно используется для сброса.
Порт D (PD0 - PD7 : 8 выводов): Эти порты можно использовать для общего применения.
Питание:
№ |
Название |
Тип |
Описание |
|
|
|
|
7 |
VCC |
Вход |
напряжение питания от +4.5 до +5.5 В |
8,22 |
GND |
Вход |
Общий (земля) |
20 |
AVcc |
Вход |
напряжение питания + 5 В для модуля АЦП |
21 |
ARef |
Вход |
вход опорного напряжения для АЦП |
Порт B:
№ |
Название |
Тип |
Описание |
|
|
|
|
14 |
PB0 |
Вход/Выход |
цифровой порт РВ0 |
14 |
ICP1 |
Вход |
захват входа 1 |
|
|
|
|
15 |
PB1 |
Вход/Выход |
цифровой порт РВ1 |
15 |
OC1A |
Выход |
выход сравнения/ШИМ 1А |
|
|
|
|
16 |
PB2 |
Вход/Выход |
цифровой порт PB2 |
16 |
OC1B |
Выход |
выход сравнения/ШИМ 1В |
16 |
SS |
Вход |
вход Slave для SPI |
|
|
|
|
17 |
PB3 |
Вход/Выход |
цифровой порт РВЗ |
17 |
OC2 |
Выход |
выход сравнения/ШИМ 2 |
17 |
MOSI |
Вход/Выход |
вход данных в режиме Slave для SPI и ISP / выход данных в режиме Master для SPI и ISP |
|
|
|
|
18 |
PB4 |
Вход/Выход |
цифровой порт РВ4 |
18 |
MISO |
Вход/Выход |
вход данных в режиме Master для SPI и ISP / выход данных в режиме Slave для SPI и ISP |
|
|
|
|
19 |
PB5 |
Вход/Выход |
цифровой порт РВ5 |
19 |
SCK |
Вход/Выход |
тактовый вход в режиме Slave для SPI и ISP / тактовый выход в режиме Master для SPI и ISP |
|
|
|
|
9 |
PB6 |
Вход/Выход |
цифровой порт РВ6 при работе от встроенного генератора |
9 |
XTAL1 |
Вход |
тактовый вход, кварцевый или керамический резонатор |
9 |
TOSC1 |
Вход |
не используется при работе от внешнего генератора |
|
|
|
|
10 |
PB7 |
Вход/Выход |
цифровой порт РВ7 при работе от встроенного генератора |
10 |
XTAL2 |
Вход |
для подключения кварцевого или керамического резонатора |
10 |
TOSC2 |
Выход |
тактовый выход при работе от встроенного генератора |
Порт C:
№ |
Название |
Тип |
Описание |
|
|
|
|
23 |
PC0 |
Вход/Выход |
цифровой порт РС0 |
23 |
ADC0 |
Вход |
аналоговый вход канал 0 |
|
|
|
|
24 |
PC1 |
Вход/Выход |
цифровой порт РС1 |
24 |
ADC1 |
Вход |
аналоговый вход канал 1 |
|
|
|
|
25 |
PC2 |
Вход/Выход |
цифровой порт PC2 |
25 |
ADC2 |
Вход |
аналоговый вход канал 2 |
|
|
|
|
26 |
PC3 |
Вход/Выход |
цифровой порт РСЗ |
26 |
ADC3 |
Вход |
аналоговый вход канал 3 |
|
|
|
|
27 |
PC4 |
Вход/Выход |
цифровой порт РС4 |
27 |
ADC4 |
Вход |
аналоговый вход канал 4 |
27 |
SDA |
Вход/Выход |
канал данных для 2-проводного последовательногоинтрефеиса |
|
|
|
|
28 |
PC5 |
Вход/Выход |
цифровой порт РС5 |
28 |
ADC5 |
Вход |
аналоговый вход канал 5 |
28 |
SCL |
Выход |
тактовый выход для 2-проводного последовательного интерфейса |
|
|
|
|
1 |
PC6 |
Вход/Выход |
цифровой порт РС6 |
1 |
RESET |
Вход |
внешний сброс |
Порт D:
№ |
Название |
Тип |
Описание |
|
|
|
|
2 |
PD0 |
Вход/Выход |
цифровой порт PD0 |
2 |
RxD |
Вход |
вход приемника USART |
|
|
|
|
3 |
PD1 |
Вход/Выход |
цифровой порт PD1 |
3 |
TxD |
Выход |
выход передатчика USART |
|
|
|
|
4 |
PD2 |
Вход/Выход |
цифровой порт PD2 |
4 |
INT0 |
Вход |
внешнее прерывание канал 0 |
|
|
|
|
5 |
PD3 |
Вход/Выход |
цифровой порт PD3 |
5 |
INT1 |
Вход |
внешнее прерывание канал 1 |
|
|
|
|
6 |
PD4 |
Вход/Выход |
цифровой порт PD4 |
6 |
XCK |
Вход/Выход |
внешний такт для USART |
6 |
T0 |
Вход |
внешний вход Timer 0 |
|
|
|
|
11 |
PD5 |
Вход/Выход |
цифровой порт PD5 |
11 |
T1 |
Вход |
внешний вход Timer 1 |
|
|
|
|
12 |
PD6 |
Вход/Выход |
цифровой порт PD6 |
12 |
AIN0 |
Вход |
вход аналогового компаратора канал 0 |
|
|
|
|
13 |
PD7 |
Вход/Выход |
цифровой порт PD7 |
13 |
AIN1 |
Вход |
вход аналогового компаратора канал 1 |
Расположение
выводов моделей ATmega 8X
Расположение выводов у моделей ATmega16, 32x
Расположение
выводов у моделей ATtiny2313
Особенности архитектуры
Как и подавляющее большинство современных 8-разрядных микроконтроллеров, AVR является типичным представителем архитектуры Гарвардского типа. Память программ и память данных в нем отделены друг от друга и находятся в различных адресных пространствах (см. рис.1). ЦПУ имеет две независимые шины: 16-разрядную для обращения к ПЗУ и 8-разрядную для взаимодействия с ОЗУ. Длина слова команды у AVR кратна 16-ти битам и может составлять 2 или 4 байта.
Рис.1
Разделение памяти программ и данных в
Гарвардской архитектуре
Гарвардская архитектура дает возможность одновременно осуществлять выборку команд из ПЗУ и производить операции над переменными в ОЗУ, что дает существенный прирост производительности. В этом случае, однако, микроконтроллер может выполнять команды только из ПЗУ, но для большинства приложений, где предполагается его использование, это не имеет серьезного значения.
Рис.2
Работа конвейера команд
В микроконтроллерах AVR реализован двухступенчатый конвейер команд (см. рис.2). Во время выполнения текущей команды, происходит выборка и декодирование следующей инструкции. Функционирование конвейера нарушается только в те моменты, когда результат выполнения команды не определен. Это относится к командам типа Test&Skip (Проверка и пропуск) и аппаратным прерываниям. В первом случае происходит ветвление по условию, которое заранее неизвестно, а во втором – программный переход в неопределенный момент времени.
AVR имеют систему команд RISC (ReducedInstructSetComputers – компьютеры с сокращённым набором команд). Такая система подразумевает наличие небольшого, хорошо продуманного набора команд, большая часть из которых выполняется за одинаковый промежуток времени (машинный цикл). Машинный цикл ядра AVR – 1 период тактовой частоты системного генератора. Это означает, что производительность микроконтроллера составляет 1 MIPS (MillionsInstructionPerSecond) на 1 МГц (!) или 20 MIPS при наибольшей частоте 20 МГц.
Рис.3
Внутреннее устройство микроконтроллеров
семейства ATtiny
Внутренняя структура микроконтроллеров семейства ATtiny приведена на рис.3, а семейства ATmega на рис.4. Аппаратные модули, закрашенные серым цветом, имеются не во всех моделях AVR.
Рис.4
Внутреннее устройство микроконтроллеров
семейства ATmega
Упрощенная схема МК
Как видно из данной схемы, любой микроконтроллер AVR состоит из центрального процессорного устройства (CPU), модулей последовательных интерфейсов и различных периферийных устройств. Модули последовательных интерфейсов также можно отнести к бортовой периферии, однако, выполняемые ими задачи обуславливают их выделение в отдельную группу.
Командным пунктом микроконтроллера является CPU (Central Processing Unit). Здесь происходит извлечение команд из FLASH-памяти программ через регистр команд и их выполнение. В обработке кодов операций участвуют регистры общего назначения (РОН), использующиеся как перевалочные пункты для различных данных, а также арифметико-логическое устройство (АЛУ), выполняющее различные сложения, умножения, сдвиги и прочие операции со значениями из регистров общего назначения. В состав CPU также входит дешифратор команд, формирующий шину управления всеми внутренними устройствами микроконтроллера.CPU связано со всеми без исключения внутренними модулями микроконтроллера либо через шину управления, либо через регистры общего назначения.
Для связи микроконтроллера с другими цифровыми устройствами (персональным компьютером, микросхемами памяти, внешними АЦП и ЦАП и т.д.) предусмотрено несколько модулей последовательных интерфейсов: UART, TWI, SPI. Эти интерфейсы и стандарты передачи данных с их помощью будут обязательно рассмотрены в других статьях. Здесь же пока отметим, что посредством интерфейса SPI программируется FLASH-память программ, а также ПЗУ микроконтроллера — EEPROM.
Следует отметить, что архитектура микроконтроллеров AVR имеет гарвардскую организацию памяти, при которой память данных и память программ расположены отдельно. FLASH-память программ содержит коды операций в определенном порядке, другими словами, саму программу для выполнения. Для временного хранения различных данных в процессе работы микроконтроллера предусмотрена внутренняя оперативная память — SRAM. Для хранения констант и данных даже после отключения питания микроконтроллера предусмотрена энергонезависимая память данных — EEPROM.
Для подключения к микроконтроллеру различных исполнительных устройств (реле переключения, светодиоды, семисегментные индикаторы), либо устройств управления (клавиши, логические датчики) используются порты ввода/вывода. Также посредством этих портов может быть программно реализован интерфейс обмена данными.
Отдельное место в бортовой периферии микроконтроллеров AVR занимает сторожевой таймер. В его функции входит вывод микроконтроллера из режимов энергосбережения либо перезапуск микроконтроллера, если в процессе работы возник какой-либо сбой, и произошло зависание.
Набор остальных периферийных устройств определяется моделью микроконтроллера, и в любом случае перед использованием конкретной модели необходимо ознакомиться с официальной документацией на нее.