Смекни!
smekni.com

«Практическая схемотехника» (стр. 2 из 2)

При f=5МГц длительность импульсов соответственно должны быть равны: для DD17.2 0,05мкс; для DD17.1 0,1мкс. Номиналы и погрешности RC-цепей:

Из расчета видно, что при максимально допустимой погрешности временных задержек 50% максимально допустимая погрешность всех элементов RC-цепей составляет 64%, можно применить детали с отклонением 20%.

6. Опторазвязка

В качестве опторазвязки информационного сигнала использована быстродействующая цифровая оптопара 6N137N, допускающая скорость 10Мбод. Для сигнала выбора канала - не очень быстрая, но зато дешевая оптопара TLР621.

7. Аналоговая часть

В качестве предварительного усилителя использован сдвоенный ОУ DA1 К140УД20 в неинвертирующем включении. Защитные диоды VD1-VD2, VD3-VD5 защищают входы ОУ от воздействия чрезмерно высоких напряжений. С него сигналы 2х каналов подаются на коммутатор DD2 К561КТ3, управляемый сигналом "номер канала" через оптопару DA2. Сигнал "номер канала" формируется из разряда адреса А0, т.о. программное обеспечение выбирает канал, производя чтение по одному из соседних адресов (31E и 31F). Причем считываемая выборка - с того канала, который был выбран предыдущей операцией чтения.


Схема электрическая принципиальная модуля АЦП


3 Разработка конструкции печатной платы

Трассировочный чертеж верхней стороны


Трассировочный чертеж нижней стороны

4 Разработка программного обеспечения

Чтобы с модулем АЦП можно было работать в DOS как с логическим устройством, требуется драйвер. Устанавливаемые драйверы устройств могут быть написаны только на языке ассемблера. Они могут обслуживать два типа устройств: символьные и блочные - в зависимости от того, как устройство обрабатывает данные. Блочные устройства обмениваются блоками данных, поэтому они занимаются накоплением данных. Символьные устройства обмениваются данными побайтно, поэтому они лучше подходят для управляющих

устройств, таких как данный модуль АЦП. Программа драйвера устройства содержит три части:

1) заголовок драйвера, который именует устройство и содержит информацию об остальных частях драйвера,

2) стратегия драйвера, которая хранит информацию об области данных, создаваемой MS DOS, которая называется заголовком запроса,

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

;режимы:

;1) чтение 1 байта - чтение выборки с ожиданием флага готовности;

;2) чтение 2х байтов - чтение выборки и флага готовности без его ожидания;

;3) чтение более 2х байтов - чтение нескольких выборок с ожиданием флага готовности

; между чтениями;

;4) запись 1 байта (0/1) - выбор канала.

.286

;заголовок драйвера

CSEG SEGMENT PUBLIC 'CODE' ;устанавливаем кодовый сегмент

ORG 0 ;эта строка необязательна

ASSUME CS:CSEG,DS:CSEG,ES:CSEG

ADC_DRV PROC FAR ;драйвер это далекая процедура

DD 0FFFFFFFFH ;адрес следующего драйвера

DW 8000H ;байт атрибутов

DW DEV_STRATEGY ;адрес процедуры стратегии

DW DEV_INTERRUPT ;адрес процедуры прерывания

DB 'ADC ' ;имя устройства (дополненное пробелами)

CHANNEL DW 0 ;номер канала

;стратегия драйвера

DEV_STRATEGY:

MOV CS:KEEP_ES,ES

MOV CS:KEEP_BX,BX

RET

KEEP_ES DW ?

KEEP_BX DW ?

;обработчик прерывания устройства

DEV_INTERRUPT:

PUSH ES ;сохраняем регистры

PUSH DS

PUSHA

MOV AX,CS:KEEP_ES ;ES:BX указывают на заголовок запроса

MOV ES,AX ;

MOV BX,CS:KEEP_BX ;

MOV AL,ES:[BX]+2 ;получаем код команды из заголовка

SHL AL,1 ;умножаем на 2 (т.к. таблица словная)

SUB AH,AH ;обнуляем AH

LEA DI,FUNCTIONS ;DI указывает на смещение до таблицы

ADD DI,AX ;добавляем смещение в таблице

JMP WORD PTR [DI] ;переходим на адрес из таблицы

FUNCTIONS LABEL WORD ;это таблица функций

DW INITIALIZE

DW CHECK_MEDIA

DW MAKE_BPB

DW IOCTL_IN

DW INPUT_DATA

DW NONDESTRUCT_IN

DW INPUT_STATUS

DW CLEAR_INPUT

DW OUTPUT_DATA

DW OUTPUT_VERIFY

DW OUTPUT_STATUS

DW CLEAR_OUTPUT

DW IOCTL_OUT

;---выход из драйвера, если функция не поддерживается

CHECK_MEDIA:

MAKE_BPB:

IOCTL_IN:

NONDESTRUCT_IN:

INPUT_STATUS:

CLEAR_INPUT:

OUTPUT_VERIFY:

OUTPUT_STATUS:

CLEAR_OUTPUT:

IOCTL_OUT:

OR ES:WORD PTR [BX]+3,8103H ;модифицируем статус

JMP QUIT

;---процедуры для поддерживаемых кодов

INITIALIZE:

LEA AX,E_O_P ;смещение конца программы в AX

MOV ES:WORD PTR [BX]+14,AX ;помещаем его в заголовок

MOV ES:WORD PTR [BX]+16,CS

JMP QUIT

INPUT_DATA:

MOV CX,ES:[BX]+18 ;получаем число символов

LES DI,ES:[BX]+14 ;получаем адрес буфера данных

PUSH ES

MOV DX,CS:CHANNEL ;выбор канала

CMP CX,1 ;читать 1 байт?

JA INPUT_WORD ;нет - дальше..

INPUT_BYTE:

IN AX,DX

TEST AH,7FH

JZ INPUT_BYTE

MOV ES:[DI],AL

JMP QUIT_INPUT

INPUT_WORD:

CMP CX,2

JA INPUT_BLOCK

IN AX,DX

MOV ES:[DI],AX

JMP QUIT_INPUT

INPUT_BLOCK:

IN AX,DX

TEST AH,7FH

JZ INPUT_BLOCK

MOV ES:[DI],AL

INC DI

LOOP INPUT_BLOCK

QUIT_INPUT:

POP ES

JMP QUIT

OUTPUT_DATA:

PUSH ES

LES DI,ES:[BX]+14 ;получаем адрес буфера данных

MOV AX,ES:[DI]

MOV CS:CHANNEL,AX

POP ES

;---выходим, модифицируя байт статуса в заголовке запроса

QUIT: OR ES:WORD PTR [BX]+3,100H ;устанавливаем бит 8

POPA ;восстанавливаем регистры

POP DS

POP ES

RET

E_O_P: ;метка конца программы

ADC_DRV ENDP

CSEG ENDS

END ADC_DRV

Вывод

Был сконструирован блок АЦП со следующими параметрами:

Интерфейс с ЭВМ 286 шина ISA

Разрядность 8 бит

Кол-во каналов 2

Частота выборок 125 кГц.

Защита от перенапряжения по входу при максимально допустимом входном токе 500 мА.

Гальваническая опторазвязка с напряжением пробоя изоляции 2500В

Минимальное входное напряжение 2 мВ.

Коэффициент усиления, изменяемый набором перемычек (максимальный 50000).

Драйвер под DOS.

Масса не более 500г.

Список использованной литературы

1. Ю. В. Новиков, О. А. Калашников, С. Э. Гуляев. Разработка устройств сопряжения для персонального компьютера типа IBM PC. - М.: ЭКОМ, 1998.

2. О. Н. Лебедев, А. И. Мирошниченко, В. А. Телец. Справочник. Изделия электронной техники. Цифровые микросхемы. Микросхемы памяти. Микросхемы ЦАП и АЦП. - М.: Радио и связь, 1994.

3. Г. Р. Аванесян, В. П. Лёвшин. Интегральные микросхемы ТТЛ, ТТЛШ. Справочник. - М.: Машиностроение, 1993.

4. Справочная книга радиолюбителя-конструктора. / Н. И. Чистяков. - М.: Радио и связь, 1993.

5. Роберт Журден. Справочник программиста на персональном компьютере фирмы IBM. - М.: Радио и связь, 1989.