Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа1 / Курсовая работа.doc
Скачиваний:
28
Добавлен:
01.05.2014
Размер:
687.1 Кб
Скачать

3. Программная модель устройства

Устройство имеет два 16-разрядных программно-доступных регистра, которым присвоены следующие условные названия и адреса:

CSR (BASE)....................................регистр команд и состояния (доступен для чтения записи)

DR (BASE+2)................................ регистр данных (доступен только для чтения)

3.1 Регистр csr(base)

Этот регистр доступен как для чтения, так и для записи.

Формат регистра CSR при записи

Содержимое данного регистра определяет команду, передаваемую устройству, при этом регистр имеет следующий формат:

программный старт

разрешение внешнего старта

разрешение прерывания по признаку "ПЕРЕПОЛНЕНИЕ FIFO"

разрешение прерывания по признаку "ГОТОВНОСТЬ ДАННЫХ"

Не используются

Установка частоты таймера

Сброс FIFO

Ниже приводится подробное описание назначения разрядов регистра CSR при записи в него информации.

CSR(0) (программный старт). Запись 1 в этот разряд вызывает программный запуск устройства на измерение входного напряжения в канале. Регистр CSR не содержит триггера в 0 разряде, поэтому записанное в CSR(0)значение не запоминается. Если запись 1 в CSR(0) происходила во время выполнения предыдущего преобразования, то результат преобразования будет неверным.

CSR(1) (разрешение внешнего старта). Запись 1 в этот разряд разрешает, а запись 0 запрещает запуск устройства на измерение входного напряжения от внешнего сигнала. Записанное в данный разряд значение сохраняется до следующей записи в регистр CSR. При включении питания этот разряд устанавливается в 0.

CSR(2) (Разрешение прерывания по признаку "ПЕРЕПОЛНЕНИЕ FIFO"). Запись 1 в этот разряд разрешает, а запись 0 запрещает выработку сигнала прерывания программы при установке в 1 признака "ПЕРЕПОЛНЕНИЕ FIFO". Записанное в данный разряд значение сохраняется в устройстве до следующей записи в регистр CSR. При включении питания этот разряд устанавливается в 0.

CSR(3) (сброс FIFO). Запись 1 в этот разряд приводит к сбросу указателей записи и чтения в буферном ОЗУ типа FIFO. При этом происходит сброс в нулевое состояние признака "ГОТОВНОСТЬ ДАННЫХ" (CSR(0)). Данный разряд не содержит триггера, поэтому записанное в него значение не сохраняется.

CSR(4) (Разрешение прерывания по признаку "ГОТОВНОСТЬ ДАННЫХ"). Запись 1 в этот разряд разрешает, а запись 0 запрещает выработку сигнала прерывания программы при установке в 1 признака "ГОТОВНОСТЬ ДАННЫХ". Записанное в данный разряд значение сохраняется в устройстве до следующей записи в регистр CSR. При включении питания этот разряд устанавливается в 0.

CSR(5..7) (не используются). Записываемый в эти разряды код не влияет на работу устройства.

CSR(8..15) (Установка частоты таймера). Устанавливается требуемая тактовая частота таймера. В эти биты записывается число N, а частота f(N), получаемая при этом:

N

f(N), МГц

00000000-(0)

запрещенное значение

00000001-(1)

50

00000010-(2)

25

00000011-(3)

16.66

00000100-(4)

12.5

. . .

. . .

Формат регистра CSR при чтении

Содержимое данного регистра определяет состояние устройства. При этом регистр имеет следующий формат:

Готовность данных

разрешение внешнего старта

разрешение прерывания по признаку «ПЕРЕПОЛНЕНИЕ FIFO»

разрешение прерывания по признаку «ГОТОВНОСТЬ ДАННЫХ»

Не используются

Частота таймера

Признак «Переполнение FIFO»

Ниже приведено назначение разрядов регистра CSR при чтении.

CSR(0) (признак "ГОТОВНОСТЬ ДАННЫХ"). Единичное значение этого разряда означает, что в буфере FIFO устройства содержится хотя бы одно слово данных, которое может быть считано из регистра DR.

CSR(1) (разрешение внешнего старта). 1 в этом разряде означает разрешение, а 0 запрещение запуска устройства на измерение входного напряжения от внешнего сигнала.

CSR(2) (Разрешение прерывания по признаку "ПЕРЕПОЛНЕНИЕ FIFO"). 1 в этом разряде означает разрешение, а 0 запрещение выработки сигнала прерывания программы при установке в 1 признака "ПЕРЕПОЛНЕНИЕ FIFO".

CSR(3) (признак "ПЕРЕПОЛНЕНИЕ FIFO"). Единичное значение этого разряда означает возникновение в устройстве переполнения буфера FIFO. Сброс признака "ПЕРЕПОЛНЕНИЕ FIFO" происходит при записи 1 в CSR(3).

CSR(4) (Разрешение прерывания по признаку "ГОТОВНОСТЬ ДАННЫХ"). 1 в этом разряде означает разрешение, а 0 запрещение выработки сигнала прерывания программы при установке в 1 признака "ГОТОВНОСТЬ ДАННЫХ". Записанное в данный разряд значение сохраняется в устройстве до следующей записи в регистр CSR. При включении питания этот разряд устанавливается в 0.

CSR(5..7) (не используются). Записываемый в эти разряды код не влияет на работу устройства.

CSR(8..15) (Частота таймера). Считывание тактовой частоты таймера. Эти биты показывают число N, а соответствующая частота f(N):

N

f(N), МГц

00000000-(0)

запрещенное значение

00000001-(1)

50

00000010-(2)

25

00000011-(3)

16.66

00000100-(4)

12.5

. . .

. . .

3.2 Регистр DR(BASE+1)

Регистр DR доступен только для чтения.

Формат регистра DR при чтении

Содержимое регистра DR при чтении имеет следующий формат:

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

код результата преобразования

знак

мантисса кода

Соответствие измеряемого напряжения и кода результата:

Измеряемое напряжение (В)

Код результата

+Umax

011111111111

+Umax-1квант

011111111110

+Umax-2кванта

011111111101

...

...

+1квант

000000000001

000000000000

-1квант

111111111111

...

...

-Umax+3кванта

100000000011

-Umax+2кванта

100000000010

-Umax+1квант

100000000001

Соседние файлы в папке Курсовая работа1