Wie dokumentieren Sie Ihre Hardwareentscheidungen?


43

Wie dokumentieren Sie Ihre Hardwareentscheidungen in der Entwurfsphase? Wie vermeiden Sie es, sich die folgenden Fragen stellen zu müssen, während Sie ein Hardware-Design überprüfen, das Sie in der Vergangenheit erstellt haben:

  • Warum hat sich ein für diese Komponente entschieden?
  • Warum / wie habe ich diese speziellen Parameter für diese Komponente ausgewählt?
  • Was macht dieser Teil der Strecke?
  • Was ist die Verlustleistung durch diese Komponente?
  • Wie hoch ist der Gesamtstromverbrauch dieser Schaltung?
  • Kann ich diese Komponente durch eine andere ersetzen? Gibt es zu dieser Komponente äquivalente Komponenten? usw.

Was ist ein guter Weg, um Ihre Entscheidungen und Berechnungen während der Entwurfsphase einer Schaltung zu dokumentieren? Wie erhalte ich Antworten auf die oben gestellten Fragen, ohne Hunderte von Datenblatt-Seiten erneut durchzugehen?

Eine Möglichkeit, die ich mir vorstellen könnte, besteht darin, Notizen zu den Schaltplandateien hinzuzufügen (sofern Ihr EDA dies unterstützt), aber ich möchte den Schaltplan nicht mit zu vielen Informationen überladen.


1
Wer wird diese Details sehen? Sind sie nur als Referenz gedacht oder werden sie von anderen gesehen?
Stanri

@Stacey Die Dokumentation ist sowohl für mich als auch für andere Designer gedacht. Ich möchte die meisten meiner zukünftigen Designs als Open Source gestalten und es ist sehr wichtig, dass sie ordnungsgemäß dokumentiert werden.
m.Alin

9
@Stacey Aber wirklich ... was ist der Unterschied? Nach einer Weile siehst du dein eigenes Design an, als ob es das erste Mal ist, dass du es siehst.
m.Alin

2
Der Unterschied liegt in der Art und Weise, wie die Informationen dargestellt werden. Ein formelles Dokument, in dem jede Entscheidung, die Sie in einem professionellen Ton getroffen haben, erklärt wird, ist viel mehr Arbeit, als schnell Formeln aufzuschreiben und die von Ihnen gewählten Werte zu notieren. Wenn jemand anderes die Notizen sieht, ist es außerdem wichtig, dass er digital ist.
Stanri

4
OMG Ich liebe diese Frage. (Entschuldigung, ich weiß, dass es nicht wirklich hilft, aber daran arbeite ich gerade, also ist das großartig). Mach weiter.
efox29

Antworten:


15

Ich persönlich gehe den altmodischen Weg: Ich habe ein Design-Notizbuch, in das ich absolut alles über meine Designentscheidungen schreibe. Insbesondere Komponenten- und Werteauswahlen, Stromberechnungen, Stromversorgungsberechnungen, alles. Ich dokumentiere auch Software- / Firmware-Entscheidungen und Hinweise zu Zeitplanung und Ressourcennutzung.

Jedes Notizbuch verfügt über eine Inhaltsseite, die auf einen bestimmten Teil des Designs (Netzteil usw.) verweist, und alle Seiten sind nummeriert.

Ich habe einige Male überlegt, digital zu arbeiten, aber es ist schön, mein Notizbuch vor mir zu haben, während ich arbeite, und ich finde es ziemlich umständlich, Formeln digital zu schreiben. Es ist viel einfacher, Berechnungen von Hand zu schreiben.

Wenn ich eine Spezifikation oder formale Dokumentation für ein Board-Design vorbereite, beziehe ich mich normalerweise auf mein Notizbuch, um zu aktualisieren, was ich getan habe (oder ich schreibe gleichzeitig die digitale Dokumentation). Auch wenn es so aussieht, als würde ich zweimal dasselbe tun, finde ich, dass meine Notizbücher für mich selbst so gut wie alle Berechnungen und Erklärungen sind, wobei die Dokumentation für andere weniger ausführlich und viel formaler und erklärender ist. Daher stelle ich nicht oft fest, dass ich zweimal dasselbe schreibe.


Stimmen Sie der Formelfrage vollkommen zu, aber ich habe vor ungefähr 5 Jahren aufgehört, Notizen in Papierform zu verwenden. Typing ist viel einfacher als das Schreiben, und verfügt über alle gängigen elektronischen Text Vorteile - durchsuchbar, sendbar, backupable usw.
markt

2
Einige der beeindruckendsten / wichtigsten Design-Notizbücher unserer Zeit: computerhistory.org/collections/fairchild . Ein wesentlicher Vorteil eines Papierlogbuchs / Notizbuchs ist das Zeichnen. Das Zeichnen und Skizzieren von Objekten auf meinem Laptop ist erheblich aufwändiger (obwohl es auf einem iPad einfacher ist - meine Frau behält beispielsweise ihre Designnotizen auf ihrem iPad). Ich neige dazu, grafisch zu denken, also entwerfe ich viel, indem ich Blockdiagramme zeichne.
Slebetman

11

Sie können die Entwurfsspezifikation mit diesen Informationen aktualisieren. Oder nehmen Sie die Spezifikation und erstellen Sie eine niedrigere Spezifikation, in der Sie detaillierter beschreiben, was Sie tun werden und warum, idealerweise bevor Sie mit den Schaltplänen beginnen :). Aktualisieren Sie dann nach und archivieren Sie die Schaltpläne.


Beantwortung der folgenden Fragen: Normalerweise beginnen wir mit den Marketinganforderungen, dann vielleicht mit einer formellen technischen Antwort oder einer informellen Diskussion. Daran schließt sich eine MRD (Marketing Requirement Document) in Wortform an, die unsere Vorlage verwendet. Dazu gehören Anforderungen, Wettbewerbsanalyse, Marktgröße, Opportunity, geschätzte Entwicklungskosten usw. In der Regel wird dies von einer Marketingperson (oder einer Person, die über meiner Gehaltsstufe liegt) geschrieben.

Daran schließt sich das PRD (Product Requirements Document) an, das in der Regel vom Engineering in einer Word-Vorlage verfasst wird. Dies beschreibt detaillierter, was das Produkt leisten wird, welche Teile benötigt werden und auf hohem Niveau, wie jedes einzelne von ihnen funktionieren wird. Oft werden hier die Zielleistung, der Preis, die Leistung, die Größe und andere Kennzahlen angegeben.

Darauf folgen detaillierte Funktionsspezifikationen für jeden Abschnitt. Einige Entwurfsarbeiten werden hier bereits ausgeführt, bevor sie in den Schaltplan aufgenommen werden. Zum Beispiel wird die Leistung berechnet, Teile werden ausgewählt und es wird viel geforscht. An dieser Stelle würden wir alle nicht offensichtlichen Entwurfsentscheidungen dokumentieren.

Schließlich kommen wir zu den Schaltplänen, die an dieser Stelle einfach sind, da ein Großteil der harten Entwurfsarbeit in der Spezifikationsphase erledigt wurde. Wo sollte es meiner Meinung nach gemacht werden :) Wenn sich etwas während der Schaltplanphase ändert, zum Beispiel, finden wir heraus, dass etwas nicht funktioniert, oder eine Marketingperson kommt den Flur entlang und sagt, dass es jetzt rot statt blau sein muss, dann wir Ich gehe zurück und aktualisiere die Spezifikationen.

Alle Spezifikationen, PRD, MRD werden in SVN mit Links zu den Dokumenten in einem internen Wiki gespeichert. Eine Änderung der Spezifikation führt zu einer Aktualisierung des SVN und einer Benachrichtigung der interessierten Parteien. Sie können es natürlich auch manuell irgendwo in einem freigegebenen Ordner ablegen.

Das ist mehr oder weniger mein Prozess. Vielleicht möchten Sie jede kleine Entscheidung über ein Design dokumentieren, und das tun wir definitiv nicht. Ohne zu sagen, dass du es nicht tun solltest, konnte ich sehen, wo es hilfreich wäre. Ich denke, wir dokumentieren normalerweise die ganze Zeit das Wie und nicht das Warum.


Ok vielleicht hätte ich auch jede frage beantworten sollen :)

Wenn Sie Berechnungen anstellen, in Excel vielleicht? Oder auf dem Papier: Wenn Sie der Meinung sind, dass die Ergebnisse und die Methode für das Verständnis und den Entwurf Ihrer Schaltung wichtig sind, sollten Sie diese in den entsprechenden Abschnitt der Entwurfsspezifikation aufnehmen. Auch wenn das bedeutet, dass du ein Bild von deiner Handzeichnung machst :)

