Приложение 3

Плата AWF.

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

Плата имеет малые габариты и предназначена для размещения в непосредственной близости от усилителя-формирователя, или монтажа в едином конструктиве с усилителем-формирователем прежней разработки. Поэтому входная цепь выполнена с высоким входным сопротивлением, без гальванической развязки. Плата AWF32 может использоваться и самостоятельно, в составе малых (мобильных) стендов, для чего оборудована интерфейсом USB 2.0 FS, совместимым с любым современным компьютером.


Основные характеристики платы AWF:

Количество спектрометрических каналов                        32

Полная шкала амплитуды входного сигнала                2В

Входной импеданс                                                10кОм, 3пФ

Скорость взятия выборок в каждом канале                3Мвыборки в секунду

Дискретизация выборок по амплитуде, каждый канал        4096каналов (12бит)

Интерфейс C-Link (триггер/данные)                        1 канал

Интерфейс USB 2.0 FS (только данные)                        1 канал

Габаритный размер                                                140х120х10мм**3

Напряжение питания                                        5.5..9В

Потребляемый ток, не более                                 400мА




Часть 1. Общее описание.

Особенности платы AWF32.

Плата AWF32 разработана в соответствии с современными тенденциями разработки радиоэлектронной аппаратуры. Ее работа базируется на непрерывной дискретизации напряжения на входе, подобно цифровому осциллографу, и сохранении цифровых отсчетов, соответствующих форме сигнала, в буферной памяти. Далее, по сигналу Триггера, содержимое буферной памяти обрабатывается логической схемой, которая распознает наличие входного импульса и вычисляет его основные параметры. Результаты вычислений могут быть считаны через интерфейсы ССД.

Таким образом, основным отличием между платами является замена комбинации {аналоговый пиковый детектор + аналоговый коммутатор + АЦП} на комбинацию {АЦП + цифровая обработка сигнала}. Второй подход в современных условиях позволяет увеличить плотность каналов на плате, как за счет сокращения площади канала, так и за счет снижения рассеиваемой тепловой мощности. Благодаря непрерывной работе АЦП появляется возможность оснастить плату такими службами, как внутренний триггер, монитор загрузки, монитор перегрузок. Кроме того, благодаря общему снижению числа компонентов уменьшается как стоимость начальных капитальных затрат, так и стоимость эксплуатации, включая стоимость простоев в связи с выходом из строя и стоимость самого ремонта.


Техническое описание платы AWF32.

Структура.

Блок-схема платы приведена на Рис.1. В состав платы входят 32 канала, каждый из которых имеет на входе схему защиты от разрядов статического электричества, буферный каскад на основе микросхемы фильтра низких частот и микросхему АЦП.


Рис.1. Блок-схема платы AWF32.

В логической матрице реализованы логические схемы, которые можно разделить на три группы.

А) схемы, поддерживающие работу АЦП, буферизацию отсчетов, вычисление параметров сигнала, схемы внутреннего триггера

Б) служебные вычислительные и пересчетные схемы, схемы подстройки шкал и пьедесталов, схемы измерения температуры, идентификации и синхронизации

В) логические схемы интерфейсов, схемы обеспечения сквозного тестирования, внешней синхронизации

В правой части Рис. 1 изображены блоки электрических интерфейсов, осуществляющие согласование параметров внешних шин с внутренними логическими уровнями платы.


Аналоговые входные цепи.

Подсоединение платы к усилителю-формирователю осуществляется стандартными плоскими шлейфами через два соединителя типа IDC по 40 контактов в каждом. Входы сгруппированы по 16 на каждый соединитель.

Схема аналоговых цепей приведена  на Рис.2.

Рис.2. Принципиальная электрическая схема одного канала платы AWF32.


Входы имеют цепочки защиты. Они обеспечивают два типа защиты. Во-первых, от разрядов статического электричества, возможных на этапах изготовления, наладки и монтажа. Во-вторых,  от перегрузок по входу, возможных при работе с усилителями-формирователями прежних разработок, имеющими, как правило, многократный запас по выходному напряжению. Цепочка состоит из резистора RI_163 номинальной величины 510 Ом и двустороннего диодного ограничителя на основе диодной сборки UL44.

Так как Плата предназначена размещаться в непосредственной близости от источника сигналов, и не предусматривается работа с длинными кабельными трассами, то входная цепочка не имеет согласования импедансов и гальванической развязки. Входное сопротивление определяется резистором смещения RI_164 и имеет типовую величину 10кОм.

Пьедестал задается напряжением смещения Input_Bias_Voltage и подается на входы через вышеупомянутые резисторы. Это напряжение может грубо регулироваться перемычками на плате, если требуется изменить полярность входного сигнала. Точная регулировка пьедесталов доступна программно и обсуждается ниже.

Возможность программного изменения пьедесталов можно использовать для «сканирования» состояния входов Платы. При быстром изменении напряжения, задающего пьедестал, будет видна разница в поведении «хороших» и «плохих» каналов – в хороших каналах измеренный пьедестал будет изменяться медленно, а в плохих – быстро.

Далее сигнал подается на нормирующий буферный усилитель UI_66. Основная задача этого буфера – обеспечить низкий импеданс на входе ИС АЦП и не допустить распространение помех коммутации от ИС АЦП обратно к усилителю-формирователю. Буфер выполнен на интегральной схеме видео-фильтра AD4430-1, обладающей высокой линейностью и стабильностью, устойчивостью к импульсным переходным процессам и низкой стоимостью. Особенности реализации цепи обратной связи, присущие таким ИС, позволяют с помощью перемычек  RI_161, RI_162 с высокой точностью изменять коэффициент передачи ступенями по 30 и 50%, что позволяет подобрать необходимый для АЦП размах сигнала.

Подготовленный вышеописанным способом сигнал подается на вход АЦП UI_65. Используется ИС АЦП последовательного приближения AD7276, обеспечивающая скорость преобразования до 3М выборок в секунду при дискретности 4096 каналов. Если предполагается применение Платы в системе с меньшими требованиями на скорость и точность, то возможна комплектация платы совместимыми по контактам и корпусу ИС разрядностью 10 или 8 бит, и быстродействием 1М выборка в секунду. Правильный выбор опции позволяет существенно снизить стоимость комплектации и потребляемую мощность.

Входная шкала этого типа АЦП соответствует напряжению питания ИС и может изменяться от 2.5 до 3.5 Вольт. Для точной подстройки шкалы АЦП напряжение Scale_Ref можно изменять программно.

Дискретизованные значения входного напряжения передаются в виде последовательного битового потока в логическую матрицу для буферирования и обработки.


Аппаратное обеспечение, реализованное в логической матрице.

Блок-схема аппаратного обеспечения, реализованного в логической матрице, приведена на Рис.3. Схема имеет традиционное начертание, что подчеркивает использование Скелетного Проекта, единого для всех устройств системы TOMADAQ, который применяется в устройствах ССД КМД-3. Применение «стандартной» структуры аппаратного обеспечения гарантирует совместимость платы AWF32 с аппаратными и программными решениями, уже разработанными в рамках работ по ССД КМД-3.

Рис.3. Блок-схема аппаратуры, реализованной логической матрице.


Программное обеспечение аппаратной части описано в виде изолированных Модулей и Контроллеров, ориентированных на конкретные задачи, выполняемые платой.  Все модули «нанизываются» на внутреннюю Шину Проекта, которая  одинакова для большинства устройств в ССД. Данная шина имеет 16-ти битную ширину как для данных, так и для адресов устройств (Модулей), к ней подключенных. Специализированные Модули «Арбитр Шины», «Модуль Синхронизации» разрешают конфликты и обеспечивают разделение обращений различных устройств на Шину, их синхронизацию по тактовым сигналам и Фазе ВЭПП. Модуль «Формирователи Индикации» обеспечивает визуальное отображение событий в плате.

Цифрами внутри стрелок обозначены Базовые Адреса (Offset’s) Модулей и Контроллеров при доступе к ним по Шине Проекта.

При обращении к какому-либо ресурсу, описанному ниже, следует определить адрес этого ресурса на Шине. Для этого надо сложить величины Базового Адреса Модуля и адрес ресурса внутри Модуля. Определенный таким образом адрес используется при доступах как с шины USB, так и с Шины ССД.




Часть 2. Интерфейсы.

Доступ через интерфейс «USB».

Внутренние ресурсы платы доступны для пользователя (программно) как через стандартную магистраль USB. Интерфейс универсальной последовательной шины (USB) базируется на использовании специализированной ИС FT245R, которая обеспечивает переход от последовательного пакетного способа обращения шины USB к методу FIFO байтовой организации. Данная ИС обеспечивает соответствие Платы требованиям спецификации USB 2.0 и работу со скоростью full speed, т.е 12Мбит в секунду.

Для работы с платой приложение должно сформировать Командный Лист, снабдить его признаками начала и конца Листа, а затем преобразовать в байтовый поток и отправить по шине.

Когда Плата получает пакет от компьютера, она интерпретирует его как Командный Лист и пытается его исполнить. По мере исполнения Командного Листа формируется ответная посылка. Эта посылка имеет точно такую же структуру, как и входящий пакет. В случае, если входная посылка не соответствует ожидаемой структуре Командного Листа, плата не приступает к исполнению листа, а генерирует ответное сообщение, содержащее статус ошибки.




Часть 3. Внутренние ресурсы.

Внутренние Ресурсы распределены следующим образом. Список по логическому порядку при обработке события: от источников запросов к отдельным сигналам.

NN

Addr

Hex

Addr

Dec

Size

Function/Controller






Источники запросов на запуск измерений


1

2400

9216

16

Генераторы Случайных и Равномерных Интервалов


2

8000

32768

256

Внутреннй Триггер












Управление измерениями


3

200

512

256

Контроллер АЦП


4

9000

36864

256

Модуль DSP_0



9100

37120

256

Модуль DSP_1



9200

37376

256

Модуль DSP_2



9300

37632

256

Модуль DSP_3


5

0600

1536

32

Контроллер Запусков


6

400

1024

64

Контроллер Пьедесталов


7

9600

37120

2

Контроллер измерителя температуры












Общее обеспечение измерений


8

0С00

3072

1024

Память Команд Редиректора Up_Link_0


9

8С00

35840

1024

Контроллер интерфейса USB


10

1200

4608

2

Контроллер переключения Фазы


11

1600

5632

256

Контроллер самозагрузки












Идентификация и контроль при измерениях


12

2000

8192

256

Тестовая Память


13

1800

6144

256

Контроллер  Silicon_ID


14

1400

5120

16

Системный Счетчик








При обращении к ресурсам, не входящим в указанные области, вспыхивает красный индикатор «Error» на передней панели.


3.1.1 Модуль DSP. H”9000”=36864, H”9100”= 37376, H”9200”= 37376, H”9300”= 37632.

Модуль цифровой обработки сигналов принимает последовательности выборок сделанные АЦП и пытается определить амплитуду пика сигнала и время его получения. В первом варианте модуля  DSP было реализовано скользящее окно усреднения по 4-м отсчетам.  По решению первичного триггера вырабатывается окно поиска пика. Амплитудой пика считается максимальное усредненное значение, лежащее внутри окна. Время от момента обнаружения максимального значения до конца окна доступно на чтение. Если пик обнаруживается на границе окна, взводится бит “Peak_Time_is_wrong”, если значение выборки на выходе АЦП достигало максимального значения, взводится бит “Overoad”.

Время вычисления среднего в каждом канале составляет 20нс, т.е. скорость работы определяется только групповой задержкой усреднения. Благодаря высокой скорости этот фильтр может быть использован для работы с внутренним триггером AWF32.

Формат чтения этих данных следующий.

Addr, hex

Addr, dec

Channel N

Bits

Description

9000h


