Description
Currently nrf
DigitalInOut
uses high (strong) drive strength on the output pins, but none of the other peripherals for digital outputs are set to do that. The nrfx drivers all use standard drive strength,including, interestingly, I2C (TWIM).
We changed the atmel-samd
to use high drive in the past, which is why I did the same for nrf DigitalInOut
.
I could reconfigure the SPI, PWMOut, etc. pins to have high drive after initializing the devices.
Standard drive is typical 2ma, high is 9 or 10ma. rise/fall time is 9-25ns (15-50pf load) on standard, 4-8 on high.
However, Nordic recommends 15ma total from all GPIO pins, at least for nRF52832. This is not so much for safety as to prevent low voltages going out of range due to resistance (see below). I haven't found a similar limitation for nRF52840.
https://devzone.nordicsemi.com/f/nordic-q-a/20484/high-drive-mode-downsides-nrf52/79880#79880
https://devzone.nordicsemi.com/f/nordic-q-a/15800/gpio-sink-current-on-nrf52832/60290#60290
Quoting:
_ The reason you should not sink 15mA on multiple pins is that some pins may have common ground path. This means that if you sink high currents on pins that are close to each other you may see that the voltage on both pins (pads) rise above what is specified in Figure 4._
@ladyada @microbuilder any comments?