GPS 1PPS on nRF9151 DK

Hello, my application requires very precise timing to trigger an action on the edge of the GPS time. I just need to get this time once in a while to synchronize the system, and afterwards, I can trigger a timer interrupt every 1s following the event of the GPS time trigger. After some time searching in the documentation, I found that the nRF9151 DK has a COEX1 interface, quoting from these 2 sources (source 1 and source 2):

COEX1 – Output from the LTE modem to the external device. When internal GPS is used, COEX1 delivers the GPS 1PPS (one pulse per second) time mark pulse. The 1PPS feature must not be used when LTE is enabled.

I'm trying to find a way to access GPS PPS signal, but unsure how. The closest forum post I found is this: https://devzone.nordicsemi.com/f/nordic-q-a/75137/getting-access-to-the-gps-pps-signal-on-the-nrf9160, but the question is about nRF9160 and it's over 2 years old, so I'm not sure if this is still relevant for the new nRF9151 DK. From this document, it seems that I can configure 1PPS, but I don't know how to get this. Is it via an interrupt? Do I need to make any hardware wiring? I'd appreciate it if there is a sample application or general guidance on how to approach it. Thank you.

Parents Reply Children
  • Hi Hakon, thank you for your response. These are the sources I linked in my original question as well. My confusion is how to use the COEX1 pin? Since the document said this is an output pin, I can wire it back to the GPIO and treat it as an interrupt? Is there a way for the DK to automatically know this without any additional wiring (such as enabling some Kconfig option)?

  • Yun531 said:
    Since the document said this is an output pin, I can wire it back to the GPIO and treat it as an interrupt? Is there a way for the DK to automatically know this without any additional wiring (such as enabling some Kconfig option)?

    Yes, you can use GPIO pin on your host MCU and configure an interrupt to know when activity occurs. That seems like the best option as far as I am concerned.

    Yun531 said:
    Is there a way for the DK to automatically know this without any additional wiring (such as enabling some Kconfig option)?

    I don't know how that would be possible.

  • Hi,

    If there is no sample for using the COEX1, is there any sample or general guide on how to enable and disable LTE manually?

    I'm currently working through the Cellular IoT Fundamentals course and so far, the exercises for LTE and GNSS to be active at the same time is enable GNSS when the LTE is in power saving mode (Lesson 6 exercise 2). My SIM does not support PSM or eDRX, and here's a note from the lesson:

    If your network operator and/or SIM card does not support either PSM nor eDRX, you will have to manually deactivate and activate the modem when wanting to use the GNSS in your application. There is a workaround, by giving the GNSS priority over LTE events to help get a fix. This is not recommended, as it interferes with LTE operations.

    Could you help me with this? Especially, there is a "keep alive" while true loop in main, I'm unsure on how to manually deactivate/activate the modem in conjunction with this loop.

    If helpful, here are the links that I refered to:

    GNSS Lesson 6 Exercise

Related