Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Tigard — это плата FT2232H с открытым исходным кодом для взлома оборудования (краудфандинг)


Существует множество дешевых отладочных плат USB на TTL 5 В или 3,3 В, используемых для доступа к последовательной консоли и/или программным платам, но аппаратная плата с открытым исходным кодом Tigard на базе FTDI FT2232H делает гораздо больше, поскольку поддерживает несколько протоколов, несколько напряжений для взлом оборудования и отладка.

Разработчик объясняет, что Tigard можно использовать в качестве прямой замены для десятков других аппаратных инструментов на базе чипов FTDI и включает встроенную поддержку OpenOCD, FlashROM и многое другое.

Технические характеристики платы Tigard:

  • Основной чип — FTDI FT2232HQ, двойной высокоскоростной USB-порт для многоцелевого UART/FIFO IC
    • Основной порт, предназначенный для UART, включая доступ ко всем сигналам управления потоком
    • Вторичный порт совместно используется выделенными разъемами для SWD, JTAG, SPI и I²C
  • USB – порт USB 2.0 Type-C (480 Мбит/с)
  • Вводы/выводы
    • 9-контактный разъем UART
    • Разъем Qwiic I2C
    • 8-контактный разъем SPI и I2C
    • 8-контактный разъем JTAG
    • 10-контактный отладочный разъем Cortex
    • 14-контактный разъем логического анализатора (LA) для наблюдения за сигналами на уровне устройства
    • Направленные переключатели уровня для работы от 1,8 до 5,5 В
  • Разное
    • Переключатель, чтобы выбрать между встроенными источниками питания vTarget 1,8 В, 3,3 В, 5,0 В и внешними
    • Переключатель, для выбора между режимами SPI/JTAG и I²C/SWD.
    • Световые индикаторы для облегчения отладки

Нет реальной необходимости в специальных инструментах для Tigard, и плата будет работать со стандартными инструментами и библиотеками, включая драйверы последовательного порта USB, OpenOCD и UrJTAG для JTAG, Flashrom, PyFtdi/PySpiFlash, LibMPSSE и другие инструменты для интерфейса SPI, а также LibMPSSE и PyFtdi / PyI2CFlash для интерфейсов I2C.

Плата будет поставляться со всеми необходимыми кабелями (SPI, JTAG, Cortex, последовательный) с четко обозначенными проводами. Также есть два набора, первый из которых включает плату логического анализатора Bitmagic для отладки последовательных протоколов в реальном времени с помощью Sigrok / PulseView, а второй — «Applied Physical Attacks Online Kit», в который добавляются зажимы и разъемы, простой мультиметр, сумочка-органайзер, USB-микроскоп и целевая система (неназванный Wi-Fi-маршрутизатор на базе Linux).

На Github. вы найдете файлы проектирования оборудования KiCAD и некоторую документацию. Tigard уже собрал более 20 000 долларов на Crowd Supply с вознаграждением от 39 долларов за плату и провода и до 1337 долларов за полный комплект, показанный выше. Доставка в США бесплатна, а в остальные страны — от 10 до 20 долларов. Поставки планируется начать во второй половине февраля 2021 года.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Начало работы с openocd с использованием адаптера ft2232h для отладки swd

Начало работы с OPENOCD с использованием адаптера FT2232H для отладки SWD

Узнайте, как легко мигать ваш MCU на основе ARM, используя отладчик OpenOCD с адаптером FT2232H.

Старые MCU от таких поставщиков, как ATMEL и MICROCHIP, такие как PIC16F и семейства Atmega, имеют специальный программный интерфейс для программирования внутренней вспышки. Например, Atmega использовала штырьки SPI (MISO, MOSI, SCK) и PIC использовали два вывода (PGC, PGD) - один как часы, а другой как двунаправленную линию данных.

Новые MCU, особенно с ядром ARM, используют JTAG / SWD в качестве интерфейса программирования / отладки.

В чем разница между Joint Test Action Group (JTAG) и Serug Wire Debug (SWD) «text-align: center;»>

Сигналы интерфейса SWD

Обзор OpenOCD

Открытый On-Chip Debugger (OpenOCD) - это бесплатный проект с открытым исходным кодом, целью которого является предоставление отладки, внутрисистемного программирования и пограничного сканирования с использованием адаптера отладки. Адаптер - это аппаратный модуль, который обеспечивает правильные сигналы для понимания цели.

Отладчик OpenOCD поддерживает множество адаптеров отладки, которые можно просмотреть на веб-сайте OpenOCD.

Чтобы сделать работу OpenOCD, вы должны настроить ее с помощью команд или с помощью файлов конфигурации. Когда конфигурация завершена и установлено соединение с целью, OpenOCD начнет работать как демон. Daemon - это фоновый процесс, который отвечает на запросы служб. OpenOCD теперь будет ожидать подключения от GDB, Telnet или других других каналов и обрабатываемых команд.

Блок-схема OpenOCD

Обзор FT2232H

FT2232H - это двойной высокоскоростной USB-порт для универсальной UART / FIFO IC. Это означает, что это одночиповый USB с двумя портами.

Каждый порт оснащен двигателем, называемым Multi-Protocol Synchronous Serial Engine (MPSSE), который упрощает синхронный последовательный протокол (от USB до JTAG, I2C, SPI или бит-бит). Это позволяет пользователям настраивать канал с нужным протоколом. MPSSE доступны на канале A и канале B и могут быть настроены для разрешения любого синхронного последовательного протокола.

Будьте внимательны перед выбором OpenOCD

Выбор OpenOCD в качестве инструмента для отладки с помощью адаптера, такого как FT2232H, является очень хорошим выбором, если у вас нет большого бюджета для работы.

Помимо бесплатного и открытого исходного кода, OpenOCD также имеет хорошее сообщество поддержки. НО, как и в любом другом инструменте с открытым исходным кодом, вы можете столкнуться с ошибками, которые вам могут понадобиться исправить самостоятельно.

Мне потребовалось некоторое время, чтобы понять, как заставить OpenOCD работать и запускать мой MCU, и я надеюсь, что этот учебник станет хорошей и полной ссылкой.

Кроме того, я советую любому, кто ищет инструменты для отладки, выбирать с умом. Например, если вам нужен простой инструмент, я думаю, что OpenOCD, возможно, не лучший выбор для вас!

Другими хорошими альтернативными инструментами отладки являются:

  • Segger J-Link
  • ULINK
  • Отладчики по умолчанию, встроенные в оценочные платы (например, STM32, EFM32 и другие семейства MCU) поставщиками кремния

В заключение, если у вас нет большого бюджета, времени или терпения, OpenOCD с FT2232H будет отличным выбором для вас.

Требования

Вот что вам нужно для завершения этого учебника:

Давайте рассмотрим каждую пьесу индивидуально.

Вы можете получить дешевый от китайских поставщиков, таких как Taobao, Alibaba и AliExpress. Я заказал у меня из Taobao около 14 долларов.

Вы также можете заказать официальный модуль FTDI, мини-модуль FT2232H.

Платформы FT2232H
  • ОС Windows или Linux с рабочей копией OpenOCD:

Windows: вы можете получить исполняемую версию OpenOCD из неофициальных двоичных пакетов.

Linux: вы можете получить его из пула пакетов вашего дистрибутива Linux, такого как debian package.

Или вы можете построить его из исходного кода, трудный путь! Это маршрут, который я выбрал, лично. Вы можете найти полезные руководства о том, как это сделать, например, от Dangerous Prototypes (для Windows) или eLinux (для Linux). Вы также можете прочитать инструкции по компиляции из исходного кода OpenOCD (README.Windows и README).

Примечание. Некоторое время назад команда разработчиков OpenOCD решила больше не предоставлять никаких официальных бинарных файлов. Они предлагают только исходный код, ожидая, что поставщик оборудования JTAG создаст двоичные файлы. Убедитесь, что используемый вами двоичный файл поддерживает ваше оборудование JTAG.

  • Целевая микросхема:

Я выбрал мой прорыв с EFM32G200F32, микроконтроллером ARM Cortex-M3 (MCU), но любой другой поддерживаемый MCU будет работать.

Моя доска объявлений EFM32G200F32
Развязка EFM32G200F32

Как организован OpenOCD

Чтобы запустить OpenOCD, вам нужен только правильный файл конфигурации (.cfg), поставляемый в OpenOCD. Этот файл конфигурации имеет команды, которые являются расширениями для Jim-Tcl. Jim-Tcl - это язык программирования, который обеспечивает простой и расширяемый командный интерпретатор.

