Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

Макетная плата AVR-USB-MEGA16 | avr

Эта отладочная плата позволяет разрабатывать устройства USB. Идеально подходит для новичков в протоколе USB.


Макетная плата AVR-USB-MEGA16 предназначена для быстрой разработки низкоскоростных (low-speed) устройств USB на микроконтроллере ATmega16 (или ATmega32. Сейчас на готовые макетные платы устанавливаются микроконтроллеры ATmega32A, но если Вы купили пустую плату, то можете установить любой микроконтроллер — или ATmega16, или ATmega32A, цоколевка в корпусе TQFP44 у них одинаковая), при этом протокол USB реализован программно, без использования дополнительных специализированных чипов. Это решение хорошо подходит для проектирования таких периферийных устройств для компьютера, которые не требуют высоких скоростей обмена по шине USB (подключение датчиков, устройств ввода, специализированных программаторов для чипов). Программная реализация протокола USB значительно упрощает принципиальную схему и снижает стоимость устройства в целом.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Новичок в протоколе USB может легко спроектировать свое устройство USB и программу компьютера (ПО хоста) для него, поскольку имеются простые примеры работающих устройств (USB HID — управление портами, передача данных, есть даже пример мыши) с подробными комментариями на русском языке.

С июля 2010 года макетная плата AVR-USB-MEGA16 поставляется в новой модификации — с микроконтроллером ATmega32 и прошитым загрузчиком кода по USB — usbasploader. Это позволяет начинающим программистам загружать в макетную плату программу без использования программатора. Все, что Вам нужно — только макетная плата и подключение по USB к компьютеру. Загрузчик usbasploader с исходниками, простая инструкция по использованию доступна по ссылке [8].

Для варианта макетной платы с микроконтроллером ATmega16 лучше подойдет другой загрузчик — bootloadHID. Загрузчик bootloadHID с исходниками можно скачать по ссылке [9], там же есть ссылка на статью с описанием работы загрузчика bootloadHID.

Значения фьюзов по умолчанию, которые прошиты в платы — LOW FUSE BYTE: 0xCF, HIGH FUSE BYTE: 0x98, LOCKOPT BYTE: 0xEF.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

[Аппаратура]

Краткое описание основных особенностей платы:

1. Имеется макетное поле 8×11 с шагом между отверстиями 2.54 мм, разъем MINI USB, индикационный светодиод (используется в демонстрационных программах, поставляемых с платой), микроконтроллер ATmega32A в корпусе TQFP44, тактовая частота 12 МГц (или 16 МГц, в зависимости от того, какой кварц используется).

2. Размеры платы с макетным полем 64.8 x 30.7 мм, без макетного поля 45.4 x 30.7 мм (для уменьшения размеров макетное поле можно отрезать). Толщина платы вместе с монтажом 11.5 мм (определяется самыми высокими элементами на плате — ISP и JTAG коннекторами, они выступают над поверхностью TOP платы на 9 мм). USB-коннектор выступает за край платы на 2 мм.

3. Программирование микроконтроллера возможно прямо на плате через стандартный (цоколевка Atmel) 6-контактный разъем U1 для ISP-программатора. Через этот же коннектор возможна отладка через интерфейс debugWIRE (с помощью аппаратного отладчика/программатор JTAGICE mkII или AVR Dragon).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

4. Для программирования и отладки программы микроконтроллера имеется 10-контактный JTAG-коннектор U3 (цоколевка Atmel, может использоваться аппаратный отладчик/программатор JTAGICE mkII или AVR Dragon).

5. Из аппаратных ресурсов микроконтроллера для реализации протокола USB используется только прерывание INT0.

6. Из ресурсов памяти программ для простых примеров используется 1464..2090 байт (зависит от типа устройства, опций оптимизации и версии компилятора), что составляет не более 13% памяти программ ATmega16. Утилизация времени процессора зависит от интенсивности потока данных через интерфейс USB (если он используется).

7. Питание платы осуществляется от 5 вольт шины USB.

8. Из 32 линий ввода/вывода ATmega16 занято 10 (2 — под сигналы USB, 1 для светодиода, 3 для программатора ISP, 4 для подключения JTAG-эмулятора), свободно для нужд пользователя 22 (порты микроконтроллера выведены на двухрядную линейку контактов).

Порты микроконтроллера ATmega32A, не выведенные на контакты P1.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr .P22, перечислены в таблице.












Порт Назначение Примечание
PB0LEDИндикационный светодиод. Можно использовать в программе пользователя.
PB5MOSI, ISP U1 выв. 4, ножка 1 ATmega32AНожка PB5 используется при включении питания как вход для определения условия активации бутлоадера — на PB5 лог. 0 (установлена перемычка на контакты 4 и 6 коннектора ISP U1), то USB бутлоадер запускается, если лог. 1, то запускается программа пользователя.
PB6MISO, ISP U1 выв. 1, ножка 2 ATmega32AМожно использовать в программе пользователя как порт ввода/вывода, или в составе аппаратуры SPI.
PB7SCK, ISP U1 выв. 3, ножка 3 ATmega32A
PC2TCK, JTAG U3 выв.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr 1, ножка 21 ATmega32AФьюзы установлены таким образом, что эти ножки используются исключительно как JTAG. Чтобы задействовать их как порты ввода/вывода, нужно перепрограммировать фьюз JTAGEN (установить его в 1).
PC3TMS, JTAG U3 выв. 5, ножка 22 ATmega32A
PC4TDO, JTAG U3 выв. 3, ножка 23 ATmega32A
PC5TDI, JTAG U3 выв. 9, ножка 24 ATmega32A
PD2D+ USB, ножка 11 ATmega32AЭти выводы микроконтроллера задействованы исключительно для сигналов данных интерфейса USB.
PD4D- USB, ножка 13 ATmega32A

[Дополнительные возможности портов ввода-вывода ATmega32A (ATmega16)]

Все порты микроконтроллера ATmega32A могут работать не только как простые ножки ввода вывода GPIO. Они также могут нести дополнительные функции, привязанные к богатой внутренней аппаратуре ядра AVR.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr В таблице ниже представлено краткое описание этих функций (полное описание см. в даташите на микроконтроллер ATmega32A).

























Контакт платы Имя порта Описание возможностей
P1PA0ADC0 — эта ножка может работать как входной канал 0 АЦП. Каналы ADC1..ADC7 несут аналогичную функцию. Подробнее про работу с АЦП см. статью «ATmega16 (32): аналого-цифровой преобразователь (ADC)».
P2PA1ADC1 — входной канал 1 АЦП.
P3PA2ADC2 — входной канал 2 АЦП.
P4PA3ADC3 — входной канал 3 АЦП.
P5PA4ADC4 — входной канал 4 АЦП.
P6PA5ADC5 — входной канал 5 АЦП.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr
P7PA6ADC6 — входной канал 6 АЦП.
P8PA7ADC7 — входной канал 7 АЦП.
P9PB1T1 — эта ножка может работать как тактовый вход для таймера/счетчика 1 (Timer/Counter1 External Counter Input). Подробнее см. в статье «Использование 16-bit Timer/Counter1 для измерения и подсчета импульсов».
P10PB2AIN0, INT2. Эта ножка может выполнять две дополнительные функции. AIN0 — положительный вход аналогового компаратора (Analog Comparator Positive Input). INT2 — вход для внешнего прерывания 2 (External Interrupt 2 Input).
P11PB3AIN1, OC0. Эта ножка может выполнять также две дополнительные функции. AIN0 — отрицательный вход аналогового компаратора (Analog Comparator Negative Input). OC0 — выход сигнала события совпадения таймера/счетчика 0 (Timer/Counter0 Output Compare Match Output).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr
P12PB4~SS, этот вывод может работать как аппаратная выборка внешних подчиненных устройств, подключенных к интерфейсу SPI (SPI Slave Select Input).
P13PC0SCL, это сигнал тактов для внешнего подчиненного устройства шины I2C/TWI (Two-wire Serial Bus Clock Line).
P14PC1SDA, это двунаправленный сигнал данных для внешнего подчиненного устройства шины I2C/TWI(Two-wire Serial Bus Data Input/Output Line).
P15PC6TOSC1, вход для подключения резонатора для дополнительного генератора (Timer Oscillator Pin 1). Если ножка используется в режиме TOSC1, то этот вывод работает как вход внутреннего инвертирующего усилителя (сюда подключают кварцевый или керамический резонатор).
P16PC7TOSC2, выход для подключения резонатора для дополнительного генератора (Timer Oscillator Pin 2).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Если ножка используется в режиме TOSC2, то этот вывод работает как выход внутреннего усилителя (сюда подключают кварцевый или керамический резонатор).
P17PD0RXD, вход последовательного порта UART (USART Input Pin). Обычно используется как порт ввода данных от внешних устройств, или для отладки.
P18PD1TXD, выход последовательного порта UART (USART Output Pin). Обычно используется для отладки, или как как порт вывода данных для внешних устройств.
P19PD3INT1 — вход для внешнего прерывания 1 (External Interrupt 1 Input).
P20PD5OC1A — сигнал события совпадения A таймера 1 (Timer/Counter1 Output Compare A Match Output).
P21PD6ICP1, вход для захвата внешних импульсов (Timer/Counter1 Input Capture Pin).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Может использоваться для измерения длительностей сигнала с помощью таймера 1.
P22PD7OC2 — сигнал события совпадения таймера 2 (Timer/Counter2 Output Compare Match Output).
LEDPB0T0, XCK. К этой ножке на макетной плате подключен светодиод. Ножка могла бы использоваться как T0 — вход тактового сигнала для таймера 0 (Timer/Counter0 External Counter Input), или как XCK — вход тактов для порта USART (USART External Clock Input/Output).

В таблице не показаны порты ATmega32A, задействованные под интерфейсы JTAG и ISP. Пользоваться этими портами как GPIO нельзя, если не перепрограммировать фьюзы микроконтроллера.

Сигналы совпадения таймера OC0, OC2, OC1A, OC1B могут использоваться для генерации постоянного аналогового уровня и звуковых сигналов с помощью ШИМ (PWM). Сигнал совпадения выдается, когда содержимое счетчика таймера совпало с предопределенным заранее значением.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Подробнее см. статью — «ATmega16 — PWM с помощью T/C0, T/C1, T/C2» и даташит на ATmega32A.

[Программное обеспечение]

Для ATmega16 (или ATmega32) используется пакет V-USB (старое название AVR-USB), разработанный компанией OBJECTIVE DEVELOPMENT Software GmbH. Пакет распространяется по лицензии GPL, см. [11].

Для компьютера (назовем его для краткости хост, как предлагает OBJECTIVE DEVELOPMENT) используется библиотека libusb-win32 для операционной системы Windows (2000, 2003, XP) и libusb для операционных систем семейства *nix (Mac OS, Linux и т. д.). Библиотека также поставляется по лицензии GPL, см. [12].

Примеры программ для ATmega16 — USB-устройство пользовательского класса, класса HID, HID-мышь (для HID-устройств USB не нужны драйвера в операционных системах Windows), см. папку examples пакета V-USB. Программное обеспечение предназначено для компиляции с помощью gcc, есть также порт на систему IAR Embedded Workbench for Atmel AVR (заголовочный файл).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

Примеры программ для компьютера (ПО хоста) — управляющие программы устройств USB, см. папку examples пакета V-USB. Программное обеспечение предназначено для компиляции с помощью gcc (и под Windows, и под *nix).

Плата поставляется с тестовой прошивкой, реализующей работу устройства HID (драйвер для такого USB-устройства в Windows 2000 и XP не требуется), см. описание работы этой прошивки в [1]. Возможна прошивка платы другим firmware, например Сергея Кухтецкого, см. [3] — по желанию пользователя.

[Чем программировать?]

Прошивать программу (firmware) в память микроконтроллера макетной платы удобнее всего с помощью программы Khazama [8], через интерфейс USB. Не нужен никакой программатор, нужен только компьютер с установленным программным обеспечением (Khazama и драйвер программатора USBasp). Это возможно благодаря тому, что в память микроконтроллера ATmega32A, установленного на макетной плате AVR-USB-MEGA16, записан бутлоадер, эмулирующий протокол USBasp.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

Для программирования больше всего подходит Khazama версии v1.6.2, так как она наиболее совместима с бутлоадером USBasp. Бутлоадер позволяет только перезаписать память программ FLASH (фьюзы перезаписать нельзя), причем это можно делать практически неограниченное количество раз. Для работы с бутлоадером в операционной системе Windows необходимо установить драйвер программатора USBasp. Драйвер есть на сайте автора программатора USBasp, также см. [14]. В статье [8] подробно описана работа с бутлоадером USBasp. Процесс прошивки прост — установите перемычку, активирующую бутлоадер, подключите макетную плату AVR-USB-MEGA16 к компьютеру, запустите программу Khazama, выберите микроконтроллер AVR ATMEGA32, через меню File -> Load FLASH file to Buffer загрузите прошивку firmware в HEX-формате, и нажмите кнопку Auto Program. Через несколько секунд программа будет записана в память микроконтроллера платы AVR-USB-MEGA16. Теперь можно снять перемычку, и использовать плату уже с новой программой.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

Примечание: в принципе программа Khazama 1.6.2 портабельна, т. е. она не требует установки, достаточно сделать копию папки уже установленной программы. Вы можете так и поступить, и скачать уже установленную программу вместе с драйвером в архиве [17]. Распакуйте из архива папку Khazama162 в любое место на диске (например, прямо в корень C: или в папку Program Files), создайте ярлычок для исполняемого файла Khazama AVR Programmer.exe, и установка на этом завершена.

Кроме того, плату AVR-USB-MEGA16 можно прошивать стандартными ISP и JTAG программаторами [13], для этого имеются коннекторы ISP U1 и JTAG U3 соответственно. Через эти коннекторы можно не только прошивать firmware в память FLASH, можно также работать с памятью EEPROM и управлять значением перемычек (фьюзов) микроконтроллера ATmega32A. В радиолюбительской практике это обычно не требуется.

Здесь короткое описание, предполагается, что драйвер USBasp Вы уже установили (подробно см.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr [8], там также описана процедура установки драйвера USB):

1. Поставьте перемычку между ножками 4 и 6 коннектора U1 ISP.

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

3. Запустите программу Khazama AVR Programmer версии 1.6.2 (с другой версией возможны сообщения об ошибке). В настройках уберите опцию очистки памяти кристалла (Command -> Program Options -> снимите галку Erase Chip). Выберите из выпадающего списка Ваш чип (ATMEGA32). Загрузите hex-файл прошивки (через меню File -> Load FLASH file to Buffer). Нажмите большую кнопку Auto Program, запускающую программирование. Программируется кристалл очень быстро, за несколько секунд.

После окончания программирования красный светодиод погаснет, и начнет выполняться Ваша программа с адреса 0 (которую Вы только что записали).

4. Снимите перемычку между ножками 4 и 6 коннектора U1 ISP.

Для начала процитирую типичную переписку:

«Q.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Почему-то не получается загрузить программу в память микроконтроллера. Установил перемычку, поставил драйвер USBasp. Использую Khazama — ID чипа успешно определяется, но при попытке загрузить программу или стереть чип — USBasp «отваливается», светодиод гаснет. Khazama сообщает что не может найти USBasp. Аналогичная ситуация и c BASCOM AVR. С чем это может быть связано?

A. Привет, Роман. Загрузчик умеет делать одну и только одну операцию — программирование памяти FLASH, и ничего более. Поэтому даже не пытайтесь делать какие-то другие операции: стереть чип, прочитать/записать фьюзы и т.д. это бессмысленно, будет только приводить к недоразумениям и ошибкам. Постарайтесь действовать точно по инструкции, убедитесь, что у Вас версия Khazama 1.6.2, уберите в настройках все галочки и попробуйте еще раз. Если что-то не получается, то пожалуйста подробно опишите Ваши действия (со скриншотами) и проблему (что именно пошло не так, как ожидалось).

Q. Спасибо, разобрался. Во FLASH грузит, простейшая мигалка работает.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

A. Я рад. Где косяк поначалу был?

Q. Не сообразил, что загрузчик делает только одну операцию. Если сразу грузить во FLASH, то все получается.»

Это самая частая проблема с загрузчиком — пользователь не сразу понимает, что загрузчик работает не совсем так же, как и программатор USBasp, который он эмулирует, и имеются определенные ограничения. Итак, теперь список основных причин проблем с загрузчиком:

Не установлен драйвер USBasp. В этом случае подключенная с перемычкой плата будет отображаться в Диспетчере Устройств со знаком вопроса. Проблема решается установкой драйвера, который следует искать на сайте автора программатора USBasp (найти легко, прогуглите). Иногда драйвер не получается установить на Windows 7 или 8 из-за проблем с безопасностью — не подписанный серитификат. Обойти это можно отключением проверки сертификатов при установке драйвера (как это делается, можно найти в Интернете). См. также хорошую статью [19], где подробно описана установка драйвера на Windows 8 и Windows 10.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

Неправильно используете утилиту программирования. Это как раз тот случай, который был у Романа. Либо у Вас Khazama не той версии (не 1.6.2), либо пытаетесь делать какие-то посторонние операции, кроме прошивки FLASH (снимите в настройках Khazama все ненужные галочки).

[Лицензии]

Все программное обеспечение, используемое для разработки, доступно под лицензией GPL, что освобождает Вас от выплат (но не освобождает от публикации исходных кодов Вашего программного обеспечения). Если у Вас нет возможности для публикации проекта (что требует лицензия GPL), обратитесь напрямую в OBJECTIVE DEVELOPMENT, либо напишите мне (я могу опубликовать Ваш проект на моем сайте). На пакет V-USB имеется также и коммерческая лицензия, подробности см. на сайте авторов библиотеки.

Для устройств USB необходимы также идентификаторы производителя (vendor ID, или VID) и продукции (product ID, или PID). Компания OBJECTIVE DEVELOPMENT предлагает такие пары как с бесплатными, так и с коммерческими лицензиями.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Предлагаемые значения VID и PID и указания по их выбору имеются в документации на библиотеку, см. [11].

Пошаговые инструкции для начала работы с библиотекой V-USB читайте в [7]. Это позволит Вам быстро установить все необходимое для работы с библиотекой, и начать разрабатывать собственные устройства USB.


[Ссылки]

1. Как работать с платой AVR-USB-MEGA16 из Visual Studio (версия 2003). На примере описано управление светодиодом на макетной плате из кода на C++.
2. AVR-USB-MEGA16: новая жизнь старого «Милихрома» — как работать с платой AVR-USB-MEGA16 из C# (Visual Studio Express Edition 2008).
3. Класс C# (для Visual Studio Express Edition 2008) и соответствующая прошивка, позволяющие быстро сделать USB HID устройство и написать для него приложение для компьютера. Вы управляете микроконтроллером прямо из кода на C# (дергаете его ножками, читаете регистры и т. п.).
4. Projects Based on V-USB site:obdev.at — проекты, которые основаны на V-USB.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Все эти проекты можно реализовать на макетной плате AVR-USB-MEGA16 (описания на английском языке). См. также [5].
5. Проекты, основанные на плате AVR-USB-MEGA16, описания на русском языке. См. также [4].
7. Разработка устройства USB — как начать работу с библиотеками AVR USB (V-USB) и libusb.
8. AVR-USB-MEGA16: USB bootloader USBasp для микроконтроллера ATmega32.
9. Исходники и скомпилированные прошивки проекта BootloadHID, модифицированные для использования с макетной платой AVR-USB-MEGA16. В код BootloadHID я добавил управление красным светодиодом макетной платы D1 — для индикации процесса работы загрузчика (активизация и запись памяти). Статья с описанием работы с загрузчиком bootloadHID.
10. AVR-USB-MEGA16: управление устройством USB из GCC, Visual Studio CPP, VB6, Python, Delphi.
11. Download V-USB site:obdev.at — библиотека V-USB с документацией и комментариями в коде на английском языке. Архив avr-usb-russian.rar — библиотека V-USB на русском языке.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr
12. LibUSB site:sourceforge.net — библиотека LibUSB для *nix. LibUSB-win32 site:sourceforge.net — версия для Windows.
13. Программаторы для AVR.
14. usbasp-windriver.2011-05-28.zip — драйвер для программатора и загрузчика USBasp.
15. Как отключить проверку цифровой подписи драйвера в Windows 7 site:winitpro.ru.
16. Как самостоятельно подписать драйвер для Windows 7 site:winitpro.ru.
17. 141122Khazama162.zip — утилита Khazama162, драйвер программатора USBasp для Windows XP, Windows Vista, Windows 7, Windows 8, прошивки загрузчика USBasp для различных микроконтроллеров.
18. AVR-USB-MEGA16, V-USB, FAQ: переписка по вопросам программирования.
19. Как установить драйвер для программатора USBasp в Windows 8 и Windows 10.

AVR-USB-MEGA16: примеры применения, проекты с открытым исходным кодом и принципиальной схемой | avr-working-with-usb


































Подключение жидкостного хроматографа «Милихром» через USB к компьютеру.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr
Измерение температуры и управление нагревателем термостата.
Простой измеритель pH с интерфейсом USB.
AVR910: STK200-совместимый ISP программатор микроконтроллеров AVR.
AVR-Doper: STK500-совместимый ISP и HVSP программатор микроконтроллеров AVR.
USBasp: быстрое изготовление ISP программатора для микроконтроллеров AVR.
Подключение датчика давления MS5541B компании Intersema.
Сторожевой таймер (watchdog) для компьютера.
USB консоль для управления радиолюбительскими приборами.
Как использовать библиотеку libusb в Visual Studio (управление макетной платой AVR-USB-MEGA16).
Управление шаговым двигателем по USB.
Простой пример управления портами P1.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr .P22 платы AVR-USB-MEGA16 (portctrl).
Управление синтезатором частоты LC72131 радиоприемника.
Динамическая индикация на примере управления светодиодной матрицей 8×8 GNM-7881AUE.
USB bootloader USBasp для микроконтроллера ATmega32.
AVR-CDC: виртуальный COM-порт.

USB Mood Lamp — светодиодная Лампа Настроения.
USB Power meter site:ra3wdk.qrz.ru — измеритель СВЧ мощности в 50-омном тракте выхода передатчика (частоты 10..11750 МГц).

Автомат управления освещением ledlight.
Работа с USB для чайников на примере AVR-USB-MEGA16 site:vanoid.ru — программа на Delphi — управление портами макетной платы AVR-USB-MEGA16 (в макетную плату прошито firmware класса-обертки Сергея Кухтецкого).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

usb-Relay — маленькое USB-устройство, управляющее включением и выключением реле.
Замена GC7137AD (ICL7137) на ATmega32 и OP291 — электронный вольтметр и амперметр в блоке питания, основанный на встроенном АЦП ATmega32A.
USB HID регулятор вращения для компьютерных вентиляторов.
Класс-обертка для AVR-USB-MEGA16 с поддержкой событий.
USB регулятор громкости на энкодере и микроконтроллере AVR ver.2 site:obruboff.ru — USB HID регулятор громкости на компьютере (устройство эмулирует мультимедийную клавиатуру).
AVR-USB-MEGA16: цветомузыка на светодиодной RGB-ленте WS2811.
Поливаем цветы — просто и быстро site:habrahabr.ru. Автомат для поливки домашних растений.
Подключение поворотного энкодера к компьютеру через USB site:habrahabr.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr ru (регулятор громкости — управление звуковой картой).
USB bootloader для микроконтроллеров AVR site:habrahabr.ru (USBasploader).
Светодиодная лампа с регулировкой яркости site:habrahabr.ru.
Разработка своего первого USB устройства. Маленький шаг вперед site:habrahabr.ru (простой индикатор на светодиодах, подключенный к компьютеру).
Как мы создавали стенд лабораторный для дисциплины заморской «Информатика» site:habrahabr.ru (управление моделью автомобиля).
USB Keylogger на AVR site:obruboff.ru. Перехват нажатий клавиш USB клавиатуры.



AVR-USB-MEGA16: USB bootloader USBasp для микроконтроллера ATmega32


В статье описывается USB bootloader USBasp, который хорошо подходит для ATmega32. Он удобен тем, что эмулирует поведение популярного программатора USBasp, и для него подходят программы под этот программатор.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr




Этот бутлоадер я записываю во все макетные платы AVR-USB-MEGA16,
оснащенные микроконтроллерами ATmega32, благодаря чему пользователь
получает возможность заливать свою программу прямо через подключение по
USB, и не нужен никакой дополнительный программатор. Внимание — USBasp
bootloader не умеет работать с фьюзами (fuses) и EEPROM, несмотря на то,
что в сервисных программах, обслуживающих USBasp (например, Khazama AVR
Programmer) такая возможность имеется.

Значения фьюзов по умолчанию, которые прошиты в платы с usbasploader — LOW FUSE BYTE: 0xCF, HIGH FUSE BYTE: 0x98, LOCKOPT BYTE: 0xEF.

[Как встроить в Ваш проект usbasploader]

Процесс подробно описан в статье на Хабре, статья называется «USB bootloader для микроконтроллеров AVR»
и находится в разделе «DIY или Сделай Сам». Воспользуйтесь поиском и
легко её найдете. Исходники можете скачать по ссылке в этой статье (см.
Ссылки [4]).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr Само собой, загрузчик USBasp легко встраивается и в другие
чипы ATmega, объем секциии bootloader у которых равен или превышает 4096
байт (например, в ATmega128).

Процесс встраивания заключается в записи firmware бутлоадера в соответствующую секцию памяти и правильной установке фьюзов. Внимание:
в макетную плату AVR-USB-MEGA16 уже встроен бутлоадер USBasp (и уже
правильно настроены фьюзы микроконтроллера), поэтому записывать
бутлоадер туда не надо.

[Как работать с загрузчиком usbasploader на примере макетки AVR-USB-MEGA16 и Khazama AVR Programmer]

Для работы с бутлоадером USBasp подходит множество программ (см.
Ссылки [3]), но мне больше всего по душе программа Khazama AVR
Programmer.

Внимание! При первом подключении платы с бутлоадером
к компьютеру по USB операционная система Windows запросит драйвер
программатора USBasp (для Linux драйвер не нужен). Драйвер можно взять в
архиве по ссылке [4] (папка USBasp архива), или скачать с сайта автора
программатора USBasp, см.Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr ссылку [6]. Также драйвер есть в папке, в
которую установлена программа Khazama.

Итак, процесс по шагам — как залить свою прошивку firmware
(пользовательскую программу) в макетную плату AVR-USB-MEGA16, используя
бутлоадер USBasp.

1. Поставьте перемычку между ножками 4 и 6 коннектора U1 ISP.

2.
Подключите макетную плату к компьютеру по USB. На макетке загорится
красный светодиод, и в системе Windows обнаружится программатор USBasp.
Если Вы подключили в таком режиме макетную плату в первый раз, то
Windows обнаружит новое устройство USBasp и запросит для него драйвер.
Драйвер для Windows см. по ссылке [6], скачайте архив с драйвером,
распакуйте во временную папку и предложите мастеру оборудования взять
драйвер их этой папки. Также драйвер есть в папке, в которую установлена
программа Khazama. После успешной установки драйвера у Вас в
системе появится новое устройство — Atmel USB Devices -> USBasp (можно увидеть в Диспетчере Устройств).Avr usb mega16: Макетная плата AVR-USB-MEGA16 | avr

3. Запустите программу Khazama AVR Programmer. В
настройках уберите опцию очистки памяти кристалла (Command -> Program
Options -> снимите галку Erase Chip). Выберите из выпадающего списка
Ваш чип. Загрузите hex-файл прошивки (через меню File -> Load FLASH
file to Buffer). Нажмите большую кнопку Auto Program, запускающую
программирование. Программируется кристалл очень быстро, за несколько
секунд.


После окончания программирования красный светодиод погаснет, и начнет
выполняться Ваша программа с адреса 0 (которую Вы только что записали).

4. Снимите перемычку между ножками 4 и 6 коннектора U1 ISP.

Очень похоже работает другой бутлоадер — BootloadHID
(см. Ссылки [5]). Отличается тем, что просто нужна другая сервисная
программа на компьютере, но зато легче встраивается в младшие чипы
(начиная с ATmega8), т. к. снижены требования к размеру
bootloader-секции.

[Правила работы с бутлоадером USBasp]

1. Не забывайте устанавливать и снимать перемычку активизации бутлоадера.
2. Применяйте для программирования утилиту Khazama версии 1.6.2 (см. [3]).
3. Применяйте драйвер USBasp, максимально подходящий к Вашей операционной системе (см. [6]).
4.
Не пытайтесь программировать фьюзы и EEPROM — бутлоадер USBasp этого не
умеет. Для программирования фьюзов используйте внешний программатор
ISP. Однако будьте осторожны — если неправильно установите фьюзы, то
бутлоадер может перестать работать.
5. Не пытайтесь перезаписать бутлоадером самого себя — это может привести к непредсказуемым результатам.

[Устранение проблем]

Если устройство USB бутлоадера нормально определяется в системе
Windows (видно в Диспетчере Устройств как устройство USBasp),
но  отказывается работать с USB устройством USBasp (could not
find USB device «USBasp» with vid=0x16c0 pid=0x5dc), то скорее всего у
Вас не установлена библиотека libusb или не установлен драйвер USBasp.

Драйвер USBasp можно скачать по ссылке [6], ищите заголовок Drivers и
ссылку на файл наподобие usbasp-windriver.2011-05-28.zip.
Библиотеку libusb можно скачать по ссылке [7]. Качайте и устанавливайте
самый свежий релиз библиотеки libusb.

[Ссылки]

1. Загрузчики (bootloader) для микроконтроллеров AVR.
2. USBaspLoader USB boot loader for AVR microcontrollers site:obdev.at — домашняя страничка usbasploader.
3. Программы для работы с программатором USBasp — AVRDUDE site:download.savannah.gnu.org, BASCOM-AVR site:mcselec.com, Khazama AVR Programmer site:khazama.com, eXtreme Burner-AVR site:extremeelectronics.co.in.
4. 100705usbasploader.zip
— мой вариант usbasploader, заточенный под макетную плату
AVR-USB-MEGA16 с микроконтроллером ATmega32 (проект для AVR Studio с
исходниками и скомпилированными вариантами для кварцев 12 МГц, 16 МГц).
Именно его я и записываю в макетные платы AVR-USB-MEGA16 с
микроконтроллером ATmega32.
5. AVR-USB-MEGA16: USB bootloader BootloadHID для микроконтроллера ATmega16.
6. USBasp — USB programmer for Atmel AVR controllers site:fischl.de — сайт программатора USBasp (там можно скачать драйвер для USBasp под операционную систему Windows).
7. libusb-win32 site:sourceforge.net — ссылки на закачку релизов библиотеки libusb.




создавай устройства и управляй ими не выходя из Windows: MegaUSB: начало работы

1. Вступление

     Начнём с того, что определим какие программные средства необходимы, чтобы организовать связь между Вашим персональным компьютером и схемой, построенной на базе микроконтроллера AtMega16 фирмы Atmel. Сразу хочу заметить, что некоторые Вам могут вообще не понадобиться, если конечно Вы не захотите самостоятельно разрабатывать или модифицировать прошивку микроконтроллера (такие пункты я буду помечать *). Итак:
     1) 
libusb-win32 
(разработчики Stephan Meyer и Travis Robinson)
— библиотека USB для операционных систем Windows (libusb0.dll), позволяющая пользователю получить доступ к большинству устройствам USB 
на Windows без написания низкоуровневого драйвера. Скачав архив по приведенной выше ссылке распаковываем его, и открываем папку «bin», после чего видим несколько папок с библиотекой для разной архитектуры Windows. В этой же папке лежит текстовый файл «libusb-win32-bin-README.txt» с описанием того что и куда необходимо положить, чтобы нормально работала библиотека (прочитав последний 3-й раздел данной статьи Вы поймете, что выполнять рекомендации по этому файлу не обязательно). Между тем в каждой из этих папок расположены утилиты: «install-filter-win.exe» — программа-драйвер которая разрешает доступ к Вашему USB устройству используя функции библиотеки 
libusb-win32; 
«testlibusb-win.exe» — программа которая покажет какие USB устройства подключены к компьютеру с выводом всей информации. В катологе 
«bin» расположена программа «inf-wizard.exe» создающая драйвера к нашему USB устройству (для HID устройства драйвера не нужны).

     2)* V-USB (разработчик Objective Development) — представляет собой прошивку для микроконтроллеров AVR Atmel позволяющую программным образом реализовать низкоскоростное USB устройство, при этом не требуя дополнительных чипов. Перейдя по ссылке скачиваем архив, в котором расположены: схемы различного подключения микроконтроллера AVR к интерфейсу USB, примеры устройств с открытым исходным кодом и самое главное папка «usbdrv» которая включает в себя драйвер USB для микроконтроллера AVR. Более подробно разобраться в драйвере и его настройке можно скачав русский перевод V-USB здесь от microsin.
     3)* WinAVR — представляет собой набор инструментов с открытым исходным кодом для разработки программного обеспечения RISC микроконтроллеров AVR на платформе Windows. Включает в себя GNU GCC компилятор для C и C++. После установки WinAVR интегрируется в AVR Studio.
4) Delphi — объектно-ориентированный язык программирования для создания приложений для Windows. Данная среда разработки выбрана не случайно: во-первых другие языки программирования,такие как Microsoft Visual Studio C++ (.NET 2003), Visual Basic, Python уже были представлены на сайте microsin; во-вторых у меня был опыт написания компонент для Delphi (VCL компоненты для библиотеки bass.dll), поэтому хотелось создать компонент для удобной и быстрой разработки приложений для микроконтроллеров AVR. Данный компонент будет детально рассмотрен в моём блоге в следующих статьях.

2. Принципиальная схема MegaUSB

По своей сути принципиальная схема MegaUSB ничем не отличается от схемы которая бала представлена на сайте microsin (AVR-USB-MEGA16), оно и понятно ведь все они взяты из источника V-USB разработчика 
Objective Development и могут подключаться к шине USB разными методами (см. папку «circuits» скачав выше архив 2-го пункта). Поэтому совсем  не важно какая будет плата, то ли отладочная с минимальным количеством внешних компонентов, то ли полноценная плата конкретного законченного устройства. Здесь я буду рассматривать свою отладочную плату MegaUSB, требующую минимальное количество внешних компонентов:

Принципиальная схема MegaUSB на микроконтроллере AtMega16 фирмы Atmel

     Как видно на схеме отсутствуют разъемы интерфейса JTAG и SPI, все свободные порты ввода/вывода микроконтроллера представлены отдельными штыревыми соединениями.
     Печатная плата MegaUSB имеет размеры 41х25 мм, с одной стороны располагаются smd-компоненты, микроконтроллер, разъем mini-usb, а с другой — стабилитроны, кварц, электролитический конденсатор и пару перемычек.

Печатная плата MegaUSB в зеркальном отражении

     Исходный файл печатной платы можно скачать здесь для программы Sprint-Layout (при распечатке печатной платы из программы необходимо её зеркально отразить).

3. Прошивка для платы MegaUSB
Фьюзы AtMega16

     Скомпилированное программное обеспечение (firmware) для платы можно скачать здесь. На рисунке слева показано как прошить фьюзы микроконтроллера AtMega16 с помощью программного обеспечения AVR Prog. Драйвер скомпилированный с помощью 
программы «inf-wizard.exe» от libusb-win32 расположен здесь* (при его установке библиотека libusb.dll и его драйвер сами запишутся в системную директорию Windows).

* -для скачивания архива целиком используйте меню «Файл —> Загрузить»

Avr atmega16 minimum system development board atmega32 + usb isp usbasp programmer with download cable Sale

совместимость

Чтобы обеспечить, что эта часть подходит для вашего автомобиля, пожалуйста, введите детали вашего автомобиля ниже.

Эта часть совместима с 0 транспортное средство (ы).
Покажите все совместимые автомобили

Эта часть совместима с 1 транспортное средство (ы) совпадающий

Эта часть не совместима с

  • Год
  • производить
  • модель
  • субмодель
  • отделка
  • Двигатель

Минимальная системная плата AVR ATMEGA16 ATmega32 развитие Board for ISP ATTiny 51 Board

Характеристики:

1. 32 ввода / вывода закрепите все выводы.

2. Минимальная система Classic ATmega16, избавляющая от хлопот с пайкой.

3. Кристалл: сварка отверстий под раструб облегчает покупателю замену кристалла, кристалл 8M.

4. Поддержка чипов: ATmega16 / ATmega32 и чип, совместимый с контактами.

5. Источник питания: адаптер питания или внешний блок питания с контактами расширения (не поддерживает источник питания интерфейса загрузки ISP).

6. DC-005 Power Block (поддерживающий транспозон 5,5 * 2,1 мм).

7. Расширьте за пределы 4-х канального VCC, GND.

8. Сброс: сброс при включении и кнопка сброса.

9. Питание LED (D1) и индикатор работы программы (D2).

10. Стандартный интерфейс загрузки ISP.

11. Размер: 88 мм x 38 мм / 3,47 дюйма x 1,49 дюйма (дюйм) (приблизительно)

Особенности:

1. Этот программатор основан на конструкции USBasp Томаса Фишла и подключается к USB-порту вашего компьютера. Он не только довольно компактен, но и имеет действительно элегантный дизайн. Интерфейс USB достигается за счет использования процессора atmega, а все остальное делается в прошивке.

2. С предохранителем самовосстановления с защитой от перегрузки по току 500 мА и полной защитой дорогой материнской платы компьютера

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

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

Схема: mega16

Примечание:

Это минимальная системная плата для разработки без чипа AVR, вам необходимо приобрести дополнительный чип !!!!

Список поддерживаемых чипов:

51 серии: AT89S51, AT89S52, AT89S53, AT89S8252

Серия AVR:

ATTiny12 (L), ATTiny13 (V), ATTiny15 (L), ATTiny24 (V), ATTiny25 (V), ATTiny26 (L), ATTiny2313 (V), ATTiny44 (V), ATTiny45 (V), ATTiny84 (V), ATTiny85 (V), AT90S2313 (L), AT90S2323 (L), AT90S2343 (L), AT90S1200 (L), AT90S8515 (L), AT90S8535 (L), ATMEGA48 (V), ATMEGA8 (L), ATMEGA88 (V), ATMEGA8515 (L), ATMEGA8535 (L), ATMEGA16 (L), ATMEGA162 (V), ATMEGA163 (L), ATMEGA164 (V), ATMEGA165 (V), ATMEGA168 (V), ATMEGA169 (V), ATMEGA169P ATMEGA32 (L), ATMEGA324 (V), ATMEGA325 (V), ATMEGA3250 (V), ATMEGA329 (V), ATMEGA3290 (V), ATMEGA64 (L), ATMEGA640 (V), ATMEGA644 (V), ATMEGA645 (V), ATMEGA645 (V) ATMEGA6450 (V), ATMEGA649 (V), ATMEGA6490 (V), ATMEGA128 (L), ATMEGA1280 (V), ATMEGA1281 (V), ATMEGA2560 (V), ATMEGA2561 (V), AT90CAN32, AT90CAN648, AT90CAN) , AT90PWM3 (B) и др.

1 x USBASP USBISP загрузчик AVR с кабелем загрузки

USB регулятор громкости на энкодере и микроконтроллере AVR ver.2

В предыдущей статье я рассказал, как сделать регулятор громкости подключаемый к компьютеру по USB. Основной

недостаток такого решения это то, что такое устройство относится к Generic HID классу. И хотя для работы такого устройства не требуется установка драйверов однако требуется установка на компьютер программного обеспечения, которое будет управлять звуковым устройством. Избавиться от необходимости установки программы на компьютер можно если устройство будет опознаваться компьютером как мультимедийная клавиатура, в которой предусмотрены клавиши регулировки громкости звука. Тогда громкость будет регулироваться средствами самой операционной системы без использования дополнительных программ.

Для реализации этого решения беру те же самые платы AVR-USB-MEGA16 и  AVR-USB-TINY45 .

И те же схемы подключения энкодера.

!!!!! Опубликованная ниже прошивка для ATMega16 настроена на работу с кварцем 12 МГц, а не 16 МГц как на схеме.

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

Пример USB дескриптора
PROGMEM char usbHidReportDescriptor[25] = { /* USB report descriptor */
 0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
 0x09, 0x01, // USAGE (Consumer Control)
 0xa1, 0x01, // COLLECTION (Application)
 0x85, 0x01, // REPORT_ID (1)
 0x19, 0x00, // USAGE_MINIMUM (Unassigned)
 0x2a, 0x3c, 0x02, // USAGE_MAXIMUM (AC Format)
 0x15, 0x00, // LOGICAL_MINIMUM (0)
 0x26, 0x3c, 0x02, // LOGICAL_MAXIMUM (572)
 0x95, 0x01, // REPORT_COUNT (1)
 0x75, 0x10, // REPORT_SIZE (16)
 0x81, 0x00, // INPUT (Data,Var,Abs)
 0xc0 // END_COLLECTION};

Рабочие примеры firmware для макеток находятся в исходниках написанных с использованием AVR Studio 5.0.

P.S. Устатовка FUSE битов

Для ATMega32: FUSE_L = 0xCF, FUSE_H = 0x18, LOCKOPT BYTE: 0x3F.

Для ATTyny85: FUSE_L = 0xD1, FUSE_H = 0xDD

P.P.S. Предупреждение! Регулятор собранный на ATTiny45, может не определяться после выключения компьютера, если во время включения он подключен к USB порту. Приходится его переподключать.

P.P.P.S 16.02.2015 Решена проблема с тем, что регулятор собранный на ATTiny45 не определялся после перезагрузки или выключения компьютера. Описание решения смотреть в статье. Исходные коды качать по ссылке [3].

[Ссылки]

  1. Исходные коды.
  2. Исходные коды вер.2. Можно увеличить скорость изменения громкости заданием в коде значения переменной AdditionalKeyPress.
  3. Исходные коды вер. 3. Решена проблема для устройств без кварца (ATTiny45, ATTiny85), которые не определялись после перезагрузки.
  4. USB регулятор громкости ver.1
  5. Макетная плата AVR-USB-MEGA16
  6. Макетная плата AVR-USB-TINY45
  7. blyat

Микроконтроллерный измеритель высоких температур | Статья в журнале «Молодой ученый»

Библиографическое описание:

Карякин, А. Т. Микроконтроллерный измеритель высоких температур / А. Т. Карякин, А. В. Иттиев. — Текст : непосредственный // Молодой ученый. — 2016. — № 10 (114). — С. 225-228. — URL: https://moluch.ru/archive/114/30119/ (дата обращения: 29.04.2021).



В качестве датчиков температуры удобнее всего использовать наиболее распространенные на сегодняшний день микросхемы разработки компании Dallas Semiconductor (ныне — подразделение Maxim Integrated) DS1821 или DS18S20, стоимость которых на российском рынке радиоэлементов составляет всего лишь около 2 долларов. Микросхемы объединяются параллельно в трехпроводную или даже двухпроводную линию (с «паразитным» питанием) и работают в соответствии с протоколом 1-Wire [1].

Указанные микросхемы питаются положительным постоянным напряжением от 3 до 5,5 В. Ток потребления в режиме ожидания составляет менее 1 мкА, в режиме измерения (преобразования) температуры — около 1 мА. Поэтому микросхемы, даже при относительно большом их числе, могут питаться от источника питания компьютера через выводы его портов.

В дальнейшем, при построении схемы и алгоритма работы программы для измерения температуры, мы будем исходить из того, что выполняется измерение одного лабораторного образца, и число чувствительных элементов (микросхем цифровых термометров) равно двум. Полная электрическая принципиальная схема такого термометра вместе с адаптером для СОМ-порта изображена на рисунке 1.

Рис. 1. Схема подключения датчиков и адаптер для СОМ-порта

Однопроводная шина данных и ПК имеют общую «землю», а для питания микросхем цифровых термометров используется линия DTR последовательного порта. Нумерация контактов разъемов показана вначале для 25-выводного разъема (/25), а следом — для 9-выводного (/9). Применение малогабаритных элементов позволяет смонтировать плату адаптера непосредственно в корпусе разъема. Спецификация протокола RS-232С здесь реализована не вполне строго — на входе RXD формируются лишь однополярные уровни. Однако большинство ПК оснащены портами, которые нормально работают и с такими уровнями. Вместо указанных на схеме рис. 1 п-канальных МОП транзисторов можно применить полевые транзисторы других типов, близкие по параметрам, например, BSS138, либо отечественные серий КП501 или КП505.

Сопряжение цифровых термометров с персональным компьютером через USB-порт реализуется несколько сложнее, но такой адаптер легко выполнить на готовых и недорогих покупных узлах, например, с использованием платы AVR-USB-MEGA16 [2]. На рисунке 2 красным цветом выделена необходимая доработка принципиальной схемы упомянутой платы для подключения двух микросхем термометров по технологии 1-Wire. Сигнальная линия шины подключена к выводу 1 порта B (PB1).

Программная реализация USB-адаптера уже вшита в микропроцессор платы при ее изготовлении. Остается выполнить небольшую доработку программного кода для того, чтобы адаптер «видел» микросхемы DS1821. Интерфейс 1-Wire и его программная реализация на микроконтроллерах AVR достаточно хорошо описаны в литературе и не требуют специального освещения в рамках данной статьи. Код прошивается непосредственно с ПК, никакой внешний программатор в данном случае не нужен.

На плате AVR-USB-MEGA16 существуют свободные контактные площадки, куда не составляет труда смонтировать две выделенные на рис. 2 красным детали — резистор и разъем для подключения микросхем, которое выполняется аналогично рис. 1 [3].

Рис. 2. Принципиальная схема платы плате AVR-USB-MEGA16 и ее модернизация

Для составления алгоритма обработки сигналов микросхем датчиков в ПК вначале остановимся на особенностях их работы.

Термометр DS1821 (DS18S20) уже откалиброван на заводе, гарантированная заводская точность измерения температуры составляет ±0,5 °С (в диапазоне –10… +85 °C) и не может быть увеличена аппаратным путем, но допускает повышение программными средствами благодаря применяемому алгоритму преобразования температуры. Типичная кривая ошибки измерения температуры представлена на рисунке 3 [1].

Рис. 3. Типичная кривая ошибки измерения температуры для DS18S20

Температура в датчиках группы DS18… измеряется путем подсчета количества импульсов, выдаваемых генератором с низким температурным коэффициентом изменения частоты за время, устанавливаемое генератором с высоким температурным коэффициентом. Зависимость частот генераторов от температуры имеет параболическую форму, поэтому внутри кристалла термометра формируется специальная схема линеаризации характеристики (формирования ее наклона). Цикл преобразования довольно сложен и для данного рассмотрения непринципиален. Нам важно, что по окончании процесса преобразования регистр температуры микросхемы будет содержать ее измеренное значение. В счетчике в конце цикла остается значение COUNT_REMAIN, а схема линеаризации для каждого значения температуры выдает значение COUNT_PER_C — количество импульсов, приходящихся на один градус (эти значения могут по определенным командам быть выведены на выход данных). Алгоритм увеличения точности вычислений заключается в следующем: вначале от измеренного значения температуры отбрасывается младший бит, в результате получается переменная TEMP_READ, а затем в ПК производятся дополнительные вычисления по формуле

TEMPERATURE = TEMP_READ — 0,25 +

+ (COUNT_PER_C — COUNT_REMAIN) / COUNT_PER_C(1)

С другой стороны, при ограниченной абсолютной точности измерений, иногда полезно иметь как можно меньшую дискретность представления температуры. В лабораторном эксперименте это важно, если измерения носят относительный характер. В данном случае можно применить другую микросхему серии, DS18B20, которая, в отличие от упомянутых выше, выдает значение температуры не только в виде 9-битного двоичного числа, но позволяет получать и 12-битный результат. Правда, в ней отсутствует возможность выводить необходимые для вычислений по формуле (1) данные.

Каждый экземпляр микросхем DS18х20 имеет уникальный адресный номер длиной 48 бит, который записывается во встроенное ПЗУ в процессе производства кристалла и никогда не повторяется. Так, считывая по команде этот код в ПК, можно производить адресацию каждой микросхемы (в нашем случае — одной из двух), измеряя только ее температуру или последовательно опрашивая группу датчиков.

После того, как мы ознакомились со всеми требуемыми сведениями относительно работы микросхем цифровых термометров, несложно составить алгоритм программы на ПК, которая будет выполнять все необходимые опросы, выдавать команды, считывать данные и проводить вычисления. Алгоритм прозрачен и, по нашему мнению, не требует дополнительного описания. Он касается режима прямого измерения температур и их разностей (без калибровки и вычисления постоянных коэффициентов, с применением формулы (1)) и представлен на рисунке 4.

Рис. 4. Блок-схема алгоритма обработки сигналов датчиков

Разработанный измеритель для лабораторных высокотемпературных измерений низкотемпературными датчиками обладает рядом практических преимуществ по сравнению с традиционными методами измерения высоких температур при помощи термопар или пирометров. Применение метода показывает его высокую точность, простоту измерения и короткое время, требуемое для установления и снятия показаний. Несомненным плюсом является и низкая стоимость прибора, состоящего из нескольких электронных компонентов или блоков общего применения и небольшого металлического цилиндра, а также любого бытового ПК или ноутбука для обработки и записи показаний с минимальными системными требованиями.

Помимо лабораторного измерения температуры образцов, данный измеритель применим во всех случаях, когда необходимо обеспечить периодическое измерение температуры в области 200–400 °C и даже более.

Литература:

  1. Ридико Л. И. Компьютерный термометр с датчиками DS18S20/B20. [Электронный ресурс]. — Режим доступа: http://www.digit-el.com/files/
  2. Макетная плата AVR-USB-MEGA16. / Администрация сайта Microsin.net. [Электронный ресурс]. — Режим доступа: http://microsin.net/programming/
  3. Кухтецкий С. В. AVR-USB-MEGA16: измеряем и контролируем температуру. [Электронный ресурс]. — Режим доступа: http://microsin.net/programming/

Основные термины (генерируются автоматически): измерение температуры, AVR, DTR, RXD, TEMPERATURE, значение температуры, микросхема, температура, термометр, типичная кривая ошибка.

AVR-USB-STK

AVR USB AT90USB162 макетная плата микроконтроллера с USB и ICSP

https://www.olimex.com/Products/AVR/Development/AVR-USB-STK/

Цена 13,95 EUR
10 — 49 шт. 12,56 EUR
50 — 10000 шт. 11,16 EUR

AT90USB162 — это самый простой способ добавить функции USB к вашему следующему устройству,
Atmel предоставляет бесплатные HID с открытым исходным кодом (мышь, клавиатура) и CDC (USB-to-RS232)
код и, кроме того, стоимость AT90USB162 такая же, как у ATMega16, так что вы
жду?

Плата AVR-USB-STK позволяет исследовать все USB-функции AT90USB162.На плате есть разъем USB, джойстик, RS232, карта SD-MMC, аудиовыход, ICSP.
разъем и удлинитель. Все AT90USB162 поставляются с предварительно запрограммированными Atmel.
с загрузчиком, который позволяет программировать код внутри чипа без каких-либо
внешний программист, просто загрузите программное обеспечение FLIP с веб-сайта Atmel и
загрузите свой HEX-код в AT90USB162. Для входа в режим загрузчика необходимо
нажмите и удерживайте кнопку HWB, затем нажмите и отпустите кнопку RST.Если вы предпочитаете
чтобы использовать программатор ICSP, обратите внимание, что только AVR-ISP-MK2 поддерживает AT90USB162 как
есть довольно новые устройства. Возможно, AVR Dude добавит их поддержку позже, но
на данный момент вы не можете использовать AVR-PG1 или AVR-PG2 для программирования ICSP. Другой
Плохая новость заключается в том, что AT90USB162 поддерживает только отладку Wire, а не JTAG, поэтому для его отладки
у вас должен быть дорогой AT-JTAGICE-MK2.

ОСОБЕННОСТИ
  • Микроконтроллер AT90USB162 с флэш-памятью 16 КБ, ОЗУ 512 ГБ, EEPROM 512 ГБ
  • ICSP 5×2-контактный разъем для внутрисхемного программирования с AVR-ISP-MK2 (обычно вы не
    нужно использовать ICSP, так как вы можете программировать через USB)
  • Debug Wire может быть выполнен с помощью 3-х проводов, подключенных к ICSP (AT-JTAGICE-MK2 имеет такую ​​потерю
    проводной разъем, который будет использоваться, вам нужны только сигналы VCC, GND, RST)
  • USB 2.0 Разъем полной скорости
  • Драйвер RS232 и разъем
  • Разъем для карты SD-MMC
  • Аудиовыход, разъем 3,5 мм
  • Разъем расширения с сигналами порта AVR
  • Светодиод состояния
  • Джойстик
  • Пользовательская кнопка HWB (может использоваться для входа в режим загрузчика после сброса)
  • Кнопка сброса RST
  • Получает питание от USB, не требуется внешний адаптер
  • Внешний источник питания и регулятор напряжения, если USB не может обеспечить достаточную мощность
  • Схема кварцевого генератора 8 МГц
  • Разъемы удлинительных штифтов для каждого штыря uC
  • Четыре монтажных отверстия 3.3 мм (0,13 дюйма)
  • Сетка 100 мил
  • Шина GND
  • Vcc автобус
  • FR-4, 1,5 мм (0,062 дюйма), зеленая паяльная маска, белая шелкография, компонентная печать
  • Размеры 100×80 мм (3,9×3,15 дюйма)

Avr atmega16 минимальная системная плата для разработки atmega32 + usb isp usbasp программатор с кабелем для загрузки Продажа

Совместимость

Чтобы подтвердить, что эта деталь подходит вашему автомобилю, введите данные вашего автомобиля ниже.

Эта запчасть совместима с 0 транспортными средствами.
Показать все совместимые автомобили

Эта запчасть совместима с 1 автомобилем (ами), соответствующем

Эта запчасть несовместима с

  • Год
  • Марка
  • Модель
  • Субмодель
  • Накладка
  • Двигатель

Минимальная системная плата AVR ATMEGA16 Плата разработки ATmega32 для платы ISP ATTiny 51

Технические характеристики:

1.32 ввода / вывода закрепите все выводы.

2. Классическая минимальная система ATmega16, избавляющая от хлопот с пайкой.

3. Кристалл: сварка отверстий под раструб облегчает покупателю замену кристалла, кристалл 8M.

4. Поддержка чипов: ATmega16 / ATmega32 и чип, совместимый с контактами.

5. Источник питания: адаптер питания или внешний блок питания с контактами расширения (не поддерживает источник питания интерфейса загрузки ISP).

6. Блок питания DC-005 (поддерживающий транспозон — 5.5 * 2,1 мм).

7. Расширьте за пределы 4-х канального VCC, GND.

8. Сброс: кнопка сброса и сброса при включении.

9. Индикатор питания (D1) и индикатор выполнения программы (D2).

10. Стандартный интерфейс загрузки ISP.

11. Размер: 88 мм x 38 мм / 3,47 дюйма x 1,49 дюйма (дюйм) (приблизительно)

Особенности:

1. Этот программатор основан на конструкции USBasp Томаса Фишла и подключается к USB-порту вашего компьютера. Он не только довольно компактен, но и имеет действительно элегантный дизайн.Интерфейс USB достигается за счет использования процессора atmega, а все остальное делается в прошивке.

2. С предохранителем самовосстановления с защитой от перегрузки по току 500 мА и полной защитой дорогой материнской платы компьютера

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

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

Схема: mega16

Примечание:

Это минимальная системная плата для разработки без микросхемы AVR, вам необходимо приобрести дополнительную микросхему !!!!

Список поддерживаемых чипов:

51 серии: AT89S51, AT89S52, AT89S53, AT89S8252

Серия AVR:

ATTiny12 (L), ATTiny13 (V), ATTiny15 (L), ATTiny24 (V), ATTiny25 (V), ATTiny26 (L), ATTiny2313 (V), ATTiny44 (V), ATTiny45 (V), ATTiny84 (V), ATTiny85 (V), AT90S2313 (L), AT90S2323 (L), AT90S2343 (L), AT90S1200 (L), AT90S8515 (L), AT90S8535 (L), ATMEGA48 (V), ATMEGA8 (L), ATMEGA88 (V), ATMEGA8515 (L), ATMEGA8535 (L), ATMEGA16 (L), ATMEGA162 (V), ATMEGA163 (L), ATMEGA164 (V), ATMEGA165 (V), ATMEGA168 (V), ATMEGA169 (V), ATMEGA169P ATMEGA32 (L), ATMEGA324 (V), ATMEGA325 (V), ATMEGA3250 (V), ATMEGA329 (V), ATMEGA3290 (V), ATMEGA64 (L), ATMEGA640 (V), ATMEGA644 (V), ATMEGA645 (V), ATMEGA645 (V) ATMEGA6450 (V), ATMEGA649 (V), ATMEGA6490 (V), ATMEGA128 (L), ATMEGA1280 (V), ATMEGA1281 (V), ATMEGA2560 (V), ATMEGA2561 (V), AT90CAN32, AT90CAN648, AT90CAN32, AT90CAN648, AT90CAN , AT90PWM3 (B) и др.

1 загрузчик USBASP USBISP AVR с кабелем для загрузки

Atmel ATmega16 AVR Микроконтроллер

ATMEL AVR ATmega16 — 40-контактная часть (DIP40)
CMOS RISC, микроконтроллер AVR ATmega16, внутрисистемное программирование с флэш-памятью, перепрограммирование до 1000 раз.Имеет 32 рабочих регистра, выполнение за один такт

Доставка в Российскую Федерацию
Зарегистрированная авиапочта: 15,50 долларов США
FedEx Express: 39 долларов США

Код заказа
ATMEGA16

Цена: $ 3.98

В наличии

Сопутствующие товары

Подробнее о продукте

ATMEL AVR ATmega16 — 40-контактная деталь (DIP40)

Один из новых микроконтроллеров AVR ATmega.


CMOS RISC, AVR ATmega16, 8-битный микроконтроллер, внутрисистемное программирование с флэш-памятью, перепрограммирование до 1000 раз. Имеет 32 рабочих регистра, выполнение одного тактового цикла дает до 1 MIP / МГц.


Характеристики ATmega16

  • 16 КБайт встроенной программируемой флэш-памяти
  • 512 Байт программируемой в системе EEPROM
  • 1 Кбайт SRAM
  • Аналоговый компаратор
  • Сторожевой таймер
  • SPI
  • 2 8-битных таймера плюс предделитель
  • 16-битный таймер с дополнительными функциями
  • 4 ШИМ
  • 8-канальный 10-разрядный АЦП
  • UART
  • SPI
  • 2-проводный побайтовый последовательный интерфейс
  • Режимы низкого энергопотребления и холостого хода, внешние и внешние прерывания, выбираемый встроенный генератор

Программаторы и стартовые наборы

Kanda производит как стартовые наборы, так и программаторы для микроконтроллеров AVR.Если вы полный новичок, ищете недорогих программистов AVR или хотите полевых или производственных программистов, у Kanda есть что-то для вас.

Программаторы AVR

Учебные комплекты AVR

Информация для заказа

Информация для заказа Код заказа: ATMEGA16 Цена: 3.98 $
Доставка в РФ: Зарегистрированная авиапочта — 15 $.50 FedEx Express — 39,00 долл. США

AVR Atmega16 / 32 Микроконтроллерная плата для разработки с USB-программатором Combo по цене 849 рупий / комплект | Моти Нагар | Плата для разработки микроконтроллеров New Delhi

AVR Atmega16 / 32 с USB-программатором по цене 849 рупий за комплект | Моти Нагар | Нью-Дели | ID: 1959

62

Спецификация продукта

00

Память 16 КБ
Процессор ATMEL
Название модели / номер Плата для разработки Atmega16
Вес

000
Размер упаковки 13 x 8 0.5 см
Комплект поставки 4 Шт.
Тип упаковки Коробка
Минимальное количество заказа 10 Комплект

Описание продукта

Это отличный способ начать работу с этим комбинированным предложением. Плата для разработки ATmega16 с USB-программатором AVR , которая делает плату ATmega16 более легко программируемой и простой в использовании аппаратной частью от EnGeniusLab.Плата идеальна для экспериментаторов или в качестве основной платы ЦП для более продвинутой цифровой системы. Разъем MCU на плате обеспечивает поддержку 40-контактного DIP-корпуса контроллера AVR ATMega16 / 32. Плата предназначена для приложений общего назначения и включает в себя различное оборудование для проверки периферийных устройств микроконтроллера. Это фантастический инструмент для отладки, разработки и прототипирования кода. Совершенно новый дизайн платы сделал ее гораздо более удобной для пользователя, чем ее предшественники, и идеально подходит для целей обучения и развития.USB Programmer прост в использовании, программатор будет работать с широким спектром микроконтроллеров Atmel AVR. Он может поддерживать все окна и серверы, такие как XP, WIN7,8,10 и сервер 2000 с Linux. Этот основной мотив продукта вдохновляет пользователя начать работу со встроенным

Дополнительная информация

Код товара B01MR23JHU
Срок поставки 1 день

Заинтересовал этот товар? Получите последнюю цену у продавца

Связаться с продавцом


О компании

Год основания 2016

Характер бизнеса Производитель

Количество сотрудников До 10 человек

Годовой оборот Rs.1-2 крор

IndiaMART Участник с июня 2018 г.

GST07BTGPK3625R1Z5

Код импорта и экспорта (IEC) BTGPK *****

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

Видео компании

Вернуться к началу

1

Есть потребность?
Получите лучшую цену

1

Есть потребность?
Получите лучшую цену

Учебное пособие по AVR — AVRDUDE

Хорошо, теперь у вас есть целевая плата и программист. Затем вы будете использовать программное обеспечение, которое вы установили на шаге 2, чтобы поговорить с чипом.Это программное обеспечение очень мощное, но его также сложно использовать с первого раза. Однако вам следует проявить настойчивость, и через несколько раз им станет (легче) пользоваться.

Комментариев? Предложения? Напишите на форум!

Avrdude — это программа командной строки, поэтому вам нужно будет ввести все команды (позже вы узнаете, как сократить это с помощью Makefile).

Менее
Windows, вам нужно открыть командное окно, выбрать «Выполнить …» в меню «Пуск», ввести cmd и нажать «ОК».

В MacOS X вы можете использовать программу Terminal для вызова интерфейса командной строки, находящегося в папке Utilities

Теперь в новом окне терминала введите в avrdude этот ответ, который, по сути, представляет собой простой список того, что может делать avrdude …

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

  • : Это просто для того, чтобы сообщить, какой микроконтроллер он программирует. Например, если вы программируете ATtiny2313, используйте attiny2313 в качестве номера детали
  • .

  • -b : это для отмены последовательной скорости передачи для программистов, таких как STK500. Не используйте этот переключатель, значение по умолчанию правильное.
  • -B : это для изменения битрейта, то есть того, насколько быстро программист общается с чипом. Если ваш чип тактируется очень медленно, вам нужно говорить с ним медленно, чтобы он не отставал.Об этом поговорим позже, пока не используйте.
  • -C : файл конфигурации сообщает avrdude обо всех различных способах общения с программистом. Это файл конфигурации по умолчанию, поэтому давайте просто воспользуемся им: не используйте этот командный переключатель
  • -c : здесь мы указываем тип программатора, если вы используете STK500, используйте stk500, если вы используете программатор DT006, используйте dt006 и т. Д.
  • -D: Запрещает стирать чип перед программированием.Мы этого не хотим, поэтому не используйте этот командный переключатель.
  • -P <порт>: это порт связи, который используется для общения с программистом. Это может быть COM1 для последовательного порта или LPT1 для параллельного порта или USB для USB.
  • -F: Это отменяет проверку подписи, чтобы убедиться, что микросхема, которую вы думаете, что программируете, является. Настоятельно рекомендуется этот тест, поскольку он проверяет соединение, поэтому не используйте этот переключатель.
  • -e: стирает чип, как правило, мы не используем его, потому что мы автоматически стираем флэш-память перед программированием.
  • Хорошо, это важная команда. Это тот, который на самом деле занимается программированием. — это либо flash, либо eeprom (или hfuse, lfuse или efuse для предохранителей конфигурации микросхемы, но мы не собираемся связываться с ними). r | w | v означает, что вы можете использовать r (чтение), w (запись) или v (проверка) в качестве команды. — это файл, в который вы хотите писать или читать. и [: format] означает, что есть необязательный флаг формата. Мы всегда будем использовать формат Intel Hex, поэтому используйте i
    .
    Так, например.Если вы хотите записать файл test.hex во флэш-память, вы должны использовать -U flash: w: test.hex: i. Если вы хотите прочитать память eeprom в файл «eedump.hex», вы должны использовать -U eeprom: r: eedump.hex: i
  • -n: это означает, что вы на самом деле ничего не пишете, это хорошо, если вы хотите убедиться, что не отправляете никаких других команд, которые могут повредить чип, своего рода «предохранитель».
  • -V: отключает автоматическую проверку при записи. Мы хотим проверить, когда мы записываем во флеш-память, поэтому не используйте это.
  • -u: Если вы хотите изменить биты предохранителя, используйте этот переключатель, чтобы указать, что вы действительно это имеете в виду.
  • -t: это «терминальный» режим, в котором вы можете вводить команды подряд. Не используйте это, это сбивает с толку новичков.
  • -E: Здесь перечислены некоторые спецификации программиста, не используйте его.
  • -v: Это дает вам «подробный» вывод … на случай, если вы хотите что-то отладить. Если хотите, можете использовать, но в целом мы не будем.
  • -q: Противоположно указанному выше, обеспечивает меньшую производительность.В общем, мы не будем его использовать, но, возможно, через некоторое время вы захотите это сделать.

Те, которые вы будете использовать 99% времени, выделены красным. Рассмотрим их подробнее

Чтобы получить список поддерживаемых программистов, введите avrdude -c asdf (asdf — это просто чушь, чтобы заставить его выплюнуть список программистов) Вот мой результат, ваш может немного отличаться. Не пытайтесь запоминать его, просто просмотрите список.

C: \> avrdude -c asdf

avrdude: не удается найти идентификатор программиста «asdf»

Допустимые программисты:
dasa3 = последовательный порт, сброс =! dtr sck = rts mosi = txd miso = cts [C: \ WinAVR \ bin \ avrdude.conf: 763]
dasa = последовательный порт, сброс = rts sck = dtr mosi = txd miso = cts [C: \ WinAVR \ bin \ avrdude.conf: 750]
siprog = Lancos SI-Prog [C: \ WinAVR \ bin \ avrdude.conf: 737]
ponyser = design ponyprog serial, reset =! txd sck = rts mosi = dtr miso = cts [C: \ WinAVR \ bin \ avrdude.conf: 724]
frank-stk200 = Франк STK200 [C: \ WinAVR \ bin \ avrdude.conf: 689]
blaster = Altera ByteBlaster [C: \ WinAVR \ bin \ avrdude.conf: 676]
ere-isp-avr = ERE ISP-AVR [C: \ WinAVR \ bin \ avrdude.conf: 666]
atisp = Программный кабель AT-ISP V1.1 для AVR-SDK1 из [C: \ WinAVR \ bin \ avrdude.conf: 656]
dapa = Прямой кабель параллельного доступа AVR [C: \ WinAVR \ bin \ avrdude.conf: 645]
xil = JTAG-кабель Xilinx [C: \ WinAVR \ bin \ avrdude.conf: 632]
futurlec = Кабель для программирования Futurlec.com.[C: \ WinAVR \ bin \ avrdude.conf: 615]
abcmini = ABCmini Board, также известный как Dick Smith HOTCHIP [C: \ WinAVR \ bin \ avrdude.conf: 605]
picoweb = Кабель для программирования Picoweb, http://www.picoweb.net/ [C: \ WinAVR \ bin \ avrdude.conf: 595]
sp12 = Программист Стива Болта [C: \ WinAVR \ bin \ avrdude.conf: 584]
alf = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ [C: \ WinAVR \ bin \ avrdude.conf: 568]
bascom = Кабель для программирования Bascom SAMPLE [C: \ WinAVR \ bin \ avrdude.conf: 558]
dt006 = Dontronics DT006 [C: \ WinAVR \ bin \ avrdude.conf: 548]
pony-stk200 = Pony Prog STK200 [C: \ WinAVR \ bin \ avrdude.conf: 536]
stk200 = STK200 [C: \ WinAVR \ bin \ avrdude.conf: 520]
bsd = Программист Брайана Дина, http://www.bsdhome.com/avrdude/ [C: \ WinAVR \ bin \ avrdude.conf: 509]
pavr = Программатор последовательного порта pAVR Джейсона Кайла [C: \ WinAVR \ bin \ avrdude.conf: 501]
dragon_dw = Atmel AVR Dragon в режиме debugWire [C: \ WinAVR \ bin \ avrdude.conf: 494]
dragon_hvsp = Atmel AVR Dragon в режиме HVSP [C: \ WinAVR \ bin \ avrdude.conf: 486]
dragon_pp = Atmel AVR Dragon в режиме PP [C: \ WinAVR \ bin \ avrdude.conf: 478]
dragon_isp = Atmel AVR Dragon в режиме ISP [C: \ WinAVR \ bin \ avrdude.conf: 470]
dragon_jtag = Atmel AVR Dragon в режиме JTAG [C: \ WinAVR \ bin \ avrdude.conf: 462]
jtag2dw = Atmel JTAG ICE mkII в режиме debugWire [C: \ WinAVR \ bin \ avrdude.conf: 454]
jtag2isp = Atmel JTAG ICE mkII в режиме ISP [C: \ WinAVR \ bin \ avrdude.conf: 446]
jtag2 = Atmel JTAG ICE mkII [C: \ WinAVR \ bin \ avrdude.conf: 438]
jtag2fast = Atmel JTAG ICE mkII [C: \ WinAVR \ bin \ avrdude.conf: 430]
jtag2slow = Atmel JTAG ICE mkII [C: \ WinAVR \ bin \ avrdude.conf: 422]
jtagmkII = Atmel JTAG ICE mkII [C: \ WinAVR \ bin \ avrdude.conf: 414]
jtag1slow = Atmel JTAG ICE (mkI) [C: \ WinAVR \ bin \ avrdude.conf: 407]
jtag1 = Atmel JTAG ICE (mkI) [C: \ WinAVR \ bin \ avrdude.conf: 399]
jtagmkI = Atmel JTAG ICE (mkI) [C: \ WinAVR \ bin \ avrdude.conf: 391]
avr911 = Atmel AppNote AVR911 AVROSP [C: \ WinAVR \ bin \ avrdude.conf: 385]
avr109 = Загрузчик Atmel AppNote AVR109 [C: \ WinAVR \ bin \ avrdude.conf: 379]
Butterfly = Плата разработки Atmel Butterfly [C: \ WinAVR \ bin \ avrdude.conf: 373]
usbtiny = USBtiny простой USB-программатор [C: \ WinAVR \ bin \ avrdude.conf: 367]
usbasp = USBasp, http: // www.fischl.de/usbasp/ [C: \ WinAVR \ bin \ avrdude.conf: 361]
avr910 = Низкозатратный последовательный программатор Atmel [C: \ WinAVR \ bin \ avrdude.conf: 355]
stk500hvsp = Atmel STK500 V2 в режиме последовательного программирования высокого напряжения [C: \ WinAVR \ bin \ avrdude.conf: 349]
stk500pp = Atmel STK500 V2 в режиме параллельного программирования [C: \ WinAVR \ bin \ avrdude.conf: 343]
stk500v2 = Прошивка Atmel STK500 версии 2.x [C: \ WinAVR \ bin \ avrdude.conf: 337]
stk500v1 = Atmel STK500 версии 1.x прошивка [C: \ WinAVR \ bin \ avrdude.conf: 331]
stk500 = Atmel STK500 [C: \ WinAVR \ bin \ avrdude.conf: 325]
avrisp2 = Atmel AVR ISP mkII [C: \ WinAVR \ bin \ avrdude.conf: 315]
avrispmkII = Atmel AVR ISP mkII [C: \ WinAVR \ bin \ avrdude.conf: 309]
avrispv2 = Atmel AVR ISP V2 [C: \ WinAVR \ bin \ avrdude.conf: 303]
avrisp = Интернет-провайдер Atmel AVR [C: \ WinAVR \ bin \ avrdude.conf: 297]

Обратите внимание, что здесь перечислены упомянутые ранее программисты, в том числе avrisp, avrispv2, stk500, dragon, dasa / dasa3 / ponyser (программисты с последовательным портом), dapa / dt006 / stk200 (программисты с параллельным портом)

Найдите имя программиста, которого вы используете, и примите его близко к сердцу!

Чтобы получить список частей, поддерживаемых avrdude, введите avrdude -c avrisp (не имеет значения, если вы не используете программатор avrisp) без номера детали в командной строке.Не запоминайте этот список, просто просмотрите его, чтобы получить представление о поддерживаемых микросхемах.

C: \> avrdude -c avrisp
avrdude: Часть AVR не указана, используйте «-p Part»

Допустимые части:
m6450 = ATMEGA6450 [C: \ WinAVR \ bin \ avrdude.conf: 10974]
m3250 = ATMEGA3250 [C: \ WinAVR \ bin \ avrdude.conf: 10785]
m645 = ATMEGA645 [C: \ WinAVR \ bin \ avrdude.conf: 10596]
m325 = ATMEGA325 [C: \ WinAVR \ bin \ avrdude.conf: 10407]
usb1287 = AT90USB1287 [C: \ WinAVR \ bin \ avrdude.conf: 10219]
usb1286 = AT90USB1286 [C: \ WinAVR \ bin \ avrdude.conf: 10030]
usb647 = AT90USB647 [C: \ WinAVR \ bin \ avrdude.conf: 9841]
usb646 = AT90USB646 [C: \ WinAVR \ bin \ avrdude.conf: 9651]
t84 = ATtiny84 [C: \ WinAVR \ bin \ avrdude.conf: 9468]
t44 = ATtiny44 [C: \ WinAVR \ bin \ avrdude.conf: 9286]
t24 = ATtiny24 [C: \ WinAVR \ bin \ avrdude.conf: 9104]
m2561 = ATMEGA2561 [C: \ WinAVR \ bin \ avrdude.conf: 8911]
m2560 = ATMEGA2560 [C: \ WinAVR \ bin \ avrdude.conf: 8718]
m1281 = ATMEGA1281 [C: \ WinAVR \ bin \ avrdude.conf: 8530]
m1280 = ATMEGA1280 [C: \ WinAVR \ bin \ avrdude.conf: 8341]
m640 = ATMEGA640 [C: \ WinAVR \ bin \ avrdude.conf: 8153]
t85 = ATtiny85 [C: \ WinAVR \ bin \ avrdude.conf: 7972]
t45 = ATtiny45 [C: \ WinAVR \ bin \ avrdude.conf: 7793]
t25 = ATtiny25 [C: \ WinAVR \ bin \ avrdude.conf: 7613]
pwm3 = AT90PWM3 [C: \ WinAVR \ bin \ avrdude.conf: 7431]
pwm2 = AT90PWM2 [C: \ WinAVR \ bin \ avrdude.conf: 7247]
t2313 = ATtiny2313 [C: \ WinAVR \ bin \ avrdude.conf: 7060]
m168 = ATMEGA168 [C: \ WinAVR \ bin \ avrdude.conf: 6872]
m88 = ATMEGA88 [C: \ WinAVR \ bin \ avrdude.conf: 6686]
m48 = ATMEGA48 [C: \ WinAVR \ bin \ avrdude.conf: 6499]
t861 = ATTINY861 [C: \ WinAVR \ bin \ avrdude.conf: 6311]
t461 = ATTINY461 [C: \ WinAVR \ bin \ avrdude.conf: 6122]
t261 = ATTINY261 [C: \ WinAVR \ bin \ avrdude.conf: 5933]
t26 = ATTINY26 [C: \ WinAVR \ bin \ avrdude.conf: 5776]
m8535 = ATMEGA8535 [C: \ WinAVR \ bin \ avrdude.conf: 5618]
m8515 = ATMEGA8515 [C: \ WinAVR \ bin \ avrdude.conf: 5460]
m8 = ATMEGA8 [C: \ WinAVR \ bin \ avrdude.conf: 5300]
m161 = ATMEGA161 [C: \ WinAVR \ bin \ avrdude.conf: 5160]
m32 = ATMEGA32 [C: \ WinAVR \ bin \ avrdude.conf: 4985]
m6490 = ATMEGA6490 [C: \ WinAVR \ bin \ avrdude.conf: 4792]
m649 = ATMEGA649 [C: \ WinAVR \ bin \ avrdude.conf: 4607]
m3290 = ATMEGA3290 [C: \ WinAVR \ bin \ avrdude.conf: 4424]
m329 = ATMEGA329 [C: \ WinAVR \ bin \ avrdude.conf: 4239]
m169 = ATMEGA169 [C: \ WinAVR \ bin \ avrdude.conf: 4059]
m163 = ATMEGA163 [C: \ WinAVR \ bin \ avrdude.conf: 3916]
m162 = ATMEGA162 [C: \ WinAVR \ bin \ avrdude.conf: 3720]
m644 = ATMEGA644 [C: \ WinAVR \ bin \ avrdude.conf: 3530]
m324 = ATMEGA324 [C: \ WinAVR \ bin \ avrdude.conf: 3338]
m164 = ATMEGA164 [C: \ WinAVR \ bin \ avrdude.conf: 3146]
m16 = ATMEGA16 [C: \ WinAVR \ bin \ avrdude.conf: 2968]
c128 = AT90CAN128 [C: \ WinAVR \ bin \ avrdude.conf: 2777]
m128 = ATMEGA128 [C: \ WinAVR \ bin \ avrdude.conf: 2599]
m64 = ​​ATMEGA64 [C: \ WinAVR \ bin \ avrdude.conf: 2418]
m103 = ATMEGA103 [C: \ WinAVR \ bin \ avrdude.conf: 2278]
8535 = AT90S8535 [C: \ WinAVR \ bin \ avrdude.conf: 2157]
8515 = AT90S8515 [C: \ WinAVR \ bin \ avrdude.conf: 2043]
4434 = AT90S4434 [C: \ WinAVR \ bin \ avrdude.conf: 1960]
4433 = AT90S4433 [C: \ WinAVR \ bin \ avrdude.conf: 1836]
2343 = AT90S2343 [C: \ WinAVR \ bin \ avrdude.conf: 1712]
2333 = AT90S2333 [C: \ WinAVR \ bin \ avrdude.conf: 1627]
2313 = AT90S2313 [C: \ WinAVR \ bin \ avrdude.conf: 1514]
4414 = AT90S4414 [C: \ WinAVR \ bin \ avrdude.conf: 1401]
1200 = AT90S1200 [C: \ WinAVR \ bin \ avrdude.conf: 1286]
t15 = ATtiny15 [C: \ WinAVR \ bin \ avrdude.conf: 1153]
t13 = ATtiny13 [C: \ WinAVR \ bin \ avrdude.conf: 980]
t12 = ATtiny12 [C: \ WinAVR \ bin \ avrdude.conf: 847]
t11 = ATtiny11 [C: \ WinAVR \ bin \ avrdude.conf: 783]

Это все чипы, о которых знает avrdude. Почти все они программируются ISP.

Осторожно, : t2313 и 2313, m8 и m88, c128 и m128 и т. Д. Выглядят очень похоже, но на самом деле это совершенно разные микросхемы! По этой причине я предлагаю вам ввести имя чипа, то есть вместо t2313 использовать attiny2313 или m8 использовать atmega8.Avrdude достаточно умен, чтобы понять, что вы имеете в виду, если наберете полное имя.

Мы собираемся использовать ATtiny2313, поэтому используйте номер детали attiny2313 или (t2313)

Дважды проверьте, какой чип вы используете, посмотрев на верхнюю часть чипа, там написано ATTINY2313 и ATMEGA8 (соответственно), -20PI и -16PC — это просто рейтинги скорости и описания пакетов, поэтому игнорируйте их пока.

Этот переключатель сообщает avrdude, где искать вашего программиста.Если вы используете устройство, подключенное к USB, вы можете просто использовать -P usb или не указывать его. Программист автоматически знает, когда программист является устройством USB.

Если вы используете программатор параллельного или последовательного порта, вы должны использовать эту опцию, чтобы указать, к какому порту подключен программатор. В 99% случаев это lpt1 (параллельный) или com1 (последовательный), но вы всегда можете проверить это, заглянув в диспетчер устройств. Откройте панель управления «Свойства системы»

Щелкните «Диспетчер устройств» и откройте подменю «Порты».

Перечислены все последовательные и параллельные порты. Может быть несколько COM-портов, но обычно есть только один параллельный (принтерный) порт.

На компьютерах Mac нет параллельных портов. Однако, если вы используете USB-последовательный адаптер (который позволяет использовать STK500 или AVRISP v1 с Mac), вам необходимо указать последовательный порт. Я еще не знаю надежного способа, но я делаю это в Терминале. Я набираю ls -l /dev/cu.*, и он выдаст кучу всего (я испортил снимок экрана, это изображение есть еще одно окно перед ним, но просто игнорируйте это)

/ dev / cu.Bluetooth — это встроенный модуль Bluetooth, не используйте его. /dev/cu.modem — это модем (если он есть), не используйте его. Вы ищете что-то вроде /dev/cu.usbserial или /dev/cu.KeySerial1 или что-то подобное. В данном случае это /dev/cu.usbserial-FTCTYG5U

Хорошо, мы подошли к важной части. Именно здесь мы на самом деле рассказываем avrdude, как поместить данные в чип. Это довольно сложная команда, но мы ее разберем.

— может быть flash, eeprom, hfuse (высокий предохранитель), lfuse (низкий предохранитель) или efuse (расширенный предохранитель)
r | w | v — может быть r (чтение), w (запись), v ( verify)
— входной (запись или проверка) или выходной файл (чтение)
[: format] — необязательный, формат файла.Вы можете оставить это значение для записи, но для чтения используйте i для Intel Hex (преобладающий стандарт)

Например:

  • Чтобы записать файл с именем firmware.hex во флэш-память, используйте команду: -U flash: w: firmware.hex
  • Чтобы проверить файл mydata.eep с eeprom, используйте команду -U eeprom: v: mydata.eep
  • Чтобы прочитать низкий предохранитель в файл, используйте команду -U lfuse: r: lfusefile.hex: i

Ладно, хватит этой треп.Пришло время запрограммировать прошивку в микросхему!

Подготовьте свою целевую плату AVR, в этом примере мы будем использовать attiny2313, но, конечно, вам следует заменить чип, который вы используете (в этом случае код, вероятно, ничего не сделает). Убедитесь, что устройство работает от батарей, от сетевой розетки или от программатора, если программист может это сделать.

Загрузите файл test_leds.hex и поместите его в C: \ (Windows) или в свой домашний каталог (Mac)

Выясните, какой программатор вы используете и к какому порту он подключен (в этом примере я буду использовать usbtinyisp, но все в порядке.) Поскольку usbtinyisp является программатором USB, я могу не использовать переключатель -P .

введите avrdude -c usbtiny -p attiny2313 -U flash: w: test_leds.hex

  • Если вы используете параллельный битовый программатор DT006 (например, MiniPOV2), вы, вероятно, захотите использовать такую ​​команду, как avrdude -c dt006 -P lpt1 -p attiny2313 -U flash: w: test_leds.hex
  • Если вы используете последовательный битбэнг-программатор DASA (например, MiniPOV3), вы, вероятно, захотите использовать такую ​​команду, как avrdude -c dasa -P com1 -p attiny2313 -U flash: w: test_leds.шестнадцатеричный
  • Если вы используете программатор STK500 devboard, вы, вероятно, захотите использовать такую ​​команду, как avrdude -c stk500 -P com1 -p attiny2313 -U flash: w: test_leds.hex
  • Если вы используете USB-программатор AVRISP v2, вы, вероятно, захотите использовать такую ​​команду, как avrdude -c avrispv2 -p attiny2313 -U flash: w: test_leds.hex
  • и т.д …

Avrdude должен выполнить следующие шаги:

  1. Инициализация программатора (вы этого не увидите, если он работает)
  2. Инициализация устройства AVR и проверка его готовности к инструкциям
  3. Чтение подписи устройства (0x1e910a), которая подтверждает, что микросхема, указанная в командной строке (attiny2313), на самом деле является микросхемой, к которой подключен программист.
  4. Стирание чипа
  5. Чтение файла и проверка его правильности
  6. Пишем флеш
  7. Проверка флэш-памяти

Fuse memory — это отдельный фрагмент флеш-памяти, в который не записывается при обновлении прошивки.Вместо этого 3 предохранителя, как правило, устанавливаются один раз (хотя их можно устанавливать сколько угодно раз). Предохранители определяют такие вещи, как тактовая частота, тип кристалла, включен ли JTAG, каков уровень пониженного напряжения (минимальное напряжение) и т. Д. Для получения дополнительной информации о предохранителях вы можете прочитать о них здесь.

Сначала вы захотите рассчитать предохранители с помощью очень удобного калькулятора предохранителей AVR

Для программирования предохранителей используйте:

avrdude -c usbtiny -p attiny2313 -U lfuse: w :: m
avrdude -c usbtiny -p attiny2313 -U hfuse: w :: m
avrdude -c usbtiny -p attiny2313 -U efuse: w :: m

Где <0xHH> — желаемое значение предохранителя в шестнадцатеричном формате.Например, чтобы установить предохранитель высокого уровня на 0xDA:

avrdude -c usbtiny -p attiny2313 -U hfuse: w: 0xDA: m

Неправильная установка предохранителей может «заглушить» микросхему — например, вы можете отключить программирование в будущем или сделать так, чтобы микросхема ожидала внешний кристалл, когда его нет. По этой причине я предлагаю трижды проверить номиналы предохранителей. Затем проверьте еще раз, убедитесь, что вы не отключаете программирование ISP или контакт сброса или не устанавливаете тактовую частоту на 32 кГц.Затем еще раз убедитесь, что у вас есть правильный чип для расчета. Тогда, наконец, вы можете попробовать записать их в чип!

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

Если программатор неправильно подключен к микросхеме, вы получите следующее сообщение: инициализация не удалась, rc = -1 Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены этой проверки

Это означает, что программист не смог поговорить с микросхемой.Если вы используете «простой» программатор, такой как программатор bitbang последовательного или параллельного порта, это может означать, что программист виноват. В противном случае это обычно означает, что программист в порядке, но не может найти чип.

Убедитесь, что микросхема запитана, вставлена ​​в розетку или правильно, программные кабели подключены правильно, разъем подключен правильно и т. Д. В 99% случаев это проблема с проводкой.

Просто ради удовольствия попробуйте запустить эту команду avrdude -c usbtiny -p atmega8 -U flash: w: test_leds.шестнадцатеричный

Вы увидите, что он останавливается на шаге 2, как только подпись отличается от ожидаемой, он останавливается. Это связано с тем, что код, скомпилированный для attiny2313, не будет работать на atmega8 (это верно для большинства микроконтроллеров, файлы .hex не совместимы друг с другом)

AVR ATMEGA16 Минимальная плата разработки системы ATmega32 + USB ISP USBas — Electronic Pro

Минимальная системная плата AVR ATMEGA16 Плата разработки ATmega32 для платы ISP ATTiny 51

Технические характеристики:

1.32 ввода / вывода закрепите все выводы.

2. Классическая минимальная система ATmega16, избавляющая от хлопот с пайкой.

3. Кристалл: сварка отверстий под раструб облегчает покупателю замену кристалла 8M.

4. Поддержка чипов: ATmega16 / ATmega32 и чип, совместимый с контактами.

5. Источник питания: адаптер питания или внешний блок питания со штырьками расширения (не поддерживает источник питания интерфейса загрузки ISP).

6. Блок питания DC-005 (поддержка транспозона 5,5 * 2.1 мм).

7. Расширение за пределы 4-х канального VCC, GND.

8. Сброс: кнопка сброса и сброса при включении.

9. Светодиод питания (D1) и индикатор выполнения программы (D2).

10. Стандартный интерфейс загрузки ISP.

11. Размер: 88 мм x 38 мм / 3,47 x 1,49 дюйма (дюйм) (прибл.)

Характеристики:? �

1. Этот программатор основан на конструкции USBasp Томаса Фишла и подключается к USB-порту вашего компьютера. . Он не только довольно компактен, но и имеет действительно элегантный дизайн.Интерфейс USB достигается за счет использования процессора atmega, а все остальное делается в прошивке.

2. С предохранителем самовосстановления с защитой от перегрузки по току 500 мА и полной защитой дорогой материнской платы компьютера

, предназначенной для ноутбуков, специальные два регулятора 3,6 В, идеально подходят для уровня, избавьтесь от нестабильности скрытого оборудования! Настройки перемычки режима питания целевой платы. ? �

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

Схема: mega16

? �? �

Примечание:

Это минимальная системная плата для разработки без микросхемы AVR, вам необходимо приобрести дополнительную микросхему !!!!

Список поддерживаемых чипов:

51 Серия: AT89S51, AT89S52, AT89S53, AT89S8252

? �

Серия AVR:

ATTiny12 (L), ATTiny13 (V), ATTiny15 (L), ATTiny24 (V), ATTiny25 (V), ATTiny26 (L), ATTiny2313 (V), ATTiny44 (V), ATTiny45 (V), ATTiny84 (V), ATTiny85 (V), AT90S2313 (L), AT90S2323 (L), AT90S2343 (L), AT90S1200 (L), AT90S8515 (L), AT90S8535 (L), ATMEGA48 (V), ATMEGA8 (L), ATMEGA88 (V), ATMEGA8515 (L), ATMEGA8535 (L), ATMEGA16 (L), ATMEGA162 (V), ATMEGA163 (L), ATMEGA164 (V), ATMEGA165 (V), ATMEGA168 (V), ATMEGA169 (V), ATMEGA169P (V), ATMEGA32 (L), ATMEGA324 (V), ATMEGA325 ATMEGA3250 (V), ATMEGA329 (V), ATMEGA3290 (V), ATMEGA64 (L), ATMEGA640 (V), ATMEGA644 (V), ATMEGA645 (V), ATMEGA6450 (V), ATMEGA649 (V), ATMEGA6490 (V), ATMEGA6490 (V) ATMEGA128 (L), ATMEGA1280 (V), ATMEGA1281 (V), ATMEGA2560 (V), ATMEGA2561 (V), AT90CAN32, AT90CAN64, AT90CAN128, AT90PWM2 (B), AT90PWM3 (B) и т. Д.

1 x USBASP USBISP загрузчик AVR с кабелем загрузки

GitHub — simonkaufmann / AVR-USB-Flash-Drive: Proof of Concept

GitHub — simonkaufmann / AVR-USB-Flash -Drive: Proof of Concept — Эмуляция USB-накопителя с программно реализованным USB на Atmel ATmega 16

Proof of Concept — Эмуляция USB-накопителя с программно реализованным USB на Atmel ATmega 16

Файлы

Постоянная ссылка

Не удалось загрузить последнюю информацию о фиксации.

Тип

Имя

Последнее сообщение фиксации

Время фиксации

Proof of Concept — Эмуляция запоминающего устройства USB с программно реализованным USB на Atmel ATmega 16

Целью этого проекта было использование микроконтроллера Atmel ATmega 16 в качестве запоминающего устройства USB.
(с очень, очень ограниченным размером хранилища 32 КБ) только с целью изучения чего-то нового и
проверить, возможно ли это.

Микроконтроллер не имеет аппаратной поддержки USB. Вот почему программная библиотека VUSB (бывший AVR-USB)
используется, который реализует низкоскоростной USB в программном обеспечении на микроконтроллере: https://www.obdev.at/products/vusb/index.html

Микроконтроллер подключен к микросхеме EEPROM и дополнительно к микросхеме RAM для временной буферизации данных перед
записывая их в EEPROM. Оперативная память необходима, поскольку данные отправляются через USB намного быстрее, чем их можно записать на
EEPROM.Внутреннее ОЗУ для буферизации в микроконтроллере ограничено, поэтому все сначала записывается во внешнее ОЗУ.
а затем копируется в EEPROM для постоянного хранения, как только появляется время.

Изображения

Спасибо очень хорошему другу за помощь в создании оборудования!

Около

Proof of Concept — Эмуляция USB-накопителя с программно реализованным USB на Atmel ATmega 16

ресурсов

Лицензия

Вы не можете выполнить это действие в настоящее время.