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

 
 
> FT232R - как передать большой пакет
Alt.F4
сообщение Mar 10 2012, 19:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Добрый день.
Столкнулся с проблемой передачи пакета 250КБ при помощи терминальной программы и FT232R на скорости 115200.
1) Программа RS232pro v3.30 виснет и шлет байты с огромными паузами, хотя с реальным СОМ-портом вопросов нет.
2) Программа Advanced Serial Port вроде как шлет, но на выходе FT232R теряется половина байтов.
Думаю, что переполянется внутренний буфер FT232R.
Как решить проблему?
Спасибо.

Сообщение отредактировал Alt.F4 - Mar 10 2012, 19:15
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
aaarrr
сообщение Mar 11 2012, 13:42
Сообщение #16


Гуру
******

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



Цитата(=AK= @ Mar 11 2012, 17:27) *
У любого виртуального СОМ порта есть очень много общего с CDC. Поэтому, чтобы не изобретать велосипед, его логично выпольнить именно как прослойку между специфической железякой и CDC.

Совершенно не логично. Эмуляция последовательного порта (весьма урезанная и убогая) - это лишь малая часть CDC.
Данные гонять можно, но для построения полноценного виртуального порта она неприменима.

Цитата(=AK= @ Mar 11 2012, 17:27) *
Мое предложение - передавать блоками не более чем по 8 кБайт.

Еще раз: едва ли кто-нибудь, находясь в здравом уме и трезвой памяти, станет работать с COM-портом (пусть и виртуальным) огромными блоками.
Так что это предложение выполняется автоматически в 99% случаев.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Mar 11 2012, 13:53
Сообщение #17


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(aaarrr @ Mar 12 2012, 00:12) *
Еще раз: едва ли кто-нибудь, находясь в здравом уме и трезвой памяти, станет работать с COM-портом (пусть и виртуальным) огромными блоками.
Так что это предложение выполняется автоматически в 99% случаев.


Перечитайте первый пост:
Цитата(Alt.F4 @ Mar 11 2012, 05:44) *
Столкнулся с проблемой передачи пакета 250КБ

Или вы не читатель?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 14:16
Сообщение #18


Гуру
******

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



Да перечитал уже, но решил оставить: печально, но вы с ТС попали в 1%.
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Mar 11 2012, 15:27
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Заюзал я короче нормальный сом-порт стационарного РС. При острой необходимости виртуального порта на ноуте буду пытаться передавать по 8кб.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 15:31
Сообщение #20


Гуру
******

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



Цитата(Alt.F4 @ Mar 11 2012, 19:27) *
При острой необходимости виртуального порта на ноуте буду пытаться передавать по 8кб.

По-моему, и 8 уже изрядный перебор. Чем обусловлена потребность работы такими большими блоками?
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Mar 11 2012, 16:52
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Цитата
Чем обусловлена потребность работы такими большими блоками?
Звук пишу в DataFlash.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 16:57
Сообщение #22


Гуру
******

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



Цитата(Alt.F4 @ Mar 11 2012, 20:52) *
Звук пишу в DataFlash.

Так у нее страница не больше килобайта с копейками.
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Mar 11 2012, 18:56
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Цитата
Попробуйте в настройках порта FTDI поменять латенци таймер, по умолчанию стоит 16 поставьте например 2.
Не помогает.
Цитата
Так у нее страница не больше килобайта с копейками.
Зато у нее два буфера и писать можно не прерываясь.

Кстати, как заюзать библиотеку предложенную -SANYCH- из поста №7?

Сообщение отредактировал Alt.F4 - Mar 11 2012, 19:24
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 11 2012, 19:42
Сообщение #24


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(aaarrr @ Mar 11 2012, 19:31) *
По-моему, и 8 уже изрядный перебор. Чем обусловлена потребность работы такими большими блоками?

