Cyber-physikalische Systeme

Entwicklungsbeschleuniger: Zeit als neue Währung (Teil 2)

< zurück

Seite: 3/4

Anbieter zum Thema

C-Code-Generator auf eigener Hardware betreiben

In der Embedded-Welt ist die Sprache C der Quasi-Standard. Genau hier setzt NIs ANSI-C-Code-Generator an. Er übersetzt ein grafisches LabVIEW-Diagramm/-Blockschaltbild inklusive Mathematik- und Signalverarbeitungs-VIs in neutralen ANSI-C-Code für 32-Bit-Mikrocontroller. Schmid Elektronik kombiniert diese Technik mit der Funktionalität der Singleboard-Computer im Hutschienen- und PC104-Format (Bild 1, rechts) sowie Briefmarken-Coremodulen und Scheckkarten-COMs (Bild 1, links).

Der so erzeugte C-Code wird mit dem Quellcode eines schlanken Mikrokernels verlinkt, mit gängigen Tools (Compiler, Linker, Loader) in eine echtzeitfähige Standalone-Firmware gebaut und als Loader-File auf die Zielhardware geladen. Von dort bootet die Anwendung in weniger als einer Sekunde, geht in einen robusten 24/7-Echtzeit-Betrieb über und ist gegen Einflüsse von außen weitgehend unempfindlich.

Bild 3: LabVIEW programmierbares «System-on-Module» (SOM) mit Echtzeit-Linux auf Multicore ARM-Cortex-A9 und FPGA. Low-Level-Treiber werden mit Eclipse entwickelt und in LabVIEW eingebunden. Die Administration erfolgt z.B. über die SSH (Secure Shell).(Bild:  Schmid Elektronik)
Bild 3: LabVIEW programmierbares «System-on-Module» (SOM) mit Echtzeit-Linux auf Multicore ARM-Cortex-A9 und FPGA. Low-Level-Treiber werden mit Eclipse entwickelt und in LabVIEW eingebunden. Die Administration erfolgt z.B. über die SSH (Secure Shell).
(Bild: Schmid Elektronik)

Das NI System-On-Module (Bild 3) und die NI Single-Board-Computer (Bild 1, Mitte) werden per Echtzeit-Linux betrieben. Dadurch eröffnen sich speziell für vernetzte, smarte Embedded-Systeme neue Möglichkeiten. Installiert ist die für den Embedded-Bereich ausgelegte Ångström-Distribution mit einem Repository auf den Servern von NI. Das LabVIEW-Diagramm wird nach dem POSIX-Standard auf das Linux-Betriebssystem abgebildet. Dort lässt sich mit dem Package-Manager opkg die Spielwiese des Linux-Ökosystems nutzen – ob SQL-Datenbank, Apache-Webserver oder QT-GUI. Als Bootloader dient U-Boot.

Weitere Merkmale von Echtzeit-Linux:

  • Mit der Busybox steht ein Tool für typische Embedded-Aufgaben zur Verfügung, von Filesystemzugriffen, Abholen der Systemzeit und kleinem DHCP-Client bis zum Sleep-Modus und System-Reboot.
  • LabVIEW erhält Zugriff auf die Linux-Kommandozeile, womit sich Systembefehle direkt ausführen und so Filesystem- und User-Berechtigungen live steuern lassen.
  • Mit Techniken wie Python stehen mächtige Skriptsprachen zur Verfügung.
  • LabVIEW kann mit TCP/IP über localhost die Dienste weiterer Linux-Prozesse (Daemons) anzapfen.
  • Über das native C-API von LabVIEW kann auf Bibliotheken des Linux-Betriebssystems zugegriffen werden (Bild 4).
  • Der versierte Linux-User kann den Linux-Kernel jederzeit individuell konfigurieren und neu kompilieren.

Bei vernetzten Embedded-Systems ist Timing die Herausforderung Nr.1. Hier leistet Linux mit nützlichen Schemas Unterstützung. Mit cron lassen sich bis [min]-Auflösung repetitive Tasks wie das Löschen von Logfiles ausführen. Der «CFS» (Completely Fair Scheduler) dient vor allem zum Implementieren nicht-zeitkritischer, aber trotzdem effizienter Work-Tasks. Werden Antwortzeiten in [ms] benötigt, wird der Kernel «preemptive» konfiguriert. Dank Multicore-Support von LabVIEW lassen sich grafische Tasks direkt einem Prozessorkern zuordnen. Bei zeitkritischen Tasks mit gefordertem Jitter zwischen 10...100 µs kommt der PREEMPT_RT-Patch ins Spiel. Harte Echtzeit im einstelligen [µs]- oder sogar [ns]-Bereich garantiert der FPGA.

Artikelfiles und Artikellinks

(ID:43334943)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung