Jump to content
Форум по продукции MOXA

NPort 5610-8: задержки


Recommended Posts

Здравствуйте!

 

Существует устройство и программное обеспечение для него. Обмен информацией между устройством и компьютером осуществляется по последовательному порту RS-232 блоками данных 8-10 байт. Устройство после приема очередного блока данных переводит цепь CTS в состояние ВЫКЛЮЧЕНО (-12 В) на время 1,5-15 мс (в зависимости от настроек устройства), осуществляет обработку блока и затем переводит цепь CTS в состояние ВКЛЮЧЕНО (+12 В), что означает готовность к приему нового блока данных. Программное обеспечение осуществляет непрерывную передачу блоков данных в зависимости от готовности устройства. Программное обеспечение использует аппаратное управление потоком (hardware flow control - RTS/CTS). Используется операционная система Red Hat Enterprise Linux, ядро 2.6.18 или 2.6.24. При использовании встроенных последовательных портов компьютера или плат расширителей последовательных портов (устанавливаемых на шину PCI компьютера) задержка между включением CTS и новым блоком данных от компьютера чрезвычайно мала.

 

Проблема: при использовании расширителя портов Moxa NPort 5610-8 возникают довольно большие задержки (порядка 10-15 мс) между переводом устройством цепи CTS в состояние ВКЛЮЧЕНО и выдачей очередного блока данных с компьютера. Данные задержки являются недопустимыми, т.к. превышают время обработки очередного блока устройством. К программному обеспечению, управляющему устройством, претензий нет. Т.к. оно обеспечивает правильное функционирование на встроенных последовательных портах компьютера и платах расширителей последовательных портов.

 

Вопрос: Каким образом можно исключить задержки?

 

P.S. NPort работает в режиме "Real COM Mode", остальные настройки Nport'а - по умолчанию.

Проверки проводились при подключении Nport напрямую к сетевой карте компьютера и с использованием штатной ЛВС. При проведении проверок задействовали только один последовательный порт расширителя Moxa NPort 5610-8. Меняли различные настройки NPort'а: отключали SNMP, отключали FIFO (на самом NPort - в разделе "Serial Settings", и в конфиге драйвера - npreal2d.cf), меняли пар-ры в разделе Operating settings: Packing length и Force transmitt (пробовали значения 1, 10, 20, 30, 65000 мс). Подключали аппаратуру на другие COM-порты NPort'а. Все это не дало никаких результатов.

Link to comment
Проблема: при использовании расширителя портов Moxa NPort 5610-8 возникают довольно большие задержки (порядка 10-15 мс) между переводом устройством цепи CTS в состояние ВКЛЮЧЕНО и выдачей очередного блока данных с компьютера. Данные задержки являются недопустимыми, т.к. превышают время обработки очередного блока устройством. К программному обеспечению, управляющему устройством, претензий нет. Т.к. оно обеспечивает правильное функционирование на встроенных последовательных портах компьютера и платах расширителей последовательных портов.

 

Вопрос: Каким образом можно исключить задержки?

К сожалению, этого не избежать.

В процессе работы NPort осуществляет не физическое преобразование сигналов, а анализ данных и упаковку их в TCP-пакеты. На это уходит какое-то время. Время на конвертацию из COM-порта в Ethernet в NPort составляет 5~10 мсек. Обратная конвертация - примерно столько же.

В подавляющем большинстве случаев при использовании COM-порта миллисекундные задержки являются абсолютно не критичными. Но, видимо, не в Вашем случае.

 

У Вас получается, что сначала сигнал CTS принимается NPort'ом и передается в PC. Далее данные из PC передаются в NPort. Т.е. общее время на преобразование данных - порядка 10~20 мсек. К сожалению, ничего с этим сделать нельзя.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...