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

nRF52832 IO problem

Hello!

We have nRF52832 chip on our product and we have some problem with one of its IOs.. We configured P0.16 as RX of UART, And when we run it we see this behavior of this IO:

VCC (yellow) vs P0.16 (green) that configured as UART_RX

Here we see that with rising of VCC (yellow signal) IO (green) rising to almost 1V when it supposed to still at 0V. Important note: we disable and enable VCC fast here so we see that before rising of VCC it don't have 0V. This behaviour is very problematic to our system. Because we have power supply sensitive sensor that connected to this UART. This spike of voltage damage sensor that connected to this IO.

We tried to load to evaluation board same version of SW on nRF52832 and we got next result:

We see that also here we have the problematic spike.

When we erased the evaluation board - we got the same result.

Is this IO known as problematic?

Thank you

  • I touch with oscilloscope the TX pin on MSP430 package and see that it no transmit anymore when it damaged. 

    Here the screenshots of UART IOs and supplies that we already did:

    This is power-up (with 100k pull-up resistor on TX):

    Yellow - 9V, green - 3.3V, pink - RX, blue - TX (IO that get damaged)

    This is power-down:

    And yes, I put scope on IO of MSP and see transmission when the chip works ok. And don't transmit data when it no.

  • Looks like a classic phantom power issue, which I mention earlier in this thread, given the MSP430 powers up long before the nRF SoC. If there are other devices attached (host MCU or external serial port to PC etc) care is required to ensure no port pins are driving into the nRF52832 SoC during a power-down period. In a simple system with a host MCU typically a UART Rx, Tx and the nRF52832 SoC RST pins will be connected between host MCU and nRF52832 SoC. In that simple case either Rx or Reset pins will phantom power the entire nRF52832 SoC if they are left driven high while nRF52832 SoC power is removed. This is perhaps not unexpected if we assume dual internal schottky diode protection (a clamp diode to both GND and VCC) instead of single internal schottky diode (to GND with low breakdown voltage). This means that to power-down the nRF52832 SoC the MCU code must first drive both UART RX and BLE RST pins low, otherwise the supply of (say) 3 volts only drops to 2 volts or so when the supply is switched off and the nRF52832 SoCtherefore does not reset.
    In a similar manner, connecting a typical FTDI USB serial port to the nRF52832 SoC can unexpectedly phantom power the part, and stop it correctly resetting or powering down unless the FTDI is first removed. This can cause confusing and unexpected behavior. There is an excellent Dialog publication Training_07_DA1458x_prototype_bring_up_guide _Training_07_DA1458x_prototype_bring_up_guide -v1. 2I 2I_ which actually touches on this without mentioning why:
    It is recommended that P0_4 and P0_5 are made available for UART communication during production test and board bring-up. Note that, if the two pins are also used as interface to an external MCU, that this MCU will need to be able to high-Z the pin connected to P0_5
    The reason is that resetting the test board doesn't work correctly unless drive to the Rx pin is first removed, including drive from any connected FTDI USB serial port or driving low or floating any connected host MCU.

    We now making tests to put series current-limit resistor. With 51 ohm it still got damaged, and with 102 ohm it seems to survive, but we will test more. We are running power-on/power-off tests that power on and off the board every 8 seconds, For now board with sensor and series resitors run 1 week and looks good. When at the past it was damaged after 1-2 days. And with 51 ohm it run 4 days.

    So maybe this is really the solution that we need

    Thank you

  • I would suggest rather more than 102 ohm; assume worst-case 3.3 volts @ (say) 10mA limit indicates 330 ohms minimum. A more robust alternative might be to use something like SN74LV1T34 Single Power Supply Single Buffer GATE CMOS Logic Level Shifter. The resistor solution can limit maximum baud rate due to distributed capacitance, although I would imagine you are not above 115,200 in which case 330 ohm is fine.

  • We run UART at 230400 baud rate.. So as you say - we need to use the buffer?

  • Personally I would use 1k Ohm; even a poor layout will probably have less than 20pF stray capacitance which gives a CR  rise/fall of 20 nSecs. At 230400 baud that is not significant. Should the MSP430 not be on the same pcb then of course the capacitance is likely to be higher. 1k Ohm limits surge currents on mismatched power rails to 1mA. If this was a SPI interface at 8MHz then I would say use the level shifter.

Related