PIC-Mikrocontroller

Konfiguration und Integration der Peripherie in 8-Bit-MCUs

| Autor / Redakteur: Mark Pallones * / Sebastian Gerstl

PIC-Mikrocontroller: Dank integrierter Peripheriefunktionen lässt sich selbst mit 8-Bit-MCUs ein effizientes, leistungsstarkes und gleichzeitig kostengünstiges System entwickeln - solange die Konfiguration stimmt.
PIC-Mikrocontroller: Dank integrierter Peripheriefunktionen lässt sich selbst mit 8-Bit-MCUs ein effizientes, leistungsstarkes und gleichzeitig kostengünstiges System entwickeln - solange die Konfiguration stimmt. (Bild: Microchip)

Mit der richtigen, schrittweisen Konfiguration und Zusammenführung aller Funktionen holen Sie das Beste selbst aus Mikrocontrollern (MCUs) der Mittelklasse heraus.

Um maximale Leistungsfähigkeit aus modernen Mikrocontrollern (MCUs) zu gewinnen, muss gewährleistet sein, dass die integrierte Peripherie richtig konfiguriert ist. Manchmal erfordert dies eine schrittweise Konfiguration, bevor alle Funktionen zusammengefügt werden können.

Dies ist gerade dann von Bedeutung, wenn die MCU aufgrund ihrer anwendungsbezogenen Peripherie ausgewählt wurde. Bei mangelnder Sorgfalt kann es vorkommen, dass die Peripherie nicht die gewünschten Funktionen ausführt.

Die 8-Bit-Mikrocontroller der PIC16F7X- und PIC16C7X-Serien von Microchip dienen als Beispiel für Anwendungen im mittleren Leistungsbereich. Der PIC16F7X ist eine Flash-Variante; der PIC16C7X eine OTP-Variante (One-Time-Programmable). Zur Peripherie in beiden MCUs zählen ein A/D-Wandler (ADC), Timer, eine Capture-Compare PWM (CCP) und der universelle synchron-asynchron Receiver Transmitter (USART).

Korrekter Einsatz des ADC-Moduls

Bild 1: Blockdiagramm des integrierten A/D-Wandlers
Bild 1: Blockdiagramm des integrierten A/D-Wandlers (Bild: Microchip)

Das ADC-Modul wandelt analoge Eingangssignale in entsprechende 8-Bit-Digitalsignale um. Der Ausgang des internen Abtast- und Halteglieds ist der Eingang des Wandlers, der das Ergebnis über sukzessive Approximation ermittelt.

Die Analog-Referenzspannung ist über Software einstellbar – entweder auf die positive Versorgungsspannung des Bausteins (VDD) oder auf den Spannungspegel am Vref-Anschluss. Der ADC arbeitet auch, wenn sich die MCU im Sleep-Modus befindet. Das Blockdiagramm des Schaltkreises ist in Bild 1 dargestellt.

Das Modul verfügt über drei Register: zwei Steuerregister ADcon0 und ADcon1 sowie ein Ergebnisregister ADres. ADcon0 steuert den Betrieb des ADC-Moduls und wählt die Wandlungstaktfrequenz sowie den Analogkanal aus. Hier werden der Beginn und das Ende der Wandlung festgelegt. ADcon1 konfiguriert die Funktionen der Port-Pins. Die MCUs verfügen entweder über fünf oder acht I/O-Pins, die sich als Analogeingänge konfigurieren lassen.

Nach Konfiguration von ADcon0 und ADcon1 wird das Go/Done-Bit in ADcon0 auf 1 gesetzt, um die Wandlung zu starten. Es erfolgt eine Überwachung, wann die Wandlung beendet ist. Anschließend wird das Ergebnis in das Register ADres geladen, das Go/Done-Bit wird gelöscht und das A/D Interrupt Flag Bit (ADif) wird gesetzt.

Beispiel-Code liest das Register ADres und leitet es an die USART- und CCP-Module weiter. Das Schalten zwischen zwei analogen Eingangskanälen erfolgt über die Änderung des CHS2:CHS0-Bitwertes im Register ADcon0. Bild 1 zeigt nur AN1 und AN0, aber jeder der analogen Eingangskanäle lässt sich über CHS2:CHS0 auswählen.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43810605 / Embedded Systeme)