Зачем мне нужен USBasp

AC PG USBASP

USBasp - это программатор для чипов AVR, который использует шину SPI для программирования. Как известно, программировать платы Arduino легко: подключил к USB и нажал кнопку. А зачем тогда этот программатор? Мы решили привести три примера из нашей реальной практики, когда он нам пригодится в решении задач.

 

1. Программирование плат Arduino без преобразователя USB-UART. Плата Arduino подключается к компьютеру по USB, но на самом контроллере ATmega, который является основой Arduino, нет поддержки работы с USB. Как правило, между контроллером ATmega и USB-портом на плате стоит еще один чип, который выполняет роль преобразователя из интерфейса USB в интерфейс UART. Но на некоторых платах Arduino, например, Mini - такого преобразователя нет, и чтобы ее запрограммировать, есть два пути. Первый - подключить к Arduino внешний преобразователь USB-UART и использовать стандартный способ прошивки. Второй - воспользоваться программатором USBasp, подключив его к шине SPI платы.

2. Восстановление сломанного загрузчика Arduino. Загрузчик - это специальный кусок кода в памяти контроллера, который отвечает за прошивку через USB. Загрузчик иногда может быть испорчен в результате некорректных действий с контроллером или вовсе отсутствовать, если чип только с завода. В этом случае прошить Arduino стандартным способом не получится - контроллер без загрузчика просто не знает и не понимает, как записать в себя прошивку, которую вы в него пытаетесь загрузить через USB. Сломанный загрузчик можно восстановить, подключив программатор к шине SPI платы и воспользоваться специальной функцией "Прошить Загрузчик", которая есть в Arduino IDE. После чего плату можно будет прошивать через USB стандартным способом.

3. Программирование контроллера AVR на собственной плате. Допустим, вы разработали прототип некоторого продукта на Arduino. Вы решаете (или заказчик вам говорит), что продукт очень полезен и его нужно много. Тогда вы решаете сделать собственную плату на том же самом контроллере ATmega328 и выпустить партию. Закладывать на плату какой-либо преобразователь USB-UART вы не хотите, поскольку устройство не работает с USB и должно быть запрограммировано только один раз вами. Тогда вы закладываете шестиконтактный разъем для интерфейса SPI, и после того, как получаете партию готовых плат, вы просто подключаете USBasp к разъему каждой платы и быстро программируете. Этот кейс очень похож на первый, но мы намеренно отделили его, чтобы показать, как бывает.

Надеемся, что материал вам помог. Любые вопросы по Arduino вы всегда можете задать в группе https://vk.com/arduinonsk
Удачи!

Метки: Arduino, ATmega328, USBAsp, AVR

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


Защитный код
Обновить