Программатор на ft232rl своими руками

В наши дни становиться всё меньше и меньше ПК с наличием в них COM и LPT портов. В этом случае можно использовать USB программаторы, но большинство из них имеют в своём составе микроконтроллер, который тоже нужно чем-то прошить. Вот тут и начинается проблема т.е чтобы собрать программатор нужен ещё один программатор. Но к счастью в интернете уже давно появилась схема высокоскоростного USB программатора, не требующего прошивки управляющего контроллера. Программатор называется USBBit. В составе этого программатора имеется распространённая микросхема FT232RL. Это аппаратный высокоскоростной переходник USB – RS232, который может не только эмулировать RS232, но и поддерживает прямой доступ к порту (это когда мы можем не только записать в порт число, но и выставить любой вывод порта в 0 или 1). Такой режим называется BitBang. Именно с помощью этого режима можно эмулировать интерфейс SPI, по которому программируются микроконтроллеры AVR. Программатор получается отличный, а главное не требует прошивки управляющего контроллера!
Вот по этой схеме я делал программатор. Но можно было сделать более упрошенную схему без 74НС244,но у этой схемы есть два недостатка: он не возвращает в 1 линию RST после программирования, и чтобы программа запустилась, нужно отключать программатор то целевой платы, что неудобно. И ещё один её недостаток – после завершения программирования линии остаются либо в нулях, либо в единицах, а если к выводам программирования мк подключено ещё что-то, то это доставляет неудобство без 74НС244, но за счёт применения микросхемы буфера удалось избавиться от вышеперечисленных недостатков. У микросхемы буфера есть три состояния выхода: высокий уровень, низкий уровень и HI-Z. HI-Z – третье состояние, при котором линии как бы не к чему не подключены, поэтому на них ни 1, ни 0. Вывод 1 и 19 – выводы управления. Если на них подать 1, то выход перейдёт в HI-Z состояние, а если ноль – на выводе будет либо 1, либо 0, в зависимости от сигнала на входе. И ещё один плюс такой схемы – если вывод программирования случайно закоротить(соединить) на землю, то сгорит буфер

Далее развёл плату в Sprint-layout, так как у меня была микросхема 74НС244 в DIP исполнении соответственно и плату развел под этот корпус .

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

Затем напоял детальки

Все проверил на отсутствие короткого замыкания, все программатор готов

Теперь нужно установить драйвера и настроить.
Для начала скачайте архив с драйвером в конце моей страницы(поста). Теперь подключите его к пк, он должен найти новое оборудование – FT232R USB UART и установить драйвера. Если всё прошло успешно, в диспетчере устройств появятся два новых устройства – USB Serial Converter (в разделе “контроллеры последовательной шины USB”) и USB Serial Port (в разделе “порты COM и LPT”)

Читайте также:  Можно ли перепрошить брелок сигнализации

Когда эти устройства отобразились в диспетчере устройств, то можно идти дальше. Далее идёт настройка микросхемы FT232RL так, чтобы она генерировала тактовый сигнал 6 мГц. Для этого открываем программу FT PROG из архива и нажимаем Devices – Scan and Parse. Через несколько секунд программа найдёт чип и появится такое окно:

По желанию можно поменять идентификатор устройства т.е. имя, под которым его распознаёт система, когда драйверы не установлены. Переходим на USB_String_Descriptors и пишем в поле Product Description своё название. Я написал “Программатор USBBit”:

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

В наши дни становиться всё меньше и меньше ПК с наличием в них COM и LPT портов. В этом случае можно использовать USB программаторы, но большинство из них имеют в своём составе микроконтроллер, который тоже нужно чем-то прошить. Вот тут и начинается проблема т.е чтобы собрать программатор нужен ещё один программатор. Но к счастью в интернете уже давно появилась схема высокоскоростного USB программатора, не требующего прошивки управляющего контроллера. Программатор называется USBBit. В составе этого программатора имеется распространённая микросхема FT232RL. Это аппаратный высокоскоростной переходник USB – RS232, который может не только эмулировать RS232, но и поддерживает прямой доступ к порту (это когда мы можем не только записать в порт число, но и выставить любой вывод порта в 0 или 1). Такой режим называется BitBang. Именно с помощью этого режима можно эмулировать интерфейс SPI, по которому программируются микроконтроллеры AVR. Программатор получается отличный, а главное не требует прошивки управляющего контроллера!
Вот по этой схеме я делал программатор. Но можно было сделать более упрошенную схему без 74НС244,но у этой схемы есть два недостатка: он не возвращает в 1 линию RST после программирования, и чтобы программа запустилась, нужно отключать программатор то целевой платы, что неудобно. И ещё один её недостаток – после завершения программирования линии остаются либо в нулях, либо в единицах, а если к выводам программирования мк подключено ещё что-то, то это доставляет неудобство без 74НС244, но за счёт применения микросхемы буфера удалось избавиться от вышеперечисленных недостатков. У микросхемы буфера есть три состояния выхода: высокий уровень, низкий уровень и HI-Z. HI-Z – третье состояние, при котором линии как бы не к чему не подключены, поэтому на них ни 1, ни 0. Вывод 1 и 19 – выводы управления. Если на них подать 1, то выход перейдёт в HI-Z состояние, а если ноль – на выводе будет либо 1, либо 0, в зависимости от сигнала на входе. И ещё один плюс такой схемы – если вывод программирования случайно закоротить(соединить) на землю, то сгорит буфер

Далее развёл плату в Sprint-layout, так как у меня была микросхема 74НС244 в DIP исполнении соответственно и плату развел под этот корпус .

Читайте также:  Как правильно сделать фото с телефона

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

Затем напоял детальки

Все проверил на отсутствие короткого замыкания, все программатор готов

Теперь нужно установить драйвера и настроить.
Для начала скачайте архив с драйвером в конце моей страницы(поста). Теперь подключите его к пк, он должен найти новое оборудование – FT232R USB UART и установить драйвера. Если всё прошло успешно, в диспетчере устройств появятся два новых устройства – USB Serial Converter (в разделе “контроллеры последовательной шины USB”) и USB Serial Port (в разделе “порты COM и LPT”)

Когда эти устройства отобразились в диспетчере устройств, то можно идти дальше. Далее идёт настройка микросхемы FT232RL так, чтобы она генерировала тактовый сигнал 6 мГц. Для этого открываем программу FT PROG из архива и нажимаем Devices – Scan and Parse. Через несколько секунд программа найдёт чип и появится такое окно:

По желанию можно поменять идентификатор устройства т.е. имя, под которым его распознаёт система, когда драйверы не установлены. Переходим на USB_String_Descriptors и пишем в поле Product Description своё название. Я написал “Программатор USBBit”:

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

Данный программатор не нуждается в первичном программировании — протравил печатную плату, спаял и пользуйся. Автор данного устройства указан в конце статьи, а здесь приведу небольшую выдержку из руководства, чтоб было понятнее, о чём речь: правильный USB-программатор – вещь, фактически, универсальная. Его можно воткнуть в любой современный компьютер и без проблем перешить нужный микроконтроллер с любым объемом FLASH-памяти на довольно высокой скорости. Но ключевое слово здесь – "правильный", который нормально работает без настройки и танцев с бубном над ним сразу же после установки и монтажа деталей. Который не глючит при переходе от одного ПК к другому или смене ОС. Правильный – это такой, драйвера на который есть для любой современной широко используемой версии ОС, и эти дрова неглючные. Каждый определит еще с десяток критериев правильности для себя лично, но вышеперечисленные – основные, без соблюдения которых нормально работать с микроконтроллером невозможно будет в принципе.

В настоящее время в Интернете полно различных схем USB-программаторов для AVR. Условно их можно разделить на две большие группы.

Первая группа включает в себя программаторы, построенные на основе микроконтроллеров (в частности, AVR). Собирал несколько штук программаторов от Prottoss’а (AVR910), себе и своим знакомым, а также несколько штук USBasp. Двое из знакомых, одаренных сиими дывайсами, в восторге. Удачно шьют камни в течение уже нескольких лет. У остальных (в частности – у меня лично) собранные программаторы особой радости не вызвали. Не говорю, что они плохие, просто вот так складывались обстоятельства: на одном компьютере работает, на другом нет. Или, проработав пару часов, оказывались невидимыми для софта, через который шьется камень. И много еще чего. Сразу оговорю – я не разбирался с прошивкой контроллеров, на которых данные программаторы собраны. Правда, перепробовал кучу программ-прошивальщиков, через которые данные программаторы, вроде как без проблем должны шить камни. Однако, результат в виде частых глюков меня не особо удовлетворил. Исключение составила только программа AVRDUDE в комплексе с графической оболочкой SinaProg, но о ней я узнал слишком поздно. Кстати, заметил такую тенденцию: чем древнее железо ПК, тем лучше работают данные программаторы. Ну и самый неприятный момент для тех, кто выбрал второй вариант знакомства с микроконтроллерами AVR – чтобы программатор заработал, нужно чем-то прошить входящий в его состав камень. То есть получается так: чтобы пользоваться программатором нужно сделать/найти программатор, чтобы прошить мозги этого программатора. Вот такой вот замкнутый круг.

Читайте также:  Экран телефона стал розовым

И вторая группа USB-программаторов включает в себя решение на базе специализированной микросхемы FT232Rx. В свое время данная микросхема стала своего рода революцией. Мало того, что она без особых заморочек для разработчика преобразует USB в UART (и, наверное, 95% разработчиков используют ее именно в этих целях). Она еще умеет эмулировать полноценный COM-порт, причем состояние «второстепенных» линий (таких, как RTS, CTS, DTR и т.д.) можно задать/считать не из виртуального COM-порта, а напрямую через драйвер FTDI (разработчика FT232Rx). Таким образом, появилось новое, без необходимости первичной прошивки мозгов программатора, решение, для прошивки микроконтроллеров, причем, довольно быстрое.

Принципиальная схема программатора USB

Данная схема просто направляет сигналы MOSI, MISO, SCK и RESET, которые формируются на выводах DCD, DTR, RTS и DSR микросхемы DD1 (FT232RL) соответственно, на нужные выводы прошиваемого микроконтроллера (т.е., фактически является аналогом «древних» программаторов). Причем, делает это только в момент программирования камня, в остальные моменты времени программатор отключен от прошиваемой платы за счет 4-х буферных элементов микросхемы DD2 (74HC125D). Состояние линий MOSI, MISO, SCK и RESET устанавливается/считывается прошивающим софтом на компьютере. Передача данных между ПК и микросхемой FT232RL идет по шине USB (от которой еще и получает питание программатор).

Светодиод HL2 («PWR») сигнализирует о подаче на программатор напряжения питания с шины USB. Светодиод HL1 («PROG») индицирует процесс прошивки микроконтроллера (горит только во время прошивки). Вот, в принципе, и все описание собственно схемы электрической принципиальной. Единственное что хотелось бы отметить: во-первых, для подключения программатора к прошиваемой плате используется разъем IDC-10MR (XP2 «ISP»), распиновка которого совпадает с широко распространенной распиновкой разъема программатора
STK200/STK300: