Eine gute Hardware Spezifikation

“Bei der Eroberung des Weltraums sind zwei Probleme zu lösen: die Schwerkraft und der Papierkrieg. Mit der Schwerkraft wären wir fertig geworden.”

Wernher von Braun

Wer als Ingenieur in der Entwicklung arbeitet versteht die Komik des Zitates von Wernher von Braun. Es scheint als ob die Menge an Dokumentation immer mehr zunimmt und damit der Teil der Arbeit, der vielen Ingenieuren keine Freude bereitet. Doch das Unbehagen vor den Dokumenten kommt oft daher, dass unklar ist was man in der Spezifikation schreiben soll. In diesem Artikel möchte ich einen Überblick geben, was die Zutaten für eine gute Hardware Spezifikation sind.

Die Hardware Spezifikation ist das Input Dokument für die Entwicklung der Hardware und die Schaltplan-Erstellung. Es ist daher sehr verwunderlich wenn in Projekten der Schaltplan vor der Spezifikation erstellt wird. Doch nicht nur für den Ersteller des Schaltplans ist das Dokument wichtig. Für Personen die den Schaltplan in einem Review prüfen sollen, ist eine Hardware Spezifikation erforderlich. Wie soll man prüfen, ob jemand eine sinnvolle Schaltung entwickelt hat, wenn man nicht weiß, wozu diese dienen soll und wie sie aufgebaut ist?

In der Hardware Spezifikation wird beschrieben welchen Zweck die Baugruppe erfüllt, wie die Baugruppe aufgebaut und strukturiert ist, was Teil der Baugruppe ist (Komponentengrenze) und welche Schnittstellen sie hat. Weiterhin sind die Anforderungen, die sich an die Baugruppe ergeben in der Hardware Spezifikation enthalten. Diese Anforderungen werden im Rahmen einer Hardware Testspezifikation abgeprüft.

Durch die Hardware Spezifikation ist der Systemarchitekt in der Lage zu überprüfen, ob die Hardware in das System passt und die Systemanforderungen erfüllt. Damit kann sich der Hardware Entwickler auf seine Baugruppe konzentrieren und ein Puzzlestück des Gesamtsystems entwickeln.

Schieben Sie die Hardware Spezifikation nicht auf die lange Bank! Sie benötigen die Informationen aus der Spezifikation, um effizient arbeiten zu können. Der wesentliche Aufwand steckt nicht in der Hardware Spezifikation, sondern im Schaltplanentwurf und dem Test der Hardware.

Inhalt einer Hardware Spezifikation

Im Weiteren soll konkret auf den Inhalt einer Hardware Spezifikation eingegangen werden. Sehen Sie die Inhalte als Vorschlag und passen Sie sie an Ihre Bedürfnisse an. Unter Umständen haben Sie Vorgaben von Ihrer QM-Abteilung (Qualitäts-Management) oder Sie haben spezielle technische Aspekte, die Sie berücksichtigen wollen. Es ist an dieser Stelle nicht möglich ein allgemeingültiges Vorgehen zu definieren.

Zweck und Geltungsbereich

Zweck und Geltungsbereich klingt zunächst unspektakulär und unwichtig. Doch das ist es nicht. Gerade wenn das Dokument von anderen gelesen wird, ist das oft der Einstiegspunkt. Man erwartet zu erfahren, um was es in dem Dokument geht und welchen Geltungsbereich es abdeckt. Leser des Dokumentes können Prüflabore, benannte Stellen, der Kunde oder andere Personen im Projekt sein. Daher ist es wichtig diesen Teil des Dokumentes ordentlich auszufüllen. Es wäre ja schade, wenn dadurch der erste Eindruck leidet.

Erfinden Sie das Rad nicht jedes Mal neu. Es ist sinnvoll, einen vorgefassten Text in Ihrem Template zu integrieren und hier eine explizite Handlungsanweisung einzutragen, die durch den Ersteller zu ergänzen ist. Dann müssen Sie sich nicht zu viele Gedanken machen und haben einen maßgeschneiderten Einstieg in das Dokument. Sprechen Sie sich mit Ihrem QM-Verantwortlichen dazu ab.

Blockschaltbild

Das Blockschaltbild ist ein perfekter Einstieg in die Funktionsweise einer elektronischen Baugruppe. Hier legen Sie die Komponentengrenze der Hardware fest und beantworten die Frage: Was gehört zu meiner Komponente und wie ist sie strukturiert? Die Schnittstellen, die sich an der Komponentengrenze ergeben sind besonders wichtig. Diese Schnittstellen müssen mit anderen Projektbeteiligten abgestimmt werden. Hier passieren die meisten Fehler. Daher ist es sehr wichtig die Schnittstellen der Baugruppe gut zu dokumentieren und diese Information an die Personen zu verteilen, die ein Interesse an dieser Schnittstelle haben.

Schließlich ist es wesentlich im Blockschaltbild die Module der Baugruppe und die Schnittstellen zwischen den Modulen zu definieren. Schreiben Sie deshalb zu jeder Komponente und zu jeder Schnittstelle welchen Zweck sie hat und wie sie funktioniert.

Im Blockschaltbild werden die folgenden Fragen geklärt:

  • Wo ist die Grenze meiner HW (was ist drin und was ist draußen?)
  • Was sind die Schnittstellen meiner Baugruppe?
  • Welche Module hat meine Baugruppe (mit Beschreibung)?
  • Welche Schnittstellen gibt es zwischen den Modulen (mit Beschreibung)?
Design und mechanischer Aufbau

An dieser Stelle beschreiben Sie, welche Abmessungen und welche Kontur die Baugruppe haben wird. Sie können beschreiben, an welcher Stelle die Anschlüsse oder Bauteile, deren Position fix ist (z.B. Tasten, LEDs oder große Bauteile), vorgesehen sind. Zudem können Sie hier eine erste Platzierung vornehmen. Wo kommt die Spannungsversorgung hin und wo der Mikroprozessor? An dieser Stelle reicht es aus, eine grobe Platzierung vorzusehen. Das muss nicht mit dem CAD Tool erfolgen. Eine einfache Skizze reicht aus.

Mit diesem Entwurf kann man frühzeitig Störungen auf der Leiterplatte durch räumliche Trennung und geschickte Aufteilung vermeiden. Hier spielt die elektromagnetische Verträglichkeit (EMV) eine Rolle. Durch ungeschickte Platzierung und die Bildung von Leitungsschleifen können EMV-Störungen verursacht werden. Sie können sich hier bereits Gedanken machen über die Anzahl der Lagen in Ihrem Board und über notwendige EMV-Maßnahmen.

Was sollten Sie hier definieren?

  • Abmessungen und Kontur der Leiterplatte
  • Position von Steckern und anderen fest vorgegebenen Bauteilen (LEDs, Taster)
  • Räumliche Aufteilung der Komponenten (Platzierung)
  • Verteilung der Masse und der Versorgungsspannungen auf der Leiterplatte
  • EMV Maßnahmen
  • Maßnahmen um mechanische Anforderungen zu erfüllen (Schock und Vibration)
  • Position von Antennen für Funkübertragung
  • Position von Bauteilen, die Hitze erzeugen können

An dieser Stelle ist eine enge Zusammenarbeit zwischen dem Hardware und Mechanik Entwickler notwendig.

Anforderungen an die Baugruppe

An jede Baugruppe werden Anforderungen gestellt. Ansonsten wäre die Baugruppe ja nicht notwendig. Die Systemanforderungen werden auf die Baugruppe herunter gebrochen. Erstellen Sie eine Struktur (Unterkapitel) auf Basis Ihrer Architektur (z.B. Stromversorgung, Mikrocontroller, HMI – Human Machine Interface, Sensor xyz, …). Verteilen Sie die Anforderungen auf die jeweiligen Schaltungs-Module.

Bei der Erstellung der Anforderungen gibt es ein paar Punkte, die zu beachten sind. Sozusagen die Anforderungen an die Anforderungen. Die unten dargestellte Tabelle zeigt die wichtigsten Eigenschaften, die Anforderungen erfüllen sollen.

EigenschaftErklärung
TestbarJede Anforderung wird abgeprüft. Wenn Ihnen kein sinnvoller Testfall einfällt, dann ist die Anforderung nicht gut.
VollständigAchten Sie darauf nichts zu vergessen. Viele Informationen hat man im Kopf. Bringen Sie diese zu Papier. Entsprechend wird die Testtiefe verbessert.
RelevantFormulieren Sie nur Anforderungen, die für die Komponente oder das System relevant sind. Es ist nicht relevant welche Bauteile Sie einsetzen oder wie die Umsetzung konkret aussieht.
KonsistentVermeiden Sie Widersprüche bei den Anforderungen. Achten Sie darauf, dass die Anforderungen zusammen passen.
EindeutigFormulieren Sie die Anforderungen eindeutig, so dass sich kein Raum für Interpretation ergibt.
KontextfreiFormulieren Sie die Anforderung so, dass man sie ohne den Kontext versteht. Schlecht ist z.B. wenn man die Anforderung nur versteht, wenn man weiß in welchem Kapitel sie steht. Die Anforderung soll allein für sich verständlich sein.
AtomarHalten Sie die Anforderung kurz und knapp. Versuchen Sie nicht mehrere Anforderungen in eine unter zu bringen. Damit werden die Anforderungen verständlicher, lesbarer und leichter testbar.

Lassen Sie einen Kollegen die Spezifikation durchlesen und holen Sie sich Feedback. Insbesondere Tester sind sehr gut darin zu prüfen, ob Anforderungen gut formuliert sind. Binden Sie den Software Kollegen ein, falls Ihre Komponente Software enthält.

Zur Formulierung der Anforderungen bietet sich eine Satzschablone an, die man immer wieder verwenden kann.

Beispiele für Anforderungen

  • Die Baugruppe soll von 6,0V bis 12,4V betrieben werden können.
  • Die Baugruppe darf einen maximalen Stromverbrauch von 500mA haben.
  • Die Baugruppe soll bei Netzversorgung die grüne Power LED aktivieren.
  • Die Baugruppe soll die Power LED durch den Mikroprozessor aktivieren können.
  • Die Baugruppe soll den Ausgang Port z abhängig von den Eingängen Port A und Port B gemäß der Wahrheitstabelle unten schalten.
Port APort BPort Z
000
011
101
110
 Schnittstellen

An den Schnittstellen ergeben sich meist die Fehler. Dokumentieren Sie die Schnittstellen daher gut und prüfen Sie diese beim Review sorgfältig. Dazu bietet es sich an, für jede Schnittstelle eine Tabelle zu erstellen. Fügen Sie ein Bild des Steckers ein, um eine Verwechslung zu vermeiden. Falls notwendig können Sie auch die Leiterplatte mit einzeichnen, um die Orientierung genau darzustellen.

 stecker

PinSignalnameRichtungBeschreibung
1GNDInputMasse
2VccInputVersorgungsspannung
UIn = 4,0V – 12,4 V
Imax = 500mA
3HOST_UART_RXInputUART Interface zum Host
9600 Baud, 8n1
4HOST_UART_TXOutput
5HOST_ENABLEInputSignal zu Aktivierung/Deaktivierung des Moduls
0: Modul inaktiv
1: Modul aktiv(IH = 2,4V; IL = 0,4V)
6GNDInputMasse

Auch die Pin-Belegung von Mikroprozessoren können nach dem gleichen Schema wie in der Tabelle oben dargestellt werden. Diese Information ist für die Software Entwickler sehr wertvoll.

Stromversorgung

