Was macht die SPI schneller als I2C-Protokoll
Ich kenne die Grundlagen von I2C-und SPI-Kommunikation. Als beide synchron Protokoll. Ich wollte wissen, was das SPI schneller als I2C. Wenn ich mich nicht Irre über I2C können wir gehen, 400kbps, während bei SPI können wir erreichen, 10mbps auch. Sieht es denn von der hardware ändern?
Diese Frage wurde mir mal in einem interview.. Bitte mich korrigieren, wenn ich falsch bin.
- Diese Frage scheint off-topic, weil es um hardware, nicht die Programmierung.
- Haben Sie einen Blick auf diese Erklärung bei stackexchange: electronics.stackexchange.com/questions/29037/... E.
- Tatsächlich, es ist meist über die Protokolle gewährt, niedrige Ebene, mit welcher hardware die Leute haben, die Vertrautheit, aber die gleichen Probleme auftauchen im Netzwerk-stacks, etc.
- Noch, embedded-Systeme, die Fragen, und die Grenze zwischen hardware und software, bekommen einen viel besseren Empfang im electronics.stackexchange.com. Reine software-Fragen sind immer on-topic gab es auch, so lange wie Sie im Zusammenhang mit embedded-Systemen und low-level-Programmierung.
InformationsquelleAutor kapilddit | 2014-02-18
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
I2C ist ganz beteiligt, unterstützen mehrere Master auf dem bus. Das verursacht erheblichen overhead bei den bus-Protokoll, ACK-Meldung für jedes byte und absichtliche Verzögerungen zu vermitteln, Zugriff auf den bus. Auch eine maximale bus-rate, 100 kHz in der original spec, 400 kHz ist heute üblich, zusätzliche 10 kHz low-speed-und 3,4 Mhz high-speed-Modi, die 2012 spec definiert eine 5-Mhz-ultra-fast-Modus.
SPI ist viel einfacher, einen einzelnen master mit nicht-bus-Protokoll über ein chip-select-und keine maximale bus-rate. Wenn die Entfernungen kurz sind, dann können Sie gehen so schnell wie du dich traust. Ganz schnell auf ein interconnect zwischen den chips, die weniger als einen Zoll auseinander.
Es ist eine wichtige hardware-Unterschied, die Grenzen der Geschwindigkeit auf dem I2C.
SPI: alle Linien Gefahren werden, von der der Sender sowohl hoch und niedrig. Dies minimiert die benötigte Zeit für den Draht zu ändern Staaten.
I2C: alle Leitungen sind open-collector-was bedeutet, dass der Sender nur fährt die Linie niedrig. Wenn der Sender löst die Linie ein Widerstand mit Vcc verbunden (Versorgungsspannung), zieht das Licht hoch. Jedoch, aufgrund der Kapazität des Drahtes und der Komponenten, der Draht geht zu hohe Spannung relativ langsam. Weil dieses, die Uhr Geschwindigkeit muss verringert werden, damit Zeit für die Zeilen zu "drift" hoch.
Geschwindigkeiten abhängen, welche Art von Brett Sie verwenden und wie Sie Ihre hardware-Logik implementiert ist.
Es gibt bestimmte vor-und Nachteile bei der Verwendung einer über den anderen.
Auswahl auf welchen bus-Typ zu verwenden, hängt davon ab, welche Art der Kommunikation Sie müssen zwischen verschiedenen Peripheriegeräte, die Sie eine Verbindung herstellen möchten verwenden Sie.
http://quick2wire.com/articles/i2c-and-spi/