Я использую Ubuntu 14.04 LTS и некоторые необычные устройства с последовательным интерфейсом, которые используют конвертеры последовательного интерфейса в USB.
Я не могу подключить несколько медленных устройств (преобразователь RS232 в USB 2.0, преобразователь RS422 в USB 2.0 и другое устройство USB 2.0) в концентратор 3.0 без сбоя моего приложения из-за отсутствия входящих сообщений. Однако, если все устройства подключены непосредственно к ПК, все работает. Не могли бы вы объяснить, почему это происходит? Пожалуйста, продолжайте читать для деталей ...
Я купил USB-концентратор 3.0 производства Orico. Он имеет 4 порта и питается от USB-порта, к которому он подключается.
Я подключил 2 последовательных преобразователя (с устройствами для общения) и одно устройство USB к нему. Вот подробности:
- От RS422 до USB (2.0) - настроен как /dev /ttyUSB0 на 500 000 8N1.
- RS232 - USB (2.0) - настроен как /dev /ttyUSB1 в 115200 8N1.
- Устройство USB 2.0 (Labjack U3, система ввода-вывода общего назначения ... собирает нажатые кнопки и т.п. ...).
Я наблюдал какое-то очень странное поведение, которое стоило мне двух 14-часовых дней высокого турбо-стресса, пока я не понял, что проблема в концентраторе.
"Плохое" поведение USB Hub, которое заняло некоторое время, чтобы обнаружить:
- когда был подключен только RS232 к USB, последовательное устройство, с которым я общался, получало все данные, которые отправлял ПК, но все ответы от устройства отбрасывались концентратором (или, точнее, отбрасывались до тех пор, пока хаб был использован).
- Когда были подключены два устройства (Labjack USB 2.0 Device + RS422 - USB 2.0), все работало (сообщения с обоих устройств поступали на ПК с хорошей скоростью). Если преобразователь RS232 в USB был подключен, в то время как два других устройства уже были подключены, все было в порядке, и я мог настроить порт RS232. Однако, как только последовательное устройство, подключенное к RS232, было включено и начало посылать "сообщения", приложение, работающее на ПК, зависало с ошибкой, указывающей, что ему не хватало сообщений от устройства RS422 (которые должны поступать через USB-порт). концентратор). Это произойдет в течение 5 секунд после включения (включения) последовательного устройства, которое было подключено к преобразователю RS232 в USB.
Я был сбит с толку некоторое время ... пока я не удалил USB-концентратор и не подключил все устройства непосредственно к ПК ... тогда все стало работать как шарм.
Не могли бы вы объяснить, почему это происходит? Кроме того, не могли бы вы предложить некоторые инструменты или методику, которая поможет мне точно определить, что происходит с сетью USB?
Мне нужен концентратор для переноса всех последовательных данных, которые преобразуются в сообщения USB на ПК без узкого места; и когда мы считаем, что последовательные скорости моих устройств RS232 и RS422 очень низкие (по сравнению с USB ... не мои скорости устранения неполадок ...) Я думаю, что любой хаб сделает свое дело. Обнаружив эту проблему, мне любопытно, почему концентратор со скоростями, намного более быстрыми, чем устройства, подключенные к нему, действует как горлышко бутылки.
Пожалуйста, имейте в виду, что концентратор не является (скорее всего) неисправным ... Он хорошо переносит данные; пока он не встретит 2 последовательных преобразователя и одновременно подключенное USB-устройство, и в этот момент его скорость (или, возможно, напряжение) сбивает моего робота.
################# EDIT # 1Я подозревал, что падение напряжения вызывало проблему, поэтому я использовал концентратор 2.0 USB 7 с питанием, и результаты были такими же! Приложение перестает получать сообщения, как только все 3 устройства начинают отправлять сообщения.
########################################### EDIT # 2Если я подключаю устройство RS422 непосредственно к ПК, а устройства USB RS232 и Labjack - к USB-концентратору (а затем к USB-концентратору - в ПК), Labjack U3 выходит из строя с ошибкой.
Означает ли это, что концентратор USB не может передавать данные, передаваемые ему двумя последовательными устройствами и одним устройством USB, со скоростью, с которой приходят сообщения? Это звучит очень странно.
Если я могу предоставить больше информации, пожалуйста, дайте мне знать. Заранее спасибо.