Область применения микроконтроллеров

Автор работы: Пользователь скрыл имя, 29 Января 2015 в 11:09, реферат

Краткое описание

Область применения микроконтроллеров – это различные контроллеры устройств автоматики, пластиковые карты, контроллеры периферийных устройств и др..
Развитие микроэлектроники и её широкое применений изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.

Вложенные файлы: 1 файл

реферат.docx

— 853.94 Кб (Скачать файл)
  • 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.

  • GND. Выводы земли.

  • IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.

Память

В микроконтроллере ATmega2560 есть 256 КБ флеш-памяти программ (из которых 8 КБ используются загрузчиком), 8 КБ памяти SRAM и 4 КБ EEPROM (для работы с этой памятью служит библиотека EEPROM).

Входы и выходы

С использованием функций pinMode digitalWrite и digitalRead каждый из 54 цифровых выводов Arduino Mega можно настроить на работу в качестве входа или выхода. Уровень напряжения на выводах ограничен 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо этого, некоторые выводы Ардуино могут выполнять дополнительные функции:

  • Последовательный интерфейс Serial: выводы 0 (RX) и 1 (TX); Serial 1: 19 (RX) и 18 (TX); Serial 2: 17 (RX) и 16 (TX); Serial 3: 15 (RX) и 14 (TX). Данные выводы используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Выводы 0 и 1 также соединены с соответствующими выводами микросхемы ATmega16U2, выполняющей роль преобразователя USB-UART.

  • Внешние прерывания: выводы 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2). Эти выводы могут использоваться в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, при фронте, спаде или изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt

  • ШИМ: выводы 2 - 13 и 44 - 46. С помощью функции analogWrite могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.

  • Интерфейс SPI: выводы 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). С применением библиотеки SPI данные выводы позволяют осуществлять связь по интерфейсу SPI. Линии SPI также выведены на разъем ICSP, совместимый с Arduino Uno, Duemilanove и Diecimila.

  • Светодиод: 13. Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW - выключается.

  • TWI: выводы 20 (SDA) и 21 (SCL). С использованием библиотеки Wire данные выводы позволяют осуществлять связь по интерфейсу TWI. Обратите внимание, что расположение этих выводов отличается от Arduino Duemilanove и Diecimila.

В Arduino Mega 2560 есть 16 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference(). 

Помимо перечисленных на плате существует еще несколько выводов:

  • AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference

  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Связь

Arduino Mega 2560 предоставляет  ряд возможностей для осуществления  связи с компьютером, еще одним  Ардуино или другими микроконтроллерами. В ATmega2560 есть четыре аппаратных приемопередатчика UART для реализации последовательных интерфейсов (c логическим уровнем TTL 5В). Микроконтроллер ATmega16U2 (или ATmega8U2 на платах версии R1 и R2) обеспечивает связь одного из приемопередатчиков с USB-портом компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт (для этого операционной системе Windows потребуется соответствующий .inf-файл, в отличие от OSX и Linux, где распознавание платы в качестве COM-порта происходит автоматически). В пакет программного обеспечения Ардуино входит специальная программа SerialMonitor, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных через микросхему ATmega8U2/ATmega16U2 во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Mega2560.

В микроконтроллере ATmega2560 также реализована аппаратная поддержка последовательных интерфейсов TWI и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной TWI; для получения более подробной информации см. библиотеку Wire. Для работы с интерфейсом SPI используйте библиотеку SPI.

Программирование

Arduino Mega программируется  с помощью программного обеспечения  Ардуино.

ATmega2560 в Arduino Mega выпускается  с прошитым загрузчиком, позволяющим  загружать в микроконтроллер  новые программы без необходимости  использования внешнего программатора. Взаимодействие с ним осуществляется  по оригинальному протоколу STK500

Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик;

Исходный код прошивки микроконтроллера ATmega16U2 (либо ATmega8U2 на платах R1 и R2) находится в в репозиториях Ардуино. Прошивка ATmega16U2/8U2 включает в себя DFU-загрузчик (Device Firmware Update), позволяющий обновлять прошивку микроконтроллера. Для активации режима DFU необходимо:

  • На платах версии R1: замкнуть перемычку на обратной стороне платы (возле изображения Италии), после чего сбросить 8U2.

  • На платах версий R2 и выше - для упрощения перехода в режим DFU присутствует резистор, подтягивающий к земле линию HWB микроконтроллера 8U2/16U2.После перехода в DFU-режим для загрузки новой прошивки можно использовать программное обеспечение Atmel's FLIP (для Windows) или DFU programmer (для Mac OS X и Linux). Альтернативный вариант - прошить микроконтроллер через разъем для внутрисхемного программирования ISP с помощью внешнего программатора, однако в этом случае DFU-загрузчик затрется.

Автоматический (программный) сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Mega 2560 спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATmega8U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega2560 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.

Однако эта система может приводить и к другим последствиям. При подключении Mega 2560 к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Mega2560 активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.