Ch0

[11..0]

Амплитуда пика, как в А32

9001h



[7..0]

Время пика

9002h



[11..0]

Амплитуда пика




[15]

Overload




[14]

Peak_Time_is_wrong

9010h


Ch1

[11..0]

Амплитуда пика, как в А32

9011h



[7..0]

Время пика

9012h



[11..0]

Амплитуда пика




[15]

Overload




[14]

Peak_Time_is_wrong

----

----

-----

-----

------

9070h


Ch7

[11..0]

Амплитуда пика, как в А32

9071h



[7..0]

Время пика

9072h



[11..0]

Амплитуда пика




[15]

Overload




[14]

Peak_Time_is_wrong

9100h


Ch8

[11..0]

Амплитуда пика, как в А32

9101h



[7..0]

Время пика

9102h



[11..0]

Амплитуда пика




[15]

Overload




[14]

Peak_Time_is_wrong

----

----

-----

-----

------

9170h


Ch15

[11..0]

Амплитуда пика, как в А32

9171h



[7..0]

Время пика

9172h



[11..0]

Амплитуда пика




[15]

Overload




[14]

Peak_Time_is_wrong

9200h


Ch16



9270h


Ch23



9300h


Ch24



9370


Ch31



*Командные Листы чтения по умолчанию указывают на ячейки, содержащие только амплитуды пиков.


Положение пика сигнала относительно Общего Стопа варьирует соответственно разрешающему времени Первичного Триггера, благодаря чему моменты взятия выборки АЦП и положение пика не могут быть точно привязаны друг к другу. Это означает, что  АЦП будет всегда немного «промахиваться» относительно истинного пика сигнала и давать заниженные значения. Абсолютная величина ошибки связана с абсолютным значением производной сигнала в районе макушки и наибольшее значение ошибка может иметь для больших сигналов. Этот эффект можно видеть, как увеличение сигмы при увеличении амплитуды сигнала.

Однако не все так страшно. Во-первых, для наиболее вероятных амплитуд ошибка не превосходит одного канала АЦП и не видна на фоне физического разрешения систем. Во-вторых, при операциях типа расчета Z-координаты методом определения центра тяжести, эта ошибка одинакова для всех каналов данного события и в первом приближении вообще не дает вклада в результат!

Тем не менее, для удовлетворения эстетического чувства в данный момент реализован алгоритм подгонки макушки импульса параболой по 5-ти точкам методом наименьших квадратов. То есть, модуль DSP делает подгонку каждый раз, когда от АЦП поступает новый отсчет (каждые 330нс). Расчет занимает 120нс (в каждом канале), что так же позволяет использовать этот фильтр для работы с внутренним триггером. Наибольший результат расчета, полученный внутри окна, считается амплитудой пика и доступен на чтение. В связи с особенностями целочисленного аппаратного блока, изменился формат выходных данных. А именно, внутреннее 20-ти битное представление переводится в «читабельное» представление, содержащее 12..13 бит. Для «правильного» отбрасывания лишних битов требуется выполнять масштабирующее деление на 35, что непросто. Поэтому  используется сдвиг на 5 разрядов, эквивалентный делению на 32,  а для возможного уточнения этой операции сохраняется еще один младший бит.  То есть, данные теперь имеют 13-ти битное представление, а полная шкала АЦП видна как 4096*(35/32)=4475 каналов.

Изменилось и формирование битов контроля качества данных. В формирование бита “Overload” включены проверки перегрузки АЦП в Плюс, Минус, перегрузка аккумулятора DSP. Бит “Peak_Time_is_wrong” устанавливается, если пик обнаружен ближе 3-х тактов (1мкс) до конца окна, либо далее 25-ти тактов (8.3мкс) от конца окна. (Числа 3 и 25 вписаны в проект жестко, а начало и конец окна программируются в Контроллере События пользователем.)

Так как в объеме посылки C-Link недостаточно места для одновременной пересылки 32-х амплитуд и 32-х времен, то созданы специальные ячейки, где времена пиков конкатенированы попарно, что позволит читать  все амплитуды и времена в одном событии.

Формат чтения этих данных следующий.

Addr, hex

Addr, dec

Channel N

Bits

Description

9000h

36864

Ch0

[12..0]

Амплитуда пика, как в А32



[15]

Overload



[14]

Peak_Time_is_wrong

9001h

36865

[7..0]

Время пика

9002h

36866

[12..0]

Амплитуда пика




[15..13]

Время пика






9010h

36880

Ch1

[12..0]

Амплитуда пика, как в А32



[15]

Overload



[14]

Peak_Time_is_wrong

9011h

36881

[7..0]

Время пика

9012h

36882

[12..0]

Амплитуда пика



[15..13]

Время пика






----

----

-----

-----

------

9070h

36976

Ch7

[12..0]

Амплитуда пика, как в А32



[15]

Overload



[14]

Peak_Time_is_wrong

9071h

36977

[7..0]

Время пика

9072h

36978

[12..0]

Амплитуда пика





9080h

36992


[7..0]

Время пика Ch0




[15..8]

Время пика Ch1

9081h

36993


[7..0]

Время пика Ch2




[15..8]

Время пика Ch3

9082h

36994


[7..0]

Время пика Ch4




[15..8]

Время пика Ch5

9083h

36995


[7..0]

Время пика Ch6




[15..8]

Время пика Ch7






9100h

37120

Ch8

[12..0]

Амплитуда пика, как в А32



[15]

Overload



[14]

Peak_Time_is_wrong

9101h

37121

[7..0]

Время пика

9102h

37122

[12..0]

Амплитуда пика



[15..13]

Время пика






----

----

-----

-----

------

9170h

37232

Ch15

[12..0]

Амплитуда пика, как в А32



[15]

Overload



[14]

Peak_Time_is_wrong

9171h

37233

[7..0]

Время пика

9172h

37234

[12..0]

Амплитуда пика



[15..13]

Время пика






9180h

37248


[7..0]

Время пика Ch8




[15..8]

Время пика Ch9

9181h

37249


[7..0]

Время пика Ch10




[15..8]

Время пика Ch11

9182h

37250


[7..0]

Время пика Ch12




[15..8]

Время пика Ch13

9183h

37251


[7..0]

Время пика Ch14




[15..8]

Время пика Ch15











9200h

37376

Ch16



9270h

37488

Ch23



9300h

37632

Ch24



9370h

37744

Ch31



*Командные Листы чтения по умолчанию указывают на ячейки, содержащие только амплитуды пиков.



3.1.2 Модуль системных счетчиков. H”1400”=5120

Блок предназначен для проведения тщательного разбирательства по источникам ошибок в плате и системе в целом.

Каждый вход срабатывает на положительный фронт входного сигнала. Счетчики 16-ти разрядные, считают в свободном режиме, т.е. при переполнении счетчик перескакивает в ноль и считает по кругу. Адреса счетчиков начинаются со сдвигом на 1. По любому обращению в адрес 15 текущее состояние счетчиков сбрасывается в ноль.

В адресе ноль расположен регистр флагов ошибок. Флаги взводятся по положительным фронтам входных сигналов, а сбрасываются по концу операции чтения регистра.

Текущее присоединение сигналов на входе Блока следующее.

Номер бита регистра флагов ошибок

Смещение адреса

Имя сигнала в проекте

Комментарий


0=5120


Адрес регистра флагов

Inputs[0]

1=5121

Bus_Arbiter.Error

Ошибка обмена по внутр. Шине

Inputs[1]

2

CAMAC_IFace.Error

Ошибка обмена по шине КАМАК

Inputs[2]

3

Link_0_IFace.Error

Неверная команда

Inputs[3]

4

USB_IFace.Error


Inputs[4]

5

Ph_Sw_0.Error

Потеря опорной фазы

Inputs[5]

6


Запр доступ к вн. Шине

Inputs[6]

7



Inputs[7]

8







Inputs[9]

10



Inputs[10]

