Цифроаналоговые и аналогоцифровые преобразователи |
|
Для вывода аналоговой информации можно воспользоваться портом принтера ПК. Простейший цифроаналоговый преобразователь с разрядностью 8 бит можно собрать на резистивной матрице и подключить непосредственно к параллельному порту ПК по схеме: Недостатками такого ЦАП являются недостаточная точность, определяемая стабильностью уровней на выходном разъеме ПК и ограниченное выходное напряжение. Тем не менее эта схема успешно использовалась для вывода звука в компьютерах, не оснащенных звуковой картой и называлась КОВОКС. Для вывода звука через такую схему ее необходимо снабдить разделительным конденсатором и фильтром, отсекающим высшие частоты. Программа, выводящая звук через такой преобразователь имеется здесь (83 KByte). Преодолеть недостатки простейших резистивных преобразователей можно использовав интегральную микросхему ЦАП. В этом случае разрядность можно повысить до 10 и стабилизировать выходное напряжение, применив термокомпенсированный источник опорного напряжения. Схема подключения цифро-аналогового преобразователя показана на рисунке: Ей можно воспользоваться при небольшом удалении схемы от порта компьютера, например смонтировать ее непосредственно в разъеме. Иначе между портом и входами ЦАП необходимо установить буферные элементы. Для записи данных в порт можно воспользоваться следующим фрагментом программы на языке Паскаль (компилятор от Борланда) procedure WriteToPort(data:word); const OldDataHi : byte =0; {Предыдущий старший байт} OldDataLo : byte =0; {Предыдущий младший байт} var DataHi,DataLo : byte; begin DataHi:=(Data shr 2) and $FF; DataLo:=Data and $3; if DataHi<>OldDataHi then begin asm mov al,DataHi mov dx,$378 out dx,al end; OldDataHi:=DataHi; end; if DataLo<>OldDataLo then begin asm mov al,DataLo xor al,3 mov dx,$37a out dx,al end; OldDataLo:=DataLo; end; end; Аналоговоцифровые преобразователиПри небольшой необходимой точности преобразования и, соответственно, небольшом количестве двоичных разрядов, АЦП можно собрать по принципу параллельного преобразования аналоговой величины в код. Структурная схема такого преобразователя приведена на рисунке: Компараторы А1..А4 должны быть рассчитаны так, чтобы менять свое состояние при половине входного сигнала. Для четырехразрядного преобразователя в качестве компараторов можно применить логические элементы серий КМОП, например микросхему К561ЛА7. При этом R=27 кОм, а максимальное входное напряжение АЦП равно напряжению питания микросхемы и может составлять от 3 до 15 В. При большом числе разрядов число компараторов и резисторов, а так же требования к точности их изготовления увеличиваются. Поэтому для АЦП большей точности применяют схемы последовательного преобразования. Такая схема состоит из ЦАП, выходное напряжение которого сравнивается с входным сигналом. Чтобы превратить выше описанный цифроаналоговый преобразователь в аналого-цифровой достаточно снабдить его компаратором по схеме, показанной на рисунке: Таких компараторов можно поставить до 5 штук на все входные цепи порта принтера, получив таким образом пятиканальный АЦП. Собственно преобразование осуществляется программно методом последовательных приближений. Эталонный сигнал последовательно изменяется по принципу половинного деления (дихотомии), который используется во многих методах сходящегося поиска прикладной математики. Это позволяет завершить преобразование за количество тактов, равное разрядности слова, независимо от величины входного сигнала. Если необходимо вводить в компьютер информацию о положении какого-либо устройства в пространстве, то для этого можно воспользоваться имеющимся на многих мультикартах разъемом порта игрового манипулятора. Описание данного порта приведено здесь. |