Bild 1: Unterschiedliche CAN-Implementationen können koexistieren und erweitern die Flexibilität des CAN-Busses.

Bild 1: Unterschiedliche CAN-Implementationen können koexistieren und erweitern die Flexibilität des CAN-Busses. (Bild: Microchip)

Das Controller-Area-Network-Protokoll (CAN) wurde Mitte der 1980er Jahre für die Automobilindustrie entwickelt und hatte eine Verringerung der Verdrahtungs-Komplexität (Gewicht, Menge und Kosten) für die Datenübertragung in zunehmend stärker vernetzten Anwendungen zum Ziel. CAN und die damit verbundenen Vorteile kommen auch in anderen Märkten wie Fabrikautomatisierung und Medizintechnik zum Einsatz, sodass heute mehr als 1 Milliarde CAN-Knoten weltweit pro Jahr ausgeliefert und demensprechend viele MCUs produziert werden.

CAN-Protokoll in 8-Bit-MCUs

Herkömmliche CAN-Datenkommunikation ist ereignisorientiert, sodass Mikrocontroller und anwendungsspezifische integrierte Schaltungen (ASICs) in Anwendungen ohne Host-Computer direkt miteinander kommunizieren können. Die Integration durch Halbleiterunternehmen hat die Kosteneffizienz und Kompatibilität von CAN zu vielen Automotive-Systemen erheblich verbessert. Seit den frühen 2000er Jahren wurde das CAN-Protokoll auch in 8-Bit-MCUs integriert. In letzter Zeit nutzt ein ursprünglich im Jahr 2015 eingeführtes 8-Bit-MCU-Design-Konzept Core-unabhängige Peripherieschaltungen (Core Independent Peripherals, CIPs) und ermöglicht damit einer neuen Familie von 8-Bit-MCUs die Lösung vieler System-Aspekte bei CAN-Anwendungen.

Neben seiner Kosteneffizienz lässt sich der Erfolg von CAN auf seine Robustheit, die zuverlässige Datenübertragung und die relativ einfache Implementation zurückführen. Es erstaunt kaum, dass 8-Bit-MCUs neben ihrer Kosteneffizienz über die gleichen Attribute verfügen. 8-Bit-MCUs und CAN bilden eine sehr gute Kombination zur Abdeckung vieler Vernetzungs-Anforderungen im Kraftfahrzeug.

Tabelle 1: CAN-Anpassungen für die unterschiedlichsten Automotive-Anforderungen seit Einführung des Protokolls.

Tabelle 1: CAN-Anpassungen für die unterschiedlichsten Automotive-Anforderungen seit Einführung des Protokolls. Microchip

Über die Jahre zeigte sich, dass CAN die Anforderungen unterschiedlichster Steuerungssysteme erfüllen kann. Im Zuge dessen, dass Automotive-Netze immer mehr unterschiedliche Attribute wie die Implementation von Zeit-Triggerung, Fehlertoleranz und Single-Wire-Kommunikation sowie CAN mit flexiblen Datenraten (CAN FD) unterstützten, wurden auch die CAN-Spezifikationen immer umfassender. Tabelle 1 zeigt viele der CAN-Variationen, die seit der ersten Einführung des Protokolls vor mehr als 30 Jahren entstanden sind.

Bild 1: Unterschiedliche CAN-Implementationen können koexistieren und erweitern die Flexibilität des CAN-Busses.

Bild 1: Unterschiedliche CAN-Implementationen können koexistieren und erweitern die Flexibilität des CAN-Busses. Microchip

Für die Vernetzung von Sensoren und Aktoren bis zu Komfortsystemen haben Kfz-Entwickler das Local-Area-Network-Protokoll (LIN) zur Kostensenkung verwendet. Allerdings erfordert LIN ein Single-Wire-Master-Slave-Netzwerk und, anders als CAN, sowohl Hard- als auch Software-Veränderungen. Die aktuellsten Automotive-Anwendungen für CAN umfassen Zugangskontrolle, Batterie-Lade- und -Managementfunktionen sowie Diagnoseeinrichtungen. Diese und weitere Kfz-Anforderungen, vor allem solche, die einen Zugriff auf Daten aus einem anderen CAN-Steuerungssystem erfordern, befördern den Einsatz von 8-Bit MCUs/CAN. Bild 1 zeigt, wie einfach sich ein bestehender CAN-Bus um einen zusätzlichen 8-Bit-MCU/CAN-Knoten erweitern lässt.

 

Wie sich grundlegende Netzwerk-Anforderungen möglichst kosteneffizient abdecken lassen erfahren Sie auf der nächsten Seite.

Kosteneffizient Netzwerk-Anforderungen abdecken

Während die Verbindung zum CAN-Bus zu den Minimalforderungen eines Systementwicklers zählt, vereinfachen zusätzliche Peripherieschaltungen zur Lösung anderer Systemanforderungen die Arbeit des Entwicklers. Diese Systemaufgaben könnten zum Beispiel die Erfassung eines oder mehrerer Parameter für Steuerungszwecke, die Ansteuerung eines Motors oder eines Magnetschalters oder die Bereitstellung anderer Funktionen sein. Das CIP-Konzept kann die Komplexität der Software verringern und schnellere Reaktionszeiten bei niedrigeren Taktraten ermöglichen und zugleich den Stromverbrauch senken. Zu den übergreifenden System-Kategorien für CIPs in der PIC18K83-Familie von Microchip zählen intelligente Analogfunktionen (einschließlich Sensor-Schnittstellen), Wellenform-Steuerung, Timing und Messungen, logische und mathematische Funktionen, Sicherheits- und Überwachungsfunktionen, Datenkommunikation sowie niedriger Stromverbrauch und System-Flexibilität.

Innerhalb dieser Kategorien existieren unter anderem die Peripheriefunktionen Cyclic Redundancy Check (CRC) mit Memory-Scan zur Sicherung der Integrität des nichtflüchtigen Speichers, Direct Memory Access (DMA) zur Unterstützung von Daten-Transfers zwischen Speicher und Peripherie, Windowed-Watchdog-Timer (WWDT) zur Triggerung von System-Resets, ein 12-Bit-AD-Wandler mit Berechnungsfunktionen zur Automatisierung der analogen Signalanalyse für Echtzeit-Systemreaktionen sowie ein Complementary-Waveform-Generator (CWG) zur Unterstützung hocheffizienter, synchroner Schaltvorgänge für die Motorsteuerung.

Neben seiner Unterstützung von CAN 2.0B ist der integrierte CAN-Controller vollständig rückwärts-kompatibel zu früheren CAN-Modulen (CAN 1.2 und CAN 2.0A). Zu den verfügbaren Funktionen des Produkts zählt auch Memory Access Partition (MAP), mit der Entwickler Daten schützen und Bootloader-Anwendungen unterstützen können. Die Device-Information-Area-Funktion (DIA) bietet einen dedizierten Speicherraum für werksseitig einprogrammierte Device-IDs und Peripherieschaltungs-Kalibrierungswerte.

Eck-Daten

8-Bit-Mikrocontroller mit Core-unabhängigen Peripherieelementen (CIPs) eröffnen eine Vielzahl an Möglichkeiten, CAN-Netzwerke auch in kostensensitiven Netzwerkknoten einzusetzen. Sie zeichnen sich besonders durch ihre Robustheit und einfache Programmierbarkeit aus. Integrierte Hardware-Module können repetitive Embedded-Aufgaben effizienter und mit besserem deterministischem Verhalten verarbeiten und bieten Entwicklern eine hohe Flexibilität bei Netzwerkdesign. Zusätzlich übernehmen CIPs Aufgaben im System, ohne dabei die CPU wesentlich zu belasten.

Weil Datenkommunikation der wesentliche Zweck eines CAN-Knotens ist, konnten 8-Bit MCUs die serielle Datenübertragung verbessern. Beispiele dafür sind asynchrone und LIN-Protokolle für schnellere, eigenständige, serielle I2C- und SPI-Datenschnittstellen.

Einfache Programmierbarkeit

Aktuelle 8-Bit MCUs können dank dieser auf dem Chip integrierten Strukturen deutlich anders arbeiten, als viele Entwickler bisher erwarteten, und wesentlich mehr leisten als vor mehr als einem Jahrzehnt entwickelte MCUs. Die Programmierung einer 8-Bit MCU ist einfach und problemlos, und mit CAN-Plus-CIPs sogar noch einfacher. Wenn sie vor allem für entfernte Knoten genug Rechenleistung bieten, dann können diese 8 Bit-MCUs eine Alternative zu den teureren und schwieriger zu programmierenden 16-Bit-MCUs sein. CIPs verringern den MCU-Rechenleistungsbedarf und ermöglichen mehr 8-Bit-MCU-Optionen.

