
		Технические требования к ПО платы 4С-37

  Данный документ устанавливает требования на первый этап разработки и подра-
зумевает использование только двух портов C37.94 и двух портов E1 платы. Шины
TDM (соединение с коммутатором SW-01) не используются.

  1. Плата 4C-37 предназначена для организации канала передачи данных между
устройствами ДЗЛ или УПАСК.

  2. Плата имеет два порта IEEE C37.94 для подключения двух устройств ДЗЛ и
два порта E1 для подключения к сети передачи данных.
  Схема соединения:

                .-------------.          .-------------.
                | Плата 4C-37 |          | Плата 4C-37 |
 .-----.    .--------.    .------.       |             |    .-----.
 | ДЗЛ |<-->|C37.94_1|<-->| E1_1 |<-...->|             |<-->| ДЗЛ |
 `-----'    `--------'    `------'       |             |    `-----'
                |             |          |             |
 .-----.    .--------.    .------.       |             |    .-----.
 | ДЗЛ |<-->|C37.94_2|<-->| E1_2 |<-...->|             |<-->| ДЗЛ |
 `-----'    `--------'    `------'       |             |    `-----'
                `-------------'          `-------------'

  3. Канал для передачи данных ДЗЛ и УПАСК, организованный платами 4C-37,
должен соответствовать требованиям стандарта СТО 34.01-9.2-004-2019, разделы
10 "Требования к организации каналов ДЗЛ по цифровым сетям связи" и 13 "Требо-
вания к организации каналов УПАСК ЦС", стандарта СТО 33.180.10.239-2016, таб-
лица 4.2 п/п 3.6 "Показатели качества передачи информации РЗ и ПА".

  4. Порты C37.94 платы всегда должны формировать на выходе цикл по IEEE C37.94
с данными, принятыми из порта E1, независимо от наличия аварий или ошибок со
стороны порта E1. Количество каналов в цикле конфигурируется пользователем ин-
дивидуально для каждого порта. Сконфигурированное значение используется в обоих
направлениях передачи. Значение, принятое приёмником C37.94, игнорируется. При
аварии LOS порта E1 в сторону порта C37.94 в данных должны передаваться "все
единицы" (с чередованием прямой/инверсный бит).

  5. В сторону портов E1 из портов С37 должны передаваться только данные в
чистом виде, без чередования прямой/инверсный бит, в TS2..TS13, с привязкой к
началу циклов.
  В TS1 сигналов E1 должна передаваться величина сдвига начала передачи цикла
E1 от начала приёма цикла C37 с дискретностью два тактовых интервала (0.98 мкс,
диапазон - два цикловых интервала). Передаваемое значение сдвига должно при по-
тере циклов C37 быть неизменным, при восстановлении циклов - приводиться к ре-
альной величине. При достижении границы диапазона сдвига должно выполняться
проскальзывание на один цикл (без переустановки циклов E1).
  Приёмник сигнала E1 должен использовать принятое значение сдвига только, ес-
ли это и предшествующее значения отличаются каждое от своего предшествующего
значения не более, чем на единицу. Приёмник должен определять расчётный момент
передачи начала цикла C37 путём добавления к моменту приёма начала цикла E1
сдвига, равного разности фиксированной задержки (2.5? цикловых интервала) и
сдвига, полученного из сигнала E1. Если отклонение расчётного времени от реаль-
ного превышает предельное значение, цикл C37 должен переустанавливаться.
 В неиспользуемых TS должны передаваться единицы.

  6. Плата должна поддерживать режимы синхронизации:
  a) синхронизация всех передатчиков от сигнала "pclk" частотой 8192 кГц, фор-
мируемого платой SW-01;
  b) синхронизация всех передатчиков от сигнала "clk65m" частотой 65536 кГц,
формируемого независимым генератором своей платы 4C-37;
  c) синхронизация всех передатчиков от потоков E1:
  от приёмника сигнала E1_1, если сигнал E1_1 есть, или
  от приёмника сигнала E1_2, если сигнала E1_1 нет;
  d) несинхронный режим:
  передатчик C37.94_1 синхронизируется от приёмника E1_1,
  передатчик C37.94_2 синхронизируется от приёмника E1_2,
  передатчик E1_1 синхронизируется от приёмника C37.94_1,
  передатчик E1_2 синхронизируется от приёмника C37.94_2.
  Примечание. Следует игнорировать требование IEEE C37.94, запрещающее исполь-
зование для синхронизации передатчиков сигнала, принимаемого от ДЗЛ.

  7. Плата должна детектировать аварии: по портам E1 - LOS, LOF, RAI, AIS, по
портам С37.94 - LOS, RAI.

  8. Неиспользуемые входы/выходы FPGA в сторону кросс-платы блока должны быть
в высокоимпедансном состоянии.

  9. Предусмотреть переключение платы из основного режима, описанного в этом
документе, в режим работы через кросс (режим работы на следующем этапе), в ко-
тором обеспечивается передача данных 4х портов C37.94 в сторону TDM-коммутатора
SW-01.

  10. FPGA должна по выходам REFCLK0, REFCLK1 выдавать тактовые сигналы 2048кГц,
