Каталог

Teensy 2.0 Микроконтроллер AT90USB1286

Цена:

2010 р.
ожидается
Уже в корзине
Код товара: 13333
Оригинальное название:
Teensy++ 2.0 AVR 8bit Microcontoller

Описание товара

Продажи временно приостановлены

Teensy++ 2.0 Модуль платы разработчика с микроконтроллером AVR AT90USB1286

  • Микроконтроллер: 8-ми разрядный, AVR AT90USB1286
  • Тактовая частота: 16 МГц
  • FLASH память: 127 Кбайт
  • RAM память: 8 Кбайт
  • EEPROM память: 4096 Байт
  • Загрузчик: Halfkay
  • Рабочее напряжение: 5 Вольт (опциональная поддержка 3.3 вольта)
  • Выводы, совместимые с беспаечной платой: 36
  • Цифровые входы/выходы общего назначения: 46
  • Аналоговые входы АЦП: 8, разрядность 10 бит
  • ШИМ выходы: 9, разрядность 8-10, 16 бит
  • Максимальный ток через каждый вход/выход: 20 мА
  • Максимальный ток вывода 3.3В: 250 мА
  • Интерфейсы: UART, SPI, I2C, USB
  • Физическая кнопка запуска процесса прошивки "Reset"
  • USB-разъем: mini-В
  • Светодиодная индикация пользовательского вывода D6
  • Размеры: 52 х 18 х 5.5 мм
  • Вес: 5 гр

Тинси или Адруино?

Визуально очень похожая на многие, в тоже время совершенно другая, микроконтроллерная платформа Teensy продолжает выпускаться, обновляться и активно поддерживаться компанией PJRC Electronic Projects Components Available Worldwide, основание которой состоялось в далёком 1995 году, хотя разработки по созданию полезных электронных компонентов, приносящих пользу своим обладателям, трудящимся над созданием собственных микроэлектронных проектов, начались значительно раньше. Выбранный двумя энтузиастами, путь по созданию миниатюрных микроконтроллерных плат на совершенно новых микропроцессорах принёс компании PJRC и платформе Teensy огромную популярность в мировом сообществе среди опытных пользователей, профессионалов своего дела, любителей и новичков. Неоспоримым примером тому послужит по-настоящему огромная библиотека пользовательских разработок, представленная на сайте разработчика.

Сравнивая серию плат Teensy с не менее популярными платформами Arduino или аналогичными, можно наблюдать её выгодное отличие. Максимально простой дизайн, вкупе с бóльшей производительностью и функционалом, предложит каждому пользователю широкие возможности в сотворении уникальных умных и полезных устройств. Teensy способна увлечь за собой в глубоко необъятный и увлекательный мир электронных схем абсолютно любого, независимо от имеющихся базовых познаний в программировании и конструировании, придерживаясь золотого правила "Учиться никогда не поздно!" Она способна подарить целый спектр ярких ощущений, полученных от самостоятельного пошагового прохождения всего творческого цикла, начиная от смелой мысли и заканчивая готовым, полностью работоспособным изобретением.

Ключевые особенности платформы Teensy

  • USB может быть любым типом устройства
  • Процессоры с ядрами AVR и ARM
  • Программирование одной кнопкой
  • Совместимость с Arduino
  • Простое в использовании приложение Teensy Loader
  • Бесплатные инструменты разработки программного обеспечения
  • Совместимость с Windows, Linux, Mac OS X
  • Крошечные размеры, идеальные для многих проектов

Коллекция плат Teensy умеет "дружить" с Arduio, причём как на аппаратном, так и на программном уровне. В тоже время, микроконтроллеры семейства Teensy намного универсальнее по причине предоставляемой пользователю свободы в выборе различных программных сред разработки и языков программирования, предназначенных для написания исполняемого машинного кода, будь то многим известный бесплатный редактор Arduino IDE, или же мощная оболочка языка C. Для совместимости с Arduino, разработчиками Тинси представлен самоустанавливающийся плагин с программным обеспечением Teensyduino, в который входят драйвера и необходимые служебные библиотеки (см.ниже).

В Teensy не предусмотрена установка интегрированной операционной системы для общения с пользователем. Во встроенные чипы микроконтроллеров каждой платы заведомо загружена заводская микропрограмма-загрузчик "Halfkay" (упрощённый вид ПО, управляющий прошивкой памяти чипа AVR AT90USB1286, внутренним взаимодействием в аппаратной части платформы и заставляющий модуль работать в роли USB-устройства).

