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

nRF9160 AT client UART0 pins reassignment issue

Hi,

I have a custom board based on nRF9160 for which I created custom .dts following porting guide.
It seems TX isn't sending anything (stay close to 0V) - config I have is: tx-pin = <8>; rx-pin = <9>; 
for &uart0, no handshake, reset level at 2.7V.
Checked prj.conf and .config they settings there seem alright. Please advise, what I might be missing here?
Thanks.

Parents
  • Could you upload your sample or a simplified version of it? Then I'll test it myself and see if there is something wrong with the DTS files or the configuration.

    Best regards,

    Simon

  • Thanks Simon,

    The Tx, Rx pin settings reflected in various config/ build files that you pointed to - they all seem to check out ok in my case.
    Still no luck sending data; so couple of follow-up questions: 
    1) When I try this same SLM app on nRF9160-DK (v0.9.0), built with its own (nrf9160dk_nrf9160_common.dts) profile.
        It works well. Though what I noticed, there I need to select COM15 in Link Monitor (VCOM14,15,16 associated with this 
        DK). Is VCOM15 associated with/ mapped to UART0 or UART1 on nRF9160-SiP? BTW my prj.conf for this build too, is
        calling for UART0. Also, what does "CONFIG_UART_0_NRF_HW_ASYNC_TIMER=2" (i.e. Async and Timer=2) mean?
    2) UART0 in  nrf9160dk_nrf9160_common.dts specify RTS, CTS, which I don't use in my custom profile (.dts). Could that 
        mean original SLM app (DK build) is calling for/ require handshaking? which I'm not using - that will explain unable to
        send too.

    Tried your suggestion about setting breakpoints inside uart_rx_handler() from slm_at_host.c. One breakpoint set right after entering rx handler and another right after "send:" label. None of the break points are hit when I send a simple AT\r\n. So, I 
    am trying to trace where it's lost? I can see/ by probing P0.09 of nRF9160-SiP from an external USB serial connection that 
    correct command stream does hit rx-pin (P0.09) = 0x41 0x54 0x0D 0x0A. Now the only things left to suspect is TX signal level (2.6V) that's connected to rx-pin (P0.09) - it should be valid (VIH) level for proper rx-pin detection, but please confirm 
    that for me. As mentioned the external processor I am using to interface with nRF9160-SiP - IO levels on that are 2.7v nominal. I do have a level shifter on nRF91 tx-pin so as to not violate 2.7V rx input on the external processor host. 

    Please advise. Thanks again. 

    Best,
    SE

Reply
  • Thanks Simon,

    The Tx, Rx pin settings reflected in various config/ build files that you pointed to - they all seem to check out ok in my case.
    Still no luck sending data; so couple of follow-up questions: 
    1) When I try this same SLM app on nRF9160-DK (v0.9.0), built with its own (nrf9160dk_nrf9160_common.dts) profile.
        It works well. Though what I noticed, there I need to select COM15 in Link Monitor (VCOM14,15,16 associated with this 
        DK). Is VCOM15 associated with/ mapped to UART0 or UART1 on nRF9160-SiP? BTW my prj.conf for this build too, is
        calling for UART0. Also, what does "CONFIG_UART_0_NRF_HW_ASYNC_TIMER=2" (i.e. Async and Timer=2) mean?
    2) UART0 in  nrf9160dk_nrf9160_common.dts specify RTS, CTS, which I don't use in my custom profile (.dts). Could that 
        mean original SLM app (DK build) is calling for/ require handshaking? which I'm not using - that will explain unable to
        send too.

    Tried your suggestion about setting breakpoints inside uart_rx_handler() from slm_at_host.c. One breakpoint set right after entering rx handler and another right after "send:" label. None of the break points are hit when I send a simple AT\r\n. So, I 
    am trying to trace where it's lost? I can see/ by probing P0.09 of nRF9160-SiP from an external USB serial connection that 
    correct command stream does hit rx-pin (P0.09) = 0x41 0x54 0x0D 0x0A. Now the only things left to suspect is TX signal level (2.6V) that's connected to rx-pin (P0.09) - it should be valid (VIH) level for proper rx-pin detection, but please confirm 
    that for me. As mentioned the external processor I am using to interface with nRF9160-SiP - IO levels on that are 2.7v nominal. I do have a level shifter on nRF91 tx-pin so as to not violate 2.7V rx input on the external processor host. 

    Please advise. Thanks again. 

    Best,
    SE

Children
Related