Liebe Hardware Entwickler, in letzten Meeting zwischen unserer HW- und SW-Abteilung wurden einige Aussagen getätigt, die für mich als SW-Entwickler schwer nachzuvollziehen sind. Ich würde mich freuen, wenn mir jemand vielleicht helfen könnte diese Nachzuvollziehen oder seine Sichtweise auf die Dinge erläutern könnte. Hier eine Kurzfassung. Im Projekte geht es um eine Entwicklung eines Schaltpaneels (ca. 10 Schalter, ca. 15 LEDs) und die Verbindung zum uC. Also eigentlich ein Standard Projekt. Folgende Aussagen wurden im Meeting getätigt:
-
Die 15 Schalter sollen direkte auf zu dem uC (GPIOs) geführt werden, ohne irgendwelche Zusatzbauteile. Ein vorgeschlagener IO-Expander auf der Schalter Baugruppe/PCB ist unsicherer (wobei Sicherheit nicht näher spezifiziert ist). Eine SPI Verbindung (20cm) würde nicht funktionieren.
-
„I2C ist eine unsichere Verbindung und wird bei uns nicht verwendet“. Hier wurde als Begründung der Tri-State der Pins genannt. Wobei Sicherheit sich hier auf funktionale Sicherheit bezieht. Der Tri-State bezieht sich auf den Transceiver und das Umschalten zwischen Empfangen und Senden.
-
Die LEDs sollen über eine Daisy Chain angeschlossen werden, dabei handelt es sich um ein China-Modul mit entsprechender eingeschränkter Dokumentation und Ansteuerung über Pulslänge im 100ns Bereich (Datenblatt habe ich leider grade nicht vorliegen).
Meine Sicht wäre folgende:
Zu 1) – Entfernung von SPI lässt sich einfach Googeln. – Zu einer direkten Verbindung zu den GPIOs, muss man, glaube ich auch nicht viel sagen. – Ein Wackelkontakt oder schlechte Verbindung wäre bei der Vielzahl an Kabel viel wahrscheinlicher als ein Ausfall des IO-Expanders. (Der IO-Expander sollte dabei direkt auf die PCB der Schalter). – Der Ausfall des IO-Expanders wäre einfach zu detektieren. – Verkabelungsaufwand und spätere Integration wäre deutlich geringer. – Die Schnittstelle zum uC müsste auch bei Veränderung des Paneels nicht mehr angefasst werden. – Die serielle, Daisy Chain Ansteuerung passt aus meiner Sicht nicht zu Punkt 3.
Zu 2) – Demnach kann es keine ICs mit I2C und SIL3 Zertifizierung geben, gibt es aber. – CAN besitzt auch einen Transceiver, hier müsste das gleiche Problem vorliegen. (Ich bin dann sicherheitshalber mit dem Fahrrad von der Arbeit nach Hause gefahren:)) – Die funktionale Sicherheit auf serieller (Physical/Logical- Layer) zu betrachten ist nur die halbe Wahrheit. Falls es reicht einen Ausfall zu detektieren und man entsprechend reagieren kann ist aus meiner Sicht eine Übertragung über fast alle Kanäle möglich. Entsprechende Absicherung (z.b. ausreichende CRC/Sequencer, ...) vorausgesetzt – ist halt ein anderer Layer.
Zu 3) – Im Vergleich zum IO-Expander ist es ein No-Name-Produkt, da stellt sich für mich die Frage über: QC, Verfügbarkeit, Shelf-Life, Regulierungen (darf es vertrieben werden), Software-Integration, ... – Wie unter 1) einmal seriell, aber die Schalter parallel von der Baugruppe/PCB. Aus meiner Sicht nicht konsistent. Ich hoffe, die Ausführung war nicht zu kurz, halbwegs verständlich und reicht für eine Einordnung.
Vielen Dank für euer Hilfe. Beste Grüße M