Документация Engee

Серверная часть

Серверное программное обеспечение PS-TCP функционирует в среде встроенной ОС Linux платформы РИТМ SDR USRP в качестве фонового процесса (демона). Ключевыми задачами сервиса являются обработка широковещательных запросов для обнаружения устройства, управление входящими сессиями и исполнение управляющих команд, а также обеспечение высокоскоростного обмена потоками IQ-отсчетов.

Идентификация устройства через широковещательные запросы

Для автоматизированного поиска узлов РИТМ SDR USRP в сетевой инфраструктуре реализован механизм обработки широковещательных UDP-запросов. Сервис осуществляет мониторинг выделенного UDP-порта в режиме прослушивания. При получении сообщения корректного формата сервер формирует ответный пакет, содержащий идентификационные данные:

  • Тип (модель) устройства;

  • Текущий IP-адрес сетевого интерфейса;

  • Уникальный серийный номер.

Ответ направляется непосредственно на IP-адрес инициатора запроса. Данный механизм позволяет клиенту обнаруживать доступные устройства и определять все активные сетевые интерфейсы (например, Ethernet и Wi-Fi), через которые возможно установление управления. При наличии нескольких активных интерфейсов клиент получает независимый ответ от каждого из них.

Управление входящими соединениями

Взаимодействие между узлами базируется на транспортном протоколе TCP, что гарантирует доставку пакетов и сохранение их последовательности. Процесс установления сессии инициируется клиентом через вызов метода createConnection. Архитектура серверной части PS-TCP спроектирована по многопоточной модели: для каждого нового входящего соединения порождается отдельный поток исполнения, что обеспечивает параллельную обработку запросов от нескольких клиентов или процессов.

Архитектура сервера поддерживает неограниченное количество одновременных управляющих соединений. Однако прямой доступ к DMA для работы с потоками IQ-данных ограничен: в каждый момент времени возможна только одна активная сессия на прием и одна — на передачу. Допускается одновременная работа одного клиента на прием и одного на передачу.

Прием и диспетчеризация управляющих команд

Управление функциональными узлами SDR осуществляется посредством специализированного набора команд. Для упрощения разработки прикладного ПО реализован уровень абстракции в виде API, позволяющий пользователю оперировать высокоуровневыми функциями вместо прямой инкапсуляции сетевых команд. После установления TCP-соединения сервер переходит в режим ожидания. При поступлении транзакции сервер производит синтаксический разбор, исполняет соответствующую операцию на аппаратном уровне и возвращает статус подтверждения или код ошибки выполнения.

Трансляция потоков IQ-отсчетов

Обеспечение непрерывного приема и передачи IQ-отсчетов является приоритетной задачей системы. В архитектуре РИТМ SDR USRP обмен данными между процессорной системой (PS) и аппаратной логикой трансивера реализован через механизмы прямого доступа к памяти (DMA). Это позволяет минимизировать нагрузку на центральный процессор и обеспечить требуемую пропускную способность для передачи сигналов в режиме реального времени.