|
FT2232 + PGA + Delphi |
|
|
|
Dec 20 2007, 20:55
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 23-08-06
Из: Kiev
Пользователь №: 19 759

|
Приветствую всех.
Помогите, плз, определится со скоростью обмена данными через FT2232 в связки с ПЛИСиной. Есть устройство с альтерой. Его нужно подключить к компу с Delphi-программистом. Выбор пока пал на FT2232С, так как в нём есть параллельный интерфейс, который хорошо стыкуется с альтерой (и можно без проблем приобрести). Надо обеспечить перекачку данных с устройства в комп на максимально возможной скорости. Возник такой вопрос - какая получится скорость перекачки если использовать параллельный интерфейс и прогу, на основе D2XXUnit.pas? Может ли кто поделится фрагментом кода на Делфи, где идёт чтение массивов данных при максимально допустимой скорости обмена.
И ещё, может есть примеры работы через параллельный интерфейс FT2232 кроме тех, что на их сайте.
--------------------
Александр
|
|
|
|
|
 |
Ответов
|
Dec 21 2007, 21:48
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 23-08-06
Из: Kiev
Пользователь №: 19 759

|
Цитата(-Al- @ Dec 21 2007, 22:54)  Не более 1МБ/сек. Если нужно больше, посмотрите в сторону CY7C68013A от Cypress. Спасибо за ответ. Уточните пожалуйста 1 Мегабайт/сек или 1 Мегабит/сек ? Если FT2232L обеспечит 1 Мегабайт/сек, то мне этой скорости вполне хватит. Остаётся открытым вопрос о примерах на делфи, которые бы обеспечили такой поток.
--------------------
Александр
|
|
|
|
|
Dec 24 2007, 19:48
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 23-08-06
Из: Kiev
Пользователь №: 19 759

|
Цитата(-Al- @ Dec 22 2007, 02:18)  1 Мегабайт/сек. В реальном времени без дополнительного буфера поток ~300кБайт/сек, если надо больше - понадобится дополнительный внешний буфер в несколько килобайт. В описание на FT2232L написано про 1 Мегабайт/сек и про дополнительные буфера ни слова нет. Устройство может выдовать и больше чем 1 Мбайт/с, не вопрос. Тогда зачем дополнительный буфер и есть ли примеры реализации потоков больших 300кБ/с?
--------------------
Александр
|
|
|
|
|
Dec 24 2007, 20:02
|

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

|
Цитата(Александр К @ Dec 24 2007, 22:48)  В описание на FT2232L написано про 1 Мегабайт/сек и про дополнительные буфера ни слова нет. Устройство может выдовать и больше чем 1 Мбайт/с, не вопрос. Тогда зачем дополнительный буфер и есть ли примеры реализации потоков больших 300кБ/с? В реальном времени, т.е. равномерно поступающие данные, на скорости 1МБ/сек не выдаст из-за задержек (миллисекунды) на шине USB, т.к. во время таких пауз складывать данные будет некуда вследствие маленького внутреннего буфера контроллера. На такой скорости, буфера контроллера хватит на 0.3мс, а задержка может выскочить на 1мс и данные в течение оставшихся 0.7мс будут утеряны, вот и получается, что 300кб/сек максимум для передачи потока. А в среднем, действительно, 1МБ/сек получается, т.к. потом догоняет. На эти грабли многие наступают
|
|
|
|
|
Dec 24 2007, 20:39
|
Участник

Группа: Новичок
Сообщений: 26
Регистрация: 23-08-06
Из: Kiev
Пользователь №: 19 759

|
Цитата(-Al- @ Dec 25 2007, 00:02)  В реальном времени, т.е. равномерно поступающие данные, на скорости 1МБ/сек не выдаст из-за задержек (миллисекунды) на шине USB, т.к. во время таких пауз складывать данные будет некуда вследствие маленького внутреннего буфера контроллера. На такой скорости, буфера контроллера хватит на 0.3мс, а задержка может выскочить на 1мс и данные в течение оставшихся 0.7мс будут утеряны, вот и получается, что 300кб/сек максимум для передачи потока. А в среднем, действительно, 1МБ/сек получается, т.к. потом догоняет. На эти грабли многие наступают ;) Спасибо за разъяснение. Теперь стало проясняться. Потеря данных у меня исключена, тут задача сохранить всё в целосности при передачи, посему изохронный режим не рассматриваю. Получится что процессор за 0.3мс забъёт приёмный буффер (384 байта) и потом будет ждать его опустошения. И поток получится не больше 384байт в 1мс, т.е. 384000 байт/с. Это на передачу. А на приём буфер вообще 128 байт. Тогда поток на запись в процессор будет не более 128000 байт/с. что для задачи маловато будет  . Может средний поток в 1МБ/с выходит, когда используют оба канала и на приём и на передачу, хотя следуя этим расчётам выходит 896000 байт/с. Или как тут правильно проводить калькуляцию?
--------------------
Александр
|
|
|
|
Сообщений в этой теме
Александр К FT2232 + PGA + Delphi Dec 20 2007, 20:55   Александр К Цитата(-Al- @ Dec 22 2007, 02:1... Dec 21 2007, 23:05       Александр К Цитата(sK0T @ Dec 25 2007, 01:57) Про дел... Dec 24 2007, 22:14        -Al- Цитата(Александр К @ Dec 25 2007, 01:14) ... Dec 25 2007, 06:49 DSIoffe А без разницы, Delphi или нет. Я в код на Паскале ... Dec 25 2007, 22:09 Andy Great ОФФ, возможно, но почему же не найти? У меня на бу... Dec 26 2007, 07:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|