Перейти к содержанию
    

Разница в USB-программаторах – есть ли и в чем она?

 

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

Мне нужно прошивать микроконтроллеры AVR, PIC и STC51. Для этого я вижу что в продаже есть специализированные USB-TTL программаторы для каждого из типов МК. Но когда разбираюсь в схеме этих программаторов, то выясняется что они все построены на микросхемах CH340G, CP2102, PL2303 и им подобных. Но ведь это всего лишь преобразователи интерфейсов. В чем принципиальная разница между программатором для AVR, PIC и STC51 если они все построены на одной и той же микросхеме и с минимумом обвязки? Ведь логично предположить что это один и тот же программатор, а отличается только ПО для программирования микроконтроллеров через эту USB-приблуду?

Помогите разобраться и понять в чем разница. Нужно ли покупать один и тот же программатор три раза или вся разница между ними только в названии товара в интернет-магазине?

Всем заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У каждой серии МК свой протокол записи, потому, обычно в программаторе есть какой-то микроконтроллер который передает данные(прошивку, энергонезависимую память, служебные байты) в целевой МК в соответствии с этим протоколом. А  CH340G, CP2102, PL2303  это всего лишь микросхемы помогающие передать через USB данные в программатор. Ранее были программаторы которые контроллера не имели и весь протокол на ногах целевого МК воспроизводил комп, но с приходом Виндовс прямой доступ к портам стал проблематичным, что привело к сложностям по соблюдению таймингов, а потому  от такого подхода практически отказались. Т.е. сейчас ПК практически ничего не знает о том как прошивать МК - он знает только о том, как передать прошивку в программатор. Ну а отличия между программаторами разных серий по сути только в прошивках программаторов и исторически сложившихся заморочках....

ЗЫ. Помимо этого, были МК которые требовали для перехода в режим записи высокого напряжения(12-15В) на одной из ног, что добавляло геморроя в подключении к нему. Но сейчас от этого практически отказались... 

ЗЗЫ. Плюс сейчас появляется все больше МК с USB на борту и возможностью записи в него прошивки вообще без программатора. Но это пока что скорее редкость чем правило. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, artemkad сказал:

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

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

Но также вижу что все же есть и множество аналогичных по форм-фактору программаторов, но без дополнительных микросхем. Вот например: https://aliexpress.ru/item/1902348375.html?sku_id=52149064417. Это, судя по всему, как раз тот вариант, где именно компьютер должен знать как прошивать микроконтроллера, верно?

И в целом, чтобы не заморачиваться с софтом и таймингами, лучше покупать программаторы, где уже присутствуем микроконтроллер, знающий как прошивать целевой МК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 минут назад, pendejo сказал:

Это, судя по всему, как раз тот вариант, где именно компьютер должен знать как прошивать микроконтроллера, верно?

Это для МК которые пишутся по UART-подобному интерфейсу или для контроллеров в которых уже записан загрузчик с UART-интерфейсом (плата Arduino). Тут интерфейс уже известен, а программатору остается только воспроизвести нужный протокол - почти как и для USB, только нужен мост USB-UART.  Причем т.к. UART это асинхронный интерфейс там между символами не нормируются интервалы, а потому Windows особо не поганит обмен. 

25 минут назад, pendejo сказал:

И в целом, чтобы не заморачиваться с софтом и таймингами, лучше покупать программаторы, где уже присутствуем микроконтроллер, знающий как прошивать целевой МК?

В целом - да. Причем некоторые производители(к примеру TI) особо не светят протокол записи, а потому приходится покупать программатор или от производителя с его прогой для записи или от китайцев которые протокол слизали. 

ЗЫ. Вообще лучше сперва определиться с какими МК или памятью надо работать, а потом уже под них искать программаторы. При этом, по части всей линейки ARM-ов стоит помнить, что их ядра разрабатывает ARM, а потому протоколы записи там у разных производителей аналогичные и разные производители выпуская программаторы под свои МК разве что различают свои от чужих по сигнатуре(записанный в МК идентификатор) чипа...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понял, спасибо большое. Теперь все встало на свои места и все стало понятно. Вопросов больше нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, pendejo сказал:

Вопросов больше нет.

Вопросов будет еще больше, ибо программаторов существует 100500 всяких разных, например что то такое: Прог

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для AVR  и PIC не надо покупать разные программаторы, их можно отлаживать и программировать с помощью ATMEL ICE и POWER DEBUGGER производства Microchip.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 часов назад, Vasily_ сказал:

например что то такое: Прог

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

  

17 часов назад, A.V.Avtomat сказал:

Для AVR  и PIC не надо покупать разные программаторы, их можно отлаживать и программировать с помощью ATMEL ICE и POWER DEBUGGER производства Microchip.

А каким образом достигается такая универсальность? У них какой-то стандартизированный интерфейс для программирования? Или все перекладывается на плечи десктопного софта?

Изменено пользователем pendejo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, pendejo said:

А каким образом достигается такая универсальность?

 

Покупкой Микрочипом Атмела

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На самом деле есть куча проектов программаторов где используется только одна FT232, протокол программирования реализуется на стороне ПК путём программной записи и чтения служебных выводов CTS, RTS и прочих. И да, такие решения по большей части универсальны, но имеют кучу недостатков - работают только со своим софтом, официальными IDE не поддерживаются, список поддерживаемых микроконтроллеров ограничен этим софтом и как правило не очень большой, новые туда добавляются редко, прошивает медленно, про отладку можно даже не мечтать. Единственный плюс - нет проблемы курицы и яйца, когда чтобы сделать программатор нужен программатор. Но актуально это было во времена когда официальные программаторы стоили очень дорого, а клонов небыло.

Как пример такого проекта https://avr.ru/ready/tools/prog/ft232rl_universal

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...