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

 
 
 
Reply to this topicStart new topic
> 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
-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 21 2007, 23:05
Сообщение #5


Участник
*

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



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


300кбайт/с это минимально необходимая мне скорость. Боюсь что всё будет на пределе, что может привести к глюкам. Буду пробовать FIFO режим, хотя, просмотревши примеры с сайта FTDI, с ходу не совсем понятно как программа на компе будет знать, что устройство опустошило TX буфер, что б передавать следующую порцию данных.


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


Участник
*

Группа: Новичок
Сообщений: 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
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 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
Сообщение #9


Местный
***

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



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


Участник
*

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



Цитата(sK0T @ Dec 25 2007, 01:57) *
Про дельфи ничего не скажу, однажды делал железку, которая состояла из PIC18F4550 и самописного драйвера во FreeBSD. Скорость обмена была что-то около полумегабайта в секунду. Думаю какой-нибудь вариант libUSB и под паскакаль есть, так что может быть в эту сторону покопать?


На PIC18F4550 уже задача выресовалась. Будет интелектуальным мостом RS485 - PC. Тут больших скоростей не нужно. А вот загонять поток с 250кГцового АЦП уже будет напряжно ИМХО. Паралельно копаю в направлении к CY7C68001. FIFO интерфейс очень удобный, почти то что нужно и саму микруху программить не нужно . Может у кого-то есть на дельфе примеры работы с CY7C68001, подкиньте, пожалуйста smile.gif


--------------------
Александр
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 25 2007, 06:49
Сообщение #11


Местный
***

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



Цитата(Александр К @ Dec 25 2007, 01:14) *
На PIC18F4550 уже задача выресовалась. Будет интелектуальным мостом RS485 - PC. Тут больших скоростей не нужно. А вот загонять поток с 250кГцового АЦП уже будет напряжно ИМХО. Паралельно копаю в направлении к CY7C68001. FIFO интерфейс очень удобный, почти то что нужно и саму микруху программить не нужно . Может у кого-то есть на дельфе примеры работы с CY7C68001, подкиньте, пожалуйста smile.gif

Насчет ненужно программить, это Вы зря, её программить как раз нужно, и делать придется это внешнему железу. Берите лучше Cy7C68013A, он и жрет меньше (раза в 3) и функций у него больше (из-за встроенного 51) и программить в итоге легче smile.gif Есть GPIF, так что интерфейс обмена можно любой реализовать smile.gif По поводу дельфи ничего сказать не могу, т.к. всю жизнь пользую исключительно C/C++, библиотеки и примеры для Cypress'овских контроллеров есть только под C.
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Dec 25 2007, 22:09
Сообщение #12


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



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


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Dec 26 2007, 07:19
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



ОФФ, возможно, но почему же не найти? У меня на буке, например, скорость прошивки в AVREAL в несколько раз выше, нежели на старой маме. Я даже подумал, что новые все быстрее (хотя бук 2001г smile.gif )
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 16:19
Рейтинг@Mail.ru


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