Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: эмуляция FTDI FIFO посредством STM32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Porty
Добрый день.

Почти все устройства работают с компом и им необходимо просто передавать данные в комп и обратно, естественно выбрана для этого микросхема FTDI в режиме FIFO очереди. Но с переходом на АРМ и STM32 в частности стали задумываться об отказе от FTDI т.к. аппаратный уже усб есть в данном МК. Но опыта разработки под усб нет вообще как со стороны компа так и со стороны МК. Поэтому ищу уже готовые реализации. Наверняка есть реализация протокола FTDI в режиме фифо-очереди т.к. сама компания опубликовала протокол усб стыка на эту ФИФО. Но найти в инете не удалось.

Может быть кто знает, есть ли готовые реализации протокола аналогичного ФТДИ на STM32?
Golikov A.
зачем ФТДИ то?

ФТДИ виден в компе как виртуальный комп порт. Как сделать усб - виртуальный комп порт это первый пример который идет с УСБ. Скачайте примеры и апликейшен ноты про усб к вашему процу и там будет этот пример...

А еже ли вы хотите работать через драйвер ФТДИ (второй режим который не виртуальный комп порт), то тут вряд ли вам помогут... тому кто способен расковырять драйвер ФТДИ легче написать свой усб через тот же ХИД, а то и свой драйвер...
kovigor
Цитата(Porty @ Apr 24 2013, 09:05) *
Может быть кто знает, есть ли готовые реализации протокола аналогичного ФТДИ на STM32?

Поищите примеры реализации устройства класса CDC для вашего МК (они должны поставляться с Keil'ом или IAR'ом) ...
KnightIgor
Цитата(kovigor @ Apr 24 2013, 11:05) *
Поищите примеры реализации устройства класса CDC для вашего МК (они должны поставляться с Keil'ом или IAR'ом) ...

...при этом можно пройтись густой гребенкой по коду, выбросив оттуда поддержку управления скоростью и модемными линиями за ненадобностью.
kovigor
Цитата(KnightIgor @ Apr 25 2013, 15:53) *
...при этом можно пройтись густой гребенкой по коду, выбросив оттуда поддержку управления скоростью и модемными линиями за ненадобностью.

Безусловно. Но это придется сделать в любом случае ...
Porty
Извините, Уважаемые писатели, но позволю уточнить: я же написал FIFO - у фтди есть прекрасный режим без уарта где просто по 8 битной шине данных передаются данные с любой скоростью, пока усб позволяет. Вот мне его и надо. По сути мне нужно просто в комп передавать данные так чтоб реализация усб на МК была совместима с драйвером от ФТДИ в режиме D2XX. Т.к. софта написано за 10 лет не просто много а ОЧЕНЬ МНОГО и отказываться и переписывать его мне просто не дадут - не поймут необходимости. Единственный выход - реализовать аналог работы фтди на МК в режиме D2XX. Что и ищу.

Было - УСБ --> FTDI245RL которая подключена к STM32 c 8битной шиной с стробами записи чтения.
Надо - УСБ --> STM32 с программной эмуляцией фтди.
vetal
Цитата
Т.к. софта написано за 10 лет не просто много а ОЧЕНЬ МНОГО и отказываться и переписывать его мне просто не дадут - не поймут необходимости. Единственный выход - реализовать аналог работы фтди на МК в режиме D2XX. Что и ищу.

В режиме D2XX самый простой способ - написать свою d2xx, эмулирующую нужные функции.
Если перекомпиляция существующего ПО невозможна - прямая подмена dll в папке программы, если возможна - то просто перекомпилировать проект под новую прослойку.
Golikov A.
Цитата(Porty @ Apr 26 2013, 10:09) *
Извините, Уважаемые писатели, но позволю уточнить: я же написал FIFO - у фтди есть прекрасный режим без уарта где просто по 8 битной шине данных передаются данные с любой скоростью, пока усб позволяет. Вот мне его и надо. По сути мне нужно просто в комп передавать данные так чтоб реализация усб на МК была совместима с драйвером от ФТДИ в режиме D2XX. Т.к. софта написано за 10 лет не просто много а ОЧЕНЬ МНОГО и отказываться и переписывать его мне просто не дадут - не поймут необходимости. Единственный выход - реализовать аналог работы фтди на МК в режиме D2XX. Что и ищу.

Было - УСБ --> FTDI245RL которая подключена к STM32 c 8битной шиной с стробами записи чтения.
Надо - УСБ --> STM32 с программной эмуляцией фтди.


Уважаемый читатель sm.gif, напомню что я вам сразу и написал. Если вы хотите чтобы что-то работало как фтди на его драйвере, то готового не будет. Потому что всем легче свое сделать, чем под чужое подлезать. Обуреешь прослушкой глядеть что там за ендпоинты, протокол разбирать и прочее...

Длл подменять тоже не раз-два... прослушка вам в помощь...
EugenyAM
Цитата(Golikov A. @ Apr 26 2013, 18:10) *
Уважаемый читатель sm.gif, напомню что я вам сразу и написал. Если вы хотите чтобы что-то работало как фтди на его драйвере, то готового не будет. Потому что всем легче свое сделать, чем под чужое подлезать. Обуреешь прослушкой глядеть что там за ендпоинты, протокол разбирать и прочее...


На сайте микрочипа был пример эмуляции FT2232 "в образовательных целях" на Си, там вроде все основные функции D2XX обрабатывались. Гугл в помощь...
ar__systems
Драйверы FTDI нельзя использовать с чужими чипами. Ну это если легально wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.