Перейти к содержанию
    

Используется микросхема FT245BM (подключена к ATmege128) и драйвер 2XX. При входном пототоке до 540 КБайт/сек - все O'k. На больших скоростях FT_Read возвращает ( не сразу) FT_STATUS = 0x04 (ошибка ввода/вывода) и устройство отключается от системы. Cобственно вопрос: В чем может быть причина и можно ли получить хотя бы 700 КБайт/сек ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я на 245AM получал поток около 700КБ/сек. Ошибок не было. Наблюдалось несколько интересных эффектов: Большой поток можно получить только при запросе в драйвере не патеты большого размера. У них очень длинная разборка до запуска собственно передачи. И второй - система изредка (независимо от потока) вылетает так, что восстанавливается только перетыканием кабеля USB. Для борьбы с этим явлением был поставлен полевик в цепь подтяжки линии данных USB. Когда периферийный контроллер видел, что все отвалилось, он выключал подтяжку, все переинициировалось и начинало жить. Простой ресет на чип не помогал совершенно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Микросхемы USB от FTDI не использовал но меня интересует такой прогноз: если подключить 32 контроллера типа FT245BM, FT232BM или 16 контроллеров FT2232 через USB HUBы к одному HOST на PC то какую скорость можно получить и какая при этом будет загрузка ЦП? Разумеется USB HUBы и HOST на PC поддерживают режим high speed. Мне хочется, чтобы получилось больше 10мбайт/сек. Если у кого есть возможность собрать и проверить такую (пускай даже не полную 24, ..., 4 USB контролера) систему буду, признателен за достоверный результат. Так же интересуют прогнозы людей имеющих опыт.

:rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Больше 800Кб/сек не может быть теоретически. HUB не умеет перепаковывать full speed в high speed, поэтому вся система встанет в full speed с соответствующим ограничением суммарной скорости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Были траблы при плотном потоке на win2k - линукс такой поток хавал без проблем - т.е. подозрение пало на win2k USB драйвера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Больше 800Кб/сек не может быть теоретически. HUB не умеет перепаковывать full speed в high speed, поэтому вся система встанет в full speed с соответствующим ограничением суммарной скорости.

 

В спецификации есть:

When the hub upstream facing port is attached to an electrical environment that is operating at high-speed,

the full-/low-speed hub repeater is not operational. In this electrical environment when a high-speed device

is attached on downstream facing port, the routing logic will connect the port to the hub repeater and the

hub repeater must operate as a high-speed repeater. In this case, when a full-/low-speed device is attached

on a downstream facing port, the routing logic must connect the port to the transaction translator

 

Так вот, transaction translator - это как раз тот самый перепаковщик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

привет всем-)

 

я вожусь сейчас с ft2232, вернее с ее портом А в режиме MPSSE (все обращения через d2xx их соот-но.). Софт почти весь дописал и начал же сразу оптимизировать и пытаться полусить макс. скорость-) и вот что за фигня получается:

 

1. наибольшая скорость получается при больших пакетах и она действительно около 800 кбайт/с (поток данных на саму и сасмой 2232) или чуть больше - точно не помню уже.

 

2. Сделал статистику по времени, кол-ву обращений и размеру данных - и получилось что: 98% времени занимает запись в файл, по 1% на чтение и статус. И это при том что размер отправленных байт и полученных соотносятся как 6 к 1 примерно.

 

3. TCK. данные шифтятся по фронтам TCK, но в реальности при установке дивизора для TCK например 6, 3 или 2 MHz - особой разницы по скорости нет...

 

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

 

в связи с этим такой вопрос: есть люди, которые писали под ftdi дрова или полностью расковыряли и изучили те sys что есть?

 

2 Trashy > если это ты на х-портале - не общался ли по этому поводу с Тарасом? я написал ему, но его нет чтоли щас... я по это:

 

