5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.


При работе модуля обмен может быть реализован по желанию пользователя по прерыванию либо с неготовностью. Блок – схема работы программного обеспечения представлена на рисунке 5.1. (обмен по прерыванию) и на рисунке 5.3. (обмен с неготовностью). На рисунке 5.2. представлена блок – схема обработчика прерывания.


Рис. 5.1. Обмен по прерыванию.


После включения питания модуля для избежания попадания ложных данных следует произвести чтение из порта 301h. После этого идет установка начальных параметров системы :

Задается вектора обработки прерывания;

производится начальный запуск АЦП.

Программа обработки включает в себя ;

чтение данных из модуля;

запись полученных данных в буфер для дальнейшей обработки;

Обработка полученных данных;

Чтение из буфера данных для дальнейшего отправления в ЦАП;

Вывод данных в модуль для ЦАП.

Рис 5.2. Блок – схема обработчика прерывания.


5.1. Запуск АЦП производится выдачей по адресу 14300h любых данных. С помощью данной команды формируется строб запуска АЦП. Чтение данных из модуля производится по адресу 14301h. При этом из порта считывается байт данных. Формат байта приведен в таблице 5.1.

Таблица 5.1

№ байта

Описание

Байт 0 Данные D0
Байт 1 Данные D1
Байт 2 Данные D2
Байт 3 Данные D3
Байт 4 Данные D4
Байт 5 Разряд переполнения
Байт 6 Не используется
Байт 7 Разряд знака

5.2. После считывания байта он отправляется в буфер входных данных для последующей обработки.

Рис 5.3. Блок – схема обмена с неготовностью.

5.3. Далее вызывается подпрограмма обработки входных данных для получения ответного слова для ЦАП. Ответное слово состоит из 11 разрядов данных. Передача его из ЭВМ в модуль осуществляется выдачей слова по адресу 14302h. При этом в модуле формируется строб I/O CS 16, говорящий о том, что обмен производится словом, а не байтом. Подпрограмму обработки полученных данных и формирование ответного слова пишет пользователь самостоятельно.

5.4. Перед использованием необходимо разрешить или запретить обмен по прерыванию в модуле. Если прерывание разрешено, то обмен будет совершаться по прерыванию. В противном случае будет осуществляться обмен с неготовностью Тип обмена задается выдачей по линии D0 числа по адресу 14303h. Формат слова представлен в таблице 5.2.


Таблица 5.2

Состояние

Описание

0 Прерывание запрещено
1 Прерывание разрешено

Если обмен производится с неготовностью, то состояние АЦП считывается по линии D7 по адресу 14303h.

6. ЛИТЕРАТУРА.


Уинн Л. Рош. Библия по техническому обеспечению Уинна РОШа. Минск. 1992.

Томпкинс. Уэбстер. Проектирование и сопряжение контроллеров с ЭВМ.

Джордейн. Описание IBM PC AT.

Питер Абель. Язык ассемблера для IBM PC и программирования. Москва. «Высшая школа». 1992 г.


ПРИЛОЖЕНИЯ



Пример подпрограммы обмена по прерыванию


TITLE CTRNAM (EXE)


STCKSG SEGMENT PARA ‘Stack’ ; Инициализация сегмента стека

DW 32 DUP (?)

STCKSG ENDS

;----------------------------------------------------

DATASG SEGMENT PARA ‘Data’ ; Инициализация сегмента данных

VECT5 EQU 5H ; Задание векторов

VECT10 EQU 10H ; прерываний

VECT11 EQU 11H

ACPSTRT EQU 14300H ; Адрес запуска АЦП

ACPREAD EQU 14301H ; Адрес чтения из модуля

ACPWRITЕ EQU 14302H ; Адрес записи в модуль

ACPFLAG EQU 14303H ; Адрес маски

KBSAVE DWORD ? ; Переменная вектора прерывания

ENDFLAG DB 0 ; Флаг окончания обмена

DATASG ENDS

;----------------------------------------------------

INTTAB SEGMENT AT 0H ; Получаем доступ к таблице векторов

ORG VECT5*4H

KBADDR LABEL DWORD

INTTAB ENDS

;----------------------------------------------------

CODESG SEGMENT PARA ‘Code’

BEGIN PROC FAR

ASSUME CS:CODESG, DS:INTTAB, SS:STCKSG, ES:DATASC

PUSH DS

SUB AX, AX ; Проводим

PUSH AX ; начальную

MOV AX, DATASC ; инициализацию

MOV ES, AX ; сегментов

MOV AX, INTTAB

MOV DS, AX

CLI ; Запрет прерываний

MOV AX, WORD PTR KBADDR

; Устанавливаем новый

MOV WORD PTR KBSAVE, AX

; вектор прерывания

MOV AX, WORD PTR KBADDR + 2

; и сохраняем старый

MOV WORD PTR KBSAVE + 2, AX

MOV WORD PTR KBADDR, OFFSET CALC

MOV WORD PTR KBADDR + 2, CS




MOV DX, ACPFLAG ; Производим установку

MOV AL, 1 ; маски прерывания

OUT DX, AL

STI ; Разрешаем прерывание

ASSUME DS: DATASG

MOV DX, ACPREAD ; Производим чтение

IN DX, AL ; случайных данных

MOV DX, ACPSTRT ; Начальный запуск

OUT DX, AL ; АЦП

CHK: MOV AL, ENDFLG ; Проверка окончания обмена

JZ CHK

MOV ENDFLG, 0 ; Сброс флага окончания обмена

; Задается условие проверки окончания процесса.

; Если процесс продолжается, то переход к метке AGAIN,

; В противном случае на ENDPROG

AGAIN: MOV DX, ACPSTRT ; Запуск АЦП

OUT DX, AL

JMP CHK ; И переход к следующему циклу

ENDPROG: ASSUME DS: INTTAB

; Восстановление исходных

MOV AX, WORD PTR KBSAVE

; параметров в таблице

MOV WORD PTR KBADDR, AX

; векторов прерываний

MOV AX, WORD PTR KBSAVE + 2

MOV WORD PTR KBADDR + 2, AX

POP DS ; Восстановление сегмента данных

CSAEG ENDS

END BEGIN ; Окончание программы


; Подпрограмма обработки прерывания

CALC PROC NEAR

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

PUSH BX

PUSH CX

PUSH DX

PUSH SI

PUSH DI

PUSH DS

PUSH ES

PUSHF

MOV DX, ACPREAD ; Производим чтение из АЦП

IN DX, AL

PUSH AX ; Осуществляем передачу данных

; через стек для последующей

; обработки

CALL EXECUTE ; Вызов подпрограммы обработки

POP AX ; Получение данных из стека

MOV DX, ACPWRITE ; Запись в модуль

OUT DX, AX

MOV ENDFLG, 0FFH ; Вскидывание флажка

POPF ; Восстановление регистров

POP ES

POP DS

POP DI

POP SI

POP DX

POP CX

POP BX

POP AX

IRET ; Выход из прерывания

CALC ENDP


Пример подпрограммы обмена с неготовностью.


TITLE CTRNAM (EXE)


STCKSG SEGMENT PARA ‘Stack’ ; Инициализация сегмента стека

DW 32 DUP (?)

STCKSG ENDS

;----------------------------------------------------

DATASG SEGMENT PARA ‘Data’ ; Инициализация сегмента данных

ACPSTRT EQU 14300H ; Адрес запуска АЦП

ACPREAD EQU 14301H ; Адрес чтения из модуля

ACPWRITЕ EQU 14302H ; Адрес записи в модуль

ACPFLAG EQU 14303H ; Адрес маски

DATASG ENDS

;----------------------------------------------------

CODESG SEGMENT PARA ‘Code’

BEGIN PROC FAR

ASSUME CS:CODESG, DS:DATASG, SS:STCKSG, ES:DATASC

PUSH DS

SUB AX, AX ; Проводим

PUSH AX ; начальную

MOV AX, DATASC ; инициализацию

MOV DS, AX ; сегментов

MOV ES, AX

MOV DX, ACPFLAG ; Производим установку

MOV AL, 0 ; маски прерывания

OUT DX, AL

MOV DX, ACPREAD ; Производим чтение

IN DX, AL ; случайных данных

STRT: MOV DX, ACPSTRT ; Запуск

OUT DX, AL ; АЦП

MOV DX, ACPFLAG ; Производим чтение

CHK: IN DX, AL ; готовности

AND AL, 10000000B ; Накладываем маску

JZ CHK ; Готово к обмену?

PUSH AX ; Осуществляем передачу данных

; через стек для последующей

; обработки

CALL EXECUTE ; Вызов подпрограммы обработки

POP AX ; Получение данных из стека

MOV DX, ACPWRITE ; Запись в модуль

OUT DX, AX

; Задается условие проверки окончания процесса.

; Если процесс продолжается, то переход к метке AGAIN,

; В противном случае на ENDPROG

AGAIN: JMP STRT ; Переход на следующий цикл

ENDPROG: POP DS

CSEG ENDS

END BEGIN


Лист




Поз.
обозна-
чение


Наименование


Кол


Примечание






Микросхемы бко. 348.289-02 ТУ



DD1-DD3 1533АП5 3
DD4 1533ЛН1 1

DD5

1533СП1 1
DD6-DD7 500ЛП114 2

DD8

1533СП1 1

DD9

1533ЛА3 1

DD10

1533ИД4 1

DD11

1533СП1 1

DD12

1533ЛЛ1 1

DD13

1107ПВ3 1

DD14

500ЛМ105 1

DD15

1533ЛИ1 1

DD16

1533ЛЛ1 1

DD17

572ПА2 1

DD18

1533ТМ2 1

DD19

1533ЛП8 1

DD20,DD21

500ПУ125 2

DD22,DD23

559ИП3 2

DD24,DD25

1533АП6 2

DD26

1533ЛИ6 1
























Поз.
обозна-
чение


Наименование


Кол


Примечание


Резисторы ОЖО. 467.104. ТУ



R1

С2-23 – 49.9  0.05%

1

R3

С2-23 – 100  0.05%

1

R4

С2-23 – 301K  0.05%

1

R5,R6

С2-23 – 20K  0.05%

2

R7

С2-23 – 301K  0.05%

1

R8

С2-23 – 470  0.05%

1

R9

С2-23 – 1К  0.05%

1

R10

СП2 – 2.2К 1

R11

СП2 – 1К 1

R12 – R14

С2-23 – 1К  0.05%

3

R15

С2-23 – 510  0.05%

1

R16

С2-23 – 200  0.05%

1

R17

С2-23 – 510  0.05%

1

R18

С2-23 – 200  0.05%

1

R19 – R20

С2-23 – 510  0.05%

2

R21

С2-23 – 4.7  0.05%

1

R22

С2-23 – 430  0.05%

1

R23

С2-23 – 100  0.05%

1

R24

С2-23 – 430  0.05%

1

R25

С2-23 – 100  0.05%

1

R26

С2-23 – 620  0.05%

1

R27 – R29

С2-23 – 510  0.05%

3

R30

С2-23 – 1K  0.05%

1

R31, R32

С2-23 – 430  0.05%

2

R33 - R37

С2-23 – 510  0.05%

5

R38

С2-23 – 430  0.05%

2

R39 – R46

С2-23 – 510  0.05%

8

R47, R48

С2-23 – 1K  0.05%

2

Лист




Поз.
обозна-
чение


Наименование


Кол


Примечание


Конденсаторы бко. 348.006-59ТУ



С­1-C2

К10 - 17 – 1n 2

С­3-C4

К73 - 17 – 100 мкФ х 10В 2

С­5-C14

К10 - 17 – 0.1 мкФ 15

С­15-C16

К10 - 17 – 0.15 2

С­17-C18

К10 - 17 – 100 n 2

С­22-C23

К10 - 17 – 0.15 2

С­24

К10 - 17 – 100 n 1

С­25

К10 - 17 – 27 n 1





Транзистор



VT1

КП905А АО.336.185ТУ 4
























































СОДЕРЖАНИЕ.


Введение 4

Назначение и область применения 5

Технические данные 6

Устройство и работа модуля по структурной схеме. Устройство и
работа модуля по принципиальной схеме 8

Руководство к программированию 12

Программное обеспечение 14

Литература 18

Приложения



Информация о работе «Стробоскопический аналого-цифровой преобразователь»
Раздел: Радиоэлектроника
Количество знаков с пробелами: 22951
Количество таблиц: 9
Количество изображений: 16

Похожие работы

Скачать
23425
0
0

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

Скачать
115712
40
9

... возможную реализацию точностных характеристик измерительного блока во времени. Функции М ( t ) и s ( t ) можно представить в виде: М ( t ) = А х t ; s ( t ), = sо + В х t, где sо - дисперсия погрешности измерения отношения сигнал/шум в момент начала эксплуатации. Выбираем: sо  = 0,5 Коэффициенты А и В выбираем по интенсивности внезапных отказов l å из соотношений ...

Скачать
145927
16
16

... измерения энергии должна находится в пределах ±(0,1-2,5)%. 4.4 Зависимость погрешности дозирования от состава технических средств комплексов дозирования Поскольку в электротехнические комплексы дозирования помимо рассмотренных выше устройств цифрового дозирования количества электричества и электрической энергии входят также устройства коммутации и датчики тока и напряжения, то необходимо ...

Скачать
9836
1
11

... с объектами контроля и управления, т.е. для преобразования в реальном масштабе времени аналоговых входных сигналов в цифровой код и для обратного преобразования цифровой информации в аналоговый выходной сигнал информационно-управляющих устройств. 1. Разработка адаптера аналого-цифрового преобразователя В преобразовании сигналов из аналоговой формы в цифровую можно выделить следующие процессы: ...

0 комментариев


Наверх