Шрифт:
Подключение нескольких АЦП к параллельным и последовательным портам позволяет оснастить ПК несколькими аналоговыми входами, не используя при этом дорогие АЦП с мультиплексными входами. Возможны любые сочетания, как в плане аппаратных, так и программных средств.
Самый распространенный случай — это создание двухлучевого виртуального осциллографа, но можно принять в расчет и задачи, требующие режима работы «Х-Y», а также просто запись в файл более или менее взаимосвязанных последовательностей данных.
Допускается огромное множество различных комбинаций — все их даже не перечислить. Скажем, приобретя один готовый АЦП, второй можно собрать самостоятельно, чтобы не платить дважды за одно и то же программное обеспечение. В некоторых случаях может понадобиться использование двух абсолютно идентичных АЦП.
5 REM — BICOURBE —
10 REM — MAXIM12 —
20 KEY OFF: CLS
30 B=&H3F8: REM COM1:
40 N=12: REM число разрядов
50 OUT B+4,1
60 FOR T=0 TO 100:NEXT T
70 OUT B+3,64
80 FOR T=0 TO 500: NEXT T
84 GOSUB 1000
85 GOSUB 300
90 GOTO 200
100 OUT B+4,0: D=0: REM ACQUISITION
105 OUT B+4,2: OUT B+4,0
110 FOR F=0 TO N-1
120 OUT B+4,2
130 E=INP(B+6) AND 16
140 OUT B+4,0
150 IF E=16 THEN D=D+2^(N-1-F)
160 NEXT F
170 D=5*D/(2^N-1)
180 OUT B+4,1: RETURN
200 REM — VDIRECT —
210 GOSUB 100: GOSUB 1090
220 FOR G=1 TO 639
230 GOSUB 100
240 Y=D: GOSUB 500
241 GOSUB 1090
242 Y=Q: GOSUB 600
250 FOR T=0 TO 2000: NEXT T: REM развертка
260 NEXT G
270 END
300 REM — VGA —
310 SCREEN 9
320 KEY OFF: CLS
330 LINE(0,0)-(0,349),2
340 TOR Y=0 TO 349 STEP 35
350 LINE(0,Y)-(639,Y),2,&HCCCC
360 NEXT Y
370 FOR X=0 TO 639 STEP 32
380 LINE(X,0)-(X,349),2,&HCCCC
390 NEXT X
400 LINE(639,0)-(639,349),2
410 LINE(0,349)-(639,349),2,&HCCCC
415 X=0: RETURN
500 Y=349-INT(Y*349/5)
502 PSET(X,V)
505 V=Y
510 LINE-(X,V),12
520 X=X+1
530 RETURN
600 Y=349-INT(Y*349/5)
602 PSET(X,W)
605 W=Y
610 LINE-(X,W),14
630 RETURN
1000 REM 12BITS
1010 KEY OFF: CLS
1020 C=&H2F8: REM COM2:
1030 M=12: REM число разрядов
1040 OUT C+4,1
1050 FOR T=0 TO 100:NEXT T
1060 OUT C+3,64
1070 FOR T=0 TO 500:NEXT T
1080 RETURN
1090 OUT C+4,0: Q=0: REM ACQUISITION
1100 OUT C+4,2: OUT C+4,0
1110 OUT C+4,2: OUT C+4,0
1120 OUT C+4,2: OUT C+4,0
1130 FOR F=0 TO M-1
1140 OUT C+4,2
1150 E=INP(C+6) AND 16
1160 OUT C+4,0
1170 IF E=16 THEN Q=Q+2^(M-1-F)
1180 NEXT F
1190 Q=5*Q/(2^M-1)
1200 OUT C+4,1: RETURN
1210 REM (c) 1997 Patrick GUEULLE
Программа BICOURBE.BAS не должна рассматриваться только как иллюстрация того, что можно получить при комбинировании программных модулей, приведенных в данной книге. Это образец подхода, называемого англоговорящими программистами quick and dirty («быстро и грязно»), т. е. здесь отсутствует всякое стремление к структурированию и четкости. Программа работает, и это главное!
В частности, неоднократно применялась функция RENUM языка BASIC для переопределения в разных местах той или другой подпрограммы.
В том виде, в каком она приведена, программа управляет сразу двумя 12-разрядными АЦП — одним на базе МАХ 1241 и другим на базе LTC 1286. Для каждого из них определен один из каналов двухлучевого осциллографа (рис 5.14), в котором разные цвета лучей позволяют без проблем отличать один АЦП от другого.
Действительно, язык BASIC легко позволяет задавать атрибуты, определяющие цвет того или иного графического элемента, лишь бы его поддерживал графический экран. Ниже приведены коды цветов.
0 черный
1 синий
2 зеленый
3 голубой
4 красный
5 пурпурный
6 коричневый
7 белый (цвет по умолчанию)
8 серый
9 светло-синий
10 светло-зеленый
11 светло-голубой
12 светло-красный
13 светло-пурпурный
14 желтый
15 ярко-белый
Рис. 5.14. Пример работы виртуального двухлучевого осциллографа
6. ДАТЧИКИ И ПРИНАДЛЕЖНОСТИ
Аналого-цифровые преобразователи, которые рассматриваются на страницах этой книги, способны обработать любое напряжение в диапазоне от 0 до +5 В, но они рассчитаны и на более широкое использование, так как могут работать с датчиками или устройствами нормирования сигналов, зачастую самыми простыми. При этом с их помощью можно измерять большинство основных физических величин, даже такие напряжения и токи, которые никак не соответствуют рабочему диапазону АЦП.
ВХОДНОЙ УСИЛИТЕЛЬ
При помощи небольшого устройства, которое будет описано ниже, могут быть легко сняты два основных ограничения, присущих простейшим АЦП: входной диапазон от 0 до +5 В и неспособность работать с переменными напряжениями без постоянной составляющей.
Например, устройство смещения нуля и усилитель с переключаемыми коэффициентами усиления 1, 10 и даже 100 сильно расширят область применения АЦП ADC 10 и того мощного программного обеспечения, которое к нему прилагается. Этот АЦП можно будет использовать даже для оцифровки звука!
Следует учесть, что подача переменного напряжения с нулевым средним значением (иными словами, без постоянной составляющей) на вход аналого- цифрового преобразователя с входным диапазоном 0–5 В приводит к эффекту однополупериодного выпрямления. Результаты измерений, выполненных без учета этого обстоятельства, конечно, окажутся неверными. Данная ситуация аналогична той, когда луч обычного осциллографа расположен у нижнего края экрана, а не в середине, или когда перо регистратора установлено на один из краев бумаги.