Генерировать необработанные фреймы Ethernet с предварительно загруженными полезными нагрузками памяти с интервалами <1 мс

Я ищу для генерации необработанных кадров Ethernet с полезной нагрузкой, которая предварительно загружена в память. Кадры Ethernet (10-60 полных кадров) должны генерироваться с интервалами 1 мс без исключения.

Какой у меня был бы выбор? Моя озабоченность связана с требованиями приложения в реальном времени. Прерывания должны быть сведены к минимуму, и процесс должен, возможно, иметь ядро, посвященное его исполнению? Если Linux / программное обеспечение не является альтернативой, альтернативой является FPGA.

С нетерпением ждем потенциальных решений.

2 Solutions collect form web for “Генерировать необработанные фреймы Ethernet с предварительно загруженными полезными нагрузками памяти с интервалами <1 мс”

1 мс – это много, чтобы генерировать несколько фреймов Ethernet, но в типичной системе Linux вы не можете рассчитывать на случайную паузу. Даже если вы делаете свой процесс высокоприоритетным, я не думаю, что вы можете рассчитывать на то, что всегда будете делать 1 мс.

RTLinux объединяет операционную систему реального времени с Linux. Linux работает как задача с неправым приоритетом в планировщике реального времени.

Мне не хватает опыта работы с RTLinux, поэтому я не могу предложить конкретные рекомендации, но он включает в себя Ethernet-драйверы, поэтому он подходит для вашего использования.

Если вы не используете очень эзотерическое распространение, Linux или какую-либо общую производную от UNIX-системы, это не реальное время. Если вы просматриваете временные фрагменты, такие как 1 миллисекунда, без каких-либо исключений, вам нужно искать в другом месте, для ОС реального времени. Независимо от того, что кто-то может сказать вам сделать в Linux, это наилучшая работа, и если есть проблемы с процессором, I / O или любым другим ресурсом, процесс будет продолжать выполняться, но может пропустить бит или два или идти быстрее, чем ожидалось 1 мс. И это не аномалия. Это по дизайну.

  • Как написано ядро?
  • Что означает «fs» для функции ядра «get_fs ()»?
  • В чем разница между вероятными и маловероятными вызовами в ядре?
  • Как я могу сгенерировать / proc / vmcore?
  • Когда нужно использовать флеш-кеши в Linux?
  • Как узнать, что я могу сделать с / proc и / sys
  • Make и apt-get перестали работать
  • Как вручную скомпилировать ядро ​​Fedora 20
  • Нормально ли, что ядро ​​списка yum в Fedora - * показывает две версии ядра, которые используются?
  • Ядро пользователя разбито на 64-битный Linux
  • Совместимость с установкой Linux
  • Linux и Unix - лучшая ОС в мире.