FPGA-платы / SoM / Индивидуальный дизайн / Интеграция IP
info@profpga.net +86 18621324348
Главная/Блог/Анализ решений/TSN: как детерминированный Ethernet и прерывание кадров реально внедряются на FPGA
Анализ решений

TSN: как детерминированный Ethernet и прерывание кадров реально внедряются на FPGA

2026-10-26 Время чтения: ~ 12 мин. Команда разработки Дуюань Электроникс

«Наилучшая попытка» стандартного Ethernet недостаточна в промышленном управлении: большая передача файла на том же кабеле может задержать кадр управления движением на миллисекунды. TSN (Time-Sensitive Networking, IEEE 802.1) добавляет синхронизацию времени, планирование по времени и прерывание кадров, превращая Ethernet в предсказуемую и вычислимую сеть. Статья разбирает это в цифрах и показывает внедрение на платах FPGA.

Почему стандартный Ethernet «непредсказуем» в промышленном управлении

Стандартный Ethernet по сути работает по принципу «кто первым пришёл, тот первым и отправляет». Проблема не в средней задержке, а в неуправляемом худшем случае:

  • На порту 1Gbps как раз передаётся большой кадр 1518 байт;
  • В тот же момент на порт коммутатора приходит 64-байтовый кадр управления движением высокого приоритета;
  • Коммутатор не может прервать идущий кадр, поэтому кадр управления встаёт в очередь и ждёт.

Это ожидание в очереди и есть источник джиттера. В офисной сети это неважно, но в многоосевом управлении движением, сочленениях роботов и координации сервоприводов цикл управления обычно 125µs или короче: опоздавший на сотни микросекунд кадр управления рассинхронизирует оси.

TSN не меняет кабель, а накладывает на Ethernet набор детерминированных правил планирования, чтобы худший случай можно было проектировать и вычислять.

Что реально решает TSN: четыре стандарта вместе

TSN — не один протокол, а набор стандартов рабочей группы IEEE 802.1. Четыре наиболее используемых блока:

Стандарт Что решает Простыми словами
802.1AS (gPTP) Синхронизация времени по всей сети Все коммутаторы и узлы имеют единые часы в пределах 1µs
802.1Qbv (TAS, планировщик по времени) Трафик отправляется по расписанию У очередей каждого порта есть «расписание ворот»: когда уходит реальный, когда обычный трафик, до микросекунды
802.1Qbu / 802.3br (прерывание кадров) Высокоприоритетные кадры не блокируются большими Длинный кадр можно прервать на середине, пропустить важный и продолжить
802.1Qat / 802.1Qav Резервирование полосы и управление очередями Реальным потокам резервируется фиксированная полоса, обычный трафик не врывается в неё

Представьте TSN как выделенную полосу для автобуса на кабеле: сначала все перекрёстки синхронизируют часы (gPTP), затем автобус в назначенное время едет по выделенной полосе, а другой трафик — в непиковое время (TAS), и когда грузовик перегородил дорогу, автобус проскакивает в щель (прерывание).

Три цифры: от миллисекунд к микросекундам

Сколько кадр занимает линию 1Gbps

Сначала физический уровень. 1Gbps = 10^9 бит в секунду; время передачи = биты / 10^9.

Тип кадра Байты Биты Время передачи на 1Gbps
Минимальный кадр Ethernet 64 Б 512 бит 0,512 µs
Обычный кадр 512 Б 4096 бит 4,10 µs
Максимальный стандартный кадр 1518 Б 12144 бит 12,14 µs
Jumbo-кадр 9000 Б 72000 бит 72,0 µs

Максимальный стандартный кадр занимает линию около 12,1µs. Без прерывания высокоприоритетный кадр управления ждёт в худшем случае все эти 12,1µs плюс пересылку коммутатором и очередь — джиттер легко доходит до сотен микросекунд и миллисекунд.

Сколько блокировки снимает прерывание

802.1Qbu/802.3br разбивает длинный кадр на границе 64 байт. Когда приходит высокоприоритетный кадр:

  • Если идущий длинный кадр прошёл первые 64 байта (контрольная точка фрагмента), сразу прервать его;
  • Полностью отправить высокоприоритетный кадр (худший случай 0,512µs);
  • Запомнить точку разрыва длинного кадра и продолжить позже.

Сравним худшую блокировку:

  • Без прерывания: кадр управления ждёт целый большой кадр ≈ 12,14µs;
  • С прерыванием: кадр управления ждёт меньше одного фрагмента (≤64Б, 0,512µs) плюс своё время передачи.

Этот разрыв от ~12µs до ~1µs и позволяет TSN выходить на микросекундные циклы управления.

Как выравнивается синхронизация gPTP

Расписание TAS должно использовать одно общее время в сети, иначе каждый коммутатор открывает свои ворота в своё время. 802.1AS (gPTP) выравнивает мастер и ведомый через обмен метками времени на уровне канала:

  • Главные часы периодически шлют синхросообщения;
  • Каждый хоп коммутатора ставит аппаратную метку времени на входе/выходе пакета, корректируя асимметрию канала;
  • Конечные узлы подстраивают локальные часы по главным.

На практике сквозное рассогласование gPTP обычно в пределах ±1µs — это предпосылка для расписаний TAS с микросекундной granularностью. Без хорошей синхронизации всё планирование бессмысленно.

Внедрение TSN на FPGA: от MAC до временных ворот

Метки времени и гейтинг TSN требуют аппаратной точности; стек на CPU с этим не выходит на микросекунды — здесь и находится FPGA. Типичная цепочка TSN-узла на FPGA:

1. PHY: мультискорость 100M/1G/2,5G/5G, с фрагментацией и реассемблингом для прерывания кадров (802.3br);

2. Ethernet MAC: жёсткий или мягкий MAC, выдающий потоки с метками времени;

3. IP-ядро TSN: ведомые часы gPTP, планировщик временных ворот TAS, прерывание/реассемблинг в логике FPGA;

4. Бизнес-логика: кадры управления движением, данные датчиков и обычный трафик в разных очередях.

Ключевой момент: метки времени должны ставиться аппаратно на границе PHY/MAC, а не записываться ПО после приёма пакета — одно это стоит десятков микросекунд. FPGA держит всю цепочку «пакет пришёл → метка → проверка таблицы ворот → решение о времени отправки» в одном домене тактовой частоты.

Выбор: три класса плат под узлы TSN

Разные сценарии TSN требуют разных логических ресурсов и трансиверов; выбирайте по бюджету и числу портов:

Плата Платформа FPGA Роль в TSN Почему
Ядро XCKU15P Kintex UltraScale+ Многопортовая агрегация TSN / edge-шлюз Много логики, трансиверы GTH и жёсткий Tri-Mode MAC; тянет ведомый gPTP + многоплановое TAS-планирование + ускорение задач
DUF7690T FudanMicro JFM7VX690T (совместим с XC7VX690T) Высоконадёжный / отечественный узел TSN Класс Virtex-7, промышленный температурный диапазон, для линий с требованиями к цепочкам поставок и надёжности
DUK7410T FudanMicro JFM7K410T (совместим с XC7K410T) Одно-/двухпортовый конечный узел TSN Класс Kintex-7, дешевле; хватает на один ведомый порт gPTP плюс простой TAS, для массовых конечных узлов

Типичная связка: DUK7410T как полевые конечные узлы, DUF7690T как отечественные шлюзы рабочих мест, XCKU15P как многопортовый узел агрегации TSN всей линии — тогда обычный IP/видеотрафик и реальный управляющий трафик разделены очередями TSN на одном кабеле.

Пример: перевод смешанного кабеля на TSN

Станок раньше использовал два кабеля: один для реального управления PLC и сервоприводами, другой для изображений с камер и логов. После модернизации объединили в один гигабитный кабель, разделённый TSN:

  • Реальные кадры управления идут через выделенные ворота TAS, цикл 125µs, зарезервировано около 10% полосы;
  • Массовый трафик камер идёт по обычной очереди, а прерывание гарантирует, что он никогда не заблокирует кадр управления;
  • gPTP выравнивает 4 сервопривода в пределах 1µs.

Замеры после модернизации: худший джиттер кадра управления упал примерно с 800µs до менее 3µs, число кабелей сократилось с двух до одного, порты коммутатора и затраты на проводку снизились.

Детерминизм — это не ускорить сеть, а превратить «худший случай» из непознаваемого в вычислимый; именно это FPGA закладывает временем в аппаратуру.

Дополнительное чтение

  • [Оптоволоконная обратная линия 10G/25G: высокополосные каналы на дистанции](/article/fiber-backhaul-10g-25g/)
  • [Экосистема механосборок FMC: расширение плат специализированными интерфейсами](/article/fmc-mezzanine-ecosystem/)
  • [Планирование полосы PCIe: расчёт полосы между хостом и платой](/article/pcie-bandwidth-planning/)
FPGATSNДетерминированные сетиПромышленный Ethernet
Дуюань Электроникс · Оригинальная техническая статья
‹ Предыдущая статья

Массив камер на плате: как FPGA/MPSoC выполняет реалтайм-ИИ-вывод на краю

Статья не ответила на ваш вопрос?

Свяжитесь с нами, описав ваши задачи, для персональной технической поддержки.

Контакты · +86 18621324348