реклама на сайте
подробности

 
 
> FT2232 + PGA + Delphi
Александр К
сообщение Dec 20 2007, 20:55
Сообщение #1


Участник
*

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



Приветствую всех.

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

И ещё, может есть примеры работы через параллельный интерфейс FT2232 кроме тех, что на их сайте.


--------------------
Александр
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-Al-
сообщение Dec 21 2007, 18:54
Сообщение #2


Местный
***

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



Не более 1МБ/сек. Если нужно больше, посмотрите в сторону CY7C68013A от Cypress.
Go to the top of the page
 
+Quote Post
Александр К
сообщение Dec 21 2007, 21:48
Сообщение #3


Участник
*

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



Цитата(-Al- @ Dec 21 2007, 22:54) *
Не более 1МБ/сек. Если нужно больше, посмотрите в сторону CY7C68013A от Cypress.


Спасибо за ответ. Уточните пожалуйста 1 Мегабайт/сек или 1 Мегабит/сек ?

Если FT2232L обеспечит 1 Мегабайт/сек, то мне этой скорости вполне хватит. Остаётся открытым вопрос о примерах на делфи, которые бы обеспечили такой поток.


--------------------
Александр
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 21 2007, 22:18
Сообщение #4


Местный
***

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



Цитата(Александр К @ Dec 22 2007, 00:48) *
Спасибо за ответ. Уточните пожалуйста 1 Мегабайт/сек или 1 Мегабит/сек ?

Если FT2232L обеспечит 1 Мегабайт/сек, то мне этой скорости вполне хватит. Остаётся открытым вопрос о примерах на делфи, которые бы обеспечили такой поток.

1 Мегабайт/сек. В реальном времени без дополнительного буфера поток ~300кБайт/сек, если надо больше - понадобится дополнительный внешний буфер в несколько килобайт. Примеры были у FTDI, там ничего экстраординарного нет, скорости не те...
Go to the top of the page
 
+Quote Post
Александр К
сообщение Dec 24 2007, 19:48
Сообщение #5


Участник
*

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



Цитата(-Al- @ Dec 22 2007, 02:18) *
1 Мегабайт/сек. В реальном времени без дополнительного буфера поток ~300кБайт/сек, если надо больше - понадобится дополнительный внешний буфер в несколько килобайт.


В описание на FT2232L написано про 1 Мегабайт/сек и про дополнительные буфера ни слова нет. Устройство может выдовать и больше чем 1 Мбайт/с, не вопрос. Тогда зачем дополнительный буфер и есть ли примеры реализации потоков больших 300кБ/с?


--------------------
Александр
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 24 2007, 20:02
Сообщение #6


Местный
***

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



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

В реальном времени, т.е. равномерно поступающие данные, на скорости 1МБ/сек не выдаст из-за задержек (миллисекунды) на шине USB, т.к. во время таких пауз складывать данные будет некуда вследствие маленького внутреннего буфера контроллера. На такой скорости, буфера контроллера хватит на 0.3мс, а задержка может выскочить на 1мс и данные в течение оставшихся 0.7мс будут утеряны, вот и получается, что 300кб/сек максимум для передачи потока. А в среднем, действительно, 1МБ/сек получается, т.к. потом догоняет. На эти грабли многие наступают wink.gif
Go to the top of the page
 
+Quote Post
Александр К
сообщение Dec 24 2007, 20:39
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 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 байт/с. что для задачи маловато будет crying.gif . Может средний поток в 1МБ/с выходит, когда используют оба канала и на приём и на передачу, хотя следуя этим расчётам выходит 896000 байт/с. Или как тут правильно проводить калькуляцию? wacko.gif


--------------------
Александр
Go to the top of the page
 
+Quote Post
sK0T
сообщение Dec 24 2007, 21:57
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 241
Регистрация: 22-12-04
Пользователь №: 1 610



Про дельфи ничего не скажу, однажды делал железку, которая состояла из PIC18F4550 и самописного драйвера во FreeBSD. Скорость обмена была что-то около полумегабайта в секунду. Думаю какой-нибудь вариант libUSB и под паскакаль есть, так что может быть в эту сторону покопать?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 04:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01454 секунд с 7
ELECTRONIX ©2004-2016