Slovan 0 28 октября, 2011 Опубликовано 28 октября, 2011 · Жалоба Доброго времени суток. Есть прибор, который должен общаться с компьютером по RS-422 на скорости 921600 б/с. В компьютере стоит МОХА, которая такую скорость обеспечивает. Собственно сами по себе запись и чтение в СОМ порт работают. Но дальше требуется обеспечить обмен с частотой 1000 Гц. То есть каждую милисекунду прибор отправляет 5 байт компьютеру, он их должен обработать и отправить ответ до прихода следующего сообщения. Возможно ли в принципе решить эту задачу под виндос? Даже если я делаю отделный поток с реал тайм приоритетом который занят только чтением из порта, все равно даже близко нет требуемой точности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 5 28 октября, 2011 Опубликовано 28 октября, 2011 · Жалоба Под виндюками можно, а вот с Вашим драйвером COM'а - это вопрос. Я делал в свое время прием данных с частотой 8кГц по сотне байт еще на P3, но драйвер устройства был свой. Дальше прием данных в отдельном потоке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Slovan 0 28 октября, 2011 Опубликовано 28 октября, 2011 · Жалоба Ну дрова родные, других нет. Карта: http://www.moxa.com/product/cp-132.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flexz 0 28 октября, 2011 Опубликовано 28 октября, 2011 · Жалоба Даже если я делаю отделный поток с реал тайм приоритетом который... Поток? тогда уж процессу приоритет поднимайте. Насколько я помню изменение приоритета пока влияет только на планировку управления в рамках процесса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASN 0 28 октября, 2011 Опубликовано 28 октября, 2011 · Жалоба Slovan Сделать можно. Но не нужно. Лучше realtime задачи отдать на откуп подключенному между ПК и прибором недорогому микроконтроллеру. Скорость передачи в ПК = 1000 (Гц) * 5 (байт) * 10 (бит) = 50 кБит. На стандартной скорости 115 200 через стандартный COM будет с запасом. По своему опыту, это самое простое, дешёвое и надёжное решение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Slovan 0 7 ноября, 2011 Опубликовано 7 ноября, 2011 · Жалоба Поток? тогда уж процессу приоритет поднимайте. Насколько я помню изменение приоритета пока влияет только на планировку управления в рамках процесса. ну да, имел ввиду процесс. Лучше realtime задачи отдать на откуп подключенному между ПК и прибором недорогому микроконтроллеру. Через микроконтролер проблем нет, в боевых условиях так скорее всего и будет, просто хотелось для удобства и наглядности работать с ПК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serj78 0 11 декабря, 2011 Опубликовано 11 декабря, 2011 · Жалоба Делал на ftdi ft232 прием с частотой 1 Кгц , по 10 байт, скорость порта пробовал до полмегабита. Пытался оценить задержки ответа. получилось около 2 мс. Но это- под родными VCP драйверами FTDI. Под D2x - говорят- значительно лучше, но не пробовал. C ком портом работал стандартными виндовыми API функциями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 12 декабря, 2011 Опубликовано 12 декабря, 2011 · Жалоба Скорость 3 МГц. Блоки по (примерно) 3.5 килобайта, загруженность канала где-то на 75%. При использовании VCP блоки иногда приходят битыми (внутренний контроль обнаруживал). Какая-то зависимость от загрузки компютера (без разницы, windows7 или xp). После редактирования программы для использования функций D2, проблемы исчезли. Использовался асинхронный режим обмена и через WinAPI и через D2. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться