Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Потери при передаче через FT232
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
paskal
Нужно от МК передавать большие объемы данных в ПК. Скорость - 1 байт с интервалами от 10 до 20 мкс. Направление только от устройства в ПК. Для связи настраиваю UART микроконтроллера на передачу со скоростью 3 Мбит. Далее переходник UART-USB (FT232) для ввода в компьютер, а там софт работает через виртуальный COM порт. Уже при интервале 25 мкс теряется примерно 0.1% данных. При интервале 30 мкс все стабильно. То есть компьютер не успевает обрабатывать всего 40 кБ/с! Пробовал увеличивать размер приемного буфера - не помогло.
Какие будут идеи?
x736C
Вариантов может быть много. Например, клон ft232.
paskal
Клон это или нет, но он работает если чуть снизить скорость. И потом, клоны делали на FT232R, а у меня FT232B на который клонов не замечено.
Огурцов
Цитата(paskal @ Jun 5 2017, 20:46) *
3 Мбит

а вы под чем сидите ? под xp было 920k максимально, под семёркой вообще 128k

Цитата(paskal @ Jun 5 2017, 20:46) *
не успевает обрабатывать всего 40 кБ/с

может не успевает обрабатывать 40k пакетов ?
Genadi Zawidowski
Проходил. Перешел на использование DLL от FTDI - все стало нормально. Переписывается все почти на автомате, вызовы похожи.
paskal
Цитата(Огурцов @ Jun 6 2017, 00:31) *
а вы под чем сидите ? под xp было 920k максимально, под семёркой вообще 128k

Семерка. А откуда для виртуального порта ограничение 128k? Ничего такого не слышал.

Огурцов
Цитата(paskal @ Jun 5 2017, 21:56) *
Ничего такого не слышал.

открыл свойства порта в диспетчере устройств и посмотрел
@Ark
Цитата(paskal @ Jun 5 2017, 23:46) *
Нужно от МК передавать большие объемы данных в ПК. Скорость - 1 байт с интервалами от 10 до 20 мкс...

Вы, для начала, правильно сформулируйте задачу. Что такое "1 байт с интервалами от 10 до 20 мкс"?
На стандартной скорости 921600 бит/сек передача одного байта в формате 8N1 занимает не более 11 мкс. Вам достаточно или нет?
Эту скорость любая винда и драйвер для FT232 поддерживают в режиме виртуального COM-порта.
paskal
Цитата(@Ark @ Jun 6 2017, 02:32) *
Вы, для начала, правильно сформулируйте задачу. Что такое "1 байт с интервалами от 10 до 20 мкс"?
На стандартной скорости 921600 бит/сек передача одного байта в формате 8N1 занимает не более 11 мкс. Вам достаточно или нет?

Вообще то я все достаточно описал. Скорость я устанавливаю 3 Мбит/с (почему вы решили что 921600?). Интервал между байтами с которым я экспериментирую, 25 мкс. Все с большим запасом умещается. Тем более что я все это контролирую осциллографом.
Ладно, похоже Genadi Zawidowski дело подсказал, буду в этом направлении двигаться.
@Ark
Цитата(paskal @ Jun 6 2017, 21:24) *
Скорость я устанавливаю 3 Мбит/с (почему вы решили что 921600?).

И зачем Вам 3 Мбит/c, если достаточно 921600, на которой точно все будет работать?
paskal
Цитата(@Ark @ Jun 6 2017, 21:36) *
И зачем Вам 3 Мбит/c, если достаточно 921600, на которой точно все будет работать?

Ну попробую на 921600, если смогу хитрый кварц найти.
Genadi Zawidowski
Цитата
Ну попробую на 921600, если смогу хитрый кварц найти

Забейте. В сторону контроллера FT232 формирует скорости делением своего генератора - а он 6 МГц кажется. Так что 1 2 3 МГц проблем не вызывают.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.