pendejo 0 27 февраля Опубликовано 27 февраля · Жалоба Приветствую, уважаемые форумчане. Мой вопрос, разумеется, слишком дилетантский и ответ на него можно найти как всегда в гугле, но я даже не понимаю по каким ключевым словам искать. Мне нужно прошивать микроконтроллеры AVR, PIC и STC51. Для этого я вижу что в продаже есть специализированные USB-TTL программаторы для каждого из типов МК. Но когда разбираюсь в схеме этих программаторов, то выясняется что они все построены на микросхемах CH340G, CP2102, PL2303 и им подобных. Но ведь это всего лишь преобразователи интерфейсов. В чем принципиальная разница между программатором для AVR, PIC и STC51 если они все построены на одной и той же микросхеме и с минимумом обвязки? Ведь логично предположить что это один и тот же программатор, а отличается только ПО для программирования микроконтроллеров через эту USB-приблуду? Помогите разобраться и понять в чем разница. Нужно ли покупать один и тот же программатор три раза или вся разница между ними только в названии товара в интернет-магазине? Всем заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 89 27 февраля Опубликовано 27 февраля · Жалоба У каждой серии МК свой протокол записи, потому, обычно в программаторе есть какой-то микроконтроллер который передает данные(прошивку, энергонезависимую память, служебные байты) в целевой МК в соответствии с этим протоколом. А CH340G, CP2102, PL2303 это всего лишь микросхемы помогающие передать через USB данные в программатор. Ранее были программаторы которые контроллера не имели и весь протокол на ногах целевого МК воспроизводил комп, но с приходом Виндовс прямой доступ к портам стал проблематичным, что привело к сложностям по соблюдению таймингов, а потому от такого подхода практически отказались. Т.е. сейчас ПК практически ничего не знает о том как прошивать МК - он знает только о том, как передать прошивку в программатор. Ну а отличия между программаторами разных серий по сути только в прошивках программаторов и исторически сложившихся заморочках.... ЗЫ. Помимо этого, были МК которые требовали для перехода в режим записи высокого напряжения(12-15В) на одной из ног, что добавляло геморроя в подключении к нему. Но сейчас от этого практически отказались... ЗЗЫ. Плюс сейчас появляется все больше МК с USB на борту и возможностью записи в него прошивки вообще без программатора. Но это пока что скорее редкость чем правило. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pendejo 0 27 февраля Опубликовано 27 февраля · Жалоба 31 минуту назад, artemkad сказал: обычно в программаторе есть какой-то микроконтроллер который передает данные(прошивку, энергонезависимую память, служебные байты) в целевой МК в соответствии с этим протоколом Благодарю за подробный и понятный ответ. Вижу, да, что в каких-то программаторах помимо CH340G есть и еще какая-нибудь микросхема, как правило с восемью выводами. Маркировки не видно, поэтому я подумал что это может быть какой-нибудь компаратор или вроде того. Но видимо это и есть программирующий микроконтроллер. Но также вижу что все же есть и множество аналогичных по форм-фактору программаторов, но без дополнительных микросхем. Вот например: https://aliexpress.ru/item/1902348375.html?sku_id=52149064417. Это, судя по всему, как раз тот вариант, где именно компьютер должен знать как прошивать микроконтроллера, верно? И в целом, чтобы не заморачиваться с софтом и таймингами, лучше покупать программаторы, где уже присутствуем микроконтроллер, знающий как прошивать целевой МК? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 89 27 февраля Опубликовано 27 февраля · Жалоба 25 минут назад, pendejo сказал: Это, судя по всему, как раз тот вариант, где именно компьютер должен знать как прошивать микроконтроллера, верно? Это для МК которые пишутся по UART-подобному интерфейсу или для контроллеров в которых уже записан загрузчик с UART-интерфейсом (плата Arduino). Тут интерфейс уже известен, а программатору остается только воспроизвести нужный протокол - почти как и для USB, только нужен мост USB-UART. Причем т.к. UART это асинхронный интерфейс там между символами не нормируются интервалы, а потому Windows особо не поганит обмен. 25 минут назад, pendejo сказал: И в целом, чтобы не заморачиваться с софтом и таймингами, лучше покупать программаторы, где уже присутствуем микроконтроллер, знающий как прошивать целевой МК? В целом - да. Причем некоторые производители(к примеру TI) особо не светят протокол записи, а потому приходится покупать программатор или от производителя с его прогой для записи или от китайцев которые протокол слизали. ЗЫ. Вообще лучше сперва определиться с какими МК или памятью надо работать, а потом уже под них искать программаторы. При этом, по части всей линейки ARM-ов стоит помнить, что их ядра разрабатывает ARM, а потому протоколы записи там у разных производителей аналогичные и разные производители выпуская программаторы под свои МК разве что различают свои от чужих по сигнатуре(записанный в МК идентификатор) чипа... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pendejo 0 27 февраля Опубликовано 27 февраля · Жалоба Понял, спасибо большое. Теперь все встало на свои места и все стало понятно. Вопросов больше нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 59 28 февраля Опубликовано 28 февраля · Жалоба 10 часов назад, pendejo сказал: Вопросов больше нет. Вопросов будет еще больше, ибо программаторов существует 100500 всяких разных, например что то такое: Прог Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.V.Avtomat 26 28 февраля Опубликовано 28 февраля · Жалоба Для AVR и PIC не надо покупать разные программаторы, их можно отлаживать и программировать с помощью ATMEL ICE и POWER DEBUGGER производства Microchip. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pendejo 0 29 февраля Опубликовано 29 февраля (изменено) · Жалоба 19 часов назад, Vasily_ сказал: например что то такое: Прог Судя по всему это какой-то универсальный программатор наподобие T48? С ними как раз вопросов и не возникло, так как в официальной документации все написано доступным языком. Но это слишком жирно для моих нужд. 17 часов назад, A.V.Avtomat сказал: Для AVR и PIC не надо покупать разные программаторы, их можно отлаживать и программировать с помощью ATMEL ICE и POWER DEBUGGER производства Microchip. А каким образом достигается такая универсальность? У них какой-то стандартизированный интерфейс для программирования? Или все перекладывается на плечи десктопного софта? Изменено 29 февраля пользователем pendejo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Priest_89 8 29 февраля Опубликовано 29 февраля · Жалоба 3 hours ago, pendejo said: А каким образом достигается такая универсальность? Покупкой Микрочипом Атмела Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMI 20 29 февраля Опубликовано 29 февраля · Жалоба На самом деле есть куча проектов программаторов где используется только одна FT232, протокол программирования реализуется на стороне ПК путём программной записи и чтения служебных выводов CTS, RTS и прочих. И да, такие решения по большей части универсальны, но имеют кучу недостатков - работают только со своим софтом, официальными IDE не поддерживаются, список поддерживаемых микроконтроллеров ограничен этим софтом и как правило не очень большой, новые туда добавляются редко, прошивает медленно, про отладку можно даже не мечтать. Единственный плюс - нет проблемы курицы и яйца, когда чтобы сделать программатор нужен программатор. Но актуально это было во времена когда официальные программаторы стоили очень дорого, а клонов небыло. Как пример такого проекта https://avr.ru/ready/tools/prog/ft232rl_universal Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться