Тетрада MAIN

 Версия документа: 1.4

Общие сведения

Назначение Начальное тестирование ПЛИС. 
Распределение запросов DMA и прерываний. 
Управление ИПН (источник программируемых напряжений), мультиплексором компараторов. 
Управление разъёмом SYNX.
Модификация 8 - Ширина шины данных - 64 разряда. Не используются счётчики CNT0, CNT1, CNT2. Есть регистр SYNX_IN.
Версия 1.4
ID 1
 

Состав регистров

Прямые регистры

Название Разрядность Описание
STATUS 16  Регистр состояния
DATA 64  Регистр данных
CMD_ADR 10  Регистр косвенного адреса
CMD_DATA 16  Регистр косвенных данных

Адреса и способ доступа к прямым регистрам определяется базовым модулем.

 Командные регистры

Номер Название  Описание

     Общие регистры

0 MODE0  Регистр управления
1 IRQ_MASK  Разрешение прерываний
2 IRQ_INV  Инверсия условия прерывания
3 FMODE  Выбор источника тактовой частоты
4 FDIV  Делитель тактовой частоты
5 STMODE  Регистр синхронизации
6 CNT0  Не используется
7 CNT1  Не используется
8 CNT2  Не используется
   Индивидуальные регистры
9 MODE1  Регистр управления
10 -  Не используются
11 -  Не используются
12 TEST_MODE  Управление режимом тестирования
13 SYNX  Регистр управления разъёмом SYNX
14 THDAC  Регистр управления ИПН
15 MUX  Регистр управления мультиплексором компараторов
23..16 SELx  Распределение запросов DMA и прерываний. x - номер регистра 0..7

Константы

Номер Название  Значение  Описание
0x100 ID  1  Идентификатор тетрады 
0x101 ID_MOD  1  Модификатор тетрады
0x102 VER  0x0103  Версия тетрады
0x103 TRES  0x10  Ресурсы тетрады
0x104 FSIZE  0x100  Размер FIFO
0x105 FTYPE  0x40  Тип FIFO
0x106 PATH  *  Подключение тетрады
0x107 ID_NUM  *  Номер экземпляра

  Индивидуальные регистры

0x108 SIG 0x4953  Сигнатура
0x109 ADM_VER  0x0200  Версия интерфейса ADM
0x10A FPGA_VER  *  Версия прошивки ПЛИС
0x10B  FPGA_MODE *  Модификатор прошивки ПЛИС
0x10C  TMASK *  Используемые тетрады
0x10D  MRES *  Ресурсы ПЛИС
0x10E
0x10F
- -  Резерв
0x110 BASE_ID *  Идентификатор базового модуля
0x111 BASE_VER *  Версия базового модуля
0x112 SMOD_ID *  Идентификатор субмодуля
0x113 SMOD_VER *  Версия субмодуля
0x114 FPGA_BUILD *  Номер сборки прошивки ПЛИС
0x115
0x11F
-    Резерв

* - Значения определяются в конкретной прошивке ПЛИС.

Непосредственные регистры

Номер Название  Описание
0x200 IRQENST  Регистр установки разрешения прерывания
0x201 IRQENCL  Регистр сброса разрешения прерывания
0x202 SYNX_IN  Регистр состояния разъёма SYNX

Описание

Тетрада MAIN предназначена для управления общими ресурсами ПЛИС ADM и начального тестирования ПЛИС.

Начальное тестирование ПЛИС

После загрузки прошивки или после сброса ПЛИС находится в тестовом режиме работы. В этом режиме чтение по любому адресу приводит к чтению регистра DATA. Тетрада содержит сдвиговый регистр, при чтении регистра DATA выводится текущее значение сдвигового регистра, регистр сдвигается на один разряд влево и в младший разряд помещается инверсное значение старшего разряда.
Получаемые значения:
    0000....0001
    0000....0011
    0000....0111
    0000....1111
    ............
    0111....1111
    1111....1111
    1111....1110
    1111....1100
По чтению регистра можно проверить подключение шины данных к процессору.
При записи по любому адресу в ПЛИС происходит запись младших разрядов шины адреса в сдвиговый регистр. Число записываемых разрядов адреса определяется базовым модулем, в остальные разряды сдвигового регистра записывается содержимое шины данных. При последующем чтении сдвигового возвращается значение шины адреса. В цикле производится запись по всем адресам и контроль каждого адреса, при этом проверяем подключение шины адреса.
Для переключения в рабочий режим требуется записать 1 в разряде 0 слова данных по любому адресу.
Для переключения в тестовый режим требуется записать 1 в разряде регистра DATA. При переключении между режимами сдвиговый  регистр устанавливается в 0.
После переключения  в рабочий режим проверяется формирование прерываний и чтение из регистра DATA в режиме DMA. Проверка производится для каждого канала DMA.

Если в рабочем режиме провести сброс FIFO, то это приведёт к обнулению сдвигового регистра, при этом ПЛИС останется в рабочем режиме.

Распределение прерываний и каналов DMA

Для распределения прерываний и каналов DMA предназначены регистры SEL0..SEL7.
Существует различие в назначении регистров при распределении прерываний и запросов DMA.

Прерывания:
Номер регистра определяет номер тетрады. Значение регистра определяет номер прерывания.

DMA:
Номер регистра определяет номер канала DMA. Значение регистра определяет номер тетрады.

Используемые прерывания, каналы DMA, режимы работы каналов DMA определяются базовым модулем. Конкретное назначение разрядов регистров SEL0..SEL7 приводится в описании конкретной прошивки ПЛИС.

Управление ресурсами

Регистр SYNX управляет разъёмом межмодульной синхронизации SYNX. Через этот регистр можно установить значение сигналов RDY0, RDY1, START_EN. В тестовом режиме возможно также управление сигналами SYNC0 и ENCODE;

Регистр MUX управляет мультиплексором стартовых компараторов. Значение мультиплексора определяет источник входного сигнала на компараторах.

Регистр THDAC управляет источником программируемых напряжений, который используется для установки порогов срабатывания компараторов и для формирования опорных уровней сигналов для субмодуля ADM. Запись в регистр возможно только при значении разряда CMD_RDY=1 в регистре STATUS.

Описание регистров тетрады MAIN

Описание общих регистров управления приводится в документе RG040006 reg_common.htm

Регистры STATUS, IRQ_MASK, IRQ_INV

 Бит  Название  Описание
0 CMD_RDY  1 - готовность к выполнению команды
1 RDY  Всегда 1
2 EF  Всегда 1
3 PAE  Всегда 1
4 HF  Всегда 0
5 PAF  Всегда 1
6 FF  Всегда 1
7 OVR  Всегда 0
8 UND  Всегда 0

 Разъём SYNX

9 SN_RDY0  Значение сигнала RDY0
10 SN_RDY1  Значение сигнала RDY1
11 START  Значение сигнала START
12 START_EN  Значение сигнала START_EN
13 SYNC0  Значение сигнала SYNC0

 Компараторы

14 CMP0  Значение выхода компаратора 0
15 CMP1  Значение выхода компаратора 1

Разряды флагов FIFO всегда установлены в значение, которое соответствует FIFO заполненному наполовину.
Регистр STATUS показывает текущее значение флагов.
Регистр IRQ_MASK показывает  разряды регистра STATUS, по которым будет формироваться прерывание. Значение 1 в разряде регистра IRQ_MASK разрешает формирование прерывания от соответствующего разряда регистра STATUS.
Регистр IRQ_INV определяет инверсию условия прерывания. Значение 0 в разряде регистра IRQ_INV определяет формирование прерывания по значению 1 в разряде регистре STATUS.
Значение 1 в разряде регистра IRQ_INV определяет формирование прерывания по значению 0 в разряде регистра STATUS.

Регистр DATA

Разряды доступные для чтения

Бит Название  Описание
63..0 SREG  Данные из сдвигового регистра

Разряды доступные для записи

Бит Название  Описание
0 TMODE_CLR  1 - установка рабочего режима
1 TMODE_SET  1 - установка тестового режима
(a-1)..0 -  Не используются
63..a SREG  Данные для записи в  сдвиговый регистр

 a - число используемых линий адреса в конкретной прошивке ПЛИС.
При записи в сдвиговый регистр в разряды (a-1)..0 будет записан адрес, по которому производится обращение. При установленном тестовом режиме, запись по любому адресу приводит к записи в регистр DATA.

Регистр MODE1

Регистр MODE1 предназначен для управления некоторыми общими ресурсами ПЛИС. Значение разрядов этого регистра определяется конкретной прошивкой ПЛИС.

Регистр TEST_MODE

Регистр управления разъёмом SYNX
Бит Название  Описание
0 PSD  1 - генерация псевдослучайной последовательности
15..1 -  Не используются

Бит PSD включает режим формирования псевдослучайной последовательности. При каждом чтении в младший бит регистра вводится значение X[63] xor x[62] xor x[60] xor x[59].  После включения режима необходимо выполнить сброс FIFO тетрады. Начальное значение регистра после сброса  0x0002;

Регистр SYNX

Регистр управления разъёмом SYNX
Бит Название  Описание
0 RDY0  1 - готовность 0
1 RDY1  1 - готовность 1
3..2 -  Не используются
4 RDY0_OE  0 - разрешение выхода RDY0
5 RDY1_OE  0 - разрешение выхода RDY1
11..6 -  Не используются
12 START_EN  0 - разрешение сбора данных
13 SYNC0  Значение выхода SYNC0
14 ENCODE  Значение выхода ENCODE (только при установке SYNX_TEST_MODE=1)
15 SYNX_TEST_MODE  1 - тестовый режим работы разъёма SYNX


Сигналы RDY0, RDY1 объединяются с соответствующими сигналами на других модулях по схеме "открытый коллектор". Значение 0 выставленное хотя бы на одном модуле, устанавливает значение 0. После загрузки ПЛИС или после сброса значение регистра 0. При этом сигналы RDY0 и RDY1 на разъёме SYNX установлены в значение 0. Это означает что модуль находится в состоянии "НЕ ГОТОВ".
Сигналы START_EN, SYNC0 формируется только если модуль находится в режиме "MASTER". Установка режима производится в разряде MASTER регистра MODE0.

Установка SYNX_TEST_MODE=1 переводит схему управления разъёмом SYNX в тестовый режим. В этом режиме сигналоми ENCODE и SYNC0 управляют соответствующие биты в регистре SYNX. При установке SYNX_TEST_MODE=0 сигнал ENCODE формирует узел тактирования и синхронизации тетрады, а сигнал SYNC0 управляется либо через регистр SYNX, либо внешней схемой. Это зависит от конкретной прошивки ПЛИС.

Регистр THDAC

Регистр управления источником программируемых напряжений.
Бит Название  Описание
7..0 DATA  Данные для ИПН
11..8 DACADR  Номер ИПН (1..8)
15..8 -  Не используются

Запись в регистр возможна только если установлен бит готовности: STATUS[CMD_RDY]=1.
Уровень напряжения, который будет установлен на выходе ИПН, определяется по формуле:

U=2.5X(DATA/128-1)  [В]

Регистр MUX

Регистр управления мультиплексором компараторов.
Бит Название  Описание
1..0 COMPAR  Режим мультиплексора:
 00 - (EXTST_EXTCLK)
 01 - (CH0_EXTCLK)
 10 - (CH1_EXTCLK)
 11 - (CH0_CH0)
15..2 -  Не используются

Регистр определяет источники сигналов, которые будут поданы на компараторы.
Обозначения сигналов:

EXTST - Сигнал внешнего старта. Подаётся через субмодуль ADM.
EXTCLK - Сигнал внешней тактовой частоты. Подаётся через разъём SDX.
CH0 - Сигнал канала 0 АЦП. Подаётся через субмодуль ADM.
CH1 - Сигнал канала 1 АЦП. Подаётся через субмодуль ADM.

Формирование сигналов EXTST, CH0, CH1 определяет субмодуль ADM.

Регистры SELx

Регистры выбора прерывания и канала DMA.  x - номер регистра 0..7

Бит Название  Описание
3..0 IRQ_NUM  Номер прерывания для тетрады x
7..4 -  Не используются
11..8 DRQ_TRD  Номер тетрады для канала DMA x
12 DRQ_EN  1 - разрешение формирования запроса DMA
15..13 DRQ_MODE  Режим работы канала DMA

Используемые прерывания, каналы DMA, режимы работы каналов DMA определяются базовым модулем. Конкретное назначение разрядов регистров SEL0..SEL7 приводится в описании конкретной прошивки ПЛИС.

Регистр IRQENST

Регистр установки разрешения прерывания.

Бит Название  Описание
0 -  Резерв
1 IRQ1  1 - разрешение IRQ1
2 IRQ2  1 - разрешение IRQ2
3 IRQ3  1 - разрешение IRQ3
15..4 -  Не используется

Запись 1 в регистр приводит к разрешению формирования соответствующего прерывания. Запись 0 не приводит к изменению состояния разрешения прерывания. Чтение из регистра возвращает состояние разрешения соответствующих линий прерывания.

Регистр IRQENCL

Регистр сброса разрешения прерывания.

Бит Название  Описание
0 -  Резерв
1 IRQ1  1 - разрешение IRQ1
2 IRQ2  1 - разрешение IRQ2
3 IRQ3  1 - разрешение IRQ3
15..4 -  Не используется

Запись 1 в регистр приводит к сбросу разрешения  соответствующего прерывания. Запись 0 не приводит к изменению состояния разрешения прерывания.

 

Регистр SYNX_IN

 Бит  Название  Описание
8..0 - Всегда 0
9 SN_RDY0  Значение сигнала RDY0
10 SN_RDY1  Значение сигнала RDY1
11 START  Значение сигнала START
12 START_EN  Значение сигнала START_EN
13 SYNC0  Значение сигнала SYNC0
14 ENCODE  Значение сигнала ENCODE
15 SYNX_TEST_MODE  Значение бита SYNX_TEST_MODE в регистре SYNX

Регистр SYNX_IN показывает текущее состояние разъёма SYNX. В отличие от регистра STATUS в регистр SYNX добавлен сигнал ENCODE.

Соответствие полям регистра SYNX возможных обозначений выводов разъема SYNX

 Регистр SYNX Возможные обозначения разъема SYNX
RDY0 RDY1 / SYNX0
RDY1 RDY2 / SYNX1
START_EN SYNC1

Список версий тетрады

1.0 31.08.2005  Базовая версия
1.1 09.11.2005  добавлена таблица соответствия полям регистра SYNX возможных обозначений выводов разъема SYNX
1.2 06.12.2006  Исправлено формирование сигнала запроса DMA. Сброс сдвигового регистра производиться по сбросу FIFO
1.3 26.03.2009  Добавлен выход запроса DMA
1.4 10.06.2010  Добавлены входы IRQ, DRQ для тетрад 8-15; Добавлен регистр TEST_MODE - формирование псевдослучайной последовательности.