Sujet : Re: uP port mapping
De : theom+news (at) *nospam* chiark.greenend.org.uk (Theo)
Groupes : sci.electronics.design comp.sys.raspberry-piDate : 12. Sep 2024, 22:28:42
Autres entêtes
Organisation : University of Cambridge, England
Message-ID : <c+f*cDnUz@news.chiark.greenend.org.uk>
References : 1 2 3 4
User-Agent : tin/1.8.3-20070201 ("Scotasay") (UNIX) (Linux/5.10.0-28-amd64 (x86_64))
In comp.sys.raspberry-pi john larkin <
jl@650pot.com> wrote:
RP2040 has I think 2 PIO blocks and each has a couple of hardware
programmable state machines, and those can be set up to drive pins.
I'm mostly concerned now with a PCB schematic design, picking the
appropriate and easy-to-route pins from the CPU to things.
My general question, for various processors, is how to associate bits
in integer variables with physical pins on the chip.
This is the function of a 'pinmux'. Different chips have different
capabilities of the pinmux, but it's rare to be able to connect any GPIO to
any pin - that's more FPGA territory. Typically the pinmux is just about
selecting one of multiple fixed functions for a given pin
(SPI1_MISO/I2C3_SDA/UART2_TX/...)
So either you route your DAC to consecutive pins (D0 to GPIOn, D1 to n+1,
..., ideally where n is a multiple of 8), or you're prepared to do the
necessary bit shuffling in software (which can be slow and non-atomic). I'd
suggest sticking to consecutive ordering if you can.
(although I have no experience of the RP2xxx GPIO/PIO shenanigans)
Theo