Содержание
Содержание
Архив со всем необходимым
Описание модуля AVR ATMega16
В качестве базового контроллера используется микроконтроллер ATMega16 в DIP корпусе, установленном на панельку. Что позволяет применять в модуле другие варианты контроллеров AVR в подобном корпусе, просто заменив микроконтроллер. Подходят, например, ATMega8535 или ATMega32. Но следует осторожней относится к выбору контроллера, сверяясь с даташитом. Так, например, у ATMega162 совсем иная цоколевка выводов, потому его нельзя вставить в данный модуль. Хотя никто не запрещает развести и изготовить модуль для этого контроллера по аналогии.
Схема модуля проста и состоит из контактов платы (стандартные для всех модулей) и контактов контроллера. Соединяя их джамперами или проволочными перемычками можно подключать микроконтроллер к любой периферии платы.
Схема контактной группы разъема модуля выглядит следующим образом:
Слева и справа идут основные интерфейсы платы, а также выводы земли и питания. Особо следует обратить внимание на два резистора. Они задают напряжение питания контроллера, т.к. стоят в обратной связи стабилизатора шины CPU_POWER. Таким образом, напряжение питание модуля задается им самим. Впрочем, всегда есть возможность обойти стабилизатор CPU_POWER и объединить шины Main Power и CPU Power.
Цоколевка внешних выводов модуля следующая:
- GND – шина земли
- ADJ – вывод ADJ LM317 для задачи напряжения
- CPU_POWER – напряжение питания процессора
- PS/2CLK2 – CLOCK 2 вывод разъема PS/2
- PS/2CLK – CLOCK вывод разъема PS/2
- PS/2DATA2 – DATA 2 вывод разъема PS/2
- PS/2DATA – DATA вывод разъема PS/2
- PWLED0 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 0
- PWLED1 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 1
- PWLED2 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 2
- PWLED3 – вывод на светодиод и фильтр для сглаживания ШИМ сигнала. Канал 3
- USB BUS PUP – подтяжка шины D на USB. Подача на этот вывод пяти вольт подтягивает шину D и обеспечивает обнаружение устройства на шине USB.
- USB BUS PWR – пять вольт с шины USB пропущенные через резистор в 100кОм. Позволяют отследить наличие питание на шине USB.
- USB DATA + — Шина данных USB
- USB DATA – — Шина данных USB
- TXA1 – Вывод TX канала А (соединяется с линией ТХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- RXA1 – Вывод RX канала А (соединяется с линией RХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- TXB1 – Вывод TX канала B (соединяется с линией ТХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- RXB1 – Вывод RX канала B (соединяется с линией RХ микроконтроллера! Перекрещивание RX и TX идет дальше, на колодке коммутатора)
- GND – земля.
- D3…D0 – вход ЦАП по схеме R2R
- AO – от Analog Output – выход R2R ЦАП. Выход идет с операционного усилителя.
- VFO – Voltage Filter Out – выход RC фильтра.
- VFI – Voltage Filter In – вход RC фильтра.
- AGND – Аналоговая земля.
- SCL – строб линия шины i2c. Подтянута к CPU POWER.
- SDA – линия данных шины i2c Подтянута к CPU POWER
- GND – земля.
- SS – выбор кристалла, шина SPI. Подключен также к SS выводу SD карты.
- MOSI – Master Output Slave Input – линия данных шины SPI
- SCK – строб линия шины SPI
- MISO – Master Input Slave Output – линия данных шины SPI
- SS2 – выбор кристалла, шина SPI. Уходит к модулю расширения, позволяя адресовать его по SPI
- BTN3 – Может быть подключена к кнопке BTN3
- BTN2 – Может быть подключена к кнопке BTN3
- BTN1 – Может быть подключена к кнопке BTN3
- BZR – Buzzer, этот вывод подключен к пищалке. Подавая на него колебания звуковой частоты можно что-нибудь пропищать.
Это что касается выводов модуля. Фактически они совпадают с аналогичными выводами базовой платы. Сам контроллер разведен независимо, объединены только земли, питание и то, без чего не обойтись. Что дает гибкость и возможность подключать выводы как угодно и куда угодно. Схема включения контроллера типовая:
Только самое необходимое. Кварцы вынесены на панельки, что позволяет их менять или убирать если не нужны. Напряжение опоры АЦП связано с питающим через дроссель. Земли цифровая и аналоговая соединены, но это соединение в одной точке и только на модуле. Все остальные выводы выведены на штыри и расположены напротив выводов контроллера. Также некоторые из них продублированы возле UART, PWM или I2C выводов, чтобы можно было удобно подключать их джамперами.
Желтой подсветкой указаны выводы которые можно подключать джамперами. Как видно, выведены ШИМ каналы OC0, OC1A, OC1B, OC2. Шина i2c с ее линиями SCL, SDA. SPI с линиями MOSI, MISO (MI на плате), SCK и SS. Причем SS от контроллера продублирована так, чтобы можно было джампером одевать ее на SS или на SS2. Также продублированы выводы UART, позволяя подключать их джамперами либо к каналу А, либо к каналу В.
Справа, напротив выводов OSC1 и OSC2 припаяна цанговая панелька, куда может быть вставлен часовой кварц (идет в комплекте).
С северного торца, под платой, расположена кнопка RESET. А с Южного, также под платой, расположен угловой разъем JTAG’a с которого можно шлейфом вытащить интерфейс на отладчик.
Отличие модуля AVR ревизии 1 от ревизии 2
Схемотехника и распиновка модулей осталась без изменений, но была исправлена ошибка в результате которой SDA и SCL выводы поменялись местами. Сделал так, как было задумано изначально. Что позволяет теперь подключать i2c шину напрямую, джамперами. Не извращаясь с хитрым крестовидным соединителем.
Раньше для наброса на шину i2c AVR модуля нужно было подключать так:
Теперь все несколько упростилось:
Радиотехника и электроника для разработчиков и радиолюбителей
Информация
Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.
Доска объявлений
Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.
Программы
Полезные программы для радиолюбителей и разработчиков радиоэлектроники.
Ссылки
Мы в соцсетях
Рекомендуем
Микроконтроллеры AVR
Здесь представлена информация по микроконтроллерам фирмы Atmel, в основном по микроконтроллерам AVR. Представлены для свободного скачивания книги и справочники. Вы можете здесь же заказать бумажный вариант книги.
Книга является справочным изданием по применению микроконтроллеров AVR семейства Classic фирмы "ATMEL". Рассмотрена архитектура, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Изд-во: Додэка
ISBN: 978-5-94120-094-8
288 страниц
Содержание
Глава 1. Знакомство с семейством CLASSIC
1.1. Общие сведения
1.2. Отличительные особенности
1.3. Характеристики ядра микроконтроллера
1.4. Характеристики подсистемы ввода/вывода
1.5. Периферийные устройства
1.6. Архитектура ядра
1.7. Цоколевка и описание выводов
Глава 2. Архитектура микроконтроллеров семейства Classic
2.1. Общие сведения
2.2. Организация памяти
2.2.1. Память программ
2.2.2. Память данных
2.2.2.1. Статическое ОЗУ
2.2.2.2. Регистры общего назначения
2.2.2.3. Регистры ввода/вывода
2.2.2.4. Способы адресации памяти данных
2.2.3. Энергонезависимая память данных
2.2.3.1. Организация доступа
2.2.3.2. Меры предосторожности при работе
2.3. Счетчик команд и выполнение программы
2.3.1. Функционирование конвейера
2.3.2. Задержки в конвейере
2.3.3. Счетчик команд
2.3.4. Kоманды типа "проверка/пропуск"
2.3.5. Kоманды условного перехода
2.3.6. Kоманды безусловного перехода
2.3.7. Kоманды вызова подпрограмм
2.3.8. Kоманды возврата из подпрограмм
2.4. Стек
2.4.1. Стек в микроконтроллере AT90S1200
2.4.2. Стек в старших моделях микроконтроллеров
Глава 3. Система команд
3.1. Общие сведения
3.2. Операнды
3.3. Типы команд
3.3.1. Kоманды логических операций
3.3.2. Kоманды арифметических операций и команды сдвига
3.3.3. Kоманды операций с битами
3.3.4. Kоманды пересылки данных
3.3.5. Kоманды передачи управления
3.3.6. Kоманды управления системой
3.4. Сводные таблицы команд
3.5. Описание команд
Глава 4. Устройство управления
4.1. Общие сведения
4.2. Тактовый генератор
4.3. Режимы пониженного энергопотребления
4.3.1. Режим Idle
4.3.2 Режим Power Down
4.3.3 Режим Power Save
4.4. Сброс
4.4.1. Сброс по включении питания
4.4.2. Аппаратный сброс
4.4.3. Сброс от сторожевого таймера
4.4.4. Сброс при снижении напряжения питания (Brown-Out)
4.4.5. Управление схемой сброса
4.5. Прерывания
4.5.1. Таблица векторов прерываний
4.5.2. Обработка прерываний
4.5.3. Внешние прерывания; регистры GIMSK и GIFR
4.5.4. Прерывания от таймеров; регистры TIMSK и TIFR
Глава 5. Порты ввода/вывода
5.1. Общие сведения
5.2. Обращение к портам ввода/вывода
5.3. Kонфигурирование портов ввода/вывода
Глава 6. Таймеры
6.1. Общие сведения
6.2. Назначение выводов таймеров/счетчиков
6.3. Таймер/счетчик T0
6.4. Таймер/счетчик T1
6.4.1. Выбор источника тактового сигнала
6.4.2. Режим таймера
6.4.2.1. Функция захвата (Capture)
6.4.2.2. Функция сравнения (Compare)
6.4.3. Режим ШИМ
6.5. Таймер/счетчик T2
6.5.1. Управление тактовым сигналом
6.5.2. Режим таймера
6.5.3. Режим ШИМ
6.5.4. Асинхронный режим работы
6.6. Сторожевой таймер
Глава 7. Аналоговый компаратор
7.1. Общие сведения
7.2. Функционирование компаратора
Глава 8. Аналого-цифровой преобразователь
8.1. Общие сведения
8.2. Функционирование модуля АЦП
8.3. Повышение точности преобразования
8.4. Параметры АЦП
Глава 9. Универсальный асинхронный приемопередатчик
9.1. Общие сведения
9.2. Управление работой UART
9.3. Передача данных
9.4. Прием данных
9.5. Мультипроцессорный режим работы UART
9.6. Скорость приема/передачи
Глава 10. Последовательный периферийный интерфейс SPI
10.1. Общие сведения
10.2. Функционирование модуля SPI
10.3. Режимы передачи данных
10.4. Использование вывода F65
Глава 11. Программирование микроконтроллеров
11.1. Общие сведения
11.2. Защита кода и данных
11.3. Kонфигурационные ячейки
11.4. Идентификатор
11.5. Режим параллельного программирования
11.5.1. Переключение в режим параллельного программирования
11.5.2. Стирание кристалла
11.5.3. Программирование FLASH-памяти
11.5.4. Программирование EEPROM-памяти
11.5.5. Kонфигурирование микроконтроллера
11.6. Режимы последовательного программирования
11.6.1. Режим последовательного программирования при высоком напряжении (модели AT90S/LS2323 и AT90S/LS2343)
11.6.2. Программирование по последовательному каналу
Приложения
Приложение I. Сводная таблица микроконтроллеров AVR семейства Classic
Приложение II. Чертежи корпусов микроконтроллеров AVR семейства Classic
Приложение III. Электрические параметры микроконтроллеров AVR семейства Classic
Купить (проверить наличие) эту книгу в интернет-магазинах: |
» Озон |
Книга представляет собой справочное руководство по однокристальным микроконтроллерам AVR семейства Mega фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
Предисловие 8
Глава 1
Знакомство с семейством Mega 10
1.1. Общие сведения 10
1.2. Отличительные особенности 10
1.3. Характеристики процессора 11
1.4. Характеристики подсистемы ввода/вывода 11
1.5. Периферийные устройства 12
1.6. Архитектура ядра 12
1.7. Цоколевка и описание выводов 13
Глава 2
Архитектура микроконтроллеров семейства Mega 87
2.1. Общие сведения 87
2.2. Организация памяти 101
2.2.1. Память программ 103
2.2.2. Память данных 105
2.2.3. Энергонезависимая память данных (EEPROM) 160
2.3. Счетчик команд и выполнение программы 165
2.3.1. Счетчик команд 165
2.3.2. Функционирование конвейера 166
2.3.3. Команды типа "проверка/пропуск" (Test & Skip) 167
2.3.4. Команды условного перехода 167
2.3.5. Команды безусловного перехода 167
2.3.6. Команды вызова подпрограмм 169
2.3.7. Команды возврата из подпрограмм 171
2.4. Стек 171
Глава 3.
Система команд 172
3.1. Общие сведения 172
3.2. Операнды 172
3.3. Типы команд 174
3.3.1. Команды логических операций 175
3.3.2. Команды арифметических операций и команды сдвига 175
3.3.3. Команды битовых операций 175
3.3.4. Команды пересылки данных 176
3.3.5. Команды передачи управления 176
3.3.6. Команды управления системой 178
3.4. Сводные таблицы команд 179
3.5. Описание команд 185
Глава 4
Тактирование, режимы пониженного энергопотребления и сброс 251
4.1. Общие сведения 251
4.2. Тактовый генератор 251
4.2.1. Генератор с внешним резонатором 254
4.2.2. Низкочастотный кварцевый генератор 256
4.2.3. Внешний сигнал синхронизации 256
4.2.4. Генератор с внешней RC-цепочкой 256
4.2.5. Внутренний калиброванный RC-генератор 257
4.2.6. Внутренний RC-генератор на 128 кГц 259
4.2.7. Управление тактовой частотой 259
4.3. Управление электропитанием 262
4.3.1. Режимы пониженного энергопотребления 262
4.3.2. Управление тактовыми сигналами модулей 268
4.3.3. Общие рекомендации по уменьшению энергопотребления 271
4.4. Сброс 273
4.4.1. Сброс по включению питания 277
4.4.2. Аппаратный сброс 278
4.4.3. Сброс от сторожевого таймера 279
4.4.4. Сброс при снижении напряжения питания 279
4.4.5. Управление схемой сброса 281
Глава 5
Прерывания 291
5.1. Общие сведения 291
5.2. Таблица векторов прерываний 291
5.3. Обработка прерываний 306
5.4. Внешние прерывания 308
Глава 6
Порты ввода/вывода 320
6.1. Общие сведения 320
6.2. Регистры портов ввода/вывода 321
6.3. Конфигурирование портов ввода/вывода 323
Глава 7
Таймеры 329
7.1. Общие сведения 329
7.2. Назначение выводов таймеров/счетчиков 330
7.3. Прерывания от таймеров/счетчиков 333
7.4. Предделители таймеров/счетчиков 338
7.4.1. Управление предделителями 339
7.4.2. Использование внешнего тактового сигнала 341
7.5. Восьмибитные таймеры/счетчики 342
7.5.1. Управление тактовым сигналом 352
7.5.2. Режимы работы 353
7.5.3. Асинхронный режим 360
7.6. 16-битные таймеры/счетчики 363
7.6.1. Обращение к 16-битным регистрам 372
7.6.2. Управление тактовым сигналом 373
7.6.3. Режимы работы 373
7.7. Модулятор 385
7.8. Сторожевой таймер 386
Глава 8
Аналоговый компаратор 395
8.1. Общие сведения 395
8.2. Функционирование компаратора 396
Глава 9
Аналого-цифровой преобразователь 401
9.1. Общие сведения 401
9.2. Функционирование модуля АЦП 402
9.3. Результат преобразования 415
9.4. Повышение точности преобразования 416
9.5. Параметры АЦП 417
Глава 10
Последовательный периферийный интерфейс SPI 419
10.1. Общие сведения 419
10.2. Функционирование модуля SPI 419
10.3. Режимы передачи данных 424
10.4. Использование вывода SS 426
Глава 11
Двухпроводный последовательный интерфейс TWI 427
11.1. Общие сведения 427
11.2. Принципы обмена данными по шине TWI 428
11.3. Обзор модуля TWI 433
11.4. Взаимодействие прикладной программы с модулем TWI 440
11.5. Режимы работы модуля TWI 443
11.5.1. Режим "Ведущий-передатчик" 443
11.5.2. Режим "Ведущий-приемник" 448
11.5.3. Режим "Ведомый-приемник" 452
11.5.4. Режим "Ведомый-передатчик" 457
11.5.5. Комбинирование различных режимов 461
11.5.6. Арбитраж 461
11.6. Параметры интерфейса TWI 463
Глава 12
Универсальный последовательный интерфейс USI 465
12.1. Общие сведения 465
12.2. Использование модуля USI 466
12.3. Режимы работы модуля USI 470
12.3.1. Трехпроводный режим 470
12.3.2. Двухпроводный режим 473
12.3.3. Альтернативное использование модуля USI 476
Глава 13
Универсальный синхронный/асинхронный приемо-передатчик 477
13.1. Общие сведения 477
13.2. Использование модулей USART 479
13.2.1. Скорость приема/передачи 486
13.2.2. Формат кадра 492
13.2.3. Передача данных 493
13.2.4. Прием данных 495
13.3. Мультипроцессорный режим работы 500
13.4. Модуль USART в режиме MSPI 501
13.4.1. Управление модулем USART в режиме MSPI 501
13.4.2. Инициализация режима MSPI 505
13.4.3. Передача данных в режиме MSPI 506
Глава 14
Программирование микроконтроллеров AVR семейства Mega 508
14.1. Общие сведения 508
14.1.1. Защита кода и данных 509
14.1.2. Конфигурационные ячейки 511
14.1.3. Идентификатор 516
14.1.4. Калибровочные ячейки 517
14.1.5. Организация памяти программ и данных 517
14.2. Программирование по последовательному каналу 518
14.2.1. Переключение в режим программирования 525
14.2.2. Управление процессом программирования FLASH-памяти 525
14.2.3. Управление процессом программирования EEPROM-памяти 526
14.3. Параллельное программирование 526
14.3.1. Переключение в режим параллельного программирования 532
14.3.2. Стирание кристалла 533
14.3.3. Программирование FLASH-памяти 533
14.3.4. Программирование EEPROM-памяти 535
14.3.5. Программирование конфигурационных ячеек 537
14.3.6. Программирование ячеек защиты 538
14.3.7. Чтение конфигурационных ячеек и ячеек защиты 538
14.3.8. Чтение ячеек идентификатора и калибровочных ячеек 539
14.4. Программирование по интерфейсу JTAG 539
14.4.1. Общие сведения об интерфейсе JTAG 539
14.4.2. Использование интерфейса JTAG для программирования кристалла 542
14.4.3. Команды JTAG, используемые при программировании 543
14.4.4. Алгоритм программирования 545
14.5. Самопрограммирование микроконтроллеров семейства Mega 554
14.5.1. Общие сведения 554
14.5.2. Области RWW и NRWW 555
14.5.3. Функционирование загрузчика 557
Приложения
Приложение 1. Сводная таблица микроконтроллеров AVR семейства Mega 564
Приложение 2. Чертежи корпусов микроконтроллеров AVR семейства Mega 574
Приложение 3. Параметры микроконтроллеров AVR семейства Mega 577
Предметный указатель 582