Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [115]
Наш опрос
Оцените мой сайт
Всего ответов: 1294
Главная » Статьи » Мои статьи

Клон программатора SPI-Flash "BlackcatUSB"
Для прошивки Flash-памяти BIOS материнских плат, винчестеров, а также своих любительских конструкций мне потребовался программатор. Любимый PonyProg поддерживает только до 256кбит, кроме того LPT-порт теперь редкость, поискав по Интернету, нашел довольно простой USB-вариант "BlackcatUSB": 
Программатор предназначен для чтения/записи SPI-Flash чипов памяти объемом от 1 Мбита и выше (т.е. более 128кбайт) популярных серий 25ххх, 26ххх. 
По протоколу JTAG (требуется перепрошивка) CFI-Flash чипов - 25ххх, 28ххх, 29ххх, 39ххх, 49ххх, 58ххх, а так же K8D17ххх, K8D32ххх.
Его основой является микроконтроллер AT90USB162, имеющий USB-загрузчик, поэтому первоначальная его прошивка и обновление ПО производится по шине USB. Для перепрошивки не требуется дополнительных программ - это можно сделать прямо из его собственной программы. ПО распространяется свободно, более того. разработчики предоставляют файлы прошивок и исходники программы. Поддерживается система скриптов для добавления новых алгоритмов. Можно вручную выбирать все параметры работы с неизвестной памятью. Программа не требует установки, просто запускаем и работаем.
 
Внешний вид фабричного варианта: 
 
 
На оригинальной плате имеются перемычки для выбора напряжения SPI - 3,3V / 5V, кнопка сброса и переключатели выбора режима загрузки: обычный / загрузчик. В повседневной работе сброс и перепрошивка программатора крайне редко требуются, поэтому для клона кнопка и переключатели были исключены. Вместо 10-штырькового разъема установлен DIP-сокет, а разъем USB выполнен продолжением печатной платы:
    
 
Чтобы "разъем USB" не болтался в гнезде, он должен быть толщиной 2,5мм, Мне удалось найти кусочек текстолита такой толщины, а для платы в 1,5мм придется приклеивать "подкладку" 1мм. Она должна быть обязательно неметаллической - на случай случайной вставки в разъем "вверх ногами".
   
  Схема:
 
 
При установке перемычки J1 в положение 1-2 питание микроконтроллера осуществляется от линии 5V USB, при установке 2-3 - от внутреннего стабилизатора 3,3V.
 
Внимательно смотрите даташит памяти перед выбором напряжения программирования - большинство трехвольтовых чипов выйдут из строя при питании от 5V.
 
Собранный без ошибок клон сразу определится системой как AT90USB162 в режиме DFU. Запускаем оболочку BlackcatUSB и убеждаемся в этом:
   
 
Если микроконтроллер не "чистый", то принудительно переводим его в режим загрузчика:
1) замыкаем на корпус контакт RESET
2) замыкаем на корпус контакт BOOT
3) отпускаем RESET
4) отпускаем BOOT
Важно, чтобы BOOT был отпущен чуть позже, чем RESET.
Далее переходим во вкладку AVR Firmware, выбираем файл прошивки BCUSB.1.09.SPI.hex и кнопкой "Program" запускаем процесс прошивки:
 
 
По окончании процесса (пара секунд), жмем "Start Application". Программатор определится системой и потребует драйвер - находим его в папке Drivers. После его установки видим готовый к работе программатор:
 
 
Теперь можно проверить его в работе. 
ВАЖНО! Если горит (или мигает) светодиод режима, то вставлять и вынимать память из сокета нельзя - он под напряжением, это может испортить информацию!
Поэтому просто вынимаем клон из разъема USB, вставляем память в сокет и пробуем:
 
 
Память определилась и появилась вкладка SPI Flash, на которой можно ее прочесть и записать:
 
 
Для режима JTAG потребуется другая прошивка - BCUSB.6.03.EJTAG.hex., а так же разъем-переходник DIP-сокет - JTAG. Новое назначение выводов можно увидеть в документации к программе.
 
P.S. Программатор "BlackcatUSB" на сегодняшний момент не поддерживается разработчиком - вместо него выпускается обновленная версия "FlashcatUSB":
 
 
Из "железных" обновлений только замена мк на более емкий вариант - ATmega32U2. В программной части обновлений больше - поддержка большей номенклатуры чипов, в том числе NAND. Новые версии программы доступны на сайте разработчика.
 Новые прошивки NAND (FCUSB.1.07.NAND.hex) и JTAG (FCUSB.7.05.EJTAG_16K.hex) подходят и для нашего клона - во всяком случае запускаются и определяются, функционал не проверял - просто не на чем.
   Судя по документации, назначение переключателей изменилось, возможно есть изменения и в печатной плате. Если кто-то соберет вариант на ATmega32U2 (чипы по ножкам совместимы), просьба отписаться о результатах.
 
Удачи в творчестве!
MrShilov.
 
07.07.2016
Павел Головин прислал свою версию печатной платы в Спринт лайоуте (SL6) под DIP8 и SOIC8 под прищепку.
На плате дополнительно установлен резистор - перемычка  от DIP8  к SOIC8,  .
 
 
 
Категория: Мои статьи | Добавил: bascom (20.05.2013)
Просмотров: 42446 | Комментарии: 15
Всего комментариев: 151 2 »
15 lomovcev_dn  
0
Подскажите пожалуйста!
Собрал Плату, заказал AT90USB162 - 5 штук, пришли без бутлоадера, через AVR (Khazama AVR Programmer.exe) зашиваю бут, все ОК, Windows видит, но после того, как через софт BlackCat зашиваю hex Windows выдает ошибку 43, не удается опознать устройство, шайтан какойто, пробовал менять микрухи, плату просмотрел под микроскопом на предмет кз, ничего, но если микруху стереть и залить заново бут, то снова по кругу, все OK, пока не залил прошивку.
Пробовал тупо через AVR залить hex, тоже самое, ошибка 43, проверял на разных компах, все одно и тоже!

14 Krazy_killer  
0
блин ,  вроде проверял все но один хер вляпался. забыл отзеркалить , точнее отзеркалил не все.  собрал не работает. обнаружил проблему передела плату. только теперь контролер превращается в нагреватель. сдох скатина... ??? веть знал про этот касяк на печатал на бумажках проверил на просвет и все равно вляпался... обидно блин

13 Krazy_killer  
0
решил повторить, закал с контеста  мегу32ую,
пол ночи провозился с платой (давно не занимался пропала сноровка)
кому интересно вот что вышло
https://yadi.sk/d/kBDgjdtBggFRf

12 mars-90  
0
добрый день .поделитесь пжалуста платой в Layout.спасибо.

11 Blik  
0
Добрый день! Подскажите пожалуйста подойдет ли этот микроконтроллер? AT90USB162-16AU

10 Max_Pine  
0
Добрый день. Я новичок, к сожалению схемы читать пока не умею. А программатор нужен для прошивки принтера с SPI Flash 24Qxx. Сборкой уже занимался, удачно собрал STK200/300. Схему буду сам рисовать для Sprint-Layout, для негатива т.к. использую фоторезист. Просьба перечислить что необходимо купить кроме компонентов для травления платы. Уже нашел http://www.chipdip.ru/product/at90usb162-16au/ и http://www.chipdip.ru/product/16mhz-hc-49sm/ Желательно ссылки на chip dip, буду очень признателен. Паять умею уже и паяльником и феном. Большое спасибо

5 iii  
0
А кто в курсе? на схеме тут и на схеме http://blackcatusb.ru/images/downloads/blackcatusb_sch.gif на атмеге32 выводы 16 и 17 перекручены. Это так и надо и зависит от прошивки или у кого-то ошибка? Схема на этом сайте проверена в работе? шьёт правильно?

6 MrShilov8745  
0
17 нога МК - это вход данных от м/с памяти,
16 нога МК - выход данных в м/с памяти.
Никакой ошибки нет.
В работе проверены оба - BlackCatUSB и FlashCatUSB, работают отлично.

4 ildar-home2009  
0
Собрал. Завелся сразу.

3 MrShilov8745  
0
Оригинальной схемы нет. Собирал методом тыка. Если найдете, поделитесь, плиз.

2 my-electronics  
0
А не подскажете, где подсмотреть схему оригинального программатора?

1-10 11-11
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Copyright Radan Studio © 2024