Praxisbericht

Rapid Prototyping und Model Based Design in der Sensorentwicklung

Seite: 2/2

Nach diesen Model-in-the-Loop-Tests werden die Testabdeckungsberichte auf der Modellebene untersucht, die mit Simulink Verification and Validation erstellt wurden, um nicht getestete Elemente im Modell zu identifizieren. Dabei werden die Tests nach Bedarf aktualisiert, um eine höhere Abdeckung zu erzielen.

Abbildung 2: Der Hella-Workflow mit der HFK RCP-Einheit und Model-Based Design.
Abbildung 2: Der Hella-Workflow mit der HFK RCP-Einheit und Model-Based Design.
(Bild: Hella)

Zur Vorbereitung der Tests auf der Rapid Prototyping-Plattform wird die Kommunikationsschnittstelle modelliert, die die Ausführung der Sensoralgorithmen in einem Fahrzeug ermöglicht. In Zusammenarbeit mit Beratern von MathWorks hat Hella ein LIN-Blockset (LIN: Local Interconnect Networking) für Simulink entwickelt. Dieses Blockset ermöglicht es dem Unternehmen, sein Prototyping-System in einem LIN-Netzwerk zu verwenden.

Nach einem internen Design Review des Modells wird der Entwurf als Code auf die HFK RCP-Plattform geladen (Abbildung 2). Die HFK RCP unterstützt eine breite Palette von Design-Konfigurationen mit standardisierten Komponenten. Dazu gehören ein TI C2000-Mikroprozessor, ein Xilinx-FPGA und Konnektoren für Busse und Sensoren, die in der Automobilindustrie üblich sind, sowie diskrete Elektronikkomponenten.

Bei Entwürfen für den Einsatz auf einem Mikroprozessor verwendet Hella das Werkzeug Embedded Coder, um Code aus dem Simulink-Modell zu generieren. Der Code wird auf dem TI C2000-Prozessor auf der HFK RCP-Plattform ausgeführt. Wenn für Teile des Entwurfs oder für den Gesamtentwurf ein FPGA erforderlich ist, kommt ein HDL-Coder zum Einsatz. Der damit aus dem Modell generierte VHDL-Code wird auf einem Xilinx-FPGA implementiert.

Nach erfolgreicher Machbarkeitsstudie des A-Musters auf der HFK RCP-Plattform bereitet das Team den Entwurf für die Implementierung auf dem Serienprozessor vor. Es verwendet den Fixed-Point-Advisor im Fixed-Point-Designer, um das Gleitkommamodell in einen initialen Festkommaentwurf zu konvertieren. Mit dem Fixed-Point-Advisor können die Codegröße, die benötigte Speichergröße und die Festkomma-Skalierung optimiert werden.

Im Anschluss werden ein weiteres Mal die Einhaltung der Modellierungsrichtlinien überprüft und die Simulationen mit Simulink Verification and Validation erneut ausgeführt. Damit werden Informationen zur Modellabdeckung und zu zyklomatischen Komplexitätsmetriken generiert. Die Ergebnisse aus den Gleit- und Festkommamodellen werden verglichen, um sicherzustellen, dass keine neuen Fehler während der Konvertierung entstanden sind.

SIL-Tests (SIL: Software-in-the-Loop) prüfen die Implementierung der Algorithmen in C. Mit PIL-Tests (PIL: Processor-in-the-Loop) wird der Algorithmus auf Echtzeit-Hardware überprüft. Auf diese Weise stellt das Team sicher, dass das Modell ohne Fehler implementiert wird.

Vom Software-Modell zum Prototyp

Um SIL-Tests ausführen zu können, wird mit dem Simulink Coder C-Code aus den Sensor-Algorithmus-Komponenten des Simulink-Modells generiert. Anschließend werden diese Komponenten im Modell durch eine S-Funktion, die den generierten C-Code enthält, ersetzt und die Simulation erneut ausgeführt. Die Ergebnisse werden ein weiteres Mal mit früheren Testergebnissen verglichen – dieses Mal, um die Softwareimplementierung zu überprüfen.

In enger Abstimmung mit von Hella hat MathWorks ein Embedded-Coder-Target für die 78K-Familie von Mikrocontrollern entwickelt, um PIL-Tests auf Hellas Renesas 78K-Mikrocontroller zu ermöglichen. Der Embedded Coder wird sowohl für die Generierung von Code für PIL-Tests als auch für Tests im Fahrzeug verwendet.

Der Weg vom Prototyp in die Produktion hängt davon ab, wie der Prototyp implementiert wurde. Wurde der HDL-Coder zur Generierung von VHDL für ein FPGA verwendet, dann können der Entwurf und der generierte VHDL-Code an einen externen Partner übergeben werden, der einen ASIC auf der Basis des Prototyps produziert. Da das Modell und die zugehörige HDL-Implementierung bereits gründlich überprüft wurden, sind für die ASICs bedeutend weniger Iterationen erforderlich. Dadurch lassen sich Kosten senken und Projektverzögerungen nahezu vollständig vermeiden.

Wenn dagegen ein Mikrocontroller als Prototyp vorgesehen ist, setzt Hella die Produktion intern fort. Die Ingenieure verwenden den Embedded Coder zur Generierung von ANSI C-Code aus dem Festkommamodell in Simulink und definieren den Prozessor für die Zielplattform. Der generierte Code wird intern einem strengen Testverfahren unterzogen. Dazu gehören Integrationstests und statische Analysen mit Polyspace Client for C/C++ und Polyspace Server for C/C++. Die abschließende Integration des ANSI C-Codes auf dem Target erfolgt mit IBM Rational Rhapsody (C/C++).

Aufgrund der zahlreichen Einstellmöglichkeiten für die Generierung von Code und die verwendeten Modellierungsrichtlinien kann Hella Produktionscode generieren, der kompakter ist als handgeschriebener Code. Durch die Wiederverwendung des Prototypenmodells für die Generierung von Produktionscode konnte das Team die Entwicklungszeit um 60 Prozent reduzieren. Darüber hinaus lassen sich Tests dank dem Model-Based-Design und der HFK RCP-Plattform bereits in einer frühen Phase des Entwicklungsprozesses ausführen. Dies ermöglicht es dem Unternehmen, Anforderungen zu validieren und Entscheidungen zum Entwurf einige Monate eher zu prüfen, als es früher möglich war.

* Martin Hein leitet den Bereich Hardware & Software Design bei der Hella Fahrzeugkomponenten GmbH.

(ID:44912673)