Haben Sie ein Morgenritual? Ich bin ohne meins kaum zu gebrauchen. Mein Gehirn tut sich schwer damit, ohne ein ausgiebiges Frühstück, heißen Kaffee und das fünfminütige Durchgehen meines Posteingangs zu funktionieren – selbst wenn Letzterer keine ungelesenen E-Mails enthält.
Ein Morgenritual für Ihr eingebettetes System ist ebenfalls hilfreich. Sie müssen dem Mikrocontroller Ihrer Leiterplatte zwar keinen Kaffee servieren, aber Sie müssen sicherstellen, dass er den Übergangszustand beim Einschalten effizient handhabt.
Der Inbetriebnahme-Übergang ist der kurze Moment zwischen dem Einschalten der Stromversorgung und einem vollständig initialisierten Mikrocontroller. Dies geschieht normalerweise in Millisekunden oder Mikrosekunden und ist für das menschliche Auge praktisch nicht wahrnehmbar. Aber in der Welt der Elektronik ist dies das Äquivalent von Monaten oder Jahren.
Die meisten Entwickler von eingebetteten Systemen priorisieren den Anwendungsalgorithmus und das Hardware-Design und vernachlässigen diesen kritischen Zustand des „Hochfahrens“. Denn wie kann es sein, dass sich einige wenige Millisekunden auf ein elektronisches Gerät auswirken? Wenn Sie in dieser Denkweise feststecken, wird es nur eine Frage der Zeit sein, bis etwas schrecklich schief geht, wenn jemand Ihr System hochfährt.
Sie möchten eine Pumpe nicht versehentlich einschalten.
Die meisten Mikrocontroller und integrierten Schaltkreise benötigen eine kurze Zeit, bis sie vollständig eingeschaltet und betriebsbereit sind. In dieser Übergangsphase befinden sich die Eingangs-/Ausgangs-Pins normalerweise in ihrem Standardzustand als „Eingang“. Es gibt aber auch Fälle, in denen diese Pins eine Störung aufweisen und während des Einschaltvorgangs zwischen „Logic High“ (1) und „Logic Low“ (0) schwanken.
In realen Anwendungen können die Ausgangs-Pins indirekt mit Aktoren, Pumpen oder Motoren verbunden sein, die beim Einschalten versehentlich ausgelöst werden können. Sie wollen sicherlich keine bösen Überraschungen erleben, wenn Ihr eingebettetes System in der realen Welt im Einsatz ist. Unter bestimmten Umständen können unerwartete Situationen sogar ein Risiko für die öffentliche Sicherheit darstellen.
Es gibt wenig, was ein Firmware-Ingenieur tun kann, bevor der Code eines Mikrocontrollers ausgeführt wird. Daher liegt ein Großteil des Aufwands für die Verwaltung des Inbetriebnahme-Übergangs in den Händen des Hardware-Designers. Eine gängige Praxis besteht darin, den Ausgang mit Pull-up- oder Pull-down-Widerständen zu versehen, um sicherzustellen, dass er sich beim Einschalten immer in einem sicheren Zustand befindet.
Beispielsweise wollen Sie wahrscheinlich, dass ein Motor ausgeschaltet bleibt, bis der Mikrocontroller entscheidet, dass er aktiviert werden soll. In Sicherheitsanwendungen sollten Sie die Türzugangs-Controller so konstruieren, dass das elektromagnetische Schloss mit Energie versorgt bleibt, bis es vollständig hochgefahren ist. Hardwaredesigner müssen das Design je nach Anwendungsfall individuell bewerten.
In einigen Fällen reicht ein einfacher Widerstand möglicherweise nicht aus. In Fällen, in denen mehrere Eingänge mit Logiktreibern verbunden sind, können sich die Ausgänge der Treiber unvorhersehbar verhalten und den Controller-Ausgang trotz der Pull-up/down-Widerstände fälschlicherweise auslösen.
Eine einfache Lösung für Übergangsprobleme bei der Inbetriebnahme.
In diesem Szenario muss Ihr Design eine intelligentere Steuerung haben, die die Logiktreiber nur aktiviert, wenn der Mikrocontroller vollständig eingeschaltet ist. Die meisten Logiktreiber verfügen über einen Output Enable (OE)-Pin, den Entwickler normalerweise an Masse oder VCC routen, damit er kontinuierlich aktiviert bleibt. Um die Auswirkungen des Inbetriebnahme-Übergangs zu verringern, können Sie den OE der Logiktreiber an einen der Ausgangspins des Mikrocontrollers routen und auf den richtigen Spannungspegel ziehen, damit er während der Inbetriebnahme ausgeschaltet bleibt.
All diese Vorkehrungen nur um sicherzustellen, dass das eingebettete System wenige Millisekunden lang ordnungsgemäß funktioniert, mag wie ein unnötiger Aufwand erscheinen. Aber wenn Sie bedenken, dass Sie dadurch Sachschäden oder Verletzungen sicher vermeiden, werden Sie feststellen, dass sich das alles doch lohnt.
Mit hervorragender Leiterplatten-Designsoftware können Sie auf die vollständige Design-Verlaufskompatibilität und umfassende Design-Inhalte zugreifen. Mit der Altium Designer®-Software von Altium können Sie Ihr Design mühelos ändern und gleichzeitig mögliche Auswirkungen von Inbetriebnahme-Übergängen minimieren.
Verhält sich Ihr eingebettetes System während der Inbetriebnahme unberechenbar? Sprechen Sie mit einem Experten bei Altium.