Скоростное управление девайсами

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

В компе не COM порт тормозит, а программа, которая с ним работает.
Я выше выложил конфиги порта из своей DLL-ки. Но у меня другое наблюдалось.
Я наверное алгоритм просто в программе не так сделал. Если нагрузить процессор почти до полной(90% и выше) то у меня программа срывалась и шла дальше не успев принять весь пакет.
Если бы пакеты были у меня фиксированной длинны, то было бы проще, но пакеты у меня динамические и подкрутка таймаутов только частично решала проблему. Решил проблему выведением приёма данных в отдельный поток, в котором я сначала всё принимал, ждал конца пакета, проверял CRC и только тогда, если всё правильно, отдавал команду основной программе на выполнение операций с принятыми данными.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 474
Зарегистрирован: Вт июн 01, 2010 22:12:07
Откуда: Тольятти

Сообщение DimanVIP »

В той программе акромя работы с СОМ ничего более и не было, так что тормозить там тоже собственно нечему было.
У меня настройки порта были аналогичные. Да и что-то терзают меня смутные сомнения, что есть какие-либо хитрые настройки порта увеличивающие скорость его работы, баудрэйт не в счет.

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

Если кому интересно, дойдет дело до железа, обязательно повторю эксперимент.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Может он и переключается, я не спорю, просто говорю то, что по моему опыту и про то, что видел и чего не видел. :)
На счёт тормозов: У COM портов есть параметры таймаутов.
По этим таймаутам он ждёт те или иные события. Тормозить может из-за них.
Приёмный регистр и регистр передачи раздельные. Буферы передачи и приёма тоже раздельные. Физические линии обмена тоже отделены друг от друга. Так, что это только ускоряет работу порта.
Тормоза могут вызвать процессы, использующие терминальный режим и использование линий DTR и RTS. В конфигах их можно отрубить. Для сопряжения с МК нужны всего 3 провода и преобразователь уровней. (передача, приём и GND)
Всё, что я написал выше, касается реальных, встроенных в материнку COM портов.
А вот USBишные переходники могут и переключаться и тормозить. У них ведь программная реализация порта. :)
Если есть возможность задействовать Ethernet с протоколом TCP IP, то лучше его и использовать.

Другой вопрос. А как на счёт скорости исполнения команды механизмом? Очень быстро механизм выполняет команды или нет? Просто если механизм выполняет команды от одной секунды и выше, то думаю, что ПК справится с передачей команд по UART. Главное для ПК, это быстро отправить микроконтроллеру как можно больше данных, пока механизм совместно с ядром МК будут жевать их и выплёвывать. А управлением механизмом пусть МК занимается.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 474
Зарегистрирован: Вт июн 01, 2010 22:12:07
Откуда: Тольятти

Сообщение DimanVIP »

Исполнительный механизм - пускатель. Скорость срабатывания у него очень не плохая.

Буду работать с нормальным USB, и не буду его во что-то виртуализировать. Сделаю его HID'ом и буду гнать байтики. Даже сделаю еще красивее, преобразователь, тот что стоит со стороны ПК, будет не просто преобразователь. Он еще будет следить за тем, получило ли устройство пакет в целости и сохранности, и если что, пересылать самостоятельно заново, не трогая ПК.

З.Ы. Скачал ту приблуду для Винды, что делает ее реал тайм ОС. Интересно....
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

Ну смотри - можешь сделать и хидом - но это сложнее и больше времени займет :)
DimanVIP писал(а):Исполнительный механизм - пускатель. Скорость срабатывания у него очень не плохая.
ну это механика. Она достаточно медленная по определению.
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

З.Ы. Скачал ту приблуду для Винды, что делает ее реал тайм ОС. Интересно....
:shock:
Скорее, делает видимость RTOS.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Вопрос ко всем: Можно ли найти исходники от примеров в протеусе?
Интересует проект Ethernut из протеуса 7.6 SP0. Там на AVRе и на чипе Realtek Ethernet сделан простенький веб - сервер.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 474
Зарегистрирован: Вт июн 01, 2010 22:12:07
Откуда: Тольятти

Сообщение DimanVIP »

BCluster писал(а):ну это механика. Она достаточно медленная по определению.
Я бы не сказал, самый большой нагруженный пускатель у нас захлопывается за 5 мс.
ploop писал(а):Скорее, делает видимость RTOS.
Все лучше чем голая винда.
DX168B писал(а):Вопрос ко всем: Можно ли найти исходники от примеров в протеусе?
Интересует проект Ethernut из протеуса 7.6 SP0. Там на AVRе и на чипе Realtek Ethernet сделан простенький веб - сервер.
Исходников не встречал, а вот где-то подобная реализация мне попадалась. Или только мысль ее создания, уже не помню.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город

Сообщение Мастер Ломастер »

ploop писал(а):
З.Ы. Скачал ту приблуду для Винды, что делает ее реал тайм ОС. Интересно....
:shock:
Скорее, делает видимость RTOS.
я бегло-бегло почитал про эту приблуду, и у меня сложилось впечатление, что она встраивается на уровень ядра и подменяет собой шедулер винды, делаяя последний своей подзадачей, ну или как-то похоже его обманывая... получается типа ОС внутри ОС. сдается мне, в этом случае реальность времени будет весьма жесткой... но все равно интересно узнать результат испытаний "в натуре"
битва с дураками проиграна, победители торжествуют. слава победителям!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Винда скорее всего тормозить будет, если повесить на "преблуду" ещё одну задачу, помимо винды. Но в ПК проц поддерживает многозадачность на аппаратном уровне, в отличии от МК.
По этому, вероятно, что тормозов может и не быть.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Мастер Ломастер писал(а):
ploop писал(а): :shock:
Скорее, делает видимость RTOS.
я бегло-бегло почитал про эту приблуду, и у меня сложилось впечатление, что она встраивается на уровень ядра и подменяет собой шедулер винды, делаяя последний своей подзадачей, ну или как-то похоже его обманывая... получается типа ОС внутри ОС. сдается мне, в этом случае реальность времени будет весьма жесткой... но все равно интересно узнать результат испытаний "в натуре"
ааа, ну это еще может быть. Только какой смысл? Все задачи, которым нужен реалтайм, проще вынести в железку, даже если они довольно объёмные. Особенно, учитывая сегодняшние цены на всякие ARM'ы и тому подобное.
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

DX168B писал(а):Вопрос ко всем: Можно ли найти исходники от примеров в протеусе?
Интересует проект Ethernut из протеуса 7.6 SP0. Там на AVRе и на чипе Realtek Ethernet сделан простенький веб - сервер.
http://we.easyelectronics.ru/
Тут человек много статей про подключение МК к локальной сети написал.
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Спсибо. :beer: :beer: :beer:
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Ответить

Вернуться в «Интеграция с ПК»