Frage

Ich beginne zu versuchen, mit einigen externen Komponenten (Skyetek M1 Mini oder M1 RFID-Scanner) Schnittstelle als die folgenden Protokolle TTL, SPI oder I2C unterstützt. Ich frage mich, welche diese Routen würden Sie empfehlen. Die App, die an Ort und Stelle ausgeführt wird, benötigt viel Rechenzeit (ein kontinuierlich laufende Geste Matching-Algorithmus) und ist ziemlich teuer Ressourcen.

Alle Links oder Quellen zum Thema würden sehr geschätzt werden.

Hilfreiche Links gefunden:

TTL:

Danke für Ihre Hilfe.


Edit:

Wenn es hilft das Gerät ich mit der Skyetek M1 und M1 mini . Die Plattform / CPU ist die Sonne SUNSPOT .

War es hilfreich?

Lösung

Mit dem TTL meinen Sie UART (wo ein peripheres empfängt / sendet einen seriellen Strom automatisch) oder Bit-Banging (wo man manuell eingestellt / Reset / Toggle-Bit)?

Ich würde wahrscheinlich SPI empfehlen. Es ist ein relativ einfaches Protokoll und auf der Master-Seite, wenn Sie zu haben, können Sie es Bit-Knall. (Aber viel einfacher Einbau-SPI-Peripheriegeräte zu verwenden.) Der SPI-Master sendet eine Taktleitung (SCLK) und eine Datenleitung (MOSI = Master out Slave in), wobei die Datenbits gültig auf einem bezeichneten Flanke des Takts sind Linie; er empfängt eine Datenleitung (MISO = Master-Slave in out) von dem Slave in dem die Datenbits auf einer bestimmte Kante der Taktleitung gültig sind. Wenn Sie mehrere Slaves haben, ist die Technik in der Regel für jeden Slave ein Chip-Select (CS) Linie zu haben; wenn CS des Slave niedrig dann in Frage aktiv ist, sonst ist es soll die Takt- / Datensignale ignorieren und nicht die MISO-Leitung zu stören. SPI ist einfach und wird sogar mit einem HC594 oder HC595 Ausgangsregister (tie MOSI zu SER, SCLK SCK, CS zu RCK) arbeiten, wenn Ihr Mikrocontroller auf Ausgangstor Pins kurz ist, und Sie müssen ein paar zusätzliche diejenigen. Wenn Sie mehr als 3 SPI-Geräte haben, sollte eine HC138 als Decoder unter Verwendung die einzelnen Geräte CS-Leitungen von einem Satz von Adressbits und einer Master-Chip-Auswahlleitung von dem Mikroprozessor zu erzeugen. (Da nur ein CS-Leitung sollte in einer Zeit niedrig sein)

I2C ist ein Schmerz. Sein Hauptvorteil ist, dass Sie alles in 2 Drähten tun können (+ Strom und Masse) unter einem Bündel von Peripherie geteilt. Aber Sie müssen Adresse Anstoßes und ein paar andere Dinge behandeln. Es ist auch langsamer als SPI und hat Open-Collector-Linien so den Stromverbrauch + Störsicherheit beziehen sich auf das, was Sie verwenden, in denen für die Pull-up-Widerstände (oder Stromquellen).

Eine UART kann die schnellste Lösung. SPI hat eine Drehzahlbegrenzung auf die Round-Trip-Ausbreitungszeit bezogen, da beide Seiten dasselbe Taktsignal verwenden. (Signal path = Master ändert SCLK Stift, slave sieht sie und antwortet durch MISO-PIN ändern, verwendet Master MISO-Signal auf der nächsten SCLK Kante so das Signal von dem Slave dann angekommen sein sollte) In einem UART, der ankommende und abgehender Bitströme zu antworten, und senden dann den nächsten Befehl unabhängig sind, und Latenz bedeutet nicht, Ihren Durchsatz, wenn der High-Level reduziert Protokoll für UART Endpunkt A ist für B einen Befehl an UART Endpunkt B, warten zu senden. Wirklich schnelle serielle Datenströme sollten mit LVDS betrachten die Signalintegrität zu erhalten. Aber UART Bytes Parsen ist eine Art Schmerz im Vergleich zu SPI; in SPI gibt es deutlich begrenzt Pakete, während in UARTs Sie mit einem undefinierten oder unzureichend abgegrenzten seriellen Strom handeln und jede Paketieren von Parsen der Daten selbst durchgeführt werden muss.

edit: ein weiteres Plus mit einem UART ist, dass manchmal der Prozessor automatisch verarbeiten kann große Sende- / Empfangspuffer, so dass Ihr Programm kann einen großen glob von Bytes Warteschlange gesendet werden soll, und dann eine Reihe von empfangenen Bytes parsen wenn Sie es Lust haben. Die Hardware kann die Unmittelbarkeit des Senden / Empfangen jedes einzelne Byte verarbeiten und befreit das Programm von sich Gedanken über die einzelnen Bytes fehlen, die ankommen, wenn Ihr Programm etwas anderes zu tun.

Andere Tipps

Jason Antwort ist viel detaillierter, aber ich dachte, dass ich meine kurze Erfahrung hinzufügen würde.

habe ich eine Skytek M1 Micro RFID / Schreibmodul zu einem BASIC Stamp über TTL angeschlossen lesen. Ich hatte nie Probleme, und das Set up war viel einfacher, als es mir gewählt I2C gehabt haben würde.

Es erfordert nur die Mikrocontroller einfache seriellen TTL-Befehle zu senden, nach dem SkyeTek-Protokoll. Ich hatte es aufgebaut und in ca. 5 Minuten auf meinem Steckbrett zu arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top