Аналого-цифровой преобразователь АЦП100/10-2х128к


Содержание

1. Основные характеристики АЦП
2. Общая структура АЦП
3. Аналоговые входы каналов АЦП
4. Канал Старт/Стоп
5. Вход тактовой частоты
6. Тактовый генератор
7. Режимы работы АЦП

7.1. Режим RG0

7.1.1. Подготовка памяти
7.1.2. Чтение данных из памяти

7.2. Режим RG1
7.3. Режим RG2
7.4. Режим RG3

8. Регистр состояния и структура LAM запросов
9. Функции КАМАК

9.1. Команды F0A0 и F0A1
9.2. Команда F1A0
9.3. Команда F1A1
9.4. Команда F16A0
9.5. Команда F16A1
9.6. Команда F16A2
9.7. Команда F16A3
9.8. Команда F16A4
9.9. Команда F17A0
9.10. Команда F8A0
9.11. Команда F10A0

10. Дополнительная информация

10.1. Управление входами - основные команды
10.2. Канал Старт-Стоп - основные команды
10.3. Задание частоты дискретизации
10.4. Использование LAM запросов
10.5. Формат выходных данных и их предварительная обработка

10.5.1. Режим RG1
10.5.2. Режим RG2
10.5.3. Режим RG3

11. Размещение деталей на плате АЦП


  1. Основные характеристики АЦП
  2.  

    АЦП100/1--2х128к представляет собой двухканальный 10-разрядный аналого-цифровой преобразователь, имеющий два полностью синхронных канала с частотой оцифровки данных в диапазоне от 390.652 кГц до 100 МГц с шагом 2 (множитель) с памятью 128 К слов (131072 выборок) в каждом канале.

    Максимальное входное напряжение +/- 4 В, рабочие диапазоны входных напряжений - от +/- 0.5 до +/- 3 В. Диапазон измеряемых напряжений в сетке -0.5 - +0.5, 0 - +1, -1 - 0, -1 - +1, 0 - +2, -2 - 0, -2.5 - +2.5 В может устанавливаться программно и независимо в каждом канале. Возможны и иные настройки (см. раздел "Аналоговые входы каналов АЦП". Отрицательные шкалы могут быть установлены только в одном из каналов или в обоих каналах одновременно).

    Входное сопротивление обоих каналов АЦП - 200 Ом или 50 Ом (переключение - джампером на плате) (возможно увеличение входного сопротивления до 1 кОм). Входное сопротивление входов "Старт-Стоп" и тактовой частоты - 50 Ом.

    Полоса частот обоих каналов АЦП и канала синхронизации - 100 МГц.

    Синхронизация работы АЦП может производиться по сигналам с одного из каналов АЦП, по сигналам, подаваемым на вход "Старт-Стоп" и по командам ЭВМ. Выбор источника синхронизации, порога срабатывания, полярности запуска и задержки сигнала синхронизации - программные. В режимах с остановкой по сигналу синхронизации (RG2 и RG3) предусмотрена задержка сигнала синхронизации, позволяющая установить нужную величину предыстории сигнала.

    Тактовый генератор - встроенный, 100 МГц. Для синхронизации работы нескольких модулей может использоваться внешний тактовый сигнал с частотой в диапазоне 40 - 100 МГц с выходным напряжением 0.2 - 2 В (амплитудное значение) на нагрузке 50Ом. При тактовой частоте отличной от 100 МГц частоты дискретизации меняются соответственно.

    АЦП может работать в одном из четырех режимов:

    - подготовка памяти и чтение данных (режим RG0);

    - старт по сигналу синхронизации с заполнением всей памяти (режим RG1);

    - циклическое заполнение всей памяти с остановкой по сигналу синхронизации (режим RG2);

    - последовательное циклическое заполнение банков памяти по 512 слов каждый с переходом к заполнению следующего банка по сигналу синхронизации или команде ЭВМ и остановкой по заполнению всех банков памяти или команде ЭВМ (режим RG3).

    Для работы в режиме остановки записи по команде, АЦП обеспечивает запись в память дополнительной информации, которая позволяет определить, была ли записана данная ячейка, и определить последнюю записанную ячейку каждого банка (режим RG3) или всей памяти (режим RG2).

    Исполнение - модуль КАМАК одиночной ширины.

    Ток потребления - по шине +6В - не более 1 А, по шине -6 В - не более 500 мА.

    Назначение разъемов модуля

    Передняя панель модуля приведена на рис.1.
    -разъем "100 MHz Output" - выход встроенного генератора частоты 100 МГц.
    -разъемы "ADC1 INP" и "ADC2 INP" - аналоговые входы АЦП (канала 1 и канала 2 соответственно).
    -разъем "STR/STP INP" - вход сигнала синхронизации "Старт-Стоп".
    -разъем "CLK INP" - вход тактовой частоты.

    На передней панели модуля размещен также индикатор "WORK", сигнализирующий о записи данных в память АЦП.

    Содержание

  3. Общая структура АЦП
  4. Общая структурная схема АЦП приведена на рис. 2. Сигналы с аналоговых входов "ADC 1 INP" и "ADC 2 INP" поступают на входные цепи соответствующих каналов, где производится их масштабирование и смещение. Далее, обработанные сигналы поступают на АЦП и входные цепи канала "Старт-Стоп".

    Сигналы со входа "STR/STP" поступают на входные цепи канала "Старт-Стоп", в которых осуществляется выбор источника сигнала синхронизации, задание порога и полярности срабатывания схемы синхронизации и выработки сигнала "Старт-Стоп". Сигнал "Старт-Стоп" поступает на блок логики, который осуществляет задержку сигнала синхронизации и управляет началом и концом записи результатов оцифровки в память. Блок логики определяет также режим работы и вырабатывает сигналы разрешения записи "ENB_WR" и сигнал приращения номера банка "INC_BANK".

    Сигнал со входа "CLK" поступает на формирователь тактовой частоты, который формирует сигналы тактовой частоты для всех блоков АЦП. Он также производит деление тактовой частоты и вырабатывает сигнал записи данных в память "WR".

    Сигналы с блока "Логика Старт-Стоп" и формирователя тактовых сигналов управляют работой счетчиков адреса банка и номера банка. Счетчики задают адрес записи данных в память и вырабатывают сигналы переполнения "P1" и "P2.

    Сигналы "ENB_WR", "INC_BANK", "P2" являются сигналами состояния. По ним могут вырабатываться LAM запросы. Их значения могут быть прочитаны с ЭВМ для определения текущего состояния АЦП и управления его работой.

    Цифро-аналоговые преобразователи (ЦАП) смещения и порога вырабатывают напряжение смещения для входных цепей первого и второго каналов АЦП и напряжение порога срабатывания для входных цепей канала "Старт-Стоп".

    Блок декодера команд и логики управления обеспечивает передачу команд и данных через магистраль "КАМАК", содержит регистры состояния и запросов и обеспечивает выдачу сигналов LAM в магистраль крейта.

    Генератор 100 МГц обеспечивает тактовые сигналы для модуля АЦП.

    Рис. 2. Структура АЦП

     

    Содержание

  5. Аналоговые входы каналов АЦП
  6. Структурная схема входных цепей каждого из каналов АЦП приведена на рис. 3. Сигнал с входов "ADC1 INP" и "ADC2 INP" поступает на ограничитель сигналов с порогом ограничения около 4 В. После него, сигнал идет на делитель напряжения с сопротивлением 200 Ом (возможно значение до 1 кОм). Параллельно делителю стоит дополнительное согласующее сопротивление, подключаемое джамперами JP3 (канал 1) и JP1 (канал 2) (см. рис. 6), которое уменьшает входное сопротивление до 50 Ом. Выбор коэффициента передачи делителя (1, 1/2, 1/5, 0 - вход канала заземлен) осуществляется программно с помощью аналогового входного мультиплексора делителя напряжения.

    После входного мультиплексора, сигнал поступает на вычитающий усилитель и на входной мультиплексор канала синхронизации (см. канал синхронизации). Вычитающий усилитель служит для смещения входов АЦП по постоянному уровню. Напряжение смещения на вычитающий усилитель может поступать от одного из четырех источников смещения. Выбор источника смещения осуществляется программно с помощью аналогового мультиплексора смещения независимо в каждом из каналов АЦП. Канал смещения 0 дает нулевое смещение, каналы смещения 1 и 2 дают смещения, определяемые подстроечными резисторами R181 и R168 для первого канала и R9 и R2 для второго канала АЦП соответственно. Канал смещения 3 позволяет программно установить смещение в диапазоне от -1.25 до +1.25 В с ЦАП смещения. ЦАП смещения общий для обоих каналов АЦП.

    С выхода вычитающего усилителя сигнал поступает на вход АЦП. Диапазон входных напряжений АЦП - +/- 0.5 В. Комбинируя коэффициент передачи и, задавая соответствующие значения смещения каналов смещения 1 и 2 подстроечными потенциометрами R181, R168, R9, R2 (см. рис. 6), можно получить указанные выше диапазоны входных напряжений устанавливаемые независимо по каждому из каналов. Используя канал смещения 3 можно программно смещать шкалу одного из каналов или обоих каналов одновременно.

    Задание коэффициентов деления входных делителей и выбор каналов смещения обоих каналов АЦП производится командой F16A1. Задание напряжения ЦАПа смещения - командой F16A3 (данные инверсны).

    Рис. 3. Структура аналоговых входов АЦП

     

    Содержание

  7. Канал Старт/Стоп
  8. Упрощенная структурная схема канала "Старт-Стоп" приведена на рис. 4. Сигнал с входа "STR/STP INP" поступает сначала на входной ограничитель, затем на нулевой канал мультиплексора канала синхронизации. На первый и второй входы мультиплексора поступают сигналы с 1 и 2 каналов АЦП соответственно. Эти сигналы берутся после входного делителя АЦП, но до смещения. Четвертый канал мультиплексора заземлен и может использоваться для запрета внешних сигналов "Старт-Стоп". Управление мультиплексором производится командой F16A2, два младших бита данных задают номер канала мультиплексора, бит 3 должен быть равен нулю в данной модификации АЦП.

    С выхода мультиплексора сигнал поступает на компаратор, на второй вход которого подается напряжение порога срабатывания. В зависимости от положения джампера К4 (см. рис. 6) напряжение порога берется либо с потенциометра R64 (положение 1-2) либо с ЦАПа порога (положение 2-3). Первая ножка джампера К4 на рис. 6 отмечена квадратом, вторая и третья - кругом. Выходное напряжение ЦАП порога определяется командой F16A4 и может быть установлено в диапазоне от -1.25 до +1.25 В (данные инверсны).

    Выходной логический сигнал компаратора поступает на одновибратор через управляемый инвертор. Наличие или отсутствие инверсии определяется битом 4 команды установки режима работы (F16A0 со старшим кодом 0h). При отсутствии инверсии, действующим фронтом сигнала является положительный. Одновибратор запускается по переходу сигнала из нуля в единицу.

    Далее сигнал суммируется с сигналом, вырабатываемым подачей команды "Старт-Стоп" (F16A0 с кодом 70h) и, если триггер разрешения сигнала "Старт-Стоп" установлен, попадает на схему задержки. Триггер разрешения "Старт-Стоп" устанавливается командой разрешения "Старт-Стоп" (F16A0 со старшим кодом 6h) и сбрасывается по появлению выходного сигнала "Старт-Стоп" в режимах RG1 и RG2 или по завершении записи в режиме RG3.

    В зависимости от состояния бита 3 (разрешение задержки) в команде установки режима работы (F16A0 с кодом старшей тетрады 0h), сигнал либо сразу поступает на выход, минуя схему задержки, либо предварительно задерживается в схеме задержки в режимах RG2 и RG3. Величина задержки может устанавливаться в диапазоне от 0 до 256 в зависимости от бит 1-4 команды F16A0 с кодом старшей тетрады 1h. В режиме работы RG3 задержка отсчитывается в тактах записи, в режиме RG2 используется дополнительный множитель 512.

    Рис. 4. Структурная схема канала "Старт-Стоп"

     

    Содержание

  9. Вход тактовой частоты
  10. Вход тактовой частоты "CLK INP" имеет входное сопротивление 50 Ом и емкостную развязку. Напряжение подаваемого сигнала должно лежать в диапазоне от 0.2 до 2 В (амплитудное значение). В стандартном режиме вход соединен коротким кабелем с выходом встроенного генератора "100MHz OUTPUT". При использовании внешнего генератора тактовой частоты, его частота должна лежать в диапазоне от 40 до 100 МГц при выходном напряжении от 0.2 до 2 В на нагрузке 50 Ом. При отклонении тактовой частоты от 100 МГц, соответственно меняются частоты дискретизации входных сигналов. В тексте данного описания тактовая частота считается равной 100 МГц.

    Выборки АЦП производятся по отрицательным фронтам тактового напряжения синхронно в обоих каналах АЦП. Запись результата оцифровки в память производится синхронно. Частота дискретизации равна тактовой частоте деленной на 2Kf, где "Kf" - программно задаваемый коэффициент деления тактовой частоты. "Kf" задается командой F16A0 с кодом старшей тетрады 2h и кодом младшей тетрады задающим значение "Kf" от 0 до 8. "Kf" равный нулю задает частоту выборок равную тактовой, "Kf" равный 8 - 390.652 кГц (коэффициент деления равен 256).

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

    Содержание

  11. Тактовый генератор
  12. Выход "100 MHz OUTPUT" - выход встроенного кварцевого генератора. Его частота - 100 МГц +/- 0.1%, выходное напряжение - не менее 0.2 В на нагрузке 50 Ом (амплитудное значение).

    Содержание

  13. Режимы работы АЦП
  14. АЦП имеет четыре режима работы - RG0 - RG3. Режим RG0 используется для подготовки памяти и чтения данных из памяти. Режимы RG1 - RG3 используются для записи данных в память.

    Во всех случаях, кроме чтения данных из памяти в режиме RG0, следует сначала установить нужный режим работы, затем запустить его (одним из указанных ниже для каждого режима способов), затем дождаться его завершения или принудительно завершить его командой "Стоп" (см. далее). Установка режима производится командой F16A0 с кодом старшей тетрады равным нулю. При этом биты 3 и 4 младшей тетрады задают разрешение задержки канала "Старт-Стоп" и инверсию сигнала "Старт-Стоп" соответственно, а биты 1 и 2 младшей тетрады задают номер режима (0 - 3).

    При описании используются следующие термины.

    Следует помнить, что данные в команде F16A0 следует инвертировать при передаче.

    Содержание

    1. Режим RG0
    2. Используется для подготовки памяти и чтения данных из памяти.

      1. Подготовка памяти
      2. Подготовка памяти необходима для очистки служебных бит D14 и D15. Остальные используемые биты данных (D0 - D10) могут быть установлены в 0 или в 1 в зависимости от положения джамперов К6 (канал 1) и К5 (канал 2) (см. рис. 6). Положение джамперов 1-2 соответствует заполнению единицей, положение 2-3 - нулем. Первые ножки джамперов К5 и К6 на рис. 6 отмечены квадратом, вторые и третьи - кругом.

        Подготовка памяти производится следующим образом.

        1. Устанавливается режим работы RG0 командой F16A0 с кодом старшей тетрады 0. Биты 3 и 4 младшей тетрады задают разрешение задержки канала "Старт-Стоп" и инверсию сигнала "Старт-Стоп", но в режиме RG0 их значение несущественно. Биты 1 и 2 младшей тетрады задают номер режима (0 - 3) и должны быть равны 0.

        2. Сбрасывается адрес памяти командой "Сброс адреса"

        3. Запускается подготовка памяти командой "Старт"

        4. Ожидание завершения режима подготовки памяти или пауза более 1.4 мсек.

        Определить момент окончания подготовки памяти (а также завершения работы любого из режимов) можно по переходу из единицы в ноль сигнала "ENB_WR" регистра состояния. Контролировать этот сигнал можно используя LAM запросы или опрашивая регистр состояния (см. раздел "Регистр состояния и структура LAM запросов").

        Значения коэффициента деления тактовой частоты в этом режиме не играют роли, т.к. в нем принудительно устанавливается максимальная частота записи. Длительность цикла подготовки памяти - примерно 1.32 мсек. Время окончания режима может быть определено с использованием LAM запросов или опросом источника LAM (см. далее).

      3. Чтение данных из памяти
      4. Чтение данных из памяти производится командами F0A0 для канала 0 и F0A1 для канала 1. Получаемые данные следует инвертировать. По каждой команде происходит увеличение адреса памяти на единицу. Перед началом чтения данных следует установить режим RG0 (F16A0 с кодом 00h) и сбросить адрес памяти командой "Сброс адреса". Затем считывается необходимое число данных одного из каналов, затем, после повторного сброса адреса памяти - другого. В принципе, если число циклов чтения точно равно числу ячеек памяти (131072), то повторный сброс адреса не нужен, т.к. следующий адрес будет равен нулю.

        В разрядах D0 - D9 получаемых данных находится результат оцифровки входного сигнала, разряд D10 - признак переполнения АЦП. Бит D14 указывает на то, что в ячейку были записаны данные, бит D15 - признак последней записанной ячейки памяти в режиме RG2 или признак последней записанной ячейки банка в режиме RG3 (см. раздел "Формат выходных данных и их предварительная обработка").

        Время нахождения в этом режиме не ограничено.

      Содержание

    3. Режим RG1
    4. Режим RG1 предназначен для записи всей памяти с начала и до конца. Запуск режима может производиться двумя способами - асинхронным по команде "Старт" или синхронным - по внешнему сигналу "Старт-Стоп", который в этом режиме интерпретируется как "Старт". Режим завершается после заполнения всей памяти или подачи команды "Стоп". Последовательность действий при использовании этого режима следующая.

      0. Произвести подготовку памяти в режиме RG0.

      1. Задать частоту выборок записью коэффициента деления делителя (командой F16A0 с кодом старшей тетрады 2h и коэффициентом деления от 0 до 8 в младшей тетраде).

      2. Установить режим RG1 командой F16A0 с кодом старшей тетрады равным 0, и двумя младшими битами с кодом 01h. Бит 4 младшей тетрады должны соответствовать выбранному режиму инверсии сигнала "Старт-Стоп", бит 3 должен быть равен 0 (задержка синхросигнала в режиме RG1 не предусмотрена). При использовании для запуска режима внешнего сигнала "Старт-Стоп", необходимо дополнительно задать источник синхросигнала и порог срабатывания канала синхронизации.

      3. Сбросить адрес памяти командой "Сброс адреса";

      4а. Для асинхронного запуска режима - подать команду "Старт";

      4б. Для синхронного запуска режима внешним сигналом, следует разрешить срабатывание по внешнему сигналу командой "Разрешение Старт-Стоп". Разрешение сигнала "Старт-Стоп" автоматически сбрасывается по завершении режима, поэтому, при повторном запуске, его необходимо снова установить.

      5. После запуска режима одним из перечисленных выше способов следует дождаться его завершения (установки в ноль сигнала "ENB_WR" регистра состояния используя LAM запрос или опрашивая регистр состояния), или принудительно завершить режим командой "Стоп".

      6. После завершения режима, считать данные из памяти, перейдя в режим RG0.

      Содержание

    5. Режим RG2
    6. Режим RG2 предназначен для циклической записи всей памяти. Запуск режима производится командой "Старт". После этого начинается циклическая запись в память начиная с текущего адреса, поэтому перед запуском режима желательно сбросить адрес памяти. Длительность этой фазы режима не ограничена. Завершение режима производится одним из двух способов - асинхронным - по команде "Стоп" или синхронным - по внешнему сигналу "Старт-Стоп", который в этом режиме интерпретируется как "Стоп".

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

      0. Произвести подготовку памяти в режиме RG0.

      1. Задать частоту выборок записью коэффициента деления делителя командой F16A0 с кодом старшей тетрады 2h и коэффициентом деления от 0 до 8 в младшей тетраде.

      2. Установить режим RG2 командой F16A0 с кодом старшей тетрады равным 0, и двумя младшими битами с кодом 02h. Биты 3 и 4 младшей тетрады должны соответствовать выбранному режиму работы задержки и инверсии сигнала "Старт-Стоп". При использовании для запуска режима внешнего сигнала "Старт-Стоп", необходимо дополнительно задать источник синхросигнала, порог срабатывания и величину задержки синхросигнала (в этом режиме задержка устанавливается в тактах записи 512).

      3. Сбросить адреса памяти командой "Сброс адреса";

      4. Подать команду "Старт".

      5. При использовании синхронной остановки записи - разрешить остановку внешним сигналом "Старт-Стоп" командой "Разрешение Старт-Стоп". Для получения максимально возможной предыстории сигнала, перед разрешением остановки по внешнему сигналу, следует дать некоторую задержку, достаточную для заполнения всей памяти. Задержка может быть программной или с определением перехода через верхнюю границу памяти по сигналу P2, контролируемому по LAM запросу или опросом регистра состояния. При использовании асинхронной остановки режима этот пункт следует пропустить.

      6а. Для асинхронного завершения режима - подать команду "Стоп"

      6б. При синхронной остановке режима следует дождаться его завершения (установки в ноль сигнала "ENB_WR" регистра состояния используя LAM запрос или опрашивая регистр состояния) или, при отсутствии внешнего сигнала, принудительно завершить режим командой "Стоп".

      7. После завершения режима, считать данные из памяти, перейдя в режим RG0.

      Содержание

    7. Режим RG3
    8. В этом режиме вся память разбивается на 256 отдельных зон (банков) по 512 ячеек каждая. При запуске режима командой "Старт" начинается циклическая запись в первый банк памяти (если адрес памяти был предварительно сброшен). По команде "Старт-Стоп" (асинхронное переключение банка) или внешнему сигналу "Старт-Стоп" (синхронное переключение банка) запись в текущий банк памяти останавливается и начинается циклическая запись следующего банка. Длительность циклической записи в любой банк не ограничена. Пауза между остановкой записи в данный банк и началом записи в следующий отсутствует, запись в следующий банк начинается по следующему такту записи. Завершение режима происходит после завершения записи последнего банка (установлен адрес последнего банка и пришел сигнал "Старт-Стоп") или по команде "Стоп". Этот режим позволяет сделать до 256 независимых выборок сигнала без пауз для считывания данных из памяти.

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

      0. Произвести подготовку памяти в режиме RG0.

      1. Задать частоту выборок записью коэффициента деления делителя командой F16A0 с кодом старшей тетрады 2h и коэффициентом деления от 0 до 8 в младшей тетраде.

      2. Установить режим RG3 командой F16A0 с кодом старшей тетрады равным 0, и двумя младшими битами с кодом 03h. Биты 3 и 4 младшей тетрады должны соответствовать выбранному режиму работы задержки и инверсии сигнала "Старт-Стоп". При использовании для переключения банка внешнего сигнала "Старт-Стоп", необходимо дополнительно задать источник синхросигнала, порог срабатывания и величину задержки синхросигнала. При использовании асинхронного режима переключения банка следует запретить внешний сигнал синхронизации, установив мультиплексор синхронизации в положение 4 и задав порог срабатывания 0.5 В.

      3. Сбросить адреса памяти командой "Сброс адреса";

      4. Подать команду "Старт".

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

      6а. При асинхронном переключении номера банка - подать команду "Старт-Стоп" 256 раз выдерживая необходимые паузы, убедиться в завершении режима и перейти к пункту 7. Если необходима запись меньшего числа банков - подать эту команду нужное число раз, после чего завершить режим командой "Стоп" и выполнить действия указанные в пункте 7.

      6б. При синхронном переключении номера банка следует дождаться завершения режима (установки в ноль сигнала "ENB_WR" регистра состояния используя LAM запрос или опрашивая регистр состояния) или, при слишком длительном отсутствии внешнего сигнала, принудительно завершить режим командой "Стоп".

      6в. При необходимости произвести запись заданного числа банков в синхронном режиме, можно считать число записанных банков, используя сигнал "INC_BANK" регистра состояния используя LAM запросы или опрашивая регистр состояния. После отсчета нужного числа банков - остановить режим командой "Стоп".

      7. После завершения режима, считать данные из памяти, перейдя в режим RG0.

      Перед установкой любого из режимов следует подать команду "Стоп" если нет уверенности в том, что предыдущий режим был завершен. Команда "Стоп" вызывает безусловное завершение любого режима. Поскольку выполнение команды "Стоп" синхронизировано с записью в память, время между подачей команды и завершением режима зависит от частоты дискретизации, но не превышает 2.6 мксек при минимальном ее значении.

    Содержание

  15. Регистр состояния и структура LAM запросов
  16. Структура регистра состояния и организация LAM запросов приведена на рис. 5. Регистр состояния по записи имеет 7 разрядов. Назначение разрядов данных приведено в таблице 1. Запись в регистр состояния происходит по команде F17A0, данные без инверсии. Биты 1 - 3 задают разрешение формирования LAM запроса соответствующих сигналов, биты 4 - 6 задают инверсии сигналов, бит 7 задает общее разрешение LAM. Пример использования LAM запросов приведен в разделе "Дополнительная информация-Использование LAM запросов".

    Рис. 5. LAM структура АЦП

    При чтении модуль имеет два регистра состояния, которые читаются по командам F1A0 и F1A1. Назначение разрядов данных при их чтении приведено в таблицах 2 и 3. Данные без инверсии.

    Таблица 1. Назначение разрядов регистра состояния при записи
    Номер бита
    Назначение
    1
    Разрешение LAM по сигналу "INC_BANK"
    2
    Разрешение LAM по сигналу "P2"
    3
    Разрешение LAM по сигналу "ENB_WR"
    4
    Инверсия сигнала "INC_BANK"
    5
    Инверсия сигнала "P2"
    6
    Инверсия сигнала "ENB_WR"
    7
    Общее разрешение LAM
    Таблица 2. Назначение разрядов регистра состояния при чтении командой F1A0
    Номер бита
    Назначение
    1
    Состояние сигнала "INC_BANK"
    2
    Состояние сигнала "P2"
    3
    Состояние сигнала "ENB_WR"
    4
    Состояние источника запроса "INC_BANK" (после маски)
    5
    Состояние источника запроса "P2" (после маски)
    6
    Состояние источника запроса "ENB_WR" (после маски)
    Таблица 3. Назначение разрядов регистра состояния при чтении командой F1A1
    Номер бита
    Назначение
    1
    Состояние источника запроса "INC_BANK" (до маски)
    2
    Состояние источника запроса "P2" (до маски)
    3
    Состояние источника запроса "ENB_WR" (до маски)


    Проверка наличия разрешенных LAM запросов производится командой F8A0, сброс источников запросов - командой F10A0.

     

    Содержание

  17. Функции КАМАК
  18. Список используемых команд и их краткое описание приведены в таблице 4. Сигнал X вырабатывается в ответ на каждую опознанную команду, использование команд Z(Сброс) и C (Очистка) - стандартное. Следует обратить внимание на то, что в некоторых командах данные требуют инверсии при чтении или записи. Более подробное описание команд приведено далее.

    Таблица 4. Команды КАМАК

    Команда

    Назначение

    Строб

    Использование шин данных

    Сигнал Q

    Команды чтения

    F0A0 Чтение из памяти данных канала 1 с инкрементом адреса

    S2 - инкремент адреса памяти

    R1-R16, Инверсия

    -

    F0A1 Чтение из памяти данных канала 2 с инкрементом адреса

    то же

    R1-R16, Инверсия

    -

    F1A0 Чтение сигналов состояния (INK_BANK, P2, ENB_WR) и состояния источников LAM после маски

    -

    R1-R6, без инверсии

    -

    F1A1 Чтение состояния источников LAM до маски

    -

    R1-R3, без инверсии

    -

    Команды записи

    F16A0 Многофункциональная команда управления работой АЦП.

    S1

    W1-W7, инверсия

    -

    F16A1 Запись режимов управления входными делителями и режимами смещения обоих каналов АЦП

    S1

    W1-W8, без инверсии

    -

    F16A2 Выбор источника Start-Stop и источника тактовой частоты (-всегда внешний в данной модификации)

    S1

    W1-W3, без инверсии  
    F16A3 Запись смещения обоих каналов АЦП

    S1

    W1-W8, инверсия

    -

    F16A4 Запись порога срабатывания канала Старт-Стоп

    S1

    W1-W8, инверсия

    -

    F17A0 Запись инверсий, разрешений и общей маски LAM со сбросом всех запросов LAM

    S1

    W1-W7, без инверсии

    -

    Команды работы с LAM

    F8A0 Проверка LAM

    -

    - Уст. при наличии хотя бы одного запроса
    F10A0 Сброс источников LAM

    S1

    - -

    Содержание

    1. Команды F0A0 и F0A1
    2. Чтение данных из памяти каналов 1 и 2 АЦП соответственно с инкрементом адреса. Получаемые данные инверсны. Биты 0-9 - данные АЦП, бит 10 - признак переполнения АЦП, бит 14 - признак записи в данную ячейку памяти, бит 15 - признак последней записи в память (режимы 1 и 2) или в данный банк (режим 3). В режимах 1 и 2 бит 15 будет установлен только в одной из ячеек (в режиме 1 - в последней, в режиме 2 - в той, в которую была произведена последняя запись), в режиме 3 - в одной из ячеек каждого записанного банка (последняя запись в данный банк).

    3. Команда F1A0
    4. Чтение сигналов состояния АЦП (см. раздел "Регистр состояния и структура LAM запросов). Биты 1- 3 отражают состояние сигналов INC_BANK, P2 и ENB_WR, биты 4 - 6 - состояние соответствующих источников запросов после маски. Данные без инверсии.

    5. Команда F1A1
    6. Чтение состояния источников LAM до маски (см. раздел "Регистр состояния и структура LAM запросов). Биты 1- 3 отражают состояние источников запросов INC_BANK, P2 и ENB_WR до маски. Данные без инверсии.

    7. Команда F16A0
    8. Многофункциональная команда управления работой АЦП. Данные инверсны. Команда интерпретируется в зависимости от старшей тетрады (4 бита) кода команды ( бит 8 всегда равен нулю). Младшая тетрада содержит данные. Используемые коды приведены в таблице 5.

      Таблица 5. Типы команды F16A0

      Старшая тетрада

      Команда

      Данные (младшая тетрада)

      0

      Установка режима работы Биты 1 и 2 - код режима (RG0 - RG3), бит 3 -разрешение задержки Старт-Стоп (д.б. равен 0 в режиме RG1), бит 4 - инверсия сигнала Старт-Стоп

      1

      Запись величины задержки сигнала "Старт-Стоп" в режимах RG2 и RG3. Задержка считается в тактах дискретизации в режиме RG3. В режиме RG2 используется дополнительный множитель 512 Биты 1-4 - код задержки Кd. Кd=0 - без задержки, далее задержка равна 2Кd-1.
      Допустимые значения Кd от 0 до 8. Максимальная задержка - 256 тактов записи (x512 в режиме RG2)

      2

      Запись делителя тактовой частоты. Определяет частоту дискретизации. Биты 1-4 задают коэффициент деления Кf тактовой частоты.
      Допустимые значения Кf от 0 до 8. Кf=0 - без деления (частота 100 Мгц), Кf от 1 до 8 задают коэффициент деления 2Кf. Кf=8 дает частоту выборок 390.652 кГц.

      3

      Команда очистки адреса памяти. Используется перед началом записи и чтения данных из памяти. Младшая тетрада не используется.

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

      4

      Команда "Старт". Запускает начало режима записи данных. Младшая тетрада не используется.

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

      5

      Команда "Стоп". Останавливает запись данных. Младшая тетрада не используется.

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

      6

      Команда разрешения сигнала "Старт-Стоп". Младшая тетрада не используется.

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

      7

      Команда "Старт-Стоп" (дублирует внешний сигнал). Младшая тетрада не используется.

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

      Содержание

    9. Команда F16A1
    10. Задает коэффициент деления входных делителей и каналы смещения обоих каналов АЦП. Данные без инверсии. Использование бит данных приведено в таблице 6.

      Таблица 6. Значения бит данных команды F16A1
      Биты 1-2 Установка коэффициента деления входного делителя АЦП1. Код 0 - 1, код 1 - 2, код 2 - 4, код 3 - вход закорочен на землю.
      Биты 3-4 Установка канала смещения АЦП1. Код 0 - без смещения, код 1 - подстроечный резистор R181, код 2 - подстроечный резистор R168, код 3 - задается от ЦАП смещения.
      Биты 5-6 Установка коэффициента деления входного делителя АЦП2. Код 0 - 1, код 1 - 2, код 2 - 4, код 3 - вход закорочен на землю.
      Биты 7-8 Установка канала смещения АЦП2. Код 0 - без смещения, код 1 - подстроечный резистор R9, код 2 - подстроечный резистор R2, код 3 - задается от ЦАП смещения.

    11. Команда F16A2
    12. Выбор источника сигнала "Старт-Стоп" и источника тактовой частоты (-всегда внешний в данной модификации). Данные без инверсии.

      Биты 1-2 задают источник сигналов "Старт-Стоп" (0 - вход "Str/Stp", 1- канал АЦП1, 2- канал АЦП2, 3 -закорочен на землю), бит 3 задает источник тактовой частоты (внутренний или внешний, в данной модификации должен быть равен 0).

    13. Команда F16A3
    14. Запись смещения обоих каналов АЦП. Данные инверсны. Данные записываются в ЦАП, подающий напряжение на каналы смещения 3 обоих каналов АЦП. Коды от -128 до 127 соответствуют напряжениям от -1.25 В до 1.25 В.

    15. Команда F16A4
    16. Запись порога срабатывания канала Старт-Стоп. Данные инверсны. Данные записываются в ЦАП, подающий напряжение порога на канал Старт-Стоп. Коды от -128 до 127 соответствуют напряжениям от -1.25 В до 1.25 В.

    17. Команда F17A0
    18. Запись инверсий, разрешений и общей маски LAM. Данные без инверсии. Биты 1-3 задают разрешения LAM М1 - М3 (для сигналов INC_BANK, P2 и ENB_WR соответственно), биты 4-6 задают инверсии тех же сигналов, бит 7 задает общее разрешение LAM. Эта команда сбрасывает также все источники запросов (см. раздел "Регистр состояния и структура LAM запросов).

    19. Команда F8A0
    20. Проверка наличия LAM. Если взведен хотя бы один из источников LAM (вне зависимости от общего разрешения или запрета LAM) то установиться сигнал Q (см. раздел "Регистр состояния и структура LAM запросов).

    21. Команда F10A0
    22. Сброс всех источников LAM.

    Содержание

  19. Дополнительная информация

 

  1. Управление входами - основные команды
  2. Ниже приведены коды основных команд управления входами АЦП. Коэффициент деления входных делителей и источников напряжения смещения обоих каналов АЦП задаются командой F16A1 (данные без инверсии). Биты 1 и 2 задают коэффициент деления, а биты 2-3 задают источник напряжения смещения канала 1. Соответственно биты 5-6 задают коэффициент деления, а биты 7-8 - источник напряжения смещения канала 2. Зависимости коэффициентов деления от кода данных приведены в таблице 7, а соответствующая зависимость выбора источников смещения - в таблице 8.

    Таблица 7. Коэффициенты деления входных делителей.

    Значения кода бит 1-2 (канал 1) или 5-6 (канал 2)

    Коэффициент деления входного делителя

    0

    1 (прямая передача)

    1

    1/2 (ослабление в 2 раза)

    2

    1/5 (ослабление в 5 раз)

    3

    Вход закорочен на землю
    Таблица 8. Источники смещения.

    Значения бит
    3-4 (канал 1)
    или 7-8 (канал 2)

    Источник смещения

    0

    Вход смещения заземлен

    1

    Подстроечный потенциометр 1 (R181 для канала 1 и R9 для канала 2)

    2

    Подстроечный потенциометр 2 (R168 для канала 1 и R2 для канала 2)

    3

    Напряжение смещения с ЦАП смещения. Общее смещение для двух каналов АЦП. Величина смещения задается командой F16A3 в диапазоне от -1.25 до +1.25 В (код от -128 до 127, данные инверсны)

    Содержание

  3. Канал Старт-Стоп - основные команды
  4. В таблице 9 приведены коды основных команд управления источником сигнала синхронизации канала "Старт-Стоп".

    Таблица 9. Выбор источника синхронизации. Команда F16A2, биты 1 и 2.

    Код бит 1 и 2

    Источник сигнала синхронизации

    0

    Вход "STR/STP"

    1

    Канал 1

    2

    Канал 2

    3

    Заземлен

    Порог срабатывания компаратора (при использовании ЦАПа порога, т.е. при установке джампера К4 в положение 2-3) задается командой F16A4 (данные инверсны). Код -128 задает напряжение -1.25 В, а код +127 - +1.25 В. В положении 1-2 джампера К4, порог определяется подстроечным потенциометром R64.

    Выбор инверсии внешнего сигнала синхронизации и разрешения задержки синхронизации определяется битами 3 и 4 младшей тетрады команды установки режима F16A0 с кодом старшей тетрады 0h (данные инверсны). Установка в единицу бита 3 разрешает задержку синхронизации (ноль - запрещает) в режимах RG2 и RG3. В режиме RG1 должен быть равен 0. Установка в единицу бита 4 инвертирует логический сигнал синхронизации (ноль - без инверсии, т.е. сигнал "Старт-Стоп" вырабатывается по переходу входного сигнала через порог из минуса в плюс).

    Установка значения задержки для режимов RG2 и RG3 производится командой F16A0 с кодом старшей тетрады 1h (данные инверсны). Код "Kd" младшей тетрады определяет величину задержки в тактах записи в память. Допустимые значения кода "Kd" - от 0 до 8. При "Kd"=0 задержка равна нулю, при других значениях кода, задержка рассчитывается по формуле 2Kd-1. В режиме работы RG3 величина задержки равна указанной, в режиме работы RG2 заданное значение задержки увеличивается в 512 раз.

    Содержание

  5. Задание частоты дискретизации
  6. Задание частоты дискретизации осуществляется командой F16A0 с кодом старшей тетрады 2 и кодом младшей тетрады от 0 до 8. Код младшей тетрады задает коэффициент деления тактовой частоты Kf. Частота дискретизации определяется делением тактовой частоты на 2Kf. Код равный нулю задает частоту дискретизации 100 МГц, код равный 8 - 390.652 кГц.

    Содержание

  7. Использование LAM запросов
  8. Использование регистров состояния и LAM запросов позволяет определять текущее состояние АЦП, момент завершения режима АЦП, переход адреса памяти через верхнюю границу в режиме RG2 и переход к записи следующего банка в режиме RG3.

    LAM структуру модуля можно использовать не только для выработки сигналов LAM, но и для определения состояния модуля путем периодического опроса как сигналов состояния модуля (INC_BANK, P2, ENB_WR), так и триггеров LAM запросов, которые устанавливаются по заданным фронтам сигналов состояния. Структурная схема регистров состояния и LAM запросов показана на рис. 5.

    Сигналы состояния и их назначение описаны в таблице 10.

    Таблица 10. Сигналы состояния АЦП.

    Наименование сигнала состояния

    Назначение сигнала

    INC_BANK

    Сигнал приращения номера банка. Может использоваться для определения числа записанных банков в режиме RG3 и для определения степени заполнения памяти в режимах RG1 и RG2. Он вырабатывается при переходе адреса памяти через границу банка во всех режимах работы.

    P2

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

    ENB_WR

    Сигнал разрешения записи, который устанавливается в единицу при запуске (не при установке!) любого из режимов и переходит в ноль по его завершении. Используется для определения момента завершения режима АЦП.

    Наиболее часто требуется определить момент завершения режима с использованием LAM запроса. Для этого следует сделать следующее.

    1. Установить инверсию сигнала ENB_WR (мы хотим, чтобы LAM запрос устанавливался по концу импульса)

    2. Разрешить маску сигнала ENB_WR

    3. Разрешить формирование LAM (общее разрешение).

    Все эти операции делаются одной командой F17A0 с байтом данных 64h (установлены биты 3, 6 и 7). Эта команда сбрасывает также все источники запросов.

    При этом мы получим LAM при завершении любого из режимов RG0 - RG3 (после их запуска). Проверка наличия LAM осуществляется командой F8A0 по сигналу "Q", сброс источников LAM - командой F10A0.

    Содержание

  9. Формат выходных данных и их предварительная обработка
  10. Выходные данные АЦП имеют следующий формат. Биты D0? D9 - код данных, бит D10 - индикатор переполнения АЦП, бит D14 - признак записи данной ячейки памяти, бит D15 - признак последней записанной ячейки памяти в режиме RG2 или признак последней записанной ячейки данного банка в режиме RG3.

    Код данных формируется следующим образом. Минимальное напряжение на входе АЦП дает код равный нулю, максимальное - код 1023 (данные должны инвертироваться при приеме). При нулевом смещении АЦП и коэффициенте деления равном единице (шкала от -0.5 до + 0.5 вольта), код 0 будет соответствовать напряжению -0.5 В, код 512 - нулевому напряжению и код 1023 - напряжению +0.5 В (цифры ориентировочные). При использовании входного делителя вводится соответствующий масштабный коэффициент.

    Бит переполнения D10 используется следующим образом. Если он установлен, входной сигнал вышел за пределы шкалы. Если при этом код данных равен 1023, то сигнал на входе более положителен, чем максимальный положительный уровень, а если код данных равен 0 - то сигнал на входе более отрицателен, чем максимальный отрицательный уровень.

    Контрольные биты D14 и D15 в основном используются в режимах с циклическим заполнением памяти и остановкой по сигналу или команде - RG2 и RG3, но могут использоваться и в режиме RG1, если работа АЦП принудительно остановлена по команде "Стоп" и память записана не до конца. Для правильной интерпретации контрольных бит, память должна быть подготовлена, т.е. значения контрольных бит в каждой ячейке памяти должны быть установлены в ноль. Это делается установкой АЦП в режим RG0, подачей команды "Старт" и ожиданием завершения режима или паузой более 1.32 мсек.

    При записи данных в память в режимах RG1, RG2 и RG3, бит D14 устанавливается в единицу в каждой использованной ячейке памяти, а бит D15 устанавливается в ноль во всех ячейках памяти, кроме последней записанной ячейки памяти в режимах RG1 и RG2 и последней записанной ячейке текущего банка, перед переходом к записи ячеек следующего банка памяти в режиме RG3. Таким образом, в режимах RG1 и RG2 в памяти может оказаться любое (в зависимости от числа реально записанных ячеек - до 131072) число ячеек с установленным битом D14 и только одна ячейка с установленным битом D15. В режиме RG3 в каждом использованном банке памяти (512 ячеек) может быть любое число ячеек (до 512) с установленным битом D14 и только одна ячейка с установленным битом D15. В неиспользованных банках все ячейки будут иметь нулевые контрольные биты.

    Рекомендуется следующие алгоритмы предварительной обработки считанных данных. Далее предполагается, что данные были полностью считаны в память ЭВМ. В принципе это не обязательно, можно считать только нужное количество данных, но тогда это необходимо учитывать при обработке.

    Описанные ниже методы обработки данных в принципе производятся независимо для каждого канала АЦП. Но, поскольку запись данных строго синхронна, достаточно определить границы зон данных только в одном канале, т.к. в другом канале они будут те же самые.

    1. Режим RG1
    2. Если работа АЦП была принудительно завершена командой "Стоп" не дожидаясь завершения режима (или это возможно), то следует проверить бит D14 последней ячейки. Если от установлен, то память была записана полностью, если нет - то только частично. В последнем случае следует определить последнюю записанную (бит D15 - в единице) ячейку памяти и использовать ячейки с номером меньшим или равным последней записанной. Нахождение последней записанной ячейки можно проводить либо последовательным сканированием всех данных, либо одним из алгоритмов быстрого поиска анализируя бит D14, который будет равен нулю у всех ячеек после последней записанной.

    3. Режим RG2
    4. В этом режиме возможно две ситуации, зависящие от времени, прошедшего между запуском режима и его остановкой. Если этого времени хватило для заполнения всех ячеек памяти, то самой первой (по времени записи) является ячейка, следующая после ячейки с установленным битом D15 (с учетом цикличности адреса памяти). Если нет, то самой первой ячейкой является ячейка с нулевым адресом, а последней - ячейка с установленным битом D15 и общее число записанных данных равно адресу этой ячейки плюс 1.

      Определение конкретного варианта осуществляется контролем бита D14 последней ячейки. Если он установлен, то память заполнена полностью, если нет - только частично. В последнем случае, последняя записанная ячейка находится так же, как и в режиме RG1.

    5. Режим RG3
    6. Если конец записи произошел "естественно", т.е. по приходу 256 сигналов "Старт-Стоп" или соответствующего числа команд "Старт-Стоп", то все банки памяти полностью или частично записаны. Иными словами, если вы дождались перехода сигнала "ENB_WR" из единицы в ноль, то реализован именно этот случай. Если режим был принудительно завершен командой "Стоп", или вы начинаете считывать данные из памяти не дождавшись завершения режима, то часть банков может оказаться незаполненными. Это контролируется анализом бита D14 в первой ячейке банка. Если он установлен - то данный банк записан (полностью или частично), если сброшен - записи в данный банк не было. Этот способ применим потому, что при переходе к записи следующего банка младшая часть адреса (адрес ячейки внутри банка) принудительно устанавливается в ноль (а не в следующий адрес ячейки банка). Таким методом определяется число записанных банков. Поскольку банки заполняются последовательно, то, при последовательном сканировании начиная с нулевого банка, обнаружение первого незаписанного банка говорит о том, что все последующие банки также пусты.

      Внутри каждого банка число записанных ячеек определяется так же, как и в режиме RG2, т.е., если в последней ячейке банка (адрес равен 512НомерБанка+511) бит D14 установлен в единицу, то все ячейки данного банка записаны, в противном случае записана лишь часть ячеек.

      Если банк записан полностью, то первой (по времени записи в данный банк) ячейкой является ячейка (в пределах данного банка с учетом перехода адреса в 0 после 511) следующая за ячейкой с установленным битом D15. Если банк записан не полностью, то первой ячейкой является ячейка с адресом 0 (внутри данного банка, т.е. с адресом 512НомерБанка), а общее число записанных данных равно адресу ячейки (относительно начала банка) с установленным в единицу битом D15 плюс 1.

       

Содержание

Рис. 6. Размещение деталей на плате АЦП