- •3 Программная модель устройства
- •3.1 Регистр csr(base)
- •2 Уточнение задания
- •4.10 Микросхема программируемой логики
- •4.11 Мультиплексор
- •4.1 Аналого-цифровой преобразователь
- •4.2 Коммутатор каналов
- •4.3 Инструментальный усилитель
- •4.4 Источник опорного напряжения
- •4.5 Стабилизатор напряжения
- •4.6 Элемент гальванической развязки
- •4.7 Dc/dc преобразователь
- •4.8 Кварцевый генератор
- •4.9 Микросхема fifo
- •3. Структурная схема устройства.
2 Уточнение задания
Устройство представляет собой систему сбора аналоговой информации для цифровой ЭВМ. Информация представляет собой напряжение, изменяющееся в зависимости от диапазона ±10В,±5В, ±2.5В, ±1.25В, подаваемое на аналоговые однополюсные входы устройства. Таких входов у устройства 8. Программная модель устройства - два 16-разрядных регистра, доступные на чтение и на запись. При помощи программирования устройства, т.е. записи определенной информации в управляющие регистры, должны быть доступны следующие возможности:
программный запуск, т.е. запуск после установки определенного бита в регистре управления;
внешний запуск, т.е. запуск после появления высокого уровня на внешнем входе;
запуск от внутреннего таймера;
генерация прерывания по переполнению буфера FIFO;
наличие поддержки режима ПДП для прямой записи считываемых данных в память;
возможность циклического опроса любой последовательности из 8 каналов, при этом каналы, которые будут опрашиваться, также указываются программно;
возможность программного обнаружения ошибки запуска, которая состоит в том, что запрос на измерение очередной порции данных поступил до того, как была оцифрована текущая порция;
*****************************
Формат регистра CSR при чтении
Содержимое данного регистра определяет состояние устройства. При этом регистр имеет следующий формат:
Признак “ОШИБКА ЗАПУСКА”
Признак "ГОТОВНОСТЬ ДАННЫХ"
Код идентификации устройства
Признак "ПЕРЕПОЛНЕНИЕ СС ПДП"





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



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



Признак "ПЕРЕПОЛНЕНИЕ FIFO"
Ниже
приведено назначение разрядов регистра
CSR при чтении.
CSR(0) (признак "ГОТОВНОСТЬ ДАННЫХ"). Единичное значение этого разряда означает, что в буфере FIFO устройства содержится хотя бы одно слово данных, которое может быть считано из регистра DR. Сброс признака "ГОТОВНОСТЬ ДАННЫХ" в 0 происходит после чтения последнего слова из буфера FIFO через регистр DR. Кроме того, сброс этого признака может быть выполнен командой сброса FIFO - записью 1 в CSR(14). Переход этого признака из нулевого состояния в единичное при наличии разрешения прерывания, установленного предварительной записью 1 в CSR(7), вызывает запрос прерывания программы.
Разряды CSR(7..1)(код идентификации устройства) при чтении содержат код 1100110 (дес.102) и могут быть использованы для определения наличия устройства в системной магистрали и его версии.
CSR(11..8) (не используются). Записываемый в эти разряды код не влияет на работу устройства.
CSR(12) (признак “ОШИБКА ЗАПУСКА”). Единичное значение этого разряда означает, что запуск устройства произошел до окончания предыдущего измерения. В этом случае повторный запуск устройства не происходит, однако, установка такого признака говорит о неправильно выбранном режиме и/или частоте запуска. Сброс этого признака выполняется при записи 1 в CSR(15).
CSR(14) (признак "ПЕРЕПОЛНЕНИЕ FIFO"). Единичное значение этого разряда означает возникновение в устройстве переполнения буфера FIFO, возникающее из-за недостаточной скорости обмена информацией между устройством и ПЭВМ, то есть при частоте запуска устройства слишком большой для данной модели ПЭВМ и/или способа обработки результата. В этом случае результат преобразования является недостоверным. Сброс признака "ПЕРЕПОЛНЕНИЕ FIFO" происходит при записи 1 в CSR(14).
CSR(15) (признак "ПЕРЕПОЛНЕНИЕ СС ПДП"). Единичное значение этого разряда означает, что при работе в режиме ПДП от устройства было принято последнее из числа слов, на которое был запрограммирован контроллер ПДП. Переход этого флага из нулевого состояния в единичное при наличии разрешения прерывания, установленного предварительной записью 1 в CSR(8), вызывает запрос прерывания программы. Сброс флага "ПЕРЕПОЛНЕНИЕ СС ПДП" происходит при записи 1 в CSR(15).
3.2 Регистр DR(BASE+2)
Регистр DR доступен как для чтения, так и для записи.
Формат регистра DR при чтении
Содержимое регистра DR при чтении имеет следующий формат:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
код результата преобразования
одержимое регистра управления
коммутатором каналов на момент чтения
регистра DR
не используются










знак
мантисса кода
Соответствие измеряемого напряжения и кода результата:
|
Измеряемое напряжение (В) |
Код результата |
|
+Umax |
011111111111 |
|
+Umax-1квант |
011111111110 |
|
+Umax-2кванта |
011111111101 |
|
... |
... |
|
+1квант |
000000000001 |
|
0В |
000000000000 |
|
-1квант |
111111111111 |
|
... |
... |
|
-Umax+3кванта |
100000000011 |
|
-Umax+2кванта |
100000000010 |
|
-Umax+1квант |
100000000001 |
Формат регистра DR при записи
Содержимое данного регистра при записи рассматривается как беззнаковое 16-разрядное слово, определяющее период выходного сигнала внутреннего таймера устройства.
Этот период (Т) определяется выражением:
T[нс]= k*100 нс, где k =1, 2, 3 и т.д.- код, записанный в регистр DR. Таким образом, для получения периода внутреннего таймера равного 10мкс в регистр DR необходимо записать число 100/
***************************************************************************
