Pi 4 I / O-Schnittstellenoptionen… und wo sie zu finden sind

10

In der Hardwaredokumentation des BCM2711 sind mehrere E / A-Schnittstellenoptionen aufgeführt. Unter anderem sind dies:

  • bis zu 6 × I2C,
  • bis zu 6 × UART (mit I2C gemuxt),
  • bis zu 6 × SPI (nur fünf auf Raspberry Pi 4B belichtet)

Der Pi 4 teilt jedoch die Pinbelegung seines GPIO-Headers mit den älteren Modellen ( siehe hier ).

Wo genau befinden sich die zusätzlichen seriellen Schnittstellen?

Ghanima
quelle

Antworten:

12

Das vorläufige Raspberry Pi 4 Model B-Datenblatt , Abschnitt "5.1.1 GPIO-Pin-Zuweisungen", lautet:

GPIO-Pins können nicht nur als einfache softwaregesteuerte Ein- und Ausgabe (mit programmierbaren Pulls) verwendet werden, sondern auch in verschiedene andere Modi geschaltet (gemultiplext) werden, die von dedizierten Peripherieblöcken wie I2C, UART und SPI unterstützt werden.

Zusätzlich zu den Standard-Peripherieoptionen für ältere Pis wurden dem BCM2711-Chip zusätzliche I2C-, UART- und SPI-Peripheriegeräte hinzugefügt, die als weitere Mux-Optionen für den Pi4 verfügbar sind. Dies gibt Benutzern viel mehr Flexibilität beim Anbringen von Add-On-Hardware im Vergleich zu älteren Modellen.

Die "zusätzlichen" Schnittstellen sind alternative Funktionen, die mit den vorhandenen GPIO-Pins gemultiplext werden. Zwar gibt dies dem Benutzer mehr Flexibilität, wenn eine dieser Funktionen verwendet wird, verringert sich jedoch die Anzahl der verfügbaren allgemeinen E / A-Pins. Die alternativen Funktionen sind in Abschnitt "5.1.2 Alternative GPIO-Funktionen" aufgeführt:

Geben Sie hier die Bildbeschreibung ein


So aktivieren Sie alternative Funktionen: Wie kann ich einen GPIO in seine alternative Funktion umwandeln?

Ghanima
quelle
3
Übrigens ist diese Art des "Multiplexens" auf eingebetteten Systemen / CPUs sehr verbreitet. Beispielsweise bieten Mikrocontroller fast immer mehr "Funktionen", dh Peripheriegeräte, als physische Pins zur Verfügung stehen. Die einfachste Form ermöglicht es, die Pins eines Peripheriegeräts vom Peripheriegerät zu trennen und als GPIO zu verwenden. Offensichtlich kann jeder Pin jeweils nur eine Funktion erfüllen, und die physische Verbindung des Pins mit einem anderen Gerät verhindert meistens das zeitmultiplexende Schalten der Funktionen.
JimmyB