117 lines
3.9 KiB
Plaintext
117 lines
3.9 KiB
Plaintext
This is the interface to the transcevier.
|
|
|
|
Each TRX Manager UDP socket interface represents a single ARFCN.
|
|
Each of these per-ARFCN interfaces is a pair of UDP sockets, one for control and one for data.
|
|
Give a base port B (5700), the master clock interface is at port P=B.
|
|
The TRX-side control interface for C(N) is on port P=B+2N+1 and the data interface is on an odd numbered port P=B+2N+2.
|
|
The corresponding core-side interface for every socket is at P+100.
|
|
For any given build, the number of ARFCN interfaces can be fixed.
|
|
|
|
|
|
|
|
Indications on the Master Clock Interface
|
|
|
|
The master clock interface is output only (from the radio).
|
|
Messages are "indications".
|
|
|
|
CLOCK gives the current value of the transceiver clock to be used by the core.
|
|
This message is sent whenever a trasmission packet arrives that is too late or too early. The clock value is NOT the current transceiver time. It is a time setting the the core should use to give better packet arrival times.
|
|
IND CLOCK <totalFrames>
|
|
|
|
|
|
|
|
Commands on the Per-ARFCN Control Interface
|
|
|
|
The per-ARFCN control interface uses a command-reponse protocol.
|
|
Commands are NULL-terminated ASCII strings, one per UDP socket.
|
|
Each command has a corresponding response.
|
|
Every command is of the form:
|
|
|
|
CMD <cmdtype> [params]
|
|
|
|
The <cmdtype> is the actual command.
|
|
Parameters are optional depending on the commands type.
|
|
Every response is of the form:
|
|
|
|
RSP <cmdtype> <status> [result]
|
|
|
|
The <status> is 0 for success and a non-zero error code for failure.
|
|
Successful responses may include results, depending on the command type.
|
|
|
|
|
|
Power Control
|
|
|
|
POWEROFF shuts off transmitter power and stops the demodulator.
|
|
CMD POWEROFF
|
|
RSP POWEROFF <status>
|
|
|
|
POWERON starts the transmitter and starts the demodulator. Initial power level is very low.
|
|
This command fails if the transmitter and receiver are not yet tuned.
|
|
This command fails if the transmit or receive frequency creates a conflict with another ARFCN that is already runnng.
|
|
If the transceiver is already on, it response with success to this command.
|
|
CMD POWERON
|
|
RSP POWERON <status>
|
|
|
|
SETPOWER sets output power in dB wrt full scale.
|
|
This command fails if the transmitter and receiver are not running.
|
|
CMD SETPOWER <dB>
|
|
RSP SETPOWER <status> <dB>
|
|
|
|
ADJPOWER adjusts power by the given dB step. Response returns resulting power level wrt full scale.
|
|
This command fails if the transmitter and receiver are not running.
|
|
CMD ADJPOWER <dBStep>
|
|
RSP ADJPOWER <status> <dBLevel>
|
|
|
|
|
|
Tuning Control
|
|
|
|
RXTUNE tunes the receiver to a given frequency in kHz.
|
|
This command fails if the receiver is already running.
|
|
(To re-tune you stop the radio, re-tune, and restart.)
|
|
This command fails if the transmit or receive frequency creates a conflict with another ARFCN that is already runnng.
|
|
CMD RXTUNE <kHz>
|
|
RSP RXTUNE <status> <kHz>
|
|
|
|
TXTUNE tunes the transmitter to a given frequency in kHz.
|
|
This command fails if the transmitter is already running.
|
|
(To re-tune you stop the radio, re-tune, and restart.)
|
|
This command fails if the transmit or receive frequency creates a conflict with another ARFCN that is already runnng.
|
|
CMD TXTUNE <kHz>
|
|
RSP TXTUNE <status> <kHz>
|
|
|
|
|
|
Timeslot Control
|
|
|
|
SETSLOT sets the format of the uplink timeslots in the ARFCN.
|
|
The <timeslot> indicates the timeslot of interest.
|
|
The <chantype> indicates the type of channel that occupies the timeslot.
|
|
A chantype of zero indicates the timeslot is off.
|
|
CMD SETSLOT <timeslot> <chantype>
|
|
RSP SETSLOT <status> <timeslot> <chantype>
|
|
|
|
|
|
Messages on the per-ARFCN Data Interface
|
|
|
|
Messages on the data interface carry one radio burst per UDP message.
|
|
|
|
|
|
Received Data Burst
|
|
|
|
1 byte timeslot index
|
|
4 bytes GSM frame number, big endian
|
|
1 byte RSSI in -dBm
|
|
2 bytes correlator timing offset in 1/256 symbol steps, 2's-comp, big endian
|
|
148 bytes soft symbol estimates, 0 -> definite "0", 255 -> definite "1"
|
|
|
|
|
|
Transmit Data Burst
|
|
|
|
1 byte timeslot index
|
|
4 bytes GSM frame number, big endian
|
|
1 byte transmit level wrt ARFCN max, -dB (attenuation)
|
|
148 bytes output symbol values, 0 & 1
|
|
|
|
|
|
|
|
|