Hallo alle miteinander, mir kam grad die mehr oder minder wahnwitzige Idee, dass ich bei einem IC in meinem Projekt die übrig bleibenden parallelen Datenleitungen als GPIOs vergewaltigen könnte. Kurz ein wenig mehr Hintergrund: Ich habe einen USB Controller, welcher mir parallele I/Os auf USB übersetzt. Dadurch kann ich im PC entsprechend Daten empfangen und senden. Nun lassen sich einige dieser parallelen Datenleitungen unabhängig von anderen "steuern". Anders gesagt. Neben denen die ich benutze, gibt es jetzt noch welche, mit welchen ich einen seperaten, parallelen Datenbuss realisieren könnte. Wenn man jetzt mal rumspinnt, könnte man darauf doch durchaus auch einen I2C realisieren oder? Oder vielleicht Ansteuerung von hardware Pins. Einfach auf der entsprechenden Leitungen kurz oder dauerhaft eine 1 oder 0 als "Daten" senden, die dann eben irgendwelche Hardware Pins von dem zu kontrollierenden IC entsprechend setzen. Ich fänds halt ganz cool mir auf dem Wege nen Mikrocontroller zu spahren. Würde mir den zusätzlichen Platzverbrauch gerne spahren. Was meint? Unfug? (Wenn ja bitte mit ..., weil ...) oder durchaus machbar? Beste Grüße, Icke halt!
Für I2C brauchst du Open-Kollektor Ausgänge, was ggf. durch ein wenig Zusatzbeschaltung erreichbar ist.
Also Bitbanging per USB? Sonderlich schnell wird das aufgrund des Zeitrasters von USB nicht sein.
Hm... aber ich höre schonmal kein "geht nicht":P Das mit dem Open Kollektor stimmt natürlich. Da hatte ich garnicht drüber nachgedacht. @A.K. Was heißt für dich denn sonderlich schnell? Kenne die Zeitfenster jetzt nicht genau. Wenn ich die Bandbreite von USB 3.0 bedenke, sollte das doch eigentlich recht fix werden oder?
Icke_Wa?! schrieb: > sollte > das doch eigentlich recht fix werden oder? Beim Schreiben ist das alles kein Problem. Aber USB ist beim Lesen nur schnell wenn man grosse Blöcke überträgt. Einzelne Bits werden wohl im Milisekunden-Rhytmus daherkommen.
Wollte ich auch gerade antworten. Man muss mit ca 1ms pro Datenpaket rechnen - auch wenn es nur einzelne Bytes sind.
Und das bedeutet, dass jede Pinänderung und jede Pinabfrage ein solches Paket darstellt. Man landet also bei den klassischen 1ms Frames bei einigen hundert Bits pro Sekunde über I2C.
Sprich die I2C Clock hätte maximal 1kHz? Oder ja ne .... die 0 muss ja auch immer gesendet werden. Also sogar nur 500Hz? Das wäre vielleicht doch etwas langsam ja :/
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.