Wie erkenne ich welcher IOW welcher ist?
Moderator: Guido Körber
Wie erkenne ich welcher IOW welcher ist?
Hallo,
ich habe in meiner Anwendung 2 IOW24. Woher weiß, bzw. wie kann ich sicher stellen, welcher IOW mein erster ist? In der Beschreibung steht, dass der der erste gefundene IOW dem ersten Handle zugewiesen wird. Aber welcher ist das? Kann man das ohne externe HW- Beschaltung irgendwie Abfragen?
MfG und DANK im Voraus
L.Vetter
ich habe in meiner Anwendung 2 IOW24. Woher weiß, bzw. wie kann ich sicher stellen, welcher IOW mein erster ist? In der Beschreibung steht, dass der der erste gefundene IOW dem ersten Handle zugewiesen wird. Aber welcher ist das? Kann man das ohne externe HW- Beschaltung irgendwie Abfragen?
MfG und DANK im Voraus
L.Vetter
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
über das Problem habe ich auch schon nachgedacht.
Die Seriennummern würde ich in eine INI-Datei schreiben, damit man sie ändern kann ohne neu compilieren zu müssen.
Bei Einzelgeräten währe das handhabbar, bei Auslieferung an Kunden aber schon schwieriger.
Eine Lösung die ich vor hatte wäre ein kleines I2C-eprom mit einer Kennung, da könnte dann sogar eine Bestückung mit Sensoren oder Kalibrierparameter mit abgelet sein.
Die Seriennummern würde ich in eine INI-Datei schreiben, damit man sie ändern kann ohne neu compilieren zu müssen.
Bei Einzelgeräten währe das handhabbar, bei Auslieferung an Kunden aber schon schwieriger.
Eine Lösung die ich vor hatte wäre ein kleines I2C-eprom mit einer Kennung, da könnte dann sogar eine Bestückung mit Sensoren oder Kalibrierparameter mit abgelet sein.
Ich habe 2 IOWs, die gänzlich verschiedene Aufgaben haben! Nun muss ich ja sicherstellen, dass mein erster IOW auch immer mein erster ist! Wovon hängt das eigentlich ab? Auf meinem Prototypen ist der erste IOW auch immer der gleiche, die Frage ist nur, ob das bei dem nächste Print mit dem gleichen Layout auch noch der der gleiche IOW ist? Ich dachte nun als Abhilfe an jedem IOW ein Input zu Opfern, und den einen auf High, den anderen auf LOW zu legen. Danach könnte ich dann bei der Handle zuweisen eine klare Aussage machen, welcher IOW welcher ist.
Gruß
Gruß
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Also grundsätzlich ist die Sortierung welcher IO-Warrior der "erste" ist vom Betriebssystem und dem vorgeschalteten Hub abhängig. Man kann sich da also nicht unbedingt drauf verlassen, dass diese Sortierung gleich bleibt wenn eine neue Version des Systems eingespielt wird.
Relativ einfach ist die Unterscheidung wenn an beiden IO-Warrior ausreichend unterschiedliche Harware hängt, die man ohne Probleme austesten kann. Optimal ist es z.B. wenn an beiden am IIC was dran hängt, das aber total unterschiedlich ist. Dann versucht man einfach eines der IIC Geräte zu adressieren und sieht dann ob man einen Fehler bekommt oder nicht.
Relativ einfach ist die Unterscheidung wenn an beiden IO-Warrior ausreichend unterschiedliche Harware hängt, die man ohne Probleme austesten kann. Optimal ist es z.B. wenn an beiden am IIC was dran hängt, das aber total unterschiedlich ist. Dann versucht man einfach eines der IIC Geräte zu adressieren und sieht dann ob man einen Fehler bekommt oder nicht.
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
Ht man ein Design mit zwei IO-Warriors an einem internen Hub so bestimmt der Hub die Reihenfolge in der er seine Ports abarbeitet.
Solange man also einen internen Hub von immer der gleichen Marke hat kann es gutgehen.
Was dann aber das Betriebssystem macht ist unklar. Bei Windows gibt es eine WM_DEVICECHANGE Message und es ist nicht ganz klar ob nicht doch die Reihenfolge dann verschieden ist.
Die Verwaltung mehrerer der Geraete muss natuerlich immer noch im Programm erfolgen.
Zwei kleine IIC-EEPROMs sind eine Kostenfrage. Nur fuer die Unterscheidung zweier IO-Warrior lohnt es sich nicht.
Solange man also einen internen Hub von immer der gleichen Marke hat kann es gutgehen.
Was dann aber das Betriebssystem macht ist unklar. Bei Windows gibt es eine WM_DEVICECHANGE Message und es ist nicht ganz klar ob nicht doch die Reihenfolge dann verschieden ist.
Die Verwaltung mehrerer der Geraete muss natuerlich immer noch im Programm erfolgen.
Zwei kleine IIC-EEPROMs sind eine Kostenfrage. Nur fuer die Unterscheidung zweier IO-Warrior lohnt es sich nicht.
@G.Körber,
das hatte ich auch schon gedacht, jedoch muss ich auch noch einen Testadapter für die Platine entwickeln, der mir eine möglichst genaue Fehlerauskunft über defekte Bauteile gibt. Sollten die IOW funktionieren, die Peripherie aber nicht, wird das alles schon wieder unangenehm und unübersichtlich für nachfolgende Entwickler, die sich damit auseinandersetzen müssen.
Die Perfekte Lösung scheint es irgendwie nicht zu geben, zumindest habe ich sie noch nicht :roll: ich denke mal ich bleibe bei Opferung eines Pins pro IOW....
das hatte ich auch schon gedacht, jedoch muss ich auch noch einen Testadapter für die Platine entwickeln, der mir eine möglichst genaue Fehlerauskunft über defekte Bauteile gibt. Sollten die IOW funktionieren, die Peripherie aber nicht, wird das alles schon wieder unangenehm und unübersichtlich für nachfolgende Entwickler, die sich damit auseinandersetzen müssen.
Die Perfekte Lösung scheint es irgendwie nicht zu geben, zumindest habe ich sie noch nicht :roll: ich denke mal ich bleibe bei Opferung eines Pins pro IOW....
Wenn die beiden IOW24 zusammen gehören und immer zusammen augeliefert werden, könnte man doch die Relation der beiden Seriennummern auswerten: Der IOW mit der kleineren Seriennummer ist immer der erste, der mit der größeren der zweite. Die absolute Seriennummer muß dann nicht bekannt sein. Einziger Nachtei (den ich sehe) ist, daß bei der Fertigung die Seriennummern ausgelesen und die Chips dann entsprechent bestückt werden müssen. Ob das wirklich ein Problem ist, kann ich nicht sagen, weil ich nicht der Fertigungsexperte bin. Wenn die Chips gegurtet sind, ist doch da auch eine Reihenfolge vorgegeben?
-
- Site Admin
- Posts: 2879
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Das ist keine prakikable Lösung. Dann müsste man bei der Fertigung einen extra Arbeitschritt einlegen, in dem man die SMD-IOWs in einen ich les mal die SNR aus Adapter spannt. Der wiederum braucht einen extra PC. Dann das beschriften usw. ist eine Sache, die man bei einer externen Bestückung (bei einem Sub- Unternehmen) sicherlich nicht bezahlen kann/will.
Thx anyway
Thx anyway