Arrow Electronic Components Online

PIC-Mikrocontroller-Programmierung: Die Grundlagen für jeden Designer

Mikrocontroller12 Feb. 2024
Eine Nahaufnahme einer Leiterplatte mit einem Mikrocontrollersockel, während eine Hand mit einem kleinen Schraubendreher elektronische Bauteile justiert oder daran arbeitet.
Alle Artikel anzeigen

Microchip Technology’s PIC®-Reihe von Mikrocontrollern ist bei Entwicklungsingenieuren aus mehreren Gründen beliebt, einschließlich Preis, Leistung und umfassender Designunterstützung. Es gibt auch eine umfangreiche Auswahl an PIC-Mikrocontrollern (MCUs), die sorgfältig entwickelt wurden, um die Anforderungen vielfältiger Anwendungen zu erfüllen.   Der Einstieg in die Arbeit mit PICs ähnelt dem Einstieg in nahezu jede MCU: Auf der grundlegendsten Ebene muss der Entwickler die Logik, die in der Hardware auf der MCU implementiert wird, im Detail kennen. Viele Designs stoßen auf Probleme, weil der Entwickler die Logik nicht vollständig durchdacht hat.   Zusätzlich zum Aufbau einer soliden Grundlage der Schaltungslogik liefert ein detailliertes Wissen über die Anwendung Antworten auf kritische Fragen wie die Anzahl benötigter Eingänge und Ausgänge, Leistungsstufe, Kosten- und Entwicklungszeitbudgets, die eingehalten werden müssen.   Es gibt auch wichtige Fragen, die über das einfache elektronische Design hinausgehen und von der MCU behandelt werden müssen: Wo wird das Gerät auf Systemebene eingesetzt (Umgebungsbedingungen und geografischer Standort)? An welche Industriestandards muss es sich halten und mit welchen anderen Produkten muss es interoperieren? Welche Industrie- und Regierungsauflagen in Bezug auf Gesundheits-, Sicherheits- und Umweltanforderungen müssen erfüllt werden?   Abbildung 1 zeigt ein Blockdiagramm von Microchip Technology’s PIC16F84 mit I/O und einigen Peripheriegeräten. Dieses Modell wurde in den frühen 1990er Jahren eingeführt und erfüllt grundlegende Funktionen. Heutige 8-Bit-MCUs integrieren typischerweise mehrere Peripheriegeräte, was die Softwarekomplexität für den Anwendungsentwickler erhöht.

Block diagram of Microchip Technology PIC16F84 with I O and some peripherals

Abbildung 1. Der PIC16F84 gehört zu den frühesten Mikrocontrollern, die einen seriellen Programmieralgorithmus und EEPROM-Speicher bieten. Quelle: Microchip Technology Inc.

PIC-Mikrocontroller-Hardware-Grundlagen

Um einen PIC-Mikrocontroller zu programmieren, müssen Sie die grundlegenden Bausteine des jeweiligen Geräts kennen, wie beispielsweise Konfigurationsregister, Busse und Speicherarten. Das Verständnis der Programmiersprache von PIC ist sehr nützlich – wenn nicht sogar unerlässlich. Die Auswahl der richtigen Software-Entwicklungstools erleichtert und beschleunigt zudem den Einstieg.   Die zugrunde liegende Speicherarchitektur vieler PICs ist die Harvard-Architektur, die erstmals in großem Umfang im 8051-MCU von Intel eingesetzt wurde. Diese Architektur verfügt über einen Speicherbereich zur Speicherung von Programmkommandos und einen weiteren Bereich für Daten. Die Trennung der Speicherbereiche – die sich auf einem On-Chip-Flash-Speicher, ROM, RAM oder einem externen Chip befinden können – führt in der Regel zu einer schnelleren Programmausführung. (Der Begriff „Harvard-Architektur“ wird häufig lose verwendet. Viele MCUs, die als „Harvard“ bezeichnet werden, wurden durch die Kombination der Harvard- und von-Neumann-Speicherarchitekturen modifiziert.)   Bevor wir weiter ins Detail gehen, müssen wir uns recht genau auf den PIC-MCU festlegen, der für das Design ausgewählt wird. Ein 8-Bit-PIC ist eine gute Wahl, da sie im Allgemeinen kostengünstiger sind als 16- und 32-Bit-MCUs, über eine ausreichende Anzahl an Peripheriekomponenten (wie A/D-Wandler) verfügen und eine gute Leistung bieten.   Microchip bietet mehrere 8-Bit-PIC-Familien an. Die PIC10F- und PIC12F-Serien sind die günstigsten, verfügen jedoch über weniger Speicher, eine geringere Anzahl an Pins und weniger Peripheriekomponenten. Die Wahl des kostengünstigsten PIC-Chips birgt das Risiko, mitten im Design festzustellen, dass der MCU den Anforderungen der Anwendung nicht vollständig gerecht wird. Die PIC18F-Serie befindet sich am anderen Ende des Leistungsspektrums der 8-Bit-Produkte von Microchip. Sie ist anspruchsvoller, bietet hoch spezialisierte On-Chip-Peripherie und ist auch die teuerste Familie. Für ein erstes Design wäre die PIC18F-Serie wahrscheinlich überdimensioniert.

Entwickeln mit PIC-Mikrocontrollern

