реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Работа с очень быстрым COM портом
Slovan
сообщение Oct 28 2011, 09:52
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 28-10-11
Пользователь №: 68 007



Доброго времени суток.

Есть прибор, который должен общаться с компьютером по RS-422 на скорости 921600 б/с. В компьютере стоит МОХА, которая такую скорость обеспечивает.
Собственно сами по себе запись и чтение в СОМ порт работают. Но дальше требуется обеспечить обмен с частотой 1000 Гц.
То есть каждую милисекунду прибор отправляет 5 байт компьютеру, он их должен обработать и отправить ответ до прихода следующего сообщения.

Возможно ли в принципе решить эту задачу под виндос? Даже если я делаю отделный поток с реал тайм приоритетом который занят только чтением из порта, все равно даже близко нет требуемой точности.
Go to the top of the page
 
+Quote Post
Alex11
сообщение Oct 28 2011, 10:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Под виндюками можно, а вот с Вашим драйвером COM'а - это вопрос. Я делал в свое время прием данных с частотой 8кГц по сотне байт еще на P3, но драйвер устройства был свой. Дальше прием данных в отдельном потоке.
Go to the top of the page
 
+Quote Post
Slovan
сообщение Oct 28 2011, 10:40
Сообщение #3





Группа: Участник
Сообщений: 10
Регистрация: 28-10-11
Пользователь №: 68 007



Ну дрова родные, других нет.
Карта: http://www.moxa.com/product/cp-132.htm
Go to the top of the page
 
+Quote Post
Flexz
сообщение Oct 28 2011, 11:00
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Цитата(Slovan @ Oct 28 2011, 13:52) *
Даже если я делаю отделный поток с реал тайм приоритетом который...

Поток? тогда уж процессу приоритет поднимайте. Насколько я помню изменение приоритета пока влияет только на планировку управления в рамках процесса.
Go to the top of the page
 
+Quote Post
ASN
сообщение Oct 28 2011, 12:54
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



Slovan
Сделать можно. Но не нужно.
Лучше realtime задачи отдать на откуп подключенному между ПК и прибором недорогому микроконтроллеру.
Скорость передачи в ПК = 1000 (Гц) * 5 (байт) * 10 (бит) = 50 кБит. На стандартной скорости 115 200 через стандартный COM будет с запасом.
По своему опыту, это самое простое, дешёвое и надёжное решение.
Go to the top of the page
 
+Quote Post
Slovan
сообщение Nov 7 2011, 13:10
Сообщение #6





Группа: Участник
Сообщений: 10
Регистрация: 28-10-11
Пользователь №: 68 007



Цитата
Поток? тогда уж процессу приоритет поднимайте. Насколько я помню изменение приоритета пока влияет только на планировку управления в рамках процесса.

ну да, имел ввиду процесс.

Цитата
Лучше realtime задачи отдать на откуп подключенному между ПК и прибором недорогому микроконтроллеру.

Через микроконтролер проблем нет, в боевых условиях так скорее всего и будет, просто хотелось для удобства и наглядности работать с ПК.
Go to the top of the page
 
+Quote Post
Serj78
сообщение Dec 11 2011, 17:01
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499




Делал на ftdi ft232 прием с частотой 1 Кгц , по 10 байт, скорость порта пробовал до полмегабита. Пытался оценить задержки ответа. получилось около 2 мс.
Но это- под родными VCP драйверами FTDI. Под D2x - говорят- значительно лучше, но не пробовал.

C ком портом работал стандартными виндовыми API функциями.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 12 2011, 22:42
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Скорость 3 МГц. Блоки по (примерно) 3.5 килобайта, загруженность канала где-то на 75%. При использовании VCP блоки иногда приходят битыми (внутренний контроль обнаруживал). Какая-то зависимость от загрузки компютера (без разницы, windows7 или xp). После редактирования программы для использования функций D2, проблемы исчезли. Использовался асинхронный режим обмена и через WinAPI и через D2.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016