Using Test MAC and RU Emulator
TestMAC and RU emulator are the tools that are used by developers to test the system in a controlled environment. TestMAC functions as the L2/L1 interface, which schedules packets according to a predefined launch pattern. RU emulator is a basic implementation of ORAN FH interface. Its functions include verifying the timing of FH packets, checking the integrity of DL IQ samples and scheduling the transmission of UL IQ samples.
Functional blocks of TestMAC is seen in Figure 5. TestMAC is responsible for scheduling DL packets and validating received UL messages. TestMAC uses a predefined launch pattern for scheduling. The launch pattern defines the TDD pattern across multiple frames and the test vectors (TVs) used on each slot. The test vectors contain the L1 configuration for each PHY channel in a given slot. TestMAC obtains the slot timing from L1 via L2 adapter. The timing is indicated by the slot indication message. If a given slot is an UL, TestMAC parses the corresponding TV and compares the received data with the expected values included in the TV. If it is a DL slot, it prepares the FAPI message according to the L1 configuration of the DL TV.
Test MAC functionality
The RU emulator has the following functions:
Validation of timing of the transmitted packets by the DU (DL u-plane, DL c-plane, UL c-plane)
Validation of the transmitted IQ samples or DL u-plane payload data
Transmission of UL u-plane packets as a response to UL c-plane messages
The logic used by RU emulator to process received packets is shown in the below figure. If the received packet is a U-plane, RU emulator will continue parsing the packet header to retrieve eAxC id, frame number, subframe number, slot id, startSym index, number of smybols, start PRB index and number of PRBs. It then compares the payload with the corresponding data included in the TV. If the received packet is a C-plane message for an UL packet, they are again parsed to extract the information for the UL data allocation same as for DL packets. RU emulator then transmits the UL u-plane data symbol by symbol and it uses accurate send scheduling function.
RU emulator needs the cuphycontroller configuration to obtain PCI address of the NIC interface, MAC address of the peer system, cell configurations, VLAN ID and eAxCid values for each cell. It also uses launch pattern file to understand the TDD pattern and the L1 configuraiton for each slot.
RU Emulator received packet processing