Guten Tag.
Nehmen wir an, bei einem IOW 24 werden alle 16 Linien als Ausgänge genutzt und nur mit Optokopplern ("versorgt" von der +5 v Spannung am Chip) und mit CMOS-Eingängen (ein IC, auch versorgt von den gleichen 5v) verbunden. Die 5v nimmt die ganze Anordnung vom Bus. Jetzt folgendes Problem : da der IOW keinen Hardware-Reset-Eingang besitzt, wollte ich wissen, was bei einer kurzfristigen Unterbrechung der 5v Spannung (zwecks "Neustart" bei einem Problem) zwischen Bus und IOW (und angeschlossener Hardware) passieren würde ? Die D-/D+ und Masse Leitung wären ja weiter mit der Schnitstelle des Host-Rechners verbunden. Meine Ängste reichen von einer notwendigen Neu-Initialisierung per "open" über einen fehlerhaften Neustart, ein totales Aufhängen bis hin zu Hardware-Schäden. Hat jemand schon diesen Versuch gemacht ?
Mit bestem Dank im voraus.
Reset beim IOW 24 ? Kamikaze Frage !
Moderator: Guido Körber
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: Reset beim IOW 24 ? Kamikaze Frage !
Warum will man denn einen Hardware-Reset des IO-Warriors durchführen?
Ein IowKitOpen() sollte man auf jedenfall durchführen damit die Handles des IO-Warriors auch aktuell und richtig sind.
Was das Trennen der 5V Leitung betrifft habe ich dort keine Erfahrungen, ob der Chip dadurch beschädigt wird.
Ein IowKitOpen() sollte man auf jedenfall durchführen damit die Handles des IO-Warriors auch aktuell und richtig sind.
Was das Trennen der 5V Leitung betrifft habe ich dort keine Erfahrungen, ob der Chip dadurch beschädigt wird.
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: Reset beim IOW 24 ? Kamikaze Frage !
Also aus Hardware-Sicht kann ich dazu nur sagen: Nicht machen!
Aus gutem Grund hat der USB Stecker vorauseilende Masse und 5 V Kontakte. Bleiben die Datenleitungen und die Masse angeschlossen, dann kann es zu einem Brown Out kommen, also der IO-Warrior bekommt dann Strom über seine Schutzdioden vom USB. Damit ist dann völlig unvorhersehbar in was für einen Zustand der Chip fällt.
Aus gutem Grund hat der USB Stecker vorauseilende Masse und 5 V Kontakte. Bleiben die Datenleitungen und die Masse angeschlossen, dann kann es zu einem Brown Out kommen, also der IO-Warrior bekommt dann Strom über seine Schutzdioden vom USB. Damit ist dann völlig unvorhersehbar in was für einen Zustand der Chip fällt.
Re: Reset beim IOW 24 ? Kamikaze Frage !
Hallo wieder (nach ein paar Tagen Abwesenheit).
Zuerst die gute Nachricht : Habe inzwischen von einem Freund erfahren, dass dieses System wirklich immun gegen Handys ist (er hat den Versuch mit dem IOW40-Kit gemacht).
Nun die Schlechte : es KÖNNTE ja doch mal vorkommen, dass sich der Chip aus unerklärlichen Gründen (Murphy wacht ! ) aufhängt und überhaupt nicht mehr auf den Bus "hört" (zum Glück arbeite ich nur mit 9v Gleichstrom, galvanisch getrennt : eine Sorge weniger). Dann bliebe mir nur noch der "Power On Reset", durch ... herausziehen des USB-Steckers, denn sogar im ausgeschalteten Zustand (des Computers) bleibt bei mir die USB-Spannung erhalten (zum Laden von Geräten ; Gigabyte Motherboard). Und dies lässt sich durch keine Einstellung ändern (Setup ... ) . Man muss also "brutal" vorgehen !
Deshalb finde ich es eigentlich schon ein wenig seltsam von Seiten des Herstellers des Chips (Cypress für den 24er, soviel ich weiss), dass DER keinen Reset-Eingang vorgesehen hat !
Nun ja, wie immer, hoffen wir das Beste ... und ich werde einen Notschalter vorsehen, der die Steuerung selbst wenigstens deaktiviert !
:-)
Zuerst die gute Nachricht : Habe inzwischen von einem Freund erfahren, dass dieses System wirklich immun gegen Handys ist (er hat den Versuch mit dem IOW40-Kit gemacht).
Nun die Schlechte : es KÖNNTE ja doch mal vorkommen, dass sich der Chip aus unerklärlichen Gründen (Murphy wacht ! ) aufhängt und überhaupt nicht mehr auf den Bus "hört" (zum Glück arbeite ich nur mit 9v Gleichstrom, galvanisch getrennt : eine Sorge weniger). Dann bliebe mir nur noch der "Power On Reset", durch ... herausziehen des USB-Steckers, denn sogar im ausgeschalteten Zustand (des Computers) bleibt bei mir die USB-Spannung erhalten (zum Laden von Geräten ; Gigabyte Motherboard). Und dies lässt sich durch keine Einstellung ändern (Setup ... ) . Man muss also "brutal" vorgehen !
Deshalb finde ich es eigentlich schon ein wenig seltsam von Seiten des Herstellers des Chips (Cypress für den 24er, soviel ich weiss), dass DER keinen Reset-Eingang vorgesehen hat !
Nun ja, wie immer, hoffen wir das Beste ... und ich werde einen Notschalter vorsehen, der die Steuerung selbst wenigstens deaktiviert !
:-)
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: Reset beim IOW 24 ? Kamikaze Frage !
Der Chip reagiert auf den Bus-Reset des USB. Ein separater Reset Eingang ist eigentlich zunehmend unüblich geworden bei Microcontrollern, da es andere Mechanismen gibt.
Re: Reset beim IOW 24 ? Kamikaze Frage !
Also würde der verlängerte sogenannte "SE0" Zustand einen HARDWAREMÄSSIGEN (und nicht softwaremässigen) Reset beim Chip auslösen ? Dann wäre ja alles soweit in Ordnung ...
Re: Reset beim IOW 24 ? Kamikaze Frage !
Allerdings wäre es noch schöner, wenn ein solcher Harware-Reset automatisch von der Anwendunssoftware ausgelöst werden könnte (bei einem Zugriffsfehler) . Habe auf jeden Fall in der dll nichts in dieser Richtung gefunden (falls es überhaupt machbar ist) .... Dass die anderen Geräte diesen Reset auch "abbekämen" würde ich gern in Kauf nehmen.
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: Reset beim IOW 24 ? Kamikaze Frage !
Der IO-Warrior hat einen internen Watchdog, der sich darum kümmert, falls der Chip sich aufhängt. Der USB Reset ist zwar nur ein Interrupt, es wird aber durch den Watchdog sicher gestellt, dass der auch erkannt wird.
Einen Aufruf für einen USB Reset gibt es nicht in der DLL weil es so etwas überhaupt nicht von der Anwendungsebene gibt, das ist ausschließlich dem Hub-Treiber vorbehalten.
Einen Aufruf für einen USB Reset gibt es nicht in der DLL weil es so etwas überhaupt nicht von der Anwendungsebene gibt, das ist ausschließlich dem Hub-Treiber vorbehalten.