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

 
 
 
Reply to this topicStart new topic
> Потери при передаче через FT232
paskal
сообщение Jun 5 2017, 20:46
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 348
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



Нужно от МК передавать большие объемы данных в ПК. Скорость - 1 байт с интервалами от 10 до 20 мкс. Направление только от устройства в ПК. Для связи настраиваю UART микроконтроллера на передачу со скоростью 3 Мбит. Далее переходник UART-USB (FT232) для ввода в компьютер, а там софт работает через виртуальный COM порт. Уже при интервале 25 мкс теряется примерно 0.1% данных. При интервале 30 мкс все стабильно. То есть компьютер не успевает обрабатывать всего 40 кБ/с! Пробовал увеличивать размер приемного буфера - не помогло.
Какие будут идеи?
Go to the top of the page
 
+Quote Post
x736C
сообщение Jun 5 2017, 21:05
Сообщение #2


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

Группа: Участник
Сообщений: 1 165
Регистрация: 3-03-06
Пользователь №: 14 942



Вариантов может быть много. Например, клон ft232.
Go to the top of the page
 
+Quote Post
paskal
сообщение Jun 5 2017, 21:30
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 348
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



Клон это или нет, но он работает если чуть снизить скорость. И потом, клоны делали на FT232R, а у меня FT232B на который клонов не замечено.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jun 5 2017, 21:31
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 765
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(paskal @ Jun 5 2017, 20:46) *
3 Мбит

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

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

может не успевает обрабатывать 40k пакетов ?

Сообщение отредактировал Огурцов - Jun 5 2017, 21:31
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 5 2017, 21:41
Сообщение #5


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

Группа: Участник
Сообщений: 1 544
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Проходил. Перешел на использование DLL от FTDI - все стало нормально. Переписывается все почти на автомате, вызовы похожи.

Прикрепленные файлы
Прикрепленный файл  serial.rar ( 6.07 килобайт ) Кол-во скачиваний: 19
 
Go to the top of the page
 
+Quote Post
paskal
сообщение Jun 5 2017, 21:56
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 348
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



Цитата(Огурцов @ Jun 6 2017, 00:31) *
а вы под чем сидите ? под xp было 920k максимально, под семёркой вообще 128k

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

Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jun 5 2017, 22:28
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 765
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



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

открыл свойства порта в диспетчере устройств и посмотрел

Сообщение отредактировал Огурцов - Jun 5 2017, 22:28
Go to the top of the page
 
+Quote Post
@Ark
сообщение Jun 5 2017, 23:32
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 469
Регистрация: 13-05-16
Пользователь №: 91 710



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

Вы, для начала, правильно сформулируйте задачу. Что такое "1 байт с интервалами от 10 до 20 мкс"?
На стандартной скорости 921600 бит/сек передача одного байта в формате 8N1 занимает не более 11 мкс. Вам достаточно или нет?
Эту скорость любая винда и драйвер для FT232 поддерживают в режиме виртуального COM-порта.

Сообщение отредактировал @Ark - Jun 5 2017, 23:41
Go to the top of the page
 
+Quote Post
paskal
сообщение Jun 6 2017, 18:24
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 348
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



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

Вообще то я все достаточно описал. Скорость я устанавливаю 3 Мбит/с (почему вы решили что 921600?). Интервал между байтами с которым я экспериментирую, 25 мкс. Все с большим запасом умещается. Тем более что я все это контролирую осциллографом.
Ладно, похоже Genadi Zawidowski дело подсказал, буду в этом направлении двигаться.
Go to the top of the page
 
+Quote Post
@Ark
сообщение Jun 6 2017, 18:36
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 469
Регистрация: 13-05-16
Пользователь №: 91 710



Цитата(paskal @ Jun 6 2017, 21:24) *
Скорость я устанавливаю 3 Мбит/с (почему вы решили что 921600?).

И зачем Вам 3 Мбит/c, если достаточно 921600, на которой точно все будет работать?

Сообщение отредактировал @Ark - Jun 6 2017, 18:37
Go to the top of the page
 
+Quote Post
paskal
сообщение Jun 6 2017, 20:04
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 348
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



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

Ну попробую на 921600, если смогу хитрый кварц найти.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 7 2017, 06:46
Сообщение #12


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

Группа: Участник
Сообщений: 1 544
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



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

Забейте. В сторону контроллера FT232 формирует скорости делением своего генератора - а он 6 МГц кажется. Так что 1 2 3 МГц проблем не вызывают.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st November 2017 - 19:24
Рейтинг@Mail.ru


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