Die umfassend konfigurierbaren, auf dem Chip integrierten Hardwaremodule können repetitive Embedded-Aufgaben effizienter und mit besserem deterministischem Verhalten verarbeiten. Dank des deterministischen CAN-Protokollverhaltens kann eine CPU mit CIPs außerhalb des Kerns weiterarbeiten, wenn die MCU in einer Schleife hängenbleibt.

Bild 2: CIPs der 8-Bit-MCUs auf Systemebene könnten ein oder zwei ASICs ersetzen.

Bild 2: CIPs der 8-Bit-MCUs auf Systemebene könnten ein oder zwei ASICs ersetzen. Microchip

Die aktuellsten 8-Bit MCUs/CAN-Plus-CIPs und LIN-Funktionen bieten Netzwerkentwicklern jetzt mehr Flexibilität und Auswahlmöglichkeiten für die Implementation der CAN- und LIN-Datenkommunikation. Einige typische 8-Bit-MCU-LIN-Anwendungen sind jetzt sogar Kandidaten für den CAN-Einsatz. Muss ein Modul beispielsweise andere Daten im Netzwerk, wie etwa die Fahrzeuggeschwindigkeit berücksichtigen, dann könnte CAN eine bessere Wahl oder mindestens eine Alternative zu LIN sein. Sinnvoll wäre dies für Scheibenwischer, die ihre Geschwindigkeit abhängig von der Fahrzeuggeschwindigkeit ändern, wodurch sich ein CAN-zu-LIN-Gateway vermeiden ließe. CIPs auf Systemebene könnten zudem ein oder zwei ASICs ersetzen (Bild 2).

Die gleichen PWM- und Komplementär-Wellenform-Generator-CIPs kommen schon seit Jahren für komplexe, mehrfarbige LED-Stimmungsbeleuchtungen in Fahrzeugen zum Einsatz. Diese Treiber wurden an einen LIN-Bus angeschlossen, da die MCUs nicht über CAN verfügten. Eine Kombination dieser Funktionen in einer kosteneffizienten 8-Bit-MCU mit CAN könnte für ein Design zusätzliche Flexibilität und ein vereinfachtes, alternatives Herangehen erlauben.

 

Im Folgenden beschreibt der Beitrag, wie sich durch CIPs die Belastung der CPU deutlich senken lässt.

CPU-Belastung senken

Während sich die meisten 8-Bit MCUs auf dem Markt bei der Steuerung ihrer Peripherieschaltungs-Funktionen hauptsächlich auf den CPU-Kern verlassen, können CIPs andere Aufgaben im System übernehmen, ohne die CPU wesentlich zu belasten. Beispiele dafür sind Präzisions-Schnittstellen zu diversen Sensoren, High-Power-LED-Treiber und/oder Aufgaben der Motorsteuerung in mittlerer Komplexität.

Einige Entwicklungswerkzeuge helfen bei der Untersuchung, ob sich die eine oder andere Möglichkeit für ein bestimmtes Netzwerk eignet. Der MPLAB Code Configurator (MCC) beispielsweise ist ein kostenloses Software-Plug-in mit einer grafischen Oberfläche zur Konfigurierung von Peripherieschaltungen und Funktionen, die speziell für eine bestimmte Anwendung ausgelegt sind. Mit diesem Werkzeug können Systementwickler für die Implementierung einer bestimmten Aufgabe problemlos Hardware-gestützte Peripherieschaltungen konfigurieren, anstatt eine ganze Software-Routine schreiben und validieren zu müssen.

CAN eröffnet neue Perspektiven

Mit ihren Core-unabhängigen Peripherieelementen ermöglicht die 8-Bit-MCU/CAN-Familie von Microchip eine Ausweitung des CAN-Einsatzes in kostensensitivere Knoten im Netzwerk. Die aktuelle 8-Bit-MCU mit CAN-Funktionen und CIPs eignet sich für neu entstehende Anwendungen in Automotive-Netzen. Solche Netze benötigen eine flexible, kosteneffiziente, einfache, zuverlässige und robuste Datenübertragung – plus ein höheres Maß an Leistung und Systemunterstützung für innovative Aufgaben wie Zugangskontrolle, Laden/Verwalten von Batterien und für Diagnosegeräte.

Edwin Romero

Product Marketing Manager bei Microchip Technology

(na)

Sie möchten gerne weiterlesen?