Wie man das Blockdiagramm der Mikrocontroller-Architektur versteht

Ich habe angefangen, den pic18f4550-Controller zu lernen. Ich finde es schwierig, das Blockdiagramm der Architektur zu verstehen. Ich kann nicht verstehen, wie Peripherie, CPU-Kern (zB ALU), Datenbus, Programmbus miteinander verbunden sind. Ich habe viel gegoogelt, aber nicht verstanden. pic18f4550 BlockdiagrammGeben Sie hier die Bildbeschreibung ein

Link: http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf Seitenzahl: 13

Was meinst du mit "wie"? Sie sind auf einem gemeinsam genutzten Datenbus angeordnet, wobei ein Adressbus (nicht gezeigt) auswählt, welcher auf den Bus schreiben darf.
Ich habe den Datenfluss nicht verstanden

Antworten (1)

Wenn ich ein Anfänger wäre, der versucht zu verstehen, wie ein Mikrocontroller funktioniert, würde ich wirklich nicht mit etwas so Kompliziertem anfangen. Zunächst einmal ist das Blockdiagramm kein Schaltplan . Es zeigt nicht, wie ein Teil mit einem anderen verdrahtet ist, sondern identifiziert Untersystemblöcke innerhalb des Chips und wie Daten zwischen ihnen fließen.

Betrachten Sie die internen Funktionsblöcke eines stark vereinfachten (Minimal-)Systems.

Geben Sie hier die Bildbeschreibung ein

Das Herzstück des Mikrocontrollers ist ein Kern (Central Processing Unit) – („Anweisung/Decodierung/Steuerung“, „State Machine Control Signal “). Er funktioniert, indem er Anforderungen interpretiert und eine Abfolge von Operationen ausführt (das eigentliche „Gehirn“ des Regler)

Abgesehen von der Stromversorgung (die in diesen Blockdiagrammen nicht gezeigt wird) gibt es drei Verbindungssätze (Busleitungen) zwischen den verschiedenen Teilen:

Adresszeilen

Datenleitungen

Steuerleitungen (lesen, schreiben, freigeben etc. zu Latches, Decodern, Multiplexern etc.)

Diese werden auf dem Diagramm in der Frage als graue dicke Linien mit Pfeilspitzen angezeigt, die die Richtung anzeigen. Die Breite dieser Verbindungen (wie viele separate "Drähte") kann variieren. Einige sind 16 Bit breit, andere 8 Bit usw.

Betrachten Sie, wie ein PIC-Controller ein Programm ausführt.

Das Programm muss zunächst im Programmspeicher (Flash-RAM) abgelegt werden. Beginnend bei Adresse 0004. (Im Falle des PIC verwendet er die ersten Adressen für Interrupts) Beim 'Einschalten' setzt die CPU den Adresszähler auf 0004 und 'liest' den Inhalt des Programmspeichers. Es entscheidet dann, ob es sich um eine ausführbare Anweisung handelt und ob es sich um ein Einzel- oder Mehrfachbyte handelt. Nehmen wir an, dies ist eine einzelne Anweisung.

Das CLOCK-Signal wird verwendet, um die CPU zum nächsten Schritt zu bewegen. Die CPU führt dann die Anweisung aus. (sagen Sie das Interrupt-Bit löschen)

Dazu muss die CPU das Merkerregister adressieren und eine Schreiboperation durchführen.

Sobald die erste Programmanweisung durchgeführt wurde. Die CPU inkrementiert den Adresszähler beim nächsten Taktimpuls und liest den Inhalt des Programmspeichers und so weiter und so weiter.

Für Eingabe- und Ausgabebefehle wird der CPU (im Programmspeicher) mitgeteilt, dass sie Daten an den PORT (der eine Adresse hat) senden oder abrufen soll.

Manchmal müssen arithmetische/logische Operationen ausgeführt werden, sodass eine vorübergehende Speicherung erforderlich ist. Hier kommen die Register ins Spiel.

In ähnlicher Weise muss es einen extern erzeugten Interrupt behandeln, sodass es einen Interrupt-Behandlungsblock gibt. Es stellt sicher, dass die CPU nicht mitten in einer Operation unterbrochen wird, sondern auf den nächsten Punkt (Abrufbefehl) im Programm wartet. (Die CPU merkt sich, wo sie sich im Programm befindet, indem sie die Programmadresse und verschiedene Register im „Stack“-Speicher speichert).

Der von Ihnen gewählte PIC-Chip enthält viele andere Blöcke wie einen 8 * 8-Multiplikator, Timer usw. Sie haben jeweils eine Adresse, Steuerleitungen und Daten, die mit ihnen verbunden sind. Einige erfordern eine Initialisierung durch die CPU und arbeiten dann aus eigener Kraft (z. B. Timer). Einige speichern Daten (kein Programmspeicher). Einige kommunizieren (UART, USB). Beachten Sie, dass die internen Adress-, Steuer- und Datenleitungen nicht von den Pins aus zugänglich sind.

Ich hoffe, dies gibt Ihnen eine klarere Vorstellung davon, wie der Chip funktioniert und wie man die darin enthaltenen Blöcke "liest".