SCOM Serial Communication Protocol  0.5.2
General usage information

General protocol rules

The SCOM protocol connects two SCOM-enabled devices. Both sides of a SCOM Communication link have equal rights, at the SCOM level none of them is privileged (no master/slave architecture). The basic rules of data exchange are:

SCOM device identification

Each SCOM device is identified by a 32-bit class identifier (type of device) and 128-bit unique device ID. Both of these properties are user-defined, and set up during SCOM initialization.

SCOM packets

Each SCOM packet (a.k.a. frame) has the following properties:

Single-frames and multi-frames

A single SCOM frame can carry SCOM_MAX_DATA_LENGTH bytes at most. Such frame is called a single-frame. In case the user payload is larger than SCOM_MAX_DATA_LENGTH, it is possible to send the whole payload using built-in SCOM fragmentation. In such case the payload is divided and carried by multiple so called multi-frames. Using SCOM API it is possible to divide and glue back a larger payload in a convenient way.

SCOM services

The SCOM protocol supports the concept of standardized services. the services group SCOM packets and allow to extend the range of frame types. Each service is identified by an 8-bit identifier, that is also a common frame type for service-related packets. In case of such service frame, the payload field is shortened by 1 byte, and the resulting space is used as an additional frame type specifier in the given service.