На плате Mega 2560 существует дорожка (отмеченная как "RESET-EN"), разомкнув которую, можно отключить автоматический сброс микроконтроллера. Для повторного восстановления функции автоматического сброса необходимо спаять между собой выводы, расположенные по краям этой дорожки. Автоматический сброс также можно выключить, подключив резистор номиналом 110 Ом между выводом RESET и 5В;

Защита USB от перегрузок

В Arduino Mega 2560 есть восстанавливаемые предохранители, защищающие USB-порт компьютера от коротких замыканий и перегрузок. Несмотря на то, что большинство компьютеров имеют собственную защиту, такие предохранители обеспечивают дополнительный уровень защиты. Если от USB-порта потребляется ток более 500 мА, предохранитель автоматически разорвет соединение до устранения причин короткого замыкания или перегрузки.

Физические характеристики и совместимость с платами расширения

Максимальная длина и ширина печатной платы Mega2560 составляет 10.2 см и 5.4 см соответственно, с учетом разъема USB и разъема питания, выступающих за пределы платы. Три крепежных отверстия позволяют прикреплять плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет 4 мм.

Arduino Mega2560 спроектирован таким образом, чтобы быть совместимым с большинством плат расширения для Ардуино Uno, Diecimila и Duemilanove. Для этого цифровые выводы 0 - 13 (а также смежные с ними выводы AREF и GND), аналоговые входы 0 - 5, разъем питания и ICSP-разъем на всех платах расположены одинаково. Кроме того, в перечисленных устройствах линии основного приемопередатчика UART соединены с одними и теми же выводами (0 и 1), как и линии внешних прерываний 0 и 1 (выводы 2 и 3 соответственно). Линии интерфейса SPI выведены на разъем ICSP на обеих платах - как на Mega2560, так и на Duemilanove / Diecimila. Следует иметь ввиду, что на Arduino Mega расположение выводов интерфейса I2C отличается от плат Duemilanove / Diecimila: на Arduino Mega это выводы 20 и 21, а на Duemilanove / Diecimila - аналоговые входы 4 и 5.

 

 

 

Arduino Duemilanove

Производитель: Arduino

Arduino Duemilanove - это  последняя ревизия базовой версии Arduino USB-платы, заменившая Diecimila. Duemilanove автоматически выбирает соответствующий  источник питания (USB или внешнего  адаптера), устраняя необходимость  в перестановке перемычки питания. Эта версия также позволяет  перерезать перемычку автоматического  сброса либо припаять её обратно, чтобы включить автосброс. Несмотря  на труднопроизносимое название, этот Arduino остался таким же простым  в использовании (не-итальянцы могут  смело назвать эту ревизию  «Arduino 2009»).

Arduino Duemilanove ( «2009») построена  на одном из микроконтроллеров: ATmega168 (техническое описание) или ATmega328 (техническое описание). Платформа содержит 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB или подать питание при помощи адаптера AC/DC, или батареи.

Duemilanove (в переводе с итальянского – 2009) была названа в честь года своего выпуска – 2009 год. Данная платформа является последней из серии Arduino с USB.

Схема и исходные данные

Файлы EAGLE: arduino-duemilanove-reference-design.zip

Принципиальная схема: arduino-duemilanove-schematic.pdf

Питание

Arduino Duemilanove может получать  питание через подключение USB или от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее питание (не USB) может подаваться через преобразователь напряжения AC/DC (блок питания) или аккумуляторной батареей. Преобразователь напряжения подключается посредством разъема 2.1 мм с центральным положительным полюсом. Провода от батареи подключаются к выводам Gnd и Vin разъема питания.

Платформа может работать при внешнем питании от 6 В до 20 В. При напряжении питания ниже 7 В, вывод 5V может выдавать менее 5 В, при этом платформа может работать нестабильно. При использовании напряжения выше 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 В до 12 В.

Выводы питания:

  • VIN. Вход используется для подачи питания от внешнего источника (в отсутствие 5 В от разъема USB или другого регулируемого источника питания). Подача напряжения питания происходит через данный вывод.

  • 5V. Регулируемый источник напряжения, используемый для питания микроконтроллера и компонентов на плате. Питание может подаваться от вывода VIN через регулятор напряжения, или от разъема USB, или другого регулируемого источника напряжения 5 В.

  • 3V3. Напряжение на выводе 3.3 В генерируемое микросхемой FTDI на платформе. Максимальное потребление тока 50 мА.

  • GND. Выводы заземления.

Память

Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 – 2 кБ ОЗУ и 1 Кб EEPROM.

Arduino Pro Mini

Arduino Pro Mini - вид  спереди

Arduino Pro Mini - вид  сзади


 

 

Общие сведения

Arduino Pro Mini - это устройство  на базе микроконтроллера ATmega328. В его состав входит: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 8 аналоговых входов, кварцевый резонатор, кнопка сброса и контактные площадки для впаивания разъемов. Шестиконтактный разъем может служить для питания и взаимодействия с платой через USB посредством FTDI-переходника либо макетной платы Sparkfun.

Информация о работе Область применения микроконтроллеров