Системы реального времени

Real-Time Networking

Цели урока

  • Понять принципы TSN: синхронизация времени и Time-Aware Shaper
  • Разобраться в CAN bus арбитраже и применении SocketCAN в Linux
  • Познакомиться с AVB/CBS для медиа-приложений
  • Выбирать правильный протокол детерминированной сети под задачу

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

  • **Tesla:** CAN FD + Automotive Ethernet в каждом автомобиле для связи ECU и камер
  • **BMW iDrive:** AVB для 20+ аудиоканалов по одному Ethernet кабелю
  • **Siemens SINUMERIK:** TSN для sub-millisecond управления ЧПУ-станками
  • **Glastonbury, Coachella:** Dante (AVB) для распределения 512 аудиоканалов по концертной площадке

TSN: Time-Sensitive Networking

Обычный Ethernet - best-effort: пакеты конкурируют за среду, задержки непредсказуемы. **Time-Sensitive Networking (TSN)** - набор стандартов IEEE 802.1, добавляющих детерминизм к Ethernet. Не новый протокол, а расширение существующей инфраструктуры.

Основа TSN - синхронизация времени между узлами (IEEE 802.1AS, gPTP) с точностью < 1 мкс. Все коммутаторы и конечные устройства разделяют единое время - это позволяет планировать передачу пакетов с наносекундной точностью.

TSN требует поддержки в аппаратуре: сетевые карты и коммутаторы должны уметь аппаратно применять расписание. Intel i210/i225, NXP LS1028A, Microchip LAN9662 - примеры TSN-совместимых чипов. Программный TSN без hardware timestamping даёт значительно худший результат.

Что является основой для работы Time-Aware Shaper (TAS) в TSN?

CAN bus: протокол и арбитраж

**Controller Area Network (CAN)** разработан Bosch в 1983 году для автомобильной электроники. Десятки лет спустя он остаётся стандартом де-факто в автомобилях, промышленной автоматизации и медицинских устройствах - за надёжность, детерминизм и отказоустойчивость.

Ключевая особенность CAN - **арбитраж без коллизий**. Все узлы одновременно начинают передачу, но побеждает тот, у кого ID с меньшим числом (доминантные биты вытесняют рецессивные). Проигравший мгновенно останавливается и ждёт. Результат: детерминированный приоритет без центрального арбитра.

CAN FD (Flexible Data-rate, 2012) расширяет CAN: данные до 64 байт вместо 8, скорость до 8 Мбит/с в data-phase. CAN XL (2023) идёт ещё дальше: до 2048 байт и 20 Мбит/с. Но базовый CAN 2.0 (500 кбит/с) по-прежнему доминирует в автомобилях.

Как CAN bus разрешает конфликты при одновременной передаче нескольких узлов?

Ethernet AVB для медиа

**Audio Video Bridging (AVB)** - предшественник TSN, разработанный для гарантированной передачи аудио и видео по Ethernet. Стандарт IEEE 802.1BA использует Credit-Based Shaper (CBS) для резервирования полосы пропускания для потоков реального времени.

AVB широко используется в профессиональном аудио (Dante, AES67, Milan) и в автомобилях (BMW, Mercedes используют AVB для мультимедиа-шин). TSN - его преемник с более строгими гарантиями для промышленности.

**Milan** (2020) - профиль поверх AVB/TSN, созданный консорциумом pro-audio компаний (AVID, Focusrite и другие). Стандартизирует AVB для живых концертов: гарантированная latency < 2 мс при 250+ аудиоканалов по одной сети.

Credit-Based Shaper в AVB резервирует полосу для потоков. Что происходит, когда у потока заканчиваются кредиты?

Детерминированные сети: сравнение подходов

Существует несколько подходов к детерминированным сетям, каждый со своим trade-off между сложностью, latency и совместимостью с существующей инфраструктурой.

ПротоколLatencyBandwidthПрименениеСовместимость
CAN 2.0< 1 мс1 Мбит/сАвто ECU, промышленностьНет (спец. кабель)
CAN FD< 1 мс8 Мбит/сАвто CAN FDCAN 2.0 (частично)
Ethernet AVB< 2 мсдо 100 МбитПрофи-аудио, авто медиаОбычный Ethernet
TSN< 100 мксдо 10 ГбитПромышленность, автоОбычный Ethernet
PROFINET RT< 1 мс100 МбитSiemens PLC сетиEthernet (спец. стек)
EtherCAT< 100 мкс100 МбитServo drivesEthernet (мастер/слейв)

Выбор протокола определяется требованиями к latency, объёмом данных и экосистемой. CAN незаменим для коротких сообщений с жёстким RT-требованием и отказоустойчивостью. TSN - когда нужна полоса Ethernet плюс детерминизм.

Для управления роботом-манипулятором с 6 сервоприводами, цикл управления 1 мс, стандартный Ethernet кабель - оптимальный выбор:

Детерминированные сети

  • TSN = обычный Ethernet + gPTP синхронизация + Time-Aware Shaper, latency < 100 мкс
  • CAN bus: non-destructive арбитраж по ID, 1 Мбит/с, незаменим в автомобилях
  • AVB/CBS: резервирование полосы кредитами, latency < 2 мс, стандарт для pro-audio
  • Выбор: CAN для коротких RT-сообщений, TSN для высокой полосы + детерминизм, AVB для медиа
  • Linux: SocketCAN для CAN, tc taprio для TSN, ptp4l для синхронизации

Связанные темы

Детерминированные сети работают в связке с RT-операционными системами.

  • Real-Time Linux — ОС-основа для TSN-эндпоинтов
  • Планировщик реального времени — Управление задачами на RT-конечных устройствах
  • Промышленные протоколы — PROFINET, EtherCAT в контексте

Вопросы для размышления

  • Почему TSN требует аппаратной поддержки в сетевых картах, а не просто программного стека?
  • CAN существует 40 лет и всё ещё доминирует в автомобилях - какие его свойства обеспечивают такое долголетие?
  • Как gPTP синхронизация с точностью 1 мкс достигается по обычному Ethernet без GPS?

Связанные уроки

  • dist-12-consistency
Real-Time Networking

0

1

Войти