Warum hat sich ein für diese Komponente entschieden? Ich denke, die Funktionsspezifikation ist ein guter Ort dafür, keine Notwendigkeit, verrückt zu werden, sondern nur ein oder zwei Zeilen über die Vorteile. Ich würde dies für kritische Komponenten reservieren, ich glaube nicht, dass Sie beschreiben möchten, warum Sie sich zum Beispiel für einen Pull-up-Widerstand entschieden haben.

Warum / wie habe ich diese speziellen Parameter für diese Komponente ausgewählt? Kombinieren Sie dies mit oben.

Was macht dieser Teil der Strecke? Dies ist Teil Ihrer Funktionsspezifikation. Wenn die Schaltung wichtig genug ist, um diese Frage zu beantworten, sollte sie einen eigenen Abschnitt der Spezifikation haben.

Was ist die Verlustleistung durch diese Komponente? Wenn Sie Netzteil sprechen, setzen Sie dies in den Leistungsteil, auch ich mag dies auf den Schaltplänen zu beachten. Wirklich, obwohl alle meine Teile aus einer Datenbank stammen und der Schaltplan direkt mit ihnen verknüpft ist, so dass wir die Parameter, das Datenblatt usw. leicht sehen können. Aber wenn Sie nur einen Ausdruck haben, ist es schön, etwas davon zu wissen.

Wie hoch ist der Gesamtstromverbrauch dieser Schaltung? Ich denke, das gehört in den Netzteilbereich Ihrer Spezifikation.

Kann ich diese Komponente durch eine andere ersetzen? Gibt es zu dieser Komponente äquivalente Komponenten? usw. Dies gehört meiner Meinung nach in Ihre Stückliste oder in den Prozess, den Sie für die Herstellung verwenden. Alternative Teile sollen die Beschaffung erleichtern. Auch dies kommt für uns alles aus einer Teiledatenbank.


Ich habe festgestellt, dass ich mein Design dokumentieren muss (daher die Frage), aber ich kenne keine gute Methode, um das zu tun. Schreibe ich meine Notizen in eine Textdatei, füge ich sie direkt in den Schaltplan ein, schreibe ich die Notizen auf Papier und scanne sie dann ein? Wie halte ich die Entwurfsentscheidungsnotizen mit dem Entwurf synchron und was sollten die Notizen wirklich enthalten? Welche Dokumentationsmethode funktioniert für Sie?
m.Alin

1
@ m.Alin SHG scheint wie ich zu funktionieren und verfügt über ein Spezifikationsdokument, das vor der Arbeit an einem Schaltplan erstellt wird. Dieses Dokument sollte detaillierte Anforderungen an die Schaltung, Informationen über das Gesamtsystem, Gründe für wichtige Entscheidungen usw. enthalten. Dieses Dokument dokumentiert Ihren Denkprozess und listet die Anforderungen auf, die Sie zur Gestaltung Ihres Schaltplans treffen können. Dies ist der Weg in eine professionelle Umgebung, aber Sie können mit Notebooks und dergleichen davonkommen, wenn Sie das Design zu Hause machen. Normalerweise behalte ich einen Ordner auf meinem Arbeitsserver mit
I. Wolfe

1
Kein Platz mehr ... - mit dem Spezifikationsdokument, irgendwelchen Testdokumenten, irgendwelchen Blockdiagrammen des Gesamtsystems, Datenblättern für irgendwelche kritischen Teile usw. Das ist alles in einem Unterordner (dem Planungs- / Spezifikationsordner) im Projektordner. In einem separaten Ordner würde ich den Schaltplan, das Leiterplattenlayout und alle relevanten Montage- / Fertigungsdokumentationen haben. Im Idealfall möchten Sie, dass jemand alle erforderlichen Informationen aus einem Dokument abruft, aber manchmal kommt man nicht umhin, ein Datenblatt oder detaillierte Testinformationen / -berechnungen zu benötigen.
I. Wolfe

fügte einige Kommentare zu unserem Inline-Prozess hinzu
Some Hardware Guy

