Common Amateur Radio Interface

From M17 Foundation Wiki
Jump to navigation Jump to search

Common Amateur Radio Interface (CARI) – a protocol designed to mimic professionally used Common Public Radio Interface (CPRI) and offer a part of its functionality. The protocol allows for basic data, control and supervision plane access, letting the user directly control radio devices over a given medium. ZeroMQ is used for all data transfers.

Devices

A CARI device is any electronic device capable of supporting:

  • bi-directional medium access (mandatory for all devices),
  • translation of digital signals into radio frequency domain and vice versa (mandatory for slaves)

Therefore, a RRU (slave) will combine both, while the BBU (master) will support only the first function. Devices can be either masters or slaves, role mixing is not possible (one role per device).

Subdevices

Transmitters and receivers within a single slave device are called subdevices. There can be a maximum of 256 subdevices per device.

Basic topology

The interface assumes there are at least two devices connected over some physical medium:

  • at least one master,
  • at least one controlled device (slave)

The connection between two or more devices is called a network. A single network can consists of multiple masters and slaves. Since there is no device addressing, the physical layer must be able to provide it.

Data flow and the Control Planes

There are 4 paths for the data flow, called planes:

  • baseband uplink (UL)
  • baseband downlink (DL)
  • control (CTRL)
  • supervision (SPVN)

Baseband uplink/downlink

Connections through the uplink and downlink planes can be established only when required. Baseband streams are managed by ZMQ PUB-SUB pairs.

Data transactions over the Control Plane (CTRL)

A data transaction is any event of data exchange between the master and a slave device. It consists of a command and a reply.

Control plane is used for setting radio equipment's parameters, such as oscillators' frequencies and RF signals' power levels. This path uses a ZMQ REP-REQ pair.

For multi-oscillator devices, there can be more than one pair of baseband UL/DL streams.

Note: CARI connection type over the Control Plane is point-to-point. Only one slave device can be addressed within a single transaction. To set desired parameters of multiple devices, it is required to issue several commands.

Supervision (SPVN)

Supervision plane gives access to various telemetry data, including chassis temperature, reflected RF power, RL, etc. The slave device offers telemetry data over its ZMQ PUB instance.

In the example above, the Baseband Unit (BBU) acts as a master over the Remote Radio Unit (RRU).

Command-reply

A command is a sequence of bytes sent by the master device, executing a particular action at the controlled device. Every command has a command identifier (CID) assigned to it.

A reply is a similar sequence sent back by the controlled device as an acknowledgement. Replies may contain return values for error signalling. Subdevices can be accessed independently and are addressed using a single byte.

Sources