Файл каталога OpenOCD имеет папку под названием «скрипты». В этой папке вы увидите папки «interface», «board» и «target». И это в значительной степени единственные папки, которые вам нужны.

  • Интерфейс: файлы конфигурации для аппаратных адаптеров, например «minimodule.cfg».
  • Совет: файлы конфигурации для общих плат разработки, такие как «atmel_sam4s_xplained_pro.cfg» - «olimex_stm32_h207.cfg» - «stm32f4discovery.cfg» и т. Д. Вы можете видеть, что эти файлы повторно используют файлы конфигурации из интерфейса и целевого.
  • Цель: файлы конфигурации для микросхем MCU.

Однако вы можете написать свои собственные файлы конфигурации, которые мы собираемся сделать в этом учебнике.

Когда мы запускаем OpenOCD, мы можем предоставить ему столько файлов конфигурации, сколько хотим:

openocd -f config1.cfg -f config2.cfg -f config3.cfg

Понимание основ конфигурации адаптера

Во-первых, нам нужно сообщить OpenOCD тип адаптера, с которым он будет работать, с помощью команды интерфейса .

Чтобы просмотреть полный список интерфейсов, поддерживаемых вашей версией OpenOCD, используйте следующую команду:

> openocd -c interface_list

В нашем учебнике мы будем использовать адаптер с чипом FT2232H, поэтому мы будем использовать драйвер интерфейса FTDI:

интерфейс ftdi

Вы также должны сообщить OpenOCD дополнительную информацию об адаптере (интерфейсе). Например, вам нужно указать VID / PID, серийный номер или номер канала, который вы будете использовать для FT2232H, так как он имеет два канала.

ftdi_vid_pid 0x0403 0x6010

ftdi_channel 1

ftdi_serial "FTZ7O8O0"

Адаптер может поддерживать более одного транспортного протокола, поэтому OpenOCD позволяет выбрать транспортный протокол:

транспорт выбрать swd

Вы также должны сообщить OpenOCD исходные значения данных и регистров направления FTDI GPIO через команду ftdi_layout_init . Вы должны сначала поместить начальные значения 16 контактов канала, а затем направления. Зная, что «1» предназначен для выбора направления в качестве выхода, а «0» - для ввода, а каждый канал в ft2232H имеет 16 контактов.

ftdi_layout_init 0x0018 0x05fb

Это означает:

Низкие выходные данные = 0x18 // 0001 1000

Низкое направление = 0xfb // 1111 1011

Высокое направление = 0x05 // 0000 0101

Чтобы узнать больше о конфигурации адаптера, вы можете обратиться к руководству OpenOCD.

Подключение цели с помощью адаптера

Существует файл конфигурации, называемый swd-resistor-hack.cfg, который содержит схему подключения:

Проводка FT2232H с целевым

Файл содержит примечание:

«Подключите TDI к SWDIO через подходящий последовательный резистор (220-470 Ом или около того в зависимости от возможностей привода для цели и адаптера) подключите TDO напрямую к SWDIO».

Таким образом, без подключения этого резистора соединение не будет установлено.

Разбивка FT2232H

Все вместе

Попробуем теперь установить соединение между адаптером и мишенью с помощью OpenOCD.

Часть 1: создание необходимых проводных соединений

Подключение FT2232H с целью

Часть 2: Запустите OpenOCD

Сначала сделайте специальный файл конфигурации для нашего адаптера. Создайте новый txt-файл (ANYNAME.cfg). Не забудьте изменить VID / PID и серийный номер в соответствии с вашим чипом:

 #This configuration file is created for a tutorial: #”Getting Started with OPENOCD Using FT2232H Adapter for SWD Debugging” #Written by:Yahya Tawil - yahya.tawil_at_gmail.com #Pulished on: //www.allaboutcircuits.com #Version of OpenOCD:0.9.0 interface ftdi transport select swd ftdi_vid_pid 0x0403 0x6010 #ftdi_device_desc "USB Serial Converter A" #ftdi_device_desc "FT2232H 开发板" ftdi_serial "FTZ7O8O0" #adapter_khz 8 ftdi_layout_init 0x0018 0x05fb ftdi_layout_signal SWD_EN -data 0 ftdi_layout_signal nSRST -data 0x0010

Примечание. Определение сигнала SWD_EN важно для работы с OpenOCD, даже если мы физически не подключаем его. Если мы этого не сделаем, появится ошибка:

Ошибка: режим SWD активен, но сигнал SWD_EN не определен

Окна:

После загрузки копии OpenOCD, как описано выше, запустите консоль CMD, затем перейдите в каталог, в котором присутствует OpenOCD. Например:

cd Desktop \ openocd-0.9.0 \ bin

Помните: у нас есть файл конфигурации (я назвал его SWD_FT.cfg), и цель является одним из чипов EFM32.

Затем в CMD введите:

openocd -f interface / ftdi / SWD_FT.cfg -f target / efm32.cfg

Linux:

В терминале введите:

Sudo openocd -f interface / ftdi / SWD_FT.cfg -f target / efm32.cfg

Теперь вы должны получить что-то вроде:

Информация: включен режим FTDI SWD

скорость адаптера: 1000 кГц

cortex_m reset_config sysresetreq

Информация: тактовая частота 1000 кГц

Информация: SWD IDCODE 0x2ba01477

Info: efm32.cpu: аппаратное обеспечение имеет 6 точек останова, 4 точки наблюдения

Если у вас возникли проблемы, ознакомьтесь с разделом устранения неполадок - это может быть плохая проводка или проблема с драйвером для пользователей Windows.

Часть 4: Открыть соединение Telnet

Откройте другое окно CMD и введите:

telnet localhost 4444

Часть 5: Общение с целью

Не забудьте остановить свою цель перед любыми операциями отладки:

> сброс остановки

Вы получите что-то вроде:

целевое состояние: остановлено

цель остановлена ​​из-за отладочного запроса, текущий режим: поток

xPSR: 0x01000000 шт.: 0x00000bbc msp: 0x20002000

Чтобы прочитать внутренние регистры из нашего чипа, введите:

> р

Ответ команды reg

Чтобы прошивать изображение во внутреннюю вспышку, нам необходимо определить внутренние флэш-банки. Это может быть один банк, как наша нынешняя цель, «efm32.cfg» для нас. Чтобы убедиться, введите следующее:

> Флеш-информация 0

Или

> flash список

> флеш-банки

Он вернет следующее:

# 0: efm32.flash (efm32) при 0x00000000, размер 0x00008000, ширина шины 0, ширина шины 0

Теперь, чтобы запустить нашу программу, используйте команду flash write_image .

Эта команда принимает файлы bin (двоичные), ihex (Intel hex), elf (файлы ELF), s19 (Motorola s19), mem или builder.

> flash write_image erase "Desktop / FirstApp.hex"

Вы должны получить что-то вроде:

автоматическое стирание включено

написал 1536 байт из файла Desktop / FirstApp.hex в 0.124740s (12.025 KiB / s)

Теперь сделайте свою цель снова запущенной с помощью этой команды:

> перезагрузка

Чтобы выйти из Telnet-подключения, просто введите:

> выход

Прочтите руководство OpenOCD, чтобы узнать больше о мигающей памяти с помощью OpenOCD.

Исправление проблем

Пример ошибки 1:

  • Ошибка: невозможно открыть устройство ftdi: usb_open () не удалось

Эта ошибка может быть вызвана использованием драйвера libusb в Windows, в то время как в новых версиях OpenOCD используется драйвер WinUSB.

Во-первых, убедитесь, что вы остановили Windows от установки драйвера автоматически:

Затем удалите драйвер FTDI по умолчанию. Вы можете использовать инструмент из FTDI под названием CDM Uninstaller xx - Windows Device Driver Uninstaller: просто введите свой VID и PID.

Обратите внимание, что идентификатор поставщика FTDI по умолчанию - 0x0403. Идентификаторы продукта по умолчанию:

  • Одноканальные устройства (R Chips): 0x6001
  • Двухканальные устройства (2232C / D / H Chips): 0x6010
  • Четырехканальные устройства (чипы 4232H): 0x6011

Подробнее читайте здесь.

Наконец, используйте Zadig Tool для установки драйвера WinUSB.

Пример ошибки 2:

  • Информация: тактовая частота 1000 кГц
    в процедуре 'init'
    в процедуре 'ocd_bouncer'

Эта ошибка вызвана неправильной проводкой или отсутствием резистора между TDI и TDO в «swd-resistor-hack.cfg», как мы упоминали выше.

Это также может быть вызвано плохой конфигурацией, например, отсутствующей командой ftdi_layout_init из файла конфигурации:

ftdi_layout_init 0x0018 0x05fb

Пример ошибки 3:

  • Ошибка: libusb_open () не удалось выполнить с помощью LIBUSB_ERROR_ACCESS
    Ошибка: устройство не найдено
    Ошибка: не удалось открыть ftdi-устройство с помощью vid 0403, pid 6010, описание '*' и серийный 'FTZ7O8O0'

