Project

General

Profile

Ericsson RBS2000 GPRS » History » Version 8

dexter, 03/23/2023 04:05 PM

1 1 laforge
h1. Ericsson RBS2000 GPRS
2
3 4 laforge
{{>toc}}
4
5 1 laforge
This page collects some information regarding Ericsson RBS2000 GPRS support.
6
7
The fundamental difference between what we do so far (PCU co-located with BTS) and this architecture is that the PCU is co-located with the BSC!
8
9
In order to have (E)GPRS support using RBS2000, we need to solve the following parts:
10
* configuration / activation of timeslots using OML2000 / RSL?
11
* ensuring that GPRS related SI, particularly SI13 are broadcast via BCCH
12
* implementation of PCU TRAU frame format and converter between osmo-pcu PHY interface and them
13
** 16k sub-slot and 64k slot formats
14
** associated PCU SYNC protocol
15
** all various coding schemes
16
* paging coordination between BSC and PCU
17
18
h2. PDCH timeslot configuration
19
20
It seems that in OM2000 all TCH (/F, /H, PDCH) are configued with a Combination "8", and no differentiation is made
21
22
The actual activation of the channel is expected via RSL.  So it's analogous to a RSL CHAN ACT for TCH/H or TCH/F, but we also do this for a PDCH. In order to do so, we send a RSL CHAN ACT with Channel Number 0b11000 + the timeslot number.  Deactivation works the same way.
23
24 2 laforge
h2. GPRS RACH requests
25
26
The BSC must identify the GPRS RACH requests (similar to osmo-bts currently) and pass them into the PCU.  This could be done using the same pcu socket interface that already exists.
27
28
h2. GPRS paging
29
30
Thre's a RSL "Packet Paging Indication IE" (IEI = 0xF3) that the BSC can include when sending a paging request to the BTS. It's currently not clear what this is used for and why it is required.
31
32 3 laforge
h2. TRAU frames
33 2 laforge
34 3 laforge
Classic GSM TRAU frames (for circuit switched voice) are transmitted on 16kBps sub-slots and are 39 octets (312 bits) long. They thus occur every 19.5ms.  Four 16kbps sub-slots are multiplexed into a 64kbps E1 slots. For more information see 3GPP TS 48.060.
35 1 laforge
36 3 laforge
Ericsson also introduces 64kbps TRAU frames (for higher EGPRS coding schemes).
37
38
The Synchronization of TRAU frames is based on a 16-bit all-zero field at the beginning of each TRAU frame (called the T0 bits) followed by a signle 1 bit (called the T1 bit).
39
40 7 dexter
A detailed description the TRAU frame format can also be found in the libosmo-abis code:
41
See also: https://gitea.osmocom.org/osmocom/libosmo-abis/src/branch/master/src/trau/trau_pcu_ericsson.c
42
43 3 laforge
44
h3. 16kBps sub-slots
45
46
h4. PCU-DATA.ind
47
48
This frame can be used by a CS-1 or CS-2 frame transmitted by the PCU, i.e. downlink.
49
50
|T|17|T0*16,T1*1|Sync Word|
51
|C|8|C1..C8|Control Bits (Frame Type, Time adjustmentValue,Uplink Frame Error)|
52
|PC|1|PC|Parity (C1..C8)|
53
|E|16|E1..E16|Codec Control, Uplink Channel Mode, Power Control|
54
|PE|1|PE|Parity (E1..E16)|
55
|D|273|D1..D273|Data bits|
56
|TA|4|TA1..TA4|Time Alignment|
57
58
h4. CCU-DATA.ind
59
60
This frame can be used by a CS-1 or CS-2 frame transmitted by the CCU, i.e. uplink.
61
62
h3. 64kBps slots
63
64
h4. PCU-DATA-64.ind
65
66
|T|65|T0*64,T1*1|Sync Word|
67
|D|48|D1..D48|Data bits|
68
|C|8|C1..C8|Control Bits|
69
|PC|1|PC|Parity (C1..C8)|
70
|E|36|E1..E36||
71
|PE|1|Parity (E1..E36)|
72
|S|21|S1..S21||
73
|D|1132|D1..D1132|Data bits|
74
|TA|16|TA1..TA16|Time Alignment bits|
75
|Total|1328|
76
77
h4. PCU-DATA-MCS9.ind
78
79
|T|17|T0*16,T1*1|Sync Word|
80
|D|48|D1..D48|Data bits|
81
|C|8|C1..C8|Control Bits|
82
|PC|1|PC|Parity (C1..C8)|
83
|E|9|E1..E9||
84
|PE|1|Parity (E1..E36)|
85
|D|1172|D49..D1228|Data bits|
86
|TA|16|TA1..TA16|Time Alignment bits|
87
|Total|1272|
88
89
h4. CCU-DATA-64.ind
90
91
|T|65|T0*64,T1*1|Sync Word|
92
|C|7|C1..C7|Control bits (FT, TAV)|
93
|PC|1|PC|Parity (C1..C7)|
94
|E|57|E1..E57|DBE, Codec Status, Receiver Level, Access Delay Deviation, Block Quality Measurement, Block Status Report, Spare, MEAN_BEP, CV_BEP, Header Quality, Data Block Quality|
95
|PE|1|PE|Parity (E1..E57)|
96
|S|3|S1..S3|Spare (set to 1)|
97
|D|1138|D1..D1138|Data bits|
98
|TA|8|TA1..TA8|Time Alignment bits|
99
|Total|1280|
100
101
h4. CCU-DATA-MCS9.ind
102
103
|T|17|T0*16,T1*1|Sync Word|
104
|D|48|D1..D48|Data bits|
105
|C|7|C1..C7|Control bits|
106
|PC|1|PC|Parity (C1..C7)|
107
|E|23|E1..E23||
108
|PE|1|PE|Parity (E1..E23)|
109
|S|2|Spare|
110
|D|1165|D49..D1221|Data bits|
111
|TA|8|Time Alignment bits|
112
|Total|1272|
113
114
h4. CCU-SYNC-64.ind
115
116
Sent from CCU to PCU (uplink)
117
118
|T|17|T0*16+T1*1|Sync Word|
119
|C|8|C1..C8|Control bits (FT, TAV, DFE)|
120
|PC|1|PC|Parity (C1..C8)|
121
|E|1|E1|DBE (DownlinkBlockError)|
122
|PE|1|PE|Parity (E1)|
123
|D|44|D1..D44|Data bits|
124
|T|1|T1||
125
|D|55|D45..D99|Data bits|
126
|T|1|T1||
127
|D|1079|D100..D1178|Data bits (DPSEQ, DaFNu, DaFNd)|
128
|TA|8|TA1..TA8|Time Alignment bits|
129
|Total|1216|
130
131
h4. PCU-SYNC-64.ind
132
133
|T|65|T0*64+T1*1|Sync Word|
134
|C|8|C1..C8|Control|
135
|PC|1|Parity (C1..C8)|
136
|D|54|D1..D53|Data bits|
137
|T|1|T1||
138
|D|63||Data bits|
139
|T|1|T1||
140
|D|1071|..D1172|Data bits|
141
|TA|16|TA1..TA16|Time Alignment bits|
142
|Total|1280|
143 5 laforge
144 6 laforge
h2. Trau Procedures
145
146
h3. SYNC procedure
147
148
Whenever the uplink is idle, the CCU is sending CCU-SYNC.ind towards the PCU.  This frame includes:
149
* Time Adjustment Value
150
** 00: no change
151
** 01: delay 250us
152
** 10: advance 250us
153
* Downlink Frame Error: Set to '0' in case the CCU receives bad downlink frames from the PCU
154
** once we send valid frames in downlink, the bit should change to '1'
155
* Downlink Block Error: Set to '0' when a downlink block was not transmitted
156
* DPSEQ: ?
157
* afn_ul: Adjusted Frame Number Upliink
158
* afn_dl: Adjusted Frame Number Downlink
159
160 8 dexter
Whenever the downlink is idle, the PCU is sending PCU-SYNC.ind towards the CCU. This frame includes:
161 6 laforge
* Time Adjustment Value (see above)
162
* Uplink Frame Error: Set to '0' in case the PCU receives bad uplink frames from the CCU
163
* DPSEQ: PCU-internal counter which probably gets echo'ed back in uplink DPSEQ for the PCU to measure RTT?
164 1 laforge
* optional dss, dfn_u, dfn_ss, dfn_d and dls fields, ignored by PCU.
165 8 dexter
166
A detailed description of the synchronization procedure can be found in the libosmo-abis code:
167
https://gitea.osmocom.org/osmocom/libosmo-abis/src/branch/master/include/osmocom/trau/trau_pcu_ericsson.h
Add picture from clipboard (Maximum size: 48.8 MB)