General > General Technical Chat
Software guys, please, no.
<< < (24/27) > >>
PlainName:
Sure, but wouldn't the slew rate be managed by current limiting externally? I guess it would with a resistor but not with something more steppy. Like, for instance, an LED :)
wraper:

--- Quote from: pcprogrammer on September 22, 2022, 03:31:21 pm ---What I understand from it is that it has to do with the slew rate. 2mA setting will be slow and 16mA fast. It has nothing to do with actual current limiting, and more with the output impedance.

--- End quote ---
By adding impedance current is reduced. But it's not a sort of current limiting with feedback loop so it measures actual current to limit it to certain value.
pcprogrammer:
In this pdf https://matt.ucc.asn.au/mirror/electron/GPIO-Pads-Control2.pdf wraper referred to it shows it is using different drivers in parallel to modify the drive strength. With all drivers enabled it will charge the capacitance it sees on the pin faster due to lower resistance in the driver and thus the signal will rise faster.

I believe this kind of setup is used in other MCU's and FPGA's too.
PlainName:
I'm not sure it makes things clearer!

"Why don't I set all my pads to the maximum current!"

It's basically saying that if you did and you put 16mA on each pin you'd fry the IO system. Well, yes, but if you set it to 2mA and do the same you'd still fry it. As a designer you'd know not to exceed the spec, and being able to set a current which doesn't actually achieve the aim of protecting from accidental overloads seems kind of pointless.

AFAICS, it would be useful if you have a (small) capacitive load where you want or need to limit inrush, but surely an external resistor would be safer (in the sense that it would protect against 'software guys' programming the stuff incorrectly).
Howardlong:

--- Quote from: dunkemhigh on September 22, 2022, 03:27:08 pm ---
--- Quote from: RPi datasheet ---To prevent excessive power dissipation in the chip, you should not source/sink more current from the pin than its programmed limit. So, if you have set the current capability to 2 mA, do not draw more than 2 mA from the pin.
--- End quote ---

I am struggling to understand the basis of this. Let's suppose you have the output programmed to the example 2mA, and to ensure more tha 2mA is not drawn from the pin (as they state) you put a resistor or other current-limiting device in the circuit. What's the point of programming it for 2mA in the first place?

--- End quote ---

To reduce high current transients and transient noise. It can be a quite effective solution if you have an application that's failing EMC tests for example on a higher speed bus: it might save you a board re-spin if the hardware and software guys talk to each other ;-)

In some situations, it's important to have specific rise and/or fall time ranges to other devices, and this can provide a possible solution in these cases but it's a bit of a hack IMO.

I've also heard of a potential urban myth using it to provide a somewhat adjustable impedance match, although as it's not really characterised I'm sceptical of its use in this situation other than as a hack.
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod