Материал носит образовательный характер. Открыт к профессиональной дискуссии в комментариях.
Представьте, что ваш код на ПЛИС может самопроизвольно измениться в любой момент. Для космоса это не фантазия, а суровая реальность.
Космическое пространство — это не вакуум в привычном понимании. Для микроэлектроники это агрессивная среда с экстремальным уровнем ионизирующего излучения. Постоянная бомбардировка тяжёлыми заряженными частицами (ТЗЧ), протонами солнечного ветра и галактическими космическими лучами превращает запуск электроники на орбиту в лотерею с высокими ставками.
В этой статье разберём, почему радиация «ломает» ПЛИС (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-метод)
Считывание текущего кадра конфигурации из ПЛИС
Побитовое сравнение с эталоном (из защищённой FLASH/EEPROM)
-
При несовпадении:
• Фиксация адреса ошибки
• Перезапись кадра эталоном
• Инкремент счётчика SEU
Переход к следующему кадру → возврат к п.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

Рис. 1. Блок-схема скраббера BSV7CBRH. Источник: BMTI, 2025
Функциональные возможности
Загрузку битового потока при старте системы (Cold Start)
Непрерывный мониторинг конфигурации (Readback + Blind-режимы)
Обнаружение и коррекцию SEU/SEFI-событий с фиксацией в регистрах статуса
Удалённую реконфигурацию через UART/SPI по команде с борта
Защиту от несанкционированной перезаписи (опционально, через аппаратный 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) внешний скраббер — архитектурно оправданное решение.
Валидация и испытания
TID: Облучение на гамма-установке Co-60 до 100 крад (Si) с контролем параметров в реальном времени.
SEL/SEU: Тесты на ускорителе тяжёлых ионов (по данным производителя).
Температурные циклы: 1000 циклов -55…+125 °C по MIL-STD-883.
? Рекомендация: Запрашивайте отчёт о радиационных испытаниях и проводите анализ под вашу орбиту (инструменты: SPENVIS, OMERE, CREME96).
Заключение: скраббинг — не опция, а необходимость
Радиационно-стойкий скраббер — это не «дополнительная функция», а базовый элемент надёжной бортовой аппаратуры для космоса и авиации.
Чек-лист при проектировании
Проведите радиационный анализ на этапе архитектуры (орбита, срок службы, допустимый уровень сбоев).
Выберите метод скраббинга в зависимости от требований к доступности (Blind для простых систем, Readback для критичных).
Предусмотрите телеметрию по ошибкам — это бесценные данные для пост-анализа и улучшения следующих поколений аппаратуры.
Тестируйте прототипы в условиях, приближенных к эксплуатационным: температура, вибрация, радиация (хотя бы на уровне компонентных испытаний).
Если вы сталкивались с задачами защиты FPGA от радиации — делитесь опытом в комментариях!
Андрей Анатольевич Павлов, ведущий инженер
Комментарии (10)

nv13
22.03.2026 15:00А не проще минимизировать применение fpga в космических применениях?)

nv13
22.03.2026 15:00Мне интересно, за что поставлен минус. По мне так применять fpga, которые не отличаются стойкостью по сравнению с asic и чипами требует серьёзных оснований - только для тех элементов системы, для которых отсутствуют специализированные чипы, контроллеры и dsp. Если же в модуль ставят немелкий fpga и туда засовывают обычный контроллер или делают sdr на полосу порядка 10 МГц, а потом городят огород чтобы добиться стабильной работы, это достаточно спорное решение
Сама статья безусловно интересная, но вот аргументация применения таких подходов мне не понятна, поэтому и спросил зачем так делать

PeeWeee
22.03.2026 15:00Контроллеры и dsp по видимому с памятью программ на флеш, без кэша? Иначе в чем будет их стойкость по сравнению с fpga? И в таком варианте они потянут "sdr на полосу порядка 10 МГц"?
Asic для космоса это что-то наэльфийскомдорого-богато-масковском или (ожидается к 2030 году)*2, имхо.
nv13
22.03.2026 15:00Если я правильно понимаю, то запрограммированный fpga от излучения трансформииуются во что то новое при каждом изменении конфигурационной ячейки памяти. Asic и чипы - нет, структура связей их ячеек остаётся той же. Или что тогда означает низкая и высокая, соотв, радиационная стойкость для этих типов микросхем?
Насчёт инициализации - чем плох 1149? Он же и контроль текущий может обеспечивать.
Кеш dsp и контроллеров - он внутрикристальный, для реалтайма, мне кажется он менее подвержен излучению по сравнению с конф. ячейками памяти fpga.
Первый чип ddc gc4016 уже имел полосу более 10 МГц, корпус 10 мм и потребление порядка ватта. Мне кажется сейчас эти чипсеты способны на большее. Вот там, где не хватает там да - только fpga, особенно для мелкосерийной аппаратуры.
Я просто представил - летит самолёт, бац - частица прилетела и радар замер на неск секунд пока fpga перезагрузится

alcotel
22.03.2026 15:00В кэше ставят ECC, даже в автомобильных применениях, не то, что в космосе. Даже в обычном STM32 есть аппаратный бит чётности в RAM. Флешку свою процы тоже в фоне проверяют, сравнивают с копией или тоже по ECC восстанавливают.
10 МГц много что потянет. Но на космических 8-12 ГГц полоса в 10 МГц - это обычно не серьёзно.

PeeWeee
22.03.2026 15:00Как я понял идея статьи была в том, чтобы использовать обычную fpga + так или иначе радиационно-стойкую память (не пересекался, не знаком с ньюансами, понимание на уровне что это на порядок доступнее и дешевле, чем радиационно-стойкая fpga) + некая радиационно-стойкая схема, которая при необходимости fpga перезагрузит, полностью или частично. Если понял прикладной аспект неверно, прошу поправить.
@nv13 высказал тезис про замену этого на, скажем, ddc (отдельной мс) + dsp/контроллер, без дополнительной логики на fpga (иначе в чем смысл замены). Мой вопрос в том, доступнее/надежнее ли условно радиационно-стойкий dsp, способный хотя бы SDR 10 МГц? Не я дал вводную,, но пусть гипотетически хотя бы так.
ECC это всеже не тот уровень. Такое, как и дублирующую логику, и в fpga можно замутить. Интересует сравнение - логика fpga, которая по большому счету просто озу, и часть, но немаловажная, логики процессора, в виде памяти программ и кеша, которые тоже просто озу.

antoshaos
22.03.2026 15:00Спасибо большое за статью!
Я сталкивался в практике больше с аппаратами, которые расчитывались на срок службы в несколько часов. Поэтому логики с переплетением и мажорирование было достаточным.
Из интересного когда писал дипломную работу связанную с инерциальной навигацией, видел статьи и патенты, где вместо реконфигурации ПЛИС использовали параллельные вычисления, то есть основное и экстропаляция. И вот экстропаляционные значения записывали в особую память. И в случае однократного сбоя получалось не терять навигационные данные.
saag
А MRAM вместо flash не рассматривается?
sds_tech Автор
Производитель скраббера рекомендует использовать Flash
Hik
MRAM использовать можно и нужно, но проблема, что в мире не так много производителей (по сути один) и там есть некоторые нюансы. Flash банально проще и дешевле.