Archived: LTE Application Framework 1.0 Behavior Changes with LabVIEW Communications System Design Suite 1.1

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Overview

Internal changes in the NI-USRP driver to improve the clock configuration behavior require a manual change to customer applications based on the LTE Application Framework v1.0 when using LabVIEW Communications version 1.1 or later. Without this change, executing the host code causes a system hang. This document explains the necessary code change.

Technical Background

When configuring the USRP RIO Reference Clock, the NI-USRP driver included in LabVIEW Communications System Design Suite, also referred to as LabVIEW Communications, version 1.1 stops several hardware clocks during reconfiguration. Accessing any configuration registers during that time creates an FPGA access violation. In the host implementation of the LTE Application Framework version 1.0, the Reference Clock was configured during runtime, which causes this access violation.

The implication of the FPGA access violation are as follows:

  • If the bitfile was built using LabVIEW Communications version 1.0, execution of the host code results in a system hang
  • If the bitfile was rebuild using LabVIEW Communications version 1.1, execution of the host code results in the generation of the error -61046 (as shown in Figure 1) and the termination of the VI.

Figure 1 - Error message -61046

Solution

You can avoid the FPGA access violation by not reconfiguring the Reference Clock source during runtime. The remainder of this document describes the necessary code changes. These instructions apply for designs that are based on the LTE Application Framework version 1.0 and consists of two parts:

  • Part 1: Remove the configuration of the Reference Clock during runtime.
  • Part 2: (Optional) Add a configuration of the resource clock when starting the system.

Part 1: Remove the configuration of the Reference Clock during runtime.

  1. Open your customer application project that was created based on the LTE Application Framework version 1.0 in LabVIEW Communications version 1.1.
  2. Open the file lte_v1_0\host\lte_setup_rf.gvi using the Files pane. The unmodified block diagram is shown in Figure 2. The module that needs to be removed is shown in the red box.

    Figure 2. lte_setup_rf.gvi (Unmodified)

  3. Remove the “Configure Clocks” from the processing chain. The resulting code is shown in Figure 3.

    Figure 3. lte_setup_rf.gvi (Modified)

Part 2: (Optional) Add a configuration of the resource clock when starting the system.

This part of the code change is only required if you want to use another clock source as the internal clock.

  1. Open the file lte_v1_0\host\lte_host_init.gvi using the Files pane. The unmodified block diagram is shown in Figure 4. The VI that has to be replaced is shown in the red box.

    Figure 4. lte_host_init.gvi (Unmodified)

  2. Remove the Open VI and place a new version of it from the palette. This node is available from the palette by selecting Hardware Interfaces»USRP RIO»Open. Notice that the VI is now named “Open 2” in the context help and that it now has an additional input terminal named Reference Frequency Source.
  3. Create an input terminal for the Reference Frequency Source input of the “Open 2” VI. To add a terminal, hover over the Reference Frequency Source input, right click, and select Create Control. The result is shown in Figure 5.

    Figure 5. lte_host_init.gvi (Modified)

  4. Switch to the Icon pane of the lte_host_init.gvi document. Assign the input Reference Frequency Source to one of the ports as shown in Figure 6.

    Figure 6. Icon Pane of lte_host_init.gvi

  5. Open the file lte_host_usrp_rio.gvi from the Files pane. The unmodified block diagram is shown in Figure 7.

    Figure 7. lte_host_usrp_rio.gvi (Unmodified)

  6. Create an input terminal for the Reference Frequency Source input of the lte_host_init.gvi. To add this terminal, hover over the Reference Frequency Source input of this VI, right click, and select Create Control. The result is shown in Figure 8.

    Figure 8. lte_host_usrp_rio.gvi (Modified)

  7. Place the Reference Frequency Source control on the panel.

    Figure 9. lte_host_usrp_rio.gvi Panel

    Now this control sets the reference frequency source for the USRP RIO. Valid values:

    • Internal
    • REF IN
    • GPS (for NI USRP 295xR series)

    Changing the reference frequency source requires you to restart the application. The former controls TX Reference Clock and RX Reference Clock now do not function. They may be removed from the panel.