[nRF52833 NCS 1.7.0] UARTE not working when TX on any analog able pin

Hi,

I am developing a product based on a nRF52833-QDAA chip, we use the two uarts to transmit data to another MCU and AT commands to a LTE-M modem.

We use NCS 1.7.0 as software development platform.

My problem is that both of the two UARTEs stop working when their TX pins are analog input able pins in the device tree, even if we don't use the pin as analog.

For example, the following instanciation of the UARTE works properly

&uart0 {
    compatible = "nordic,nrf-uarte";
    status = "okay";
    current-speed = <115200>;
    /* Using P0.15 pin as TX works, P0.17, P0.11 and P1.09 all work */
    tx-pin = <15>;
};

But this one does not work

&uart0 {
    compatible = "nordic,nrf-uarte";
    status = "okay";
    current-speed = <115200>;
    /* Using P0.04 pin as TX does not work, same with P0.05 and P0.28, none of them works. */
    tx-pin = <4>;
};

I tried other pins, and I have observed that any time I try to use an analog-able pin, the UARTE stops working.
All other configurations and source code are the same between tests, I only change the pin used by the UARTE.

I made a small test software where the UARTE is the only enabled peripheral in my board's dts file, and the app is just a main function with a while(1) loop sending on the serial link with a printk() every 100 ms.

What could possibly be the cause of this behaviour ? I reviewed the source code, SoC and board dts files, the nRF52833 datasheet, but have been unable to find a reason for the UARTE not working on any analog input able pin.

Parents
  • Hi,

    I am testing on a custom board (a prototype for a new product), following your response we have inspected the board and it seems like we had a problem during PCB manufacturing : some traces are broken, and it is the ones that doesn't work... It was just a bad coincidence that theses traces were all connected to analog input pins, which wrongly pointed me to a software configuration problem.

    I have tested directly on the traces, by manually probing closer to the nRF52833 and it works for both analog-able and standard pins.

    To be sure, I have also tested on NFC pins P0.09 and P.0.10, and the UARTE doesn't work on theses no matter where on the trace I try, but, as it is stated in the datasheet, they are low frequency and low driven pins so I suppose it is normal ? Can you just confirm me that ?

    Thank you for your fast support !

    Best regards
    Axel

  • Hi Axel

    Good to hear you found the issue with the analog pins Slight smile

    Axel Moinet said:
    To be sure, I have also tested on NFC pins P0.09 and P.0.10, and the UARTE doesn't work on theses no matter where on the trace I try, but, as it is stated in the datasheet, they are low frequency and low driven pins so I suppose it is normal ? Can you just confirm me that ?

    By default P0.09 and P0.10 will be assigned to the NFC module, an in order to use these for other purposes you have to enable the following configuration in your proj.conf file:

    CONFIG_NFCT_PINS_AS_GPIOS=y
    Best regards
    Torbjørn
Reply
  • Hi Axel

    Good to hear you found the issue with the analog pins Slight smile

    Axel Moinet said:
    To be sure, I have also tested on NFC pins P0.09 and P.0.10, and the UARTE doesn't work on theses no matter where on the trace I try, but, as it is stated in the datasheet, they are low frequency and low driven pins so I suppose it is normal ? Can you just confirm me that ?

    By default P0.09 and P0.10 will be assigned to the NFC module, an in order to use these for other purposes you have to enable the following configuration in your proj.conf file:

    CONFIG_NFCT_PINS_AS_GPIOS=y
    Best regards
    Torbjørn
Children
No Data
Related