Уже второй "спалил" менее чем за год (с апреля):
![](https://ic.pics.livejournal.com/nabbla1/38118386/1522092/1522092_800.jpg)
Что-то не уживаются они с промышленным компьютером... Началось с того, что флэшка моя там обрела "амнезию" - забыла своё название и "предназначение", вроде и диск, но он почему-то "не вставлен". Потом вроде очухалась. Затем USB Blaster, даже по-моему не подключённый к устройству, так же дуба дал.
А сейчас на другом промышленном компьютере, но той же фирмы - второй бластер того этого...
Пытался разобраться, и что с ними делать, и вот узнал от
suvorow_, что неизвестное USB-устройство можно "собрать" из кабеля USB и одного резистора!
![](https://ic.pics.livejournal.com/nabbla1/38118386/1518816/1518816_800.jpg)
В конце поста бонусная Марта...
Итак, вот что у них внутри:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1519517/1519517_800.jpg)
Как ни странно, есть небольшие отличия:
- разный цвет платы, одна более "выцветшая",
- одна плата крепилась на всех 4 шурупах, а другая только на 2,
- разные номиналы резисторов, в одной два по 1,3 килоом, в другой 1,5 килоом, но более прецизионных (3 значащих разряда вместо 2), и защитные резисторы в одной 51 Ом, а в другой лишь 10 Ом.
В остальном братья-близнецы.
Резисторы со стороны USB и EEPROM более крупно:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1519130/1519130_800.jpg)
Для интерфейса USB стоит микросхема FT245, которая по 8-битной двунаправленной шине соединена с ПЛИС Altera EPM3064, это серия MAX3000, вариант на 64 макроблока. Т.е логика там довольно-таки простецкая.
![](https://ic.pics.livejournal.com/nabbla1/38118386/1521264/1521264_800.jpg)
Нда, FTDI всё ещё в долгу перед народом - пожадничали, не стали выход своего ФАПЧ наружу выводить, так что на ровном месте здесь стоит ДВА кварца. Один, на 6 МГц - для USB, а ещё один на 24 МГц - для ПЛИС, хотя внутри FTDI формируется 48 МГц...
UPD. Похоже, на плате предусматривался вариант поделить 24 МГц внутри ПЛИС до 6 МГц, и отправить на FTDI вместо отдельного кварца, но почему-то решили так не делать...
А вот это, похоже, потерпевший, микросхемка EEPROM, Atmel at93с46, аж на 64 слова по 16 бит. Там одна из ног выбирает режим, "внутреннюю организацию", либо 64 по 16, либо 128 по 8, выбрано именно 64 по 16.
![](https://ic.pics.livejournal.com/nabbla1/38118386/1520984/1520984_800.jpg)
Подключена она только к FTDI, а значит, в ней по большому счёту хранятся лишь PID (Product ID), VID (Vendor ID), немножко настроек электропитания (питание от USB, ток до 100 мА, насколько я понимаю), да собственно и всё!
Именно это у меня и засбоило, т.к этот Altera USB Blaster у меня лёгким движением руки превратился в FTDI USB serial converter:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1524189/1524189_original.png)
И PID/VID у него соответствующие:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1524408/1524408_original.png)
А второй бластер долгое время просто показывал "неизвестное устройство", и PID/VID нулевые:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1524668/1524668_original.png)
Впрочем, сейчас его к домашнему компьютеру подключил - и он внезапно "очухался", и тоже себя идентифицировал как USB serial converter. Потом, когда после установки драйверов потребовали перезагрузить компьютер, он опять "отвалился" как неизвестное устройство, а потом, когда после "отдыха" снова его воткнул в компьютер - снова обнаружился как USB serial converter...
Закончим с "потрохами"...
Вот это источник питания на 3,3 вольта, я так понимаю MC33269:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1520809/1520809_800.jpg)
Опять же, в FTDI есть внутренний источник на 3,3 вольта, но с него можно "наружу" вывести лишь 5 мА, так что здесь пришлось ещё один ставить...
И выходной буфер между ПЛИС и непосредственно выводами JTAG:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1520409/1520409_800.jpg)
Что интересно, у меня есть USB Blaster (пока живой) совершенно другой конструкции. Чисто по корпусу он как-то "хилее" - плата внутри тупо болтается, ничем не закреплённая.
![](https://ic.pics.livejournal.com/nabbla1/38118386/1520161/1520161_800.jpg)
Тут микросхемы ровно две. Та, что покрупнее - микроконтроллер C8051F321 с поддержкой USB, и выходной буфер SN74LVC125A на 4 бита:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1520032/1520032_800.jpg)
Даже странно, что при таком разительном отличии они работают с одним и тем же драйвером, который написан на основе FTDIшного D2XX.
Хотя этот Blaster, по идее, имеет меньше возможностей, сверху видно было 6 выходов, а тут только 4. Хотя, кроме TDI, TDO, TMS и TCK вроде больше и не нужно ничего...
Вот он зверюга. Не знаю, вроде бы должно всё быть на "пять с плюсом". И напряжение тоже??? Это бы многое объяснило. Надо взять себя в руки и спаять детектор выбросов и повышенных пульсаций компьютерного питания. Идея, что обычная "диагностика" в BIOS жутко беззуба, она показывает постоянную составляющую напряжения, а она ПО ОПРЕДЕЛЕНИЮ в порядке, ибо обратная связь. А вот если конденсаторы подсохли, могут ВЧ пульсации резко подняться и устроить много неприятного. Ну и по этой же причине, или в целом из-за топологии могут быть выбросы нехорошие. Пущай обнаружит что-то такое, "защёлкнется", и если хоть разок что-то такое есть - уже звоночек...
![](https://ic.pics.livejournal.com/nabbla1/38118386/1519706/1519706_800.jpg)
Скачал программку FTprog. Для того бластера, который "превратился" в USB converter, она указала следующее:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1524920/1524920_original.png)
Типа, память обнулилась. Попробовал из этой же программы её перепрошить, указать тот PID/VID, который в inf-файле драйвера USB Blaster. Как будто бы операция была завершена успешно, и даже мне показали вот такое:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1525031/1525031_original.png)
Но когда я выткнул бластер, а потом воткнул заново - "неизвестное устройство", PID 0000, VID 0000. Опять некоторое время побыв обесточенным, он вдруг "очухался", опять USB serial converter, но содержимое будто бы поменялось, хоть и числится BLANK:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1525426/1525426_original.png)
Вообще ничего не трогал, просто выткнул, подождал немного, снова воткнул. Что-то поменялось:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1525649/1525649_original.png)
Мало в таких вещах разбирался, но что-то мне подсказывает: EEPROM'ке песец пришёл!
Ещё я попробовал подправить .inf-файл драйвера USB Blaster, установил FTDIшные PID/VID, дескать, "если гора не идёт к Магомету". И действительно, в диспетчере устройств появился USB Blaster с как будто бы правильными драйверами (в них я носом тыкнул, и как будто бы всё нормально). Одно плохо: Quartus эту хреновину всё равно не увидел!
А по поводу второго бластера, который просто "неизвестное устройство", у меня теория была, что как-то по-другому EEPROM сбойнул, и не даёт FTDI нормально "загрузиться". Попробовал резистор 1k3 отпаять, через него шёл сигнал с Data Out, дескать, "пусть останется вообще без EEPROM, он хоть дефолтные значения свои загрузит?". Долгое время он этого не делал, так и остался "неизвестным устройством".
Тут-то меня и просветили, что FTDI вообще могла сгореть напрочь, а я бы получил тот же самый результат, хватает резистора подтяжки с D- на VCC, номиналом 1,5 килоома!
Вечером решил обязательно это проверить. Полез искать какой-нибудь подходящий кабель USB, к которому можно резистор легко подоткнуть. Нашёл такого мутанта:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1518978/1518978_800.jpg)
Это вообще ЧТО??? И НАФИГА??? Впрочем, началась пятница 13-е, и учитывая мою недавнее везение в устраивании праздничных фейерверков, решил пока не пробовать. К счастью, рядышком нашёл более подходящий кабель, результат виден на картинке в начале поста. ДА, компьютер уже понимает, что к нему подключили USB-устройство, он попытался его опросить, не получил никакого ответа, так и оставил "неизвестным устройством", и кучу какой-то служебной информации заполнил "от балды". А я-то раньше думал, что это уже признак, что какой-то более сложный обмен произошёл. Типа, у меня этот резистор нормально не определился лишь потому, что я для него драйвер не написал :)
В общем, можно теперь ещё попытаться с EEPROMами пообщаться напрямую по SPI, хотя надежды мало. И наверное надо купить новые, по 11 рублей за штуку, и аккуратно их перепаять. Глядишь, и поживут ещё...
А вот Марте купили новую когтеточку, она балдеет:
![](https://ic.pics.livejournal.com/nabbla1/38118386/1522478/1522478_800.jpg)
![](https://ic.pics.livejournal.com/nabbla1/38118386/1522395/1522395_800.jpg)
UPD. Заказал на Али гальваническую развязку для USB на основе ADUM4160. Как приедет, проверю её мегаомметром, результаты сообщу :) Если держит, и устройства через неё работоспособны, то, глядишь, такой фигни у меня больше не будет...