Версия 0. xx.03.2009 ЦИФРОВАЯ ЛИНИЯ ЗАДЕРЖКИ Timer16ME-PCI Техническое описание Институт Ядерной Физики СО РАН Новосибирск 2009 Назначение и параметры модуля Шестнадцатиканальная PMC плата Timer16ME (fast – версия) предназначена для генерации импульсов с программируемой относительно общего запуска задержкой. Наличие шестнадцати входов для сигналов запрета и программируемой логики обработки запретов позволяет реализовать гибкую систему аппаратных блокировок выходных сигналов. Основные свойства Timer16ME: шестнадцать выходных каналов; разрядность программируемой задержки – 15 бит; дискретность установки интервала задержки – 5 нс; внешний или программный запуск; шестнадцать входов для сигналов запрета; программируемая логика блокировок выходов Рис.1. Внешний вид Timer16ME. Характеристики мезонинной платы Timer16ME Количество каналов 16 Дискретность установки задержки 5 нс Диапазон перестройки От 5 нс до 163840 нс Задержка выходного сигнала при коде = 0 ????????? нс Величина Jitter’а ????????? нс Длительность выходного импульса Порог срабатывания по входу “Trigger” при фронте запуска 5 нс Допустимый перепад сигнала на входе min / max 1 мкс Сопротивление входа “Trigger” 50 Ом / 5кОм Количество входов запрета 16 Ток срабатывания по входу «Запрет» - мин. 5 мА Скорость реакции на сигнал запрета ????????? нс Токи, потребляемые мезонином +3.3 B +5.0 B +12 В 1.5В 0 ÷ +4В / - 20 ÷ + 20В ???А ???А ???А Передняя панель Вид передней панели показан на рисунке 1. Назначение элементов передней панели: Светодиод “↔” – индикация обращения контроллера к соответствующей мезонинной плате; Светодиод “!” – индикация запроса прерывания: загорается при выставлении платой запроса и гаснет, когда запрос снят; Разъём TRIGGER – SMA-тип, положительный импульс на этом входе запускает счетчики каналов (по фронту); Разъём TEST – SMA-тип, дублирует на переднюю панель сигнал Канала 0. Удобен при отладочных процедурах. Структурная схема и функционирование Timer16ME На рисунке 2 показана структурная схема платы – мезонина. В состав Timer16ME входит цифровая часть, реализованная на микросхеме программируемой логики семейства Cyclone II, содержащая шестнадцать синхронных счетчиков, логику обработки запретов, цепь запуска и интерфейс. На плате также расположены генератор тактового сигнала с малым фазовым шумом и формирователь сигнала внешнего запуска. Рис.2. Структурная схема платы Timer16ME. Тип запуска, внешний или программный, определяется записанным в регистр управления и контроля (CSR) словом. После поступления сигнала запуска счетчики каналов начинают отсчитывать предварительно записанные интервалы задержек. По окончании времени счета выходной формирователь каждого канала генерирует импульс длительностью 1 мкс, если до этого момента не возникло блокировки выходного сигнала. Причиной блокировки может служить программный запрет на генерацию некоторых сигналов, устанавливаемый записью слова в соответствующий регистр, или блокировка может явиться следствием поступивших на входы запрета потенциалов. Подробнее механизм работы блокировок описан ниже, в разделе «Логика блокировок». Вход формирователя сигнала запуска сделан дифференциальным. При необходимости джампер J2 позволяет соединить землю кабеля запуска и землю платы. Второй особенностью цепи запуска является ёмкостной вход, позволяющий устранить влияние низкочастотных шумов и улучшить стабильность срабатывания. Ёмкость конденсаторов составляет 30 пФ, что накладывает требования на длительность фронта и амплитуду сигнала запуска. Так, при амплитуде этого сигнала равной 3 В, длительность фронта не должна превышать 10 нс. Сопротивление входа Trigger может изменяться при помощи джампера J1, разомкнутому положению соответствует значение 5 кОм, замкнутому положению – 50 Ом. Описание регистров I/O Timer16ME Внимание! Данные при работе с регистрами должны быть 32 разрядными. При записи незначащие старшие биты отбрасываются, а при чтении ”обнуляются”. Регистр управления и контроля (CSR) – Адрес I/O – 44h (BAR 0 – I/O) Данный регистр предназначен для установки и инициации режимов работы Timer16ME_PCI. Он содержит 6 разрядов, доступных для чтения и записи (кроме бита AD03). Разряд Название AD00 RUN Назначение Программный запуск таймера Запись RUN = 1 в случае, если бит RUN_MODE установлен в 1, стартует счетчики таймера. После старта счетчиков RUN сбрасывается в ноль автоматически. Режим запуска AD01 RUN_ MODE AD02 BLK AD03 BUSY AD04 INTA AD05 INTB Если RUN_MODE = 0, то запуск таймера происходит от внешних источников, поданных на вход “Trigger”. В случае RUN_MODE = 1 запуск осуществляется записью RUN = 1. Запрет запуска Запись 1 запрещает как программный, так и внешний запуск таймера. BUSY = 1 показывает, что таймер находится в режиме отсчета отведенного интервала времени или генерирования выходных сигналов. (бит доступен только для чтения) Запись 1 запрещает генерирование прерывания таймером по окончании времени счета. Запись 1 запрещает генерирование прерывания таймером в случае возникновения блокировки. AD06 Резерв AD07 – AD31 Не используются Регистры счетчиков - Адрес I/O – 00h – 3Ch (BAR 0– I/O) Регистры содержат 15 бит и определяют интервалы времени задержки выходных импульсов таймера относительно момента запуска. Диапазон принимаемых значений 0000h – EFFFh. Регистр чтения блокировок (только чтение) - Адрес I/O – 40h (BAR0 – I/O) Регистр содержит 16 бит и определяет, какие из выходных импульсов таймера были заблокированы вследствие установленной маски или обработки возникших внешних сигналов запретов. Состояние каждого разряда регистра чтения блокировок определяется и фиксируется в момент окончания времени счёта соответствующего канала. Разряды, соответствующие заблокированным каналам, после окончания времени счета будут в состоянии ноль. В незаблокированных каналах будет сгенерирован выходной импульс, и состояние соответствующих разрядов регистра блокировок будет равно 1. Регистр чтения блокировок обнуляется сигналом «Trigger». При появлении разрешённого запрета (см. ниже «Маска активных запретов») до окончания времени счёта выходной импульс будет заблокирован и Timer16ME выставит прерывание. Заботой программы является своевременная реакция на прерывание и чтение регистра блокировок до поступления очередного триггера. Регистр «Маска выходов» - Адрес I/O - 48h (Bar 0– I/O) Регистр содержит 16 бит и определяет активные каналы таймера. Запись 1 в биты регистра блокирует выходные сигналы соответствующих каналов. Регистр «Маска активных запретов» - Адрес I/О – 4Сh (Bar 0– I/O) Регистр содержит 16 бит. Запись 1 в биты регистра запрещает обработку, т.е. какую – либо реакцию блока, соответствующих сигналов запретов. Регистр «Маска обработки запретов» - Адрес I/О – 50h (Bar 0– I/O) Регистр содержит 16 бит и определяет, какие сигналы внешних запретов участвуют в формировании сигнала “Блокировка/Авария-S”. Сигнал “Блокировка/Авария S” формируется как логическое ИЛИ всех разрешённых запретов и запись 1 в биты регистра запрещает обработку соответствующих запретов. Если состояния регистра маски обработки запретов и регистра активных запретов равны, то выход «Блкировка/Авария-S» может использоваться как аппаратное средство быстрой реакции на блокировку. Логика обработки запретов Timer16PCI_fast - версия Логика обработки запретов Timer16PCI_fast (см. рис. 3) позволяет блокировать генерирование выходного сигнала каждого канала программно или в результате сигнала запрета, поступившего на соответствующий вход. Потенциал запрета (логическая единица) может повлиять на выходной сигнал только этого канала. В состав Timer16PCI_fast входит три типа регистров – масок, определяющих логику блокировок. «Маска выходов» - блокирует, если соответствующий разряд в 1, возникновение импульса в данном канале, независимо от состояния запретов и других регистров-масок. Регистр «Маска активных запретов» - блокирует, если соответствующий разряд в 1, обработку сигнала запрета, поступившего на вход канала. Если к моменту, когда счетчик канала отсчитает отведенное ему время, а на входе запрета канала будет 1 (запрет) и соответствующий бит регистра будет 0 (разрешение обработки), то импульс на выходе канала не появится. & or Блокировка/Ава рия S & р азр ешение о бр аб отки бл окир овок TIMER F0 З апр ет0 & & р егистр "маска активных з апрето в" Q C D Q 1 mk s Вых од 0 & TIMER F15 З апр ет15 C D 1 mk s Вых од 15 & р егистр "маска вых од ов" р егистр ч тения бл окир овок Рис. 3. Структура блокировок «быстрой» линии задержки. «Маска обработки запретов» блокирует (если бит=1) поступление соответствующих запретов в модуль выработки выходного сигнала «Блокировка/Авария S». Модуль выработки аварии секции представляет собой схему «или». Состояние выходных блокировок может быть прочитано в «Регистре чтения блокировок». Ноль в каком-либо разряде регистра означает, что выходной импульс соответствующего канала заблокирован, при этом различия между программной блокировкой и блокировкой в результате сигнала запрета нет. Регистр содержит правильные данные для всех каналов только после окончания времени счета всех счетчиков, бит busy = 0 (CSR). Прерывание в Timer16ME организовано по схеме «ИЛИ активных запретов». Заботой программы является своевременная реакция на прерывание и чтение регистра блокировок до поступления очередного триггера.