Материал носит образовательный характер. Открыт к профессиональной дискуссии в комментариях.


Представьте, что ваш код на ПЛИС может самопроизвольно измениться в любой момент. Для космоса это не фантазия, а суровая реальность.

Космическое пространство — это не вакуум в привычном понимании. Для микроэлектроники это агрессивная среда с экстремальным уровнем ионизирующего излучения. Постоянная бомбардировка тяжёлыми заряженными частицами (ТЗЧ), протонами солнечного ветра и галактическими космическими лучами превращает запуск электроники на орбиту в лотерею с высокими ставками.

В этой статье разберём, почему радиация «ломает» ПЛИС (FPGA), какие существуют методы защиты и почему скраббинг конфигурации — это не опция, а базовая необходимость для выживания аппарата.


Почему космос «ломает» электронику: краткий ликбез

В полупроводниковых структурах ионизирующее излучение вызывает четыре ключевых эффекта. Понимание физики процесса критично для выбора метода защиты.

Эффект

Расшифровка

Механизм

Последствия для ПЛИС

SEU

Single Event Upset

Заряд от частицы меняет состояние ячейки памяти

Переворот бита в конфигурации → изменение логики

SEFI

Single Event Functional Interrupt

Сбой в управляющей логике или FSM

Временная потеря функциональности, «зависание»

SEL

Single Event Latchup

Запуск паразитной тиристорной структуры

Рост тока, перегрев, возможное разрушение

TID

Total Ionizing Dose

Накопление повреждений в оксидах

Деградация параметров: утечки, сдвиг порогов

Особенно уязвимы программируемые логические интегральные схемы (ПЛИС/FPGA) с конфигурационной памятью на основе SRAM/Flash: один переворот бита может изменить маршрутизацию сигналов или логику конечного автомата.

Цифры для понимания масштаба

На низкой околоземной орбите (LEO) плотность потока ТЗЧ может достигать 1–10 частиц/см²/с. Для ПЛИС с миллионом конфигурационных бит это означает вероятность SEU порядка 10⁻⁵–10⁻⁶ в секунду на устройство.

Решение? Скраббинг — непрерывный процесс проверки и коррекции конфигурации. Но не все скрабберы одинаково полезны. Разбираемся в архитектуре.


Что такое скраббер и как он работает

Скраббер для ПЛИС — это аппаратный или программный модуль, который циклически проверяет память конфигурации FPGA и исправляет ошибки, вызванные радиационными воздействиями.

Цикл работы (Readback-метод)

  1. Считывание текущего кадра конфигурации из ПЛИС

  2. Побитовое сравнение с эталоном (из защищённой FLASH/EEPROM)

  3. При несовпадении:

    • Фиксация адреса ошибки

    • Перезапись кадра эталоном

    • Инкремент счётчика SEU

  4. Переход к следующему кадру → возврат к п.1 (цикл)

Ключевое требование: период скраббинга должен быть меньше среднего времени между SEU, чтобы не допустить накопления множественных ошибок.


Классификация скрабберов: как выбрать архитектуру

Выбор реализации зависит от требований миссии. Рассмотрим основные подходы.

По расположению

Тип

Где реализован

Преимущества

Недостатки

Область применения

Внутренний

Логика + память внутри ПЛИС

• Высокая скорость реакции

• Не требует внешних компонентов

• Простота интеграции

• Уязвим к тем же SEU/SEFI, что и основная логика

• Занимает ресурсы кристалла (LUT, BRAM)

Системы с умеренными требованиями к надёжности, где важны массогабаритные показатели

Внешний

Отдельная ИС / микроконтроллер

• Независим от состояния ПЛИС• Высокая радиационная стойкость

• Гибкость управления и телеметрии

• Требует доп. компонентов на плате

• Обычно медленнее внутреннего

Критичные системы: спутники, пилотируемые аппараты, военная техника

Гибридный

Комбинация внутреннего + внешнего

