Перейти к содержанию
    

Принять данные через COM порт и сохранить в файл

45 minutes ago, Arlleex said:

После выделенной строки количество данных изменилось в 2 раза в BULK-пакетах, и, кроме того, изменился шаг опроса устройств на шине USB - через 2мс стал опрашивать...

А содержимое?

К сожалению, захват идет на уровне URB, поэтому самое интересное - непосредственно пакеты на шине - таким способом не увидеть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, aaarrr сказал:

К сожалению, захват идет на уровне URB, поэтому самое интересное - непосредственно пакеты на шине - таким способом не увидеть.

USBTrace показывает и содержимое блоков. Насколько помню...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 hours ago, jcxz said:

И ТС всех обманул: поток у него не 2 Мб/сек, а всего лишь 2048/.015 = 136533 КБ/сек.

Ну, и к чему эти обвинения?

Внимательно прочитайте моё первое сообщение и не пишите ерунды!

МК примерно за 5 мс получает 2048 байт от источника и далее отправляет по uart на скорости ровно 2000000 бод.

 

зы:

я уже писал что это всё временно. 

Хотел, пока жду плату, попробовать отправить данные на комп по uart.

Ну не получилось и ладно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Промаркировал пакеты, отправляемые с МК. Смотрю в файле, когда где произойдет ошибка, и вычисляю смещение в сниффере. Сниффер показывает, что данные действительно пропали (пара байт не пришло):

image.png.f98b942a29d033c013e24ae6b555a704.png

Вот идут последовательности 0x85, 0x86... Должны идти дальше 0x87, 0x88, а их тупо нет! Куда подевались? =(

Как видно, между всеми транзакциями 1мс, т.е. хост-контроллер их даже обслужил... FT232 что ли не выдала их...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

58 минут назад, zombi сказал:

Внимательно прочитайте моё первое сообщение и не пишите ерунды!

МК примерно за 5 мс получает 2048 байт от источника и далее отправляет по uart на скорости ровно 2000000 бод.

Может не будем передёргивать? Цитата:

В 05.11.2018 в 19:58, zombi сказал:

Данные идут пачками по 2048 байт каждые 15 ms.

Общая длина всей посылки 512MB.

Ерунду здесь пока что пишете только Вы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 minutes ago, Arlleex said:

Как видно, между всеми транзакциями 1мс, т.е. хост-контроллер их даже обслужил... FT232 что ли не выдала их...

Не тратьте  время.
Винда в принципе не может передать 100 мегов в одном направлении без сбоев даже между внутренними виртуальными портами. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, jcxz said:

Ерунду здесь пока что пишете только Вы.

А, так Вы тролите здесь. Тогда понятно всё.

Потрудитесь процитировать моё первое сообщение в этой теме полностью!

И еще раз внимательно прочитайте его.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, zombi сказал:

И еще раз внимательно прочитайте его.

И что мы там должны увидеть? Как 15 мс лёгким движением руки превращаются в 5?  ;)

Как из того вашего первого сообщения можно вычислить скорость потока данных? Не скорость интерфейса, а скорость потока данных? Очевидно так: 2048/0.015 Б/сек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, AlexandrY said:

Не тратьте  время.
Винда в принципе не может передать 100 мегов в одном направлении без сбоев даже между внутренними виртуальными портами. 

 

В общем, да... Очень жаль =(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 минут назад, Arlleex сказал:

В общем, да... Очень жаль =(

Вы пробуете только с FT232? Может стоит попробовать с другими USB-UART чипами, в которых буфер побольше? Сколько например в CP2102?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Arlleex said:

Вот идут последовательности 0x85, 0x86... Должны идти дальше 0x87, 0x88, а их тупо нет! Куда подевались? =(

Вот в следующем пакете и посмотреть бы статусы.

 

1 hour ago, AlexandrY said:

Винда в принципе не может передать 100 мегов в одном направлении без сбоев даже между внутренними виртуальными портами. 

Думаю, на PCI адаптере с нормальным FIFO справится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, jcxz said:

Вы пробуете только с FT232? Может стоит попробовать с другими USB-UART чипами, в которых буфер побольше? Сколько например в CP2102?

Где-то вроде даже есть она у меня. Попробую на выходных теперь уже, наверное.

 

1 minute ago, aaarrr said:

Вот в следующем пакете и посмотреть бы статусы.

Завтра могу скинуть содержимое следующего пакета. Честно говоря, я мало что могу сказать по статусам, поэтому приведу на общее обозрение пока что...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, aaarrr сказал:

Думаю, на PCI адаптере с нормальным FIFO справится.

У меня тут на компе такая PCI-мультипортовка есть   ;)

Но пока я её пользую только на 921600 бод.

Если верить мануалу, то она умеет максимальный baudrate == 15625000. Но вот засада - нет нуль-модемного кабеля! Завтра принесу такой кабель (если не забуду) и проверю.

Кстати - в свойствах её дров есть фишка "Remap Baud Rates", которая позволяет переназначать скорости на другие значения. Например: 15625000 можно назначить на 110 бод. Так что все терминалки должны с ней работать, даже если в них прописано максимум 115200.   :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, jcxz said:

Если верить мануалу, то она умеет максимальный baudrate == 15625000

Для RS232 очень смелая цифра. Что же у них за драйверы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, jcxz said:

Кстати - в свойствах её дров есть фишка "Remap Baud Rates", которая позволяет переназначать скорости на другие значения. Например: 15625000 можно назначить на 110 бод. Так что все терминалки должны с ней работать, даже если в них прописано максимум 115200.   :)

А у меня не в свойствах дров, а в файле конфигурации .inf в папке с дровами для FTDI =) Я 2000000 заремапил вместо 300. Только не совсем понимаю, как оно работает (вообще система отображения на ПК). Вот я, допустим, заполняю структуру DCB, выставляю там скорость, допустим, 115200. Захожу в диспетчер устройств, выбираю свой преобразователь порта, захожу в свойства драйвера - вижу там:

image.png.595453c76141d7e8cb4a62383b73a87b.png

На что влияют эти настройки? Полагаю, это значения по умолчанию?

Я почему спрашиваю - вот я сделал ремап скорости 2000000 вместо 300. Но в своей программе в структуру DCB все равно пишу 2000000. Без ремапа в файле конфигурации драйвера такой фокус не работает. То есть, как мне кажется, при подключении к USB драйвер обменивается таблицей установленных скоростей, а дальше, когда заполняется структура DCB-параметров порта, FT232 делает автоподбор скорости исходя из этой таблицы. Или не так?

image.png.595453c76141d7e8cb4a62383b73a87b.png

Изменено пользователем Arlleex

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...