Подобное сообщение об ошибке появится при запуске OpenOCD в Linux без разрешения. Убедитесь, что вы запускаете OpenOCD с помощью sudo, «sudo opeocd».

Рекомендации:

(1) Использование OpenOCD в качестве автономного FLASH-программиста (простой учебник) - Olimex

(2) Команды вспышки - Руководство по OpenOCD

(3) Конфигурация адаптера отладки - Руководство по OpenOCD

(4) Начало работы с компилятором ARM GCC для Windows, часть 5: Отладка с помощью OpenOCD

(5) Настройка OpenOCD для AT91SAM7S

(6) Общие команды - Руководство по OpenOCD

(7) OpenOCD - eLinux

(8) FT2232H DataSheet (PDF)

Записи по тегу "FT2232H" ⋆ Журнал Эмбеддед-Инженера

Введение

   Задача состояла в том, чтобы из под десктопного линукса иметь возможность работать с SPI-интерфейсом внешних чипов, притом желательно это делать стандартным механизмом через устройство /dev/spiХ, причем решить эту задачу максимально беспроблемно без свистопляски с пересбором ядра и дров, а поскольку, если это не SBC (Single Board Computer), а десктопное детище архитектуры x86 без набортного контроллера SPI Master, то от соблазна подобрать что-то из конвертеров SPI-to-USB никуда не деться, а их существует некоторое количество.

Кандидаты USB-to-SPI 

•  CP2130 от Silicon Labs

•  MCP2210 от Микрочипа

•  FT232H от FTDI (или что-то иное подходящее от FTDI) 

   В итоге гонку выиграл MCP2210, хотя под CP2130 тоже имелись какие-то варианты решения:  https://www.silabs.com/documents/public/software/CP2130_SDK_Linux.zip и  https://github.com/Henneberg-Systemdesign/cp2130 .

MCP2210

   Некто Daniel Santos разработал линукс-драйвер для этого моста, базирующийся в то же время на более раннем драйвере https://github.com/MathewKing/mcp2210-linux от Mathew King. На данный момент драйвер умеет отправлять и получать ответы для большинства настроечных команд (настройка параметров шины SPI, управление чипом, и т. д.), чтения/записи пользовательского EEPROM и отправки/приема непосредственно сообщений SPI. Однако надо учитывать, что при работе через спецификацию устройства spidev многие вызовы через ioctl не поддерживаются и захардкожены с помощью функции fake_config().

   Без знания заранее конфигурации платы (схемотехники) с чипом MCP2210 автонастройка SPI невозможна. MCP2210 может быть сконфигурирована при начальном запуске скрипта настройки (индивидуальная настройка каждой линии ввода-вывода), для хранения этих настроек на стороне устройства идеально подходит пользовательский EEPROM размером 256 байт. Система авто-конфига получила название Creek, все настройки за исключением имени драйвера протокола и прочих строковых переменных занимают для хранения 5 байт EEPROM. Минорный функционал настроек реализован через вызовы ioctl из пользовательского окружения.

Установка

Шаг 1

Установка ядра 4.15 (ядро называется kernel-ml, доступно в репозитарии elrepo-kernel) на CentOS 7.

Шаг 2

Сборка и установка драйвера mcp2210 под linux:

git clone https://github.com/iDoka/mcp2210-linux.git

cd mcp2210-linux

 

make all

sudo make modules_install

 Установка правил UDEV и скрипта, который перепривязывает к конкретному устройству новый драйвер:

sudo cp udev/99_mcp2210.rules /etc/udev/rules.d

sudo udevadm control --reload-rules

 

sudo cp udev/rebind_sysfs_driver.sh /usr/local/sbin/

sudo chmod 0755 /usr/local/sbin/rebind_sysfs_driver.sh

 Шаг 3

Тест драйвера:

sudo modprobe mcp2210

lsmod | grep mcp2210

cd user/

LD_LIBRARY_PATH=`pwd` ./mcp2210-util --help

 Считывание конфига:

 LD_LIBRARY_PATH=`pwd` . /mcp2210-util -d /dev/usb2spi_bridge0 get config > creek.dat

 Материалы

Все изменения в udev-rules, создающие девайс, доступный из-под пользователя, доступны в моём форке: https://github.com/iDoka/mcp2210-linux

читать...

РКС Компоненты - РАДИОМАГ

РКС Компоненты - РАДИОМАГ

НОВОСТИ

Полный список  смотрите  по ссылке.

02/04/2021

Контроллер температуры и влажности, Тестер емкости аккумулятора, Тестер полупроводников, Компактный усилитель мощности, 

Bluetooth аудиомодуль ,Цветной USB тестер (вольтметр, амперметр, контролер заряда), Цифровой портативный осциллограф, 
Двухсторонняя клейкая, акриловая лента, Антистатические пинцеты


Полный список поставки смотрите по ссылке

 

02/04/2021

Пополнение склада и расширение ассортименту от производителя Hantek Electronics.


Измерительные приборы
Аксессуары для инструмента и оборудования

01/04/2021

Пополнение склада и расширение ассортименту от производителя LiitoKala.


Аккумуляторы и батарейки
Блоки питания, сетевые адаптеры, зарядные устройства

01/04/2021

С 30.03 до 05.04.2021 магазин Радиомаг в г. Харьков будет выдавать  заказы оформленные чрез сайт и по телефону.

Приобретение товара в торговом зале и отправка новой почтой не доступны. 

30/03/2021

В связи с введением усиленного карантина.

в г. Львов с 19.03.2021


в г. Киев с 20.03.2021
в г. Одесса с 23.03.2021

Посещение торгового зала магазинов Радиомаг и отдела продаж невозможно.
Заказы принимаются через сайт и в телефонном режиме.

Отгрузка заказов только новой почтой, возможности самовывоза нет.

18/03/2021

Расширен ассортимент радиомодулей с интерфейсами: UART, UART/IO, IO,  USB, SPI.

Полный список поставки по ссылке HOPE RF

26/11/2020

Паяльное оборудование производителей YIHUA и AOYUE на складе, а также в сети магазинов РАДИОМАГ
На нашем складе обновился ассортимент таких товарных групп как: паяльные станции, паяльники, фены, жала, насадки на фен, уловитель дыма.

Полный перечень пополнения смотрите по ссылке, либо в разделе
Паяльное оборудование, расходные для пайки

24/11/2020

Просим обратить внимание.


Магазин Радиомаг в Киеве меняет свой график работы:
Пн. - Сб. работает  9:00-16:00
Вс. - Выходной

23/11/2020

Расширен складской запас энкодеров

Перечень поставки смотрите по ссылке либо в разделе сайта.

01/11/2020

goods index

Макетная плата FT2232HL, модуль обучения FT2232H MINI FT4232H UM232H, макетная плата USB в SPI, двойной последовательный порт|Интегральные схемы|

информация о продукте

Характеристики товара

  • Название бренда: diymore
  • Происхождение: Китай
  • Состояние: Новый
  • Тип: Регулятор напряжения
  • Номер модели: FT2232HL
  • Применение: Компьютер
  • Упаковка: SMD
  • Индивидуальное изготовление: Да

FT2232H MINI MDL от 2972 рублей в наличии 20 шт производства FT2232HQ-MODULE

Главная Каталог Полупроводники Модули связи Модули USB всего в наличии 20 шт
Количество Цена ₽/шт
+1 3 582
+10 3 224
+50 2 972
Минимально 1 шт и кратно 1 шт

Вы можете запросить у нас любое количество FT2232H MINI MDL, просто отправьте нам запрос на поставку.
Мы работаем с частными и юридическими лицами.

Купить FT2232H MINI MDL от 1 шт с помощью банковской карты можно прямо сейчас на нашем сайте.
Работаем с частными и юридическими лицами.

FT2232HQ-MODULE описание и характеристики

Модуль: USB; FIFO x2,MPSSE x2,UART x2; USB B mini,штыревой

Бесплатная доставка
заказов от 5000 ₽

Доставим прямо в руки или в ближайший пункт выдачи


Смежные товары

Начало работы с OPENOCD с использованием адаптера FT2232H для отладки SWD

Узнайте, как упростить прошивку MCU на базе ARM с помощью отладчика OpenOCD с адаптером FT2232H.

Старые микроконтроллеры таких производителей, как ATMEL и MICROCHIP, такие как семейство PIC16F и Atmega, как правило, имеют специальный программный интерфейс для программирования внутренней флэш-памяти. Например, Atmega использовала выводы SPI (MISO, MOSI, SCK), а PIC использовала два вывода (PGC, PGD) - один как часы, а другой как двунаправленную линию данных.

Новые микроконтроллеры, особенно с ядром ARM, используют JTAG / SWD в качестве интерфейса программирования / отладки.

В чем разница между Joint Test Action Group (JTAG) и Serial Wire Debug (SWD)? Ответ заключается в том, что SWD был создан как альтернатива JTAG для сохранения контактов в пакете MCU: SWD заменяет 5-контактный интерфейс JTAG на только 2-контактный.

Для связи с нашим целевым чипом нам нужна программа на хосте и оборудование в качестве моста между хостом и чипом.В этом руководстве мы будем использовать OpenOCD в качестве программы на хосте для отправки команд и связи с помощью SWD. Мы будем использовать FT2232H в качестве моста для трансляции сигналов с порта USB на интерфейс SWD.

Интерфейсные сигналы SWD

Обзор OpenOCD

Открытый отладчик на кристалле (OpenOCD) - это бесплатный проект с открытым исходным кодом, целью которого является обеспечение отладки, внутрисистемного программирования и пограничного сканирования с использованием адаптера отладки. Адаптер - это аппаратный модуль, который обеспечивает правильные сигналы для понимания цели.

Отладчик

OpenOCD поддерживает множество адаптеров отладки, которые можно просмотреть на веб-сайте OpenOCD.

Чтобы OpenOCD работал, вы должны настроить его с помощью команд или файлов конфигурации. Когда настройка завершена и соединение с целью установлено, OpenOCD начнет работать как демон. Демон - это фоновый процесс, отвечающий на запросы услуг. OpenOCD теперь будет ждать соединений от GDB, Telnet или любого другого канала и обрабатывать заданные команды.

Блок-схема OpenOCD

Обзор FT2232H

FT2232H - это двойной высокоскоростной USB-порт для универсальной микросхемы UART / FIFO. Это означает, что это однокристальный USB-порт с двумя портами.

Каждый порт оснащен механизмом, называемым Multi-Protocol Synchronous Serial Engine (MPSSE), для упрощения проектирования синхронного последовательного протокола (USB в JTAG, I2C, SPI или bit-bang). Это позволяет пользователям настраивать канал с желаемым протоколом. MPSSE доступны на каналах A и B и могут быть настроены для поддержки любого синхронного последовательного протокола.

Будьте внимательны, прежде чем выбирать OpenOCD

Выбор OpenOCD в качестве инструмента отладки с адаптером, таким как FT2232H, является очень хорошим выбором, когда у вас нет большого бюджета для работы.

Помимо бесплатности и открытого исходного кода, OpenOCD также имеет хорошее сообщество поддержки. НО, как и в случае с любым другим инструментом с открытым исходным кодом, вы можете столкнуться с ошибками, которые вам, возможно, придется исправить самостоятельно.

Мне потребовалось некоторое время, чтобы понять, как заставить OpenOCD работать и прошить мой MCU, и я надеюсь, что это руководство будет хорошим и полным справочником.

Также я советую всем, кто ищет инструменты для отладки, выбирать с умом. Например, если вам нужен простой инструмент, я думаю, что OpenOCD может быть не лучшим выбором для вас!

Другие хорошие альтернативные инструменты отладки:

  • Segger J-Link
  • УЛИНК
  • Отладчики по умолчанию, встроенные в оценочные платы (например, STM32, EFM32 и другие семейства MCU) поставщиками микросхем

В заключение, если у вас мало бюджета, времени или терпения, OpenOCD с FT2232H станет для вас отличным выбором.

Требования

Вот что вам понадобится для выполнения этого руководства:

Давайте рассмотрим каждую деталь индивидуально.

Вы можете получить дешевую модель у китайских поставщиков, таких как Taobao, Alibaba и AliExpress. Я заказал свою на Taobao примерно за 14 долларов.

Вы также можете заказать официальный модуль FTDI, мини-модуль FT2232H.

Коммутационные платы FT2232H

  • ОС Windows или Linux с рабочей копией OpenOCD:

Windows: Вы можете получить исполняемую версию OpenOCD из неофициальных двоичных пакетов.

Linux: вы можете получить его из пула пакетов вашего дистрибутива Linux, например, пакет debian.

Или вы можете собрать его из исходного кода, трудный путь! Я лично выбрал этот путь. Вы можете найти полезные руководства о том, как это сделать, например, из Dangerous Prototypes (для Windows) или eLinux (для Linux). Вы также можете прочитать инструкции по компиляции из исходного кода OpenOCD (README.Windows и README).

Примечание: Некоторое время назад команда разработчиков OpenOCD решила больше не предоставлять никаких официальных двоичных файлов.Они предлагают только исходный код, ожидая, что поставщик оборудования JTAG создаст двоичные файлы. Убедитесь, что используемый вами двоичный файл поддерживает ваше оборудование JTAG.

Я выбрал свой прорыв с EFM32G200F32, микроконтроллером (MCU) на базе ARM Cortex-M3, но любой другой поддерживаемый MCU будет работать.

Моя плата расширения EFM32G200F32

EFM32G200F32 распиновка

Как устроен OpenOCD

Для запуска OpenOCD вам нужен только правильный файл конфигурации (.cfg), поставляемый в OpenOCD. Этот файл конфигурации содержит команды, являющиеся расширениями Jim-Tcl. Jim-Tcl - это язык программирования, который предоставляет простой и расширяемый интерпретатор команд.

В файле каталога OpenOCD есть папка с именем «scripts». В этой папке вы увидите папки «interface», «board» и «target». И это практически единственные папки, которые вам нужны.

  • Интерфейс: Файлы конфигурации для аппаратных адаптеров, например, minimodule.cfg.
  • Board: Файлы конфигурации для общих плат разработки, такие как «atmel_sam4s_xplained_pro.cfg» - «olimex_stm32_h207.cfg» - «stm32f4discovery.cfg» .. и т. Д. Вы можете видеть, что эти файлы повторно используют файлы конфигурации из интерфейса и цели.
  • Цель: Файлы конфигурации для микросхем MCU.

Однако вы можете написать свои собственные файлы конфигурации, что мы и сделаем в этом руководстве.

Когда мы запускаем OpenOCD, мы можем предоставить ему столько файлов конфигурации, сколько захотим:

openocd -f config1.cfg -f config2.cfg -f config3.cfg

Понимание основ конфигурации адаптера

Во-первых, нам нужно сообщить OpenOCD тип адаптера, с которым он будет работать, с помощью команды interface .

Чтобы увидеть полный список интерфейсов, которые поддерживает ваша версия OpenOCD, используйте эту команду:

> openocd -c список_интерфейсов

В нашем руководстве мы будем использовать адаптер с микросхемой FT2232H, поэтому мы будем использовать драйвер интерфейса FTDI:

interface ftdi

Вы также должны сообщить OpenOCD дополнительную информацию о вашем адаптере (интерфейсе).Например, вам нужно указать VID / PID, серийный номер или номер канала, который вы будете использовать для FT2232H, поскольку он имеет два канала.

ftdi_vid_pid 0x0403 0x6010

ftdi_channel 1

ftdi_serial "FTZ7O8O0"

Адаптер может поддерживать более одного транспортного протокола, поэтому OpenOCD позволяет выбрать транспортный протокол:

транспорт выберите swd

Вы также должны сообщить OpenOCD начальные значения данных FTDI GPIO и регистров направления с помощью команды ftdi_layout_init . Вы должны сначала ввести начальные значения 16 контактов канала, а затем направления. Зная, что «1» используется для выбора направления в качестве выхода, а «0» - для входа, и каждый канал в ft2232H имеет 16 контактов.

ftdi_layout_init 0x0018 0x05fb

Это означает:

Низкие выходные данные = 0x18 // 0001 1000

Низкое направление = 0xfb // 1111 1011

Высокое направление = 0x05 // 0000 0101

Чтобы узнать больше о конфигурации адаптера, вы можете обратиться к руководству OpenOCD.

Подключение объекта к адаптеру

Существует файл конфигурации под названием «swd-resistor-hack.cfg», который включает схему подключения:

FT2232H проводка с целью

Файл содержит примечание:

«Подключите TDI к SWDIO через подходящий последовательный резистор (220-470 Ом или около того, в зависимости от мощности привода цели и адаптера), подключите TDO напрямую к SWDIO».

Без такого подключения резистора соединение не будет установлено.

FT2232H распиновка

Собираем все вместе

Давайте теперь попробуем установить соединение между адаптером и целью с помощью OpenOCD.

Часть 1: Выполните необходимые проводные соединения

Подключение FT2232H к цели

Часть 2: Запуск OpenOCD

Сначала создайте специальный файл конфигурации для нашего адаптера. Создайте новый текстовый файл (ANYNAME.cfg). Не забудьте отредактировать VID / PID и серийный номер в соответствии с вашим чипом:

  # Этот файл конфигурации создан для учебника:
