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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> FT232R - как передать большой пакет
aaarrr
сообщение Mar 11 2012, 21:09
Сообщение #31


Гуру
******

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



Цитата(rx3apf @ Mar 12 2012, 01:00) *
Однако и под нагрузкой исправный трансивер обязан обеспечивать нормированные параметры фронтов. Если, конечно, кто-то не пытается 120кбодный использовать на 230400 или выше.

Мне попадались на материнских платах и такие, которые 115200 умудрялись изрядно заваливать.

Цитата(rx3apf @ Mar 12 2012, 01:00) *
Если передача по RS-232 не получается, надо не с блочностью и квитированием играться, а начать с ДНК.

Разумеется. Только это не повод выбросить проверку целостности и квитирование, если получается. На красный свет дорогу переходить тоже получается.

Цитата(rx3apf @ Mar 12 2012, 01:00) *
Но тема началась вообще с USB, так что о промоборудовании и разговора нет.

Чем это USB не годится для промоборудования?

Цитата(rx3apf @ Mar 12 2012, 01:00) *
А в условиях рабочего стола, несколько метров кабеля, на 115200 - это работает как часы.

В условиях рабочего стола - пожалуйста, делайте что душе угодно. А вот если проектируется оборудование, которое должно работать и на других столах тоже, то такой подход неприемлем.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 11 2012, 21:19
Сообщение #32


Гуру
******

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



Цитата(aaarrr @ Mar 12 2012, 01:09) *
Мне попадались на материнских платах и такие, которые 115200 умудрялись изрядно заваливать.

До такой степени, чтобы не работали стандартные же приемники ? Позвольте не поверить. Кому нужен такой COM, к которому нельзя подключить модем ? А если скопом разглядывать, да, завалены (там нередко и дополнительные конденсаторы стояли).
Цитата
Разумеется. Только это не повод выбросить проверку целостности и квитирование, если получается. На красный свет дорогу переходить тоже получается.

Ну, скажем, в лесу мне ждать зеленый свет в голову не приходит. Не надо изобретать сущностей сверх необходимого минимума.
Цитата
Чем это USB не годится для промоборудования?

Да хотя бы нефиксирующимися разъемами и весьма ограниченным расстоянием между устройствами.
Цитата
В условиях рабочего стола - пожалуйста, делайте что душе угодно. А вот если проектируется оборудование, которое должно работать и на других столах тоже, то такой подход неприемлем.

Еще раз - если RS-232 не работает, надо не с блочностью ковыряться, а разбираться, почему не работают элементарные вещи. Для контроля целостности есть и иные методы, а простая передача файла по RS-232 должна работать без костылей.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 11 2012, 21:43
Сообщение #33


Гуру
******

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



Цитата(rx3apf @ Mar 12 2012, 01:19) *
До такой степени, чтобы не работали стандартные же приемники ? Позвольте не поверить. Кому нужен такой COM, к которому нельзя подключить модем ? А если скопом разглядывать, да, завалены (там нередко и дополнительные конденсаторы стояли).

Скажем так, работали, но на грани. И редкие ошибки уже были. Модем как раз можно было подключить без проблем - верхние протоколы ведь отрабатывали.

Цитата(rx3apf @ Mar 12 2012, 01:19) *
Да хотя бы нефиксирующимися разъемами и весьма ограниченным расстоянием между устройствами.

Бывают и вполне себе фиксирующиеся. И герметичные до кучи.

Цитата(rx3apf @ Mar 12 2012, 01:19) *
Еще раз - если RS-232 не работает, надо не с блочностью ковыряться, а разбираться, почему не работают элементарные вещи. Для контроля целостности есть и иные методы, а простая передача файла по RS-232 должна работать без костылей.

Еще раз: если разобрались с элементарными вещами и передали файл без костылей, то это еще не повод расслабляться и чувствовать себя в лесу.

Помимо чисто аппаратных проблем бывают еще и программные и программно-аппаратные (собственно, с чего тема и начиналась). Приведу пример из жизни:
в какой-то момент времени мой домашний комп стал терять байты при приеме через COM-порт. Впоследствии выяснилось, что виноват был помирающий хард
(умирало что-то в интерфейсной части, в результате чего на короткие промежутки времени драйвер SATA глухо подвешивал систему). Так вот, это не мешало
мне спокойно работать со своим железом через "глючащий" порт. Простой прием бы накрылся, но формально компьютер был жив.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Mar 12 2012, 03:06
Сообщение #34


pontificator
******

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



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

Откуда у вас 30 сек взялись? USB FS типично перекачает 250 кБ за пару секунд. Битые пакеты в балке перезапрашиваются автоматически, потому вероятность, что "ежели вдруг сломалось" исчезающе мала. Если бы не баг в драйвере, то разбивать файл на мелкие блоки не имело бы ни малейшего смысла: это лишний гемморой и ненужный оверхед, достаточно проверять целостность всего файла.

Цитата(aaarrr @ Mar 12 2012, 00:12) *
Совершенно не логично. Эмуляция последовательного порта (весьма урезанная и убогая) - это лишь малая часть CDC.

Вот именно поэтому весьма вероятно, что FTDI VCP пристыкуется к CDC, поскольку тогда пользователю предоставляется вся стандартная функциональность CDC, а усилия для этого от FTDI требуются мизерные. Вот в этом и состоит логика всякого вменяемого разработчика: не изобретать велосипед там, где предоставляется стандартный сервис достаточно хорошего качества.

Цитата(aaarrr @ Mar 12 2012, 00:12) *
Данные гонять можно, но для построения полноценного виртуального порта она неприменима.

А что же тогда по-вашему есть "полноценный виртульный порт"? Чем вас не устраивают виртуальные порты, появляющиеся при использовании драйверов класса CDC (если не считать бага в имплементации)?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 12 2012, 08:28
Сообщение #35


Гуру
******

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



Цитата(=AK= @ Mar 12 2012, 07:06) *
Откуда у вас 30 сек взялись? USB FS типично перекачает 250 кБ за пару секунд. Битые пакеты в балке перезапрашиваются автоматически, потому вероятность, что "ежели вдруг сломалось" исчезающе мала. Если бы не баг в драйвере, то разбивать файл на мелкие блоки не имело бы ни малейшего смысла: это лишний гемморой и ненужный оверхед, достаточно проверять целостность всего файла.

Мы там уже плавно перешли к "настоящему" RS-232. Но и в том, и другом (USB->COM) случае, если заказана скорость UART 115200, 250 кб будут передаваться больше 25 секунд (не бывает мостов с буфером в четверть мегабайта).

И по факту все работает (FT232, FT2232) без ограничений на длину блока 8 кило.
Go to the top of the page
 
+Quote Post
XVR
сообщение Mar 12 2012, 09:26
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Alt.F4 @ Mar 11 2012, 22:56) *
Зато у нее два буфера и писать можно не прерываясь.
До тех пор пока эти буфера не заполнятся. А потом надо бы дождаться, пока запись в DF из первого буфера закончится, прежде чем начинать снова в него лить из PC. Иначе возможны плавающие глюки rolleyes.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 12 2012, 09:28
Сообщение #37


Гуру
******

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



Цитата(=AK= @ Mar 12 2012, 07:06) *
Чем вас не устраивают виртуальные порты, появляющиеся при использовании драйверов класса CDC (если не считать бага в имплементации)?

Например, не полностью реализованной сигнализацией (CTS упущен, если я правильно помню).
Go to the top of the page
 
+Quote Post
XVR
сообщение Mar 12 2012, 09:29
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(=AK= @ Mar 12 2012, 07:06) *
Вот именно поэтому весьма вероятно, что FTDI VCP пристыкуется к CDC, поскольку тогда пользователю предоставляется вся стандартная функциональность CDC, а усилия для этого от FTDI требуются мизерные. Вот в этом и состоит логика всякого вменяемого разработчика: не изобретать велосипед там, где предоставляется стандартный сервис достаточно хорошего качества.
FT232 (без буквы R), и первый драйвер COM порта от FTDI появились задолго до появления CDC. Да и протокол у FT232 скорее всего отличается от протокола CDC (по той же причине). Так что скорее всего драйвера COM порта от FDTI не сидят на CDC (хотя конечно все возможно biggrin.gif )

Go to the top of the page
 
+Quote Post
fox2trot
сообщение Mar 13 2012, 05:14
Сообщение #39


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 22-09-07
Из: Орел
Пользователь №: 30 754



Был такой же баг пока не отключил в свойствах для девайса - разрешение отключения для экономии и вывод из ждущего режима. Дальше даже разбираться не стал т.к. после это перестал гадить большие пакеты. При обмене же двух девайсов ситуация типичная - нет сброса ошибки и подтверждения включения порта после этого. Попробуйте, может поможет. Причина скорее всего где-то на поверхности, как и в большинстве случаев.
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 Текстовая версия Сейчас: 26th July 2025 - 00:38
Рейтинг@Mail.ru


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