Jump to content

Geschwindigkeit des IO16?


Plenz

Recommended Posts

Ich möchte eine Fernbedienung zweckentfremden, das heißt, die Impulse des Infrarotsignals "abtasten", dementsprechend in eine binäre Zahl verwandeln und anhand dieser Zahl eine Elektronik ansteuern.

 

Bis jetzt hatte ich das mit einem alten Notebook gemacht, das noch eine parallele Druckerschnittstelle hatte. Ein C-Programm war schnell genug, um die Schnittstelle oft genug abzufragen. Aber jetzt möchte ich das selbe mit USB realisieren.

 

In den technischen Daten des IO16 sind keine Geschwindigkeiten angegeben. Wie oft pro Sekunde kann ich einen Input-Pin abfragen?

 

Link zu diesem Kommentar
Share on other sites

Mit der IO4 solltest du mit 1khz Frequenz das Signal abtasten können.

Die Fernbedienungssignale sind mit z.B.: 36khz moduliert, du benötigst also einen Demodulator wie z.B. der SFH5110-36. Ich habe gerade etwas davon gelesen, dass die Bitzeiten beim RC5 Standard 1.8ms entsprechen.

Diese könntest du alle 1ms (1khz) abtasten.

Link zu diesem Kommentar
Share on other sites

der IO4 ist dafür geeignet, der IO16 ist "nur" geswitcht.

Sorry, ich verstehe nicht, was du meinst. Ich brauche jedenfalls 1 Eingang und 4 Ausgänge, deshalb kam ich auf den IO16. Alternativ könnte ich natürlich den IO4 nehmen und nur 2 Ausgänge benutzen, an die ich noch einen Decoder anschließe, denn ich brauche niemals 2 Ausgänge gleichzeitig.

Link zu diesem Kommentar
Share on other sites

Die Info fehlt wirklich in der Doku, nehmen sie gleich auf.

 

Eine Begrenzung ist USB. Es können 1000 Nachrichten pro Sekunden ausgetauscht werden. D.h. z.B. 1000 Setter oder 500 Getter (wegen dem Hin- und Rückweg). Diese 1000 Nachrichten hängen zusätzlich vom verwendeten USB Stack des Betriebsystems ab und natürlich auch von der Leistung des Systems (z.B. noch nicht auf dem Raspberry PI getestet).

 

Wenn das System 1000 Nachrichten pro Sekunde erreicht, dann erreicht man:

 

IO-4 Bricklet:

 

1000 Setter pro Minute

500 Getter pro Minute

1000 Callbacks pro Minute

 

D.h. möchte man z.B. zwei Pins Abfragen, so erreicht man maximal den halben Durchsatz.

 

IO-16 Bricklet:

 

1000 Setter pro Minute

>250 Getter pro Minute (liegt an der Implementierung)

1000 Callbacks pro Minute

 

Bei dem IO-16 Bricklet gelten diese Angaben pro Port. D.h. man kann alle 8 Pins eines Ports mit dieser Geschwindigkeit setzen oder abfragen. Wenn beide Ports parallel genutzt werden halbiert sich auch wieder der Durchsatz.

 

Die ganzen Angaben gelten natürlich nur wenn man nichts anderes parallel macht.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...