Um einen PIC-Mikrocontroller (oder ein beliebiges MCU) zu programmieren, werden typischerweise die folgenden Software-Tools benötigt:

  • Eine IDE (Integrated Development Environment), die die symbolische Logik, die für die Anwendung geschrieben wurde, in Programmkommandos umwandelt
  • Ein Compiler, der das Programm in die MCU-Assemblersprache konvertiert, die Designingenieuren üblicherweise als HEX-Dateien bekannt ist
  • Ein IPE (Integrated Programming Environment), das letztendlich verwendet wird, um die Hex-Datei nach einigen Programmoptimierungen auf den PIC zu übertragen
  • Ein In-Circuit-Debugger/Programmierer

Die Software-Entwicklungstools von Microchip sind für ihre Leistung und Benutzerfreundlichkeit hoch geschätzt. Die MPLAB®X IDE, MPLAB®XC Compiler und MPLAB® IPE des Unternehmens entlasten Designer von der Notwendigkeit, Drittanbieter-Tools zu vergleichen und zu kaufen. Die grundlegenden Tools von Microchip werden kostenlos bereitgestellt. Eine Übersicht über alle Microchip-Entwicklungstools kann hier abgerufen werden.
 
Abbildung 2 zeigt die Microchip-Produkte, die in fünf Kategorien der MPLABX Integrated Development Environment (IDE) des Unternehmens verfügbar sind.

Microchip products available in five categories of the company

Abbildung 2. Die MPLAB X IDE deckt eine breite Palette von zugehörigen MCU-Programmierfunktionen ab. Quelle: Microchip Technology Inc.

Für Erstanwender der 8-Bit-PICs hat Microchip den Einstieg noch einfacher gemacht, indem es MPLAB® Xpress eingeführt hat, eine cloudbasierte IDE, die den Aufwand für das Herunterladen, Installieren, Konfigurieren und regelmäßige Aktualisieren der Tools eliminiert. MPLAB Xpress enthält den MPLAB Code Configurator, der Benutzern ermöglicht, mithilfe einer grafischen Benutzeroberfläche und einer Pin-Zuordnung automatisch Initialisierungs- und Anwendungs-C-Code für 8-Bit- (und 16-Bit-) PIC-MCUs zu generieren.   Wie bei jedem MCU besteht der erste Schritt darin, die Konfigurationsregister einzurichten. Die in diese Register programmierten Bits legen grundlegende Gerätefunktionen fest, wie etwa den Oszillatormodus, den Watchdog-Timer, den Programmiermodus und den Schutz des Codes. Diese Bits müssen korrekt gesetzt werden, damit der Code erfolgreich ausgeführt werden kann.   Sobald die Konfigurationsbits gesetzt sind, hängt der weitere Programmierungsprozess von der jeweiligen Anwendung ab. Und sobald der Code erstellt ist, bestehen die nächsten Schritte darin, die logikbasierte Entität in die reale Welt der Bits zu überführen.   Die Integrated Programming Environment (IPE) spielt eine Rolle bei verschiedenen Funktionen, einschließlich der Übertragung des auf Ihrem PC oder Arbeitsplatz erstellten Programms in die MCU. Wie bereits erwähnt, kombiniert Microchips Umgebung diese Funktionen, aber drei wichtige Konzepte sind Simulation, Debugging und Programmierung des PIC. Eine vollständige Beschreibung der Software-Tools und ihrer Verwendung liegt außerhalb des Umfangs dieses Artikels.   Der PICkit™ 3 In-Circuit Debugger/Programmer ist jedoch erwähnenswert, da es sich um zusätzliche Hardware handelt und somit konzeptionell einen Schritt über die Softwarekonfiguration der anderen Tools hinausgeht. Er wird verwendet, nachdem das Anwendungsprogramm auf die MCU übertragen wurde. PICkit 3 wird von einem PC gesteuert, auf dem die MPLABX IDE-Software läuft, und ist ein integraler Bestandteil des Toolkits.   Die Legende in Abbildung 3 zeigt die primären Verbindungen zwischen der programmierten oder debugged MCU und dem PC, der die MPLABX IDE von Microchip Technology ausführt.

Legend showing the primary connections between the MCU

Abbildung 3. Microchip’s PICkit 3 bietet die Hardware zur Fehlersuche und/oder Programmierung einer Vielzahl von MCUs. Quelle: Microchip Technology.

Vorteile von PIC-Mikrocontrollern

Der Einstieg in ein PIC-MCU erfordert ein gründliches Verständnis der Anwendung, der grundlegenden Hardwarearchitektur des zu verwendenden PIC und der Software-Toolchain. Microchip hat den tatsächlichen Designprozess sowohl für Ingenieure, die mit anderen MCUs vertraut sind, als auch für echte Anfänger sehr zugänglich gemacht. Kostenlose Softwaretools machen die Einrichtungskosten überschaubar, und es gibt eine Fülle von Code und Ratschlägen sowohl innerhalb des Design-Ökosystems von Microchip als auch allgemein im Web. Alles, was der angehende PIC-Designer benötigt, ist der Wunsch, anzufangen, und die Ausdauer, das Projekt bis zum Abschluss durchzuziehen.

Artikel tags

Microchip Technology
Unterhaltungselektronik
Autonome Maschinen
Automotive
Internet der Dinge (IoT)
Eingebettete Programmierung

Verwandte Inhalte