# "Начало работы с OPENOCD с использованием адаптера FT2232H для отладки SWD"
# Написал: Яхья Тавил - yahya.tawil_at_gmail.com
# Нарушено: http://www.allaboutcircuits.com
# Версия OpenOCD: 0.9.0
интерфейс ftdi
транспорт выбрать swd
ftdi_vid_pid 0x0403 0x6010
#ftdi_device_desc "Последовательный USB-преобразователь A"
#ftdi_device_desc "FT2232H 开发 板"
ftdi_serial "FTZ7O8O0"
#adapter_khz 8
ftdi_layout_init 0x0018 0x05fb
ftdi_layout_signal SWD_EN -данные 0
ftdi_layout_signal nSRST -data 0x0010  

Примечание: Определение сигнала SWD_EN важно для работы OpenOCD, даже если мы не подключили его физически. Если мы этого не сделаем, появится ошибка:

Ошибка: режим SWD активен, но сигнал SWD_EN не определен

Окна:

После загрузки копии OpenOCD, как мы описали ранее, запустите консоль CMD, затем перейдите в каталог, в котором находится OpenOCD. Например:

cd Рабочий стол \ openocd-0.9.0 \ bin

Помните: У нас есть файл конфигурации (я назвал его SWD_FT.cfg), и целью является один из чипов EFM32.

Затем в CMD введите:

openocd -f интерфейс / ftdi / SWD_FT.cfg -f target / efm32.cfg

Linux:

В терминале наберите:

Sudo openocd -f интерфейс / ftdi / SWD_FT.cfg -f target / efm32.cfg

Теперь у вас должно получиться что-то вроде:

Информация: включен режим FTDI SWD

скорость адаптера: 1000 кГц

cortex_m reset_config sysresetreq

Информация: тактовая частота 1000 кГц

Информация: SWD IDCODE 0x2ba01477

Информация: efm32.cpu: оборудование имеет 6 точек останова, 4 точки наблюдения

Если у вас возникли проблемы, обратитесь к разделу устранения неполадок - это может быть плохая проводка или проблема с драйвером для пользователей Windows.

Часть 4: Открытое соединение Telnet

Откройте другое окно CMD и введите:

telnet localhost 4444


Часть 5: Связь с целью

Не забудьте остановить вашу цель перед любыми операциями отладки:

> остановка сброса

Вы получите что-то вроде:

целевое состояние: остановлено

Цель

остановлена ​​из-за запроса отладки, текущий режим: поток

xPSR: 0x01000000 ПК: 0x00000bbc MSP: 0x20002000

Чтобы прочитать внутренние регистры нашего чипа, введите:

> рег.

Ответ на команду reg

Чтобы записать образ во внутреннюю флэш-память, нам необходимо определить внутренние флэш-банки.Это может быть один банк, такой как наша текущая цель, «efm32.cfg». Чтобы убедиться, введите следующее:

> флэш-информация 0

или

> флэш-список

> флэш-банки

Он вернет следующее:

# 0: efm32.flash (efm32) по адресу 0x00000000, размер 0x00008000, ширина шины 0, пропускная способность микросхемы 0

Теперь, чтобы прошить нашу программу, используйте команду flash write_image .

Эта команда принимает форматы bin (двоичный), ihex (Intel hex), elf (файл ELF), s19 (Motorola s19), mem или Builder.

> flash write_image erase "Desktop / FirstApp.hex"

У вас должно получиться что-то вроде:

автоматическое стирание включено

записал 1536 байт из файла Desktop / FirstApp.hex за 0,124740 с (12,025 КиБ / с)

Теперь снова запустите вашу цель, используя эту команду:

> сбросить пробег

Для выхода из Telnet-соединения просто введите:

> выход

Прочтите руководство OpenOCD, чтобы узнать больше о перепрошивке памяти с помощью OpenOCD.

Устранение неполадок

Пример ошибки 1:

  • Ошибка: невозможно открыть устройство ftdi: сбой usb_open ()

Эта ошибка может быть вызвана использованием драйвера libusb в Windows, в то время как новые версии OpenOCD используют драйвер WinUSB.

Во-первых, убедитесь, что Windows не устанавливает драйвер автоматически:

Затем удалите драйвер FTDI по умолчанию. Вы можете использовать инструмент от FTDI под названием CDM Uninstaller x.x - Программа удаления драйверов устройств Windows: просто введите VID и PID.

Обратите внимание, что идентификатор поставщика FTDI по умолчанию - 0x0403. Идентификаторы продукта по умолчанию следующие:

  • Одноканальные устройства (R Chips): 0x6001
  • Двухканальные устройства (микросхемы 2232C / D / H): 0x6010
  • Четырехканальные устройства (микросхемы 4232H): 0x6011

Подробнее здесь.

Наконец, используйте Zadig Tool для установки драйвера WinUSB.

Пример ошибки 2:

  • Информация: тактовая частота 1000 кГц
    в процедуре init
    в процедуре ocd_bouncer

Эта ошибка вызвана неправильным подключением или отсутствием резистора между TDI и TDO в «swd-resistor-hack.cfg », как мы упоминали выше.

Это также может быть вызвано неправильной конфигурацией, например, отсутствием команды ftdi_layout_init в файле конфигурации:

ftdi_layout_init 0x0018 0x05fb

Пример ошибки 3:

  • Ошибка: ошибка libusb_open () с LIBUSB_ERROR_ACCESS
    Ошибка: устройство не найдено
    Ошибка: невозможно открыть устройство ftdi с vid 0403, pid 6010, описанием '*' и серийным номером 'FTZ7O8O0'


Аналогичное сообщение об ошибке появится при запуске OpenOCD в Linux без разрешения.Убедитесь, что вы запускаете OpenOCD с помощью sudo, «sudo opeocd».

Ссылки:

[1] Использование OpenOCD в качестве автономного программатора FLASH (простое руководство) - Olimex

[2] Команды Flash - Руководство OpenOCD

[3] Конфигурация адаптера отладки - Руководство по OpenOCD

[4] Начало работы с компилятором ARM GCC в Windows, часть 5: Отладка с помощью OpenOCD

[5] Настройка OpenOCD для AT91SAM7S

[6] Общие команды - Руководство OpenOCD

[7] OpenOCD - eLinux

[8] FT2232H Лист данных (PDF)

купить ft2232h с бесплатной доставкой на AliExpress

Отличные новости !!! ft2232h вы находитесь в нужном месте. К настоящему времени вы уже знаете, что что бы вы ни искали, вы обязательно найдете это на AliExpress. У нас буквально есть тысячи отличных продуктов во всех товарных категориях. Ищете ли вы товары высокого класса или дешевые и недорогие оптовые закупки, мы гарантируем, что он есть на AliExpress.

Вы найдете официальные магазины торговых марок наряду с небольшими независимыми продавцами со скидками, каждый из которых предлагает быструю доставку и надежные, а также удобные и безопасные способы оплаты, независимо от того, сколько вы решите потратить.

AliExpress никогда не уступит по выбору, качеству и цене. Каждый день вы найдете новые онлайн-предложения, скидки в магазинах и возможность сэкономить еще больше, собирая купоны. Но вам, возможно, придется действовать быстро, поскольку этот лучший ft2232h вскоре станет одним из самых востребованных бестселлеров. Подумайте, как вам будут завидовать друзья, когда вы скажете им, что купили ft2232h на AliExpress.Благодаря самым низким ценам в Интернете, дешевым тарифам на доставку и возможности получения на месте вы можете еще больше сэкономить.

Если вы все еще не уверены в ft2232h и думаете о выборе аналогичного товара, AliExpress - отличное место для сравнения цен и продавцов. Мы поможем вам решить, стоит ли доплачивать за высококачественную версию или вы получаете столь же выгодную сделку, приобретая более дешевую вещь.И, если вы просто хотите побаловать себя и потратиться на самую дорогую версию, AliExpress всегда позаботится о том, чтобы вы могли получить лучшую цену за свои деньги, даже сообщая вам, когда вам будет лучше дождаться начала рекламной акции. и ожидаемая экономия.AliExpress гордится тем, что у вас всегда есть осознанный выбор при покупке в одном из сотен магазинов и продавцов на нашей платформе. Реальные покупатели оценивают качество обслуживания, цену и качество каждого магазина и продавца.Кроме того, вы можете узнать рейтинги магазина или отдельных продавцов, а также сравнить цены, доставку и скидки на один и тот же продукт, прочитав комментарии и отзывы, оставленные пользователями. Каждая покупка имеет звездный рейтинг и часто имеет комментарии, оставленные предыдущими клиентами, описывающими их опыт транзакций, поэтому вы можете покупать с уверенностью каждый раз. Короче говоря, вам не нужно верить нам на слово - просто слушайте миллионы наших довольных клиентов.

