Site Loader

Содержание

SPA0008, USB программатор для AVR-микроконтроллеров, Smartmodule

Описание

USB программатор SPA0008 предназначен для программирования AVR-контроллеров через USB порт компьютера из среды Algorithm Builder. Программатор имеет гальваническую развязку выходных сигналов с «компьютерной стороной» программатора.

Рассчитан на работу с популярным графическим ассемблером Algorithm Builder (http://www.algrom.net/russian.html). Среда Algorithm Builder – простой и понятный инструмент даже для новичков в программировании AVR. Имеет русскоязычный интерфейс. Среда предназначена для производства полного цикла разработки начиная от ввода алгоритма, включая процесс отладки и заканчивая программированием чипа. Разработка программы может быть как на уровне ассемблера, так и на макроуровне с манипуляцией многобайтными величинами со знаком. В отличие от классического ассемблера программа вводится в виде алгоритма с древовидными ветвлениями и отображается на плоскости, в двух измерениях. Сеть условных и безусловных переходов отображается графически, в удобной векторной форме. Это к тому же освобождает программу от бесчисленных имен меток, которые в классическом ассемблере являются неизбежным балластом. Вся логическая структура программы становится наглядной. Графические технологии раскрывают новые возможности для программистов. Визуальность логической структуры уменьшает вероятность ошибок и сокращает сроки разработки. С помощью программатора из среды Algorithm Builder, в программируемый кристалл без труда может быть загружен HEX-файл, созданный в любой другой среде программирования.

При первом подключении программатора к компьютеру операционная система обнаружит новое устройство «FT232R USB UART», необходимо указать путь к папке с драйверами. Драйвера имеются в составе дистрибутива Algorithm Builder и при установке с параметрами по-умолчанию находятся в папке C:\Program Files\Algorithm Builder\V544\COMM ADAPTER\USB (isolated)\DRIVER\. Драйвера так же можно скачать по ссылке Драйвер для SPA0008. При правильной установке драйверов в операционной системе появится устройство USB Serial Converter. После этого система так же обнаружит новое устройство USB Serial port, при этом мастеру нового оборудования необходимо позволить выполнить автоматическую установку, после чего в системе появится новый порт USB Serial port (Пользователям Windows 7: в лаборатории Ekits проверена работоспособность SPA0008 и Algorithm Builder в ОС Windows 7 Home Basic. При подключении SPA0008 драйвера операционная система находит и устанавливает сама без проблем, программа работает корректно). Компьютерная сторона программатора питается от USB-порта, вторичная сторона должна быть запитана +5В со стороны программируемого устройства.

Выходной разъем программатора полностью совпадает c разъемом популярных модулей SEM0007M и SEM0010M. В комплект программатора входит шлейф длинной 50см, с разъемами IDC-08F с обеих сторон.

Внимание!
1. Программатор всегда должен подключаться к компьютеру до момента запуска Algorithm Builder, иначе среда может не увидеть, виртуальный порт программатора. Перед программированием в настройках порта нужно выставить COM-порт который был присвоен программатору операционной системой.

2. В опциях среды, нужно установить галочки в настройках порта «всегда открыт», «через адаптер».
3. Если программирование кристалла не происходит или происходит с ошибкой, нужно увеличить замедление в «опции среды» / «порт».

Технические параметры

Тип устройства программатор
Совместимость с микроконтроллерами megaavr, tinyavr mcu
Ядро avr
Интерфейсы подключения и программирования usb
Вес, г 48

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

Видео

1:53

Простой программатор для микроконтроллеров PIC и AVR

Автор: Александр Елисеев

E-mail: ase (at) takas.lt
(замените (at) на @)

Бесплатные программаторы, которые можно найти в интернете безнадежно отстают от разработчиков чипов и не предлагают способов быстрой модернизации для программирования новых микроконтроллеров.

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

Программатор характеризуется тем, что:

  • Испытан под Windows 98, Windows Me, Windows 2000 c процессорами Celeron, AMD Duron, AMD Athlon T, Pentium III до частоты 1000 МГц

  • Программирование ведется через порт RS232

  • Программа не требует инсталяции и дополнительных драйверов.

  • Программирует микроконтроллеры семейства PIC (отладка производилась на PIC16F84 и PIC16F877) по последовательному протоколу и микроконтроллеры семейства AVR (отладка производилась на AT90S8535)

  • Предостовляет возможность самостоятельно добавлять новые чипы из указанных семейств с идентичным протоколом программирования с помощью конфигурационных файлов.

  • Позволяет произвольно менять структуру и содержание меню программируемых чипов и информационных полей связанных с программируемым чипом.

  • Позволяет загружать и редактировать бинарные и HEX файлы, выполнять блочные операции с данными, расчет CRC по нескольким алгоритмам Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)

Рис.1. Окно програмной оболочки

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

Рис.1. Схема программатора PIC-ов

Особой оригинальностью не отличается поскольку в основном повторяет схему из известного программатора PonyProg. Следует уделять внимание уровню сигнала на выводе CLOCK чипа, он не должен быть меньше 4 В при высоком уровне, что может случиться при неправильном подборе стабилитрона

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

Рис.2. Схема программирования AVR-ов

Здесь показан способ как организовать программирование AT90S8535 прямо на плате с помощью RS232 и небольшого аппаратного дополнения. Микросхема DD1 служит для изоляции сигналов программирования от чипа в режиме работы. Разводка микросхемы показана в колодке c расположением контактов типа PGA44. Испытания показали, что большинство микросхем AT90S8535 и AT90S8515 можно программировать при частоте кварца 11,0592 МГц.

Структура конфигурационных файлов

Конфигурационные файлы имеют расширение chp и должны находиться в директории программы. Программа при запуске производит поиск в своей директории всех конфигурационных файлов и их объединение во внутреннем буфере. Идея таких файлов взята из программатора ComPic и немного изменена. Каждому чипу соответствует своя секция. Возможность наследования свойств не предусмотренна, так как это ухудшает прозрачность описания.

Пример структуры конфигурационного файла для PIC16F84

[Chip PIC16F84_ICP] Секция чипа c уникальным названием чипа
Level1=MicroChip Название пункта меню верхнего уровня
Level2=PIC Название пункта меню 2-го уровня вложения
ItemCaption=PIC16F84 Название конечного пункта меню
InitClass=TfrmMICROCHIP_PIC_ICP Название класса окна-фрейма программирующего данное семейство чипов
по определенному протоколу
Названия классов предопределены в программе: TfrmMICROCHIP_PIC_ICP и TfrmATMEL_AVR_ICP
Здесь идет определение программируемых областей, в пунктах Content разные параметры отделяются символом «|»
Area_1_Content= Code | 0..3FFh (1KW) Название и описание области программирования
Area_1_data=CODE, 0, $3FF, 14 Данные связанные с областью программирования — уникальный идентификатор, начальный адрес, конечный адрес, размер слова данных в битах
Area_2_Content=EEPROM | 0..3Fh (64B)
Area_2_Data=EEPROM,0,$3F,8
Area_3_Content=Configuration word | CP, PWRTE, WDTE, FOSC
Area_3_Data=CONFIG,$2007,$2007,14
Area_4_Content=ID Locations | 2000H-2003H
Area_4_Data=ID,$2000,$2003,8
и т. д. для других областей
Здесь идет определение установок для некоторых областей программирования определенных выше
Param_1_Content=CP | CP | CONFIG Определение установки с названием CP, с уникальным идентификатором CP из области CONFIG. По умолчанию установка принимает значение с номером 1 в суффиксе идентификатора
  Описание возможных значений установки
Param_1_Choice1=1 — Code protection OFF Название 1-го значения установки CP
Param_1_Choice1_icon=4 Номер во внутреннем списке отображаемой иконы для 1-го значения
Param_1_Choice1_data=1111111111xxxx маска 1-го значения
Param_1_Choice2=0 — Code protection ON
Param_1_Choice2_icon=3
Param_1_Choice2_data=0000000000xxxx
Описание 2-го значения установки
Param_2_Content=PWRTE | PWRTE | CONFIG
Param_2_Choice1=1 — Power up timer disabled
Param_2_Choice1_icon=2
Param_2_Choice1_data=xxxxxxxxxx1xxx
Param_2_Choice2=0 — Power up timer enabled
Param_2_Choice2_icon=1
Param_2_Choice2_data=xxxxxxxxxx0xxx
Описание следующей установки и ее значений
Param_3_Content=WDTE | WDTE | CONFIG
Param_3_Choice1=1 — WDT enabled
Param_3_Choice1_icon=1
Param_3_Choice1_data=xxxxxxxxxxx1xx
Param_3_Choice2=0 — WDT disabled
Param_3_Choice2_icon=2
Param_3_Choice2_data=xxxxxxxxxxx0xx

