[Системное программирование, Интерфейсы, Разработка под Linux, Программирование микроконтроллеров] Конфигурируем FT4232H c помощью утилиты ftdi_eeprom

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
05-Дек-2020 19:30


FT4232H – это интегральная микросхема преобразователя USB – UART, поддерживающая режим High Speed на стороне USB и имеющая четыре порта на стороне UART.
Подключив к этой микросхеме EEPROM-память можно задать специфические режимы работы или изменить данные производителя.
Разберемся на примере и сконфигурируем FT4232H непосредственно в системе под управлением GNU/Linux. Делать это будем с помощью утилиты ftdi_eeprom.
Установка ftdi_eeprom
Утилита ftdi_eeprom входит в состав open-source библиотеки libFTDI и зависит от libconfuse.
  • Для установки ftdi_eeprom в Ubuntu или Debian, введите в окне терминала команды:
    sudo apt-get update
    sudo apt-get install ftdi-eeprom

  • Если готовите собственный дистрибутив с помощью Yocto Project (thud), утилиту ftdi_eeprom можно установить, добавив рецепты:
    recipes-support/confuse/confuse_2.7.bb
    DESCRIPTION = "Library for parsing configuration files."
    HOMEPAGE = "http://www.nongnu.org/confuse/"
    SECTION = "libs"
    LICENSE = "ISC"
    LIC_FILES_CHKSUM = "file://NEWS;md5=18e885b42b86362019e0cab8dc2a393b"
    SRC_URI = "http://download.savannah.gnu.org/releases/confuse/confuse-${PV}.tar.gz"
    SRC_URI[md5sum] = "45932fdeeccbb9ef4228f1c1a25e9c8f"
    SRC_URI[sha256sum] = "e32574fd837e950778dac7ade40787dd2259ef8e28acd6ede6847ca895c88778"
    inherit autotools binconfig pkgconfig lib_package gettext
    EXTRA_OECONF = "--enable-shared"
    BBCLASSEXTEND = "native"

    recipes-support/libftdi/libftdi_%.bbappend
    PACKAGECONFIG += "ftdi-eeprom"
    PACKAGECONFIG[ftdi-eeprom] = "-DFTDI_EEPROM=on,-DFTDI_EEPROM=off,confuse"
    PACKAGES =+ "ftdi-eeprom"
    FILES_ftdi-eeprom += "${bindir}/ftdi_eeprom"


Конфигурируем FT4232H
По умолчанию четыре UART-порта FT4232H работают в режиме RS232, наименование производителя – «FTDI» и название устройства – «Quad RS232-HS».

Изменим наименование производителя на «habr.com», название продукта на «Quad RS485», а UART-порты переведем в режим RS485.
Подготовим конфигурационный файл habr.conf
# Имя файла, содержащий образ EEPROM, который будет создан
filename=habr.bin
# Идентификатор производителя. Для FT4232H значение по умолчанию: 0x0403
vendor_id=0x0403
# Идентификатор продукта. Для FT4232H значение по умолчанию: 0x6011
product_id=0x6011
# Тип EEPROM микросхемы. 0x46 для 93xx46, 0x56 для 93xx56 и 0x66 для 93xx66
eeprom_type=0x56
manufacturer="habr.com"
product="Quad RS485"
serial="1234"
# Разрешить использование серийного номера
use_serial=true
# Ограничение по потреблению микросхемы: (значение параметра) * 2 мА. Значение параметра
# должно быть равно 0, когда self_powered=true
max_power=0
# Микросхема питается не от USB, а от собственного источника питания
self_powered=true
# Если на линии RI логический 0 и значение параметра равно true, то хост контроллер USB
# выйдет из режима ожидания примерно через 20 мс.
remote_wakeup=false
# Задать режим работы порта
cha_type=UART
chb_type=UART
# Использовать драйвер виртуального com-порта
cha_vcp=true
chb_vcp=true
chc_vcp=true
chd_vcp=true
# Разрешить режим RS-485
cha_rs485=true
chb_rs485=true
chc_rs485=true
chd_rs485=true

С помощью утилиты ftdi_eeprom загрузим нашу конфигурацию в eeprom-память, выполнив в окне терминала команду:
ftdi_eeprom --flash-eeprom habr.conf

После перезагрузки устройства можно наблюдать результаты работы:

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sistemnoe_programmirovanie (Системное программирование), #_interfejsy (Интерфейсы), #_razrabotka_pod_linux (Разработка под Linux), #_programmirovanie_mikrokontrollerov (Программирование микроконтроллеров), #_ftdi, #_ft4232h, #_yocto, #_ftdi_eeprom, #_libftdi, #_sistemnoe_programmirovanie (
Системное программирование
)
, #_interfejsy (
Интерфейсы
)
, #_razrabotka_pod_linux (
Разработка под Linux
)
, #_programmirovanie_mikrokontrollerov (
Программирование микроконтроллеров
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 14:41
Часовой пояс: UTC + 5