Все модели оснащены разъёмом USB, организующим проводную связь между платой и персональными компьютерами (включая мини-ПК Raspberry Pi), работающими на разных операционных системах: Windows, Linux, Mac OS (OS-X). Способ прошивки микроконтроллера облегчён отсутствием необходимости в использовании отдельных программаторов, весь процесс осуществляется через USB-соединение.

Большинство плат Teensy изначально выпускаются без припаянных к плате штырьевых контактов, оставляя разработчику проекта принятие собственного решения в типе подключения дополняющих периферийный устройств. Универсальный для большинства микроэлектронных плат, шаг между контактами с расстоянием в 2.54 мм (0.1") будет удобен при предварительном прототипировании того или иного проекта с применением контактной доски беспаечного монтажа MB-102, или в подключении обычных проводов или разъёмов с коннектором Dupont.

Разработка проектов на основе контроллеров Teensy

Рабочее напряжение конкретной модели Teensy позволит совмещать плату с внешними модулями от сторонних производителей, ориентированных на работу с 3.3 или 5-вольтовым питанием. Ниже представлен сравнительно небольшой перечень модулей, благодаря которым удастся значительно разнообразить собираемые электронные схемы:

  • датчики звука, капель и дождя, расстояния, обнаружения газов, температуры или освещённости;
  • беспроводные передатчики или приёмники GSM/GPRS, RFid, WiFi и Bluetooth;
  • графические и символьные экраны;
  • модули управления сервомоторами или шаговыми моторами;
  • модули с кнопками или светодиодами;
  • часы реального времени;
  • Ethernet модули;
  • модули с реле разнообразных конфигураций;
  • картридеры SD и микро-SD карт памяти;
  • MP3-проигрыватели, звуковые усилители, FM-приёмники;
  • гироскопы, акселерометры, магнитометры и многие другие.

Главными шагами в создании проекта "от" и "до" можно обозначить следующее:

  1. Разработка проекта "на бумаге";
  2. Предварительная "черновая" сборка электрической схемы - прототипирование проекта;
  3. Написание программного кода и его прошивка в микроконтроллер;
  4. Анализ полученного результата, при необходимости - отладка отдельных частей проекта;
  5. Сборка законченного варианта конструкции.

Обзор платы

  Обзор платы микроконтроллера Teensy++ 2.0  

Назначение выводов

Цифровые входы/выходы общего назначения расположены по двум длинным боковым сторонам и в центре платы. Они оперируют логическими сигналами "единица" и "ноль", выраженными наличием постоянного напряжения +5 вольт или 0 вольт на контакте. Все выводы обеспечивают работу в настраиваемых для каждого отдельно взятого контакта режимах приёма и передачи значений логических сигналов. Максимальный пропускной ток вывода общего назначения составляет 20 миллиампер. Определённый ряд цифровых контактов общего назначения дополнительно совмещён с аналоговыми функциями, а также наделён широтно-импульсной модуляцией (ШИМ).

Примечание! Избегайте превышения значения максимального тока общих контактов, способного повредить микроконтроллер.

Аналоговые входы АЦП наделены умением считывать и определять уровень входящего напряжения на контакте с последующим его пропорциональным преобразованием в цифровые значения от 0 до 1023 (1024 возможных значения, разрядность 10 бит). На плате они расположены в один ряд под маркировкой F0...F7.

Самый простой способ использовать АЦП — вручную начать преобразование, дождаться его завершения и считать результат

int16_t adc_read(uint8_t mux)
{
    uint8_t low;

    ADCSRA = (1<<ADEN) | ADC_PRESCALER;             // enable ADC
    ADCSRB = (1<<ADHSM) | (mux & 0x20);             // high speed mode
    ADMUX = aref | (mux & 0x1F);                    // configure mux input
    ADCSRA = (1<<ADEN) | ADC_PRESCALER | (1<<ADSC); // start the conversion
    while (ADCSRA & (1<<ADSC)) ;                    // wait for result
    low = ADCL;                                     // must read LSB first
    return (ADCH << 8) | low;                       // must read MSB only once!
}

Полный примерный код программы использования АЦП на языке С

Настройка опорного напряжения (вывод AREF) определяет, какой диапазон напряжений АЦП может читать. В приведенном выше коде, "AREF" является глобальной статической переменной, которая конфигурирует уровень опорного напряжения. Существуют три варианта

Опорное напряжение Значение ADMUX Вывод AREF
Питание платы (1<<REFS0) Оставить неподключенным
Внутреннее 2.56В (1<<REFS0) | (1<<REFS1) Оставить неподключенным
Внешнее 0 Подключить внешнее опорное напряжение

Выбор правильного опорного напряжения для вашего проекта поможет получить лучшие результаты. Каждый вариант предназначен для определённых целей

  • Vcc (питание) — режим сравнения для входящих аналоговых сигналов, полученных от питающего плату напряжения (например, от потенциометра). В случае снижения напряжения питания, приводящее к изменению уровня аналогового сигнала, АЦП подстроиться под новый диапазон измерений, оставляя без изменений корректность получаемого результата.
    Примеры:
    1) Напряжение Vcc = 5В и аналогового входа = 1.145, результат = 234
    2) Напряжение Vcc = 4.4В и аналогового входа = 1.007, результат = 234
  • Внутреннее 2.56В — режим сравнения напряжений аналоговых входов в диапазоне от 0 до 2.56 вольт, независимо от уровня основного. Напряжение вывода AREF постоянно, но может находиться в интервалах 2.4-2.8 вольт.
  • Внешнее — режим сравнения напряжения аналоговых входов с внешним опорным напряжением в диапазоне от 0 до +5 вольт. Также не зависит от основного питания.