Param_4_Content=Oscilator | FOSC | CONFIG
Param_4_Choice1=RC oscillator (11)
Param_4_Choice1_icon=8
Param_4_Choice1_data=xxxxxxxxxxxx11
Param_4_Choice2=HS oscillator (10)
Param_4_Choice2_icon=8
Param_4_Choice2_data=xxxxxxxxxxxx10
Param_4_Choice3=XT oscillator (01)
Param_4_Choice3_icon=8
Param_4_Choice3_data=xxxxxxxxxxxx01
Param_4_Choice4=LP oscillator (00)
Param_4_Choice4_icon=8
Param_4_Choice4_data=xxxxxxxxxxxx00

Param_5_Content=ID | ID | ID
Param_5_Choice1=0000

и т.д. для всех необходимых установок

USB программатор микроконтроллеров.

Программирование микроконтроллеров.

Программаторы ChipProg производства ООО «КБ Фитон» поддерживают программирование различных семейств микроконтроллеров. К наиболее известным семействам поддерживаемых микросхем можно отнести микроконтроллеры CortexM0/M1/M3/M4 таких компаний как Atmel, NXP, STMicroelectronics, Freescale, TexasInstruments, Winbond и многих других. Программаторами ChipProg поддерживаются также микроконтроллеры семейств 8051 разных фирм, MicrochipPIC, AtmelAVR, множество семейств компании Renesas, микроконтроллеры семейств STM8 и ST7 компании STMicroelectronics, микроконтроллеры семейства Z8 фирмы Zilog, семейства S08, S12 фирмы Freescale и пр. Эти микроконтроллеры программируются как в параллельном режиме в колодке программатора, так и в последовательном режиме в плате пользователя. Программаторы ChipProg предназначены как для разработчиков микроконтроллеров, так и для массового производства изделий.

Особенности программирования микроконтроллеров на программаторах семейства ChipProg

  1. Поддержка множества семейств микроконтроллеров разных фирм.
  2. Программирование микроконтроллеров как в плате пользователя через последовательный интерфейс, так и в колодке программатора в параллельном режиме.
  3. Поддержка всех типов корпусов микроконтроллеров от 8 до 144 выводов с помощью дополнительных адаптеров.
  4. Визуализация всех конфигурационных бит микроконтроллеров в виде, представленном производителем в описании на микросхему.
  5. Возможность программирования и допрограммирования отдельных элементов микроконтроллера, включая конфигурационные биты.
  6. Поддержка идентификаторов микроконтроллеров для безопасного программирования.
  7. В параллельных программаторах контроль каждого вывода микроконтроллеров на присутствие контакта.
  8. В параллельных программаторах контроль правильной установки микроконтроллеров в колодку программатора.
  9. Адаптация для промышленного программирования микроконтроллеров:
    1. 1.Встроенные средства подсчета контрольных сумм, генерации серийных номеров и строк сигнатур.
    2. 2.Встроенные средства ведения журнала программирования.
    3. 3.Возможность управления программатором из командной строки.
    4. 4.Встроенный язык, позволяющий автоматизировать процесс программирования.
    5. 5.Упрощенный интерфейс пользователя.
    6. 6.Возможность управления программатором на лету.
    7. 7.Возможность управления программатором из приложения пользователя.
    8. 8.Возможность управления программатором из популярной среды автоматизации LabView.
  10. Сертификация программаторов ChipProg фирмами производителями микросхем.

Программаторы ChipProg, поддерживающие программирование микроконтроллеров:

  1. ChipProg-481 – самый быстрый универсальный программатор, программирующий микроконтроллеры как в колодке программатора, так и в плате пользователя. Программатор также поддерживает программирование микросхем памяти NAND Flash, EEPROM, EPROM и CPLD. Программатор обеспечивает программирование максимального спектра микросхем.
    Отличительной особенностью программатора является очень быстрое программирование микросхем NAND Flash памяти. На сегодняшний день это один из самых быстрых программаторов в мире.
  2. ChipProg-48 – универсальный программатор, программирующий микроконтроллеры как в колодке программатора, так и в плате пользователя. Программатор также поддерживает программирование микросхем памяти Flash, EEPROM, EPROM и CPLD. Программатор имеет примерно такой же список поддерживаемых микросхем, что и ChipProg-481, но значительно проигрывает последнему в скорости программирования микросхем NAND Flash памяти большой емкости.
  3. ChipProg-40 – самый бюджетный универсальный программатор, программирующий микроконтроллеры как в колодке программатора, так и в плате пользователя. Программатор также поддерживает программирование микросхем памяти Flash, EEPROM, EPROM.
  4. ChipProg-ISP2 – универсальный внутрисхемный программатор, программирующий микроконтроллеры в плате пользователя. Программатор также поддерживает программирование микросхем памяти Flash, EEPROM, EPROM. Все устройства программируются без дополнительных адаптеров, при посредстве 20-ти проводного кабеля. Поддерживаются интерфейсы внутрисхемного программирования: JTAG, JTAG chain, SWD, SPI, SCI, I2C, UART, и др. Программатор может работать либо под управлением PC, либо автономно. Подключение к компьютеру либо USB 2.0, либо  100 Мбит/с Ethernet. ISP программатор оптимизирован для работы в составе автоматизированных производственных систем ATE, ICT.
  5. ChipProg-G41 – универсальный промышленный программатор, программирующий микроконтроллеры как в колодке программатора, так и в плате пользователя. Программатор также поддерживает программирование микросхем памяти, NAND, Flash, EEPROM, EPROM и CPLD. Программатор позволяет программировать одновременно до 4 микросхем и характеризуется очень высокой скоростью. Отличительной особенностью программатора является очень быстрое программирование микросхем Flash памяти. На сегодняшний день это один из самых быстрых программаторов копировщиков в мире.

Схема. Миниатюрные USB-программаторы для микроконтроллеров AVR

В литературе уже опубликовано большое число схем разнообразных программаторов, как простых, так и сложных, подключаемых к различным портам компьютера [1, 2]. Из USB-программаторов наибольшее распространение получили USBasp [3] и AVR910 [4]. Они относительно просты, малогабаритны, работают с большой номенклатурой микроконтроллеров. Задачей автора стала разработка ещё более простого, миниатюрного, дешевого и универсального программатора, в результате чего и появилась на свет данная конструкция.

Схема USB-программатора представлена на рис. 1. За основу взят программатор CDC-SPI японского автора Osamu Tamura [5]. В отличие от оригинала, напряжение питания программатора и программируемого микроконтроллера не 3,3, а 5 В, что позволяет расширить ряд программируемых микроконтроллеров. Кроме того, внесены некоторые изменения в программу микроконтроллера программатора.
Первый вариант прибора построен на микроконтроллере ATtiny45-20SU (DD1). В качестве тактового здесь используется генератор системы ФАПЧ микроконтроллера частотой 16,5 МГц. Это позволило отказаться от уже привычного в подобных устройствах внешнего кварцевого резонатора. Конденсатор С1 — фильтр по питанию. Резисторы R2 и R3, работая в паре со стабилитронами VD1 и VD2, защищают сигнальные линии интерфейса USB компьютера от превышения допустимого для них напряжения (согласно спецификации USB — не более 3,6 В). Вместо КС133Г могут быть применены другие отечественные или импортные стабилитроны на напряжение 3,3 или 3,6 В.

С помощью резистора R1 на интерфейсной линии D- устанавливается потенциал, сигнализирующий компьютеру, что к нему подключено низкоскоростное (LS) USB-устройство. Этот резистор может быть номиналом от 1,5 до 2,2 кОм. Резисторы R4—R7 служат для защиты выходов микроконтроллера от замыканий и для согласования логических уровней в случае раздельного питания программируемого микроконтроллера и программатора. Их номиналы могут находиться в пределах от 270 до 560 Ом.
Для уменьшения размеров печатной платы в программаторе установлена миниатюрная USB-розетка Х1 типа miniUSB. Для её соединения с розеткой USB компьютера необходим соответствующий кабель. Программируемый микроконтроллер подключают к двухрядной 10-контактной розетке Х2 программатора. Назначение её контактов соответствует принятому в стандартных программаторах STK200 и STK300.

Собран программатор на односторонней печатной плате из фольгированного стеклотекстолита, показанной на рис. 2. Большинство деталей на ней — для поверхностного монтажа. Внешний вид собранной платы — на фотоснимках рис. 3 и рис. 4.
Если не удалось приобрести микроконтроллер ATtiny45-20SU, можно собрать аналогичный программатор по схеме, изображённой на рис. 5, на более распространённом микроконтроллере ATtiny2313-20PU. В отличие от предыдущего варианта, здесь имеется кварцевый резонатор ZQ1 на 12 МГц. Конденсаторы С2 и СЗ могут быть ёмкостью 18…24 пФ. Кроме того, вместо сложной в монтаже миниатюрной розетки miniUSB применена розетка обычного размера USB-BF. Печатная плата программатора (рис. 6) немного больше предыдущей и рассчитана на установку обычных деталей с выводами, монтируемыми в отверстия. Внешний вид этого варианта программатора показан на рис. 7.

Во FLASH-память микроконтроллера программатора необходимо загрузить коды из файла tiny45.hex или tiny2313.hex (имя файла указывает на тип микроконтроллера, для которого он предназначен). Назначение выводов микроконтроллеров, используемых в режиме их программирования, указано в таблице.
Микроконтроллер ATtiny2313 можно запрограммировать до его установки на плату изготовленного программатора с помощью любого другого программатора, предназначенного для микроконтроллеров семейства AVR. Учтите, что в программе PonyProg, часто используемой для управления программаторами, подключаемыми к портам LPT и СОМ компьютера, не предусмотрена работа с микроконтроллерами ATtiny2313 и ATtiny45. Однако этот недостаток легко преодолеть, указав в качестве программируемого любой микроконтроллер семейства AVR с объёмом FLASH-памяти не менее 4 Кбайт, например, ATmega8. На сообщение о неправильном выборе типа микроконтроллера достаточно ответить «Ignore», после чего загрузка кода будет выполнена правильно.

Кроме загрузки FLASH-памяти микроконтроллера ATtiny2313 в нём необходимо запрограммировать разряд конфигурации BODLEVELO (установить его значение равным 0). Этим будет задан порог срабатывания внутреннего детектора понижения напряжения питания микроконтроллера равным 1,8В. Состояния остальных разрядов конфигурации, установленные изготовителем этого микроконтроллера, оставляют неизменными.
Чтобы избежать перепайки микроконтроллера ATtiny45 для повторного программирования (о чём будет рассказано ниже), его необходимо программировать уже установленным на плату. Внешний программатор подключают к её разъёму Х2 по схеме, изображённой на рис. 8. Поскольку микроконтроллер в изготовленном программаторе на время загрузки в него программы из ведущего (master) становится ведомым (slave), соответственно изменяются функции контактов 1 и 9 разъёма Х2, а его контакт 5 из выхода превращается во вход. Если используемый в качестве внешнего программатор не имеет выхода напряжения VCC (+5 В) для питания программируемого микроконтроллера, контакт 2 разъёма Х2 следует оставить свободным, а напряжение питания подать, например, от разъёма USB.

По аналогичной схеме (рис. 9) можно соединить с внешним программатором и уже установленный на плату микро-контроллер ATtiny2313. Но выход RESET этого программатора в этом случае придётся соединить с выводом 1 микроконтроллера отдельным проводом.
После загрузки FLASH-памяти микроконтроллера ATtiny45 в нём программируют (устанавливают равными нулю) разряды конфигурации CKSEL1, CKSEL2, CKSEL3 (тактирование микроконтроллера от генератора системы ФАПЧ), BODLEVEL0 (порог детектора понижения напряжения питания 1,8 В). Состояние остальных разрядов не изменяют.
Временно, до проверки работоспособности изготовленного программатора, не программируют разряд RSTDSBL, оставляя его значение равным 1, а вывод 1 микроконтроллера — входом необходимого для его перевода в режим программирования сигнала RESET. В линию ввода—вывода РВ5, как требуется для полноценной работы изготовленного программатора, этот вывод пока не превращают. Иначе станет невозможно с помощью обычного программатора изменить конфигурацию микроконтроллера или неудачно загруженную в него программу.

Собранный программатор с запрограммированным, как описано выше, микроконтроллером соединяют соответствующим кабелем с USB-разъёмом компьютера. Если всё сделано верно, на экране монитора появится системное сообщение «Найдено новое оборудование MICROPROG», а затем просьба установить его драйвер.
В операционных системах Windows 2000, Windows ME, Windows XP следует выбрать пункт «Установка из указанного места» и указать папку raw, находящуюся в скопированной из [6] или из приложения к статье папке avrcdcjnf на одном из дисков компьютера. На предупреждение системы Windows XR что устанавливаемое программное обеспечение на совместимость с ней не тестировалось, необходимо ответить «Всё равно продолжить».

Для других версий Windows при установке драйвера следует вместо raw выбрать в папке avrcdc_inf другую папку с соответствующим названием (vista64, xpvista7). Автор опробовал описанные программаторы только на компьютере с операционной системой Windows XP (SP2 и SP3), поэтому их работу с другими ОС гарантировать не может.
После установки драйверов в системе появится новый виртуальный СОМ-порт, в чём можно убедиться, открыв диспетчер устройств (рис. 10). В свойствах этого порта (рис. 11) можно увидеть, что именно он обслуживает подключённый к компьютеру программатор
Убедившись, что программатор на микроконтроллере ATtiny45 опознан операционной системой и успешно инициализирован, можно отключить его от компьютера, вновь подключить к внешнему программатору и запрограммировать конфигурационный разряд RSTDISBL. Для программатора с микроконтроллером ATtiny2313 эта операция не требуется.

Автором разработана и предлагается читателям компьютерная программа MicroProg.exe для работы с описанными программаторами. Её главное окно показано на рис. 12. Программатор необходимо присоединять к компьютеру до запуска этой программы. А в случае отключения и повторного подключения программатора потребуется перезапустить программу.
Для автоматического определения типа подключённого к программатору микроконтроллера служит экранная кнопка «Автоопределение». При нажатии на неё из микроконтроллера считываются и отображаются на экране его идентификатор, записанные в калибровочных и конфигурационных ячейках значения, состояние защиты памяти.
Если автоматически определить тип микроконтроллера программе не удаётся, можно выбрать его из выпадающего списка «Ручной выбор микроконтроллера». При этом конфигурация и защита памяти будут установлены принятыми для микроконтроллера этого типа по умолчанию. Поэтому нужно быть внимательным, чтобы не ошибиться.

Следует заметить, что номенклатура микроконтроллеров, с которыми может работать предлагаемая программа, отличается от таковой у распространённого программатора AVRDUDE [7]. Во-первых, Microprog не работает с микроконтроллерами семейства Classic и теми, объём памяти которых превышает 128 Кбайт. Во-вторых, он может работать с новыми микроконтроллерами, ещё не включёнными в список AVRDUDE. Кроме того, автор планирует обновлять предлагаемую программу по мере выпуска новых микроконтроллеров.

Одна из наиболее полезных особенностей описываемого программатора — возможность изменять частоту тактовых импульсов SCK. Из выпадающего списка «Частота тактового сигнала» можно выбрать одно из пяти фиксированных значений: 1 МГц, 250 кГц, 50 кГц, 10 кГц, 2 кГц. По умолчанию при подключении программатора к компьютеру устанавливается частота 1 МГц. Если тип подключённого к программатору микроконтроллера автоматически не определяется, возможно, для него такая   частота   импульсов   SCK слишком высока. Попробуйте понизить её и повторить попытку.

Может возникнуть вопрос, зачем нужна столь низкая частота, как 2 кГц? Дело в том, что автор однажды столкнулся со следующей проблемой. При включении в микроконтроллере ATtiny13 внутреннего тактового генератора частотой 128 кГц и запрограммированном разряде конфигурации CKDIV8 фактическая тактовая частота равна 16 кГц. Как следует из инструкции по программированию микроконтроллеров AVR, частота импульсов SCK должна быть меньше тактовой как минимум в 2,5 раза — в данном случае около 6 кГц. Минимальная же частота импульсов SCK в использовавшемся тогда программаторе USBasp [3] равна 8 кГц, чего, как оказалось, недостаточно. Совершенно исправный микроконтроллер оказался непригодным к употреблению, пока не был создан описанный здесь программатор, который смог вернуть его к жизни.

В поле «Идентификатор» выводится трехбайтный шестнадцатеричный код, уникальный для каждого типа микроконтроллеров. Это поле доступно только для чтения.
Значения, выведенные в поле «Калибровочные ячейки», занесены в память микроконтроллера заводом-изготовителем при калибровке его внутреннего тактового RC-генератора. Число указанных значений зависит от числа возможных фиксированных значений частоты этого генератора. У микроконтроллера ATtiny13 на рис. 12 их два — для 4,8 МГц и для 9,6 МГц. Это поле также доступно только для чтения.

