|
|
  |
FT245, Не пойму как работает |
|
|
|
Oct 20 2014, 05:13
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 26-12-10
Пользователь №: 61 886

|
Доброго времени суток. Господа, прошу прощения, если вопрос не в той ветке. В ближайшее время предстоит работать с микросхемой FT245RL, в связи с чем активно курю документацию. Не понятен такой момент, по поводо Synchronous/asynch. bit-bang: как я понял из AN232R, асинхронный режим выглядит так: записал биты через драйвер -> получил уровни на ногах -> записал следующие биты -> получил следующие и тд., с чтением - аналогично, команда чтения драйверу считывает уровни с ног. В таком случае не совсем понятно, на кой нужны стробы RD# и WR? Или я не правильно понимаю вот это: Цитата Asynchronous Bit Bang mode is the same as BM-style Bit Bang mode. Any data written to the device in the normal manner will be self-clocked onto the data pins which have been configured as outputs. Each pin can be independently set as an input or an output. The rate that the data is clocked out at is controlled by the Baud rate generator. For the data to change there, has to be new data written and the Baud rate clock has to tick. If no new data is written to the device, the pins will hold the last value written.
|
|
|
|
|
Dec 12 2014, 09:11
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 12-12-14
Пользователь №: 84 084

|
Запись и чтение в FIFO, если девайс медленный/быстрый, накидал быстро данных, потом неспеша считываешь или наоборот
|
|
|
|
|
Mar 31 2016, 11:24
|
Группа: Новичок
Сообщений: 3
Регистрация: 31-03-16
Пользователь №: 91 105

|
У меня тоже есть вопрос по работе FT245. Использую FT245 со стандартным VCP-драйвером. В даташите подробно расписан механизм и тайминги отдельно для процессов чтения или записи данных, но шина то у нас двунаправленная и я не нашёл информации о каких-либо ограничениях по таймингам между этими процессами. В результате инициируя процесс чтения данных В ПК сразу после окончания передачи данных из ПК и переходе RXF в неактивное состояние у меня вместо данных из устройства считывается содержимое выходного буфера FT245 (т.е. то, что только что было передано во внешнее устройство).
|
|
|
|
|
Apr 1 2016, 07:36
|
Группа: Новичок
Сообщений: 3
Регистрация: 31-03-16
Пользователь №: 91 105

|
Цитата(Еггог @ Mar 31 2016, 14:24)  ... у меня вместо данных из устройства считывается содержимое выходного буфера FT245 (т.е. то, что только что было передано во внешнее устройство). Поторопился писать в форум, с проблемой разобрался - оказалось что она была вызвана нестабильной работой схемы из-за вынужденного использования в макете логики разных серий. Теперь с уверенность можно говорить, что цикл записи в ПК (по даташиту не менее 50ns) можно начинать сразу же (с 0-ой задержкой) после завершения цикла чтения из ПК (и перехода RXF в неактивное состояние)
|
|
|
|
|
Sep 27 2016, 16:09
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037

|
Спршу здесь, чтобы не создавать наовую тему. Правильно ли я понимаю что FT245 не позволяет в одну сторону "сыпать" байты из виртуально COM Я привык что на ft232 если сыпать подрят информацию она известной скоростью будет видна на Tx или Rx А 245 серия получается так ен позволяет? Нужно обязательно строб RD подать? Может есть какие еще варианты? Задачка ставить байт из COM порта "паралельно".
|
|
|
|
|
Sep 28 2016, 07:36
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037

|
режим Bit Bang Mode то что нужно, но его нельзя установаить при работе через виртуальный com-порт
|
|
|
|
|
Sep 28 2016, 08:17
|
Группа: Новичок
Сообщений: 3
Регистрация: 31-03-16
Пользователь №: 91 105

|
Цитата(rf_pcb @ Sep 28 2016, 10:36)  режим Bit Bang Mode то что нужно, но его нельзя установаить при работе через виртуальный com-порт Добавлю от себя, что возможности так же зависят от версии ft245. Более ранние, с индексом BL, BM если ничего не путаю умеют "сыпать" с заданной скоростью, НО только в асинхронном режиме (чтение в ПК осуществляется по внешнему тактированию, тогда как в синхронном перед записью каждого байта производится чтение состояния шины). и что для меня было особенно печально - без формирования стробов. Ну и да bitbang доступен только с собственным драйвером ftdi. В режиме VCP - чтение и запись только по внешнему стробу.
|
|
|
|
|
Sep 28 2016, 16:01
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037

|
я продолжил изучение, нашел примеры для матлаба, но упреся в установку D2XX драйвера. Скачал. У меня Win7. Почитал что есть в интернете по этому поводу. Нашел статью где говорилось следующее "Немного сложнее обстоит дело в случае использования операционной системы Windows XP, которая уже имеет в своем составе сертифицированные VCP-драйверы FTDI. При попытках присоединить к компьютеру новое USB-устройство со стандартными идентификаторами FTDI (например, любой DLP-модуль) система по умолчанию, не спрашивая пользователя, самостоятельно установит VCP-драйверы. Пользователю, желающему работать с D2XX-драйверами, необходимо в этот момент вспомнить, что очень полезно воспитывать в себе терпение и воспользоваться утилитой ftxprcvr.exe, входящей в состав дистрибутива D2XX-драйверов для Windows XP. Утилита ftxprcvr.exe, используя установившиеся по умолчанию VCP-драйверы, перепрограммирует внешнюю EEPROM, используемую в присоединенном устройстве, и задаст новые значения идентификаторов (VID=0403 и PID=6006). После этого необходимо повторить процедуру установки D2XX-драйверов сначала, т.е отключить и снова присоединить устройство. Теперь система даст возможность пользователю указать директорию для установки D2XX-драйверов."
Проделал описанную процедуру, записал PID=6006 Отключил включил девайс и... При попытке установить драйвер из папки D2XX, говорит не удалось найти драйверы для этого устройства Причем то же и для драйверов виртуального COM-порта Вот сижу теперь и думаю что делать дальше
|
|
|
|
|
Sep 29 2016, 07:51
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037

|
пришлось поменять PID в файлах драйвера, после чего драйвер установился
|
|
|
|
|
Oct 28 2016, 08:05
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037

|
Добрый день! Кто нибудь знает как обращаться к конкретной микросхеме в режиме BitBang, если их подкдчено несколько? Я разобрался как узнать номер. Когда подключаю по отдельности вижу и №1 и №2, а когда обе микросхемы подключены к ПК обращение идет по умолчанию к №1.
|
|
|
|
|
Oct 30 2016, 07:20
|
Участник

Группа: Участник
Сообщений: 62
Регистрация: 16-02-11
Пользователь №: 63 037

|
вы название темы смотрели? Здесь обсуждают ft245. И конечно используют. В приложениях где нет смысла городить схему с МК.
может кому пригодиться f = NET.addAssembly('C:\FTD2XX_NET.dll'); % посмотреть возможные методы %methodsview( 'FTD2XX_NET.FTDI');
% открываем доступ к первому комутатору fo=FTD2XX_NET.FTDI; r = OpenByIndex(fo,0);
для второго r = OpenByIndex(fo,1);
%Запрос номера комутатора numDevicesMax = 5 myArray = NET.createArray('FTD2XX_NET.FT_DEVICE_INFO_NODE', numDevicesMax) r = fo.GetDeviceList(myArray) myArray(1)
Switches_Number_1= myArray(1).SerialNumber(1);
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|