Das Modul zur peripheren Pinauswahl legt fest, welcher Digitaleingang an einen Pin herangeführt und welcher Digitalausgang über einen speziellen Pin herausgeführt wird. Die Auswahl erfolgt entweder statisch nach der Initialisierung des Codes oder dynamisch während der Ausführung des Codes. Wie das PPS im Einzelnen aufgebaut ist, zeigt das Blockschaltbild in Bild 1 am Beispiel des PIC16-Mikrocontrollers (MCU) von Microchip.

Bild 1: Blockschaltbild des Moduls zur peripheren Pinauswahl PPS für den PIC16-Mikrocontroller. Im Wesentlichen besteht das Modul aus Multiplexern und Steuerregistern.

Bild 1: Blockschaltbild des Moduls zur peripheren Pinauswahl PPS für den PIC16-Mikrocontroller. Im Wesentlichen besteht das Modul aus Multiplexern und Steuerregistern. Microchip

Aufbau und Implementierung der peripheren Pinauswahl

Das PPS-Modul besteht im Wesentlichen aus Multiplexern und Steuerregistern. Für den Eingabeabschnitt werden die Pins an den Eingang eines bestimmten Peripherieblocks gemultiplext. Im Ausgabebereich erfolgt die Übertragung der verschiedenen Peripherieausgänge zu den Pins der MCU. Die Steuerregister des Moduls zur peripheren Pinauswahl bilden anschließend die verschiedenen Peripheriefunktionen und Pins ab.

Bei unterschiedlichen 8-Bit-Mikrocontroller-Familien unterscheidet sich unter Umständen die Implementierung der PPS-Module. Einige Familien bieten eine volle PPS-Funktionalität, bei der alle veränderbaren Peripherie-I/O-Funktionen auf jeden I/O-Pin der MCU zuweisbar sind (Remapping). Andere Mikrocontroller lassen die Abbildung von veränderbaren Peripheriefunktionen nur auf eine begrenzte Anzahl von Pins zu.

Auswahl von Eingang und Ausgang

Eckdaten

Die 8-Bit-Mikrocontroller der PIC16- und PIC18-Serie von Microchip verfügen über ein Modul zur peripheren Pinauswahl (PPS), mit dem Systementwickler auswählen können, welcher Digitaleingang oder -ausgang an welchen Pin herangeführt wird. Das PPS ermöglicht ein flexibles Mapping und ermöglicht durch Sperrmechanismen das ungewollte Verändern der Pinfunktionen. Mit dem MPLab-Code-Configurator-Plugin für die MPLab-X-Entwicklungsumgebung steht dem Nutzer eine visuelle Möglichkeit zur Verfügung, die Pin-Belegung zu modifizieren und das PPS automatisch zu konfigurieren.

Die PIC16- und PIC18-Mikrocontroller weisen unterschiedliche Namenskonventionen für ihre Steuerregister und veränderlichen Pins auf. Das periphere Input-Selection-Register im PIC16 (xxxPPS) steuert, welcher Pin an den Eingang der Peripherie angeschlossen wird. Jeder Digitaleingang ist am Anfang an einen bestimmten Pin gebunden, indem das Register mit einem 5-Bit-Feldwert vorgeladen wurde. Eine Veränderung der Verbindung zwischen Peripherie und Pin erfolgt über die Modifizierung dieses Registers.

Der PIC18-Mikrocontroller verfügt mit dem RPINRx über ein ähnliches Eingangsregister, in das zur Auswahl des Pins, der an den Eingang der Peripherie angeschlossen werden soll, ein Wert geschrieben wird. Im PIC16 steuert das Output-Source-Selection-Register (RxyPPS) die Verbindung eines Pins mit einem bestimmten Peripherieausgang. Auch dieses Register enthält standardmäßig einen 5-Bit-Feldwert, den der Entwickler zur Veränderung der Pinzuordnung modifiziert. Ähnliches gilt für den PIC18-Mikrocontroller, bei dem das Ausgangsregister die Bezeichnung RPORx trägt. Anfänglich enthält dieses Register einen Standard-Nullwert, sodass der Pin zunächst mit einem der veränderbaren Peripherieausgänge verbunden ist.

 

Auf der nächsten Seite beleuchten wir die flexiblen Mappingmöglichkeiten des PPS-Moduls und stellen den visuellen Code-Konfigurator zur Pinauswahl vor.

Seite 1 von 212