В блоке «Конфигурационные ячейки» отображена конфигурация микроконтроллера. В микроконтроллерах семейства AVR имеются три конфигурационных байта: старший (High Fuse, HF), младший (Low Fuse, LF) и дополнительный (Extended Fuse, EF). В представленной программе предусмотрены два способа задавать их значения:
1. Поразрядно, устанавливая или снимая флажки соответствующих разрядов (важно помнить, что установленный флажок означает программирование разряда — присвоение ему значения 0).
2. Побайтно, задавая шестнадцатеричное значение всего конфигурационного байта в правой части окна программы.

Оба способа равноценны. Изменения, внесённые одним способом, немедленно отображаются и другим.
Экранная кнопка «Чтение» позволяет прочитать из микроконтроллера его конфигурацию и вывести её на экран. Экранная кнопка «Запись» — загрузить установленную на экране пользователем конфигурацию в микроконтроллер.
При нажатии на экранную кнопку «Верификация» происходит сравнение заданной пользователем конфигурации с фактически установленной в микроконтроллере.
С помощью экранной кнопки «По умолчанию» в окне программы отображается конфигурация, принятая для микроконтроллера данного типа по умолчанию согласно его документации. Чтобы занести её в микроконтроллер, необходимо воспользоваться экранной кнопкой «Запись».

В блоке «Ячейка защиты» отображается состояние разрядов защиты памяти микроконтроллера от несанкционированного считывания или изменения её содержимого. Компоненты этого блока такие же, как в блоке «Конфигурационные ячейки».
В блоке «Программирование» осуществляют операции с FLASH-памятью и EEPROM микроконтроллера. Экранная кнопка «Стирание кристалла» предназначена для стирания содержимого ячеек защиты памяти, FLASH и EEPROM (если разряд конфигурации EESAVE запрограммирован, EEPROM не стирается). При этом содержимое конфигурационных ячеек не изменяется.

Имеются два почти идентичных подблока: «Программирование FLASH» и «Программирование EEPROM». В первом при нажатии на экранную кнопку «Файл HEX» открывается диалоговое окно выбора файла с расширением имени .hex. Имя выбранного файла и путь к нему отображаются в поле, справа от кнопки. При этом поле является редактируемым, т. е. путь к файлу можно указать и вручную.
Экранная кнопка «Чтение» позволяет прочитать содержимое FLASH-памяти микроконтроллера и сохранить его копию в выбранном НЕХ-файле. При этом можно указать имя несуществующего файла — он будет автоматически создан. О завершении операции известит появившееся на экране сообщение.

С помощью экранной кнопки «Запись» загружают содержимое выбранного НЕХ-файла во FLASH-память микроконтроллера. По окончании загрузки на экране появится сообщение об этом. Учтите, что перед загрузкой всегда автоматически выполняется команда «Стирание кристалла».
Нажав на экранную кнопку «Верификация», сверяют содержимое выбранного НЕХ-файла и FLASH-памяти микроконтроллера. По завершении процесса на экран выводится сообщение о результате сверки. Причинами ошибок может стать включённая защита памяти микроконтроллера либо неправильный выбор файла для сверки.
Назначение кнопок с идентичными названиями в подблоке «Программирование EERPOM» аналогично описанным выше, но все операции относятся к этой области памяти, а файлы имеют расширение имени .еер.
В нижней части окна программы имеется полоса, отображающая ход процесса.

Прилагаемые файлы:   microprog.zip

ЛИТЕРАТУРА
1 Хлюпин Н. Два универсальных программатора. — Радио, 2006. № 5, с. 27—30.
2. Котов И. Программатор микроконтроллеров AVR. — Радио, 2009, № 1, с. 23, 24.
3. Fischi Т. USBasp — USB programmer for Atmel AVR   controllers.   —    www.fischl.de/usbasp/   .
4. Рыжков А. USB-программатор микроконтроллеров AVR и AT89S, совместимый с AVR910. — Радио, 2008, № 7, с. 28, 29.
5. Osamu Tamura. Virtual COM Port over Low-Speed USB AVR-CDC. CDC-SPI. —    www.recursion.jp/avrcdc/cdc-spi.html   .
6. Osamu Tamura. Virtual COM Port over Low-Speed USB AVR-CDC. Downloads. —    www.recursion.jp/avrcdc/download.html
7. AVRDUDE-AVR Downloader/UploaDEr. —   www.nongnu.org/avrdude/   .

С. СОКОЛ, г. Мариуполь, Украина
«Радио» №2 2012г.

Post Views: 1 229

РадиоКот :: Программаторы для микроконтроллеров Atmel

РадиоКот >Лаборатория >Цифровые устройства >

Программаторы для микроконтроллеров Atmel

Эта статья — попытка обобщить некоторый разрозненный материал по программаторам для популярных сегодня микроконтроллеров фирмы Atmel. Материал не претендует на полноту, однако основан на личном опыте, в чем и состоит, на мой взгляд, его основная ценность.

Схема программатора Fun-Card

Программатор предназначен для работы под управлением программы ICProg, является функциональным аналогом «5 проводков» (до предела упрощенная схема STK200+/300, о которой ниже) и представляет собой несколько резисторов.
Программатор подключается к LPT-порту. Разъем устанавливается непосредственно на плату программатора, кроме того, на плате предусмотрена кроватка для программирования контроллера AT90S2313, а также выведены сигналы SCK, MOSI/MISO и Reset.
Программируемая микросхема может брать питание с порта LPT, в этом случае, на выводах 2, 3, 4 порта должны быть установлены единицы, а вывод 2 разъёма ISP должет быть подключен к выводу Vcc микросхемы. Некоторые порты могут не потянуть такой нагрузки, в этом случае придётся использовать внешний источник питания (5В).
Источником тактовых импульсов для микросхемы также может служить LPT порт. В этом случае вывод 3 разъёма ISP (LED) должен быть подключен к выводу XTAL 1 программируемой микросхемы.
Естественно, программа программатора на PC должна понимать эти режимы работы (для работы с этой схемой нужно воспользоваться программой IC-Prog, где при выборе типа программатора следует установить «Fun-Card Programmer»).
Печатная плата в формате SL5 – здесь, программа ICProg и драйвер под ХР – здесь.

Схема программатора STK200+/300