11



Inputs[11]

12

Event_Ctrl_IFace.Error

Слишком длинное событие

Inputs[12]

13



Inputs[13]

14




3.1.3 Самозагрузчик. H”1600”=5632

При включении питания в микросхеме логики инициализируется в правильное состояние только память, все регистры оказываются в состоянии ноль. Данный Контроллер преодолевает это ограничение. По включении питания данные, содержащиеся в ПЗУ, раздаются через внутреннюю шину. ПЗУ имеет размер 256 слов. Формат данных аналогичен формату командных листов Редиректора Линка, т.е. в первых 128 ячейках лежат адреса внутренних ресурсов, куда надо занести данные, а в следующих 128-и ячейках лежат данные для этих адресов. Содержимое Командного Листа заносится на этапе компиляции программы логики, Прочитать Командный Лист можно, начиная со смещения 0.


3.1.3 Модуль «Silicon_ID». H”1800”=6144

Модуль предназначен для присвоения плате уникального ID в системе, позволяющего отслеживать каждую плату и ее перемещения. Работа Модуля базируется на чтении запаянной на плату микросхемы, обладающей уникальным 48-битным серийным номером. Данная микросхема полностью аналогична, например, ключам для кодовых замков на подъездах. Код, содержащийся в ID, представлен в 5-ти регистрах, которые читаются со смещения 0. В старшем байте первого слова читается код семейства ID, который одинаков для наших микросхем. Далее 3-слова – уникальный код, и в младшем байте последнего слова лежит CRC, позволяющий проверить, правильно ли считан ID. Для того, чтобы запустить считывание кода из микросхемы ID, надо указать код доступа в регистре 7 и обратиться на запись в регистр 8. Дело это не быстрое, несколько миллисекунд. По включении питания считывание инициируется POSS-ом, и доступно на чтение почти сразу после включения.

Таблица значений, заносимых в регистры по включении питания.

Адрес

Адрес абсолютный

Значение по умолчанию

Номера ячеек в файле ини

Что происходит

7

6151

204

59/187

Access Code =Read ROM

8

6152

1

60/188

Execute




Часть 4. Входы-выходы, индикация платы AWF32 .

4.1 Входы Специализированные.

4.1.1 Вход сигнала от внешнего усилителя-формирователя  IN0.. IN15 - разъем IDC-40.

4.1.2 Вход сигнала от внешнего усилителя-формирователя  IN16.. IN31 - разъем IDC-40.

4.1.3 Вход для подключения шины USB – разъем IDC-10, плоским шлейфом переход на разъем USB-B.

4.1.4. Вход для подключения кабеля внешнего питания – клеммная колодка.


4.2 Входы Стандартные.

4.2.2 USB-A, разъем Синхронного Линка (Up_Link0).


4.3 Индикация на передней панели.

4.3.1. Синий индикатор, “Event”. Вспыхивает на 20мс на каждый запуск События.

4.3.2. Зеленый индикатор “OK!”. Горит постоянно, если схема синхронизации находится в режиме захвата частоты Линка хотя бы по одному из Up_Link-ов. Если входной частоты нет, индикатор мигает.

При обращениях по USB индикатор на 10мс изменяет свое состояние.

4.3.3. Красный индикатор “Error”. Вспыхивает на 50мс по каждой обнаруженной ошибке .






Внимание! Прибор чувствителен к статическому электричеству!

Стандартные меры предосторожности:

  1. Перед тем как взять плату в руки, необходимо прикоснуться к защитному экрану платы, чтобы уравнять статические потенциалы.
  2. Непосредственно перед вставлением платы в направляющие, держа плату в руках,  прикоснуться рукой к корпусу крейта, куда плата будет вставлена.
  3. Перед присоединением кабелей к плате, держа кабель в руках,  прикоснуться рукой к корпусу крейта, куда кабель подсоединяется.



 

Далее
  • Полное содержание
  • Краткая теория
  • Выполнение работы
  • Контрольные вопросы
  • Библиографический список
  • Приложения