Embedded-Entwicklung

Erfolgreiches Design ohne Rücksicht auf sich ändernde Anforderungen

8. Juni 2010, 17:15 Uhr | Jon D. Pearson, Cypress Semiconductor
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Einrichten der Kommunikation

Steuerungslogik mit Interfaces

DRAFT MESSAGES FOR PRESS RELEASE OF LAUNCH:

Im jetzigen Stadium kann jeder der in Bild 3 dargestellten Blöcke als eigenständiges Subsystem betrachtet werden. Die Kommunikation zwischen diesen Subsystemen ist die Interface-Definition. Dieses Festschreiben der Schnittstellen ist entscheidend dafür, die Essenz bzw. die Struktur des Produkts zu erfassen und dafür zu sorgen, dass die Anforderungen für die einzelnen Subsysteme unabhängig voneinander weiterentwickelt werden können, womit die Rückwirkungen auf das Projekt (nämlich auf den Zeitplan und andere Aspekte) begrenzt werden. Im Brennpunkt dieses Schritts liegt die Steuerungslogik, also der grüne Block, der das Herzstück des Produkts bildet.

Unter „Kommunikation“ ist hier der Informationsfluss von und nach dem Steuerungslogik-Block zu verstehen. Es kann sich dabei um das von einem Echtzeit-Betriebssystem (Real-Time Operating System – RTOS) unterstützte Messaging, eine physische Kommunikationsschnittstelle wie I2C oder SPI oder um schlichte Funktionsaufrufe handeln. An dieser Stelle muss man die Details noch nicht alle kennen. Ziel ist es vielmehr, das Interface so einzurichten, dass die Steuerungslogik diese Einzelheiten tatsächlich niemals kennen muss. Damit ist sichergestellt, dass die im Steuerungslogik-Block implementierte zentrale Applikation unbeeinflusst von Fluktuationen in den übrigen Abschnitten weiterentwickelt werden kann.

Zum Einrichten der Kommunikation muss aus dem Blickwinkel der Steuerungslogik festgelegt werden, was von den einzelnen Ein‑ und Ausgabeblöcken benötigt wird. Als Beispiel soll der Block ‚Temperaturerfassung‘ betrachtet werden, von dem die Steuerungslogik die aktuelle Ist-Temperatur erhalten muss (in diesem Beispiel soll angenommen werden, der Ofen habe nur eine Temperaturzone). Das Format der Temperaturinformation ist ein wichtiger Aspekt der Schnittstelle, da Änderungen an diesem Format gravierende Auswirkungen auf die Implementierung der Steuerungslogik haben. Deshalb muss hier das Format ebenso festgelegt werden wie die Funktion, die die Steuerungslogik verwendet. Dies kann eine in der C-Sprache formulierte Funktion sein, die im Prototyp als ‚int getTemperature(void);‘  bezeichnet wird. Der Temperaturwert ist folglich ein vorzeichenbehafteter Festkomma-Integerwert, der die Temperatur, multipliziert mit dem Faktor 10, angibt (d. h. 353,7 Grad würden als 3537 ausgegeben). Auch die Einheit ist wichtig. Sie kann als Bestandteil der Interfacebeschreibung ‚getTemperature‘ festgelegt sein, oder man verwendet zwei verschiedene Funktionen für Celsius‑ und Fahrenheitgrade (‚getTemperatureF()‘ und ‚getTemperatureC()‘).

Anschließend werden die Interfaces für die übrigen Blöcke definiert, die in Bild 4 als blaue oder rote ‚IF‘-Blöcke im grünen Steuerungslogik-Teil dargestellt sind.


  1. Erfolgreiches Design ohne Rücksicht auf sich ändernde Anforderungen
  2. Festlegung der Struktur
  3. Einrichten der Kommunikation
  4. Definition des Timings
  5. Schaffung der Voraussetzungen für austauschbare Features
  6. Für alles gerüstet – mit einem Baustein, in dem sich alles ändern kann

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Cypress Semiconductor Corp.

Weitere Artikel zu Cypress Semiconductor GmbH

Weitere Artikel zu System-on-Chip/ASICs/ASSPs

Weitere Artikel zu Mikrocontroller