выделенные приёмниками C37.94_x, E1_x. Источники сигналов задаются конфигуриро-
ванием. Допускается передача сигналов без фильтрации джиттера.

  11. FPGA должна работать по интерфейсам:
  - C37.94_1..C37.94_4;
  - E1_1..E1_2;
  - TDM;
  - SPI SW (через кросс);
  - SPI MCU.
  Поддержка интерфейсов C37.94_3, C37.94_4, TDM предполагается на следующих
этапах. 

  12. Интерфейс TDM содержит цепи (см. "Описание ПЛИС платы SW-01"):
  - TDM0_DIN..TDM7_DIN, входные данные;
  - TDM0_DOUT..TDM7_DOUT, выходные данные;
  - входы PCLK и FS0, тактирование и цикловый синхросигнал;
  - вход/выход RESERVE1, сигнал стаффинга.

  Временная диаграмма сигналов:
PCLK      _/~\_/~\_/~\_/~.._/~\_/~\_/~ Частота 8192кГц (см. мсх. ZL30100QD)
FS0       _____/~~~\__0__.._127_/~~~\_ Период 128*8=1024 имп. PCLK (125 мкс)
TDMx_DIN   : 0 : 7 : 6 : .. : 0 : 7 :  xE1[0]..xE1[3], E1 по G.704
TDMx_DOUT  : 0 : 7 : 6 : .. : 0 : 7 :  xE1[0]..xE1[3], E1 по G.704
RESERVE1 ? (сведения об этом сигнале - в проектах Черепанова)

  13. По SPI SW FPGA должна работать в режиме Slave. Цепи интерфейса:
  - CONTROL5 (nCS), вход выбора устройства;
  - CLK1 (SCLK), тактовый вход, частота не более 2 МГц;
  - MISO0 (MOSI), входные данные;
  - MOSI0 (MISO), выходные данные;

  Временная диаграмма сигналов:
nCS  ~\_______________ ... _________/~
SCLK ___/~~\__/~~\__/~ ... _/~~\______
MOSI ___/ msb X  d6 X  ...  X  d0 \___
MISO ___/ msb X  d6 X  ...  X  d0 \___

  Формат предачи сообщенй через SPI:
nCS  ~\_______________________/~
MOSI    <addr>< di >...< di >
MISO ---------< do >...< do > >-
  addr - адрес платы, старшие разряды должны игнорироваться;
  di   - данные к  fifo_rx или флаги 0x7E;
  do   - данные из fifo_tx или флаги 0x7E.
  Выход MISO должен удерживаться в высокоимпедансном состоянии и переводиться
в активное состояние для передачи do, если принят свой адрес платы.

  14. По SPI MCU FPGA должна работать в режиме Slave. Цепи интерфейса:
  - CPU2 (nCS), вход выбора устройства;
  - CPU5 (SCLK), тактовый вход, частота 2..4 МГц;
  - CPU3 (MOSI), входные данные;
  - CPU4 (MISO), выходные данные;
  - CPU12 (fifo_rx_int), выход;
  - CPU7 (fifo_tx_int), выход;
  - CPU1 (fifo_tx_enable), вход;
  - CPU6 (сброс интерфейсных регистров), вход, не используется.

  Временная диаграмма сигналов:
nCS  ~\_______________ ... _________/~
SCLK ___/~~\__/~~\__/~ ... _/~~\______
MOSI ___/ msb X  d6 X  ...  X  d0 \___
MISO ___/ msb X  d6 X  ...  X  d0 \___

  Формат предачи сообщенй через SPI
  - при записи в FPGA:  <1,addr[6:0]><data>;
  - при чтении из FPGA: <0,addr[6:0]><data>.
  Данные могут быть 8-разрядные, 16-разрядные или произвольной длины. 16-раз-
рядные данные передаются, начиная со старшего байта.
  Во время приёма команды и данных для записи по выходу MISO допускается пере-
дача произвольных значений.
  Сведения о регистрах, доступных через интерфейс, прилагаются.

  15. FPGA должна иметь FIFO-буферы fifo_tx и fifo_rx по 512 байтов для переда-
чи HDLC пакетов (по SPI MCU и SPI SW) от MCU к плате SW - через fifo_tx, и от
платы SW к MCU - через fifo_rx.
  Запись в fifo_rx должна выполняться только, если сообщение адресовано по ад-
ресу, содержащемуся в регистре board_address, после приёма флагов 0x7E. Первые
после инициализации флаги не записываются, количество флагов между пакетами
должно усекаться до одного.
  После приёма в fifo_rx полного пакета или при заполнении fifo_rx наполовину
должен формироваться запрос прерывания низким уровнем сигнала fifo_rx_int и
удерживаться до начала чтения fifo_rx.
  По SPI SW должны передаваться: при высоком уровне сигнала fifo_tx_enable -
данные из fifo_tx, пока они есть, и далее последний записанный в буфер байт
или флаги 0x7E, при низком уровне - флаги 0x7E.
  В процессе передачи данных из fifo_tx при достижении половины буфера или его
конца должен формироваться запрос прерывания низким уровнем сигнала fifo_tx_int
и удерживаться до начала записи в fifo_tx.

  16. Все интерфейсные выводы FPGA должны быть в режиме "3.3-V LVTTL", сила
тока для выходов - 4мА.

  17. В FPGA должен быть встроен тестер для передачи в порты C37.94 и приёма
из портов C37.94 ПСП для проверки оптических интерфейсов и волокна без участия
стороннего оборудования. Тип ПСП - инвертированная 2^15-1 бит.
