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

 
 
> XMega - FT232RL - PS
zombi
сообщение May 15 2012, 20:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Господа помогите. Мозг уже плавится.
Схема: Xmega <-> FT232RL <-> PS.
Нужно по запросу от PS (путём посылки байта 0x40) получить от иксмеги 32MB данных.
Прогу на PS пишу на Delphi.
Передавать решил пачками по 512 байт (т.е. 65536 транзакций).
Скорость сом порта 2Mb/s.
Всё вроде работает, но есть один нюанс (напишу позже).
Вот так открываю порт:
Код
var h:thandle;
...
h:=fileopen('COM7',fmOpenReadWrite);
...

Вот процедура вычитки сом порта (максимально упростил для наглядности):
Код
procedure BUF_read;
var i,k:dword;B:byte;
    BUF:array [0..511] of byte;
begin
  B:=$40;
  for k:=0 to $FFFF do begin
    _hwrite(h,@B,1);
    for i:=0 to 511 do _hread(h,@buf0[i],1);
  end;
end;

RXD и TXD наблюдаю осциллографом.
Сразу после передачи писишкой байта 0x40 иксмега передаёт в ответ 512 байт затем пауза примерно 17ms и цикл повторяется.
Откуда эта пауза берётся?
Как от неё избавиться?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zombi
сообщение May 16 2012, 05:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



УРА! Нашел эту самую злополучную задержку!
В доп. настройках ком порта FTDI.
В параметре "Время ожидания (мсек)" стояло именно 17!
Поставил 1 и задержка действительно стала 1мс, правда иногда скачет до 2-х мс, но это видать винда чудит.
В результате удалось получить скорость приёма ~278сек. Далеко от идеала но всёже лучше чем не 1310с biggrin.gif
Кстати, уменьшение параметра "Буфер приёма/передачи (Байты)" с 4096 до 512 не даёт ни какого эффекта.

Сейчас думаю как ещё уменьшить время приёма.
1. Увеличить скорость до 3Mb/s - эффект предсказуем.
2. Увеличить размер передаваемой пачки до 1024,2048 или 4096 байт.

Как думаете существенно ли повлияет увеличение размера буфера на время передачи?
Т.к. изменение буфера довольно кропотливый процесс и не хочется зря время тратить.

Цитата(dimka76 @ May 16 2012, 08:04) *
Не фантастика сам лично через виртуальный COM порт загонял в компьютер 1 ГБайт за 90 секунд wink.gif

Как же это возможно? Ведь скрость должна быть ~120Mb/s!
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
dimka76
сообщение May 16 2012, 09:06
Сообщение #3


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(zombi @ May 16 2012, 08:27) *
Как же это возможно? Ведь скрость должна быть ~120Mb/s!


Вертуальный СОМ порт это мост USB<->UART.
Т.е. с одной стороны у вас ножки USB, а стругой - ножки UART.
Эта кортинка справедлива только если вы реально что-то выдаете на ножки UART. И в этой картинке (окне) вы задаете с какой скоростью будут идти данные на ножках UART.
И значение этой скорости передается в микросхему в дескрипторах USB.
Если использовать аппаратный мост (типа FT232) то получается, что не возможно выйти за рамки этих настроек.
Если виртуальный СОМ порт реализовать на микроконтроллере, то эти настройки (передаваемые в дескрипторах) можно проигнорировать и сделать все по-своему.
У меня так и было сделано. А данные гнались из внутреннего ОЗУ микроконтроллера по HIGH-SPEED USB.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zombi   XMega - FT232RL - PS   May 15 2012, 20:51
- - _Артём_   Цитата(zombi @ May 15 2012, 23:51) Сразу ...   May 15 2012, 21:08
|- - zombi   Цитата(_Артём_ @ May 16 2012, 00:08) Може...   May 15 2012, 21:17
|- - @Ark   Цитата(zombi @ May 16 2012, 01:17) ... За...   May 15 2012, 21:25
|- - zombi   Цитата(@Ark @ May 16 2012, 00:25) Вы ниче...   May 15 2012, 21:32
|- - @Ark   Цитата(zombi @ May 16 2012, 01:32) Наверн...   May 15 2012, 21:42
|- - zombi   Цитата(@Ark @ May 16 2012, 00:42) В принц...   May 15 2012, 21:57
|- - @Ark   Цитата(zombi @ May 16 2012, 01:57) Настор...   May 15 2012, 22:11
|- - zombi   Цитата(@Ark @ May 16 2012, 01:11) Но нужн...   May 15 2012, 22:28
|- - @Ark   Цитата(zombi @ May 16 2012, 02:28) Дык, с...   May 15 2012, 22:39
- - V_G   А вы попробуйте какой-нибудь терминалкой принять ф...   May 15 2012, 22:55
|- - @Ark   Цитата(V_G @ May 16 2012, 02:55) А вы поп...   May 15 2012, 23:12
- - V_G   Так у топикстартера и есть двусторонний обмен, хот...   May 16 2012, 01:07
|- - dimka76   Цитата(V_G @ May 16 2012, 04:07) ....... ...   May 16 2012, 05:04
- - AHTOXA   Я может, что-то не понял, но при чём тут винда воо...   May 16 2012, 03:42
- - V_G   Нет, как раз пауза 17 мс может быть вызвана как то...   May 16 2012, 03:59
|- - V_G   Цитата(zombi @ May 16 2012, 16:27) Кстати...   May 16 2012, 05:37
||- - zombi   Цитата(V_G @ May 16 2012, 08:37) У вас в ...   May 16 2012, 05:45
||- - zombi   Цитата(dimka76 @ May 16 2012, 12:06) Если...   May 16 2012, 09:48
|- - ReAl   Цитата(zombi @ May 16 2012, 08:27) Постав...   May 16 2012, 10:34
|- - zombi   Цитата(ReAl @ May 16 2012, 13:34) ...уста...   May 16 2012, 18:01
|- - ReAl   Цитата(zombi @ May 16 2012, 21:01) Но у м...   May 16 2012, 19:49
|- - zombi   Аглицкий со словарём и то со скрипом. Цитата(ReAl ...   May 16 2012, 20:16
- - XVR   Вы когда отправляете запрос с ПС на МК пишете 1 ба...   May 16 2012, 05:51
|- - zombi   Цитата(XVR @ May 16 2012, 08:51) Вы когда...   May 16 2012, 06:13
|- - XVR   Цитата(zombi @ May 16 2012, 10:13) А где ...   May 16 2012, 06:28
|- - zombi   Цитата(XVR @ May 16 2012, 09:28) тут и ту...   May 16 2012, 06:35
- - XVR   Еще тут посмотрите   May 16 2012, 06:48
|- - zombi   Цитата(XVR @ May 16 2012, 09:28) тут и ту...   May 16 2012, 07:07
|- - XVR   Цитата(zombi @ May 16 2012, 11:07) Шото н...   May 16 2012, 09:53
|- - zombi   Цитата(XVR @ May 16 2012, 12:53) Я тоже, ...   May 16 2012, 10:04
- - V_G   Как вариант, настроить буфер на 64 байта и плюнуть...   May 16 2012, 07:07
- - zombi   Цитата(V_G @ May 16 2012, 10:07) Как вари...   May 16 2012, 07:25


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

 


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


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