ШИМ выходы предназначены генерировать на выходе сигналы с изменяемым напряжением. Разрядность контактов ШИМ разная: 8-10 и 16 бит. Выводы трансформируют цифровое значение в напряжение, пропорциональное уровню основного питания платы (3,3 или 5 вольт).

Память

  1. ПЗУ-память (FLASH) — энергонезависимая постоянная память объёмом 127 КБ является основной областью для хранения исполняемого программного кода;
  2. ОЗУ-память (SRAM) размером 8 КБ, используемая микроконтроллером для хранения переменных, создаваемых в процессе выполнения исполняемого пользовательского кода. ОЗУ-память зависит от питающего напряжения, при его отсутствии все данные удаляются;
  3. EEPROM-память объёмом 4 КБ. Относиться к разряду энергонезависимой памяти, доступной пользователю для хранения данных, независящих от основного кода.

Пользовательский интерфейс обмена данными

  • SPI (высокоскоростной синхронный последовательный периферийный интерфейс, шина SPI) — выводы B0 (SS), B1 (SCLK), B2 (MOSI), B3 (MISO). Полнодуплексный последовательный четырёхпроводный стандарт передачи данных, обеспечивающий высокоскоростную связь микроконтроллеров и периферии. Способен работать в режимах Главный (Master) и Ведомый (Slave) с выбором подключенных устройств.
  • I2C (низкоскоростной асинхронный последовательный двунаправленный интерфейс, шина IIC/I2C) — выводы D0 (SCL), D1 (SDA). Чаще всего, используется для установления низкоскоростной связи по двунаправленной шине, соединающей вместе периферийные компоненты устройств с микроконтроллерами и микропроцессорами.
  • UART (универсальный асинхронный последовательный двунаправленный интерфейс, шина UART) — выводы D2 (RX), D3 (TX). Хорошо стандартизованный и широко применяемый узел универсального асинхронного приёмопередатчика (УАПП), применяемый для организации связи с внешними цифровыми устройствами, и передающий сигналы данных по одной двухпроводной цифровой последовательной линии.

Использование прерываний

Функция аппаратного прерывания призвана определить и помочь отреагировать на произошедшие события, такие как получение данных от периферии, переполнение таймеров, смена контактов и другие. Обработкой событий должен заниматься специальный фрагмент основного кода, называемый "подпрограммой обработки прерываний".

Каждое событие устанавливает на аппаратном уровне "флаг", представляемый в виде двоичного бита информации — единицы (установлен) или нуля (сброшен). Флаг сохраняется в памяти до тех пор, пока его не обработает программное обеспечение. Бит флага устанавливается, даже если прерывания не используются. Программный опрос может прочитать бит флага, чтобы проверить, возникло ли условие, сделать все необходимое и сбросить флаг.

Многие флаги прерываний сбрасываются при вызове обработчика, некоторые обнуляются кодом обработчика событий, определённый ряд флагов косвенно управляются периферией. Все прерывания имеют дополнительный бит маски, контролирующий включение или отключения прерывания. Дополнительно, существует глобальный бит разрешения прерываний, который позволяет отключать или включать все прерывания, для которых установлены биты маски.

Прерывания делятся на внешние, обрабатывающие события по сигналам от подключенной периферии, и на внутренние, срабатывающие по встроенным в AT90USB1286 таймерам. Микроконтроллер Teensy++ 2.0 наделён 8-ми прерываниями обоих типов.

Внешние прерывания (INTx) — выводы D0...D3, E4...E7. Внутренние прерывания (PCINTx) — выводы B0...B7.

Функциональное назначение выводов Teensy++ 2.0 (распиновка)

  Распиновка Teensy++ 2.0 pinout  

 

Питание Teensy++ 2.0, принципиальная схема

Подать напряжение на плату возможно двумя вариантами: порт USB и контакты +5V, GND. Электросхемой платы не предполагается подключение нестабилизированного (повышенного, пониженного, скачкообразного) напряжения, какие-либо внутренние защиты от смены полярности напряжения, потреблении повышенных токов и токов короткого замыкания полностью отсутствуют.

Примечание. Не превышайте допустимое рабочее напряжение, способное повредить микроконтроллер. Строго соблюдайте полярность при подключении внешнего источника к выводам питания.

  Принципиальная схема Teensy++ 2.0  

3.3-вольтный регулятор напряжения MCP1825 (отображён серым цветом, полное наименование MCP1825S-3302E/DB) может быть самостоятельно припаян с обратной стороны к трём площадкам в виде моста, позволяя настроить 5-ти или 3.3-вольтное питание. В последствии, выбор напряжения осуществляется разрезом дорожек и установкой соответствующей перемычки (верхний левый угол схемы).

При необходимости, ещё четыре дополнительных SMD-элемента могут быть припаяны к обратной стороне Teensy++. Они обозначены на схеме серым цветом. Соедините кварцевый резонатор на частоте 32768 Гц с контактами E4 и E5 для совместного использования с генератором Timer2. Также, может быть добавлен дополнительный развязывающий конденсатор источника питания, расположенный рядом с выводом AVcc.

Вывод ALE нужно использоваться только для генерации выходного сигнала. Не получиться запустить загрузчика Halfkay, если одновременно с нажатием кнопки программирования контроллера на контакте установлен высокоуровневый сигнал.

Teensy Loader

Прошивкой и запуском скомпилированного исполняемого кода в формате INTEL HEX (.hex) занимается программа Teensy Loader. Программа не требует установки и работает как самостоятельное приложение.

Для систем на Linux потребуется скопировать файл 49-teensy.rules в /etc/udev/rules.d/, позволяющий пользователям без Root-прав получить доступ к USB порту Teesny.

Ручной вход в режим программирования осуществляется нажатием на плате Teensy единственной кнопки "Prog". В окне Teensy Loader отобразится графическое изображение подключенной к компьютеру платы Teensy. Повторное нажатие кнопки программирования прошьёт в память Teensy предварительно выбранный hex-файл. Воспользуйтесь командой Reboot (в Teensy Loader) для старта выполнения прошитого кода.

Teensy Loader входит в состав установочного плагина Teensyduino.

Teensyduino

Teensyduino — это программное дополнение для Arduino IDE, позволяющее запускать скетчи на Teensy и Teensy++. Большинство программ, написанных для Arduino, работают на Teensy. Все стандартные функции (digitalWrite, PinMode, analogRead и пр.), включая большинство библиотек для Arduino, поддерживаются Teensy.

Teensyduino активно разрабатывается и дополняется, поддерживая многие версии Arduino IDE: 1.0.6, 1.6.5-r5, 1.8.1, 1.8.5, 1.8.6, 1.8.7, 1.8.8. и 1.8.9. Установочные файлы дополнения под разные операционные системы расположены по этой ссылке.

Добавление Teensyduino

Первым шагом следует выбрать Teenesy или Teensy++ из меню "Инструменты->Плата". Если Teensy не отображается в списке, закройте Arduino IDE и установите Teensyduino, указав ему месторасположение Arduino IDE на компьютере. Если установка происходит на ОС Windows, дополнительно запустите Windows_serial_installer, добавляющий информационный (INF) файл для всех виртуальных последовательных USB-устройств, поддерживающих модель абстрактного управления.

Настройте Arduino IDE на совместимость с используемой Teensy, изменив параметры платы, типа USB, порта и пр. в меню "Инструменты". Загрузите скетч Blink из библиотеки примеров Arduino IDE "Файл->Примеры->Basics->Blink". Встроенный светодиод расположен на 11 выводе у Teensy и на 6 выводе у Teensy++, поменяйте в тексте скетча значение переменной, определяющей контакт.

int LedPin = 6; // Определяем новый вывод светодиода

Затем, нажмите в Arduino IDE кнопку проверки и компиляции.

Завершив проверку, Arduino сообщит окончательный размер исполняемого кода. Последующее нажатие в Arduino IDE кнопки загрузки приведёт к автоматическому запуску Teensy Loader, записи кода скетча в память Teensy и начала выполнение программы.

Техническая документация

  1. Даташит контроллера AT90USB1286 (.PDF)

Похожие позиции

footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2023г https://compacttool.ru