Pull to refresh
  • by relevance
  • by date
  • by rating

FT232H и почти универсальный USB<->JTAG-адаптер за 15 евро

Circuit design
Продолжая тему практического применения микросхемы FTDI FT232H, затронутую мной в предыдущей статье, хотелось бы рассказать об использовании отладочной платы на ней в качестве дешевого и почти универсального JTAG-адаптера с интерфейсом USB и поддержкой множества микроконтроллеров различных архитектур и производителей. Я намеренно не называю этот адаптер «JTAG-отладчиком», т.к. далеко не все устройства с JTAG TAP поддерживают отладку, но обычными пользователями JTAG-адаптер используется в большинстве случаев именно для прошивки и отладки своего кода на МК. В этой статье я опишу только собственный опыт использования FT232H в качестве JTAG-адаптера, чтобы не давать ссылок на непроверенные решения, поэтому предлагаю читателям поделиться своими (или чужими) способами использования этой микросхемы в комментариях. Уверен, что способов этих найдется намного больше, чем здесь описано.
Заинтересовавшихся прошу под кат.
Псс, хабраюзер, не хочешь немного JTAG'а недорого?
Total votes 24: ↑23 and ↓1 +22
Views34.3K
Comments 10

Реализация интерфейса I2C на базе чипа FT2232H (режим MPSSE)

DIY
Интерфейсная микросхема поддерживает работу с интерфейсом I2C (не путать с I2S!) в режиме MPSSE (Multi-Protocol Synchronous Serial Engine). Кроме I2C данный режим поддерживает целый перечень стандартных последовательных интерфейсов, таких как SPI, JTAG и т. п. Есть возможность реализации собственных интерфейсов в случае необходимости. Данное описание рассказывает о ряде нюансов поддержки интерфейса I2C, а так же дает повод поболтать на смежную тематику.

Дисклэймер: данная статья написана по рабочим материалам и в первую очередь предназначена для автора статьи, когда он потеряет оригинальный документ. В то же время, информация приведенная ниже может быть интересна и узкому кругу специалистов. Не рекомендуется для прочтения широкому кругу читателей кроме случаев, когда тот самый читатель хочет ненадолго погрузиться в мир отладки программно-аппаратных средств. Исследования проводились более года назад, однако указанная информация остается актуальной и в настоящий момент, поскольку библиотеки на сайте производителя не обновлялись. Информация об обнаруженных проблемах отправлялась производителю, однако никакой обратной связи не последовало. Написан пост по мотивам вот этого, за который автору выражается отдельная благодарность
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views15.6K
Comments 4

Bus Blaster — универсальный скоростной bit-bang интерфейс для терпеливых энтузиастов

DIY
Recovery mode


Мне давно хотелось иметь какой-нибудь простой и универсальный аппаратный интерфейс с несколькими входными и выходными сигналами, функциональность которого определяется исключительно софтом, вроде достопамятного программатора PonyProg. И чтобы его можно было использовать не только как чтения/записи прошивок, но и для отладки программ через JTAG. При этом покупать что-либо промышленное, при моем нерегулярном баловстве с электроникой, избыточно и нерентабельно — требовалось что-то из серии «полуфабрикатов», на основе bit-bang.

Что такое bit bang и зачем он нужен
Кое-кто еще помнит, что в счастливые времена Windows 9x каждая системная плата и каждый ноутбук в обязательном порядке имели последовательный (COM) и параллельный (LPT) порты. В ту пору для организации интерфейса с микросхемой ППЗУ, служебными контактами мобильника или передней панели магнитолы достаточно было припаять к разъему порта несколько резисторов, диодов и транзисторов. Все остальное делали обычные пользовательские приложения, самостоятельно формировавшие сигналы нужного протокола путем выставления нулей или единиц на нужных выводах, и считывания сигналов на входах. У клятых буржуев это называлось bit-bang, а у нас — «дрыгоножество», «ногомашество» и т.п.

С переходом на 2k/XP возникли сложности с прямым доступом к портам ввода/вывода, но они успешно решались костылями вроде giveio. Гораздо сильнее портила жизнь более высокая фоновая активность в NT, из-за которой сложнее было выдержать стабильность передачи и приема.

Как известно, на современных компьютерах, тем более — ноутбуках, с аппаратными портами не густо, ибо большинству пользователей они не нужны. USB-адаптеры для подключения устройств с интерфейсами RS232 и Centronics (в просторечии — COM/LPT) хорошо работают лишь в рамках основного назначения, а делать на них «дрыгоножество» проблематично по целому ряду причин. Во-первых, большинство этих адаптеров умеет обрабатывать с хорошей скоростью только сигналы данных (те же Tx/Rx), а управляющие сигналы обрабатывает с большими задержками. Во-вторых, адаптеры различных производителей аппаратно несовместимы, а возможности нестандартного управления через драйвер производителя сильно ограничены. В-третьих, для передачи команд адаптеру почти все драйверы используют отдельные USB-пакеты, что ограничивает частоту смены состояний всего тысячей раз в секунду, чего для многих применений катастрофически мало.

К счастью, компания FTDI уже давно предлагает ряд решений для USB, ориентированных именно на скоростной обмен произвольными сигналами. Беглое изучение вопроса показало, что наиболее популярны в этом плане интерфейсы на микросхемах FT232H/FT2232H.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views13.3K
Comments 10