Как стать автором
Обновить

Комментарии 31

Он еще может шить пики, где то схему видел.
А если пошариться на сайте марсохода, то можно найти и программатор для ПЛИС Altera на этом же модуле.
Решил рассказать об этом в следующей статье, а то получается слишком много все за раз.
Много текста не бывает.
Я сел писать эту статью в 12 ночи и планировал написать обо всех опробованных мной способах применения FT232H, но написание затянулось до 2 и я сдался, оставив JTAG на следующий раз.
Много получилось в первую очередь для меня — давно не писал больших текстов на русском.
Прошу меня простить, в следующий подумаю еще разок, прежде чем садиться писать на Хабр перед сном.
Нельзя написать хорошую техническую статью меньше чем за 5-10 часов.
Согласен. Но бывает появляется вдохновение, садишься писать, пару часов пописал — выдохся, и дальше тащить тяжело, и бросить уже жалко. А тут просто победил сон. Постараюсь написать про JTAG-отладку более вдумчиво и начать не так поздно.
Курица по зёрнышку клюёт. Я пишу по нескольку часов каждый день. За неделю набегает статья.
Минусуют видимо те, кто не пишут технических статей о пайке на хабр… Только девайс будет паять пару дней.
Я конечно не могу отвечать за всех, но минусуют скорее те, кому лень в ответ постить картинку с аккордеоном или подобным музыкальным инструментом.
Ну буду умнее, я тут не петросяна изображал, а просто подкрепил своё мнение картинкой.
Пусть эти минусующие теперь сходят вот сюда и почитают, что имел в виду этой картинкой автор мунусуемого комментария.
FPGA Xilinx тоже можно программировать. Проверено на семействе Spartan 6 — камень забитый на половину прошивается за 6-7 сек. Подробнее можно почитать здесь
PIC'и и сами шить умеются, взять какой-нибудь PIC18F25K50. Плюс не требуют кварца внешнего, а стоят — $2-3.
Ну это не интересно. Я про ISP полноценный для всего семейства.
По работе имею дело с этим чипом. Никак не могу понять, возможно ли реализовать получение прерываний от подчинённого устройства SPI? Хочется чтобы поток чтения с устройства приостонавливался до тех пор, пока не придёт прерывание от устройства (так оно сообщает о появлении новых данных). В документации о прерываниях говорится мало и в других режимах. Как получить прерывания по GPIO — не понятно.
Кто-нибудь знает?
А как именно физически реализован сигнал о прерывании? Если выставлением высокого\низкого уровня на ноге, то достаточно соединить её с любым свободным входом GPIO (ACBUS7 вполне подойдет), и периодически читать состояние этой ноги опкодом GPIOReadLB (0x81). Варианта с полной остановкой потока чтения я не знаю. В документации есть режимы Wait On I/O High/Low (опкоды 0х88 и 0х89), но их не использовал ни разу, поэтому ничего об их работе сказать не могу.
Путём подачи импульса прерывания, он не такой уж и длинный, постоянным чтением ноги его не поймать.
Я тоже надеюсь на этот режим ожидания I/O, проблема в том, что в документации сказано про «GPIOL1 (JTAG) or I/O1 (CPU)», но ничего не сказано про SPI. Похоже что для SPI такая команда недоступна, тогда всё печально.
Надо тестировать, возможно, команда работает во всех режимах, но в документации это не описано (она вообще не очень, честно говоря).
Опять же, можно написать напрямую в FTDI, есть ненулевая вероятность, что помогут.
Есть еще вариант использовать другой канал специально для ловли этого прерывания, но тут уже слишком большой оверхед получается.
Кстати, прерывания действильно успешно работают для MPSSE-режима (то есть и SPI), хотя об этом явно в документации не сказано. Работает на ножке GPIOL1.
Работат чётко, как указано в документации. То есть приостанавливает выполнение посланной ему последовательности команд до тех пор, пока не придёт прерывание на ножку.
Наверняка кому-нибудь это тоже интересно.
На мой взгляд, обзор характеристик устройств стоит дополнить, сказав, что буковка H в конце названия неспроста — эти чипы поддерживают USB Hi speed.
Ну и вообще, говоря, чипы весьма сильно между собой отличаются поддержкой различных режимов кроме MPPSE.
4-х портовый чип самый старый из тройки *H и особо не интересен, кроме самого факта наличия 4х портов.
А вот FT232H и FT2232H поддерживают режим синхронной передачи данных (FIFO synchronous mode), обеспечивающий скорость передачи порядка 30-35 мбайт/с — мы его используем для подключения разрабатываемых железяк к PC.
FT232H, кстати, самой новый из всех — у него получше временные характеристики и добавлен какой-то еще режим по сравнению с 2232H.
Согласен со всем, но для DIY-железа, на мой взгляд, скоростные характеристики не очень важны, а даташит на конкретный чип все равно потом читать придется. Но замечание резонное, спасибо.
Давно вот собираюсь такую дощечку прикупить, а то всяких JTAGов тучи разных и дорогих, а вот такой универсальный девайс был бы полезен.
Как то давно делал spi адаптер из сторой ftdi'ки, но в ней не хватало скорости, чтобы слать (почти)непрерывный поток на высоком битрейте. В 232H такой проблемы уже нет?
Ограничение неожиданное может быть со стороны USB-шины, которая может стать причиной разрывов в непрерывном потоке данных.
Буквально сегодня выяснил что чудо-устройство не поддерживает 1й и 3й режимы работы SPI. Это очень печально, ведь мне как раз 3й режим крайне необходим для работы. И как теперь быть?
В Интернете есть какие-то мутные упоминания о том, как это «частично» можно реализовать, но конкретных примеров я не нашёл.
Скажите, а вас можно нанять на то, что бы сделать готовую плату + подобрать софт для прошивки Winbond W25Q64?

SPI флешка впаяна на плату, программатор EZP2010 её то прошивает, то нет. Хочется что бы прошивал и не из под виндовс, а из под линукса/макоси.
Нанять меня сейчас нельзя, а вот посоветовать пару хороших ISP-программаторов с поддержкой Linux/OSX я могу:
1. MiniPro TL866A, если не пугает его китайское происхождение. А еще для него есть качественный открытый софт.
2. Dediprog SF-100, если не пугает его цена. В Linux/OSX он поддерживается утилитой flashrom.
Я тестировал оба, и ни разу ни один из них не отказался шить чип, находящийся на плате, что нередко бывает на более дешевых программаторах.
спасибо большое за наводку.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории