Project

General

Profile

MS-side GPRS » History » Version 6

Hoernchen, 12/05/2022 04:44 PM

1 1 fixeria
h1. MS-side GPRS implementation
2
3
h2. Project description
4
5 5 pespin
An open source GPRS implementation for OsmocomBB. Can demonstrate GRPS attach, PDP
6
context establishment and the exchange of uplink and downlink user IP data with a GPRS network.
7 1 fixeria
8
h2. Project architecture
9
10
Here we have the overall project architecture and the state of implementation.
11
12
I created a draft layer diagram using https://draw.io, see the attachments.
13
The "ardc_darc_gprs_arch.drawio" can be uploaded and edited there.
14 2 fixeria
Suggestions/corrections are welcome (FIXME section below).
15 1 fixeria
16 4 fixeria
!ardc_darc_gprs_arch.drawio%281%29.png!
17 2 fixeria
18 6 Hoernchen
h2. Lower layer details
19
20
* the setup consists of a few threads
21
** a lower rx-thread that keeps the time by handling SCH bursts and ensures ts alignment
22
** the upper rx thread that also is the select "main loop" that demods the bursts and handles the communication with upper layers
23
** ctrl if thread that asynchronously handles ctrl commands which can't be submitted from libusb threads in the bladerf case
24
** a tx thread that modulates and submits the bursts
25
** in case of uhd a few more threads, 9 in total.
26
* current target is a raspi 4 running at max cpu freq without any power save, with isolated core 1+2 (0+3 work as usual), other threads are distributed across non isolated cores.
27
** arbitrary choice, rpi4 usb is known good, cpu is sufficient
28
** yes, this can run as is on any system with 4 cores _without_ configuring anything, it will just not work reliably.
29
* latency excluding usb is > 1 ts, since the sdr buffer is 1ts < size <2 ts so the average case is 1-2ts latency including demodulation until data hypothetically reaches the l1 socket to upper layer apps, decoding is basically free.
30
** usb3 packet size is 1024 -> min blade usb transfer is 1020 samples
31
** uhd transfer size has to aligned to 8 and 24 bytes but *not* a multiple of 1024.. so it can be tuned, but not to gsm burst sizes.
32
33 2 fixeria
h3. FIXME
34
35
* Typo: s/SN/SM/
Add picture from clipboard (Maximum size: 48.8 MB)