Aufmacher_MCA705 - eyecatcherA

(Bild: Microchip)

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.

Sperrmechanismen und flexibles Mapping

Bild 2: Für Anwendungen, bei denen das Ausgangssignal an verschiedene Abschnitte einer Schaltung weitergeleitet werden muss, lässt sich das COG1A-Signal auf zwei Pins nachbilden.

Bild 2: Für Anwendungen, bei denen das Ausgangssignal an verschiedene Abschnitte einer Schaltung weitergeleitet werden muss, lässt sich das COG1A-Signal auf zwei Pins nachbilden. Microchip

PPS-Register lassen sich während der Codeausführung mehrmals durch einen Freischalt- und Sperrcode-Folge verändern. Will der Entwickler das PPS jedoch nur einmal einstellen und unerwünschte Änderungen an den Registern vermeiden, muss die Sicherung im Konfigurationsregister aktiviert sein. Mit dem PPS-Modul haben Systementwickler außerdem die Möglichkeit zum flexiblen Mapping. Ein einzelner Pin kann als Eingang für verschiedene Peripherien dienen, während sich ein Peripherieausgang gleichzeitig an mehrere Pins legen lässt.

Bild 2 beschreibt, wie ein einzelnes Ereignis zwei Peripheriefunktionen auslösen kann, zum Beispiel das Herunterfahren eines PWM-Signals eines komplementären Ausgangsgenerators (COG) bei der Erfassung eines zeitgesteuerten Ereignisses. Das COG1A-Ausgangssignal lässt sich auf zwei Pins nachbilden. Diese Flexibilität eignet sich für Anwendungen, bei denen es notwendig ist, ein Ausgangssignal an verschiedene Abschnitte einer Schaltung oder eines System weiterzuleiten. Beide COG1A-Pins lassen sich auch miteinander verbinden, um den Ausgangsstrom der Peripherie zu erhöhen.

Visueller Code-Konfigurator für die Pinauswahl

Bild 3: Das Pin-Layout, wie es der MPlab-Code-Configurator erzeugt. Das Plugin dient als eine visuelle Möglichkeit, die Pin-Funktionen von PIC-MCUs einzustellen.

Bild 3: Das Pin-Layout, wie es der MPlab-Code-Configurator erzeugt. Das Plugin dient als eine visuelle Möglichkeit, die Pin-Funktionen von PIC-MCUs einzustellen. Microchip

Microchip bietet mit dem MPLab-X-IDE eine Software für die Entwicklung von Anwendungen für Mikrocontroller. Dabei handelt es sich um eine integrierte Entwicklungsumgebung (IDE) für die Codeprogrammierung für embedded MCUs. Die Software für Windows, Mac OS und Linux basiert auf der Open-Source-IDE Netbeans von Oracle. Das MPLab-Code-Configurator-Plugin (MCC) bietet eine direkte, visuelle Möglichkeit, die Pin-Funktionen auf den PIC-MCUs einzustellen. Im Beispiel in Bild 3 sind die COG1-Ausgänge und die COGIN-Abschaltung bestimmten Pins des PIC16F1716 zugeordnet.

Zur Konfiguration wählt der Anwender COG1 aus der Rubrik Device Resources, woraufhin das COG1-Modul sowie seine Ein- und Ausgangsfunktionen im Pin-Manager erscheinen. Durch Klicken auf das entsprechende Schloss-Symbol weist der Entwickler dem gewünschten Pin einen COG1-Ausgang oder COGIN-Eingang zu. Einmal ausgewählt, ist das Schloss als geschlossen dargestellt. Ein Klick auf die Schaltfläche „Generate“ startet die automatische Konfiguration des PPS-Moduls. Damit lassen sich die Pin-Layouts der Mikrocontroller auf unkomplizierte Art und Weise anpassen und verwalten.

June Anthony Asistio

Senior Applications Engineer bei Microchip Technology

(na)

Sie möchten gerne weiterlesen?