А зачем вообще без необходимости использовать поблочную работу ? Если, например, есть какой-то файл и его надо передать в устройство - пусть на максимальной скорости и летит, о блочности позаботится сама микросхема (исходя из размера своих буферов). Какая-то все ж странная проблема - я не наблюдал такого ни с простой передаче потока (когда микроконтроллер заведомо успевал обработать), без управления потоком. Когда же не успевал - использовал управление, и опять же все байт в байт. просто "copy <файл> COM<n>" и ни о чем не приходилось задумываться.

Цитата(Alt.F4 @ Mar 11 2012, 19:27) *
Заюзал я короче нормальный сом-порт стационарного РС. При острой необходимости виртуального порта на ноуте буду пытаться передавать по 8кб.

Попробуйте все ж на другом компьютере. Проблем не должно быть, это работает и проверено.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 19:45
Сообщение #25


Гуру
******

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



Цитата(rx3apf @ Mar 11 2012, 23:37) *
А зачем вообще без необходимости использовать поблочную работу ?

Отправить 250кБайт просто на удачу? Обычно все же принято использовать квитирование, контроль целостности и т.п.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 11 2012, 19:56
Сообщение #26


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(aaarrr @ Mar 11 2012, 23:45) *
Отправить 250кБайт просто на удачу? Обычно все же принято использовать квитирование, контроль целостности и т.п.

Контроль целостности можно и по контрольной сумме внутри эти 250 кило. Это все ж кусок провода, а не радиоэфир или поганая телефонная линия.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 20:12
Сообщение #27


Гуру
******

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



Цитата(rx3apf @ Mar 11 2012, 23:56) *
Контроль целостности можно и по контрольной сумме внутри эти 250 кило. Это все ж кусок провода, а не радиоэфир или поганая телефонная линия.

И потратить еще 30 секунд на повторную посылку, ежели вдруг сломалось. Если мы говорим о RS-232, то это отнюдь не просто кусок провода.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 11 2012, 20:37
Сообщение #28


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(aaarrr @ Mar 12 2012, 00:12) *
И потратить еще 30 секунд на повторную посылку, ежели вдруг сломалось.

И на строительство бомбоубежища - а вдруг метеорит упадет...
Цитата
Если мы говорим о RS-232, то это отнюдь не просто кусок провода.

Ну да, еще трансиверы с одной и с другой стороны. И разъемы, да.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 20:51
Сообщение #29


Гуру
******

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



Цитата(rx3apf @ Mar 12 2012, 00:37) *
И на строительство бомбоубежища - а вдруг метеорит упадет...

Да, протокол - это своего рода "бомбоубежище". И важность его создания нельзя недооценивать.
Не удивлюсь, если выяснится, что полетное задание на Фобос-Грунт заливали по вашей методе sad.gif

Цитата(rx3apf @ Mar 12 2012, 00:37) *
Ну да, еще трансиверы с одной и с другой стороны. И разъемы, да.

Таки да, трансиверы, заваливающие фронты, различия битовых скоростей и прочие досадные "мелочи".
Кусок провода, говорите?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 11 2012, 21:00
Сообщение #30


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(aaarrr @ Mar 12 2012, 00:51) *
Таки да, трансиверы, заваливающие фронты, различия битовых скоростей и прочие досадные "мелочи".
Кусок провода, говорите?

Это какой же кривизны надо иметь руки ? Трансиверы валят фронты ? Отлично, они это и должны делать. Однако и под нагрузкой исправный трансивер обязан обеспечивать нормированные параметры фронтов. Если, конечно, кто-то не пытается 120кбодный использовать на 230400 или выше. Битовые скорости различаются ? Так кто ж виноват, что не умеет выставить делитель ? Если передача по RS-232 не получается, надо не с блочностью и квитированием играться, а начать с ДНК. Другое дело, конечно, если речь идет о работе в условиях сильных промышленных помех. Но тема началась вообще с USB, так что о промоборудовании и разговора нет. А в условиях рабочего стола, несколько метров кабеля, на 115200 - это работает как часы. Без всяких потусторонних "досадных мелочей".
Go to the top of the page
 
+Quote Post

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

 


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


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