aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-01-18 18:14:18 +0100
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-01-22 15:37:02 +0100
commit62505d54a0850908265ebdc9209299bbca596792 (patch)
tree55deb8e392c04f0075b8c4e0d5d77112ee085167
parent2838da2a95f82ab9031351c5499800ab9de6b992 (diff)
TRXD: more information on PDU versioning and some highlights
-rw-r--r--common/chapters/trx_if.adoc38
1 files changed, 32 insertions, 6 deletions
diff --git a/common/chapters/trx_if.adoc b/common/chapters/trx_if.adoc
index 5989258..222e434 100644
--- a/common/chapters/trx_if.adoc
+++ b/common/chapters/trx_if.adoc
@@ -299,15 +299,16 @@ NOTE: Using Training Sequences from the same set for a _VAMOS pair_ is not permi
In the example for `HVHH`, legacy TCH/H0 does not belong to a _VAMOS pair_, so it can
be configured to use any sequence from any set.
+[[trx_if_pdu_version_nego]]
==== TRXD header version negotiation
-Messages on DATA interface may have different header formats, defined by a
-version number, which can be negotiated on the control interface. By default,
-the Transceiver will use the legacy header version (0).
+Messages on DATA interface may have different formats, defined by a version number,
+which can be negotiated on the control interface. By default, the Transceiver will
+use the legacy header version (0). See <<trx_if_pdu_versioning>>.
-The header format negotiation can be initiated by the BTS using 'SETFORMAT'
-command. If the requested version is not supported by the transceiver, status
-code of the response message should indicate a preferred (basically, the latest)
+The format negotiation can be initiated by the BTS using 'SETFORMAT' command.
+If the requested version is not supported by the transceiver, status code of
+the response message should indicate a preferred (basically, the latest)
version. The format of this message is the following:
----
CMD SETFORMAT <ver_req>
@@ -386,6 +387,31 @@ the origin, all bits in the sequence are either _soft-bits_ (from demodulator) o
_hard-bits_ (to the modulator). Length of the sequence depends on modulation
type of the burst.
+[[trx_if_pdu_versioning]]
+==== PDU versioning
+
+The format of a PDU, i.e. presence and ordering of certain fields, is determined by
+the version number indicated in the first octet. This is usually referred as
+`TRXDvN`, where `N` is the version number (e.g. TRXDv0 or TRXDv1). A version number
+indicates the message format to be used for both directions: `TRX -> L1` and
+`L1 -> TRX`. The same version shall be used for all messages in both directions,
+mixing in any way is not permitted.
+
+The version negotiation is optionally initiated by the `L1` on the control interface,
+and expected to be performed before starting the transceiver (i.e. sending 'POWERON'
+command). See <<trx_if_pdu_version_nego>>.
+
+The current header allows to distinguish up to 16 different versions.
+The following versions are defined so far:
+
+* TRXDv0 - initial version of TRXD protocol, inherited as-is from OpenBTS project.
+* TRXDv1 (proposed in July 2019):
+** Introduced the concept of protocol versioning;
+** Introduced NOPE / IDLE indications;
+** New field: MTS (Modulation and Training Sequence);
+** New field: C/I (Carrier-to-interface) ratio;
+** Downlink messages mostly unchanged.
+
==== Uplink Data Burst
Uplink data burst message structure differs from version 0 to 1. Basically,