А если вы новичок на AliExpress, мы откроем вам секрет.Непосредственно перед тем, как вы нажмете «купить сейчас» в процессе транзакции, найдите время, чтобы проверить купоны - и вы сэкономите еще больше. Вы можете найти купоны магазина, купоны AliExpress или собирать купоны каждый день, играя в игры в приложении AliExpress. Вместе с бесплатной доставкой, которую предлагают большинство продавцов на нашем сайте, вы сможете приобрести ft2232h по самой выгодной цене.

У нас всегда есть новейшие технологии, новейшие тенденции и самые обсуждаемые лейблы.На AliExpress отличное качество, цена и сервис всегда в стандартной комплектации. Начните самый лучший шоппинг прямо здесь.

Использование минимального модуля FT2232H для отладки платы ESP32 - Отладка

Мне потребовалось очень много времени, чтобы настроить работу, поэтому я подумал, что поделюсь тем, что нашел, в надежде, что это будет полезно для других.

У меня есть Mac (OSX 10.13) с platformIO (в VSCode, но это не имеет особого значения), плата разработки ESP (Lolin32 lite, и это немного важно, см. Ниже) и мини-модуль FT2232H.Должно быть все хорошо для запуска отладчика PlatformIO, но, к сожалению, вся необходимая информация находится в разных местах, а с помощью Google вы часто находите неверную информацию.

Плата esp32 у вас имеет значение, потому что вам нужно иметь доступ к GPIO12, GPIO13, GPIO14 и GPIO15.

Первое, что следует отметить, это то, что у MiniModule есть много вариантов того, от чего питается FT2232H. Если вы не установите правильные перемычки питания, произойдут разные странные вещи (у меня иногда появлялись другие VID и PID на шине USB или другое описание, например, PID 6012 вместо 6010 или описание «ES001H» или «Dual RS-232-HS» вместо «FT2232H MiniModule».

Прочтите техническое описание мини-модуля, https://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT2232H_Mini_Module.pdf, особенно бит раздела 3 «Питание от шины USB». И внимательно проверьте расположение разъемов (CN1 и CN3) и их номера контактов. Вам необходимо добавить 2 перемычки в минимодуль:

  • CN3, контакт 1 - CN3, контакт 3. Он служит для подключения питания USB к MiniModule VCC.
  • Вывод 1 CN2 на вывод 11 CN2 (но есть и другие варианты). Это подключает MiniModule 3.3 В к напряжению ввода-вывода FT2232H.

Следующей проблемой было заставить Minimodule работать стабильно на Mac, потому что в зависимости от версии OSX, которая у вас есть, и драйверов, которые вы могли установить ранее, могут быть другие драйверы USB, которые распознают Minimodule и делают его недоступным для отладчика platformIO.

Возможно, вам придется удалить /Library/Extensions/FTDIUSBSerialDriver.kext . Введите в Google запрос «удалить драйвер Mac ftdi» и посмотрите, какая из процедур вам подходит.Если вы подключаете MiniModule и ls -l /dev/tty.* показывает, что появился новый последовательный порт, вы еще не полностью удалили все старые драйверы.

Если на этом этапе все в порядке, вы должны увидеть MiniModule, если зайдете в Apple Menu Об этом Mac Системный отчет USB . Он должен быть указан как «FT2232H MiniModule», идентификатор продукта 0x6010, идентификатор поставщика 0x0403.

Теперь вам нужно решить, как подключить MiniModule к вашей плате esp32.Вам необходимо подключить GND (сигнальное заземление), EN (включить, что на самом деле является СБРОСОМ, но активен низкий уровень) и 4 сигнала JTAG TCK , TDI , TDO и TMS :

  • GND - это просто: подключите контакт Minimodule CN2-2 к контакту заземления на вашей плате esp32.
  • EN должно быть легко найти на вашей плате esp32, но он может называться RST ' или что-то в этом роде. Поиск правильного пина MiniModule для его подключения может потребовать больше усилий, а предложения, которые появляются в Google и в документации PlatformIO, вводят в заблуждение.Проверьте файл конфигурации openocd minimodule (который находится где-то вроде .platformio / packages / tool-openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg . Вы ищете сигнал nSRST . На моем версия platformio / openocd он был подключен к FT2232H AD5, который является контактом MiniModule CN2-13.
  • MiniModule CN2-7 переходит к GPIO13 (имя JTAG TCK , контакт FT2232H AD0 )
  • MiniModule CN2-10 подключается к GPIO12 (имя JTAG TDI , контакт FT2232H AD1 )
  • MiniModule CN2-9 подключается к GPIO15 (имя JTAG TDO , контакт FT2232H AD2 )
  • MiniModule CN2-12 переходит к GPIO14 (имя JTAG TMS , контакт FT2232H AD3 )

А вот изображение (если не выиграете призы, но это может помочь кому-то узнать, как маршрутизировать сигналы):

Настройка последовательного USB-преобразователя FT2232H на модуле Saturn Spartan 6

Модуль

Saturn Spartan 6 FPGA имеет встроенный FT2232H USB для последовательного устройства для облегчения связи с хостом. FT2232H имеет два канала и обычно называется каналом A и каналом B. Эти каналы представляют собой отдельные многопротокольные механизмы USB, которые могут независимо действовать как отдельные последовательные порты или другие преобразователи протоколов. Помимо последовательного интерфейса в стиле RS232, FT2232H поддерживает I2C, SPI, JTAG и т. Д.

Канал A FT2232H на модуле Saturn Spartan 6 FPGA предназначен для программирования флэш-памяти SPI. Таким образом, ваш дизайн можно загрузить на плату без использования специального кабеля JTAG. Поскольку дизайн записывается непосредственно на встроенную флэш-память SPI, она остается неизменной даже после отключения питания.Инструмент настройки в настоящее время не поддерживает программирование SRAM FPGA напрямую.

Канал B FT2232H подключен к FPGA через несколько выделенных входов-выходов. Это позволяет ПЛИС легко и эффективно обмениваться данными с главным компьютером. Связь между FPGA и FT2232H имеет ширину 13 бит. Это помогает реализовать любой из следующих протоколов для связи FPGA <-> FT2232H.

  • Последовательный порт в стиле RS232
  • Синхронный 245 стиль FIFO
  • Асинхронный тип 245 FIFO
  • SPI
  • I2C
  • JTAG
  • И многое другое с использованием интерфейса bit bang

Поскольку канал A предназначен для программирования SPI, не рекомендуется изменять конфигурацию по умолчанию на этом канале.Но канал B можно настроить в соответствии с вашими потребностями. В этом коротком руководстве вы познакомитесь с основами настройки FT2232H с помощью утилиты FT_Prog. Загрузите и установите форму утилиты FT_Prog здесь.

Прежде чем мы сможем начать работу над устройством FT2232H, нам нужно будет просканировать систему, составить список всех устройств FTDI и определить устройство, которое принадлежит Saturn. Для этого запустите утилиту, щелкните значок лупы на панели инструментов. Если Saturn подключен к ПК, он должен быть указан в дереве устройств в левой части окна. Если в списке указано более одного устройства, щелкните каждое устройство и найдите одно с описанием продукта «Модуль Saturn Spartan 6 FPGA», как показано на изображении ниже.

На этом этапе мы можем настроить канал B. Единственное, что вам может потребоваться изменить здесь, это тип драйвера, который используется для этого канала. Как вы можете видеть на изображении ниже, FT2232H может работать с двумя разными типами драйверов, виртуальным COM-портом и D2XX. Драйвер VCP сделает FT2232H похожим на стандартный последовательный порт при подключении к ПК, и вы можете использовать программу-эмулятор последовательного терминала, такую ​​как Teraterm или HyperTerminal, для связи с устройством.Это очень полезно при отладке вашего проекта или запуске операционной системы, такой как Linux на Saturn. В таких случаях этот последовательный порт может работать как консольный интерфейс. Но недостатком является то, что вы можете использовать только последовательный интерфейс в стиле RS232 для связи между FT2232H и FPGA, и это относительно более медленная форма связи.

Для использования любого другого протокола необходимо настроить канал для использования драйвера D2XX. После того, как канал настроен для использования D2XX, к нему можно будет получить доступ с помощью D2XX API, предоставляемого FTDI, как описано в Руководстве программиста D2XX.Самый быстрый вариант связи - использовать 245FIFO. Этот интерфейс использует 8 линий данных и пару линий управления для перемещения данных между FT2232H и FPGA. Пожалуйста, обратитесь к документации FTDI для получения более подробной информации об использовании режима 245FIFO. На изображении ниже показано, как выбирать между режимами VCP и D2XX.

После выбора соответствующего драйвера запрограммируйте новую конфигурацию устройства, щелкнув небольшой значок молнии на панели инструментов. Вы можете сохранить существующую конфигурацию в XML-файл, нажав кнопку «Сохранить» на панели инструментов.Перед внесением каких-либо изменений настоятельно рекомендуется сделать резервную копию существующей конфигурации.

FT2232H и FT4232H - 5-е поколение USB-устройств FTDI | FTDI

Мини-модуль FTDI FT2232H и мини-модуль FT4232H - это миниатюрные высокоскоростные оценочные модули USB 2.0, которые поддерживают новые высокоскоростные устройства FT2232H и FT4232H USB 2.0, которые могут быть настроены на различные стандартные последовательные или параллельные интерфейсы. такие как UART или FIFO. Размер печатной платы модуля составляет всего 36 мм (Д) x 30 мм (Ш) x 12 мм (В, включая контакты разъема).Многопротокольные синхронные последовательные механизмы (MPSSE) способны развивать скорость до 30 Мбит / с и обеспечивают гибкие конфигурации интерфейсов. Весь протокол USB находится на микросхеме со встроенным регулятором LDO и PPL. Каждый мини-модуль FTDI обеспечивает доступ ко всем необходимым сигналам через два 26-контактных (2 ряда, шаг 0,1 дюйма) штекерных разъемов размером 32,9 мм x 5,08 мм. Длина вывода составляет 6 мм. Эти продукты позволяют клиентам быстро оценить устройства FT2232H и FT4232H. и водители до того, как приступить к собственному дизайну.

Архивная статья опубликована 21.05.2009. Некоторая информация может быть устаревшей и соответствовать текущему состоянию. Пожалуйста, свяжитесь с нами в случае заинтересованности.

Мини-модуль FT2232H B
  • Двойной высокоскоростной USB-порт для универсальной микросхемы UART / FIFO / MPSSE
  • Предоставляет два независимых настраиваемых интерфейса
  • 4K-байтовый буфер данных TX и Rx на интерфейс
  • Расширенный температурный диапазон (от -40ºC до + 85ºC)

Мини-модуль FT2232H - это модуль разработки USB-to-serial / FIFO из линейки продуктов FTDI, в котором используется высокоскоростной двухпортовый мостовой чип FT2232H USB, который обрабатывает все сигналы и протоколы USB.Он идеально подходит для целей разработки, чтобы быстро проверить функциональность добавления USB в целевой проект.

FT2232H на мини-модуле - это 5-е поколение USB-устройств FTDI. FT2232H - это высокоскоростной USB 2.0 (480 Мбит / с) для UART / MPSSE IC. Устройство имеет два интерфейса, которые можно настроить для асинхронного или синхронного последовательного или параллельного интерфейса FIFO. Два канала также могут быть независимо настроены для использования механизма MPSSE. Это позволяет двум портам FT2232H работать независимо как порты UART / Bit-Bang или механизмы MPSSE, используемые для эмуляции JTAG, SPI, I2C, Bit-bang или других синхронных последовательных режимов.

Мини-модуль FT2232H соединяет сигналы микросхемы FT2232H с двумя 26-контактными двухрядными разъемами, которые позволяют легко подключать разъемы разъемов печатной платы и ленточные кабели.

Мини-модуль FT4232H
  • Четыре высокоскоростных порта USB для универсальной микросхемы UART / MPSSE
  • Обеспечивает четыре канала
  • Буфер данных TX и Rx размером 2 Кбайт
  • Расширенный температурный диапазон (от -40ºC до + 85ºC)

Мини-модуль FT4232H - это модуль разработки USB-serial / MPSSE из линейки продуктов FTDI, в котором используется высокоскоростной четырехпортовый мостовой чип FT4232H USB, который обрабатывает все сигналы и протоколы USB.Он идеально подходит для целей разработки, чтобы быстро проверить функциональность добавления USB в целевой проект.

FT4232H на мини-модуле - это 5-е поколение USB-устройств FTDI. FT4232H - это высокоскоростной USB 2.0 (480 Мбит / с) для UART / MPSSE IC. Устройство имеет четыре интерфейса, которые можно настроить для асинхронного или синхронного последовательного или параллельного интерфейса FIFO. Два из них имеют возможность независимо настраивать механизм MPSSE. Это позволяет FT4232H работать как два порта UART / Bit-Bang плюс два механизма MPSSE, используемых для эмуляции JTAG, SPI, I2C, Bit-bang или других синхронных последовательных режимов.

Мини-модуль FT4232H соединяет сигналы микросхемы FT4232H с двумя 26-контактными двухрядными разъемами, которые позволяют легко подключать разъемы заголовков печатных плат и ленточные кабели.

Области применения
  • Однокристальный USB-порт на четыре канала UART (RS232, RS422 или RS485) или интерфейсы Bit-Bang.
  • Однокристальный USB на 2 канала JTAG плюс 2 UART.
  • Однокристальный USB на 1 канал JTAG плюс 3 UART.
  • Однокристальный USB на 1 канал SPI плюс 3 UART.
  • Однокристальный USB на 2 канала SPI плюс 2 UART.
  • Однокристальный USB на 2 канала Bit-Bang плюс 2 UART.
  • Однокристальный USB на 1 канал SPI, 1 канал JTAG и 2 порта UART.
  • Однокристальный USB на 2 канала I2C плюс 2 UART.
  • Многочисленные комбинации 4 каналов.
  • Обновление устаревших периферийных устройств до USB.
  • USB-продукты, модернизируемые на месте.
  • Продукты с гальванической развязкой и интерфейсом USB.
  • Сотовый и беспроводной телефон USB-кабели и интерфейсы для передачи данных.
  • Подключение микроконтроллеров / PLD / FPGA к USB.
  • USB-аудио и передача видеоданных с низкой пропускной способностью.
  • КПК для передачи данных USB.
  • USB-считыватели смарт-карт.
  • USB-приборы.
  • Промышленное управление через USB.
  • Интерфейс USB MP3-плеера.
  • Устройство чтения / записи флэш-карт USB.
  • Компьютерная приставка - интерфейс USB.
  • USB-интерфейс цифровой камеры.
  • USB-считыватели штрих-кодов.

Не пропустите эти статьи

Вам нравятся наши статьи? Не пропустите ни одного из них! Вам не о чем беспокоиться, мы организуем вам доставку.

Меня интересует

Дата опубликования 21.05.2009.
При размещении статьи на своем веб-сайте укажите ее источник: https://www.soselectronic.com/articles/ftdi/ftdi-ft2232h-and-ft4232h-ftdi-s-5th-generation-of-usb-devices- 711

I2C и более с мини-модулем FTDI FT2232H и Arduino | by Ben Gillett

Взаимодействуйте с оборудованием I2C, SPI или bit-bang с помощью модуля FTDI FT2232H Mini в Python3 и протестируйте его с помощью Arduino!

Иногда вам нужно восполнить пробел между вашим ПК и низкоуровневым аппаратным устройством, таким как микроконтроллер или FPGA. Эти устройства обычно «разговаривают» по таким протоколам, как I2C и SPI, но в некоторых ситуациях вам может даже понадобиться читать и записывать биты (также известные как «бит-бэнг»). Некоторые преобразователи АЦП настраиваются через I2C, но фактические данные возвращаются в виде наборов 8-битных слов.

У вас может возникнуть соблазн развернуть другой микроконтроллер (например, Arduino) со встроенной функцией USB. Это может быть отличным решением, но также увеличивает накладные расходы на программирование. Вам нужно будет настроить проводку, запрограммировать микроконтроллер, выбрать контакты и убедиться, что они поддерживают логический уровень и скорость, с которыми вы будете взаимодействовать, а затем упаковать данные и отправить их по последовательному каналу, а затем распаковать их. с другой стороны ... он может быстро превратиться из 10-строчного быстрого вызова в кошмар с чрезмерно развитым микроконтроллером.

Фото Умберто на Unsplash

К счастью, есть и другие варианты чтения данных прямо из этих низкоуровневых компонентов. Введите FTDI: (Future Technology Devices International). Эта компания предлагает несколько решений именно для этой проблемы (и многих других тоже). Микросхемы FTDI присутствуют почти во всех платах Arduino (изначально или в виде клонов), а также во многих других потребительских устройствах. Их решение простое: используйте предварительно запрограммированный микроконтроллер и набор драйверов для управления всеми вашими аппаратными протоколами на высоком уровне.Хотя этот подход не идеален для каждой ситуации, он может сэкономить вам много времени, особенно для небольших приложений.

Давайте посмотрим, как это может работать: мы воспользуемся мини-модулем FT2232H (доступен как прорыв - ура!) И смоделируем низкоуровневый компонент с помощью Arduino. Конечно, ваше оборудование, как правило, будет намного хуже, чем Arduino: нет легкодоступного USB-ввода-вывода и, возможно, даже нет доступа для отладки. Но мы притворимся для этого примера.

Начнем с простого подключения.Наш воображаемый аппаратный компонент будет иметь I2C IO, а также несколько полос для прямого чтения слов. Я буду использовать Arduino Due, одну из аппаратных шин I2C и несколько цифровых выводов в режиме вывода. Модуль FTDI будет подключен к I2C в соответствии с его таблицей данных, и мы будем использовать некоторые из его дополнительных контактов в качестве цифровых входов. Arduino Due работает с логикой 5 В, а чип FTDI имеет логику 3,3 В, но устойчив к 5 В, так что это должно работать нормально.

В техническом описании описано, как подключить микросхему FTDI, но я извлек для вас важную информацию здесь.Вам понадобится питание от шины (питание от USB). Нам понадобится 3 провода для I2C: два для данных ( SDA ) и один для часов ( SCL ). Микросхема FTDI будет действовать как «основное» устройство на шине. Мы можем использовать любой из каналов FT2232H для I2C, но я выбрал канал B - подробнее об этом скоро. Чтобы подключить мини-модуль FT2232H и настроить его для работы с I2C, вы можете подключить его следующим образом:

Power
FTDI CN3–1 → FTDI CN3–3
(любой из) FTDI CN2–1, CN2–3 и CN2–5 → (все) FTDI CN2–11, CN2–21, CN3–12 и CN3–22
I2C
SDA: FTDI CN3–24 и CN3–25 → Arduino SDA (D20 в ближайшее время). )
SCL: FTDI CN3–26 → Arduino SCL (D21 в ближайшее время)

