Назначение | Начальное тестирование ПЛИС. Распределение запросов 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 предназначены регистры SEL0..SEL7.
Существует различие в назначении регистров
при распределении прерываний и запросов DMA.
Прерывания:
Номер регистра определяет номер тетрады.
Значение регистра определяет номер прерывания.
DMA:
Номер регистра определяет номер канала
DMA. Значение регистра определяет номер тетрады.
Используемые прерывания, каналы DMA, режимы
работы каналов DMA определяются базовым
модулем. Конкретное назначение разрядов
регистров SEL0..SEL7 приводится в описании
конкретной прошивки ПЛИС.
Регистр SYNX управляет разъёмом межмодульной синхронизации SYNX. Через этот регистр можно установить значение сигналов RDY0, RDY1, START_EN. В тестовом режиме возможно также управление сигналами SYNC0 и ENCODE;
Регистр MUX управляет мультиплексором стартовых компараторов. Значение мультиплексора определяет источник входного сигнала на компараторах.
Регистр THDAC управляет источником программируемых напряжений, который используется для установки порогов срабатывания компараторов и для формирования опорных уровней сигналов для субмодуля ADM. Запись в регистр возможно только при значении разряда CMD_RDY=1 в регистре STATUS.
Бит | Название | Описание |
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.
Разряды доступные для чтения
Бит | Название | Описание |
63..0 | SREG | Данные из сдвигового регистра |
Разряды доступные для записи
Бит | Название | Описание |
0 | TMODE_CLR | 1 - установка рабочего режима |
1 | TMODE_SET | 1 - установка тестового режима |
(a-1)..0 | - | Не используются |
63..a | SREG | Данные для записи в сдвиговый регистр |
a - число используемых линий адреса в
конкретной прошивке ПЛИС.
При записи в сдвиговый регистр в разряды
(a-1)..0 будет записан адрес, по которому
производится обращение. При установленном
тестовом режиме, запись по любому адресу
приводит к записи в регистр DATA.
Регистр MODE1 предназначен для управления некоторыми общими ресурсами ПЛИС. Значение разрядов этого регистра определяется конкретной прошивкой ПЛИС.
Бит | Название | Описание |
0 | PSD | 1 - генерация псевдослучайной последовательности |
15..1 | - | Не используются |
Бит PSD включает режим формирования псевдослучайной последовательности. При каждом чтении в младший бит регистра вводится значение X[63] xor x[62] xor x[60] xor x[59]. После включения режима необходимо выполнить сброс FIFO тетрады. Начальное значение регистра после сброса 0x0002;
Бит | Название | Описание |
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, либо внешней схемой. Это зависит от конкретной прошивки ПЛИС.
Бит | Название | Описание |
7..0 | DATA | Данные для ИПН |
11..8 | DACADR | Номер ИПН (1..8) |
15..8 | - | Не используются |
Запись в регистр возможна только если
установлен бит готовности: STATUS[CMD_RDY]=1.
Уровень напряжения, который будет
установлен на выходе ИПН, определяется по
формуле:
U=2.5X(DATA/128-1) [В]
Бит | Название | Описание |
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.
Регистры выбора прерывания и канала 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 приводится в описании конкретной прошивки ПЛИС.
Регистр установки разрешения прерывания.
Бит | Название | Описание |
0 | - | Резерв |
1 | IRQ1 | 1 - разрешение IRQ1 |
2 | IRQ2 | 1 - разрешение IRQ2 |
3 | IRQ3 | 1 - разрешение IRQ3 |
15..4 | - | Не используется |
Запись 1 в регистр приводит к разрешению формирования соответствующего прерывания. Запись 0 не приводит к изменению состояния разрешения прерывания. Чтение из регистра возвращает состояние разрешения соответствующих линий прерывания.
Регистр сброса разрешения прерывания.
Бит | Название | Описание |
0 | - | Резерв |
1 | IRQ1 | 1 - разрешение IRQ1 |
2 | IRQ2 | 1 - разрешение IRQ2 |
3 | IRQ3 | 1 - разрешение IRQ3 |
15..4 | - | Не используется |
Запись 1 в регистр приводит к сбросу разрешения соответствующего прерывания. Запись 0 не приводит к изменению состояния разрешения прерывания.
Бит | Название | Описание |
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 |
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 - формирование псевдослучайной последовательности. |