AUTOSAR: Integration hardware-spezifischer Eigenschaften in MCUs

Der AUTOSAR-Standard beschreibt die Software-Architektur mit Hilfe eines fünfschichtigen Modells, wobei die unterste Schicht, die Mikrocontroller-Abstraktionsschicht (MCAL), die Low-Level-Treiber für den Hardware-Zugriff enthält. Bei AUTOSAR soll die MCAL-Schicht die Applikations-Software von der Hardware trennen, damit der Standard unabhängig von bestimmten Mikrocontrollern ist. Dies berücksichtigen allerdings die wenigsten Hersteller bei der Produktentwicklung neuer MCUs. Dieser Artikel zeigt an Beispielen Ideen und Methoden für die Integration hardware-spezifischer Eigenschaften in den AUTOSAR-Standard.

Der Standard AUTOSAR beschreibt die Software-Architektur mit Hilfe eines Schichtenmodells, wodurch eine klare Definition der Schnittstelle in der Architektur und eine gut definierte Abstraktionsschicht in der Hardware möglich sind. Nach der AUTOSAR-Spezifikation besteht das Modell aus fünf Schichten zuzüglich Komplex-Treiber. Die MCAL-Schicht ist die niedrigste Schicht der Basis-Software, die Low-Level-Treiber enthält für den Zugriff auf die interne Peripherie und Speicher, Kommunikationsbusse sowie I/O-Schnittstellen. Mit Hilfe der MCAL-Schicht lässt sich sicherstellen, dass der Mikrocontroller richtig arbeitet und die oberen Schichten von der Mikrocontroller-Schicht hardware-unabhängig sind. Die Schnittstelle der MCAL-Schicht zu oberen Schichten ist standardisiert. Das Ziel von AUTOSAR ist es, die Applikations-Software von der Hardware zu trennen. Als Standard sollte AUTOSAR daher möglichst generisch und unabhängig von bestimmten Mikrocontrollern sein. Allerdings berücksichtigen dies die meisten Hersteller nicht bei der Produktentwicklung und fügen neuen MCUs Eigenschaften hinzu, die der AUTOSAR-Standard nicht berücksichtigt.

Ein A/D-Wandler (ADC) verfügt beispielsweise in vielen Mikrocontrollern über unterschiedliche Methoden, um die analogen Signale abzutasten. Dabei stellen „Scan-Request- Source“ und „Sequential-Request- Source“ die beiden meist genutzten Methoden dar, jedoch unterstützt die aktuelle AUTOSAR-ADC-Spezifikation nur die „Scan-Request-Source“- Methode, bei der der ADC die analogen Signale mit einer festen Wandlungsfolge für die aktivierten Kanäle umwandelt. In zeitkritischen Applikationen ist aber eine Wandlung mit variabler Folge gefordert, wodurch für solche Applikationen die „Sequential-Request-Source“-Methode zum Einsatz kommen sollte.

Ein anderes Beispiel ist anhand der Eigenschaften des CAN-Moduls ersichtlich, bei dem die zwei Funktionen Objekt-FIFO und Gateway für eine Vielzahl von Applikationen nützlich sind, aber auch nicht durch die aktuelle AUTOSAR-Spezifikation unterstützt werden. Für alle Mikrocontroller-Hersteller und Automobilzulieferer ist es daher von grundlegender Bedeutung, wie der AUTOSAR-Standard die hardware-spezifischen Eigenschaften unterstützen kann. In diesem Artikel sind am Beispiel des XC2000-Mikrocontrollers von Infineon Technology einige Ideen und Methoden für die Integration hardware-spezifischer Eigenschaften in den AUTOSAR-Standard aufgeführt. Allerdings lassen sich die vorgestellten Beispiele ebenso für andere Mikrocontroller verwenden.

Die Hardware-Eigenschaften des XC2000

Der XC2000 (Bild 1) ist ein Mitglied der 16-bit-MCU-Familie von Infineon, der seit seiner Einführung in zahlreichen Applikationen in den Kfz-Bereichen Body, Safety und Powertrain zum Einsatz kommt. Der Baustein ist mit einem leistungsfähigen CPU-Kern, zahlreichen peripheren Subsystemen und mehreren Speicher-Einheiten bestückt. Die im Core integrierte Spannungsversorgung reduziert dabei die Systemanforderungen zur externen Spannungsversorgung. Die Peripherie des XC2000 verfügt über viele hardware-spezifische Eigenschaften wie serielle Kommunikationsmodule (USIC-Module). In Abhängigkeit von den konkreten Anforderungen lässt sich das USIC-Modul als ASC-, SPI-, LIN-, IIC- oder IIS-Modul konfigurieren. Allerdings unterstützt die aktuelle AUTOSAR-Spezifikation nicht die hardware-spezifischen Eigenschaften des USIC-Moduls – auch nicht folgende Funktionen des ADC-Moduls im XC2000:

 

  • Multiplexer-Test-Modul (Kanal 7 lässt sich mit Hilfe eines externen Kontroll-Bit mit der Masse verbinden).
  • Alias-Funktion.
  • Sequential-Request-Sources.
  • Grenzwertüberprüfung für konvertierte Werte.
  • Nutzung eines externen analogen Multiplexers.
  • Gating-Funktion für externe Trigger-Ereignisse.
  • Die-Temperatur-/Spannungsmessung.
  • Warteschlange.
  • Automatische Umschaltung der internen MUX (GRPS).
  • Trigger-Quelle-Priorität.
  • Abbrechen, Injektion, Wiederholen

 

Ein anderes Beispiel ist das CAN-Modul des XC2000, das über viele hardware-spezifische Funktionen verfügt, die ebenfalls nicht durch AUTOSAR unterstützt werden:

 

  • CAN-Fehlerbehandlung außerhalb der Bus-Off-Anzeige.
  • CAN-Analyse: Analyse-Modus, Bit-Timing-Analyse.
  • Einmalige Übertragungsprobe (Übertragung der Nachrichtenobjekte wird nicht wieder versucht, wenn sie aufgrund eines Busfehlers fehlgeschlagen ist).
  • FIFO-Struktur-Nachrichtenobjekte.
  • Gateway-Modus.
  • Foreign-Remote-Anfragen.