Большая часть нижеследующего описания и сама схема взята со странички https://ln.com.ua/~real/avreal/adapters.html, крайне рекомендую посетить ее.
Адаптер получил свое название от комплектующихся им отладочных плат фирмы Atmel для быстрого начала работы с микроконтроллерами At90s8515 и Atmega103. На самом деле приведенная схема соответствует одновременно обоим адаптерам, в ней присутствуют перемычки для определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11). При необходимости программной генерации тактового сигнала XTAL1 используется линия LED адаптера, исходно предназначенная для включения светодиода (на печатной плате ver.1 установлен только светодиод, сигнал XTAL1 на разъем программирования не заведен, а вот в ver.2 на третьем контакте есть сигнал XTAL1).
Буферизованные адаптеры запитываются от платы с программируемым процессором, т.е. питание подаётся на программируемую плату, а с неё на адаптеры поступает через шлейф.
Адаптер собран на основе шинного формирователя 74HC244 (аналог 1564АП5). Возможно также использование 555АП5 (74LS244) и 1533АП5 (74ALS244) либо, при соответствующем изменении схемы, любые другие неинвертирующие формирователи с тремя состояниями выходов. Применение буфера с третьим (высокоимпедансным) состоянием позволяет по окончании программирования снять сигнал разрешения выходов и, «отключив» адаптер от схемы, не влиять на её работу (за исключением паразитных емкостей между проводами шлейфа от адаптера до платы устройства).
Поскольку разводка рассчитана на установку LPT-разъема непосредственно на плату, для этих адаптеров рекомендуется изготовить удлиннитель порта LPT длиной 1.5-1.8м со всеми линиями (земель не жалеть 🙂 и вывести с программатора шлейф до платы с микроконтроллером длиной 20-25 см.
На плате предусмотрена установка светодиодов «питание» и «программирование» (на схеме не показаны).
Схема работает с программами AVR ISP, CodeVision AVR, WinAVR и другими.
В ряде случаев (например, для программирования нескольких контроллеров одной и той же прошивкой или в случае отсутствия на плате места под ISP-разъем) могут оказаться полезными «платы расширения» для различных контроллеров, содержащие кроватку для установки контроллера и минимально необходимую для работы обвязку. Я сделал такие платы под AT90S2313/ATTiny2313, ATTiny26, ATTiny13, ATMega8 и ATMega16. Кроме того, в версии ver.1 кроватки для ATTiny26 и ATTiny13 есть непосредственно на плате.
Обе версии платы программатора и все «платы расширения» в формате SL5 – здесь.
Вот так выглядит один из моих STK в окружении плат расширения:

Схема программатора AVR910 с универсальным COM/USB интерфейсом

AVR910 – весьма известный аппнот Atmel, давший название целому классу устройств.
Сейчас под AVR910 понимают как правило протокол, по которому происходит обмен данными между компьютером и программатором.
В сети на данный момент можно найти несколько вариантов таких программаторов, различающихся способом реализации интерфейсной части. Традиционно все эти программаторы собираются на основе микроконтроллера AT90S2313 или (в редких случаях, при наличии модифицированной прошивки) ATTiny2313.
На схеме представлен программатор, способный работать как через CОМ, так и через USB.
Переключение типа интерфейса происходит при помощи джампера J1. При работе через USB питание программатора осуществляется непосредственно от этого порта компьютера, причем в этом режиме имеется полная гальваническая развязка программатора (и, соответственно, программируемого устройства) от компьютера, более того, при замыкании перемычки J2 программируемое устройство может питаться от программатора (до 100 мА).
При работе через СОМ-порт развязка отсутствует, а питание программатора осуществляется, как обычно, от программируемого устройства.
Интерфейс USB реализован на микросхеме FT232BM в стандартной схеме включения, в качестве согласователя уровней для СОМ-порта применена MAX232.
Вариант разводки печатной платы, схема и прошивка лежат здесь. Разводка платы не оптимальна, поскольку осуществлялась для конкретного корпуса с заранее заданным расположение разъемов, органов управления и индикации. Кроме того, на плате разведена кнопка для принудительного сброса программируемого МК, реально она не нужна, поскольку сброс корректно осуществляется программным образом. Также на плате присутствует разъем для программирования МК самого программатора.
Для подключения программатора к СОМ-порту служит трехконтактный разъем PLS и потребуется изготовить специальный шнурок.
Замечу, что поскольку здесь используется стандартная разводка шнурка для ISP, с этим программатором можно использовать платы расширения от STK200+/300.
Этот комплект у меня выглядит вот так:

Этот программатор работает у меня под управлением CodeVision AVR 25-ой сборки. Такой выбор обусловлен возможностью регулирования скорости порта непосредственно из программы. Программатору свойственны некоторые особенности в силу применения микросхемы FT232BM, в частности, необходимо выставить минимальную задержку в свойствах соответствующего виртуального СОМ-порта (подробнее смотрите статью USB — RS-232 преобразователи). После этого программирование осуществляется довольно быстро (хотя и чуть медленнее STK200+/300, что, естественно, вызвано последовательным способом передачи данных в программатор).

Схема AVR910-совместимого USB программатора (схема Prottoss»a)

Автором этой конструкции является Рыжков Андрей, известный также под ником PROTTOSS. Описанию этого программатора посвящена одна из страничек его сайта, там же можно найти контакты для связи с автором. Здесь этот материал публикуется с разрешения автора, так что все формальности соблюдены. :)
Программатор выполнен на основе драйвера от Objective Development и полностью совместим по командам с оригинальным программатором AVR910 от ATMEL. Описание оригинальной схемы программатора можно взять в Application Note AVR910: In-System Programming, а список поддерживаемых команд можно посмотреть в Application Note AVR109: Self Programming
Исходно схема устройсва выглядит следующим образом:

Светодиоды VL1, VL2 сигнализируют о текущих действиях программатора, и, соответственно, обозначают режимы чтения и записи. Светодиод VL3 служит для сигнализации подачи питания на программатор. Резисторы R10 — R14 предназначены для согласования уровней сигналов контроллера программатора и программируемого контроллера. С помощью J3 LOW SCK возможно понижать тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом — пониженная. Переключать джампер можно «на ходу», так как управляющая программа МК программматора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению операции записи/чтения. Данный джампер введен для возможности программирования МК AVR, тактированных от внутреннего генератора 128 кГц.
Схема была несколько переработана, в нее внесены следующие изменения.
Питание МК осуществляется от USB, но не через диоды, как в исходной схеме, а через LDO стабилизатор LM1117 на 3.3В. Замечу, что при таких напряжениях питания (как 3.3 В здесь, так и 3.6 В в исходной схеме) и частоте кварца 12 МГц Atmel не гарантирует устойчивую работу своих МК, однако к чести производителя ни один из тестировавшихся микроконтроллеров работать не отказался. Тем не менее, стоит учитывать такую возможность. Еще раз: чем больше напряжение питания (в пределах до 5В, естественно), тем выше вероятность того, что контроллер запустится и будет устойчиво работать, поэтому многие отказываются от LDO в пользу двух диодов. Да, предохранитель тоже отсутствует, но, если добавить, хуже точно не будет.
В обе цепи питания МК (VCC и AVCC) введены дополнительные LC-фильтры в виде SMD-индуктивностей на 10мкГн и конденсаторов 0.1 мкФ (в принципе, дроссель в AVCC можно заменить перемычкой, его установка — совсем уж перестраховка), кроме того, на плате появился дополнительный джампер, позволяющий запитывать целевую плату от программатора напряжением 5В или 3.3 В или, естественно, вообще не питать ее от программатора. В цепь питания целевой платы также включена индуктивность и установлен диод 1N4148, препятствующий попаданию питающего напряжения с целевой платы (если оно там есть) на программатор. Замечу, что поскольку на диоде имеет место падение напряжения, то напряжение питания целевой платы будет меньше заявленного на величину этого самого падения. В зависимости от диода и некоторых других условий теоретически оно может снизиться настолько, что его не хватит для нормального функционирования целевой платы. Для уменьшения эффекта можно использовать в этой цепи диод Шоттки, а вообще, может быть стоит вообще отказаться от такой возможности, решайте сами, насколько оно вам надо… :)
Исчез джампер NORM/MOD, предназначенный для ввода программатора в режим обновления прошивки, вместо этого на плате установлен полноценный разъем для программирования МК программатора (разъем имеет несколько нестандартный вид и представляет собой контактную гребенку PLS-6, на которую выведены следующие сигналы в последовательности MOSI-MISO-SCK-Reset-Vcc-GND. В такой же последовательности эти сигналы расположены на выводах МК ATMega16 в корпусе DIP-40, именно оттуда я ее и «срисовал». Такой разъем занимает меньше места на плате и как правило проще разводится, чем стандартный 10-ти контактный ISP-коннектор, поэтому лично я часто им пользуюсь в своих конструкциях).
Кроме того, уменьшены до 220 Ом последовательные резисторы в линиях программирования (вообще, их номинал — отдельный открытый вопрос) и до 22 Ом в линиях USB.
Все эти изменения можно проследить на печатной плате (кроме изменения номиналов резисторов, в подписях элементов они оставлены прежними), разводку которой можно скачать в конце статьи. Плата получилась односторонняя с парой перемычек и рассчитана на установку МК ATMega8 в кроватке, у которой удалены неиспользуемые выводы. Можно, конечно, и впаять туда Мегу, откусив лишние выводы, но это на ваш страх и риск. Собранный программатор выглядит так:

После сборки программатора следует прошить МК в нем (прошивка в конце статьи), при этом фьюзы для МК нужно выставить следующим образом:

Теперь, если все собрано правильно, при подключении программатора к ПК обнаружится новое устройство и потребуется установка драйверов. Драйвера, естественно, без цифровой подписи, так что просто игнорируем предупреждения ОС по этому поводу. В общем-то, на этом установка и заканчивается. Если у вас не ХР, а Win2000, то требуются некоторые дополнительные манипуляции, за подробным описанием которых (как, впрочем, и всей конструкции вцелом) я попрошу вас обратиться на сайт автора. В системе должен появиться новый виртуальный СОМ-порт, через который и работает этот программатор, стоит настроить номер этого порта и скорость. Естественно, используемый вами софт нужно будет настроить на работу именно с этим портом.

Вот еще вариант платы этого программатора на микроконтроллере в корпусе TQFP, делал под конкретный корпус, схема та же, работает не хуже:


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

Лично я свой первый МК AT90S2313 программировал с помощью Fun Card, потом собрал и до сих пор плотно использую несколько вариантов STK200+/300, а с AVR910 работаю в основном в «полевых условиях», когда требуется подключение программатора к ноутбуку без LPT-порта.. Вот такая вот эволюция..

Вопросы, как обычно, складываем тут.

Файлы:

Плата Fun Card в формате SL5
Софт для Fun Card
Платы в формате SL5 для STK200+/300
Схема (RusPlan6), плата (SL5) и прошивка (hex) для AVR910
Плата (SL5), прошивка (hex) и драйвера для USB AVR910 от PROTTOSS»a
Плата (P-CAD 2006) для USB AVR910 от PROTTOSS»a на Atmega8 в корпусе TQFP (SMD вариант)


Как вам эта статья?

Заработало ли это устройство у вас?

USB программатор для программирования микроконтроллеров AVR

Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:

  • USBasp 2.0 — с стабилизатором на 3.3 вольта.
  • USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).

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

  • Поддерживаемые ОС: Windows, MacOS, Linux
  • Процессор: Atmega8A
  • Интерфейс подключения к ПК: USB
  • Интерфейс программирования: ISP (внутрисхемное)
  • Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
  • Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
  • Поддерживаемые контроллеры: все AVR с интерфейсом SPI

Список поддерживаемых AVR микроконтроллеров

USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial Peripheral Interface):

  • ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
  • AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
  • ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535
  • AT90CAN32, AT90CAN64, AT90CAN128
  • AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
  • AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
  • AT89S51, AT89S52
  • AT86RF401.

Устройство программатора USBasp

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

USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).

Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.

схема USBasp2.0

распиновка разъема USBasp

Органы управления на плате

На плате имеются три перемычки, задающие разные режимы работы программатора:

JP1 — замыкается в случае обновления прошивки самого программатора
JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5В (левое положение) и 3.3В (правое положение)
JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой

Установка драйверов

Чтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Драйвер для программатора USBASP (v 2.0) USB ISP ранее был основан на libusb-win32. После того, как действие сертификата истекло, библиотека была заменена на libusbK. 

Работа драйвера тестировалась на версиях от Windows XP до Windows 10 (32-разрядные и 64-разрядные версии). Поскольку драйвер подписан, отпадает необходимость принудительного отключения сертификата драйвера или использования Zadig, достаточно скачать драйвер USBasp и запустить файл InstallDriver.exe из распакованного архива. В Windows XP можно просто указать мастеру установки папку с распакованными файлами драйвера.

Скачать драйвер программатора USBasp 3.0.7

ВНИМАНИЕ! Вы устанавливаете этот драйвер на свой страх и риск!

USBasp программатор

(0 оценок, рейтинг 0 из 5)

Внутрисхемный USBasp программатор для микроконтроллеров AtmelAVR.

 Технические характеристики USB программатора AVR:

  • Напряжение питания:  5 В (по шине USB)
  • Интерфейс подключения к ПК: USB
  • Интерфейс программатора: ISP (внутрисхемное программирование)
  • Программатор совместим с  Windows 98 / 2000 / XP / Vista / Seven / Linux (в том числе и 64-х битных версиях Windows)
  • скорость программирования до 5 кБ/сек
  • SCK-джампер позволяет программировать низкоскоростные контроллеры (< 1.5МГц)
  • Габаритные размеры: 54 х 25 x 9 мм

Комплеектация

  • программатор USBasp
  • 10pin кабель

Список поддерживаемых AVR микроконтроллеров:

USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial Peripheral Interface):

  • ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
  • AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
  • ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535
  • AT90CAN32, AT90CAN64, AT90CAN128
  • AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
  • AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
  • AT89S51, AT89S52
  • AT86RF401

Распиновка программатора USBASP

1 — MOSI (Выход данных для последовательного программирования)
2 — VCC +5V (Выход +5В, для питания программируемой платы от шины USB током до *200мА !!!)
3 — NC (Не используется)
4 — GROUND (Общий или минус питания)
5 — RESET (Подключается к выводу RESET микроконтроллера)
6 — GROUND (Общий или минус питания)
7 — SCK (Выход тактирования данных)
8 — GROUND (Общий или минус питания)
9 — MISO (Вход данных для последовательного программирования)
10 — GROUND (Общий или минус питания)

Добавить комментарий

Программатор / устройство записи микроконтроллеров

Программатор микроконтроллера или устройство записи микроконтроллера — это аппаратное устройство, сопровождаемое программным обеспечением, которое используется для передачи кода машинного языка в микроконтроллер / EEPROM с ПК. Компилятор преобразует код, написанный на таких языках, как ассемблер, C, java и т. Д., В код машинного языка (который понятен машинам / микроконтроллерам) и сохраняет его в шестнадцатеричном файле. Программатор микроконтроллера действует как интерфейс между ПК и целевым контроллером.API / программное обеспечение программиста считывает данные из шестнадцатеричного файла, хранящегося на ПК, и передает их в память контроллера. Целевой контроллер, на котором должна быть записана программа, помещается в программатор с помощью сокета ZIP. Программное обеспечение передает данные с ПК на оборудование через последовательный, параллельный или USB-порт.

Рис. 1: Блок-схема микроконтроллерного программатора

В зависимости от способа взаимодействия с ПК существует три типа программаторов микроконтроллеров :

Программатор параллельного интерфейса использует параллельный порт ПК.Это недорогой программист, но они не используются широко.

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

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

Программатор обычно содержит микроконтроллер, который предварительно запрограммирован на получение данных с ПК и программирование целевого контроллера. Программист записывает целевой контроллер, используя любой из протоколов, таких как SPI, параллельный интерфейс, I2C / TWI или CAN.Скорость записи зависит от способа подключения программатора к ПК и протоколов, используемых для записи целевого контроллера.

Обычный метод записи контроллера состоит в том, чтобы вынуть его из схемы, поместить на записывающее устройство и затем выгрузить шестнадцатеричный файл в контроллер с помощью API. Чтобы устранить эту проблему удаления контроллера из схемы каждый раз, когда его нужно программировать, в контроллеры теперь добавлена ​​функция In System Programmer (ISP).Это позволяет записывать / программировать контроллер, не удаляя контроллер из схемы, в которой он используется. Последние контроллеры поставляются с такой функцией, как память загрузчика, которая обеспечивает возможность самозаписи, то есть такой микроконтроллерный контроллер не требует какого-либо дополнительного программного обеспечения. Им нужен только API для передачи программы на целевой контроллер. Этот API также может быть включен в компилятор, и, следовательно, компилятор может напрямую записывать целевые контроллеры.


В рубрике: Учебники
С тегами: горелка, микроконтроллер, программа

27 лучших внештатных программистов микроконтроллеров для найма в августе 2021 г.

Разработка решения IoT, разработка прототипа IoT, разработка минимального жизнеспособного продукта (MVP) IoT с 2014 года. Более 65 проектов успешно реализованы командой энтузиастов Интернета вещей, разработчиков встраиваемых систем, разработчиков веб-приложений и мобильных приложений. Мы специализируемся на разработке Интернета вещей со следующими технологиями — ESP32, LoRa, LoRaWAN, BLE, Particle, разработка мобильных приложений с помощью React Native. Разработана платформа Sensorvision IoT с особым вниманием к управлению устройствами и визуализации данных.Платформа Интернета вещей с услугами настройки. Сценарии использования IoT — разработка продуктов с поддержкой IoT, мониторинг и управление энергопотреблением, мониторинг и отслеживание ценных активов, мониторинг промышленного состояния, интеллектуальное сельское хозяйство, гидропоника, контроль ирригации, автоматизация зданий IoT, интеллектуальная одежда, системы оповещения на основе правил В разработанных нами IoT-приложениях использовались: Используемые аппаратные платформы — Частица (электрон, аргон, бор, ксенон) ESP (ESP8266, ESP32) СТМ 32 nRF 52 Ардуино Raspberry Pi, ATmega и ARM Контроллеры Pycom Сети связи — Wi-Fi и сотовая связь (GSM / GPRS) Bluetooth и BLE LoRa, LoRaWAN и LPWAN Zigbee и Zigbee Mesh BACnet и Modbus Приемопередатчики Sigfox, NRF и MRF и соединения Ethernet.Облачные сервисы — интеграция, установленная с использованием протоколов HTTP и MQTT Облако AWS — EC2, S3, SNS, AWS IoT, AWS Greengrass, AWS Lambda, Cognito и RDS & Dynamo DB. Azure IoT Облако устройств частиц Google Cloud ВещиДоска IBM Bluemix Пользовательские облачные платформы клиентов Разработка веб-приложений и мобильных приложений — LAMP, MEAN & MERN стеки Основные технологии — HTML, CSS и JavaScript JavaScript — Node.js, Angular.js, React.js, Vue.js, React Native .NET, Python и Node-RED Ионная и нативная разработка приложений Приводы — Электромагнитные клапаны, реле и светодиоды.Протоколы аппаратной связи — UART, SPI, I2C, USART, RS232, RS485, 1-Wire. Используемые датчики — Решения для отслеживания на основе GPS с дополнительной интеграцией датчиков Датчики IMU (акселерометр, гирометр, магнитометр) Датчики окружающей среды (термопара, Dht22, Lm35, DS18B20, BMP280, датчики дождя, датчик влажности листьев, датчик влажности почвы, уровень воды, расход воды, окружающее освещение, LDR) Датчики приближения (ультразвуковые, инфракрасные, пассивные) Датчики обнаружения (Контакт, Уровень, Датчик Холла, Геркон, Концевые выключатели) Датчики качества воздуха (OMRON, Sensiron, датчики Co2, датчик пыли, VOC, MQ135, CCS811) Датчики вибрации, переключатель датчика вибрации, датчики наклона Датчики движения (ADXL345, GY521)

Понимание программистов для микроконтроллеров — Электротехника Stack Exchange

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

Все дело в производителе микросхем и в том, какие функции они хотят добавить и по какой цене. 8-контактная часть с несколькими контактами, предназначенная для программирования, была бы действительно плохой идеей, даже двойное назначение может быть плохим, поскольку пользователь может быть не в состоянии разработать свою плату для фактического использования этих контактов и сделать ее программируемой на месте. Если у вас достаточно контактов, вы можете пойти еще дальше и посвятить некоторые из них, если не хотите их мультиплексировать. Поставщик / разработчик микросхемы должен решить, какой протокол или какой набор они хотят использовать.Как уже упоминалось, иногда они хотят сделать так, чтобы вам приходилось покупать их инструменты, потому что они хранят протокол в секрете и являются собственностью. Они могут предоставить несколько решений, чтобы облегчить пользователю задачу.

Некоторые, многие в наши дни, допускают самостоятельное программирование, микроконтроллер может программировать свою собственную флеш-память из кода, запущенного на микроконтроллере. Так что это открывает дверь загрузчикам. В таком случае вы всегда можете создать свой собственный протокол с использованием собственного протокола, поэтому вам не нужно полагаться на поставщика. Но некоторые из них имеют один или два уровня загрузчиков, один из которых они размещают и защищают от использования, я предполагаю, что AVR — один аппаратный, другой — программный, загрузчик, который люди arduino размещают и используют с uart.Нередко, особенно в случае с устройствами на базе ARM, есть серийный номер, usb и, возможно, SPI или другой встроенный загрузчик, размещенный производителем чипа. Прикрепите входной контакт к сбросу или набору контактов, и загрузчик возьмет на себя управление и не загрузит приложение, а будет ждать, пока вы запустите программу. NXP, ST, Atmel — это поставщики, которые делают это.

Некоторые, правда, только jtag, теперь с уменьшенным jtag SWD вывода, они часто предлагают это как решение вместе с другими, а некоторые только jtag. Но поскольку мы больше не используем параллельные флэш-части, которые все запрограммированы с одним и тем же протоколом, и вам просто нужна была абстракция для чтения и записи адресов, инструменты jtag часто не связываются с изучением протоколов всех возможных микросхем, так что либо вы используйте специальный инструмент от них, или вы делаете это каким-либо другим способом (например, я предпочитаю, написать программу и загрузить ее, и она будет использовать самопрограммирование, некоторые из решений, (stlink и т. д.) фактически загрузить программу или дизайн , а затем инструмент разговаривает с тем, что загружено для поддержки задачи)

, но вы, как пользователь, можете добавить это к тому, что нужно искать при выборе микроконтроллера для вашего проекта.Как мы это запрограммируем, собираетесь ли вы запрограммировать эти вещи массово, запрограммировать для каждой доски, пусть ICT позаботится об этом. Но прежде чем вы перейдете к массовому производству, каково ваше решение для разработчиков программного обеспечения, не закроют ли они платы, потому что на прототипах плат нет решения для перепрограммирования? Или вы что-то выставляете и т. Д. Если чип не дает хороших решений, то это только увеличивает стоимость разработки. Обязательно поработайте со своими разработчиками программного обеспечения перед проектированием платы, по крайней мере, пары контактов uart и ремешка часто достаточно для создания загрузчика, если он еще не присутствует.Или ремешок и jtag, они могут остановить свое приложение очень рано, если ремешок установлен, а затем использовать jtag для отладки, загрузки программ или перепрограммирования чипа.

Раньше вы просто удаляли пром и стирали его, затем вставляли в программатор или оставляли для стирания, брали следующий стертый и запрограммировали его, вставляя его обратно в гнездо на плате. То или вытащил сам mcu и вставил в ластик и / или программатор.

У большинства теперь есть решение для полевого программирования, или вы можете создать собственное решение для полевого программирования (в программном обеспечении), если имеется достаточно контактов.Если не сделать плату с разъемами для прототипов разработчика и приспособление для перепрограммирования, или просто выбросить детали, пока разработчики не сделают это правильно.

usb — Программирование микроконтроллера с использованием UART

При покупке Arduino чип (Atmega8U2 / 16U) поставляется с уже запрограммированной прошивкой. Его можно обновить с помощью протокола DFU, который обычно поддерживается многими USB-устройствами. Если вы покупаете только чип, вам придется загрузить ту же прошивку в первый раз , используя обычный механизм ISP.

При этом прошивка в Atmega8U2 / 16U представляет собой простой мост USB-to-UART, поэтому вы определенно можете заменить его на аппаратный мост FTDI или Silicon Labs.

Я предполагаю, что как только будет инициирована связь между моим ноутбуком через usb и моим микро через uart, я смогу использовать любую среду IDE для программирования этого чипа

Электрическое соединение между USB и UART с использованием какой-либо микросхемы моста не означает коммуникации. Вам нужно программное обеспечение, работающее на микроконтроллере и слушающее UART.Программное обеспечение называется «загрузчиком», и его нужно загрузить первый раз, альтернативным методом.

Для ATMega328P этот альтернативный метод — тот же самый ISP, который используется для программирования прошивки USB-моста ATmega8U.

Однако вы используете микроконтроллер Dialog, который, похоже, является вариантом Cortex-M0. Документация на сайте Dialog требует регистрации, поэтому я ее не вижу. Из этого документа видно, что микроконтроллеры Dialog используют сложный механизм с двумя загрузчиками, один из которых может быть заменен вашим собственным, а другой, похоже, записан в память OTP (одноразовое программирование) на заводе.

Если это так, то подключения USB к порту UART с помощью FTDI будет достаточно для начала разработки. В качестве альтернативы вы можете использовать JTAG для загрузки вашего приложения непосредственно в ОЗУ (так называемый режим разработки в документации)

Вы должны выяснить это сами, если у вас есть доступ к документации. Здесь есть некоторая информация

Чтобы пользователь мог просто подключить кабель USB и иметь возможность общаться с чипом и загружать его

Здесь возникла некоторая проблема с терминологией.Когда вы говорите «пользователь», вы имеете в виду себя или «конечного пользователя»? Поскольку конечные пользователи не загружают чип, они подключают устройство к USB-порту (или подают питание другим способом), и оно загружается само.

Смогут ли они связываться с ним или нет, полностью зависит от загружаемого вами программного обеспечения. Без этого программного обеспечения они (или вы) могли бы иметь возможность взаимодействовать с существующим загрузчиком и загружать свои собственные программы, как обсуждалось выше.

Если под «общением» вы имеете в виду нечто иное, чем загрузка приложения из IDE, то микросхема FTDI вам не поможет.Например, вы хотите поддерживать протокол DFU (чтобы конечные пользователи могли легко обновлять программное обеспечение), или если вы хотите, чтобы ваше устройство отображалось на ПК как что-то еще (например, устройство ввода или хранения), вам необходимо изменить класс USB-устройства. Вы не можете этого сделать с микросхемой FTDI.

ОБНОВЛЕНИЕ

Как указано в комментариях @ chris-stratton, настоятельно рекомендуется добавить хотя бы заполнитель для SWD (10-контактный разъем отладки Cortex), даже если доступны другие методы программирования.Это избавит вас от многих головных болей в долгосрочной перспективе.

Программирование микроконтроллера

— создание электронных схем

Программирование микроконтроллера

может показаться немного сложным, потому что есть много непонятных решений. Я помню, что чувствовал вначале. Со всеми доступными компиляторами, IDE, программистами и методами программирования — неудивительно, что вы запутаетесь!

Итак, давайте разберемся.

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

Итак, чтобы максимально упростить программирование микроконтроллеров для вас — вот обзор того, что вам нужно сделать.

Основы программирования микроконтроллеров

Микроконтроллер сам не знает, что делать.Ваша работа — сказать ему, что вы хотите.

Итак, вам необходимо:

  • написать программный код на вашем компьютере
  • скомпилируйте код с помощью компилятора для микроконтроллера, который вы используете
  • загрузите скомпилированную версию вашей программы на свой микроконтроллер

Программирование Arduino немного проще, если вы хотите начать действительно просто.

Напишите свой программный код

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

Неважно, какое программное обеспечение вы используете для написания кода. Вы даже можете использовать Блокнот для этого шага. Мне нравится использовать действительно простой редактор. Но тот, который поддерживает подсветку синтаксиса, немного упрощает кодирование. Для Windows мне больше всего нравится Notepad ++

.

Скомпилируйте код для своего микроконтроллера

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

Используйте компилятор, который поддерживает ваш микроконтроллер, и скомпилируйте ваш код в машинный код для вашего чипа. Популярным компилятором для микроконтроллеров Atmel AVR является avr-gcc.

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

Загрузите скомпилированный файл (ы) в микроконтроллер

Обычно необходимо загрузить один программный файл и файл для EEPROM и / или флэш-памяти.

Вам необходимо физическое соединение вашего компьютера с микроконтроллером. Либо вы можете использовать специальный программатор (например, AVRISP для микроконтроллеров AVR), либо, если у вас есть программируемый USB-чип, вы можете запрограммировать его с помощью USB-кабеля (мой предпочтительный метод).

А вам нужна программа для закачки файла (ов). Для микросхем AVR вы можете использовать AVRDUDE.

Следующий шаг

Освоив основные этапы программирования микроконтроллеров, пора приступить к созданию.Если вы только начинаете, я бы порекомендовал начать с платы микроконтроллера. Arduino — самый простой, но доступно гораздо больше.

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

Программирование микроконтроллера

— обзор

Плата для программиста / разработчика USB Matrix Multimedia

Я использовал Multiprogrammer от Matrix Multimedia (см.рисунок 3.10).

Рисунок 3.10.

У меня лишь небольшой опыт работы с сборными платами приложений Matrix, называемыми «E-Blocks», и, с моей точки зрения, эти сборные платы идеально подходят для школьных и классных приложений, но не для индивидуального программирования микроконтроллеров, изучаемого любителями.

Причины моего мнения следующие; Во-первых, это за счет модулей E-Block. Если вы учитесь программированию, это однозначное предложение. Поэтому после того, как вы изучите и примените свой E-Block, ваши инвестиции, скорее всего, останутся в ящике и пылятся.Кроме того, для правильного использования E-Block вам необходимо приобрести программатор PIC компании Matrix, который представляет собой комбинацию программатора PIC и отладочной платы с портами, подключенными к разъемам DB9, для использования с системой E-Block.

Хотя я не считаю, что эта система применима к индивидуальному обучению самостоятельно, ситуация в школах и классах кардинально меняется. Представьте себе класс программирования микроконтроллеров, заполненный студентами, которые пытаются выполнить свое задание по программированию в отведенное для класса время.Сборные платы E-Block помогают, устраняя большую часть, если не всю, фактическую проводку и схему сборки, а также любые ошибки, связанные с таким зданием. Например, один из наших первых проектов — это подключение восьми светодиодов и резисторов к микроконтроллеру. Готовый светодиодный E-Block со светодиодами подключается прямо к разъему DB9 на плате программирования (см. Рисунок 3.11).

Рисунок 3.11.

С E-Block вы знаете, что проводка от микроконтроллера к светодиодам подключена правильно.Поэтому, если программа не загорается светодиодами, как ожидалось, вы немедленно смотрите на программу в поисках ошибки, а не на схему. Таким образом, в этом учебном сценарии студенты по-прежнему сосредоточены на изучении программирования с помощью Flowcode.

В этой книге мы используем дискретные компоненты и вручную встраиваем их в макетную плату без пайки. Представьте себе тот же класс, что и описанный выше, заполненный студентами, строящими схемы микроконтроллеров на макетных платах без пайки. Теперь вам нужно, чтобы инструктор осмотрел проводку перед подачей питания на схему.Это утомительная работа, и инструктор может легко пропустить ошибку при проверке такого количества беспаечных макетных плат. Если что-то выходит из строя, необходимо проверить схему на наличие ошибок подключения, а также программу. В образовательных учреждениях E-Blocks можно использовать повторно от класса к классу, от семестра к семестру и из года в год. Первоначальные вложения в покупку E-Blocks окупаются в течение всего срока службы E-Block, что является выгодным вложением для обучения в классе.

Так как это на вас влияет? Как частное лицо, выиграете ли вы от использования сборных электронных блоков? На мой взгляд, нет, я так не думаю.Прежде всего, вы не находитесь в условиях ограничений по времени, которые существуют в классе. Чтобы лучше понять использование микроконтроллеров и их применение в схемах, нужно на самом деле собрать оборудование. Даже если схема выходит из строя, это заставляет вас искать и устранять неисправности схемы (и / или программы), пока вы не найдете свою ошибку. Это дает бесценный опыт реального мира. Вы узнаете, как все сочетается и работает. Вы подключаете светодиод к контакту ввода / вывода порта на микроконтроллере и используете его в программе.Использование макетной платы без пайки также заставляет вас создавать вспомогательную схему для микроконтроллера, включая регулируемый источник питания +5 В. В реальном мире не всегда есть сборные, которые могут вам помочь, и когда это происходит, вам не хватает навыков для создания и построения схемы.

Поскольку я сосредоточился на создании схем с использованием дискретных компонентов на беспаечных макетных платах, я решил использовать другой программатор. USB-программатор Matrix Multimedia представляет собой комбинацию программатора и платы разработки.Поскольку в этой книге я не использую E-Blocks, мне не нужны коннекторы DB9 или раздел разработки этого программатора PIC. Это отличное вложение для приложений в школе и классе. Если вы решите использовать этот программатор, его программное обеспечение, PPPV3, будет установлено (или может быть переустановлено) при установке программного обеспечения Flowcode, как описано в главе 1. Кроме того, программное обеспечение и экраны мультипрограмматора аналогичны программному обеспечению программатора EPIC, которое мы обсудим позже. Большинство инструкций и информации по использованию программатора EPIC также применимы к использованию этого программатора.

Программисты микроконтроллеров для найма онлайн

Нанять внештатных программистов на микроконтроллеры

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

Чем занимаются программисты микроконтроллеров?

Первый шаг в программировании микроконтроллера — это написание кода. Это может быть сделано с использованием языка ассемблера, языков низкого или высокого уровня. Когда программисты используют язык ассемблера или языки низкого уровня для написания кода, программу можно легко разрабатывать перекрестно. Для разработки приложений высокого уровня используются такие языки высокого уровня, как C, Java или Oracle. Большинство микроконтроллеров имеют множество спецификаций, касающихся использования языков программирования и компиляторов.Программисты микроконтроллеров прибегают к помощи инженеров-электронщиков, чтобы понять эти ограничения и сделать правильный выбор для устройства. После написания кода он компилируется в машиночитаемый формат с помощью совместимого компилятора. Наконец, скомпилированный код загружается в микроконтроллер и проверяется на его функциональность и производительность.

Если вам требуются программисты-фрилансеры для программирования микроконтроллеров, вы можете найти программистов микроконтроллеров для найма на онлайн-платформах для фрилансеров.Перед тем как это сделать, вам необходимо убедиться, что человек:

  • Знание аппаратных компонентов, ЦП, компиляторов и микроконтроллеров

  • Обладает высокими навыками в часто используемых языках программирования для микроконтроллеров, таких как C и Java

    .
  • Умеет анализировать влияние каждой инструкции на микроконтроллер

Квалификация программистов микроконтроллеров

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

  • Профессиональное образование и обучение в области информатики, электроники, программирования и микроконтроллеров

  • Знание встроенного программирования, C, C ++, разработки прошивок и отладки

  • Обширный портфель из нескольких программ, написанных и скомпилированных для разных микроконтроллеров

Преимущества программистов-фрилансеров для микроконтроллеров
  • Они пишут программы, которые передают микроконтроллеру очень конкретный набор инструкций для оптимальной работы устройства

    .
  • Они могут помочь вам выбрать лучший микроконтроллер, доступный на рынке, в соответствии с вашими требованиями

  • Они могут помочь вам исправить любые ошибки и другие проблемы с микроконтроллером, чтобы убедиться, что они правильно работают в устройстве

    .

Совет гуру :

После того, как фрилансер будет принят на работу, для его работы в Guru создается WorkRoom.Используйте WorkRooms, чтобы общаться со своими фрилансерами и членами команды, отслеживать работу, загружать файлы и легко управлять несколькими заданиями.

Найдите талантливых фрилансеров по программированию микроконтроллеров на Guru — лучшей онлайн-платформе для фрилансеров. Разместите вакансию бесплатно.

.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *