Was ist Dual / Quad-I / O?


23

Beim Lesen eines SPI Flash-Datenblattes stieß ich auf die Konzepte "Dual I / O" und "Quad I / O". Zuerst dachte ich, dass "Dual I / O" gleichbedeutend mit "Vollduplex" ist, aber was ist dann "Quad I / O"?

Was ist Dual I / O und Quad I / O und wie vergleichen sie Duplex und Vollduplex?


Der Zynq PS (Cortex A9) verfügt beispielsweise über einen QSPI-Controller und ist auf einer Zed-Karte mit einem seriellen 4-Bit-SPI-NOR-Flash (Quad-SPI) verbunden. The Spansion S25FL256S

Antworten:


20

Ein Multi-I / O- SPI-Gerät kann eine höhere Bandbreite oder einen höheren Durchsatz von einem einzelnen Gerät aus unterstützen. Eine Dual-I / O -Schnittstelle (Zwei-Bit-Datenbus) ermöglicht eine Verdoppelung der Übertragungsraten im Vergleich zu standardmäßigen seriellen Flash-Speichergeräten. Eine Quad-I / O -Schnittstelle (Vier-Bit-Datenbus) verbessert den Durchsatz um das Vierfache.

Bildbeschreibung hier eingeben


4
Das ist kein SPI-Gerät - SPI verwendet keine bidirektionalen Pins.
Ben Voigt

7
SD-Speicherkarten unterstützen die Verwendung eines 4-Bit-Busses. Es ist schwierig zu sagen, dass sie "kein SPI-Gerät" sind, da dieselbe Karte (zu einem anderen Zeitpunkt) den standardmäßigen 1-Bit-SPI-Bus verwenden kann.
Davidcary

8

Dies bedeutet, dass Sie über mehr serielle Leitungen verfügen, die dieselben Steuersignale verwenden, oder einen seriellen Anschluss mit mehr als einer Datenleitung anders belegen.

Sowohl Dual-I / O als auch Quad-I / O sind Halbduplex (siehe Seite 10), da bei Dual-I / O beide Leitungen parallel verwendet werden, um den Durchsatz zu erhöhen und die gleiche Anzahl von Drähten zu erhalten. I / O auch DQ2 und DQ3 werden zusammen mit DQ0 und DQ1 als I / O verwendet.

Beachten Sie, dass der Dual-I / O-Modus dieselbe Anzahl von Leitungen verwendet wie der normale SPI-Bus, sodass keine zusätzlichen Pins in der uC und keine dedizierte Hardware erforderlich sind.


1
"Ein serieller Port mit mehr als einer Datenleitung" würde als paralleler Port bezeichnet.
user253751

@immibis nicht unbedingt, da an einer parallelen Schnittstelle die beiden Signale synchron zueinander sein müssen, während zwei serielle Leitungen unabhängige Streams übertragen können, die vom Empfänger kombiniert werden
clabacchio

1
Aber die Uhr wird geteilt. Beide Signale sind mit der Uhr und transitiv miteinander synchronisiert.
user253751

1
@immibis was ich meine ist, dass zu parallel Sie zwei- oder vier-Bit-Symbole auf den beiden Leitungen senden, während Sie hier zwei echte serielle Streams parallel senden können
clabacchio

5

Dieses Protokoll heißt SQI (SPI-ähnlich) und bedeutet Serial Quad I / O Protocol. Sie können die Adresse / den Befehl / die Daten durch 4 Stifte anstelle von nur einem (SPI) setzen und die Daten durch die gleichen 4 Stifte empfangen.

Halb- oder Vollduplex ist ein Merkmal eines Kommunikationssystems, unabhängig davon, welches Protokoll Sie verwenden (natürlich erlauben einige Protokolle Vollduplex und andere einfach nicht).

In der Tat sind Dual- und Quad-E / A nicht dasselbe wie Vollduplex, sondern nur verschiedene Protokolle, die Sie verwenden können (manchmal mit demselben Gerät). Beginnend mit SPI (ich gehe davon aus, dass Sie wissen, was das ist), das 1 Pin zum Senden und dann zum Empfangen hat (was bedeutet, dass das Protokoll halbplex ist); Wir haben dann Dual I / O, das 2 Pins zum Senden und Empfangen verwendet (Halbduplex), und schließlich Quad I / O, das 4 Pins zum Senden und dann Empfangen verwendet (auch Halbduplex).


4

Heutzutage wurde es als SPIFI-Schnittstelle bezeichnet. Dies wird hauptsächlich in der Flash-Oberfläche verwendet.

Schauen Sie sich das Datenblatt zu LPC18xx an, Kapitel 21: SPIFI. Link: http://www.nxp.com/documents/user_manual/UM10430.pdf

1 Bit SPI: Daten werden auf 1 Leitung übertragen.

ZB: - Bitfolge 7 6 5 4 3 2 1 0

2-Bit-SPI oder Dual-SPI: Es werden Daten auf 2 Leitungen übertragen.

ZB: - Bitfolge

    Line 1 : 7 5 3 1

    Line 2 : 6 4 2 0

4-Bit-SPI oder Quad-SPI: Es werden Daten auf 4 Leitungen übertragen.

ZB: - Bitfolge

    Line 1 : 7 3

    Line 2 : 6 2

    Line 3 : 5 1

    Line 4 : 4 0

1
hey, ich glaube du hast es verpasst zu sehen, dass das OP die Antwort bereits akzeptiert hat und es sich auch um eine 4 Jahre alte Frage handelt. Deine Punkte sind auch schon gedeckt.
Umar

1
@Umar, um fair zu sein, diese Antwort zeigt, dass es tatsächlich SPIFI heißt und zeigt auch die Bitsequenzen. Beides wird in anderen Antworten nicht behandelt. Das ist also ein gültiger Beitrag, egal wie alt die ursprüngliche Frage ist.
stanri

3

Wie an anderer Stelle erwähnt, verfügen einige Flash-Geräte über eine Option, bei der zwei oder vier Pins zum Ausgeben von Daten verwendet werden. Eine andere Option, die ich auf mindestens einem Flash-Chip gesehen habe, war die Verwendung eines Pins, aber die Ausgabe von Daten sowohl bei steigenden als auch bei fallenden Taktflanken. Dies würde eine Übertragung mit doppelter Geschwindigkeit auf einem Mikrocontroller ermöglichen, der ein solches Datenformat verarbeiten könnte, ohne dass zusätzliche Datenstifte erforderlich wären, sodass vier Takte jedes Datenbyte auf einem Stift ausgeben würden. Mir sind keine Controller bekannt, die eine solche Funktion unterstützen, obwohl mir auch keine bekannt sind, die die Verwendung von zwei oder vier Datenkabeln unterstützen.


1
Der Microchip ATSAMS70 und ähnliche ARM-Prozessoren unterstützen Dual- und Quad-SPI, um Code von einem externen Flash-Speicher wie den Flash-Chips der Micron N25Q-Serie auszuführen, die auch Dual- / Quad-SPI unterstützen.
user4574
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.