USBBit v1.0


USBBit - USB Программатор позволяющий внутрисхемно прошивать микроконтроллеры AVR фирмы ATMEL через SPI (серийный программный интерфейс). Программатор построен на чипе FTDI - FT232RL, для работы используется асинхронный BitBang режим микросхемы. Т.е. программатор не использует виртуальный COM Port, за счёт чего достигается большая скорость прошивки. Все сигналы проходят через буфер 74HC241, что позволяет после программирования отключать программатор от программируемой схемы. На данный момент программатор работает только с особой модифицированной версией программы Avrdude. Возможности программатора очень широки, в основном всё зависит от программного


Возможности:
- Для работы устройства не требуется предварительная прошивка!
Т.е. для сборки и запуска этого программатора не требуется другой программатор.
- Подключение к компьютеру через USB Порт
Полезно пользователям ноутбуков, у которых отсутствует COM порт.
- Питание прошиваемого МК от USB
Есть возможность питать прошиваемое устройство, атак-же в дальнейшем работать с разрабатываемым устройством питая его от USB порта компьютера. Потребляемый ток не должен превышать 400mA.
- Выбор уровня сигналов
Джампером J1 варьируется уровень выходных сигналов программатора 3,3в или 5в.
- Тактирование прошиваемого МК от программатора
В случае, когда по ошибке был отключен внутренний тактовый генератор микроконтроллера, для прошивки можно использовать сигнал с программатора.
- UART интерфейс
В обычном режиме программатор можно использовать для передачи данных между устройством и компьютером, т.е. использовать сигналы RX/TX COM порта.
В момент программирования сигналы RX и TX отключаются, а при завершении процесса программирования подключаются обратно. Данный вариант удобен при отладке устройств.
Частичная совместимость со стандартным ISP разъёмом программатора STK200 -
Контакты основных сигналов (mosi,miso,sck,rst) расположены так-же как и в программаторе STK200.


Схема:

Разъёмы: P1 - USB-B, P2 - IDC 10Pin, J1-Header 3 Pin c Джампером
Микросхемы: U1 - FT232RL, U2 - 74HC241
Резисторы: R1,R3,R7,R8 - 510, R2-10K, R4,R5,R6 - 33.
Конденсаторы: С1,С2,С4,С5 - Керамические 100nF, C3 - Танталовай или Электролитический 4.7uF x 10v
Диоды: D1 - Выпрямительный 1N4002
Светодиоды: HL1 - HL4 Любые цветные, потребляемый ток которых не превышает 20мА.


Печатная плата:
Плата изготавливается на одностороннем текстолите. Все компоненнты SMD, кроме разъёмов и светодиодов. Так-же, с обратной стороны, устанавливаются две перемычки.







Плата в формате Sprint-Layout 5.0 - Скачать [13 КБ]












Установка драйверов в Windows:
Для работы устройства требуется установка драйверов. В большинстве случаев windows сама найдёт нужные драйвера, в ХР проблем с поиском драйверов не возникло. Но всё-же рекомендую установить более свежие драйвера с сайта производителя чипа. (см. ниже)
Архив содержит драйвер виртуального COM порта (Virtual COM port (VCP) drivers) и драйвер прямого доступа к USB устройству черерез .DLL(D2XX drivers allow direct access to the USB device through a DLL)
Поддерживаемые чипы -
FT2232H, FT4232H, FT232R, FT245R, FT2232, FT232B, FT245B, FT8U232AM, FT8U245AM
Поддерживаемые ОС -
Windows Server 2008 R2, Windows 7, Windows 7 x64, Windows Server 2008, Windows Server 2008 x64, Windows Vista, Windows Vista x64, Windows XP, Windows XP x64, Windows 2000, Windows Server 2003, Windows Server 2003 x64.
Новые версии драйверов и драйверы для других ОС на сайте производителя - Virtual COM Port Drivers D2XX Direct Drivers

Установка драйверов вручную в Windows XP.

Распакуйте скачанные драйверы, например на диск С: в папку FTDrivers ( C:\FTDrivers\ )
После подключения программатора к USB порту компьютера, Windows найдёт новое оборудование - FT232R USB UART.
Выберите установку в ручную.
Укажите папку, в которой содержатся скачанные драйвера ( C:\FTDrivers\ ) .
После установки в системе должно появиться новые устройства -
USB Serial Converter и Usb Serial Port. Откройте "Диспечер устройств" ("Device manager") через "панель управления" и убедитесь.
Если по какой-то причине не появился Usb Serial Port,правым кликом мыши откройте свойства USB Serial Converter и перейдите на вкладку Advanced и установите галочку на поле Load VCP. Примените изменения. Должен пояртуальный ком-порт.



Конфигурирование программатора (в Windows):
Для полноты эксперимента требуется сконфигурировать работу чипа FT232RL. С завода микросхемы выпускаются уже настроенными, но для данного программатора потребуется изменить некоторые настройки. В основном это нужно для использования программатора, как источника тактового сигнала [CLK]. (3й вывод разъёма ISP.) И для разрешения использования тока до 500мА из порта УСБ компьютера. По умолчанию система позволяет использовать ток максимум 100мА. Программатор будет прекрасно работать и без этих настроек, но тогда вы лишитесь некоторых удобств в дальнейшей работе.

Программа для настройки FTDI чипа - FT_PROGv1.3.1.7z [1.91Mb] (Более новые версии можно найти на сайте производителя)

ВНИМАНИЕ! Для работы программы требуется установленный в системе Microsoft .NET Framework 2.0   
До начала конфигурирования драйвера должны быть установлены, устройстро подключено к УСБ разъёму, обнаружено и распознано системой.

Для конфигурирования скачиваем и запускаем программу FT_PROG.
- На закладке "EEPROM" в верхнем меню выбираем "Devices" => "Scan abd Parse "или просто нажимаем "F5". Программа должна обнаружить ваш чип и вывести информацию.











- Далее в окне "Device tree" выбираем "USB_Config_Descriptor" после справа в ячейку "Max Bus Power" вводим значение 500. (По умолчанию значение 90 mAmps) Это позволит брать из порта УСБ компьютера ток до 500мА.










- Следующий шаг, это конфигурирование выводов. Для этого в окне "Device tree" раскрываем "Hardware_Specific" и выбираем "IO_Controls".
Справа меняем значения - С2= I/O MODE, C3=I/O MODE, C4=CLK6. C0,C1 оставляем не тронутыми (С0=TXLED#, C1=RXLED)









-Далее изменения нужно записать в память программатора. Выбираем в верхнем меню "Devices" => "Program" (Рис.4).











Появится окно в котором нужно отметить галочкой ваше устройство "Device:0 [Loc ID:xx]". Записываем изменения нажатием на кнопку "Program". Через пару секунд память устройства прошьётся.






Закрываем FT_PROG, на несколько секунд отключаем программатор от компьютера и подключаем обратно.
Можно пользоваться!
Внимание! Изменения вступают в силу только после переподключения устройства.

Программное обеспечение для программирования:

Программатор AVRDUDE
На данный момент программатор работает только с модифицированной версией AVRDUDE - последняя версия Avrdude 5.9 с доступными исходниками, пропатченая модифицированным патчем от SUZ'а. В патч внесены изменения, которые сбрасывают состояние программатора на исходное по завершению прошивки. А так-же добавлено управление переключением буфера в программаторе USBBit. На данный момент это единственная программа, с которой работает программатор USBBit. Сама программа прекрасно работает и с другими вариантами программаторов на FT232R.
Скачать Avrdude для USBBit - avrdude-5.9_suz+usbbit [415Kb]


Пример запуска из коммандной строки:
 avrdude.exe -p attiny2313 -P ft0 -c usbbit -U flash:w:flashfile.hex 

attiny2313 - Тип микроконтроллера
ft0 - Порт к которому подключен программатор (ft0-ft9)
usbbit - Имя выбранного программатора
flashfile.hex - Фай загружаемый в память МК

Графическая оболочка для Avrdude (GUI)

Для Avrdude существует несколько оболочек. Но я предпочитаю использовать оболочку SinaProg. В ней удобно реализована работа с фьюзами микроконтроллера. Но для загрузки загрузки прошивки я всё-же предпочитаю сконфигурированый cmd (bat) файл.
Для работы оболочки, файлы avrdude.exe и avrdude.conf должны лежать в папке с SinaProg.
Для нормальной работы оболочки сначала выбираем "Hex File", потом в списке "Device" ваш МК, затем в "Programmer" [USBBit] [USB] [3000000]. Для проверки настроек нажимаем на кнопку "Search". Результат можно увидеть открыв окно информации, кнопка ">" справа вверху.
Скачать настроенную для USBBit оболочку - sinaprog1.4.5.10 [7.51Mb]





Работа в WinAvr
Для работы с программатором в среде WinAvr нужно скопировать модифицированные файлы avrdude.exe и avrdude.conf в папку BIN, которая находится в папке с установленным WinAvr ( Например C:\WinAvr\bin\ ). Заменяем существующие файлы на новые.
Так-же требуется внести изменения в стандартный Makefile ваших проектов, а точнее -

AVRDUDE_PROGRAMMER = usbbit
AVRDUDE_PORT = ft0
#Для использования максимальной скорости программатора, после строки
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
#добавим новую строку -
# (!!! Некоторые МК шьются на меньших скоростях нежели 3000000 )
AVRDUDE_FLAGS += -B 3000000

Это можно сделать при помощи любого блокнота. Если у вас её нету Makefile то создайте его и настройте при помощи утилиты Mfile , которая поставляется в комплекте с WinAvr. После этого внесите в файл изменения описанные выше.
 Mfile , которая поставляется в комплекте с WinAvr. После этого внесите в файл изменения описанные выше.

ċ
usbbit_v1.0_pcb.lay.7z
(13k)
Alex Po,
18 апр. 2011 г., 12:02