Dokumentieren Sie, wie die Stromversorgung der Komponente realisiert ist. Betrachten Sie alle relevanten Strom-Pfade und dokumentieren Sie die Spannungsbereiche, den Stromverbrauch sowie die Stromspitzen. Zeichnen Sie das zeitliche Verhalten beim Ein- und Ausschalten sowie das Verhalten bei Spannungseinbruch ein (Power Up, Power Down, Power Fail).

Bei Geräten in der Medizintechnik spielt die galvanische Trennung und normative Anforderungen eine große Rolle. Lassen Sie daher diese Informationen in die Hardware Spezifikation einfließen.

Spezifizieren Sie welche Sicherungen Sie verwenden und wie diese dimensioniert sind.

Selbsttest und Überwachungen

Machen Sie sich Gedanken über den Selbsttest und die Überwachungen zur Laufzeit. Es kann passieren, dass Komponenten ausfallen oder nicht richtig funktionieren. Deshalb ist es wichtig sich zu überlegen, welche Signale überwacht werden sollen und wie die Fehler zu finden sind. Im Rahmen einer Hardware-FMEA geht man den Schaltplan strukturiert durch und ermittelt, welche Fehler auftreten können und welche Auswirkungen sich daraus ergeben. Anschließend werden Maßnahmen definiert, um eine inakzeptable Auswirkung zu eliminieren. Es ist jedoch sinnvoll sich bereits vor der FMEA darüber Gedanken zu machen und ein Konzept zu erarbeiten.

Ansteuerung von Signalen

Bei der Ansteuerung von Signalen ist es wichtig ein Timing Diagramm zu erstellen. Damit wird klar, welche Signale bei der Ansteuerung oder Überwachung mitwirken und wie das zeitliche Verhalten dabei aussieht. Für den Software Entwickler ist es eine erhebliche Vereinfachung zu sehen, welche Signale wie und wann geschaltet werden müssen, damit eine Aktion durchgeführt werden kann. Bei der Beschäftigung mit den Signalen fallen oft Schwächen auf oder Konstellationen die berücksichtigt werden müssen.

signalepsel

Achten Sie besonders auf schnelle Signale zur Ansteuerung von Speichern oder Displays und auf Signale, die durch die galvanische Trennung oder sonstige Schaltungen verzögert werden.

Was ist Detailed Design in Hardware?

Beim Detailed Design geht es darum den Schaltplan und die Entscheidungen zu dokumentieren. Hier werden Berechnungen und Konzepte eingetragen und Entscheidungen begründet. Es ist nicht notwendig hier mit Keys und Requirements zu arbeiten. Das ist Ihr Dokument um zu dokumentieren, was Sie sich bei der Erstellung des Schaltplanes gedacht haben. Das ist ebenfalls ein guter Input für Kollegen, die ein Review des Schaltplans durchführen oder die eventuell die Arbeiten fortführen sollen.

Machen Sie es sich zur Gewohnheit, die Designbeschreibung der Hardware zeitnah zu aktualisieren und zu pflegen. Tragen Sie hier die Designentscheidungen nachvollziehbar für andere ein.

Was ist beim Testen zu beachten?

Beim Testen gibt es zwei sinnvolle Herangehensweisen. Sie prüfen zum Einen, ob die Hardware die Anforderungen erfüllt. Sie prüfen gegen die Testspezifikation, die Sie auf Basis der Anforderungen an die Hardware erstellt haben. Zum Anderen prüfen Sie ihre Hardware darauf hin, ob diese korrekt dimensioniert ist. Die Grundlage dafür ist der Schaltplan. Der Grund für die Vorgehensweise ist, dass es sehr wohl möglich ist, dass Sie alle Anforderungen erfüllen, aber die Platine falsch dimensioniert ist oder Bauteileigenschaften übersehen wurden.

Noch ein paar Tipps für Ihre Hardware Spezifikation

Zum Ende möchte ich Ihnen noch ein paar Tipps mit auf den Weg geben, die die Qualität Ihrer Spezifikation verbessern können.

Vermeiden Sie es auf der Komponentenebene Informationen über das System zu beschreiben. Übertrieben gesprochen, kann es Ihnen sogar egal sein, in welchem System Ihre Komponente verbaut ist, sofern die Anforderungen noch gelten. Schreiben Sie daher nur über die Komponente. Damit ist es möglich, dass nicht nur Ihre Komponente sondern auch die Dokumentation wiederverwendet werden kann.

Die Architektur Ihrer Komponente ist im Blockschaltbild dargestellt. Diese Architektur muss sich wie ein roter Faden durch das gesamte Projekt hindurch ziehen. Bei der Durchsicht des Schaltplanes muss die Architektur wiederzufinden sein. In der Testspezifikation und bei den Versuchsberichten sollten die Komponenten auftauchen. Schließlich sollte die Architektur in der Zeitplanung auftauchen. Und damit meine ich nicht als Punkt „Architektur erstellen“. Nein, zu jedem Modul Ihrer Komponente und zu jeder Schnittstelle sollte es einen Testbericht geben. Zumindest sollten Sie sich überlegen zu welcher Komponente oder Schnittstelle Sie einen erstellen und bei welchen das nicht notwendig ist. Eventuell möchten Sie Voruntersuchungen zu einzelnen Modulen durchführen. Diese findet man in der Zeitplanung wieder.

Führen Sie Reviews durch, um die Hardware Spezifikation zu überprüfen. Laden Sie den Software Entwickler mit ein, sofern es Software auf der Komponente gibt. Er kann wichtigen Input liefern. Prüfen Sie insbesondere die Schnittstellenbeschreibungen gut. Die Fehler, die sich an den Schnittstellen ergeben sind meistens besonders gemein und teuer. Vergessen Sie nicht die Schnittstelle zur Software (Mikrocontroller). Hier sollte der Signalname, die Richtung und die Bedeutung jedes Pins definiert werden.

Dokumentieren Sie die Änderungen des Dokumentes in einer Änderungshistorie (Change History). Hier kann man sehen wer was wann an dem Dokument verändert hat. Gerade bei der Pflege der Dokumente und des Produktes entstehen Fehler. Halten Sie daher immer fest, was sich verändert hat.

Ich freue mich über Feedback und wenn Sie mit mir in Kontakt treten. Sie können gerne auch einen Kommentar zu dem Artikel abgeben. Falls Sie jemanden kennen, für den der Blog ebenfalls interessant sein könnte, freue ich mich auch sehr über eine Weiterempfehlung.

Viele Grüße

Goran Madzar

Auch interessant:

Integrationsplanung – Mehr als Big Bang

Die Aufgabe des Systemarchitekten ist es ein System in einfachere Subsysteme zu zerlegen. Die Subsysteme werden dann zunächst getrennt voneinander entwickelt und später wieder zusammengeführt. Diese Zusammenführung wird Integration genannt.…

Goran Madzar

Seit Mai 2007 bin ich zusammen mit meinem Kollegen Martin Bosch selbständig. Wir haben ein Ingenieurbüro im Innovations- und Gründerzentrum in Erlangen aufgebaut. Hier entwickeln wir für Kunden in der Medizintechnik mit unseren Mitarbeitern Lösungen für die Produkte von Morgen.

Getagged mit: , ,
2 Kommentare zu “Eine gute Hardware Spezifikation
  1. Sophie G sagt:

    Hallo und vielen Dank für diesen sehr informativen Beitrag! Die FMEA ist ein wirklich nützliches Tool auch für Hardwareentwicklung. Was sind die häufigsten Fehler die bei der Ermittlung auftreten?
    Viele Grüße, Sophie

  2. Viktoria Maisner sagt:

    Hallo zusammen,
    vielen herzlichen Dank für den spannenden und informativen Artikel. Bevor ich mich mit dem Thema beschäftigt habe, wusste nur, dass die Hardware Spezifikation das Input Dokument für die Entwicklung der Hardware und die Schaltplan-Erstellung ist. Allerdings beinhaltet euer Artikel noch viele weiterführende Informationen zum Thema Hardwareentwicklung. Sehr interessant.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.