Обе линии I2C должны быть установлены на высокий уровень (3.3 В через резистор 2 кОм или аналогичный), но у Arduino есть внутренние подтяжки на своей шине I2C, поэтому в этом примере нам не нужно беспокоиться об этом. Также рекомендуется провести заземляющий провод между двумя устройствами.

Мини-модуль FT2232H

Для линий цифровой логики мы будем использовать шину AD на CN2. Подключите AD0 – AD7 к некоторым цифровым контактам на Arduino (на Due их много). В этом примере я буду использовать контакты 2–9 Arduino. (подключен как зеркальное отображение для целей кодирования…) Исходя из таблицы данных FT2232H, наши подключения для цифровой логики следующие:

FTDI AD0 = CN2–7 → Arduino Pin 9
FTDI AD1 = CN2–10 → Arduino Pin 8
FTDI AD2 = CN2–9 → вывод 7 Arduino
FTDI AD3 = CN2–12 → вывод 6 Arduino
FTDI AD4 = CN2–14 → вывод 5 Arduino
FTDI AD5 = CN2–13 → вывод 4 Arduino
FTDI AD6 = CN2 –16 → Вывод 3 Arduino
FTDI AD7 = CN2–15 → Вывод 2 Arduino

Позаботившись о проводке, мы готовы взглянуть на некоторый код.В мире Arduino мы будем упрощать задачу: дождаться байта через I2C (как «вторичное» устройство I2C), а когда мы его получим, отправить тот же байт обратно по цифровым линиям, разбив байт на его биты и записать их на штифты.

Что касается кода Python, все немного сложнее. Драйверы FTDI бывают двух видов: VCP («Virtual Com Port») и D2XX. VCP - это более простой способ сделать что-то: устройства FTDI отображаются как устройства с последовательным портом, а ОС изначально предоставляет их как устройства COM / TTY.Это режим, который использует Arduinos (в большинстве случаев). Однако для выполнения более сложных вещей, таких как I2C и побитовый вызов, нам понадобятся драйверы D2XX.

FTD2232H имеет два отдельных «канала», A и B , и они работают независимо в отдельных режимах (при желании). Для работы таких вещей, как SPI и I2C, нам нужно, чтобы канал находился в режиме MPSSE («Многопротокольный синхронный последовательный механизм»). Для побитового взрыва мы будем использовать канал в режиме побитового взрыва . Для получения дополнительной информации о режимах в устройствах FTDI ознакомьтесь с Руководством по программированию FTDI D2XX.(В частности, на странице 55). Мы поместим канал B в режим MPSSE для I2C, а канал A в режим битового взрыва для цифровой логики.

Итак, начнем с загрузки драйверов D2XX и MPSSE. Вы можете получить их для своей системы на сайте FTDI. Есть бинарный установщик, но нам нужны только библиотеки DLL, так что zip-архив подойдет. Нам также понадобится DLL драйвера MPSSE отсюда. Загрузите их и найдите ftd2xx.dll и libMPSSE.dll (или эквивалентные файлы библиотеки для Linux / Mac, если вы используете UNIX).

Мы загрузим эти библиотеки DLL в Python, используя ctypes . Всегда полезно проверить файлы заголовков библиотеки, прежде чем писать код, который их использует: fdt2xx.h и libMPSSE_i2c.h каждый из содержит много полезной информации (находится в архиве загрузки соответствующих библиотек). Остерегайтесь индексов каналов на FT2232H! На моем устройстве канал A - это индекс 1 , а канал B - это индекс 0 … yikes! У FTDI есть несколько полезных документов (называемых «заметками по применению»), описывающих, как можно использовать FT2232 и другие подобные микросхемы.Взгляните на AN232R и AN2232C.

Сначала мы создадим несколько классов Python, чтобы упростить работу. Я извлек некоторые коды состояния и константы режима из файлов заголовков, а также несколько структур, представляющих каналов MPSSE :

Это много шаблонов. Но его можно легко упаковать в модуль или набор классов, чтобы облегчить жизнь. Для этого примера оставим все как есть. Затем мы рассмотрим код, который выполняет забавные вещи:

Собрав все вместе, вы должны увидеть вывод Python, который выглядит следующим образом:

 $ python3 test.py 
Загруженная библиотека MPSSE
Загруженная библиотека D2XX
Список каналов ...
Найдено 2 канала (статус FT_OK)
Получение информации для канала с индексом 0 ...
Описание канала: FT2232H MiniModule B (статус FT_OK)
Канал B открыт с дескриптор: 0xfd9f58 (статус FT_OK)
InitChannel () B (статус FT_OK)
FT_Open () (статус FT_OK)
FT_SetBaudRate () (статус FT_OK)
FT_SetBitMode () (статус FT_OK) 90_201 статус (написано) )
FT_GetBitMode () (статус FT_OK)
Считывание байта: 0x42 (0b01000010)
CloseChannel () B (статус FT_OK)
FT_Close () (статус FT_OK)

И в последовательной консоли Arduino IDE…

 Тестирование. .. 
Получил 0x42

Круто! Мы отправили байт (в данном случае 0x42 ) через I2C на наше загадочное аппаратное устройство (Arduino Due), и оно отправило тот же байт параллельно, используя 8 цифровых контактов. Это иллюстрирует полезность и (относительную) простоту использования устройства FTDI для взаимодействия с вашим низкоуровневым оборудованием вместо программирования микроконтроллера, который сделает это за вас.

Tigard - это плата FT2232H с открытым исходным кодом для взлома оборудования (краудфандинг)

Есть много дешевых 5V или 3.Отладочные платы 3V USB в TTL, используемые для доступа к последовательной консоли и / или программным платам, но аппаратная плата с открытым исходным кодом Tigard на базе FTDI FT2232H делает гораздо больше, поскольку поддерживает несколько протоколов, несколько напряжений для взлома оборудования и отладки.

Разработчик объясняет, что Tigard может использоваться как прямая замена для десятков других аппаратных инструментов, основанных на микросхемах FTDI, и включает встроенную поддержку OpenOCD, FlashROM и многое другое.

Технические характеристики платы

Tigard:

  • Главный чип - FTDI FT2232HQ, двойной высокоскоростной USB-порт для универсальной микросхемы UART / FIFO
    • Основной порт, выделенный для UART, включая доступ ко всем сигналам управления потоком
    • Вторичный порт, совместно используемый выделенными заголовками для SWD, JTAG, SPI и I²C
  • USB - USB 2.0 Type-C (480 Мбит / с) порт
  • ввода / вывода
    • 9-контактный разъем UART
    • Разъем Qwiic I2C
    • 8-контактный разъем SPI и I2C
    • 8-контактный разъем JTAG
    • 10-контактный отладочный заголовок Cortex
    • 14-контактный разъем логического анализатора (LA) для наблюдения за сигналами уровня устройства
    • Направленные переключатели уровня для работы от 1,8 до 5,5 В
  • Разное
    • Переключатель для выбора между встроенным 1,8 В, 3,3 В, 5,0 В и внешними источниками питания vTarget
    • Переключатель для выбора между режимами SPI / JTAG и I²C / SWD
    • Световые индикаторы для облегчения отладки

Нет реальной необходимости в специальных инструментах для Tigard, и плата будет работать со стандартными инструментами и библиотеками, включая драйверы последовательного порта USB, OpenOCD и UrJTAG для JTAG, Flashrom, PyFtdi / PySpiFlash, LibMPSSE и другие инструменты для интерфейса SPI, так как а также LibMPSSE и PyFtdi / PyI2CFlash для интерфейсов I2C.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *