Есть ли ограничения на последовательный порт с более чем 6 подключенными устройствами? - PullRequest
5 голосов
/ 25 октября 2011

У меня есть проект, который использует Rocketport Infinity 16 портов для получения данных от 6 различных анемометров (устройства измерения скорости ветра) (RS422, 50 Гц, 38,4 Кбод, 47 байт на запись). Когда я использую 32 Гц и 9600 бод, все в порядке, однако, когда я переключаюсь на 50 Гц, некоторые данные не принимаются. Я попытался использовать USB вместо Rocketport Infinity безуспешно.

Итак, кроме анемометра, я подозреваю следующие объяснения потери данных:

  1. Для Rocketport Infinity я открыл все 16 портов, но подключил только 6 из них, я подозреваю, что максимальная пропускная способность слишком высока при переключении на 50 Гц.

  2. Скорость переключения IRQ слишком высока для правильной работы com-порта.

Есть ли другая возможная причина? Пожалуйста, поправьте меня, если я ошибаюсь.

Среда разработки Receiver: Delphi 6 в 32-разрядной версии Windows XP Professional, с CPort 3.1

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

Скорость IRQ не так высока, и современные машины не должны иметь никаких проблем с ней.Я подозреваю, что реальная проблема заключается в том, что ваше приложение не обрабатывает полученные байты достаточно быстро.Особенно, когда ваш код также обновляет пользовательский интерфейс в том же потоке, который получает данные.

Трудно дать конкретные советы по устранению неполадок, поскольку вы не указываете ни язык, ни операционную систему.Но не забудьте правильно обработать ошибки.Различают переполнение буфера (приложение не читает достаточно быстро) и переполнение буфера символов (драйвер не читает достаточно быстро).В Windows это CE_RXOVER и CE_OVERRUN.

1 голос
/ 03 ноября 2011

Есть ли ограничения на последовательный порт с более чем 6 подключенными устройствами?

Да, есть ограничения.Я предполагаю, что у вас есть дифференциальные выходы и приемник ввода / вывода с дифференциальными входами.Пожалуйста, см. Сбалансированные дифференциальные сигналы .Возможно, превышены максимальные номинальные напряжения цепей приемника.

Скорость каждого порта должна соответствовать скорости соответствующего устройства.См. другие критерии , которые должны соответствовать.

Слишком высокая скорость переключения IRQ для правильной работы com-порта.

ПочемуВы предполагаете, что это будет проблемой с вашей скоростью IRQ?- Я бы сказал, что у вас есть только дефицитных ресурсов IRQ.

...