From 4d2093e7656832c89097dfafb9d6a59ce3617050 Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Tue, 20 Dec 2022 19:12:52 +0530 Subject: [PATCH] Updated doc, spell checked --- doc/nr-ue-design.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/doc/nr-ue-design.md b/doc/nr-ue-design.md index 0b0b940d5f..32abe6bd80 100644 --- a/doc/nr-ue-design.md +++ b/doc/nr-ue-design.md @@ -1,7 +1,19 @@ -# Multi-threading Design -The `UE_thread` function in `nr-ue.c` is the main top level thread that interacts with the radio unit. Once the thread spawns, it starts the 'Initial Syncronization'. Once its complete, the regular processing of slots commences. +# PHY and MAC Interface +The PHY sends scheduling requests and data indication to MAC via `nr_ue_dl_indication` for DL path and `nr_ue_ul_indication()` for UL path and the MAC sends scheduling configuration to PHY via `nr_ue_scheduled_response()`. The following diagram shows the interaction for PDCCH and PDSCH reception. +```mermaid +sequenceDiagram + PHY->>+MAC: Requests for PDCCH config (via nr_ue_dl_indication) + MAC->>+PHY: Schedules PDCCH reception (via nr_ue_scheduled_response) + PHY->>+MAC: Indicates decoded DCI(s) (via nr_ue_dl_indication) + MAC->>+PHY: Schedules PDSCH reception (via nr_ue_scheduled_response) +``` -## Initial Syncronization Block +# Multi-threading Design +The `UE_thread` function in `nr-ue.c` is the main top level thread that interacts with the radio unit. Once the thread spawns, it starts the 'Initial Synchronization'. Once its complete, the regular processing of slots commences. + +The UE exits when at any point in operation it gets out of synchronization. When the command line option `--non-stop` is used, the UE goes to 'Initial Synchronization' mode when it loses synchronization with gNB. However, this feature is not fully implemented and it is a work in progress at the time of writing this documentation. This will be the default behavior (not a command line option) when the feature is fully implemented. + +## Initial Synchronization Block ```mermaid graph TD A(Start) -->|UE_thread| B["readFrame
--Reads samples worth 2 frames"]