способ ввода аналогового сигнала в персональный компьютер
Классы МПК: | G06G3/00 Устройства, в которых вычислительные операции выполняются с помощью механических средств |
Автор(ы): | Вишератин Константин Николаевич (RU), Невмержицкий Василий Иванович (RU) |
Патентообладатель(и): | Общество с ограниченной ответственностью "Изотопмедсервис" (ООО "Изотопмедсервис") (RU), Государственное унитарное предприятие г. Москвы "Международный научный и клинический центр "Интермедбиофизхим" (ГУП "МНКЦ "Интермедбиофизхим") (RU) |
Приоритеты: |
подача заявки:
2009-04-21 публикация патента:
27.06.2011 |
Изобретение относится к области вычислительной техники и может использоваться для ввода в компьютер низкочастотных аналоговых сигналов (напряжений). Техническим результатом является повышение максимальной частоты, при которой будет сохранена временная зависимость амплитуды сигнала, а также упрощение реализации. Аналоговый сигнал подают на один из входов компаратора, на второй вход компаратора подают опорный пилообразный сигнал, в каждом цикле ввода командами с компьютера опрашивают состояние компаратора, и амплитуде сигнала ставят в соответствие число опросов компаратора от начала цикла до момента срабатывания компаратора, и это число заносят в память компьютера с учетом известной зависимости между амплитудой и числом опросов. 3 з.п. ф-лы, 2 ил.
Формула изобретения
1. Способ ввода аналогового сигнала в персональный компьютер, состоящий в том, что этот сигнал подают на один из входов компаратора, на второй вход компаратора подают опорный пилообразный (линейно-меняющийся) сигнал, в каждом цикле ввода командами с компьютера опрашивают состояние компаратора, амплитуде сигнала ставят в соответствие число опросов компаратора от начала цикла до момента срабатывания компаратора, и это число заносят в память компьютера с учетом известной зависимости между амплитудой и числом опросов, причем начало каждого последующего цикла формируют командами с компьютера непосредственно после срабатывания компаратора, отличающийся тем, что находят отношение полного времени ввода сигнала к полному числу опросов компаратора за это же время, суммируют число опросов компаратора от момента начала ввода сигнала до текущего цикла ввода, умножают это суммарное число на указанное отношение, и полученное значение заносят в память компьютера как значение текущего времени для амплитуды сигнала в соответствующем цикле ввода.
2. Способ по п.1, отличающийся тем, что на компаратор предварительно подают постоянный сигнал известной амплитуды, и по числу опросов компаратора определяют зависимость между амплитудой и числом опросов.
3. Способ по п.1 или 2, отличающийся тем, что опрос состояния компаратора производят по одной из линий стандартного порта компьютера, например по линии готовности внешнего устройства, а команды начала каждого последующего цикла передают по одной из линий того же порта например, по линии готовности к передаче информации.
4. Способ по п.3, отличающийся тем, что при вводе сигнала через СОМ-порт компаратор опрашивают по линии (DSR), а команды начала каждого цикла опроса передают по линии (TxD); при вводе сигнала через LPT-порт компаратор опрашивают по линии АСК или BUSY, а команды начала каждого цикла опроса передают по одной из линий DO-D7; при вводе сигнала через USB-порт компаратор опрашивают по линии D-, а команды начала каждого цикла опроса передают по линии D+.
Описание изобретения к патенту
Изобретение относится к вычислительной технике и может использоваться для ввода в компьютер сравнительно низкочастотных аналоговых сигналов (напряжений).
Известен способ ввода аналогового сигнала в персональный компьютер, состоящий в том, что аналоговый сигнал преобразуют в код с помощью соответствующего аналого-цифрового преобразователя (АЦП) и затем этот код вводят в компьютер [Сопряжение датчиков и устройств ввода данных с компьютерами IBM РС/ред. Томпкинс У., Уэбстер Дж. М.: Мир. - 1992]. В этом случае могут использоваться АЦП различных типов, с различным быстродействием и т.д., в частности АЦП, построенные в соответствии с [Патент РФ 2171543, м.кл. Н03М 1/38, 2001 г., Патент 2205500, м.кл. Н03М 1/26, 2003 г.].
Однако при указанном вводе требуются соответствующие блоки и узлы для хранения кодов и их последующего ввода в компьютер, что существенно усложняет реализацию способа.
Наиболее близким техническим решением является способ ввода аналогового сигнала в персональный компьютер, состоящий в том, что этот сигнал подают на один из входов компаратора, на второй вход компаратора подают опорный сигнал, в каждом цикле ввода командами с компьютера опрашивают состояние компаратора, амплитуде сигнала ставят в соответствие число опросов компаратора от начала цикла до момента срабатывания компаратора, и это число заносят в память компьютера с учетом известной зависимости между амплитудой и числом опросов, причем начало каждого последующего цикла формируют командами с компьютера непосредственно после срабатывания компаратора [Аверченко О.Е. Устройство ввода аналоговой информации в микроЭВМ/ приборы и техника эксперимента, 1983 г. № 6 - с.72-73].
Этот способ предназначен для ввода сравнительно низкочастотных сигналов. Однако во многих случаях при вводе сигнала требуется достаточно точное сохранение временной зависимости амплитуды сигнала. Это особенно важно при последующем разложении сигнала в ряд Фурье и других аналогичных методах обработки этого сигнала. В современных компьютерах «свободно» доступные для пользователя метки времени имеют дискретность в единицы и даже десятки миллисекунд. Вследствие этого при использовании меток времени в способе [Аверченко О.Е. Устройство ввода аналоговой информации в микроЭВМ/ приборы и техника эксперимента, 1983 г. № 6 - с.72-73]. имеются серьезные ограничения на максимальную частоту, при которой будет сохранена временная зависимость амплитуды сигнала (примерно 10 Гц).
Кроме того, в способе [Аверченко О.Е. Устройство ввода аналоговой информации в микро-ЭВМ/ приборы и техника эксперимента, 1983 г. № 6 - с.72-73] взаимодействие «внешнего» устройства и компьютера осуществляется по линиям, связанным непосредственно с материнской платой, что усложняет реализацию. В этом случае необходим переходной узел, соответствующий архитектуре данного компьютера, и в общем случае для компьютеров различных типов могут понадобиться различные переходные узлы. Кроме того, не всегда желательно подсоединение переходных узлов непосредственно к материнской плате.
То есть способ [Аверченко О.Е. Устройство ввода аналоговой информации в микроЭВМ/ приборы и техника эксперимента, 1983 г. № 6 - с.72-73] имеет ограничения по максимальной частоте вводимого сигнала и является сравнительно сложным в реализации.
Технический результат, который может быть получен при реализации изобретения, состоит в повышении максимальной частоты, при которой будет сохранена временная зависимость амплитуды сигнала, а также в упрощении реализации.
Указанный результат (цель изобретения) достигается тем, что аналоговый сигнал подают на один из входов компаратора, на второй вход компаратора подают опорный пилообразный (линейно-меняющийся) сигнал, в каждом цикле ввода командами с компьютера опрашивают состояние компаратора, амплитуде сигнала ставят в соответствие число опросов компаратора от начала цикла до момента срабатывания компаратора, и это число заносят в память компьютера с учетом известной зависимости между амплитудой и числом опросов, причем начало каждого последующего цикла формируют командами с компьютера непосредственно после срабатывания компаратора. При этом находят отношение полного времени ввода сигнала к полному числу опросов компаратора за это же время, суммируют число опросов компаратора от момента начала ввода сигнала до текущего цикла ввода, умножают это суммарное число на указанное отношение, и полученное значение заносят в память компьютера как значение текущего времени для амплитуды сигнала в соответствующем цикле ввода.
В результате повышается максимальная частота сигнала, при которой будет сохранена временная зависимость амплитуды сигнала, и тем самым расширяются области применения способа.
В частности, на компаратор предварительно подают постоянный сигнал известной амплитуды, и по числу опросов компаратора определяют зависимость между амплитудой и числом опросов. Тем самым решается вопрос с калибровкой системы ввода сигнала по амплитуде.
В частности, опрос состояния компаратора производят по одной из линий стандартного порта компьютера, например по линии готовности внешнего устройства, а команды начала каждого последующего цикла передают по одной из линий того же порта, например по линии готовности к передаче информации. При этом упрощается реализация способа, поскольку стандартные порты (СОМ, LPT, USB) одинаковы для подавляющего большинства современных компьютеров.
В частности, при вводе сигнала через СОМ-порт компаратор опрашивают по линии (DSR), а команды начала каждого цикла опроса передают по линии (TxD); при вводе сигнала через LPT-порт компаратор опрашивают по линии АСК или BUSY, а команды начала каждого цикла опроса передают по одной из линий D0-D7; при вводе сигнала через USB-порт компаратор опрашивают по линии D-, а команды начала каждого цикла опроса передают по линии D+.
На фиг.1 представлена схема устройства для реализации способа; на фиг.2 - эпюры напряжений, соответствующие сигналам (напряжениям) на некоторых блоках устройства.
Устройство (фиг.1) содержит разъем 1 для подключения источника аналогового сигнала, подсоединенный к одному из входов компаратора 2, и генератор опорного пилообразного напряжения 3, подсоединенный ко второму входу компаратора 2. Выход компаратора 2 подсоединен к разъему 4', соответствующему стандартному порту 4 компьютера, по линии готовности внешнего устройства (для порта LPT, например, по линии АСК). Системный блок 5 компьютера содержит регистр 6, в который заносятся данные о числе Н импульсов опроса компаратора в каждом i-цикле ввода сигнала, регистр 7, в который заносятся данные об амплитуде Ui сигнала в каждом i-цикле ввода, и регистр 8, в который заносятся данные о текущем времени Тi для амплитуды сигнала в соответствующем i-цикле ввода.
Эпюры напряжений (фиг.2) представляют собой: Us - исходный аналоговый сигнал; U0 - «номинальный» опорный сигнал (без учета срабатываний компаратора), где Т0 - «номинальный» период повторения, U0m - «номинальная» амплитуда опорного сигнала; U0* - опорный сигнал с учетом срабатывания компаратора, где t1=t2*-t1*, t2=t3*-t2* - длительность первого и второго циклов опроса; N - число опросов компаратора в каждом цикле ввода сигнала, где n1 и N2 - число опросов компаратора в первом и втором циклах ввода.
Работает устройство по предлагаемому способу следующим образом.
Искомый аналоговый сигнал через разъем 1 подают на один из входов компаратора 2. На второй вход этого компаратора подают опорный пилообразный сигнал с генератора 3, причем этот сигнал имеет «номинальный» период повторения Т 0 и «номинальную» амплитуду U0m. В каждом цикле ввода командами с компьютера, формируемыми соответствующей программой, опрашивают состояние компаратора. Этот опрос производится через разъем 4' по одной из линий стандартного порта 4 системного блока 5 компьютера, например по линии готовности внешнего устройства. Для LPT-порта такими линиями могут быть линии АСК или BUSY. Компаратор 2 «срабатывает» (меняет свое состояние) в моменты времени ti*, соответствующие равенству опорного напряжения U0(t) напряжению входного сигнала Us(t), т.е U0(ti*)=Us(ti *). Требуемая программа обеспечивает счет числа опросов от начала каждого цикла до момента ti* (i=1, 2, ), и это число заносит в регистр 6. Далее начало следующего цикла формируется в момент t1* путем подачи соответствующей команды на генератор 3 (фиг.1, 2) по одной из линий того же самого стандартного порта. Для LPT-порта такой линией может быть одна из линий D0-D7. С учетом известной зависимости между амплитудой сигнала и числом опросов компаратора находят соответствие между числом опросов Н в каждом i-цикле и соответствующей амплитудой Ui сигнала, и значения амплитуд Ui заносят в регистр 7.
Полное время Тр ввода сигнала находят известным образом, например, с использованием доступных меток времени, формируемых компьютером. Далее находят полное число Np опросов компаратора (за это же время Тр), и вычисляют отношение kТ:kТ =Tp/Np. Затем находят суммарное число N s=n1+N2+ +Ni опросов компаратора от момента начала ввода сигнала (t=0) до момента ti*, и это число Ns умножают на указанное отношение kT. В результате получают значения текущего времени Тi=Tp (Ns/Np), и эти значения Тi (соответствующие значениям амплитуды сигнала Ui) вводят в регистр 8.
То есть вычисление амплитуды сигнала в каждом цикле (занесение соответствующих данных в регистр 7) возможно непосредственно в процессе ввода сигнала. Вычисление же текущего времени (занесение данных в регистр 8) в рассматриваемом способе возможно лишь по завершению ввода этого сигнала.
Для занесения в регистр 7 данных об амплитудах сигнала Ui в каждом i-цикле ввода необходимо знать зависимость между амплитудой и числом опросов, т.е. зависимость Ui (Ni ), причем эта зависимость должна быть однозначной. Эта зависимость наиболее просто может быть определена путем предварительной (до ввода обрабатываемого аналогового сигнала) «калибровки» устройства. То есть на компаратор 2 через разъем 1 подают постоянный сигнал известной амплитуды Uk и определяют число опросов Nk, соответствующее этой амплитуде. В простейшем случае достаточно высокой линейности опорного напряжения коэффициент kU=Lk/Nk не зависит от амплитуды сигнала. Тогда искомая зависимость Ui (Ni ) между числом опросов и амплитудой имеет вид: Ui=k UNi=Uk(Ni/Nk ).
В общем случае, если опорный сигнал имеет заметную нелинейность, необходима калибровка при нескольких различных значениях амплитуды U постоянного сигнала, в частности при «малых» амплитудах U<<U0m и при «больших» амплитудах U U0m (см. фиг.2). Из этих данных нетрудно получить искомую зависимость Ui (Ni), которая, вообще говоря, будет нелинейной. Далее эта зависимость используется при вычислении амплитуд Ui по известным числам опроса компаратора Ni.
Следует отметить, что частота опроса компаратора определяется типом компьютера, используемым программным обеспечением и т.д. Поэтому для каждой конкретной конфигурации компьютера необходима предварительная калибровка по амплитуде.
Как отмечалось выше, для многих задач требуется ввод аналогового сигнала в компьютер с достаточно точным сохранением временной зависимости амплитуды сигнала. Для «идеального» генератора опорного сигнала, у которого моменты окончания каждого цикла опроса строго совпадают с моментами начала следующего цикла опроса (фиг.2), можно поступить следующим образом. При отсутствии сигнала на разъеме 1 находят число N 0 опросов компаратора. Ясно, что это число по длительности соответствует «номинальному» периоду Т0, поскольку компаратор своего состояния не меняет. Тогда реальное время, соответствующее одному опросу, имеет вид: =T0/N0. Соответственно Тi = Ns=T0(Ns/N0 ).
Однако в реальных условиях всегда имеется некоторое «мертвое время» 0 между моментом окончания некоторого цикла ввода сигнала и моментом начала следующего цикла, поскольку компаратор имеет конечное время срабатывания, генератор опорного сигнала «обнуляется» (подготавливается к началу следующего цикла) также за конечное время, и т.д. Это «мертвое время» (на фиг.2 для простоты не показанное), вообще говоря, зависит от вида и амплитуды вводимого аналогового сигнала. По порядку величины 0 может составлять единицы микросекунд.
Ясно, что в общем случае для вычисления текущего времени Т i некоторого i-цикла следует учесть и сумму «мертвых времен» в предшествующих циклах:
Здесь 0n - «мертвое время» между n и n+1 циклами. Чем меньше амплитуда вводимого сигнала, тем больше циклов ввода при заданном полном времени ввода Тр, т.е. тем больше i для реального текущего времени, и тем больше вклад второго слагаемого в вышеприведенном соотношении. С другой стороны, с увеличением амплитуды сигнала для реального текущего времени уменьшается i, но при этом, вообще говоря, возрастают значения 0n.
В общем случае строгий учет вклада «мертвого времени» является достаточно трудоемким и сложным.
Однако с приемлемой для практики точностью этот учет может быть осуществлен, как указывалось выше, следующим образом. Находят отношение kT полного времени Т р ввода сигнала к полному числу Np опросов компаратора (за это же время Тр), kT=Tp/N p. Затем находят суммарное число Ns=N1 +N2+ +Ni опросов компаратора от момента начала ввода сигнала (t=0) до момента ti*, и это число Ns умножают на указанное отношение kT. В результате получают значения текущего времени Тi=Tp (Ns/Np), и эти значения Тi (соответствующие значениям амплитуды сигнала Ui) вводят в регистр 8.
В данном случае фактически имеет место усреднение 0n по полному времени ввода Тр, причем остаются определенные погрешности определения Тi. Однако проведенные эксперименты показали, что для большинства реальных сигналов этими погрешностями можно пренебречь.
Приведем некоторые количественные оценки.
Положим, что тактовая частота f0 опроса стандартного порта f0=10 МГц (что соответствует возможностям современных компьютеров). Тогда длительность одного цикла опроса порта 0,1 мкс. Пусть максимальная амплитуда сигнала Us примерно равна «номинальной» амплитуде U0m опорного сигнала, Us U0m=10 В, а максимальное число N0 опросов компаратора за время Т0 составляет N 0 104. Тогда Т0= N0 0,001 с. То есть частота опорного сигнала составляет 1 кГц. Тогда максимальная частота вводимого аналогового сигнала не должна превышать примерно 100 Гц для сигнала «большой» амплитуды и может быть выше для сигнала «малой» амплитуды (что с уменьшением амплитуды сигнала реальная частота опорного генератора возрастает). Итак, предлагаемый способ позволяет достаточно простым образом на порядок повысить максимальную частоту сигнала, при которой будет сохранена временная зависимость амплитуды сигнала. При этом расширяются области применения способа. Кроме того, взаимодействие внешних устройств (компаратора и генератора опорного напряжения) с компьютером по линиям стандартного порта позволяет упростить реализация способа, поскольку стандартные порты (СОМ, LPT, USB) одинаковы для подавляющего большинства современных компьютеров.
Класс G06G3/00 Устройства, в которых вычислительные операции выполняются с помощью механических средств