diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-07-30 17:56:03 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-08-01 13:46:00 +0200 |
commit | 06d3ba0445b0bd004f98734031ebbccb1975f186 (patch) | |
tree | 06c81b16fdc9cf5f77a3e59308aa1cd5c3f23802 /doc/manuals/chapters | |
parent | 8a784c714595170d79078bdde3d7ffe27c5510fe (diff) |
Move Transceiver52/README to UserManual
Change-Id: Ib5a56cfe0c27d027bc0c60abda89e646a80849de
Diffstat (limited to 'doc/manuals/chapters')
-rw-r--r-- | doc/manuals/chapters/trx-backends.adoc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/manuals/chapters/trx-backends.adoc b/doc/manuals/chapters/trx-backends.adoc index 8829fa6..fb1e960 100644 --- a/doc/manuals/chapters/trx-backends.adoc +++ b/doc/manuals/chapters/trx-backends.adoc @@ -44,3 +44,30 @@ repositories, in https://git.osmocom.org/libusrp/ Related code can be found in the _Transceiver52M/device/usrp1/_ directory in _osmo-trx.git_. + +The USRPDevice module is basically a driver that reads/writes packets to a USRP +with two RFX900 daughterboards, board A is the Tx chain and board B is the Rx +chain. + +The `radioInterface` module is basically an interface between the transceiver +and the USRP. It operates the basestation clock based upon the sample count of +received USRP samples. Packets from the USRP are queued and segmented into GSM +bursts that are passed up to the transceiver; bursts from the transceiver are +passed down to the USRP. + +The transceiver basically operates "layer 0" of the GSM stack, performing the +modulation, detection, and demodulation of GSM bursts. It communicates with the +GSM stack via three UDP sockets, one socket for data, one for control messages, +and one socket to pass clocking information. The transceiver contains a priority +queue to sort to-be-transmitted bursts, and a filler table to fill in timeslots +that do not have bursts in the priority queue. The transceiver tries to stay +ahead of the basestation clock, adapting its latency when underruns are reported +by the radioInterface/USRP. Received bursts (from the radioInterface) pass +through a simple energy detector, a RACH or midamble correlator, and a DFE-based +demodulator. + +NOTE: There's a `SWLOOPBACK` #define statement, where the USRP is replaced +with a memory buffer. In this mode, data written to the USRP is actually stored +in a buffer, and read commands to the USRP simply pull data from this buffer. +This was very useful in early testing, and still may be useful in testing basic +Transceiver and radioInterface functionality. |