Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Вниз

Регистрация сигналов   Найти похожие ветки 

 
AlexanderV   (2002-03-19 15:21) [0]

От устройства приходит цифровой сигнал уровнем 5В
Необходимо регистрировать время его прихода с точностью 0.01с
Можно ли не используя внешних устройств добиться такой точности?
Какой порт для этого использовать и как?
Кто может, помогите


 
Digitman   (2002-03-19 16:52) [1]

100 гц - не частота для современных машин ... тот же COM-порт должен вполне подойти, если его буферизация работает в потоке с должным приоритетом и уровнем привелегий ввода/вывода


 
AlexanderV   (2002-03-19 18:52) [2]

А кто-нибудь знает либу, которая здраво работает с COM или LPT портом? Не в смысле обмена информацией(лень переписывать), а в смысле чтения состояния (лучше LPT).


 
Anatoly Podgoretsky   (2002-03-19 22:27) [3]

AlexanderV (19.03.02 15:21)
Нельзя, или внешние устройства или соответствующая ОС
у тебя даже между двумя командами на уровне CPU может пройти неопределенное количество времени, даже при REAL TIME PRIORITY.
И это несмотря что частота низкая.
Хотя приоритеты значительно улучшат ситуацию, но попробуй почитать в это время плохой CD
Если среда специальная, нет посторонних помех, то попробовать можешь.


 
Ray   (2002-03-20 09:43) [4]

Windows не та ОС ! Присмотрись к QNX все же RealTime OS. Как раз и расчитан на работу с любой внешней аппаратурой. Правда програмит тим приется на Си, но из Application Builder очень смахивает на смесь Delphi + VC++
http://www.qnx.com - можно скачать free версию для не коммерческого использования. А так системка может стоит до 30 штук 8-), в зависимоти от лицензии


 
erik   (2002-03-20 19:48) [5]

Ерунда можно использовать windows если это частная задача. Используй порт джостика, тред в которм будеш получать информацию постав в REAL_TIME и класу приоритет подними до REAL_TIME. Но тот тред который будет писать значения на диск должен иметь приоритет IDLE.
Разумеется больше ничего существеного недолжно выполнятся.


 
Rooman   (2002-03-21 21:10) [6]

Есть еще такая штука - системный таймер. В WinAPI он называется Multimedia Timer. Так вот - точность срабатывания этого таймера 0.001 сек. Так что для регистрации вполне подойдет callback функция, вызываемая в таком таймере.

А еще есть такая штука, как звуковая карта. С ней немного проще.


 
AlexanderV   (2002-03-22 13:53) [7]

При использовании звуковой карты для регистрации сигналов возникает небольшая проблемка - форма этого самого сигнала (корявая). И для увеличения точности приходится коррелировать сигнал с ... Короче - от этого и пытался уберечься.
Вобщем бросил эту затею теперь считать интервалы буду железкой, а машина периодически будет считывать с порта результат.
Но у меня вопрос кто-нибудь знает достойную либу или компонент для работы с LPT (в исходниках) или может у кого-то есть - поделитесь пожалуйста.


 
Digitman   (2002-03-22 15:00) [8]

>>"форма этого самого сигнала (корявая)"

Как это понимать - "корявая" ?


 
AlexanderV   (2002-03-22 16:54) [9]

Примерно такая :
##
# #
# ##
# # ## #
## #### #####

Но это не важно - не хотелось бы обратно к такому изврату возвращаться, как регистрация временных характеристик цифровых сигналов при помощи аналоговых и к тому - же коряво собранных (имеющих разные характеристики) аналоговых устройств. И не убеждайте меня разрабатывать какие-то формирователи, которые всё равно не позволят гарантировать результат
Я тут насчёт либ интересовлся???


 
SoftOne   (2002-03-23 02:42) [10]

2 AlexanderV
Если уж ты имеешь полный доступ к жедезу, то, имхо, лучше всего перейти на COM порт.


 
AlexanderV   (2002-03-25 16:00) [11]

Чем COM порт лучше для данной задачи?
Я никогда не работал с COM портом.
У кого-нибудь есть небольшая схемка, которая собирает (или регистрирует, или...) данные (не важно какие - мне просто для примера) и программа, которая эти данные получает???

Очень нужно.


 
Digitman   (2002-03-25 16:59) [12]

>AlexanderV
Ты ж сказал - цифровой у тебя сигнал ?? И где на графике точки, соответствующие "0" и "1" ? И график строба - где ? Если ничего этого и в помине нет, то АЦП тебе нужен ... хотя бы и в составе аудиокарты ... при такой частоте, как ты сказал, "отрисует" тебе та же аудиокарта твой сигнальный график в буферной памяти в наилучшем виде ! И с привязкой к временной шкале ! И останется тебе только программно профильтровать/распознать уровни, соответствующие "1" и "0", получив при этом и их соотв.значения на относит.врем.шкале, начало которой совпадает с абс.временем старта записи.




 
AlexanderV   (2002-03-25 20:14) [13]

Я показал график, который звуковушка снимает, а не входной сигнал. Входной, естественно, выглядит так:

*******
* *
* *
** *****
Корявой форма сигнала становится уже после входа звуковой карты.
Да и не совсем в этом дело. я тут о железе и софте прашивал.
Так что если кто поможет-огромное спасибо.


 
KSergey   (2002-04-08 10:15) [14]

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



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
3-9711
PTE
2002-06-10 09:02
2002.07.04
Помогите с Insert разобраться


1-9900
Катерина
2002-06-22 17:51
2002.07.04
Переход из экранных координат в реальные в Chart


6-9942
Donal_Graeme
2002-04-24 11:05
2002.07.04
отправка данных HTTP-прокси


1-9777
Fran
2002-06-22 20:58
2002.07.04
Ошибка при могократном открытии формы в Win98


1-9781
Mirovodin
2002-06-23 18:33
2002.07.04
Формы Delphi 6 в Delphi5





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский