СХЕМА.RU - Радиолюбительский портал » Схемы » Программаторы » Программатор на FT232RL без управляющего МК

Программатор на FT232RL без управляющего МК

6-12-2012, 13:35 От: admin Посмотрели: 7487
В наши дни становиться всё меньше и меньше ПК с наличием в них COM и LPT портов.  В этом случае можно использовать USB программаторы, но большинство из них имеют в своём составе микроконтроллер, который тоже нужно чем-то прошить. Вот тут и начинается проблема "курицы и яйца” т.е чтобы собрать программатор нужен ещё один программатор. Но к счастью в интернете уже давно появилась схема высокоскоростного USB программатора, не требующего прошивки управляющего контроллера. Программатор называется USBBit. В составе этого программатора имеется распространённая микросхема FT232RL. Это аппаратный высокоскоростной переходник USB – RS232, который может не только эмулировать RS232, но и поддерживает прямой доступ к порту (это когда мы можем не только записать в порт число, но и выставить любой вывод порта в 0 или 1). Такой режим называется BitBang. Именно с помощью этого режима можно эмулировать интерфейс SPI, по которому программируются микроконтроллеры AVR. Недостатка у этой микросхемы два: она очень маленькая и запаять её бывает сложно, и она дорогая (у нас она стоит 210 рублей). Но это стоит того! Программатор получается отличный, а главное не требует прошивки управляющего контроллера! Схема (упрощённая):

    Это упрощённая схема, но тем не менее рабочая. Также программатор можно использовать в качестве переходника USB – UART. Джампером выбирается уровень сигналов программирования – 5 или 3.3в. Но у этой схемы есть два недостатка: он не возвращает в 1 линию RST после программирования, и чтобы программа запустилась, нужно отключать программатор то целевой платы, что неудобно. И ещё один её недостаток – после завершения программирования линии остаются либо в нулях, либо в единицах, а если к выводам программирования мк подключено ещё что-то, то это доставляет неудобство.                       Я рекомендую эту схему:


   Я собрал именно эту схему. За счёт применения микросхемы буфера удалось избавиться от вышеперечисленных недостатков. У микросхемы буфера есть три состояния выхода: высокий уровень, низкий уровень и hi-z. Hi-z – третье состояние, при котором линии как бы не к чему не подключены, поэтому на них ни 1, ни 0. Вывод 1 и 19 – выводы управления. Если на них подать 1, то выход перейдёт в hi-z состояние, а если ноль – на выводе будет либо 1, либо 0, в зависимости от сигнала на входе. И ещё один плюс такой схемы – если вывод программирования случайно закоротить(соединить) на землю, то сгорит буфер, который стоит 7 рублей, а не микросхема за 210!
Далее я , как обычно развёл плату в Sprint-layout:

Вытравил и запаял:

Вид со стороны пайки:

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

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

   Теперь переходим на вкладку USB_Config_Descriptor и выставляем значение Max Bus Power = 500:

   Остальное не трогаем. Эта настройка позволит получать из шины USB ток до 500 мА. Теперь переходим на Hardware_Specific – IO_Controls и устанавливаем в поле С4 значение CLK6:

   После этой настройки на выводе CUSB4(12) будет генерироваться импульс с частотой 6 мГц. Далее можно поменять идентификатор устройства т.е. имя, под которым его распознаёт система, когда драйверы не установлены. Переходим на USB_String_Descriptors и пишем в поле Product Description своё название. Я написал "Программатор USBBit”:

   Настройка завершена и теперь нужно сохранить изменения. Нажимаем на верхней панели Devices – Program. Через пару секунд операция завершится и можно закрывать утилиту. После этого отключите устройство от пк на несколько секунд, а потом включите. Далее попробуем запрограммировать мк.

   Этот программатор поддерживает только модифицированная AVR Dude. Поскольку программа консольная, я использую графическую оболочку SinaProg. Оболочка+модифицированная дудка находятся в архиве в конце статьи. Скачивайте их и распаковывайте куда-нибудь поближе. Например, C:\usbbit\. В этом пути не должно быть никаких папок с русскими названиями и пробелами, иначе программа не будет работать!!! Запускайте SinaProg и выбирайте программатор USBBit, порт USB и максимальную скорость. Дальше подключите программатор к мк и к компу. Подайте на мк питание и нажмите кнопку Search:

Из логов дуды следует, что она обнаружила программатор, а потом и мк – ATnega16. Специально для этой статьи я написал программу для мк на языке ассемблер, которая мигает диодом.

Текст этой программы:

.include "m16def.inc”;Подключаем файл с макроопределениями для ATmega16.
.macro OUTI; Макрос, позволяющий вывести значение в одну строчку кода.ldi r16,@1OUT @0, r16.endmacro
ldi r16,@1
out @0,r16
.endmacro
OUTI SPL, low(RAMend);Инициализация стека.
OUTI SPH, high(RAMend)
OUTI DDRD,1<<DDD4
Main:; Бесконечный цикл мигания диодом.
OUTI PORTD,1<<PD4; Зажигаем диод.
rcall delay; Ждёмс!!!
OUTI PORTD,0<<PD4; Гасим диод.
rcall delay; Ждёмс!!!
rjmp main
delay:; Подпрограмма задержки
ldi r16,0
ldi r17,0
ldi r18,5
loop:
DEC r16
BRNE loop
DEC r17
BRNE loop
DEC r18
BRNE loop
ret

Далее компилируем программу и загружаем в мк. Светодиод замигает. 

Итог: 
Программатор получился очень удобный и быстрый. Надо только суметь запаять FT232RL, но я думаю у вас всё получится! Удачи!
Ссылки: 
1)  Архив с драйверами, программами, платой.


Источник: http://cxema.my1.ru


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

Обсудить на форуме


На момент добавления Программатор на FT232RL без управляющего МК все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
avatar
2

pavasilich

8 августа 2014 13:54 | Гости | |

Я собирал такой, только делал свою миниатюрную плату. Работал без нареканий, правда, после того, как собрал себе PICkit2, не включал, т.к. шью теперь PIC-и и AVR-ы программатором PICkit2.
Что то нет данных об авторе, да и "первоисточник", на который ссылаетесь, перепечатал материал с другого сайта. Зачем плодить дубликаты?...

avatar
1

DzzZ

8 мая 2014 15:15 | Гости | |

Собрал.
Комп обнаружил новое устройство.
Установил дрова.
Настроил FT-ху как показано.
Контролер не видит. Не видит и новый(только из магазина) и в схеме(рабочий). Питание на контроллер проходит, reset тоже . Но контроллер не определяет.
Проверил несколько раз, все прозвонил.
Пробовал менять скорости - НЕ ВИДИТ!

SinaProg:

avrdude -C avrdude.conf -c usbbit -P ft0 -B 9600 -p t2313 -q


avrdude: BitBang OK
avrdude: pin assign -
MISO:4
SCK:2
MOSI:6
RESET:5
GATES:3
avrdude: drain OK

SET=> ft245r: bitclk 4800 -> ft baud 2400
avrdude: ft245r_program_enable: failed
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

RESET ... OK

avrdude done. Thank you.


Советы, идеи, предложения... просто мысли...

Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Решите уравнения x+2x=789
Ответ:*
Введите два слова, показанных на изображении:



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Календарь новостей
«    Апрель 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930