This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Continuous Wave for nRF9160

Is there any test firmware available (or reference code) for doing total radiated power measurements?  I have the nRF9160 designed onto a PCB and we'd like to do some antenna measurements. Ideally I'd be able to put the nRF9160 into a continuous wave mode.

Thanks!

Johnny

  • Hi,

     

    There's a test AT command specified in the AT Command pdf at chapter 4.19, "%XRFTEST".

    You can input this command by using the example at_client, in combination with nRF connect application "LTE Link Monitor".

     

    Kind regards,

    Håkon

  • Thank you.  Some follow-up questions: 

    I know I can send AT commands via the LTE Link Monitor program, but could I instead use a terminal program like Putty and tap into the UART pins to the nRF9160 on the development kit? 

    Looking at the schematic for the development kit, P0.26 through P0.29 appear to be the UART comms for the AT commands.  Where on the development kit would I connect to those UART lines? Is it TPs7-10? Or is it D19 - D22?

    What I'm hoping I can do is load the at_client example onto my prototype PCB with a few modifications and send the AT commands over UART.  But I wanted to try it first on the development kit.

    Thanks again for the help!

    Johnny

  • Hi Johnny,

     

    You can use a normal terminal if you'd like. LTE Link Monitor is basically only a terminal that parses the AT command into a more "human readable" format. 

    jlienau03 said:
    Putty and tap into the UART pins to the nRF9160 on the development kit? 

     If you're using the DK, you do not need to tap into the pins directly, just open the COM port with baud 115k2.

    jlienau03 said:
    What I'm hoping I can do is load the at_client example onto my prototype PCB with a few modifications and send the AT commands over UART.  But I wanted to try it first on the development kit.

    Are you thinking of using the DK itself as a USB->UART bridge for your custom board?

    If you want to use the UART bridge on the DK for your own board, you can connect to the TP7 (RTS) / TP8 (CTS) / TP9 (RXD) / TP10 (TXD) near the "nRF ONLY" switch.

    Note that the 91 mounted on the nRF91-DK must then not have UART enabled at this point, as it will then create a pin conflict.

     

    Kind regards,

    Håkon

  • I do not want to use the DK as a USB->UART bridge.  I have a USB to serial bridge already (a standard USB to serial FTDI converter).  I was just looking to send AT commands outside of the LTE Link Monitor program directly to the nRF9160 on the DK with my own bridge instead of using the USB->UART bridge already on the DK.  I'm trying to figure out where I would tap in to the UART ports to do that?

    For my custom board, I will wire directly to the UART ports on my custom board with my USB to serial converter.  I want to test it all out on the DK first (as described above), before moving over to my custom board.

    Thanks,

    Johnny

  • Hi,

     

    In order to do this, you need to change the pin out for the UARTE0 peripheral.

    This must be done both in the secure_boot application, via the "nrf9160_pca10090.overlay" file, and

    in your application, at_client, using "nrf9160_pca10090ns.overlay" as this application is in the non-secure region.

     

    I can recommend to use gpios between P0.10 and P0.20, as these are all routed out by default to the pin header list, so its easier to access.

    The .overlay file for secure_boot (nrf9160_pca10090.overlay):

    /* needed to get the NRF_UARTE2 defined */
    &uart2 {
    	current-speed = <1000000>;
    	status = "ok";
    	tx-pin = <18>;
    	rx-pin = <17>;
    	rts-pin = <19>;
    	cts-pin = <21>;
    };
    
    &uart0 {
    	current-speed = <115200>;
    	status = "ok";
    	tx-pin = <somepin>;
    	rx-pin = <somepin>;
    	rts-pin = <somepin>;
    	cts-pin = <somepin>;
    };

    And here's an example .overlay file for the at_client example:

    &uart0 {
    	current-speed = <115200>;
    	status = "ok";
    	tx-pin = <somepin>;
    	rx-pin = <somepin>;
    	rts-pin = <somepin>;
    	cts-pin = <somepin>;
    };

     

    After creating or editing the existing .overlay file, you should delete the build directory and regenerate the Cmake files prior to building/flashing.

     

    Kind regards,

    Håkon

Related