Author Topic: Geschwindigkeit des IO16?  (Read 2643 times)

Plenz

  • Full Member
  • ***
  • Posts: 174
  • BASICs, Perl, Assembler
    • View Profile
Geschwindigkeit des IO16?
« on: May 06, 2012, 21:19:51 »
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?

Nifty

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #1 on: May 06, 2012, 22:01:14 »
der IO4 ist dafür geeignet, der IO16 ist "nur" geswitcht.

batti

  • Tinkerforge Staff
  • Administrator
  • Hero Member
  • *****
  • Posts: 984
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #2 on: May 07, 2012, 15:29:39 »
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.

Plenz

  • Full Member
  • ***
  • Posts: 174
  • BASICs, Perl, Assembler
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #3 on: May 07, 2012, 16:21:50 »
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.

Nifty

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #4 on: May 07, 2012, 16:24:53 »
Sorry, ich verstehe nicht, was du meinst.
Der IO16 ist für Dein vorhaben zu langsam. Du musst für das Abtasten einen IO4 benutzen.

Erklärung:
http://www.tinkerunity.org/forum/index.php/topic,208.0.html
« Last Edit: May 07, 2012, 16:27:25 by Nifty »

Plenz

  • Full Member
  • ***
  • Posts: 174
  • BASICs, Perl, Assembler
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #5 on: May 07, 2012, 16:36:13 »
Alles klar, vielen Dank!

treaki

  • Newbie
  • *
  • Posts: 23
  • E-Mail: treaki@gmail.com WS: http://treaki.tk/
    • View Profile
    • treaki.tk
Re: Geschwindigkeit des IO16?
« Reply #6 on: May 07, 2012, 22:56:04 »
und
- wie schnell genau ist der IO16 jetzt?

und bitte in die dokumentation die geschwindigkeiten mit aufnehmen:)

batti

  • Tinkerforge Staff
  • Administrator
  • Hero Member
  • *****
  • Posts: 984
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #7 on: May 08, 2012, 13:48:26 »
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.

borg

  • Tinkerforge Staff
  • Administrator
  • Hero Member
  • *****
  • Posts: 3.136
    • View Profile
Re: Geschwindigkeit des IO16?
« Reply #8 on: May 09, 2012, 14:35:50 »
Öh, ihr müsst das "Minute" oben durch "Sekunde" ersetzen. 1000 Nachrichten/Minute wäre ein bisschen wenig :).
Wir sind die Borg, Widerstand ist Spannung durch Stromstärke!