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

Doubts about how board works

Hi

I have some doubts and I wanted to know if you could clarify me.

When we are testing the samples provided by you guys, like asset_tracker, mqtt_simple etc, we are programming exclusively onto the nrf9160, or we are programming onto nrf52 board and using nrf9160 like a connection to the network(using both boards)???

So what I'm trying to say if the samples found here "\ncs\nrf\samples\nrf9160" have any contact with the nrf52 board. Like buttons, if pressed if doesnt, anything. Or that board have nothing to do with that?

If I'm to away can you scarify what I'm missing.

  • Hi!

    When flashing asset_tracker, mqtt_simple and most of the samples that do not use BLE then you are just programming the nRF9160 SiP. You can change which board you are programming by changing SW5 (the switch in red in the picture below) on the board from nRF91 to nRF52. 

    The nRF52840 on the DK comes shipped with a firmware that acts as a board controller for the kit, so when flashing examples that don't use BLE you don't have to flash new FW on the 52. 

    If you, however, want to try out the LTE Sensor Gateway example for instance, then you must program the Bluetooth HCI-UART sample on to the nRF52840 on the device. Note: this is also explained in the README of the sensor gateway example.

    Check out Zephyr board folder for the nRF52840 on the PCA10090 here to get a better understanding of the nRF52840's role on the board.

    More information can also be found under Hardware Description -> nRF2840 in the NRF91 DK User Guide, see here.

    Best regards,

    Heidi

  • Hi Heidi!
    Thanks for fast reply. I checked the links that you wrote above and I got some new questions, if you don't mind to answer me.
    Can you check the questions/observations bellow and say to me if I'm right or wrong and answer the ones I got doubts? I'm sorry in advance if I'm being a little bit "dumb".

    So:
    1)nRF9160 DK allows that applications to be programmed in 2 ways, at nrf9160 SiP or at nRF52 SoC.

    2)nRF52 is used as board controller and Bluetooth/IEEE 802.15.4 network processor.

    3)Both nrf9160 SiP and NRF52 SoC have their own firmware. The impression that I got from documentation
    and https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF9160-DK/Download#infotabs is that the nRF91 firmware is specific of nRF91, but the firmware for nRF52(modem firmware) is generic. Like without this modem FW the DK would not work properly or simply not work at all.

    4)nRF52 SoC controls CLOCK, FLASH, GPIO, RADIO, RTT, etc.

    5)About the nrf9160_pca10090 and nRF5240_pca10090, are the _pca10090 the same? Or is a little bit different because the nRF is different?

    6)At  https://infocenter.nordicsemi.com/pdf/nRF9160_DK_User_Guide_v0.9.pdf#page=20 it says that nRF52 controls analog switches on DK. But at zephyr\boards\arm\nrf52840_pca10090\doc\index.rst it says that nRF52 SoC has nothing to do about leds, buttons etc...
    Is that means that buttons, switches and leds says respect only to nRF9160 and the only interaction from nRF52 SoC with them is to router to on board functionality?

    7)If I program the asset_tracker to nRF9160, the nRF52 only has interaction because he is board controller(FLASH, RTT(Segger)?? Or about the code itself has something to do?
    Or it will only have interaction if the code has switches, buttons or leds? Or even with that, it has no interaction?
    Or it will only have interaction if is an specific application with SW5 is to nRF52.

    8)You said that the mqtt_simple sample says respect to nRF9160 SiP. So, if I alter that code to work with buttons, like for example, if I press button 1 it changes from topic, button 2, it disconnect, something like that, I would be in same only using nRF9160 resources?

    Sorry for anything.
    With my best

  • Hi, sorry for the late reply. Once you select verified answer on a reply in a ticket, I don't get any notifications for new replies.

    I hope these answers are sufficient, please let me know if you are left with questions. :)

    Joao Filipe said:
    1)nRF9160 DK allows that applications to be programmed in 2 ways, at nrf9160 SiP or at nRF52 SoC.

     In a sense. The nRF91 DK allows you to program both MCU's on the board, which are the nRF9160 SiP and the NRF52840 SoC. 

    Joao Filipe said:
    2)nRF52 is used as board controller and Bluetooth/IEEE 802.15.4 network processor.

     Yes.

     

    Joao Filipe said:
    3)Both nrf9160 SiP and NRF52 SoC have their own firmware.

     I think you're mixing modem firmware with application firmware (software). The modem firmware runs the modem that is inside the nRF9160 SiP. The nRF52840 SoC does not have a modem, therefore it has no modem firmware. It does, however, have application firmware, just like the nRF9160. 

     

    Joao Filipe said:
    4)nRF52 SoC controls CLOCK, FLASH, GPIO, RADIO, RTT, etc.

    Yes. These are all core components or peripherals on the nRF52840. 

    Joao Filipe said:
    5)About the nrf9160_pca10090 and nRF5240_pca10090, are the _pca10090 the same?

     Yes, the PCA10090 is referring to the development kit that contains both the nRF9160 SiP and the nRF52840 SoC, which we also call the nRF91 DK.

      

    Joao Filipe said:
    6)At  https://infocenter.nordicsemi.com/pdf/nRF9160_DK_User_Guide_v0.9.pdf#page=20 it says that nRF52 controls analog switches on DK.

    The nRF52 controls analog switches that route the nRF9160 output pins to the physical buttons, LEDs and switches. See the diagram below for exactly which components of the nRF9160 go where. So the only thing the nRF52 SoC has to do with LEDs, buttons is routing the signals.

     

    Joao Filipe said:
    7)If I program the asset_tracker to nRF9160, the nRF52 only has interaction because he is board controller(FLASH, RTT(Segger)??

     I'm not sure what you mean by interaction. The nRF52 is "working" because it routes signals. If you, for example, remove the firmware from the nRF52 and run asset_tracker you might not run into any problems right away, I'm not sure. 

    But as they state in the NRF91 DK User Guide:

    "Since this firmware in the nRF52840 decides the nRF9160 DK behavior, it is vital that it is always present in the nRF52840. If it is accidentally erased or firmware affecting the use of the key nRF52840 GPIOs is programmed in, nRF9160 DK functionality is not guaranteed. In such cases, nRF52840 needs to be preprogrammed with the default board control firmware from the nRF Connect SDK."

    Joao Filipe said:
    Or it will only have interaction if is an specific application with SW5 is to nRF52.

    Again, not sure what you mean by interaction but the SW5 just reroutes the onboard debugger to be able to flash the nRF52.

     

    Joao Filipe said:
    8)You said that the mqtt_simple sample says respect to nRF9160 SiP. So, if I alter that code to work with buttons, like for example, if I press button 1 it changes from topic, button 2, it disconnect, something like that, I would be in same only using nRF9160 resources?

     Yes, if you add button functionality to the mqtt_simple example, you won't need to change anything on the nRF52 nor use extra resources from the nRF52.

    Best regards,

    Heidi

Related