Move Transceiver52/README to UserManual

Change-Id: Ib5a56cfe0c27d027bc0c60abda89e646a80849de
This commit is contained in:
Pau Espin 2019-07-30 17:56:03 +02:00
parent 8a784c7145
commit 06d3ba0445
3 changed files with 27 additions and 37 deletions

View File

@ -33,8 +33,6 @@ rev4dir = $(datadir)/usrp/rev4
dist_rev2_DATA = std_inband.rbf
dist_rev4_DATA = std_inband.rbf
EXTRA_DIST = README
noinst_LTLIBRARIES = libtransceiver_common.la
COMMON_SOURCES = \

View File

@ -1,35 +0,0 @@
The Transceiver
The transceiver consists of three modules:
--- transceiver
--- radioInterface
--- USRPDevice
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 b/w 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.

View File

@ -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.