Название | Разрядность | Описание |
STATUS | 16 | Регистр состояния |
DATA | * | Регистр данных |
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 | Регистр управления MODE1 |
0x0A | MODE2 | Регистр управления MODE2 |
0x0B | MODE3 | Регистр управления MODE3 |
0x0C | SFLAG_PAE | Установка уровня срабатывания флага PAE |
0x0D | SFLAG_PAF | Установка уровня срабатывания флага PAF |
0x0E | PRT_MODE | Режим претриггера |
0x0F | TL_MODE | Режим формирования заголовка |
0x10 | CHAN1 | Выбор канала |
0x11 | CHAN2 | Выбор канала |
0x12 | FORMAT | Выбор формата данных |
0x13 | FSRC | Выбор источника тактовой частоты на субмодуле |
0x14 | FDVR | Выбор коэффициента деления тактовой частоты |
0x15 | GAIN | Выбор коэффициента усиления |
0x16 | INP | Управление входами субмодуля |
0x17 | CONTROL1 | Регистр управления субмодулем |
0x18 0x1F |
- | Резерв |
Номер | Название | Описание |
0x100 | ID | Идентификатор тетрады |
0x101 | ID_MOD | Модификатор тетрады |
0x102 | VER | Версия тетрады |
0x103 | TRES | Ресурсы тетрады |
0x104 | FSIZE | Размер FIFO |
0x105 | FTYPE | Тип FIFO |
0x106 | PATH | Подключение тетрады |
0x107 | ID_NUM | Номер экземпляра тетрады |
0x108 | PFSIZE | Размер FIFO претриггера |
0x109 0x11F |
- | Индивидуальные константы тетрад |
Номер | Название | Описание |
0x200 | FLAG_CLR | Сброс флагов в регистре STATUS |
0x208 | ADC_OR | Регистр переполнения АЦП |
0x209 | PRT_STATUS | Регистр состояния претриггера |
0x20A | PRT_CNTL | Номер слова в котором произошло событие старта. Младшие разряды. |
0x20B | PRT_CNTH | Номер слова в котором произошло событие старта. Старшие разряды. |
0x20C | TL_ADR | Регистр адреса заголовка |
0x20D | TL_DATA | Регистр данных заголовка |
Бит | Название | Описание |
0 | CMD_RDY | 1 - готовность к выполнению команды |
1 | RDY | 1 - готовность FIFO |
2 | EF | 0 - FIFO пустое |
3 | PAE | 0 - FIFO почти пустое |
4 | HF | 0 - FIFO заполнено наполовину |
5 | PAF | 0 - FIFO почти полное |
6 | FF | 0 - FIFO полное |
7 | OVR | 1 - запись в полное FIFO |
8 | UND | 1 - чтение из пустого FIFO |
9 | ERR | 1 - ошибка доступа к регистрам |
10 | START | 1 - разрешение работы тетрады |
11 | OR | 1 - переполнение в одном из каналов АЦП |
12 15 |
- | Индивидуальные флаги тетрад |
Регистр STATUS показывает текущее значение
флагов.
Регистр IRQ_MASK показывает разряды
регистра STATUS, по которым будет
формироваться прерывание. Значение 1 в
разряде регистра IRQ_MASK разрешает
формирование прерывания от
соответствующего разряда регистра STATUS.
Регистр IRQ_INV определяет инверсию условия
прерывания. Значение 0 в разряде регистра
IRQ_INV определяет формирование прерывания по
значению 1 в разряде регистре STATUS.
Значение 1 в разряде регистра IRQ_INV
определяет формирование прерывания по
значению 0 в разряде регистра STATUS.
Уровни срабатывания флагов FIFO
определяются конкретной тетрадой и
прошивкой ПЛИС.
Флаги переполнения и недогрузки FIFO (OVR, UND)
сбрасываются при сбросе FIFO.
Флаг ERR устанавливается в 1 если
зафиксирована ошибка доступа к регистрам.
Флаг START устанавливается в 1 если разрешён сбор данных.
Флаг OR устанавливаются в 1 если
зафиксировано переполнение хотя бы в одном из каналов АЦП.
В разряды 12..15, а также при необходимости и в разряды 10,11 могут добавляться индивидуальные биты состояния тетрады. Для сброса флагов рекомендуется использовать регистр FLAG_CLR.
Регистр DATA предназначен для организации потока данных. Наиболее часто подключается к FIFO, однако возможны и другие варианты подключения. Число используемых разрядов определяется конкретной тетрадой.
Бит | Название | Описание |
7..0 | REG | Номер регистра |
9..8 | GROUP | Группа регистров: 00 - командные регистры 01 - константы 10 - непосредственные регистры 11 - резерв |
Регистр CMD_ADR определяет номер косвенного регистра, к которому будет производится обращения через регистр CMD_DATA.
Бит | Название | Описание |
15..0 | CMD_DATA | Данные косвенного регистра |
Через регистр CMD_DATA производится обращение к косвенным регистрам.
Бит | Название | Описание |
0 | RST | Тетрада MAIN: 1 - сброс
ПЛИС Остальные тетрады: 1 - сброс тетрады |
1 | FIFO_RST | 1 - сброс FIFO |
2 | IRQ_EN | 1 - разрешение формирования прерываний от тетрады |
3 | DRQ_EN | 1 - разрешение формирования запроса DMA от тетрады |
4 | MASTER | Тетрада MAIN: 1 - работа модуля в режиме MASTER 0 - работа модуля в режиме SLAVE Остальные тетрады: 1 - работа тетрады в режиме SINGLE 0 - работа тетрады в режиме SLAVE |
5 | START | 1 - программный старт |
6 | ADM_MSYNC | Выбор источника тактовой
частоты: 1 - источник на субмодуле 0 - источник выбирается FMODE[GEN] |
7 | RT | 1 - включить циклический режим работы FIFO |
8 | CNT0_EN | 1 - разрешение работы счётчика CNT0 |
9 | CNT1_EN | 1 - разрешение работы счётчика CNT1 |
10 | CNT2_EN | 1 - разрешение работы счётчика CNT2 |
11 | - | Резерв |
13..12 | DRQ_FLAG | Выбор источника запроса DMA: 00 - PAE=1 для FIFO ввода, PAF=1 для FIFO вывода 01 - RDY=1 10 - HF=0 для FIFO ввода, HF=1 для FIFO вывода 11 - резерв |
14 | - | Резерв |
15 | EXTFIFO_EN | 1 - переключение тетрады в режим работы с внешним FIFO. Если такой поддержки тетрада не имеет, то содержимое поля не имеет значения. |
Регистр MODE0 предназначен для реализации общего управления тетрадой.
Бит RST=1 приводит с сбросу всех регистров тетрады. Командные регистры устанавливаются в 0. При сбросе, после формирования RST=1, необходимо во все командные регистры прописать значение 0. Это необходимо для приведения в исходное состояние теневого ОЗУ.
Бит RT=1 включает циклический режим работы FIFO. Этот режим поддерживается для тетрад вывода данных. Бит RT=1 должен быть установлен после записи всего массива данных в FIFO и перед разрешением вывода данных.
Бит | Название | Описание |
4..0 | MSTART | Выбор сигнала старта |
5 | - | Резерв |
6 | START_INV | 1 - инверсия сигнала старта |
7 | TRIGSTART | 1 - триггерный старт |
12..8 | MSTOP | Выбор сигнала останова при триггерном старте |
13 | - | Резерв |
14 | STOP_INV | 1 - инверсия сигнала останова |
15 | START_AUTO | 1 - режим сбора с автоматическими перезапуском |
Поля MSTART, MSTOP выбирают источник старта и останова из сетки сигналов старта, которая определяется ПЛИС. Описание сетки сигналов приводится в описании конкретной прошивки ПЛИС.
Режим сбора с автоматическим перезапуском функционирует следующим образом: в режиме триггерного старта по событию происходит запуск сбора данных. Блок данных собирается либо в режиме претриггера, либо без, в количестве данных, заданном в регистре CNT1. По завершении сбора блока автоматически, без участия программы, происходит переход в режим ожидания следующего события старта. В режиме претриггера значение CNT1 должно быть задано не меньше заданного размера претриггера
Бит | Название | Описание |
4..0 | GEN | Выбор источника тактовой частоты |
14..5 | - | Резерв |
15 | START_RST | 1 - сброс счётчика делителя тактовой частоты |
Бит | Название | Описание |
15..0 | CMD_DATA | Данные косвенного регистра |
Бит | Название | Описание |
15..0 | CNT0 | Счётчик начальной задержки |
Регистр счётчика начальной задержки. При разрешении MODE0[CNT0_EN]=1, разрешение работы будет задержано на значение CNT0. Если работа счётчика запрещена, то разрешение работы будет сразу после возникновения условия старта.
Бит | Название | Описание |
15..0 | CNT1 | Счётчик принимаемых данных. |
Регистр счётчика принимаемых данных. При
разрешении MODE0[CNT1_EN]=1, разрешение работы
будет выдано только на число тактов CNT1. Если
разрешена работа счётчика CNT2, то разрешение
работы будет заблокировано на число тактов
CNT2 и далее цикл разрешения и запрета будет
повторяться. Если работа счётчика
запрещена, то будет произведён только один
цикл разрешения работы.
Если работа счётчика CNT1 запрещена, то
разрешение работы будет сразу после
возникновения условия страта и разрешения
по счётчику CNT0.
Бит | Название | Описание |
15..0 | CNT2 | Счётчик пропускаемых данных |
Счётчик определяет число тактов, на которое снимается сигнал разрешение работы.
Бит | Название | Описание |
15..0 | ID | Идентификатор тетрады |
Регистр определяет уникальный идентификатор тетрады.
Бит | Название | Описание |
15..0 | ID_MODE | Модификатор тетрады |
Регистр определяет модификатор исполнения тетрады. Тетрада может быть разработана в различных исполнениях, например с различной шириной и размером FIFO. С использованием или без использования счётчиков CNT0..CNT2 и т.д. Одновременно могут использоваться несколько тетрад с различным модификатором.
Бит | Название | Описание |
7..0 | V0 | Поле V0 |
15..8 | V1 | Поле V1 |
Регистр определяет версию тетрады. Поле V0 изменяется при незначительных изменениях алгоритма работы, исправлении ошибок. Поле V1 изменяется при изменении состава регистров или существенных изменениях алгоритма работы.
Бит | Название | Описание |
3..0 | - | Резерв |
4 | FIFO_IN | 1 - тетрада имеет FIFO для чтения данных процессором |
5 | FIFO_OUT | 1 - тетрада имеет FIFO для вывода данных из процессора |
6 | SFLAG_E | 1 - тетрада может устанавливать уровень срабатывания флага PAE FIFO тетрады |
7 | SFLAG_F | 1 - тетрада может устанавливать уровень срабатывания флага PAF FIFO тетрады |
8 | PRETRIG | 1 - тетрада поддерживает работу в режиме претриггера |
9 | EXTFIFO | 1 - тетрада поддерживает внешнее FIFO |
15..10 | - | Резерв |
Регистр определяет ресурсы тетрады.
Бит | Название | Описание |
15..0 | SIZE | Размер FIFO |
Регистр определяет число слов в FIFO. Если значение регистра 0, а в регистре TRES указано наличие FIFO, то размер FIFO должен определятся по другим источникам.
Бит | Название | Описание |
15..0 | SIZE | Размер FIFO |
Регистр определяет число слов в FIFO претриггера. Если значение регистра 0, то претриггер реализован на базе основного FIFO тетрады.
Бит | Название | Описание |
7..0 | SIZE | Число разрядов шины данных FIFO, подключённых к локальной шине |
Регистр определяет ширину FIFO со стороны локальной шины.
Бит | Название | Описание |
7..0 | IN | Подключение входа данных тетрады |
15..8 | OUT | Подключение выхода данных тетрады |
Регистр определяет подключение FIFO тетрады.
Значение | Название | Описание |
0 | - | Не подключено |
1 | LB | Локальная шина |
2 | ADM | Разъём ADM |
3 | DAC0 | ЦАП0 |
4 | DAC1 | ЦАП1 |
5 | DAC01 | ЦАП0 и ЦАП1 |
6 | PIOX | Разъём PIOX |
7 | - | Резерв |
23..8 | TRDx | Тетрада x, x - 7..0 |
Бит | Название | Описание |
15..0 | CNT | Номер экземпляра тетрады |
Регистр определяет номер экземпляра тетрада. Если в прошивке ПЛИС находятся две тетрады с одним ID, то у них будут разные значения ID_NUM. У первой тетрады значение 1, у второй тетрады значение 2.
В данном разделе приведены сведения о предполагаемом назначении регистров тетрады. Точное назначение регистров приводится в описании конкретной тетрады или в описании конкретной прошивки ПЛИС.
MODE1 | Модификация потока данных. Используется для
переключения выхода или входа потока данных. Назначение регистра может
быть разным для одной тетрады, реализованной на разных базовых модулях.
Если регистр используется, то его описание приводится в описании
конкретной прошивки ПЛИС. В некоторых тетрадах в этом регистре реализован выбор каналов и управление субмодулем. |
MODE2, MODE3 | Дополнительные регистры управления. Рекомендуется использовать для управления ресурсами базового модуля. |
SFLAG_PAE | Установка уровня срабатывания флага почти пустого FIFO. Реализуется для некоторых тетрад. |
SFLAG_PAF | Установка уровня срабатывания флага почти полного FIFO. Реализуется для некоторых тетрад. |
PRT_MODE | Регистр управления режимом претриггера. |
TL_MODE | Регистр управляет записью заголовка в блок данных. |
CHANL | Выбор канала данных. Выбираются каналы 0-15. |
CHANH | Выбор канала данных. Выбираются каналы 16-31. Для субмодулей с числом каналов до 16 регистр не реализуется. |
FORMAT | Выбор формата данных. В этом регистре производится включение восьми разрядной упаковки данных. Возможно применение других форматов, например преобразование в формат с плавающей точкой. |
FSRC | Выбор источника тактовой частоты на субмодуле. Этот регистр используется для тех субмодулей, которые имеют схему формирования тактовой частоты. |
FDVR | Выбор коэффициента деления тактовой частоты на
субмодуле. Этот регистр используется для тех субмодулей, которые имеют схему формирования тактовой частоты. |
GAIN | Выбор коэффициента передачи. Значение 0 в регистре выбирает наименьший коэффициент передачи (максимальный входной сигнал) |
INP | Выбор режима входа. В этом регистре находятся управления закрытым и открытым входом АЦП, выбор входного сопротивления входа и т.д. |
CONTROL1 | Дополнительный регистр управления субмодулем. В этом регистре находятся дополнительные биты управления, которые не попадают в стандартные регистры. Например в этом регистре могут находится биты включения удвоения тактовой частоты, переключения входов АЦП и т.д. |
FLAG_CLR | Сброс флагов регистра STATUS.
Этот регистр используется для сброса индивидуальных флагов в регистре STATUS. Запись в регистр сбрасывает флаги в регистре STATUS. |
ADC_OR | Регистр переполнения АЦП. Чтение регистра возвращает маску каналов, в которых произошло переполнение. Запись в регистр сбрасывает соответствующие биты переполнения. |
PRT_STATUS | Регистр состояния претриггера. Указывает номер отсчёта в слове при котором произошло событие старта. |
PRT_CNTL | Номер слова в считанном массиве при котором произошло событие старта. Младшие разряды. |
PRT_CNTH | Номер слова в считанном массиве при котором произошло событие старта. Старшие разряды. |
TL_ADR | Регистр адреса заголовка. |
TL_DATA | Регистр данных заголовка. |
ЗАО "Инструментальные Системы"