• Максимальная отказоустойчивость• Быстрая реакция + глубокое восстановление

• Сложнее в отладке и верификации

• Выше стоимость BOM

Системы с требованиями по ГОСТ РВ, ECSS, DO-254 DAL A

По методу работы

Метод

Принцип

Плюсы

Минусы

Blind Scrubbing

Последовательная перезапись всех кадров без проверки

• Простота реализации

• Не требует хранения эталона в оперативном доступе

• Высокое энергопотребление

• Не локализует ошибки для анализа

Readback Scrubbing

Считывание → сравнение с эталоном → точечная коррекция

• Точная локализация сбоев

• Возможность сбора статистики SEU

• Эффективное использование энергии

• Требует хранения эталонных данных

• Сложнее алгоритм и верификация

CRC-based

Проверка контрольной суммы всей конфигурации

• Поддерживается «из коробки» многими ПЛИС

• Минимальные накладные расходы

• При ошибке — полная перезагрузка ПЛИС

• Нет точечного исправления, возможна потеря состояния

Вывод: Для космических применений с требованиями по доступности >99.9% оптимален внешний скраббер с методом Readback — он обеспечивает независимое восстановление без остановки полезной нагрузки.


Внешний скраббер: архитектура на примере специализированных ИС

Рассмотрим реализацию внешнего скраббера на примере специализированной ИС BSV7CBRH. Это решение выступает в роли интеллектуального моста между конфигурационной памятью и ПЛИС.

Примечание: BSV7CBRH приведён как пример архитектуры внешнего скраббера. Параметры взяты из открытых технических данных производителя (BMTI, 2025).

Блок-схема скраббера BSV7CBRH

Блок-схема скраббера BSV7CBRH
Блок-схема скраббера BSV7CBRH

Рис. 1. Блок-схема скраббера BSV7CBRH. Источник: BMTI, 2025

Функциональные возможности

  1. Загрузку битового потока при старте системы (Cold Start)

  2. Непрерывный мониторинг конфигурации (Readback + Blind-режимы)

  3. Обнаружение и коррекцию SEU/SEFI-событий с фиксацией в регистрах статуса

  4. Удалённую реконфигурацию через UART/SPI по команде с борта

  5. Защиту от несанкционированной перезаписи (опционально, через аппаратный write-protect)

Схема применения специализированной ИС

Схема применения специализированной ИС
Схема применения специализированной ИС

Рис. 2. Схема применения специализированной ИС. Источник: BMTI, 2025

Поддерживаемые ПЛИС

Производитель

Совместимые серии

Примечание

BMTI

BQVR, BQR2V, BQR5V, BQR7V, BQR7K

Нативная поддержка, полный набор функций

Xilinx

Virtex, Virtex-II, Virtex-IV, Virtex-V, Kintex-7, Virtex-7

Совместимость по интерфейсу конфигурации, требуется адаптация битового потока

Другие

ПЛИС с параллельным slave-интерфейсом конфигурации

Возможна интеграция при наличии документации по протоколу

Технические параметры BSV7CBRH

Параметр

Значение

Примечание

Напряжение питания ядра

1,8 В ±5%

Напряжение питания I/O

1,8 В / 3,3 В

Настраивается по банкам

Рабочая частота

до 20 МГц

Потребление

~1 Вт

Тип., при 20 МГц, 125°C

Диапазон температур

-55...+125 °C

Корпус

CBGA144

Керамика, золотое покрытие выводов

ESD-защита

2000 В

По данным производителя

TID

100 крад (Si)

Соответствует ~5 лет на LEO

SEL порог

≥75 МэВ·см²/мг

Устойчив к ТЗЧ в поясах Ван Аллена

SEU порог

≥37 МэВ·см²/мг

Для конфигурационной логики скраббера

Режим конфигурации

Parallel Slave Mode

8/16 бит

Время скраббинга*

~150 мс

По оценке для 50 Мбит при 20 МГц

Примечание: точное время скраббинга зависит от объёма конфигурации ПЛИС. По оценке производителя, для типовой конфигурации 50 Мбит цикл занимает порядка 150 мс.


Ключевые аспекты проектирования

1. Размещение на плате

  • Минимизировать длину трасс между скраббером и ПЛИС (<5 см) для снижения риска наводок и задержек.

  • Использовать выделенную земляную плоскость под CBGA-корпусом для теплоотвода.

2. Тактирование

  • Использовать выделенный источник 20 МГц с джиттером <50 пс.

  • Предусмотреть резервный генератор или возможность переключения на внешний clock.

3. Резервирование памяти

  • Хранить эталонный битовый поток в двух независимых ячейках Flash с аппаратным переключением.

  • Реализовать CRC-проверку эталона перед использованием.

4. Телеметрия и диагностика

Выводить в общий канал телеметрии:

  • Счётчик коррекций SEU по адресным диапазонам

  • Статус скраббера (IDLE/READ/COMPARE/WRITE)

  • Флаги ошибок (CRC mismatch, timeout, write-fail)

Это позволяет проводить пост-анализ радиационной обстановки на орбите.


Сравнение с альтернативами: когда выбирать внешний скраббер

Критерий

Встроенный SEM IP

Внешний контроллер

МК на RAD5500

Независимость от состояния ПЛИС

❌ Уязвим при SEFI

✅ Работает при «зависшей» ПЛИС

✅ Полная независимость

Возможность удалённой реконфигурации

⚠️ Через JTAG/ICAP, требует ресурсов ПЛИС

✅ Полноценная поддержка UART/SPI

✅ Гибкая, но требует ПО

Аппаратная сложность

✅ Минимальная (IP-ядро)

⚠️ Доп. ИС на плате

❌ Высокая (Rad-hard MCU + обвязка)

Гибкость обновления

⚠️ Требует перепрошивки ПЛИС

✅ Обновление через интерфейс без остановки

✅ Через загрузчик ПО

Поддержка legacy-ПЛИС

❌ Только для 7-й серии и новее

✅ Virtex-II и новее, BMTI BQR

✅ Зависит от ПО

Стоимость решения

Низкая

Средняя

Высокая

Примечание: Сравнение приведено на основе открытых технических данных производителей (BMTI, AMD/Xilinx, Microchip). Параметры могут отличаться в зависимости от конфигурации системы, версии документации и условий эксплуатации.

Практический вывод: Для систем с повышенной радиационной нагрузкой (LEO/MEO) внешний скраббер — архитектурно оправданное решение.


Валидация и испытания

  1. TID: Облучение на гамма-установке Co-60 до 100 крад (Si) с контролем параметров в реальном времени.

  2. SEL/SEU: Тесты на ускорителе тяжёлых ионов (по данным производителя).

  3. Температурные циклы: 1000 циклов -55…+125 °C по MIL-STD-883.

📌 Рекомендация: Запрашивайте отчёт о радиационных испытаниях и проводите анализ под вашу орбиту (инструменты: SPENVIS, OMERE, CREME96).


Заключение: скраббинг — не опция, а необходимость

Радиационно-стойкий скраббер — это не «дополнительная функция», а базовый элемент надёжной бортовой аппаратуры для космоса и авиации.

Чек-лист при проектировании

  1. Проведите радиационный анализ на этапе архитектуры (орбита, срок службы, допустимый уровень сбоев).

  2. Выберите метод скраббинга в зависимости от требований к доступности (Blind для простых систем, Readback для критичных).

  3. Предусмотрите телеметрию по ошибкам — это бесценные данные для пост-анализа и улучшения следующих поколений аппаратуры.

  4. Тестируйте прототипы в условиях, приближенных к эксплуатационным: температура, вибрация, радиация (хотя бы на уровне компонентных испытаний).

Если вы сталкивались с задачами защиты FPGA от радиации — делитесь опытом в комментариях!


Андрей Анатольевич Павлов, ведущий инженер