Mikrocontroller PIC16 mit FPGA-Funktionalität
18. Juli 2024
über
über
Eine neue Familie der Systeme von Microchip mit konfigurierbaren Logikblöcken
Mikrocontroller der neuen Familie PIC16F131xx von Microchip sind eine Antwort auf die Evolution und stetig fortschreitende Miniaturisierung elektronischer Geräte. Ihre Funktionalität ermöglicht Ihnen ein sparsames Energiemanagement und den Bau von Steuerungen mit vorhersehbaren Reaktionszeiten.
Eine der wichtigsten Anforderungen an Designer moderner eingebetteter Systeme (d.h.embedded) besteht darin, ein zeitlich vorhersagbares Verhalten der Schaltung zu erhalten. In der Praxis läuft dies darauf hinaus, die Reaktionszeit auf Änderungen in den verwalteten Prozessen zu verkürzen, d.h. es geht um sofortige Reaktion auf Eingabedaten von Sensoren, Kommunikationsanschlüssen oder Benutzeroberflächen. Dieser Effekt kann durch eine Erhöhung der Rechenleistung der Systeme erreicht werden, ist jedoch eine suboptimale Methode, da dadurch große Energiemengen verschwendet werden. Um die Softwareverarbeitung grundlegender Prozesse zu vermeiden, verwendet Microchip kernunabhängige Peripheriegeräte in seinen Mikrocontrollern (Core Independent Peripherals) Das Neue an dieser Technologie ist ein programmierbares Logikgattersystem (Configurable Logic Block), das in die neue Familie der 8-Bit-Mikrocontroller des Herstellers – die Systeme PIC16F131xx – integriert wurde.
Zusammenfassend, erhält der Designer eine vollständig konfigurierbare FPGA-ähnliche Struktur, die in einem modernen 8-Bit-Mikrocontroller implementiert ist. Für die Speicherung der Einstellungen stehen 102 Byte interner Speicher zur Verfügung. Es bleibt also die Frage: Wie erfolgt die Konfiguration?
Zunächst wird der CLB-Konfigurationsprozess mithilfe einer speziellen Software namens CLB Synthetizer durchgeführt, die auf einer grafischen Oberfläche basiert. Seine Verwendung kommt der Erstellung eines Blockdiagramms gleich, wodurch das Programm auch für Personen lesbar bleibt, die mit der vollständigen Funktionalität der Umgebung nicht vertraut sind.
Das Programm ist in Form eines Plugins für die proprietäre IDE von Microchip, d. h. MPLAB® X, verfügbar. Man kann das Tool auch in einem normalen Browser verwenden, da es als Webanwendung verfügbar ist. Das Ergebnis der Arbeit im CLB Synthetizer ist eine Konfigurationsdatei, die dann in das Projekt importiert werden muss, oder eine Quelldatei in der Sprache VERILOG (Erweiterung .clb).
Das Schema wird erstellt, indem symbolische Blöcke gezogen und miteinander sowie mit vordefinierten Ein-/Ausgabeleitungen verbunden werden. Die Arbeit in MPLAB® kann in sieben Schritten beschrieben werden:
Das Modell EV06M52A ist ein Entwicklungskit, das mit einem Mikrocontroller PIC16F13145 ausgestattet ist. Die Schaltung umfasst einen USB-C-Anschluss zur Stromversorgung und Programmierung. Die dem Mikrocontroller zugeführte Spannung kommt vom Stabilisator LDO MIC5353. Optional kann ein Quarzresonator für die RTC-Uhr (32,768 kHz) in die Schaltung eingefügt werden. Der Stromversorgungs- und Programmierstatus wird durch eine grüne LED angezeigt. Eine weitere, gelbe LED ist an einen der Ausgänge des Mikrocontrollers angeschlossen und kann vom Mikrocontroller angesteuert werden. Es gibt auch eine Taste auf der Platine.
Die oben genannten Produkte verfügen über einen universellen Pin-Anschluss (weiblich) zur Montage der Platine Curiosity Nano. Im Fall von AC164162 ist die Schaltung mit mehreren interessanten Elementen ausgestattet, wie zum Beispiel 3 Anschlüssen, die mit dem Standard mikroBUS™ kompatibel sind, der in Click-Modulen von Mikroe verwendet wird. Es ist hier erwähnenswert, dass im Katalog von TME über tausend verschiedene Modelle solcher Platinen erhältlich sind. Auf der Platine befindet sich außerdem ein Anschluss der Erweiterungen Xplained Pro. Darüber hinaus kann das Ganze mit Batterien betrieben werden, denn der Adapter verfügt über ein integriertes Lade- und Power-Management-System, das mit Lithium-Ionen- und Lithium-Polymer-Zellen kompatibel ist.
Der Text wurde von Transfer Multisort Elektronik Sp. z o.o. verfasst.
https://www.tme.eu/de/news/about-product/page/60236/mikrocontroller-pic16-mit-fpga-funktionalitaet/
Mikrocontroller der neuen Familie PIC16F131xx von Microchip sind eine Antwort auf die Evolution und stetig fortschreitende Miniaturisierung elektronischer Geräte. Ihre Funktionalität ermöglicht Ihnen ein sparsames Energiemanagement und den Bau von Steuerungen mit vorhersehbaren Reaktionszeiten.
Eine der wichtigsten Anforderungen an Designer moderner eingebetteter Systeme (d.h.embedded) besteht darin, ein zeitlich vorhersagbares Verhalten der Schaltung zu erhalten. In der Praxis läuft dies darauf hinaus, die Reaktionszeit auf Änderungen in den verwalteten Prozessen zu verkürzen, d.h. es geht um sofortige Reaktion auf Eingabedaten von Sensoren, Kommunikationsanschlüssen oder Benutzeroberflächen. Dieser Effekt kann durch eine Erhöhung der Rechenleistung der Systeme erreicht werden, ist jedoch eine suboptimale Methode, da dadurch große Energiemengen verschwendet werden. Um die Softwareverarbeitung grundlegender Prozesse zu vermeiden, verwendet Microchip kernunabhängige Peripheriegeräte in seinen Mikrocontrollern (Core Independent Peripherals) Das Neue an dieser Technologie ist ein programmierbares Logikgattersystem (Configurable Logic Block), das in die neue Familie der 8-Bit-Mikrocontroller des Herstellers – die Systeme PIC16F131xx – integriert wurde.
Parameter und Peripheriegeräte
Im folgenden Teil des Tests geht es um CIP- und CLB-Lösungen und wie sie es ermöglichen, die Rechenleistung der Systeme für das Anwendungsmanagement beizubehalten, während sie einfachere Aufgaben (Bedienung von Tasten und einigen Anzeigen, Konvertierung der von Wandlern empfangenen Werte). Zunächst lohnt sich jedoch ein Blick auf die Spezifikation und Struktur der Mikrocontroller PIC16F131xx.
Die besprochenen Systeme basieren auf der klassischen 8-Bit-Harvard-Architektur. Sie sind in den Formaten für die Durchsteckmontage (THT) und Oberflächenmontage (SMD) und in den Gehäusen DIP, DFN, SSOP, TSSOP, SOIC und VQFN erhältlich – mit 6, 12 oder 18 E/A-Pins. Ein großer Vorteil der Systeme ist ein großer Bereich akzeptabler Versorgungsspannungen: von 1,8 V bis 5,5 V DC. Die Uhr wird mit einem Signal mit einer Frequenz von32 MHz getaktet und die minimale Befehlsausführungszeit beträgt 125 ns. Die Systeme umfassen von 256 B bis 1024 B SRAM und bis zu 14 kB Programmspeicher (FLASH).
Entwicklern steht eine große Auswahl an Hardware-Peripheriegeräten zur Verfügung, wie z.B. PWM-Signalgeneratoren, 8- und 16-Bit-Zähler/Timer, Controller des seriellen Busses EUSART, MSSP-Port (Host
Synchronous Serial Port), der im I2 C- oder SPI-Schnittstellenmodus betrieben werden kann, konfigurierbare Komparatoren mit verkürzter Reaktionszeit (50 ns), 8-Bit-Digital-Analog-Wandler (DAC) und 10-Bit-Analog/Digital-Wandler mit der Möglichkeit der Berechnung (ADCC), d. h. Hardware-Verarbeitung der heruntergeladenen Werte. An dieser Stelle sollten Sie auf die in den vorgestellten Systemen enthaltene CIP-Peripherie achten.
Die besprochenen Systeme basieren auf der klassischen 8-Bit-Harvard-Architektur. Sie sind in den Formaten für die Durchsteckmontage (THT) und Oberflächenmontage (SMD) und in den Gehäusen DIP, DFN, SSOP, TSSOP, SOIC und VQFN erhältlich – mit 6, 12 oder 18 E/A-Pins. Ein großer Vorteil der Systeme ist ein großer Bereich akzeptabler Versorgungsspannungen: von 1,8 V bis 5,5 V DC. Die Uhr wird mit einem Signal mit einer Frequenz von32 MHz getaktet und die minimale Befehlsausführungszeit beträgt 125 ns. Die Systeme umfassen von 256 B bis 1024 B SRAM und bis zu 14 kB Programmspeicher (FLASH).
Entwicklern steht eine große Auswahl an Hardware-Peripheriegeräten zur Verfügung, wie z.B. PWM-Signalgeneratoren, 8- und 16-Bit-Zähler/Timer, Controller des seriellen Busses EUSART, MSSP-Port (Host
Synchronous Serial Port), der im I2 C- oder SPI-Schnittstellenmodus betrieben werden kann, konfigurierbare Komparatoren mit verkürzter Reaktionszeit (50 ns), 8-Bit-Digital-Analog-Wandler (DAC) und 10-Bit-Analog/Digital-Wandler mit der Möglichkeit der Berechnung (ADCC), d. h. Hardware-Verarbeitung der heruntergeladenen Werte. An dieser Stelle sollten Sie auf die in den vorgestellten Systemen enthaltene CIP-Peripherie achten.
Core Independent Peripherals
Peripheriegeräte, die unabhängig vom Kern arbeiten, d.h. CIP (eng. Core Indpendent Peripherals) sind seit langem in Microchip-Produkten enthalten, sowohl in der Familie PIC® als auch in der AVR®. Sie ermöglichen es, bestimmte Aufgaben (z. B. Kommunikation mit Sensoren) im Hintergrund auszuführen, ohne die Rechenleistung des Prozessors zu nutzen, die vollständig für die Ausführung des Hauptprogramms zur Verfügung steht, was zu einem reduzierten Energieverbrauch und einer Vereinfachung des Programms selbst führt. Dedizierte Peripheriegeräte können für die Datenübertragung (I2C, CAN, USB), die Zeitmessung (Timer), die Erzeugung von PWM-Signalen oder die Arbeit mit analogen Signalen (ADC, OP-AMP, DAC) verwendet werden.CLB-Peripherie
Die wichtigste Innovation der Mikrocontroller PIC16F131xx ist die Einbeziehung unabhängiger, konfigurierbarer Logikelemente in ihre Struktur (aufgrund ihrer Funktionsweise wird dieses System als CIP-Peripheriegerät klassifiziert). Diese Technologie wird als CLB vom Ausdruck Configurable Logic Block bezeichnet. Ihr Ziel ist es, funktionale Sicherheit und sofortige Reaktionszeit zu gewährleisten. CLB basiert auf den von FPGA-Systemen bekannten Strukturen, bietet also die möglich kürzeste Eingangssignalverarbeitungszeit. CLB arbeitet mit einfachen Logikgattern, die vom Designer frei konfiguriert werden können, um den Anforderungen einer bestimmten Anwendung gerecht zu werden. Darüber hinaus kann man die Zielgeräte miniaturisieren, indem externe Komponenten ausgeschlossen und die Leiterplattenabmessungen reduziert werden. Ein wesentlicher Vorteil von CLB ist die Möglichkeit, die Zeit, in der die Aufgaben erledigt werden, genau zu bestimmen. Denn selbst wenn es sich bei diesen Aufgaben um relativ komplexe Prozeduren handelt, werden sie immer in Hardware umgesetzt.Verfügbare Arten von Logikgattern
In den Mikrocontrollern PIC16F131xx besteht die CLB-Struktur aus diskreten Komponenten, die 32 identische Zellen bilden, von denen jede ein sogenanntes grundlegendes Logikelement (kurz BLE von eng. Basic Logic Element) darstellt. Alle werden durch die steigende Flanke des CLBCLK-Signals getaktet. Je nach Bedarf simuliert die Zelle einen logischen Schaltkreis, der in der Programmierphase festgelegt wurde. Es könnten Folgende sein:- AND-Gatter (max. 4 Eingänge);
- NAND-Gatter (2 Eingänge);
- OR-Gatter (max. 4 Eingänge);
- NOR-Gatter (2 Eingänge);
- XOR-Gatter (max. 4 Eingänge);
- XNOR-Gatter (2 Eingänge);
- Negator oder Puffer (1 Eingang und Ausgang);
- D- oder JK-Flip-Flop;
- konfigurierbare LUT (Lookup Table, bis zu 4 Eingängen).
Zusammenfassend, erhält der Designer eine vollständig konfigurierbare FPGA-ähnliche Struktur, die in einem modernen 8-Bit-Mikrocontroller implementiert ist. Für die Speicherung der Einstellungen stehen 102 Byte interner Speicher zur Verfügung. Es bleibt also die Frage: Wie erfolgt die Konfiguration?
Konfiguration und Programmierung
Die Konfiguration von FPGA-Systemen wird oft als enge Spezialisierung angesehen, die umfassende Kenntnisse erfordert. Werkzeuge für die Arbeit mit den Produkten PIC16F131xx wurden so vorbereitet, dass deren Verwendung keine größeren Schwierigkeiten bereitet. Auch unerfahrene Programmierer können in kurzer Zeit die Grundlagen erlernen und die gewünschten Ergebnisse erzielen.Zunächst wird der CLB-Konfigurationsprozess mithilfe einer speziellen Software namens CLB Synthetizer durchgeführt, die auf einer grafischen Oberfläche basiert. Seine Verwendung kommt der Erstellung eines Blockdiagramms gleich, wodurch das Programm auch für Personen lesbar bleibt, die mit der vollständigen Funktionalität der Umgebung nicht vertraut sind.
Das Programm ist in Form eines Plugins für die proprietäre IDE von Microchip, d. h. MPLAB® X, verfügbar. Man kann das Tool auch in einem normalen Browser verwenden, da es als Webanwendung verfügbar ist. Das Ergebnis der Arbeit im CLB Synthetizer ist eine Konfigurationsdatei, die dann in das Projekt importiert werden muss, oder eine Quelldatei in der Sprache VERILOG (Erweiterung .clb).
Das Schema wird erstellt, indem symbolische Blöcke gezogen und miteinander sowie mit vordefinierten Ein-/Ausgabeleitungen verbunden werden. Die Arbeit in MPLAB® kann in sieben Schritten beschrieben werden:
- Einstellen der Timing-(Takt-)Signale.
- Setzen digitaler Blöcke wie UART, I2C, TMR und andere.
- Hinzufügen analoger Peripheriegeräte wie ADCC, DAC.
- Hinzufügen eines CLB-Peripheriegeräts zum Projekt durch Erstellen eines Blockdiagramms mit den Komponenten der BLE-Zellen und Definition der Verbindungen zwischen ihnen und den Eingangssignalen.
- Durchführung der Synthese (Erstellung der Konfigurationsdatei)
- Zum Schluss soll die Funktionalität definiert und die Funktionalität der im Projekt verwendeten Ein-/Ausgänge des Mikrocontrollers zugewiesen werden.
- Abschließend wird der Melody-Code generiert.
- Unterstützung für verschiebbare Register programmierbarer LEDs WS2812;
- Hardware- Debouncing der Tastensignale;
- Kodierung/Dekodierung der Manchester-Modulation;
- Multiplexen eines 4-Bit-Werts in Signale, die eine 7-Segment-Anzeige steuern;
- Frequenzumwandlung.
Entwicklungskit Curiosity Nano
Die Plattform Curiosity Nano wurde geschaffen, um Microchip-Kunden Zugang zu Entwicklungskits zu bieten, die die Fähigkeiten der neuesten Mikrocontroller des Herstellers präsentieren. Die Platinen sind in einem praktischen Format vorbereitet: mit integriertem Debugger, Programmiergerät und Zugriff auf die Mikrocontroller-Pins. Dies macht sie zu einem hervorragenden Trainings- und Lehrmittel. Natürlich wurde auch für die Familie PIC16F131xx eine spezielle Platine Curiosity Nano entwickelt.Das Modell EV06M52A ist ein Entwicklungskit, das mit einem Mikrocontroller PIC16F13145 ausgestattet ist. Die Schaltung umfasst einen USB-C-Anschluss zur Stromversorgung und Programmierung. Die dem Mikrocontroller zugeführte Spannung kommt vom Stabilisator LDO MIC5353. Optional kann ein Quarzresonator für die RTC-Uhr (32,768 kHz) in die Schaltung eingefügt werden. Der Stromversorgungs- und Programmierstatus wird durch eine grüne LED angezeigt. Eine weitere, gelbe LED ist an einen der Ausgänge des Mikrocontrollers angeschlossen und kann vom Mikrocontroller angesteuert werden. Es gibt auch eine Taste auf der Platine.
Adapter
Die Funktionalität des Entwicklungskits kann durch die Verwendung der speziell für die Platinen Curiosity Nano entwickelten Adapter erweitert werden.Die oben genannten Produkte verfügen über einen universellen Pin-Anschluss (weiblich) zur Montage der Platine Curiosity Nano. Im Fall von AC164162 ist die Schaltung mit mehreren interessanten Elementen ausgestattet, wie zum Beispiel 3 Anschlüssen, die mit dem Standard mikroBUS™ kompatibel sind, der in Click-Modulen von Mikroe verwendet wird. Es ist hier erwähnenswert, dass im Katalog von TME über tausend verschiedene Modelle solcher Platinen erhältlich sind. Auf der Platine befindet sich außerdem ein Anschluss der Erweiterungen Xplained Pro. Darüber hinaus kann das Ganze mit Batterien betrieben werden, denn der Adapter verfügt über ein integriertes Lade- und Power-Management-System, das mit Lithium-Ionen- und Lithium-Polymer-Zellen kompatibel ist.
Der Text wurde von Transfer Multisort Elektronik Sp. z o.o. verfasst.
https://www.tme.eu/de/news/about-product/page/60236/mikrocontroller-pic16-mit-fpga-funktionalitaet/
Mehr anzeigen
Weniger anzeigen
Diskussion (0 Kommentare)