Server side
The PS-TCP server software functions in the environment of the embedded Linux OS platform RITM SDR USRP as a background process (daemon). The key tasks of the service are processing broadcast requests for device detection, managing incoming sessions and executing control commands, as well as providing high-speed exchange of IQ-sample streams.
Device identification via broadcast requests
For automated search of RITM SDR USRP nodes, a mechanism for processing broadcast UDP requests has been implemented in the network infrastructure. The service monitors the dedicated UDP port in listening mode. When receiving a message of the correct format, the server generates a response packet containing identification data:
-
Device type (model);
-
The current IP address of the network interface;
-
Unique serial number.
The response is sent directly to the IP address of the initiator of the request. This mechanism allows the client to detect available devices and determine all active network interfaces (for example, Ethernet and Wi-Fi) through which control can be established. If there are several active interfaces, the client receives an independent response from each of them.
Managing incoming connections
The interaction between the nodes is based on the TCP transport protocol, which guarantees the delivery of packets and the preservation of their sequence. The process of establishing a session is initiated by the client through a method call createConnection. The architecture of the PS-TCP server side is designed according to a multithreaded model: for each new incoming connection, a separate execution stream is generated, which ensures parallel processing of requests from several clients or processes.
| The server architecture supports an unlimited number of simultaneous control connections. However, direct access to DMA for working with IQ data streams is limited: only one active session for reception and one for transmission is possible at any given time. Simultaneous operation of one client for reception and one for transmission is allowed. |
Receiving and dispatching control commands
SDR functional nodes are managed through a specialized set of commands. To simplify the development of application software, an abstraction level has been implemented in the form of an API that allows the user to operate with high-level functions instead of directly encapsulating network commands. After establishing a TCP connection, the server goes into standby mode. When a transaction is received, the server parses it, executes the corresponding operation at the hardware level, and returns the confirmation status or execution error code.
Broadcasting of IQ-count streams
Ensuring continuous reception and transmission of IQ-readings is a priority task of the system. In the RITM SDR USRP architecture, data exchange between the processor system (PS) and the hardware logic of the transceiver is implemented through direct memory access (DMA) mechanisms. This allows you to minimize the load on the central processor and provide the required bandwidth for real-time signal transmission.