4
+1 für die Verwendung der Versionskontrolle für wichtige Dokumente. Jeder sollte es benutzen, auch ein einzelner, selbstständiger Ingenieur.
Lior Bilia

5

Ich mache eine Menge Quick-Turn-Designs und muss sagen: Das Kommentieren des Schaltplans ist bei weitem am bequemsten. Es kommt selten vor, dass eines meiner Designs mehr als 2 oder 3 A4-Blätter umfasst, sodass die Anzahl der Entwurfsentscheidungen begrenzt ist. Viele Designentscheidungen erfolgen so gut wie automatisch. Ich muss nicht für jeden einzelnen Teil Gründe auflisten. Nur ein oder zwei Hauptteile und möglicherweise einige Filter oder Sensoren für die passive Dimensionierung. Der Rest ist für jeden erfahrenen Konstrukteur sofort ersichtlich.

Was Ihre letzte Frage betrifft: Alternative Teile sind im Allgemeinen keine Entwurfsentscheidung, sondern eine Beschaffungsentscheidung, und als solche Teil Ihres Beschaffungsworkflows. In meinem Fall befinden sich alternative Teile in meinen Teileigenschaften und werden automatisch bezogen, wenn der Vorrat am Primärteil oder an der Quelle aufgebraucht ist.

Für größere Designs und für das Systemdesign verwende ich in der Regel Google Docs mit einer Designdokumentvorlage.

In Summe; Ich persönlich bin der Meinung, dass sich ein kompakter Workflow am Ende auszahlt. Viele separate Dateien mit Entwurfsinformationen (separates Systemdesign, Entwurfsentscheidungsdokumente, Beschaffungsdokumente, alle getrennt von Ihren grundlegenden Schaltplan- und Layoutdateien) verursachen viel (geistiges) Durcheinander und erfordern eine Kontextumschaltung, wenn Sie einen Entwurf überprüfen möchten Entscheidung. Alles an einem Ort zu haben, funktioniert gut. Wenn Ihr Schaltplan überladen aussieht, ist dies kein Problem mit diesem Workflow, sondern bedeutet, dass Sie Ihr Design wahrscheinlich besser unterteilen, mehr Blätter verwenden oder größere Blätter verwenden sollten.


3
Es ist normalerweise besser, ein spezielles Dokument zu haben, zumindest in einer professionellen Umgebung. Wenn ich zum Beispiel wissen möchte, warum ich einen Sicherungswert gewählt habe, ist es gut zu wissen, dass mein Ausgang 700 mA für 50 us und 300 mA für 3 s zieht. Diese Informationen überlagern nur einen Schaltplan, in den Sie nur die Sicherungsstärke einfügen müssen, sie werden jedoch möglicherweise irgendwann benötigt. Es gibt auch Umstände, in denen 6 Servos von einem Regler ausgehen und ich muss wissen, wie viele Motoren gleichzeitig laufen. Nochmal was gebraucht, aber nicht auf dem Schaltplan.
I. Wolfe

1
Natürlich werden die Meinungen variieren. Alles was ich sage ist, dass ich mit über 200 Designs unter meinem Gürtel finde, dass dies wirklich gut funktioniert. 'Professional' muss nicht unbedingt ein striktes Protokoll und eine strenge Methodik bedeuten. Für relativ kleine Designs (das ist die Mehrheit von dem, was ich mache) funktioniert dies gut. Größere Designs und vor allem kollaboratives Design (was heutzutage sehr selten ist, selbst Dinge wie Raspberry Pi, die von ein und demselben Entwickler entworfen und entworfen wurden) erfordern jedoch etwas mehr Boilerplate.
user36129

4

Bei vielen meiner kleineren Projekte habe ich im Allgemeinen ein einfaches grünes Etikett und einen Rahmen um die Teilstromkreise angebracht. Bei größeren Projekten können Sie mit eCAD-Software ein Blockdiagramm erstellen, in dem jedes Blatt einen einzelnen Block beschreibt. Es ist eine Kunst, jedes Problem zu zerlegen und die Kompromisse zu managen (das ist IMHO Engineering). Wo es eindeutig eine Analyse für die Auswahl von Komponenten gibt, wie zum Beispiel die analoge Filterung, notiere ich die Grenzfrequenz und den Filtertyp (z. B. Tiefpassfilter (f_c = 100Hz)).

Häufige Blöcke, auf die ich immer wieder stoße, sind:

  • Power Management (Spannungsregler, Verpolungsschutz, TVS-Dioden, Netzschalter, Bypass-Kappen usw.)
  • MCU (Mikrocontroller, Programmier-Header oder Pads, Chip-Bypass-Kappen)
  • Anzeigen (z. B. LEDs, EL-Kabel, 7-Seg-Anzeige, Vibrationsmotor)
  • Erfassung für eine bestimmte Funktion (z. B. Stromerfassung, Berührungserfassung, GSR, Aktivität, Umgebungserfassung usw.)
  • Debug-Comms (Ferritperlen, USB, I2C, UART, SPI, eine Möglichkeit, Informationen zu erhalten)
  • Radio (alle unterstützenden Komponenten für viele Radios)
  • Video (alle unterstützenden Komponenten und Chips für eine Kamera)
  • Externer Speicher (z. B. externer Flash-Speicher, EEPROM-Chip zum Speichern von Einstellungen usw.)
  • Jedes andere Merkmal, das Ihrem Design eigen ist

Mit diesen übersichtlichen und beschrifteten Unterblöcken kann ich einen Schaltplan in weniger als ein paar Minuten erstellen.


3

Ich führe ein Design-Notizbuch und dokumentiere sorgfältig die Bedürfnisse / Wünsche. Bei den frühesten Prototypen gehe ich die Teileauswahl durch und mache mir Notizen zu allen tatsächlichen Entscheidungen. Für spätere Änderungen verwende ich einen ziemlich formalen FMEA-Prozess, bei dem dokumentiert wird, welcher Bedarf nicht erfüllt wird, um eine Änderung zu rechtfertigen.

Wenn ich streng genug bin, kann ich jede Konstruktionsänderung (Hardware, Software, Mechanik) nachverfolgen, die erforderlich ist.

Alle Versionen aller Dinge werden mit Subversion verfolgt.

Dies kann ein wesentlicher Bestandteil einer Design History-Datei sein, was für die FDA ein Muss ist.


3

Ich habe oft Keynote verwendet (Sie können auch PowerPoint verwenden). Dies hat den Vorteil, dass Screen Caps von Simulationssoftware wie SPICE GUIs und dergleichen möglich sind.

Wirklich wichtig für mich ist die Möglichkeit, Schnipsel aus Datenblättern einzufügen und zu markieren, damit die relativen Wichtigkeiten bei meinen Entwurfsentscheidungen sichtbar werden. Ich kann auch Fotos früherer Leiterplatten oder Steckbretter sowie Links zu Artikeln einfügen, mit denen ich Designentscheidungen getroffen habe.

Ich finde auch, dass ich Mathe und Zeichnungen mit Bleistift auf Papier machen möchte. Also mache ich mit meinem Handy ein Foto und lege es in der Keynote ab, ohne es erneut einzugeben. Manchmal verwende ich für kurze Gleichungen LaTeX und lasse es fallen.

Ich kann auch Diagramme einfügen, die mit wissenschaftlicher Software wie Octave erstellt wurden.

Heutzutage kann ich, insbesondere für rechenintensive Aufgaben, einen Teil dieser Arbeit in IPython-Notebooks ausführen, aber ich habe dies nicht speziell für Schaltungsentwürfe getan, sondern nur für physikalische Berechnungen.

Schließlich sind Keynotes / Powerpoints für andere leicht zu verschönern und können als PDF zur Verteilung an nicht / weniger technische Personen exportiert werden.


3

Fügen Sie technische Hinweise zu den Schaltplänen hinzu und erstellen Sie bei Bedarf weitere Blätter. Ich mache mir immer technische Notizen zu allen meinen Schaltplänen, weil ich in meiner Welt möglicherweise 1/2 gebackene Designs für einen bestimmten Zeitraum erneut besuchen muss, um sie dann wieder in den Hintergrund zu stellen, während ich ein anderes Design aufgreife. Sehr flüssiger Designfluss. Diese EE-Notizen helfen mir und anderen, die Entwurfsabsicht mit geringem Aufwand wieder aufzunehmen. Ich benutze auch verschiedene Farben von Texten / Grafiken, um die Wichtigkeit oder den Kontext anzuzeigen. Beispiel unten ...Bildbeschreibung hier eingeben

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.