PowerGraph Описание PowerGraph
English ENG
Russian РУС
 Программное обеспечение  |  АЦП  |  Загрузка файлов  |  Цены  |  Конференция  |  Контакты 
Главная
Новости*

 ПО «PowerGraph»
О программе
Описание
Публикации
Применение
Сертификаты
Загрузка файлов

 Поддержка
Обновление ПО
Обучение
Конференция
Вопросы и ответы
Отправить письмо

 Аппаратура
АЦП
Мультиметры
Приборы
Хемилюминометры
Биожезл
Производители

 Информация
  Цены и услуги
  Контакты

 Телефон:
 +7 (495) 961-47-30
 E-Mail:
 soft@powergraph.ru

Конференция

Тема: «Не поддерживает высокие скорости при работе с COM-ASCII»
[Вернуться в "Список тем"] [Создать новую тему]
Дмитрий
05.11.2020
22:49
Читаю данные с 4-х аналоголвых каналов ардуино через чип FTDI232. На скоростях до 115200 включительно проблем нет. На скорости 230400 программа не находит устройство. На скоростях 460800 и 921600 не видит никаких данных. При этом в Arduino IDE в мониторинге порта данные видны и исправно передаются в порт точно так же, как и на остальных скоростях.
Дмитрий
06.11.2020
11:24
Попробовал с драйверами FTDI 2.0.0.0 и 2.8.14.0. Программа ведет себя одинаково. На 230400 Устройство не обнаружено, на 460800 и 921600 после нажатия кнопки Старт ничего не меняется, пустой экран данных. В чем может быть проблема?
Дмитрий (PG)
06.11.2020
12:57
Пока ситуация с FTDI непонятна - попробуем разобраться и исправить. Из всех проверенных контвертеров только FTDI допускает установку скорости выше 115200.
В мониторе порта Arduino IDE тоже нет скорости выше 115200. Или в последних версиях Arduino IDE появились более высокие значения?
Дмитрий
06.11.2020
16:43
У меня версия Arduino IDE 1.8.13 . В мониторе порта доступны скорости 230400, 500000 и 100000. Последние 2 похожи на косяк интерфейса ардуины. При их выборе уверенно читаются данные на скоростях 230400, 460800, 921600 соответственно. Кстати в СH340 есть скорость 128000. С ним проблем нет.
Дмитрий (PG)
07.11.2020
20:52
Это не "косяк" интерфейса, это истинные скорости обмена данными.
Выяснилось, что у плат Arduino есть интересная особенность - если в последовательный порт устанавливается скорость обмена выше стандартной 115 200, то реальная скорость обмена окажется кратной частоте кварцевого генератора, устанавленного на плате - 8 или 16 МГц. Т.е. вместо скорости обмена 460 800 (Serial.begin(460800);) плата Arduino будет использовать скорость обмена ровно 500 000 (16 МГц : 32). Таким образом на аппаратном уровне имеем скрытую подмену значения скорости обмена:
- вместо 230 400 будет 250 000;
- вместо 460 800 будет 500 000;
- вместо 921 600 будет 1 000 000.
Именно эти реальные значения указаны в списке скоростей в мониторе порта Arduino IDE.

В итоге для скоростей обмена выше 115 200 имеем расхождение скорости обмена, указанной в настройках порта, и реальной скорости обмена, используемой платой Arduino. В результате этого несоответствия драйвер COM-ASCII не находит плату Arduino.

Следовательно для плат Arduino на чипе FTDI необходимо разрабатывать индивидуальный PowerGraph-драйвер, учитывающий эту особенность.
Дмитрий
07.11.2020
21:19
Теперь понятно. Может будет проще вариант в существующий драйвер добавить возможность ручного выбора скорости?
Дмитрий (PG)
23.11.2020
09:34
В ПО PowerGraph добавлен новый драйвер "FTDI-ASCII", который является аналогом драйвера "COM-ASCII", но работает только с конвертерами USB-COM на высокоскоростном чипе FTDI.

В драйвере "FTDI-ASCII" реализована автоматическая подстройка скорости передачи для плат Arduino. Драйвер сначала использует скорость передачи, установленную в системных настройках COM-порта (230 400, 460 800 или 921 600), а если формат поступающих данных не соответствует табличному числовому формату, то драйвер перестраивается на скорость передачи Arduino (250 000, 500 000 или 1 000 000) и пытается обнаружить устройство повторно.

Что касается ручного выбора скорости передачи по COM-порту, то для этого пользователь должен знать такие особенности работы плат Arduino на высокой скорости передачи. Но такими знаниями обладают далеко не все пользователи Arduino. Поэтому эту особенность плат Arduino реализовали в драйвере "FTDI-ASCII" путем автоматической подстройки скорости передачи.
[Вернуться в "Список тем"] [Создать новую тему]

Новое сообщение по теме «Не поддерживает высокие скорости при работе с COM-ASCII»

 

*Ваше имя:
Email:
*Сообщение:
   

В начало страницы  



 
 Copyright© DISoft, 2003-2020. All right reserved.