Первоисточник: www.akon.com.ua
===========================================================================
               ТЕХНИЧЕСКОЕ ОПИСАНИЕ МОДУЛЯ SDI-AD12-128H
  ( МНОГОКАНАЛЬНОГО МНОГОПРЕДЕЛЬНОГО БЫСТРОДЕЙСТВУЮЩЕГО 12-РАЗРЯДНОГО
  АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ С ГАЛЬВАНИЧЕСКОЙ ИЗОЛЯЦИЕЙ КАНАЛА
  ИЗМЕРЕНИЯ ОТ ШИНЫ ПИТАНИЯ  КОМПЬЮТЕРА, ПРЕДНАЗНАЧЕНОГО ДЛЯ РАБОТЫ В
                        ПЭВМ ТИПА IBM PC/AT ).
===========================================================================
        В этом документе содержится описание аппаратной части, и
        программирования аналого-цифрового преобразователя (в дальнейшем
        АЦП).
---------------------------------------------------------------------------
   Внимание! Данный файл документации и комплект демонстрационно-
го  программного  обеспечения  поставляются  в   ПОЛНОМ    объеме
НЕЗАВИСИМО от заказанной конфигурации платы. Конкретная  конфигу-
рация по прайсу зависит от букв, стоящих после  полного  названия
модуля (см. перечисление функций конкретной конфигурации в  прайс
-листе). В случае обнаружения на  приобретенном  модуле  нехватки
какой-либо нужной Вам функции, упоминание о которой есть  в  этом
документе и демо-программах (а при заказе Вы остановились на кон-
фигурации, не поддерживающую эту функцию), обращайтесь к  нам  за
доработкой.
  Демо-программы, поставляемые бесплатно в комплекте  служат  для
ДЕМОнстрации  работоспособности  модуля  и  демонстрации  порядка
программирования. Они НЕ предназначены для решения конкретной за-
дачи заказчика.
---------------------------------------------------------------------
                         СОДЕРЖАНИЕ.

   1. Назначение, возможности и область примения модуля.
     1.1. Технические характеристики модуля.
     1.2. Комплект поставки.
   2. Конструктивные характеристики модуля.
     2.1. Расположение разьемов и переключателей,
          установленных на плате.
     2.2. Тип и назначение  контактов разъемов.
   3. Функциональная схема АЦП
   4. Описание работы с модулем.
     4.1. Общие сведения.
     4.2. Аппаратные прерывания, формируемые платой АЦП.
     4.3. Таблица соответствия адресов, используемых при
          обращении к плате и функций, выполняемых устройством.
     4.4  Программирование таймера.
     4.5. Порядок программирования модуля.
   5. Вычисление результата измерения.
   6. Примеры программирования АЦП.
     6.1.Циклический запуск АЦП от компьютера по одному каналу.
     6.2.Запуск от таймера по одному каналу.
========================================================================
 1. Назначение, возможности и область примения модуля.
=======================================================================
     АЦП предназначен для работы  в  автоматизированных  системах
измерения, контроля и научных исследований на базе  ПК  типа  IBM
PC/AT.
     Модуль АЦП позволяет:
1) Измерять  значения  напряжения  по  128-ми  каналам  с   общим
   "земляным"  проводом  в  произвольном  порядке  c  электронным
   переключением  коэффициента  усиления  и   с    гальванической
   развязкой от электрических цепей компьютера.
2) Осуществлять программный  опрос  заданного  числа  каналов  по
   сигналам встроенного таймера с записью-чтением  результатов  с
   использованием установленной  на  модуле  двухпортовой  памяти
   типа  FIFO.  В  таком  режиме  обеспечивается    непрерывность
   оцифровки входного  сигнала  продолжительное  (неограниченное)
   время без проявления временной нестабильности моментов запуска.
   Это позволяет формировать выборки  практически  неограниченной
   длины.
-----------------------------------------------------------------------
 1.1 Технические характеристики модуля.
-----------------------------------------------------------------------
     Ниже  приведены  технические  характеристики  ВСЕХ  заложенных  в
устройство  возможностей.  Конкретная   конфигурация   по   требованию
заказчика может  содержать  ТРЕБУЕМЫЙ набор перечисленных возможностей
и технических характеристик.

                     ПАРАМЕТРЫ АЦП

Число входных каналов ...................... до 128 недифференциальных
                                                  ИЛИ
                                             64 дифференциальных
                                       (устанавливается изготовителем!)
Число разрядов выходного кода .............. 12 двоичных разрядов
Формат выходного кода ...................... дополняющий двоичный код
                                          (формат доп. кода см. ниже)
Время преобразования  ...................... 1,4 мкс
ОЗУ ........................................ FIFO 2Kx16бит
Диапазоны входного напряжения:
базовый .................................... от -5    В до  +5    В
с усилением
            10   ........................... от -500 мВ до  +500 мВ
            100  ........................... от -50  мВ до  +50  мВ
с использованием деления на 2  ( аппаратно  для  всех
входов одновременно):
 базовый.................................... от -10 В   до + 10 В
с усилением 10   ........................... от -1  В   до + 1 В
            100  ........................... от -100 мВ до +100 мВ

   Усиление на плате включается группами по 32 входа  каждая  для
недифференциальных входов или по 16 входов для  дифференциального
режима входного  сигнала.  Каждая  группа  может  иметь  один  из
установленных заранее перемычкой коэффициентов усиления -  1,  10
или 100. При  необходимости  иметь  разное  усиление  для  одного
сигнала рекомендуется его подключить к двум (трем) входам  разных
групп  с  нужными  коэффициентами  усиления  и  выбор    усиления
производить переключением каналов.

Величина  единицы  младшего  разряда  при
работе  в  диапазонах  от -5В  до +5В ...... 2.44 мВ
Интегральная    нелинейность    в
базовых    диапазонах,    не более.......... 0.1%
Погрешность  (1)  смещения  нуля при
работе  без  дополнительного усиления
(режимы +/-5В; +/-10В)...................... 0.03%
Приведенное  (2) ко входу напряжение
смещения, не более.......................... 100 мкВ(тип.значение<50)
Погрешность  (3)  коэффициента  преобразования
на постоянном  токе:
без  усиления,  не  более................... 0.03%
с  делением  на  2,  не  более.............. 0.2%
при усилении:
        10  ,не более ...................... 2 %
        100 ,не более ...................... 5 %

! погрешности (1)-(3) случайные СИСТЕМАТИЧЕСКИЕ, т.е.  !
! устраняются при необходимости программной коррекцией !

Полоса пропускания дополнительных
усилителей, не менее ....................... 300 кГц
Неравномерность АЧХ в полосе пропускания:
в базовом диапазоне, не более .............. 0.5%
с делением на 2, не более .................. 0.4%
при усилении:
        10  ,не более ...................... 2 %
        100 ,не более ...................... 10%
Дополнительная температурная погрешность:
  в базовых диапазонах, не более ........... 0.002% на градус
  с дополнительным усилением, не более ..... 0.004% на градус
Коэффициент ослабления  синфазных  сигналов
на частотах:
от 0 до 1  кГц,не менее .................... 60  дБ
     до 30 кГц,не менее .................... 55  дБ
     до 100кГц,не менее .................... 45  дБ
на частотах от 0 до 1кГц при усилении:
        10  , не менее ..................... 80  дБ
        100 , не менее ..................... 100 дБ
Входное сопротивление ...................... 1   МОм
Входная емкость,не более ................... 8   пФ
Предельно допустимое входное напряжение .... +/-70 В
Допустимый входной ток при превышении
входного напряжения свыше +/-70В ........... 60 мА
Пробивное напряжение изоляции, не менее .... 3.5 кВ
Дискретность перестройки интервала запуска
от встроенного таймера ..................... 0,4 мкс

           ОБЩИЕ ХАРАКТЕРИСТИКИ МОДУЛЯ

Ток,потребляемый от источника +5В .......... 150 мА
Ток,потребляемый от источника +12В ......... 250 мА
Возможные базовые адреса ................... 2x0, где x - 0...f
                                             3x0, где x - 0...f
Линии прерывания ........................... IRQ: 5,10,11,12,15
Режим работы модуля ........................ продолжительный
Габариты модуля ............................ 180x105x20 мм

============================================================================
                          ДОПОЛНЯЮЩИЙ КОД
============================================================================

                         07ff -+10.24B (+5.12В)
                           .  .  .
                           .  .  .
                         0000 -  0 B
                         0fff - -0.005 B (-0.0024 В)
                           .  .  .
                           .  .  .
                         0800 - -10.24B (-5.12В)

========================================================================
 1.2. Комплект поставки.
=======================================================================
     В базовый  (по умолчанию) комплект поставки входит:
 1) Модуль SDI-AD12-128Н ................................. 1 шт.
 2) Ответная часть разьема 62-pin ........................ 1 шт.
 3) Дискета с техническим описанием и демо-программами ... 1 шт.

========================================================================
2. Конструктивные характеристики модуля.
========================================================================
------------------------------------------------------------------------
2.1. Расположение разьемов и переключателей, установленных на плате.
------------------------------------------------------------------------
   +-------------------------------------------+
   |              J4  J1 +--------++---------+ |
   |              J3  J7 1--------+1---------+ |
   |              J5 123       Х4      Х5      |
   |              J6                         1-+-+
   |                  J14                    | | |
   |                  J15                    | | |X7
   |          J13 J12           J8    J2     | | |
   |          1--1--+               123 1+   +-+-+
   +-------+  +--+--+ ++                ++X8 +-+
           +----------++---------------------+


                         ЗАМЫКАТЕЛИ J1, J7.
   Предназначены для переключения диапазона  измерения  АЦП.  При
отсутствии замыкателей диапазон измерения составляет +/-10В,  при
наличии -  +/-5В.

                         ЗАМЫКАТЕЛЬ J2.
    Предназначен для переключения режима  счета  канала  номер  2
таймера. В положении 1-2 канал подсчитывает число запусков АЦП, в
положении  2-3  подсчитывает  внешние  импульсы,  которые   могут
быть подключены к разьему Х8. номер

                         ЗАМЫКАТЕЛИ J3-J6
    Предназначены для установки  коэффициента  усиления  входного
сигнала. Усиление  включается  группами  по    32    входа    для
недифференциального режима и по 16 входов  для  дифференциального
режима. Каждая группа может иметь один из  установленных  заранее
перемычкой  коэффициентов  усиления  -  1,  10  или   100.    При
необходимости  иметь  разное  усиление   для    одного    сигнала
рекомендуется его подключить к двум (трем) входам разных групп  с
нужными коэффициентами  усиления  и  выбор  усиления  производить
переключением каналов.

        Соответствие положения перемычек коэффициенту усиления:
              +-------+---------+
              |перем. |усиление |
              +-------+---------|
              | нет   |   1     |
              | 1-2   |   10    |
              | 2-3   |   100   |
              +-------+---------+
        Соответствие номера джампера номерам управляемых каналов:
              +--------+--------------+
              |джампер |    каналы    |
              +--------+--------------|
              |   J3   |  0-15, 64-79 |
              |   J4   | 16-31, 80-95 |
              |   J5   | 32-47, 96-111|
              |   J6   | 48-63,112-127|
              +--------+--------------+

                    ЗАМЫКАТЕЛЬ J8
          Джампер  предназначен  для  обьединения   гальванически
развязанного общего провода ( аналоговой земли ) с общим проводом
компьютера.  Устранение  гальванической  развязки  в    некоторых
системах в отличие от  большинства  случаев  позволяет  уменьшить
уровень  шумов  и  помех  в  канале  измерения,  хотя  и   лишает
преимуществ гальванической развязки, например, защита  компьютера
и интерфейса платы в аварийных ситуациях.

                    ЗАМЫКАТЕЛИ J9-J11
           Замыкатели  предназначены    для    подачи    питающих
напряжений компьютера +5В,+12В,-12В  в  аналоговую  часть  платы.
Замыкатели устанавливаются изготовителем для конфигурации  модуля
без  гальваничекой  развязки.  Устанавливать  их   самостоятельно
запрещается, это приведет к повреждению преоразователя напряжения
питания АЦП.
                    ЗАМЫКАТЕЛИ J12,J13.
   Джамперы предназначены для установки базового адреса устройства
  и номера линии прерывания.
  JP13       JP12
 1 2 3 4 5   1 2 3 4 5
+-+-+-+-+-+ +-+-+-+-+-++-----------------------------+------------------+
|0|0|0|0|0| |0|0|0|0|0||                             |Положение джампера|
|0|0|0|0|0| |0|0|0|0|0||     Наименование ключей     +--------+---------|
+++++++++++ +++++++++++|                             |Замкнут | Разомкн.|
 | | | | |   | | | | | +-----------------------------+--------+---------|
 | | | | |   +-+-+-+-+-|Сравнение с линией адреса A04| лог.1  |  лог.0  |
 | | | | |   | +-+-+-+-|Сравнение с линией адреса A05| лог.1  |  лог.0  |
 | | | | |   | | +-+-+-|Сравнение с линией адреса A06| лог.1  |  лог.0  |
 | | | | |   | | | +-+-|Сравнение с линией адреса A07| лог.1  |  лог.0  |
 | | | | |   | | | | +-|Сравнение с линией адреса A08| лог.1  |  лог.0  |
 | | | | |   | | | | | +-----------------------------+--------+---------+
 | | | | |  ++-+-+-+-+-+-------------------+
 | | | | |  |Р Р Р Р Р | включен адрес 200 |
 | | | | |  |З Р Р Р Р | включен адрес 210 |
 | | | | |  |Р З Р Р Р | включен адрес 220 |
 | | | | |  |Р Р Р Р З | включен адрес 300 |
 | | | | |  |Р З З Р З | включен адрес 360 |
 | | | | |  +----------+-------------------+
 | | | | |+----------------------------+------------------+
 | | | | ||                            |Положение джампера|
 | | | | ||     Наименование ключей    +--------+---------|
 | | | | ||                            |Замкнут | Разомкн.|
 | | | | |+----------------------------+--------+---------|
 | | | | +|Включение   прерывания IRQ05|  вкл   |  выкл   |
 | | | +-+|Включение   прерывания IRQ10|  вкл   |  выкл   |
 | | +-+-+|Включение   прерывания IRQ11|  вкл   |  выкл   |
 | +-+-+-+|Включение   прерывания IRQ12|  вкл   |  выкл   |
 +-+-+-+-+|Включение   прерывания IRQ15|  вкл   |  выкл   |
 | | | | |+----------------------------+--------+---------+
++-+-+-+-++-----------------------------+
|Р Р Р Р Р| прерывание  не используется |
|Р Р Р Р З| включено   прерывание IRQ05 |
|Р Р Р З Р| включено   прерывание IRQ10 |
|Р Р З Р Р| включено   прерывание IRQ11 |
|Р З Р Р Р| включено   прерывание IRQ12 |
|З Р Р Р Р| включено   прерывание IRQ15 |
+---------+-----------------------------+


                    ЗАМЫКАТЕЛИ J14, J15
      Предназначены   для    выбора    события,    по    которому
модуль вырабатывает сигнал прерывания.  Замкнутый  J14  разрешает
формирование прерывания по  сигналу  половинного  заполнения  ОЗУ
модуля. Замкнутый J15 разрешает  прерывание  по  сигналу  полного
заполнения ОЗУ. Только один джампер должен быть замкнут.


------------------------------------------------------------------------
2.2. Тип и назначение  контактов разъемов.
------------------------------------------------------------------------

                              Разьем Х7.
                            --------------

        Тип разъема на плате - DHR-62F ("мама").
        Ответка на кабель - DHS-62M ("папа").
        Корпус для ответки разъема - DP-37C.
        На разьем выведены  входы  аналого-цифрового  пробразователя и
        общий провод ( аналоговая "земля" );
        !Внимание! На модуле 32-х канальной конфигурации задействованы
         каналы с 0-го по 15-й и с 64-го по 79-й. Это сделано для
         выведения всех 32-х входов только на один разъем - Х7.

              Вид на соединитель, установленный на плате (male).

            --------------------  . . . ---------------------------
             \  21о   о   о   о   . . .  о   о   о   о   о1      /
               \  42о   о   о   о . . .    о   о   о   о   о22 /
                 \  62о   о   о   . . .  о   о   о   о   о43 /
                   --------------       --------------------

              Таблица соответствия номеров контактов разьема X1
                     их функциональному назначению.

      +----+---------------+----+---------------+----+---------------+
      | N| |  Назначение   | N| |  Назначение   | N| |  Назначение   |
      +----+---------------+----+---------------+----+---------------|
      | 01 | Канал 69,5 (-)| 22 | Канал 70,7(-) | 43 | Канал 71,7(-) |
      | 02 | Канал 67,3 (-)| 23 | Канал 68,4(-) | 44 | Общий         |
      | 03 | Канал 65,1 (-)| 24 | Канал 66,2(-) | 45 | Канал 15,     |
      | 04 | Канал 79,15(-)| 25 | Канал 64,0(-) | 46 | Канал 14,     |
      | 05 | Канал 77,13(-)| 26 | Канал 78,14(-)| 47 | Канал 13,     |
      | 06 | Канал 75,11(-)| 27 | Канал 76,12(-)| 48 | Канал 12,     |
      | 07 | Канал 73,9 (-)| 28 | Канал 74,10(-)| 49 | Канал 11,     |
      | 08 | Канал 23      | 29 | Канал 72, 8(-)| 50 | Канал 10      |
      | 09 | Канал 21      | 30 | Канал 22      | 51 | Канал 9       |
      | 10 | Канал 19      | 31 | Канал 20      | 52 | Канал 8       |
      | 11 | Канал 17      | 32 | Канал 18      | 53 | Канал 7       |
      | 12 | Канал 29      | 33 | Канал 16      | 54 | Канал 6       |
      | 13 | Канал 27      | 34 | Канал 28      | 55 | Канал 5       |
      | 14 | Канал 25      | 35 | Канал 26      | 56 | Канал 4       |
      | 15 | Канал 87,23(-)| 36 | Канал 24      | 57 | Канал 3       |
      | 16 | Канал 85,21(-)| 37 | Канал 86,22(-)| 58 | Канал 2       |
      | 17 | Канал 83,19(-)| 38 | Канал 84,20(-)| 59 | Канал 1       |
      | 18 | Канал 81,17(-)| 39 | Канал 82,18(-)| 60 | Канал 0       |
      | 19 | Канал 93,29(-)| 40 | Канал 80,16(-)| 61 | Общий         |
      | 20 | Канал 91,27(-)| 41 | Канал 92,28(-)| 62 | Канал 88,24(-)|
      | 21 | Канал 89,25(-)| 42 | Канал 90,26(-)|    |               |
      +----+---------------+----+---------------+----+---------------+

                              Разьем Х4.
                            ---------------

          Тип разъема на плате - ВН-34 ("папа").
          Ответка на кабель - IDC-34 ("мама") (в  базовый  комплект
          не входит).

                  +----+----------------+----+----------------+
                  | N| |  Назначение    | N| |  Назначение    |
                  +----+----------------+----+----------------|
                  | 01 | Канал 32       | 02 | Канал 33       |
                  | 03 | Канал 34       | 04 | Канал 35       |
                  | 05 | Канал 36       | 06 | Канал 37       |
                  | 07 | Канал 38       | 08 | Канал 39       |
                  | 09 | Канал 40       | 10 | Канал 41       |
                  | 11 | Канал 42       | 12 | Канал 43       |
                  | 13 | Канал 44       | 14 | Канал 45       |
                  | 15 | Канал 46       | 16 | Канал 47       |
                  | 17 | Канал 96 ,32(-)| 18 | Канал 97 ,33(-)|
                  | 19 | Канал 98 ,34(-)| 20 | Канал 99 ,35(-)|
                  | 21 | Канал 100,36(-)| 22 | Канал 101,37(-)|
                  | 23 | Канал 102,38(-)| 24 | Канал 103,39(-)|
                  | 25 | Канал 104,40(-)| 26 | Канал 105,41(-)|
                  | 27 | Канал 106,42(-)| 28 | Канал 107,43(-)|
                  | 29 | Канал 108,44(-)| 30 | Канал 109,45(-)|
                  | 31 | Канал 110,46(-)| 32 | Канал 111,47(-)|
                  | 33 | Общий          | 34 | Общий          |
                  +----+----------------+----+----------------+


                              Разьем Х5.
                            ---------------
          Тип разъема на плате - ВН-40 ("папа").
          Ответка на кабель - IDC-40 ("мама") (в  базовый  комплект
          не входит).

                  +----+----------------+----+----------------+
                  | N| |  Назначение    | N| |  Назначение    |
                  +----+----------------+----+----------------|
                  | 01 | Канал 48       | 02 | Канал 49       |
                  | 03 | Канал 50       | 04 | Канал 51       |
                  | 05 | Канал 52       | 06 | Канал 53       |
                  | 07 | Канал 54       | 08 | Канал 55       |
                  | 09 | Канал 56       | 10 | Канал 57       |
                  | 11 | Канал 58       | 12 | Канал 59       |
                  | 13 | Канал 60       | 14 | Канал 61       |
                  | 15 | Канал 62       | 16 | Канал 63       |
                  | 17 | Канал 112,48(-)| 18 | Канал 113,49(-)|
                  | 19 | Канал 114,50(-)| 20 | Канал 115,51(-)|
                  | 21 | Канал 116,52(-)| 22 | Канал 117,53(-)|
                  | 23 | Канал 118,54(-)| 24 | Канал 119,55(-)|
                  | 25 | Канал 120,56(-)| 26 | Канал 121,57(-)|
                  | 27 | Канал 122,58(-)| 28 | Канал 123,59(-)|
                  | 29 | Канал 124,60(-)| 30 | Канал 125,61(-)|
                  | 31 | Канал 126,62(-)| 32 | Канал 127,63(-)|
                  | 33 | Канал 94 ,30(-)| 34 | Канал 95 ,31(-)|
                  | 35 | Канал 30       | 36 | Канал 31       |
                  | 37 | Общий          | 38 | Общий          |
                  | 39 | +12В           | 40 | -12В           |
                  +----+----------------+----+----------------+

                              Разьем Х8.
                            ---------------
          Тип разъема на плате - ВН-8 ("папа").
          Ответка на кабель - IDC-8 ("мама") (в  базовый  комплект
          не входит).
          На разьем  выведены  управляющие  сигналы  2-го  канала
таймера i8254. Сигнал GATE - разрешение счета.  Активный  уровень
высокий. Если  сигнал    не    задействовать,    уровень    будет
соответствовать активному. Сигнал  EXT_CLK  -  внешние  импульсы,
которые могут быть при помощи J2 подключены на вход 2-го счетчика
таймера. OUT - выход  2-го  канала   таймера.   После    подсчета
заданного числа импульсов этот сигнал переходит  в  уровень  лог.
нуля по отрицательному фронту входного EXT_CLK. Этот сигнал (OUT)
также подключен как сигнал запрещения формирования  запусков  АЦП
от таймера (каналы 0-й и 1-й) и формирует прерывание. Эти сигналы
позволяют,  например  внешними  сигналами   запуска    произвести
заданное (в канале 2) количество измерений. Или использовать этот
канал для деления или подсчета внешних импульсов. В  этом  режиме
одновременная независимая оцифровка входного  сигнала  невозможна
из-за  запрещения  формирования  запусков  2-м  каналом  таймера.
Сигнал внешнего запуска производит запуск АЦП аналогично  запуску
от таймера (каналов 0 и 1). Запуск  активизируется  отрицательным
фронтом этого сигнала.
                           Цоколевка разьема Х8:
                  +----+----------------+----+------------------+
                  | N| |  Назначение    | N| |  Назначение      |
                  +----+----------------+----+------------------|
                  |  1 | Внешний запуск |  2 | Общий компьютера |
                  |  3 | GATE           |  4 | Общий компьютера |
                  |  5 | EXT_CLK        |  6 | Общий компьютера |
                  |  7 | OUT            |  8 | Общий компьютера |
                  +----+----------------+----+------------------+

=============================================================================
3. Функциональная схема АЦП.
=============================================================================


             +-----+  +-----------+  +------------+
 канал 0  -- |     |  |   ДУ x1   |  |            |
 канал 1  -- |     +- |вх+   x10  +- | Блок       |
          :  | ВМ  +- |вх-   x100 |  | развязки   |
 канал 128-- |     |  |      x1000|  |            |
             +-+-+-+  +----+-+----+  +-----+------+
                                            
              ++-+---------+-++      +-----+------+
              |      БГР      |      |    IN      |
              ++-+---------+-++      |    АЦП     |
                                     +--+-+-+-+---+
               | |         | |          | | | |
             +-+-+---------+-+----------+-+-+-+------------+
             |              схема управления               |
             +-----------------+--------+------------------+
           + /-12,+5В          |........|
                               |        |
            ++-+-++            |        |
            | ИПН |             ........ 
            +-+-+-+            |        |
              | |              |........|
            +-+-+--------------+--------+----------------+
            |              и н т е р ф е й с             |
            +--------------+---------------+-------------+
                           | ............. |
                                            
                              IBM PC/AT

   ИПН - импульсный преобразователь напряжения;
   БГР - блоки гальванических развязок;
   ВМ  - входной мультиплексор;
   ДУ  - блок  дифференциального усилителя;
   АЦП - аналого-цифровой преобразователь со встроенным
         устройством выборки-хранения;

===========================================================================
4. Описание работы с модулем.
===========================================================================
---------------------------------------------------------------------------
4.1. Общие сведения.
---------------------------------------------------------------------------


             При обращении к плате АЦП происходит  дешифрация  адреса.
          Для адресации модуля используются  десять  младших  разрядов
          шины адреса компьютера. Для работы АЦП  необходимо  адресное
          пространство ввода/вывода размером в 16 адресов.  АЦП  может
          работать со следующими диапазонами адресов:

                        200h...20fh
                         ..  ..  ..
                         ..  ..  ..
                        2f0h...2ffh
                        300h...30fh
                         ..  ..  ..
                         ..  ..  ..
                        3f0h...3ffh

           Это можно обозначить как 2x0...3xf, где x=0,1,....f.

             Начальный  адрес  каждого  поддиапазона   называется
          базовым адресом. Выбор  поддиапазона  осуществляется  с
          помощью  джамперов  J12  ,  которыми    устанавливаются
          разряды А4...А8 адресов, используемых при  обращении  к
          данному модулю.  Выбор  функции  АЦП,  выполняемой  при
          данном  обращении  к  плате,    осуществляется    путем
          дешифрации младших разрядов адреса A0...A3.
             Для  получения  информации  о  данном  канале  важно
          установленное предварительно значение номера  канала  и
          усиления.  При  обращении  к  плате    (запуске    АЦП)
          происходит  запись  новых  данных  в  аналоговую  часть
          схемы, а при следующем запуске происходит измерение  по
          этому номеру канала. При значительном  числе  измерений
          первый  'лишний'  запуск  не  отражается    на    общем
          быстродействии,  а  при  обработке  данных   необходимо
          учитывать  сдвиг  результатов  измерений   относительно
          запусков АЦП.  Такой  алгоритм  позволяет  не  отводить
          дополнительного  времени  на  переключение  каналов   и
          установление усилителей на новое значение напряжения,
          т.к. для этого у схемы  есть  время,  равное  интервалу
          запуска.
              Порт  данных  предназначен  для  чтения  результата
          преобразования АЦП. Чтение  результата  возможно  через
          1.4  мкс  после  запуска  преобразования.   В    случае
          обращения  к  порту    данных    до    момента    конца
          преобразования  модуль  задерживает  цикл  чтения    до
          готовности данных. При произведении ряда измерений  при
          соответствующей настройке перемычек возможна  генерация
          прерывания по половинному или полному  заполнению  ОЗУ.
          Таким образом  можно  организовать  два  метода  чтения
          результатов АЦП: непосредственное чтение  и  чтение  по
          прерыванию.

---------------------------------------------------------------------------
4.2. Аппаратные прерывания, формируемые платой АЦП.
---------------------------------------------------------------------------

                  АЦП может  генерировать  запросы  на  прерывание  по
          линиям:  IRQ5;IRQ10;IRQ11;IRQ12;IRQ15.
                Номер  линий   устанавливается    ключами    1,2,3,4,5
          переключателя JP2. Только  один  ключ  может быть замкнут.

                   События, вызывающие запрос на  прерывание:
                    1) ОЗУ наполовину заполнено;
                    2) ОЗУ заполнено полностью;
                    3) Третий канал таймера завершил подсчет
                       событий  (в  зависимости   от    положения
                       замыкателей на плате - внешних импульсов или
                       заданного числа измерений).
----------------------------------------------------------------------------
4.3. Таблица соответствия адресов, используемых при обращении к плате,
   и функций, выполняемых устройством.
---------------------------------------------------------------------------
+--------+--------------------------------------------------------------+
|Адрес(h)|          Функции устройства                                  |
+--------+--------------------------------------------------------------|
|  3х0   | Канал 0 таймера - интервал запуска АЦП;                      |
|  3х1   | Канал 1 таймера - интервал запуска АЦП (каскадирован с       |
|        | каналом 0);                                                  |
|  3х2   | Канал 2 таймера - подсчет числа запусков                     |
|        |   или внешних импульсов (выставляется перемычкой)            |
|  3х3   | Управляющее слово таймера:                                   |
|        |   Канал 0 таймера - 34(h);                                   |
|        |   Канал 1 таймера - 74(h);                                   |
|        |   Канал 2 таймера - b4(h);                                   |
+--------+--------------------------------------------------------------|
|  3хc   | ЗАПИСЬ - Регистр номера канала и диапазона опроса.           |
|        |          Запись формирует запуск преобразования.             |
|        |          Назначение разрядов следующее:                      |
|        |                                                              |
|        | D0---                                                        |
|        | D1 ... номер включаемого канала                              |
|        | D2 ... или номер канала, с которого                          |
|        | D3 ... начнется цикл сканирования                            |
|        | D4 ... 00000000-канал 0;    ($0000)                          |
|        | D5 ... 01111111-канал 127;  ($007f)                          |
|        | D6 ...                                                       |
|        | D7---                                                        |
|        |                                                              |
|        | D8---  Номер верхнего канала,                                |
|        | D9 ... до которого производится                              |
|        | D10... автоматическое сканирование при запуске от таймера.   |
|        | D11... Сканирование начинается с номера,                     |
|        | D12... заданного в разрядах D0-D6 и до                       |
|        | D13... номера минус один(!) в разрядах D8-D14. После         |
|        | D14... этого происходит автоматический повтор цикла.         |
|        | D15--  00000000-канал 0;    ($0000)                          |
|        |        10000000-канал 127;  ($8000)                          |
|        |        Т.е. верхний код должен быть на единицу               |
|        |             больше требуемого.                               |
|        |                                                              |
|  3хc   | ЧТЕНИЕ - D0-D11--  результат   преобразования                |
|        |                                                              |
|        |          D12-D15-  не учитывать при вычислении результата.   |
+--------+--------------------------------------------------------------|
|  3хe   | Запись - сброс содержимого и счетчиков адресов ОЗУ,          |
|        |          данные значения не имеют.                           |
+--------+--------------------------------------------------------------+

-----------------------------------------------------------------------------
4.4. Программирование таймера.
-----------------------------------------------------------------------------
             Таймер,  находящийся  на  плате  АЦП,  служит    для
          программирования интервала запуска (каналы таймера 0  и
          1)  и  подсчета  количества  сделанных  измерений   или
          внешних  импульсов  (канал  2).  Для  случая  одиночных
          запусков от компьютера необходимо сделать предустановку
          таймера, записав в него управляющие слова всех каналов.

                            Каналы 0,1 (адрес 3х0,3х1)
                           ----------------------------
              В АЦП используется режим работы  счетчиков  таймера
          N:2, в котором входной опорный временной интервал  (200
          нс)  умножается  в N(0)*N(1)  раз,  где:

                 N(0)-число, занесенное  в  счетчик  0 таймера;
                 N(1)-число, занесенное в счетчик 1 таймера;

             Заносимые числа в счетчики таймера должны  находится
          в диапазоне от 2 ($0002) до 65536  ($ffff).  Исходя  из
          минимального времени преобразования  АЦП,  равного  1,4
          мкс,  заносимое  в  счетчики  таймера  произведение  не
          должно быть меньше 8 (например, в канал 0 заносим 2,  а
          в канал 1 заносим 4).
          Т.к. 0-й счетчик таймера соединен каскадно с первым, то
          для осуществления минимального шага  изменения  периода
          запуска (0,4 мкс), изменяя данные только  в  канале  1,
          рекомендуется в 0-й канал  заносить  минимальное  число
          (2).
              Управляющие слова : счетчик 0 - 34;
                                  счетчик 1 - 74.

                            Канал 2 (адрес 3х2)
                       -----------------------------
              Счетчик таймера 2 используется  для  подсчета
          числа сделанных измерений или числа внешних  импульсов.
          Режим  счета   определяется    положением    перемычек.
          После  подсчета  числа    импульсов,    соответствующих
          записанному в  счетчик  числу  происходит  блокирование
          запусков  от  таймера. Для  того,  чтобы  счетчик    не
          оказывал влияния на работу платы, в  него  записывается
          только управляющее слово. Заносимое  в  счетчики  число
          может находиться в пределах от 2 до 65536.  Управляющее
          слово:

                          счетчик 2 - b4.

                Управляющие слова заносятся по адресу 3х3.

                Последовательность    программирования    таймера
          следующая: вначале записываются управляющие слова  всех
          каналов, затем записывается содержимое  счетчиков.  При
          этом нулевой канал программируется последним, поскольку
          как только произойдет запись, таймер начнет формировать
          запуски  АЦП.  Запись  в  счетчики  делается  побайтно,
          вначале младший байт, затем старший, независимо от того
          равен последний нулю или нет.

               Пример программирования таймера:

                  Интервал запуска 20 мкс, число измерений-4096.
                      ( TurboPascal, базовый адес 300 )

                  port[$303]:=$34;     {управляющее слово канала 0}
                  port[$303]:=$74;     {управляющее слово канала 1}
                  port[$303]:=$b4;     {управляющее слово канала 2}
                  port[$302]:=$ff;     {  число   4096    в    }
                  port[$302]:=$0f;     { шестнадцатеричном виде }
                  port[$301]:=$32;     {число 50 в шестнадцатеричном коде}
                  port[$301]:=$0;
                  port[$300]:=$02;
                  port[$300]:=$0;

----------------------------------------------------------------------
4.5.  Порядок программирования модуля.
----------------------------------------------------------------------
Модуль AD12-128H позволяет реализовать следующие  основные  режимы
работы аналого-цифрового преобразователя:

   ВАЖНО!!!
   Ознакомьтесь с разделом 4.1(Общие сведения), абзац 4,  относи-
тельно того,  как  получить  информацию  о  нужном  канале.  Если
оцифровка ведется по одному каналу, нужен  только  один  холостой
запуск в начале работы по этому каналу.

                     ПЕРВЫЙ РЕЖИМ
   Запуск преобразования от компьютера с  считыванием  результата
сразу  после  запуска.  Этот  режим  используется  в  подавляющем
большинстве задач.
           Описание механизма работы:
   При записи данных  о  номере  канала  (D0-D7)  по  порту  $3xc
автоматически происходит запуск АЦП. Значения разрядов  D8-D15  в
этом режиме значения  не  имеет.  Оцифровка  осуществляется  того
значения напряжения, которое было на  входе  ДО  момента  старта.
Сразу  после  момента  записи  данных  можно  производить  чтение
результата преобразования по этому же адресу. Эти данные появятся
через интервал времени, равный времени преобразования модуля (1,4
мкс). Для осуществления корректного чтения на это время  на  шину
компьютера  выставляется  сигнал  затягивания  цикла    обращения
(сигнал channel_ready). Максимальная  скорость  преобразования  в
таком режиме составляет не более 500кГц  и  зависит  от  настроек
шины ISA компьютера и алгоритма программирования.  Типичный  цикл
ввода/вывода по шине ISA составляет 0,8 - 1мкс.
   Обратите внимание, что сигнал задержки  выставляется  на  шину
компьютера  только  при  ЧТЕНИИ  из   модуля.    Поскольку    это
непроизводительные потери компьютерного времени,  для  реализации
максимального быстродействия  в  этом  режиме  рекомендуется  все
вычисления производить именно после запуска преобразования, а  не
после чтения. Таким образом  теряемые обычно около 0,6 мкс  можно
использовать  для  вычислений  "на  ходу"  без  потери   скорости
преобразования. При таком режиме рекомендуется использовать  цикл
(язык  программирования  TurboPascal)  типа  "for...  to".  Перед
циклом  необходимо  предустановить  таймер,  записав    в    него
управляющие слова, сбросить содержимое памяти и  произвести  один
"холостой" запуск  АЦП  записью  по  порту  $3xc.  После  запуска
необходимо сформировать задержку длительностью около  1мс.  После
этого перейти к циклу.
     Разновидностью  запуска  от  компьютера  является   пакетный
режим. Необходимое количество запусков  делается  сразу  пакетом,
один  за  другим  (с  формированием  необходимой  задержки  между
запусками), чтение делается также пакетом.

          Алгоритм программирования для режима запуска от
          компьютера:
1) Запрограммировать управляющие слова таймера;
2) Сбросить память;
3) Запрограммировать регистр номера канала;
4) Сделать задержку около 1 мс;
5) Сделать необходимое количество запусков с чтением после
   каждого запуска, или:
   сделать заданное количество запусков, а потом
   прочитать пакет данных. При этом необходимо  при  формировании
   запусков обеспечить задержку на время  преобразования.  Способ
   формирования  минимальной  задержки  -  одно    дополнительное
   обращение по незадействованному порту  (или  скажем,  записать
   управляющее слово таймера) после каждого запуска.


                     ВТОРОЙ РЕЖИМ
   Запуск  преобразования  от  встроенного  таймера  с    записью
значений в ОЗУ модуля и возможностью автоматического сканирования
по  каналам.  Применяется  для  получения  максимальной  скорости
выборки и/или высокостабильного  интервала  измерения  для  целей
спектральной обработки, цифровой фильтрации и других  задач,  где
важна информация о форме сигнала.

           Описание механизма работы:
   Программируется диапазон опрашиваемых каналов записью  в  порт
запуска АЦП  ($3xc).  Данные  D0-D7 - номер  канала,  с  которого
начнется опрос (нижний номер), D8-D15- номер канала, до  которого
будет происходить автоматическое  сканирование  (верхний  номер).
! Важно ! код верхнего  номера  должен  быть  на  единицу  больше
требуемого.
   После достижения верхнего  номера  цикл  опроса  автоматически
повторится с нижнего номера до верхнего  и  т.д.  Если  измерения
должны происходить только по  одному  каналу,  нижний  и  верхний
номер должны совпадать, либо верхний может быть на единицу больше.
   После  задания  диапазона  опроса  программируется    интервал
запуска в таймере. Перед занесением последнего значения в  таймер
следует  произвести  сброс  памяти.  После  занесения  последнего
значения в счетчики таймера начнется формирование запусков АЦП  с
записью  результатов  измерений  в  память.
   В  зависимости  от  выбранной  скорости    преобразования    и
требований выполняемой задачи  можно  применять  разный  алгоритм
чтения.
   Первый  алгоритм    (рекомендуемый    для    высокоскоростного
преобразования) заключается в  том,  что  после  программирования
интервала запуска  сразу  начинается  чтение  из  памяти.  Размер
массива данных в этом случае не ограничен емкостью  установленной
на борту двухпортовой памяти  типа  FIFO  (2К  слова),  поскольку
операция чтения данных  компьютером  (цикл  чтения  составляет  в
среднем  0,8-1мкс)  превышает  по  быстродействию    максимальную
скорость преобразования модуля (время  преобразования  составляет
1,4 мкс). Если между программированием таймера и  началом  чтения
будет задержка,  скажем  на  вычисления  или  др.,  данные  будут
накапливаться в памяти. Обратите внимание, что  если  из-за  этой
задержки  АЦП  успеет  накопить  2К  слов,  последующие   запуски
заблокируются до начала момента чтения из  памяти.  После  начала
чтения обьем  хранящихся  данных  в  памяти  начнет  уменьшаться,
особенно быстро если интервал запуска заметно больше 2  мкс.  Как
только будут прочитаны все ранее  накопленные  в  памяти  данные,
сигналы  чтения  компьютера  будут  автоматически  "затягиваться"
путем выставления сигнала channel_ready на шину  компьютера.

    Второй    алгоритм,    являясь    разновидностью     первого,
используется, если выборка размером  2К  слова  достаточна  и/или
интервал запуска установлен  сравнительно  большой.  Тогда  после
программирования  таймера  программа  может  значительное   время
тратить на другие операции  (скажем,  отображение  данных)  перед
тем, как читать результаты преобразования.  После  заполнения  на
плате 2К ячеек памяти процесс запуска  автоматически  остановится
до начала момента чтения.

    Третий алгоритм  отличается  использованием  сигнала
прерывания. Используется при больших интервалах запуска  или  при
внешнем  запуске.  Сигнал  прерывания  может   выставляться    по
половинному  или  полному  заполнению  памяти,  что  определяется
положением перемычек на плате.

          Алгоритм программирования для режима запуска от
          таймера:
1) Запрограммировать управляющие слова таймера;
2) Сбросить память;
3) Запрограммировать регистр номера канала;
4) Запрограммировать счетчики таймера;
5) Сделать необходимое количество циклов  чтения  (предварительно
   дождавшись сигнала прерывания, если оно используется).


                   ОБЩИЕ РЕКОМЕНДАЦИИ:
   При переключении с канала на канал необходимо учитывать, что в
этот момент формируется помеха тому каналу, на который происходит
переключение. Если источник сигнала является  со  стороны  выхода
быстродействующим  усилителем  и/или  обладает  низким   выходным
сопротивлением,  в  этом  случае  переключение  с    максимальной
скоростью не приведет к нежелательным последствиям.  В  противном
случае  будет  проявляться  взаимовлияние   каналов    и    будут
проявляться  дополнительные  шумы  в  канале    измерения.    Для
устранения подобного эффекта самый простой и эффективный способ -
увеличить время, отводимое на один  канал.  Для  высокоомных  или
"медленных"  источников  сигнала  это  время   может    составить
единицы-десятки миллисекунд.
    Другой  способ  заключается  в   подсоединении    параллельно
источникам сигнала конденсаторов емкостью до  единиц  микрофарад.
При этом выход источника должен быть  не  активным,  т.е  это  не
должен быть  выход  усилителя,  иначе  возникнет  самовозбуждение
последнего. Для  этих  условий  между   выходом    усилителя    и
конденсатором (точка подключения входа  АЦП) необходимо  включить
резистор номиналом 100-300 Ом. Полоса частот входного сигнала при
этом соответственно снижается. Частота среза (завал АЧХ на уровне
-30%) такого RC фильтра составляет Fср=1/(6,28*R*C).



==============================================================================
5. Вычисление результата измерения.
==============================================================================
              При  использовании  АЦП  необходимо  помнить,   что
          результат измерения выводится в дополняющем коде.
              Для  получения  истинного    значения    результата
          измерения  данные,  полученные  из  модуля,  необходимо
          преобразовать.  Преобразование  заключается  в    учете
          формата вывода результата положения перемычек на  плате
          и режима работы платы. Формула, по которой  вычисляется
          результат для однополярного режима:

           Результат базовый =(12 разрядов данных /4096)*10,24-5,12.

           Удобно использовать программный сдвиг влево на  четыре
           разряда  для  получения  16-ти  разрядных  данных    и
           вычисление производить по формуле:

           Результат базовый =(16 разр. данных /65536)*10,24-5,12.


              Для режима деления входного сигнала:

           Результат (с делением)=Результат базовый * 2.

              Для режима с усилением:

           Результат (с усилением)=Результат базовый : 10
                                                     : 100
                                                     : 1000

           Результат (с усилением+деление)=Результат базовый : 5
                                                             : 50
                                                             : 500

==========================================================================
6. Примеры программирования АЦП.
==========================================================================
--------------------------------------------------------------------------
6.1.Циклический запуск АЦП от компьютера по одному каналу.
--------------------------------------------------------------------------


uses Crt;
var
    r,i:integer;
    v:real;
begin
       port[$303]:=$34;
       port[$303]:=$74;
       port[$303]:=$b4;
       portw[$30c]:=$0080;
       portw[$30e]:=$ffff;

   repeat

  for i:=0 to 16 do begin
        portw[$30c]:=$0080;  port[$303]:=$34;end;
  for i:=0 to 15 do begin
 r:= portw[$30c] shl 4 + $7ff0;
v:= (r/65535)*10.24-5.12;
     gotoXY(1,3);
 if ( V > 0) then
   writeln ( 'ADC=+',v:5:3,' V')
 else
   writeln ( 'ADC=',v:6:3,' V');
delay(1600);
  end.

--------------------------------------------------------------------------
6.2.Запуск от таймера по одному каналу.
--------------------------------------------------------------------------
uses Crt;
var
    r,i:integer;
    v:real;
 begin
  clrscr;
writeln('ТЕСТ 6 - проверка запуска от таймера ');

       portw[$30e]:=$0;
       portw[$30c]:=$0080;
       port[$303]:=$36;
       port[$303]:=$76;
       port[$303]:=$b6;
       port[$300]:=$12;
       port[$300]:=$00;
       port[$301]:=$04;
       port[$301]:=$ff;
repeat
  begin
    r:= portw[$30c] shl 4 + $7ff0;
    v:= (r/65535)*10.24-5.12;
    gotoXY( 2,2);
    if ( V > 0) then
      writeln ( 'res','=+',v:5:3,' V')
    else
      writeln ( 'res','=',v:6:3,' V');
  end;

  until keypressed;
 end;

============================================================================
        Фирма  предлагает  к  поставке  модули  АЦП,  модули  ЦАП,
       устройства ввода-вывода цифровой информации (до 192  каналов),
       средства промышленной  автоматизации и другое  оборудование.
                        За справками обращаться:
               (для писем)  252110,  Украина,  г.Киев-110,
                   252056 г. Киев, ул. Борщаговская 97б
            тел.(044) 241-85-29,446-61-19, факс(044) 241-85-28
                     E-mail: wad@saturn-data.com
                       http://www.saturn-data.com
============================================================================
Назад к каталогу