Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Использование COM и LPT портов в не совсем стандартных задачах (http://forum.oszone.net/showthread.php?t=79287)

Alexander_Grig 14-02-2007 00:11 549643

Использование COM и LPT портов в не совсем стандартных задачах
 
Здравствуйте, господа

Хотелось бы услышать ваше мнение по следующему вопросу.
Есть сигнал, поступающий от одной системы, который принимает 2 состояния - 0 и 1 (амплитуду можно изменять). Необходимо регистрировать длительности состояний 0 и 1. При этом регистрация должна происходить желательно с точностью до 1 мкс (в крайнем случае - 10 мкс).

Возникла идея использовать для этих целей либо COM, либо LPT порт.
Скорость COM-порта ведь можно изменять от 75 до 128000 бит/с , т.е. потенциально возможно считывать данные с минимальной длительностью одного импульса от 1/75=0,01(3) с до 1/128000= 7,8125мкс . Один недостаток COM-порта - это наличие "стартового" бита (и, возможно, стопового и четности ), который будет несколько "мешать", т.к. фактически будет забирать "на себя" один из битов передаваемых данных (хотя это модно будет и учесть в программе-обработке).

При использовани LPT-порта нет проблем с "лишним" битом, мы можем использовать любую из линий данных - D0..D7 (контакты со 2-го по 11-й), принимая на нее данные и регистрируя их значение. Однако я нигде не нашел, с какой максимально возможной частотой может происходить опрос порта (линий данных), а главное, чем это можно регулировать.
Нашел пару программ по работе с LPT портом - http://valery-us4leh.narod.ru/dlpt.html . В принципе они выполняют эту задачу, но опрос LPT происходит лишь с частотой 1 кГц (т.е. может регистрировать передаваемые данные со скоростью 1000 бит/с ).


Хотелось бы услышать ваше мнение по изложенному.
Также если кто-то знает программу, способную считывать из указанных портов с определенной частотой данные и записывать их значения в файл, просьба дать на нее ссылку. На лучшее, что сам нашел, дал выше ссылку.

Заранее благодарю.

P.S. а можно ли вообще стандартными средствами винды установить ком порт в режим приема (подавать ему на линию RX этот самый сигнал необходимого уровня) и считывать с СОМ-порта данные, записывая их в файл (например с помощью нупертерминаа или еще чего). Пробовал в Матлаб реализивать работу с компортом, но что-то не получилось в реальном масштабе времени это делать.

Игорь Лейко 14-02-2007 00:45 549662

Alexander_Grig
Про параллельный порт - http://www.aten.ru/articles/artview.php?idx=8 http://www.fapo.com/files/ecp_reg.pdf ну и по аналогии найдете более подробную информацию, если понадобится.

Alexander_Grig 15-02-2007 03:32 550104

Игорь Лейко
Цитата:

Про параллельный порт - http://www.aten.ru/articles/artview.php?idx=8
Ну такого я уже понаходил много :), полезного в этом, к сожалению, нет :(
А вот за это
Цитата:

http://www.fapo.com/files/ecp_reg.pdf
Спасибо :)
Только ж там все на английском :grin:

А вообще, как мне сказали те, кто уже пробовал сделать что-то подобное, под ХР к сожалению ничего путного не выйдет. А жаль.

rizz 15-02-2007 09:15 550182

Цитата:

Необходимо регистрировать длительности состояний 0 и 1
не ПДУ случайно с пульс-дистансным кодированием?

XPEHOMETP 15-02-2007 20:53 550559

А если взять звуковуху и регистрировать сигнал на входе (типа как вольтметром)? А потом программно определить длительность нулей - единиц.

Проблема, собственно, в том, что вход звуковухи не рассчитан на постоянный сигнал - там стоят кондеры, ограничивающие диапазон частот. Но если их закоротить, то должен проходить и постоянный сигнал. Такой вариант предложен здесь:

http://avr.nikolaew.org/oscillograf.htm

Правда, сам автор говорит, что звуковуха с закороченными кондерами будет, скорее всего, работать во внештатном режиме, с непонятно где висящим нулем (да он у нее и так обычно не знамо где), и особо верить показаниям такого прибора не следует. Но, во всяком случае, отличить нулевой уровень от единичного наверняка получится.

Alexander_Grig 15-02-2007 22:59 550592

rizz
Не, не ПДУ...система передачи с таймерными сигналами :)
Думал обойтись штатными средствами ПК...пока что-то не получается, видимо придется схемку паять.
XPEHOMETP
На счет звуковухи тоже уже думал, но как-то стремно...и так на одном ПК когда-то спалили :)

Alexander_Grig 16-02-2007 00:37 550627

Хотя вообще идея использования звуковой карты довольно интересная. Тем более что сигнал необходимо передавать по каналу тональной частоты (300-3400Гц), для чего в действующей схеме (реализованной на древнем "железе") используются для этого модулятор и демодулятор ЧМ-2.
Ведь можно попробовать использовать саму звуковую карту в качестве частотного модулятора? Нужно только нормально согласовать с линией, сделать соответствующую развязку.
Кстати, какое максимально допустимое напряжение на входах/выходе звуковой карты?

yurfed 16-02-2007 05:28 550658

Alexander_Grig Не совсем понял для чего это нужно и подойдёт ли. Случайно наткнулся и вспомнил про эту тему. Посмотри OsciV101- Осциллограф. Маленькая 560.50 KB прожка, работает с установленной звуковой картой в качестве осцилографа.

rizz 16-02-2007 06:38 550666

Alexander_Grig 5В подключал напрямую от КМОП схем на Live 5.1 ничё не скавырнулась, но лучше всё-таки через резистор 1кОм, но с постоянным сигналом проблемы там конденсаторов видимо не меряно стоит, с частотами тоже проблема частоту 32768Гц почти невозможно на глаз различить хотя писал на 192кГц в WaveLab

XPEHOMETP 16-02-2007 14:30 550859

Пороговое значение подаваемого напряжения на вход звуковухи зависит от конкретной схемы. Вообще где-то я видел упоминание, что обычное значение чуть выше вольта, но попалась когда-то мне в интернете страничка с результатами использования звуковухи как АЦП, и у них зависимость от амплитуды приложенного напряжения уже при чуть больше 0.5 В выходила на плато - в микрухе какая-то защита была предусмотрена. Ну, в общем, та или иная защита всегда есть, но желательно за вольт не заходить.

ЗЫ: Имелся в виду линейный вход, на вход микрофона вообще должна подаваться какая-то мелочь.

Alexander_Grig 16-02-2007 20:37 551041

Спасибо, поэкспериментирую (как всегда аккуратно), если чего путного получится, то сообщу :)


Время: 12:46.

Время: 12:46.
© OSzone.net 2001-