PointPerfect L-band Configuration

Introduction

In this guide, we will review the hardware requirements and device configuration to receive and use PointPerfect service via L-band.  The instructions on how to configure  NEO-D9S and ZED-F9P  for this purpose are explained in the respective configuration sections of the modules. The diagram below shows the L-band solution architecture.

Hardware Requirements 

If you are interested to evaluate PointPerfect L-band solution,  you need to have a u-blox  L-band receiver NEO-D9S to receive PointPerfect L-band corrections, in addition to the high precision receiver supporting SPARTN format. The NEO-D9S receives the PointPerfect encrypted L-band stream and passes  it to ZED-F9P.   

The NEO-D9S and ZED-F9P receivers follow the u-blox configuration concept. The UBX-CFG-VALSET, UBX-CFG-VALGET, and UBX-CFG-VALDEL messages can be used to configure the SPARTN L-band correction data reception.

NEO-D9S and ZED-F9P can be connected via UART2. Using the UART2 connection is common practice and recommended for customer designs, while UART1 or USB are the most convenient interfaces for monitoring and configuring both modules, using u-center, for instance.


The easiest way to configure the NEO-D9S and ZED-F9P receivers is to make use of the C099-F9P and C101-D9S application boards (see the related user guides in particular Chapter 4 of the C101-D9S Application board user guide.

Prerequisite: PointPerfect L-band plans are enabled for your thingstream domain. If you can not see PointPerfect L-band plans within your PointPerfect Location thing, please contact support@thingstream.io 

NEO-D9S configuration

NEO-D9S needs to be configured to receive SPARTN L-band correction data and forward these, encapsulated in UBX-RXM-PMP messages, to the ZED-F9P receiver via UART2.

L-band configuration 

The PointPerfect service-specific configuration for CFG-PMP keys need to be done for your region (either US or EU) before the NEO-D9S receiver can receive PointPerfect correction data.

The L-band configuration keys to be setup are listed below:

  • CFG-PMP-CENTER_FREQUENCY 
  • CFG-PMP-SEARCH_WINDOW 
  • CFG-PMP-USE_SERVICE_ID
  • CFG-PMP-SERVICE_ID 
  • CFG-PMP-DATA_RATE
  • CFG-PMP-USE_DESCRAMBLER 
  • CFG-PMP-DESCRAMBLER_INIT
  • CFG-PMP-USE_PRESCRAMBLING 
  • CFG-PMP-UNIQUE_WORD

Please contact us at support@thingstream.io to obtain the NEO-D9S PointPerfect L-band configuration keys value for your specific region. 

Interface configuration

The UART2 interface of NEO-D9S needs to be configured to allow communication with ZED-F9P, using the following configuration items:

Configuration item Value

Also, check CFG-MSGOUT-UBX_RXM_PMP_UART2 is set to 1 (by default is enabled). This message enables UART2 of NEO-D9S to output UBX-RXM-PMP messages. 

Functional Check

Initial functional checks that are required to verify that NEO-D9S is operating correctly:

It is important to check the UART2 communication to ZED-F9P, e.g., using the UBX-MON-TXBUF message as shown in image below.

ZED-F9P Configuration

ZED-F9P needs to be configured to receive and use the SPARTN L-band correction stream, in the form of a UBX-RXM-PMP message, from NEO-D9S.

L-band configuration

The CFG-SPARTN-USE_SOURCE configuration key needs be set to LBAND:

Configuration item Value

Enable CFG-SPARTN-USE_SOURCE as 1-LBAND (from Advanced Configuration View). Please refer to the image shared below. For more details regarding SPARTN source configuration, please refer to ZED-F9P integration manual.  

Interface configuration


The UBX protocol needs to be enabled on the ZED-F9P UART2 input:

Configuration item Value

L-Band Dynamic Keys and Decryption

The decryption of the SPARTN messages happens inside ZED-F9P module. ZED-F9P needs to have the proper L-band dynamic keys  to decrypt the encrypted SPARTN data stream. The device can subscribe to the /pp/ubx/0236/Lb topic via MQTT to get the L-band dynamic keys in UBX format and transfer to the receiver at it is. Please contact support@thingstream.io if you need help with getting the L-band keys to ZED-F9P receiver.

Note: The keys are not stored in non-volatile memory and will be deleted on every module reset or restart. In such cases, the keys need to be passed to ZED-F9P again.

Functional  Check

Functional checks that are required to verify that ZED-F9P is operating correctly with NEO-D9S:

If all these checks pass, the ZED-F9P receiver should get into RTK positioning fix. If you are not able to see any of the messages above, please contact support@thingstream.io for assistance.