Moin moin, ich arbeite gerade an einem Projekt wo ich mehrere verschiedene Schnittstellen verwende z.B. I2C, UART, SPI und I2S. Die Schnittstellen werden nicht alle gleichzeitig verwendet. Je nachdem was man für ein Gerät anschließt wird der jeweilige Port(Interface) verwendet. Meine Frage ist nun, wie kann ich nun genau detektieren welches Interface verwendet wird? Ich kann die Pegel abfragen, mich würde aber interessieren ob man schon vorher den Port abfragen kann ob überhaupt irgendwas angeschlossen ist. Sowas wie auf der Leitung gibt es eine spezielle Reflektion also ist kein verbraucher angeschlossen. Oder der Quellwiderstand ist so gut gewählt das keine Rflektionen zurück kommen, also muss auch ein Verbraucher/Empfänger vorhanden sein. Der aber noch nichts sendet. Gruß Tim
Nachtrag: Das mit den Reflektionen sollte nur ein Beispiel. Falls es auch eine andere Möglichkeit gibt wäre ic dafür auch offen.
Vorneweg: > Reflektionen Gibts gar nicht! http://de.wikipedia.org/wiki/Reflexion_%28Physik%29 Tim schrieb: > ich arbeite gerade an einem Projekt wo ich mehrere verschiedene > Schnittstellen verwende z.B. I2C, UART, SPI und I2S. Was für eine Plattform? uC, FPGA, ASIC? > > Die Schnittstellen werden nicht alle gleichzeitig verwendet. Je nachdem > was man für ein Gerät anschließt wird der jeweilige Port(Interface) > verwendet. > Meine Frage ist nun, wie kann ich nun genau detektieren welches > Interface verwendet wird? Beim UART ist es einfach: wenn nichts ankommt, ist nichts angeschlossen. Beim SPI kannst du mit einem Pullup am MISO feststellen, ob was abgeschlossen ist: schickst du was raus und bekommst nur Einsen zurück, dann ist vermutlich nichts dran. Beim I2C bekommst du kein Acknowledge, wenn nichts angeschlossen ist. Und beim I2S ist es schlicht egel, da kannst du senden, auch wenn nichts dran ist. Das mit den Reflexionen wird in der Praxis nie funktionieren!
vielleicht eine zusätliche Leitung für nen ADC Eingang abzwacken und je nach eingelötetem Festwiderstand vorgeben, was es gerade ist. Klaus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.