Если Вы собираетесь написать собственный драйвер для устройства на базе FTDI, Вам они будут интересны. Обратился в саппорт и в обмен на некое соглашение о не разглашении информации (Шотландское виски сильно бьет в голову?) получил упраляющие структуры для сего устройства. Кроме того, уяснил некоторые особенности его работы:

Внутрях есть FIFO буфер. Данные передаются по заполнению FIFO буфера или по таймеру. Минимальный период таймера 1мс, а по умолчанию 16мс. Поэтому, даже сконфигурировавшись на скорость 2МБ/c можно получить существенные задержки при передаче

В первых 2 байтах в каждом блоке из 64 байтов в составе пакета данных, переданных через USB, содержится информация о состоянии RS232 расположенного на микросхеме. Если нет данных, то эти два байта все равно передаются раз в 1мс. Таким образом временное разрешение на обнаружение изменения состояния RS232 не менее 1мс. При этом при чтении данных приходится выкидовать mod 64 mod 64 + 1 байты.

 

WBR, MSL

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Trashy > если это ты на х-портале - не общался ли по этому поводу с Тарасом? я написал ему, но его нет чтоли щас... я по это:

WBR, MSL

 

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

Впринципе, он меня всему и научил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Trashy > да я уже это понял... да и правильно он говорит все... я просто услышал то, что хотел услышать - что надо писать свои дрова и скорость будет намного больше. Поставил ДДК и буду потихоньку разбираться, потому как дров еще не писал сам..(( Так что если есть желание - пиши в ПМ или на мыло - будем вместе писать-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите драйвера FTDI для Линуха- там все в исходниках

http://ftdi-usb-sio.sourceforge.net/

Но с другой стороны, если скорости нехватает - меняйте микросхему. Смотрите в сторону Cypress (EZ-USB) например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, кто-нибудь делал дата кабель для сотовых на этих микрухах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используется микросхема FT245BM (подключена к ATmege128) и драйвер 2XX. При входном пототоке до 540 КБайт/сек - все O'k. На больших скоростях FT_Read возвращает ( не сразу)  FT_STATUS = 0x04 (ошибка ввода/вывода) и устройство отключается от системы. Cобственно вопрос: В чем может быть причина и можно ли получить хотя бы 700 КБайт/сек ?

700 Можно получить. У меня с ПЛМ-кой работает. Только что-бы не было ошибки - надо TimeOut ставить на 100мс. Скорость не меняется (смотрел ослилопом), зато ошибки 04 не видел больше.

Для скорости надо поиграть с латентностью и размерами буферов

у меня 2 и 32768/32768. См. мануалы по спец.функциям ВМ дров D2хх

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Были траблы при плотном потоке на win2k - линукс такой поток хавал без проблем - т.е. подозрение пало на win2k USB драйвера.

Поставь SetTimeOut на 100. У меня, что под В2К, что под ВыньХП арбайтает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возвращаясь к исходному вопросу.

В очередной раз налетев на те же грабли, обратился таки на support FTDI.

Получил ответ, и надо отметить, быстро.

 

>>As the device appears to be hanging up this could suggest issues with your

>>USB termination.

>>

>>Ensure you have 27R terminators on USB DP and USB DM.

>>

>>Ensure the USB connector shield is isolated from the GND.

>>

>>Try adding 47pF capacitors on USB DP and USB DM to GND.

>>http://www.ftdichip.com/Support/Knowledgebase/whydoesntmyft232245workwhenco.htm

 

Пункт 1 - вопросов не вызывает.

Пункт 3 - добавление конденсаторов полностью решило проблему сбоев.

Пункт 2 - вообще то понятно, но хотелось бы услышать комментарии кто как подключает этот самый экран.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возвращаясь к исходному вопросу.

 

>>

>>Ensure the USB connector shield is isolated from the GND.

>>

 

 

 

Пункт 2 - вообще то понятно, но хотелось бы услышать комментарии кто как подключает этот самый экран.

 

Обычно 1 МоМ резистор к земле; иногда + кондюк 0,1мк - 1мк

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...