-
PRIORITÄTSANSPRUCH
-
Diese Anmeldung beansprucht Priorität der vorläufigen
US-Anmeldung Nr. 62/864,286 , eingereicht am 20.6.2019, und der nicht vorläufigen
US-Anmeldung Nr. 16/879,205 , eingereicht am 20.5.2020, die hiermit beide durch Bezugnahme vollständig aufgenommen werden.
-
TECHNISCHES GEBIET
-
Die vorliegende Schrift betrifft Präzisionsumsetzer und insbesondere eine serielle Mehrfach-E/A-Peripherieschnittstelle (SPI) für Präzisionsumsetzer.
-
STAND DER TECHNIK
-
JEDEC (jedec.org) hat einige wenige serielle Kommunikationsstandards für Speicher wie Flash und/oder SDCards entwickelt. Diese Standards wurden erstellt, um ein gemeinsames Kommunikationsprotokoll unabhängig von Speicherherstellung und/oder - größe zu garantieren, so dass jeder Controller auf dieselbe Weise mit Speichern kommunizieren kann.
-
Die Flash-Speicher-JEDEC-Standards stellen verschiedene Sicherungsschichten der Kommunikation bereit, und wie bei anderen Standards wie Ethernet müssen die Speicher einen Grundmodus unterstützen. Die Flash-Speicher-JEDEC-Standards stellen außerdem minimales Overhead, genug Bandbreite für tatsächliche und zukünftige Bedürfnisse bereit, und die Sicherungsschicht wird von den meisten FPGA mittels IP-Blöcken sowie der neuesten Mikrocontroller und digitalen Signalprozessoren vielfältig unterstützt. Die Flash-Speicher-JEDEC-Standards unterstützen Datenübertragung durch Verwendung von mehr als einer Datenleitung und definieren bidirektionale Datenleitungen. Durch Transfer spezifischer Befehle oder Einstellung spezifischer Register kann die Kommunikationsgeschwindigkeit für Vorrichtungen, die unter dem Flash-Speicher-JEDEC-Standard konfiguriert sind, zunehmen.
-
KURZFASSUNG DER OFFENBARUNG
-
Die vorliegende Schrift betrifft Präzisionsumsetzer und insbesondere eine serielle Mehrfach-E/A-Peripherieschnittstelle (SPI) für Präzisionsumsetzer.
-
Die hier beschriebene Mehrfach-E/A-SPI für Präzisionsumsetzer unterstützt eine Dual-/ Quad-/Oktal-SPI zur Unterstützung der Geschwindigkeitsanforderungen für digitale Übertragung. Die Mehrfach-E/A-SPI für Präzisionsumsetzer weist außerdem einen Modus auf, der durch Hardware und/oder Software aktiviert werden kann, um die vom Flash-Speicher-JEDEC-Standard („JEDEC-Standard“) vorgeschriebene Bitverwürfelungsanforderung zu entfernen, so dass der Präzisionsumsetzer Rückwärtskompatibilität aufweisen kann, die Verwendung des Präzisionsumsetzers auch mit Controllern gestattet, die nicht den JEDEC-Standard unterstützen, ohne dass Software-Datenmanipulation erforderlich ist, die auf Kosten der Controllergeschwindigkeit geht. Der Spezialmodus entfernt die Verwürfelanforderung und assoziiert jede der bidirektionalen Datenleitungen mit einem spezifischen Kanal. Der Spezialmodus ermöglicht außerdem der Mehrfach-E/A-SPI-Vorrichtung, effektiv mit Vorrichtungen zu arbeiten, die nicht nativ den JEDEC-Standard unterstützen.
-
Außerdem weist die hier beschriebene Mehrfach-E/A-SPI für Präzisionsumsetzer Register auf, die in zwei Regionen aufgeteilt sind. Auf die Primärregion wird nur im Vorgabemodus zugegriffen, der beim Herauffahren für Schreib- und/oder Leseoperationen definiert ist. Auf die Sekundärregion wird durch jeden im Steuerregister aktivierten SPI-Modus zugegriffen. Bei beispielhaften Ausführungsformen kann das Vorgabe-Herauffahren durch Hinzufügen eines externen Anschlusses zu dem Slave/Umsetzer zum Definieren des Schnittstellenmodus beim Herauffahren oder durch Verwenden einer internen Schmelzverbindung oder eines internen Schalters geändert werden. Durch Beschränken des Zugriffs auf den „Steuer“-Registerbereich auf einen vordefinierten Modus im Umsetzer beim Herauffahren kann der Zugriffsmodus kontrolliert werden, um Fehlkommunikation zu vermeiden.
-
In einigen Aspekten weist eine serielle Mehrfach-E/A-Peripherieschnittstelle (SPI) bei beispielhaften Ausführungsformen einen Controller mit mindestens zwei SPI-Blöcken mit intern synchronisierten Taktsignalen auf, wobei jeder SPI-Block Daten gleichzeitig transferiert, und eine Slave-Vorrichtung, die über jeweilige Datenleitungen Daten zu/von jedem SPI-Block des Controllers transferiert. Es ist ein Modusselektor vorgesehen, der ausgebildet ist zum Auswählen eines ersten Modus zum Transferieren von Daten zwischen der Slave-Vorrichtung und jedem SPI-Block des Controllers in einem durch einen Speichertransferstandard vorgeschriebenen Bitverwürfelungsformat oder eines zweiten Modus zum Transferieren von Daten zwischen der Slave-Vorrichtung und jedem SPI-Block des Controllers ohne das durch den Speichertransferstandard vorgeschriebene Bitverwürfelungsformat, wobei jede Datenleitung einem Datenkanal zugeordnet ist. Bei beispielhaften Ausführungsformen ist der Speichertransferstandard ein JEDEC-Flash-Speicherkommunikationsstandard. Während des Betriebs wird, wenn mehr als eine Datenleitung zum Lesen und/oder Schreiben von Daten in die Slave-Vorrichtung aus dem Controller aktiviert ist, der erste Modus durch den Modusselektor ausgewählt, und jede Datenleitung ist für bidirektionale Kommunikation mit dem Datenkanal ausgebildet. Bei den beispielhaften Ausführungsformen kann sich mindestens ein bidirektionaler Multiplexer in den jeweiligen Datenleitungen befinden, und der Modusselektor weist einen Anschluss auf, der dem mindestens einen bidirektionalen Multiplexer ein Modusauswahlsignal zuführt. Als Alternative kann der Modusselektor einen Datenauswahlanschluss an der Slave-Vorrichtung aufweisen, der den jeweiligen Datenleitungen ein Modusauswahlsignal zuführt. Der Modusselektor kann den zweiten Modus auswählen, wenn eine Vorrichtung, mit der über die Mehrfach-E/A-SPI kommuniziert wird, nicht eine JEDEC-Standard-Vorrichtung ist, indem ein Zustand des Auswahlanschlusses an der Slave-Vorrichtung geändert wird.
-
In einigen Aspekten weist eine serielle Mehrfach-E/A-Peripherieschnittstelle (SPI) bei beispielhaften Ausführungsformen einen Slave auf, der Register aufweist, die in eine Primärregion und eine Sekundärregion aufgeteilt sind, wobei die Primärregion Daten zum Konfigurieren des Slave und Daten über Fehler aufweist und die Sekundärregion Daten zur Bereitstellung von Digital-Analog-Umsetzer- bzw. DAC-Betrieb und/oder Analog-Digital-Umsetzer- bzw. ADC-Betrieb aufweist. Eine Controllervorrichtung transferiert Daten zu/von dem Slave über jeweilige Datenleitungen, und ein Modusselektor ist ausgebildet zum Auswählen des Vorgabemodus beim Herauffahren. Auf die Primärregion kann nur im Vorgabemodus beim Herauffahren für Schreib- und/oder Leseoperationen zugegriffen werden, und auf die Sekundärregion kann durch jeden in der Primärregion aktivierten Modus zugegriffen werden. Bei beispielhaften Ausführungsformen enthält die Primärregion mindestens ein Register, das Daten speichert, die Schnittstellenkonfiguration, Datenunterstützungsfehler, Datenunterstützungs-Stromversorgungsmodi, Daten zum Konfigurieren des Slave, Daten zum Beschreiben des Slave-Verhaltens und/oder Daten zum Bereitstellen von Fehlerprüfungen und -status unterstützt, während die Sekundärregion mindestens ein Register enthält, das die Eingangs-/Ausgangsdaten, DAC-Betrieb und/oder ADC-Betrieb steuert und/oder eine Seitenmaske speichert. Die Primärregion kann auch Daten enthalten, die einen Spannungsumfangsbereich des DAC-Betriebs oder des ADC-Betriebs identifizieren.
-
Bei beispielhaften Ausführungsformen kann die Slave-Vorrichtung mindestens eine interne Schmelzverbindung oder mindestens einen Schalter aufweisen, die/der ausgebildet ist zum Bereitstellen einer Herauffahrmodus-Auswahlfunktion, die beim Herauffahren der Slave-Vorrichtung einen Schnittstellenmodus definiert. Außerdem kann der Modusselektor einen Modusauswahlanschluss an der Slave-Vorrichtung aufweisen, der ausgebildet ist zum Bereitstellen einer Herauffahrmodus-Auswahlfunktion, die beim Herauffahren der Slave-Vorrichtung einen Schnittstellenmodus definiert. Der Modusauswahlanschluss an der Slave-Vorrichtung kann mit einer ersten Spannung zum Versetzen des Controllers und der Slave-Vorrichtung in einen ersten Vorgabemodus beim Herauffahren, in dem die SPI ausgebildet ist zum Zugreifen auf die Primärregion und später Umkonfigurieren der Sekundärregion verbunden sein. Außerdem kann ein Fehleranschluss die Slave-Vorrichtung mit dem Controller verbinden. Im ersten Vorgabemodus kann die Slave-Vorrichtung den Fehleranschluss triggern und Fehlerregister der Primärregion ziehen, nachdem die Slave-Vorrichtung initialisiert wurde. Außerdem kann der Modusauswahlanschluss an der Slave-Vorrichtung mit einer zweiten Spannung zum Versetzen des Controllers und der Slave-Vorrichtung in einen zweiten Vorgabemodus beim Herauffahren, in dem der Controller die SPI im Dual-, Quad- oder Oktal-SPI-Modus umkonfiguriert, um auf die Primärregion und die Sekundärregion unter Verwendung von zwei, vier bzw. acht Datenleitungen zuzugreifen, verbunden werden.
-
In anderen Aspekten werden auch die Verfahren beschrieben, die durch die hier beschriebenen Mehrfach-E/A-SPIs ausgeführt werden. Solche Verfahren können zum Beispiel Folgendes aufweisen: ein Verfahren zum Steuern einer seriellen Mehrfach-E/A-Peripherieschnittstelle (SPI), das Bereitstellen eines Controllers mit mindestens zwei SPI-Blöcken mit intern synchronisierten Taktsignalen; wobei jeder SPI-Block Daten gleichzeitig transferiert, und Auswählen eines ersten Modus oder eines zweiten Modus zum Transferieren von Daten zwischen dem Controller und einer Slave-Vorrichtung, die Daten zu/von jedem SPI-Block des Controllers über jeweilige Datenleitungen transferiert, aufweist. Daten können im ersten Modus durch jeden SPI-Block des Controllers in einem durch einen Speichertransferstandard vorgeschriebenen Bitverwürfelungsformat transferiert werden und können im zweiten Modus durch jeden SPI-Block des Controllers ohne das durch den Speichertransferstandard vorgeschriebene Bitverwürfelungsformat transferiert werden, wobei jede Datenleitung einem Datenkanal zugeordnet ist.
-
Die offenbarten Verfahren können auch Folgendes aufweisen: ein Verfahren zum Herauffahren einer seriellen Mehrfach-E/A-Peripherieschnittstelle bzw. SPI, das Folgendes aufweist: Bereitstellen eines Controllers mit Registern, die in eine Primärregion und eine Sekundärregion aufgeteilt sind, wobei die Primärregion Daten zum Konfigurieren des Controllers und Daten über Fehler aufweist und die Sekundärregion Daten zum Bereitstellen eines Digital-Analog-Umsetzer- bzw. DAC-Betriebs und/oder eines Analog-Digital-Umsetzer- bzw. ADC-Betriebs aufweist; ein Vorgabemodus wird beim Herauffahren ausgewählt, in dem auf die Primärregion nur im Vorgabemodus für Schreib- und/oder Leseoperationen zugegriffen wird und auf die Sekundärregion durch jeden durch die Primärregion aktivierten Modus zugegriffen wird.
-
Dieser Abschnitt soll eine Übersicht über den Gegenstand der vorliegenden Patentanmeldung geben. Er soll keine exklusive oder erschöpfende Erläuterung der Erfindung geben. Die ausführliche Beschreibung wird vorgesehen, um weitere Informationen über die vorliegende Patentanmeldung zu geben.
-
Figurenliste
-
In den Zeichnungen, die nicht unbedingt maßstabsgetreu gezeichnet sind, können gleiche Bezugszahlen in verschiedenen Ansichten ähnliche Komponenten beschreiben. Gleiche Bezugszahlen mit verschiedenen angehängten Buchstaben können verschiedene Instanzen ähnlicher Komponenten repräsentieren. Die Zeichnungen zeigen allgemein als Beispiel, aber nicht zur Beschränkung, verschiedene in der vorliegenden Schrift besprochene Ausführungsformen.
- 1 zeigt die Richtung jeder Datenleitung bei klassischer/einzelner SPI zwischen einem Controller und einem SPI-Slave-Chip.
- 2 zeigt die Richtung jeder Datenleitung bei Dual-SPI zwischen einem Controller und einem SPI-Slave-Chip.
- 3 zeigt den Fall voller Quad-SPI mit Aktivierung von DDR (Zweifachdatenrate), wobei die transferierten Bit verwürfelt werden müssen, wenn mehr als eine Datenleitung zum Transfer der Daten verwendet wird.
- 4 zeigt den intern synchronisierten SPI-Block 0 und einen SPI-Block 1 und die physische Anschlussverbindung eines Controllers für parallelen Datentransfer.
- 5 zeigt die Übertragungsdifferenz zwischen Synchron-Dual-SPI wie in 4 und einer Dual-SPI-Implementierung wie hier beschrieben.
- 6 zeigt, dass die Präambel zur Adressenübertragung ein Byte sein kann, das angibt, ob die folgenden Daten Lese- oder Schreibdaten sind, bei einer beispielhaften Ausführungsform.
- 7 zeigt eine beispielhafte Ausführungsform, bei der Register des Controllers zur Verwaltung eines Präzisionsumsetzers in eine Primärregion und eine Sekundärregion aufgeteilt werden.
- 8 zeigt einen beispielhaften DAC des durch die Register der Sekundärregion bei der Ausführungsform von 7 implementierten Typs.
- 9A zeigt eine beispielhafte Ausführungsform eines Controllers und eines Slave, die in einen ersten Vorgabemodus versetzt sind, wobei ein externer Quad-SPI- bzw. QSPI-Anschluss zur Deaktivierung mit Masse verbunden (=0) wird.
- 9B zeigt einen zweiten Vorgabemodus, wobei der Controller die SPI im Quad-SPI-Modus umkonfiguriert, um auf die Primär-Speicherregion zuzugreifen, wenn der externe QSPI-Anschluss zur Aktivierung mit der Stromversorgung (=1) verbunden wird.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung mit Bezug auf 1-9 veranschaulicht ausreichend spezifische Ausführungsformen, um es Fachleuten zu ermöglichen, diese zu praktizieren. Andere Ausführungsformen können strukturelle, logische, Prozess- und andere Änderungen beinhalten. Teile und Merkmale einiger Ausführungsformen können in denen anderer Ausführungsformen enthalten sein oder diese ersetzen. In den Ansprüchen dargelegte Ausführungsformen schließen alle verfügbaren Äquivalente dieser Ansprüche ein. Die Beispielausführungsformen werden lediglich für Anschauungszwecke dargestellt und sollen den Schutzumfang der Offenbarung oder der vorliegenden Ansprüche nicht beschränken oder begrenzen.
-
Die Sicherungsschicht für JEDEC-Flash-Speicher-Kommunikation in JESD216D.01 ist als Mehrfach-E/A-SPI bekannt. Mehrfach-E/A-SPI stellt zwei Hauptübertragungsmodi bereit:
- - Klassische/Einzel-SPI: In diesem Modus gibt es 4 unidirektionale Datenleitungen, /CS, SCLK; MOSI (oder SDI) und MISO (oder SDO). 1 zeigt die Richtung jeder Datenleitung bei der klassischen/Einzel-SPI zwischen einem Controller und einem SPI-Slave-Chip.
- - Dual-/Quad-/Oktal-SPI: In diesem Modus gibt es zwei unidirektionale Datenleitungen /CS und SCLK und 2/4/8 bidirektionale Datenleitungen von SDIO0 bis herauf zu SDIO7, abhängig von dem durch den Controller und Slave unterstützten Modus. 2 zeigt die Richtung jeder Datenleitung bei Dual-SPI zwischen einem Controller und einem SPI-Slave-Chip für zwei bidirektionale Datenleitungen. SDIO0 und SDIO1.
-
Von der Perspektive des Präzisionsumsetzers aus gesehen ist es wünschenswert, Analogbandbreite zu vergrößern, was eine zur Unterstützung der Schnittstellenbitrate fähige Schnittstelle erfordert. Im Fall der Dual-/Quad-/Oktal-SPI schreibt der JEDEC-Standard jedoch vor, dass, wenn mehr als eine Datenleitung zum Transfer der Daten verfügbar ist, die transferierten Bit verwürfelt werden müssen. Wie in 3 dargestellt, werden die Bit im Quad-Transfermodus durch Abwechseln unter den Datenleitungen SDIO0, SDIO1, SDIO2 und SDIO3 vom MSB zum LSB verwürfelt. Wenn der Controller Hardwareunterstützung für die Mehrfach-E/A-Schnittstelle bereitstellt, kann das Bitverwürfeln auf der Hardwareebene erfolgen. Wenn jedoch keine spezifische Hardware für das Bitverwürfeln verfügbar ist, so wie es bei Vorrichtungen der Fall ist, die nicht nativ den JEDEC-Standard unterstützen, muss die Verwürfelung vor der Übertragung in Software erfolgen, wodurch die Leistungsfähigkeit des Controllers signifikant beeinträchtigt wird. Dadurch wird es für Mehrfach-E/A-Standard-Präzisions-Controller schwierig, mit anderen Vorrichtungen zu kommunizieren, die den JEDEC-Standard nicht nativ unterstützen.
-
Außerdem definiert der Mehrfach-E/A-SPI-Standard die „Bedeutung“ der durch die Schnittstelle transferierten Byte als „Phasen“. Der Mehrfach-E/A-SPI-Standard definiert 3 Phasen:
- - Befehl - Definiert die am Speicher auszuführende Aktion: Lesen oder Schreiben;
- - Adresse - Start der Speicheradresse zum Ausführen der Aktion; und
- - Daten - Daten, die zur SPI-Slave-Vorrichtung transferiert werden.
-
Bei beispielhaften Ausführungsform können die Befehlsadressenphasen zu einer einzigen Phase kombiniert werden, wie nachfolgend erwähnt wird. Jede Phase hat ihre eigenen Eigenschaften, einschließlich der Anzahl der zum Transfer der Byte verwendeten Datenleitungen und der Byte, die in Dual-Datenrate (DDR) (Datenleitungen werden an beiden Taktflanken abgetastet) oder Einzeldatenrate (SDR) (es wird nur eine Taktflanke zum Transfer der Daten verwendet) transferiert werden. Als Vorgabe hat die kombinierte Befehls-/Adressenphasen feste Eigenschaften, und der Befehl und die Adresse, die verwendet werden, schreiben die Eigenschaften nachfolgender Phasen auf der Basis von Registern, Schmelzverbindungen oder Schaltern vor/definieren diese. Zum Beispiel hat der JEDEC-Standard wenige Befehle zum Rücklesen, aber ein Befehl definiert, dass die kombinierte Befehls-/Adressenphase unter Verwendung von zwei Datenleitungen in SDR transferiert wird, während andere Befehle 4 Datenleitungen und DDR definieren.
-
Die Eigenschaften in der kombinierten Befehls-/Adressenphase, wie etwa Verwendung von mehr als einer Datenleitung in folgenden Phasen, können durch Ausgeben eines Spezialbefehls aktiviert werden, der ein internes Register für den JEDEC-Standard setzt. Bei Mehrfach-E/A ist der Befehl ein Registerschreiben. Nachdem der Spezialbefehl transferiert ist, erfolgt die gesamte nachfolgende Kommunikation unter Verwendung dieses Modus, bis ein weiterer Spezialbefehl transferiert wird, um diesen Modus zu deaktivieren. Dann erwartet die Vorrichtung die Befehlsphase im Vorgabe-Kommunikationsmodus der seriellen Peripherieschnittstelle (SPI). Wenn jedoch die Stromversorgung des Präzisionsumsetzers vorübergehend verlorengeht, setzt sich der Präzisionsumsetzer zurück. Dies ist im Fall eines Analogdomänen-Ausfalls ein Problem, da sich der Präzisionsumsetzer auf den Vorgabe-SPI-Kommunikationsmodus und nicht den Spezialbefehlmodus rücksetzt, um somit das Potential für Kommunikationsfehler zu erzeugen.
-
Der Klarheit halber, es gibt zwei Eingaben im Mehrfach-E/A-SPI-Standard:
- Der Modus: Mehrfach-E/A-SPI-Grundmodus (1S-1S-1S) (bedeutet die Anzahl der Datenleitungen, die für Befehl-Adresse-Daten verwendet werden, und bezeichnet Einzel- oder Dual-Datenrate) ist die „klassische“ SPI (SCLK, /CS, MISO und MOSI). Andere Modi sind ein Hybrid zwischen paralleler und serieller Schnittstelle wie (1-2-2), das heißt, die Daten werden auf serielle Weise unter Verwendung paralleler Leitungen übertragen. Ein Spezialmodus wird (2-2-2) sein, da der Befehl unter Verwendung von 2 Datenleitungen übertragen werden muss, es aber der Speicher im Voraus wissen muss.
-
Aktivierung/Deaktivierung jeder Phase: Die Hardware des Controllers ist im Hinblick auf das, was die SPI-Slave-Vorrichtung erwartet, agnostisch, und es liegt am Benutzer, jede Phase einzeln zu aktivieren/deaktivieren, wodurch enorme Flexibilität im Hinblick auf die Anzahl der pro Phase verwendeten Datenleitungen, der pro Phase transferierten Byte oder der Verwendung von DDR gewährleistet wird.
-
Es ist erwünscht, eine Mehrfach-E/A-SPI bereitzustellen, die es JEDEC-Standard-Präzisionsumsetzern ermöglicht, mindestens zwei oder mehr Stromversorgungsdomänen zu unterstützen. Außerdem ist es erwünscht, einen Spezialmodus bereitzustellen, der die Verwürfelanforderung entfernt, die jede der bidirektionalen Datenleitungen von JEDEC-Standard-Präzisionsumsetzern mit einem spezifischen Kanal assoziiert, so dass der Präzisionscontroller effektiv mit Schaltkreisen arbeiten kann, die nicht nativ den JEDEC-Standard unterstützen.
-
Synchroner Mehrfach-E/A-SPI-Modus
-
Wenn der Controller eines Präzisionsumsetzers nicht nativ den JEDEC-Standard für Dual-, Quad- und Oktal-SPI-Modi unterstützt, das heißt, Hardware-Mehrfach-E/A-Implementierung innerhalb der Blöcke der Peripherieeinrichtung bereitstellt, könnte der Controller immer noch aus der Geschwindigkeit Nutzen ziehen, die diese Schnittstelle erzielen könnte, indem intern zwei oder mehr klassische Hardwareblöcke der seriellen Peripherieschnittstelle (SPI) synchronisiert werden. Einige Controller können mehrere Hardwareschnittstellen synchronisieren, so dass sie Mehrfach-E/A-SPI-Standards emulieren können. In diesem Betriebsmodus unterstützt die Hardware selbst nicht Bitverwürfeln, so dass die Bitmanipulation auf der Softwareebene erfolgt.
-
Zum Beispiel zeigt 4 den intern synchronisierten SPI-Block 0 und einen SPI-Block 1 eines Controllers 400. Jeder Block kommuniziert unter Verwendung der synchronisierten Taktsignale /CS0 und SCLK0 wie dargestellt mit einer Slave-Einheit 402. Jeder SPI-Block transferiert die Daten gleichzeitig. Die Datenleitungen MOSI0 und MISO0 (und MOSI1 und MISO1) aus den jeweiligen SPI-Blöcken werden jedoch durch einen optionalen bidirektionalen Multiplexer 404 gemultiplext, der das Signal abhängig davon, ob die Datenphase Lesen oder Schreiben ist, von SDIOx zu MOSIx oder MISOx routet. Die Multiplexer 404 können gesteuert werden, um die Daten zum entsprechenden Anschluss zu routen. Durch Aktivieren dieses Modus erwartet der Präzisionsumsetzer nicht verwürfelte Daten, so wie es vom JEDEC-Standard erfordert wird. Folglich müssen die Positionen der Bit geändert werden, um mit dem JEDEC-Standard übereinzustimmen. In vielen Fällen erfolgt diese Verwürfelung in Software, was langsam und unpraktisch ist.
-
Die Hauptbeschränkung für Datentransfer ist somit die vom JEDEC-Standard vorgeschriebene Datenverwürfelung. Anders ausgedrückt, müssen vor dem Transfer der Byte zu den SPI-Blöcken die Positionen der Bit geändert werden, um mit dem Mehrfach-E/A-SPI-Standard übereinzustimmen. Man nehme beispielsweise an, dass der Benutzer unter Verwendung von zwei Datenleitungen zwei Byte Daten transferieren möchte. Wenn die zwei Byte Daten direkt unter Verwendung der zwei SPI-Blöcke transferiert werden, werden die Byte als
MOSI0 | B0-MSB | B0-MSB-1 | ... | B0- LSB+1 | B0- LSB |
MOSI1 | B1-MSB | B1-MSB-1 | ... | B1- LSB+1 | B1- LSB |
transferiert, wobei B0 und B1 Byte 0 und Byte 1, die zu transferieren sind, definiert. Unter dem Mehrfach-E/A-SPI-Standard erwartet die Slave-Vorrichtung
402 jedoch die Byte in dem folgenden Format:
SDIO0 | B1-MSB-1 | ... | B1-LSB | ... | B0- MSB-1 | ... | B0- LSB |
SDIO1 | B1-MSB | ... | B1-LSB+1 | ... | B0- MSB | ... | B0- LSB+1 |
-
Um dieses Problem zu überwinden, steuert der Controller
400 den bidirektionalen Multiplexer
404 zum Routen der Bit zum Transfer im synchronen SPI-Modus folgendermaßen:
Byte0 | B1-MSB-1 | ... | B1-LSB | ... | B0- MSB-1 | ... | B0- LSB |
Byte1 | B1-MSB | ... | B1-LSB+1 | ... | B0- MSB | ... | B0- LSB+1 |
-
Diese Manipulation ist jedoch rechnerisch kostspielig, insbesondere für eine große Menge an Daten und Echtzeitanwendungen, wodurch die Bitmanipulation unpraktisch werden könnte.
-
Um dieses Problem anzugehen, wird die Mehrfach-E/A-SPI bei beispielhaften Ausführungsformen modifiziert, um einen Spezialmodus bereitzustellen, der durch Hardware und/oder Software aktiviert werden kann, um die vom JEDEC-Standard vorgeschriebene Bitverwürfelung zu entfernen. Wenn mehr als eine Datenleitung zum Lesen und/oder Schreiben von Daten zum Slave aktiviert wird, wird ein Spezialmodus aktiviert, der die Bitverwürfelungsanforderung entfernt und jede der bidirektionalen Datenleitungen mit einem spezifischen Kanal assoziiert. Wenn die Vorrichtung, mit der kommuniziert wird, keine JEDEC-Standardvorrichtung ist, wird somit die Bitverwürfelung durch Schalten der Mehrfach-E/A-SPI in einen Modus „synchrone Mehrfach-E/A-SPI“ ausgeschaltet. Zum Beispiel kann der bidirektionale Multiplexer 404 in den Modus „synchrone Mehrfach-E/A-SPI“ geschaltet werden, indem ein Zustand (z.B. eine angelegte Spannung) eines Controlleranschlusses 406 oder DS-Anschlusses (Datenauswahl) 408, der an den Slave 402 wie in 4 dargestellt angelegt wird, geändert wird. Weitere Einzelheiten über die DS-Funktionalität finden sich in der JESD216D-Standarddokumentation und werden hier nicht angegeben.
-
Der synchrone Mehrfach-E/A-SPI-Modus erlaubt es Controllern, die den JEDEC-Standard nicht unterstützen, die Mehrfach-E/A-Umsetzer zu verwenden, wenn die Mehrfach-E/A-Umsetzer in den synchronen Mehrfach-E/A-SPI-Modus versetzt werden. Wie oben erwähnt erwartet in diesem Modus die Vorrichtung nicht, dass die Daten verwürfelt werden, wenn mehr als eine Datenleitung aktiviert wird. In diesem Fall wird jeder SDIO-Anschluss mit einem Umsetzerkanal verknüpft. 5 zeigt den Übertragungsunterschied zwischen Dual-SPI wie in 4 und eine synchrone Dual-SPI-Implementierung wie hier beschrieben.
-
Die nachfolgende Tabelle fasst den Unterschied zusammen, wie die abgetasteten Bit durch den Slave
402 bei Dual-SPI für den Mehrfach-E/A-Modus und den Modus „synchrone Mehrfach-E/A-SPI“ interpretiert werden.
Mehrfach-E/A | SDIO0 | B1-MSB-1 | ... | B1-LSB | ... | B0- MSB-1 |
SDIO1 | B1- MSB | ... | B1-LSB+1 | ... | B0- MSB |
Sync-Mehrfach-E/A | SDIO0 | B0-MSB | B0-MSB-1 | ... | B0- LSB+1 | B0- LSB |
SDIO1 | B1- MSB | B1-MSB-1 | ... | B1- LSB+1 | B1- LSB |
-
Bei beispielhaften Ausführungsformen ist die Mehrfach-E/A-SPI mit einem Spezialmodus versehen, um die Verwürfelanforderung zu entfernen, indem einfach ein externer Anschluss des Controllers ausgewählt wird oder indem interne Schmelzverbindungen oder Register verwendet werden, die den Schaltmodus des Controllers ändern. Jede der bidirektionalen Datenleitungen wird wie in der obigen Tabelle gezeigt mit einem spezifischen Kanal gemäß dem ausgewählten Modus assoziiert. Es versteht sich, dass im Modus „synchrone Mehrfach-E/A-SPI“ die Vorrichtung nicht erwartet, dass die Daten verwürfelt sind, wenn mehr als eine Datenleitung aktiviert worden ist. Jeder SDIO-Anschluss ist mit einem Umsetzerkanal verknüpft und die Daten werden wie in der Tabelle für die jeweiligen Modi angegeben ausgegeben.
-
Vorgabe-Herauffahrmodus
-
Mehrfach-E/A-SPIs für Präzisionsumsetzer weisen einige wenige Grundanforderungen auf. Als Erstes sollte minimales Overhead bestehen, wenn Daten mittels der Mehrfach-E/A-SPI übertragen werden, um die digitale Durchspeisung und Treiberanforderungen zu verringern, sowie Kommunikations-(Daten-)Geschwindigkeit für einen gegebenen Takt zu vergrößern. Zweitens sollte die Mehrfach-E/A-SPI mehrere Sicherungsschichten unterstützen, um Benutzeranforderungen und -begrenzungen zu unterstützen und an diese anzupassen. Zum Beispiel kann ein Benutzer höhere Taktraten unter Verwendung von weniger Datenleitungen bevorzugen oder kann als Alternative mehr Datenleitungen und niedrigere Taktraten bevorzugen.
-
Da der JEDEC-Standard auf Controllerhardware angewandt wird und die Mindestlänge für die Befehlsphase als ein Byte definiert, muss möglicherweise an den zu transferierenden Daten getüftelt werden, um die Schnittstelleneffizienz zu verbessern. Da die Controller-Mehrfach-E/A-SPI-Hardware-Implementierung jede Phase einzeln deaktivieren kann, kann es außerdem in einem Präzisionsumsetzer wünschenswert werden, Befehls- und Adressenphasen zusammenzulegen, um die Präambel auf ein einziges Byte zu reduzieren, so dass das MSB die Richtung der Datenphase vorschreiben kann. In einem solchen Fall wird die zusätzliche Befehls- und/oder Adressenphase nicht benötigt. Stattdessen kann, wie in 6 dargestellt, die Präambel einfach ein Bit sein, das angibt, ob die folgenden Daten Lese- oder Schreibdaten sind, um dadurch mindestens acht zusätzliche Takte zu sparen.
-
Ein anderes Problem bei dem JEDEC-Standard ist, dass der Standard auf der Grundannahme basiert, dass Speicher und Controller dieselbe Stromversorgungsdomäne verwenden, da beide digital sind. Dadurch entsteht ein Problem für Präzisionsumsetzer, da Präzisionsumsetzer mindestens zwei oder mehr Stromversorgungsdomänen (z.B. analog und digital) erfordern.
-
Dies ist im Hinblick auf Kommunikationsrobustheit eine wesentliche Angelegenheit, da, wenn eine Stromversorgungsdomäne vorübergehend herunterfährt, sich der Präzisionsumsetzer rücksetzen wird. Im Fall eines Ausfalls in der digitalen Domäne ist das Herunterfahren kein großes Problem, da beide Vorrichtungen (Master und Slave) rückgesetzt werden. Da der Übertragungsmodus auf der Basis des Befehls und der Adresse definiert werden, die am Anfang des Rahmens übertragen werden, werden außerdem Kommunikationsprobleme aufgrund unterschiedlicher Übertragungsmodi vermieden.
-
In Präzisionsumsetzern ist dies jedoch anders, da Präzisionsumsetzer verschiedene Versorgungsdomänen erfordern und der Ausfall in einer dieser den Präzisionsumsetzer rücksetzen könnte, aber nicht den Controller. Im Fall eines Analogdomänenausfalls setzt sich der Umsetzer zurück, um zum Vorgabe-SPI-Kommunikationsmodus zurückzukehren. Dies ist problematisch, da es bei Mehrfach-E/A-SPI keine Befehlsphase zur Minimierung der Präambel gibt. Folglich kann der Controller am Anfang der Kommunikation nicht gemäß dem JEDEC-Standard angeben, wie viele Datenleitungen für die Daten verwendet werden. Wenn der Umsetzer rückgesetzt wird, ist es somit möglich, dass der Controller in einem Modus schreibt und der Umsetzer in einem anderen Modus liest.
-
Um dieses Problem zu lösen, kann der Registerzugriff in zwei Regionen aufgeteilt werden. Zum Beispiel werden wie in 7 dargestellt die Register 700 in eine Primärregion 702, die das Register enthält, das Schnittstellenkonfiguration, Fehler, Stromversorgungsmodi und beliebige andere Informationen zum Konfigurieren der Vorrichtung, zur Beschreibung des Vorrichtungsverhaltens und zur Bereitstellung von Fehlerprüfungen und -status, einschließlich Daten, die den Spannungsumfangsbereich identifizieren, unterstützt, und eine Sekundärregion 704, die die Register enthält, die die Eingangsdaten, DAC- und Last-DAC- bzw. LDAC-Ausgabe, die die physische Ausgangsspannung setzt, ADC-Umsetzung, eine Seitenmaske und dergleichen steuern, aufgeteilt. Im Allgemeinen werden die Primärregion 702 und die Sekundärregion 704 folgendermaßen definiert:
- 1. Primär - Diese Region umfasst ein Register zum Konfigurieren der Vorrichtung, einschließlich Informationen über Fehler; und
- 2. Sekundär - Diese Region umfasst bei einer beispielhaften Ausführungsform die Register, die für Grundumsetzerbetrieb benötigt werden (z.B. beim ADC diejenigen, die Informationen über Umsetzungen bereitstellen, und bei DAC dasjenige, das die Ausgangsspannung oder den Ausgangsstrom definiert) und im Allgemeinen beliebige zugeordnete Register für diese Funktionen, wie im Fall der Eingangsregister 800 (8) eines DAC mit einem DAC-Register 802 und DAC-Analogkern 804 und Ausgangspufferverstärker 806, der durch die Eingangs- und die DAC-Register 802 gesteuert wird.
-
Bei beispielhaften Ausführungsformen wird auf die Primärregion 702 nur im Vorgabemodus beim Herauffahren für Schreib- und/oder Leseoperationen zugegriffen. Auf die Sekundärregion 704 wird dagegen durch jeden Modus zugegriffen, der gemäß den Konfigurationsregistern der Primärregion 702 aktiviert wird. Somit wird beim Herauffahren in den Vorgabemodus eingetreten, und die Eingangs-, DAC- und LDAC-Funktionen sind nicht betroffen. Bei den beispielhaften Ausführungsformen kann das Vorgabe-Herauffahren durch Hinzufügen eines externen Anschlusses zu dem Slave 400 geändert werden, um eine Modusauswahlfunktion bereitzustellen, die den Schnittstellenmodus beim Herauffahren definiert. Der Vorgabemodus kann auch durch interne Schmelzverbindungen oder Register definiert oder überschrieben werden, wenn ein externer Anschluss (externe Anschlüsse) für solche Zwecke dediziert wird/werden.
-
Zum Beispiel zeigen 9A und 9B den Controller 900 und Slave 902 in jeweiligen Vorgabe-Herauffahrmodi. In 9A werden der Controller 900 und der Slave 902 in einen ersten Vorgabemodus versetzt, bei dem der QSPI-Anschluss (Quad SPI) 904 zur Deaktivierung mit Masse verbunden (=0) wird. In diesem Fall ist der Slave 902 für SPI im ersten Vorgabemodus konfiguriert, wobei klassische SPI als der Vorgabe-Herauffahrmodus zum Zugreifen auf die Primärspeicherregion 702 angenommen wird. Im ersten Vorgabemodus triggert der Slave den Fehleranschluss 906, nachdem die Vorrichtung initialisiert wurde, was bedeutet, dass jedes Mal, wenn sich die Vorrichtung von einem Rücksetzen erholt, das absichtlich ist oder nicht, der Fehleranschluss 906 die Initialisierung hervorhebt. In einem solchen Fall werden die Fehlerregister gezogen, die in der Primärspeicherregion 702 platziert sind. Die Fehlerregister können durch den optionalen Fehler- oder Alarmanschluss 906, wie in 9A dargestellt, routinemäßig gezogen oder getriggert werden.
-
Wenn der Hinweis-/Alarmanschluss 906 triggert, konfiguriert als ein Beispiel der Controller 900 die Mehrfach-E/A-SPI-Schnittstelle in einen Grundumsetzermodus um, liest das Fehlerregister, konfiguriert gegebenenfalls einige Register um und kehrt zu Sekundärregion-Kommunikation zurück. In einem solchen Beispiel werden fast alle möglichen Transfermodi ein gemeinsames Merkmal aufweisen, nämlich, dass das erste Byte/die ersten Byte unter Verwendung einer einzigen Datenleitung transferiert werden, so dass der Umsetzer auf der Basis des ersten Byte/der ersten Byte identifizieren kann, welcher Modus aktiviert werden sollte. Im JEDEC-Standard wird die Befehlsphase (in diesem Fall die Adressenphase, da Befehl und Adresse zu einem einzigen Byte zusammengelegt werden) immer unter Verwendung einer Datenleitung transferiert.
-
Dagegen zeigt 9B einen zweiten Vorgabemodus, bei dem der Controller 900 die SPI im Quad-SPI-Modus umkonfiguriert, um auf die Primärspeicherregion 702 und die Sekundärspeicherregion 704 zuzugreifen, wenn der externe QSPI-Anschluss 904 zur Aktivierung mit der Stromversorgung (=1) verbunden ist.
-
Der JEDEC-Standard definiert ferner einen Spezialbefehl zum Versetzen der Mehrfach-E/A in einen „vollen“ Dual-, Quad- oder Oktal-SPI-Modus, wobei alle verschiedenen Phasen unter Verwendung von 2, 4 bzw. 8 Datenleitungen transferiert werden. In dem in 9A dargestellten Beispiel wird der volle Modus nicht durch das Register unterstützt. Stattdessen kann der volle Modus nur durch einen dedizierten Hardwareanschluss, wie den QSPI-Anschluss 904, aktiviert werden.
-
Wenn dagegen eine Übermengen-Kommunikation benötigt wird, die zum Beispiel 4 Datenleitungen für jedes einzelne Kommunikationsbyte verwendet, wird im Speicher dieser Betriebsmodus durch Hardware aktiviert. Um einen vollen Modus zu aktivieren und den Vorgabemodus beim Herauffahren zu ändern, wird der dedizierte QSPI-Anschluss 904 auf Hoch gesetzt, um die schnellere (Vollmodus-) Schnittstelle zu aktivieren und um diesen Modus beim Herauffahren als Vorgabe zu definieren, wie in 9B dargestellt. Wenn der QSPI-Anschluss 904 auf Hoch gelegt wird, wechselt der Vorgabemodus zu Quad-SPI, und die Adresse wird unter Verwendung von 4 Datenleitungen transferiert, statt 1, wie in 9B dargestellt.
-
Bei dieser Ausführungsform werden somit getrennte Registerregionen erzeugt, wobei im Vorgabemodus beim Herauffahren für Schreib- und/oder Leseoperationen auf nur eine Region (Primärregion) zugegriffen werden kann, um dadurch zu verhindern, dass der Controller und der Umsetzer im Fall eines Stromversorgungsausfalls in verschiedenen Modi herauffahren.
-
Zusätzlich zu der Erzeugung des Herauffahrmodus wie hier beschrieben, gibt es andere Weisen zur Verhinderung, dass Controller und Umsetzer nach einem Stromversorgungsausfall in verschiedenen Modi herauffahren. Die anderen Ansätze sind jedoch weniger optimal und/oder weniger effizient. Zum Beispiel kann die Mehrfach-E/A-SPI ein Bit auf dem ersten Byte, das zu dem Umsetzer transferiert wird, einnehmen, um die zum Transfer der Datenphase verwendeten Datenleitungen anzugeben. Dieser Ansatz begrenzt die maximale Registergröße auf 64 Orte, was eine große Beschränkung ist. Außerdem kann ein zweites Byte hinzugefügt werden, das als ein Befehlsphasenbyte wirkt. In einem solchen Fall wird bei jeder einzelnen Kommunikation ein zusätzliches Byte gesendet, was sich auf die Effizienz der Schnittstelle auswirkt. Andererseits kann die CRC aktiviert werden, was wieder den Transfer von mehr Byte verursacht. Es kann auch ein Algorithmus implementiert werden, um den Umsetzer-Betriebsmodus zu detektieren. Diese Detektion kann jedoch Komplexität zu dem Systemalgorithmus hinzufügen und erfordert Zeit, was Benutzeranpassung erfordern kann.
-
BEISPIELE
-
Bestimme Ausführungsformen werden hier als bezifferte Beispiele 1, 2, 3 usw. beschrieben. Diese bezifferten Beispiele werden lediglich als Beispiele angegeben und beschränken nicht die vorliegende Technologie.
-
Beispiel 1 ist eine serielle Mehrfach-E/A-Peripherieschnittstelle bzw. SPI, die Folgendes aufweist: einen Controller mit Registern, die in eine Primärregion und eine Sekundärregion aufgeteilt sind, wobei die Primärregion Daten zum Konfigurieren des Controllers und Daten über Fehler aufweist und die Sekundärregion Daten zum Bereitstellen eines Digital-Analog-Umsetzer- bzw. DAC-Betriebs und/oder eines Analog-Digital-Umsetzer- bzw. ADC-Betriebs aufweist; eine Slave-Vorrichtung, die über jeweilige Datenleitungen Daten zu/von dem Controller transferiert; und einen Modusselektor, ausgebildet zum Auswählen eines Vorgabemodus beim Herauffahren, wobei auf die Primärregion nur im Vorgabemodus für Schreib- und/oder Leseoperationen zugegriffen wird und auf die Sekundärregion durch jeden durch die Primärregion aktivierten Modus zugegriffen wird.
-
Beispiel 2 ist eine Schnittstelle wie in Beispiel 1, wobei die Primärregion mindestens ein Register enthält, das mindestens eines von Schnittstellenkonfiguration unterstützenden Daten, fehlerunterstützenden Daten, Stromversorgungsmodi unterstützenden Daten, Daten zum Konfigurieren des Controllers, Controllerverhalten beschreibenden Daten oder Daten zum Bereitstellen von Fehlerprüfungen und -status speichert.
-
Beispiel 3 ist eine Schnittstelle wie in Beispiel 1-2, wobei die Primärregion Daten enthält, die einen Spannungsumfangsbereich des DAC-Betriebs oder des ADC-Betriebs identifizieren.
-
Beispiel 4 ist eine Schnittstelle wie in Beispiel 1-3, wobei die Sekundärregion mindestens ein Register enthält, das die Eingangsdaten und den DAC-Betrieb und/oder den ADC-Betrieb steuert.
-
Beispiel 5 ist eine Schnittstelle wie in Beispiel 1-4, wobei die Sekundärregion eine Seitenmaske enthält.
-
Beispiel 6 ist eine Schnittstelle wie in Beispiel 1-5, wobei die Slave-Vorrichtung mindestens eine interne Schmelzverbindung oder mindestens einen Schalter aufweist, die/der ausgebildet ist zum Bereitstellen einer Herauffahrmodus-Auswahlfunktion, die einen Schnittstellenmodus beim Herauffahren der Slave-Vorrichtung definiert.
-
Beispiel 7 ist eine Schnittstelle wie in Beispiel 1-6, wobei der Modusselektor einen Modusauswahlanschluss an der Slave-Vorrichtung aufweist, der ausgebildet ist zum Bereitstellen einer Herauffahrmodus-Auswahlfunktion, die einen Schnittstellenmodus beim Herauffahren der Slave-Vorrichtung definiert.
-
Beispiel 8 ist eine Schnittstelle wie in Beispiel 1-7, wobei der Modusauswahlanschluss an der Slave-Vorrichtung mit einer ersten Spannung zum Versetzen des Controllers und der Slave-Vorrichtung in einen ersten Vorgabemodus beim Herauffahren, in dem die SPI dazu ausgebildet ist, nur auf die Primärregion zuzugreifen, verbunden wird.
-
Beispiel 9 ist eine Schnittstelle wie in Beispiel 1-8, die ferner einen Fehleranschluss aufweist, der die Slave-Vorrichtung mit dem Controller verbindet, wobei die Primärregion Fehlerregister aufweist und wobei im ersten Vorgabemodus die Slave-Vorrichtung den Fehleranschluss triggert und die Fehlerregister zieht, nachdem die Slave-Vorrichtung initialisiert wurde.
-
Beispiel 10 ist eine Schnittstelle wie in Beispiel 1-9, wobei der Modusauswahlanschluss an der Slave-Vorrichtung mit einer zweiten Spannung zum Versetzen des Controllers und der Slave-Vorrichtung in einen zweiten Vorgabemodus beim Herauffahren, in dem der Controller die SPI in einem Dual-, Quad- oder Oktal-SPI-Modus umkonfiguriert, um unter Verwendung von zwei, vier bzw. acht Datenleitungen auf die Primärregion und die Sekundärregion zuzugreifen, verbunden ist.
-
Beispiel 11 ist eine Schnittstelle wie in Beispiel 1-10, wobei der Controller über mindestens zwei SPI-Blöcke mit intern synchronisierten Taktsignalen verfügt, wobei jeder SPI-Block Daten gleichzeitig transferiert, wobei die Slave-Vorrichtung über die jeweiligen Datenleitungen Daten zu/von jedem SPI-Block des Controllers transferiert.
-
Beispiel 12 ist eine Schnittstelle wie in Beispiel 1-11, wobei der Modusselektor ferner ausgebildet ist zum Auswählen eines ersten Modus zum Transferieren von Daten zwischen der Slave-Vorrichtung und jedem SPI-Block des Controllers in einem durch einen Speichertransferstandard vorgeschriebenen Bitverwürfelungsformat oder eines zweiten Modus zum Transferieren von Daten zwischen der Slave-Vorrichtung und jedem SPI-Block des Controllers ohne das durch den Speichertransferstandard vorgeschriebene Bitverwürfelungsformat.
-
Beispiel 13 ist eine Schnittstelle wie in Beispiel 1-12, wobei der Speichertransferstandard einen JEDEC-Flash-Speicher-Kommunikationsstandard aufweist.
-
Beispiel 14 ist ein Verfahren zum Herauffahren einer seriellen Mehrfach-E/A-Peripherieschnittstelle bzw. SPI, das Folgendes aufweist: Bereitstellen eines Controllers mit Registern, die in eine Primärregion und eine Sekundärregion aufgeteilt sind, wobei die Primärregion Daten zum Konfigurieren des Controllers und Daten über Fehler aufweist und die Sekundärregion Daten zum Bereitstellen eines Digital-Analog-Umsetzer- bzw. DAC-Betriebs und/oder eines Analog-Digital-Umsetzer- bzw. ADC-Betriebs aufweist; und Auswählen eines Vorgabemodus beim Herauffahren, in dem auf die Primärregion nur im Vorgabemodus für Schreib- und/oder Leseoperationen zugegriffen wird und auf die Sekundärregion durch jeden durch die Primärregion aktivierten Modus zugegriffen wird.
-
Beispiel 15 ist ein Verfahren wie in Beispiel 14, das ferner Speichern mindestens eines von von Schnittstellenkonfiguration unterstützenden Daten, fehlerunterstützenden Daten, Stromversorgungsmodi unterstützenden Daten, Daten zum Konfigurieren des Controllers, Controllerverhalten beschreibenden Daten oder Daten zum Bereitstellen von Fehlerprüfungen und -status in mindestens einem Register der Primärregion aufweist.
-
Beispiel 16 ist ein Verfahren wie in Beispiel 14-15, das ferner Speichern von Daten, die einen Spannungsumfangsbereich des DAC-Betriebs oder des ADC-Betriebs identifizieren, in der Primärregion aufweist.
-
Beispiel 17 ist ein Verfahren wie in Beispiel 14-16, das ferner Setzen eines Modusauswahlanschlusses an einer Slave-Vorrichtung, die Daten über jeweilige Datenleitungen zu/von dem Controller transferiert, aufweist, wobei der Modusauswahlanschluss eine Herauffahrmodus-Auswahlfunktion bereitstellt, die einen Schnittstellenmodus beim Herauffahren der Slave-Vorrichtung definiert.
-
Beispiel 18 ist ein Verfahren wie in Beispiel 14-17, das ferner Verbinden des Modusauswahlanschlusses an der Slave-Vorrichtung mit einer ersten Spannung zum Versetzen des Controllers und der Slave-Vorrichtung in einen ersten Vorgabemodus beim Herauffahren, in dem die SPI dazu ausgebildet ist, nur auf die Primärregion zuzugreifen, aufweist.
-
Beispiel 19 ist ein Verfahren wie in Beispiel 14-18, das ferner aufweist, dass die Slave-Vorrichtung im ersten Vorgabemodus einen die Slave-Vorrichtung mit dem Controller verbindenden Fehleranschluss triggert, wobei der Fehleranschluss Fehlerregister der Primärregion zieht, nachdem die Slave-Vorrichtung initialisiert wurde.
-
Beispiel 20 ist ein Verfahren wie in Beispiel 14-19, das ferner Verbinden des Modusauswahlanschlusses an der Slave-Vorrichtung mit einer zweiten Spannung zum Versetzen des Controllers und der Slave-Vorrichtung in einen zweiten Vorgabemodus beim Herauffahren, in dem der Controller die SPI in einem Dual-, Quad- oder Oktal-SPI-Modus umkonfiguriert, um unter Verwendung von zwei, vier bzw. acht Datenleitungen auf die Primärregion und die Sekundärregion zuzugreifen, aufweist.
-
Beispiel 21 ist eine serielle Mehrfach-E/A-Peripherieschnittstelle bzw. SPI, aufweisend: einen Controller mit mindestens zwei SPI-Blöcken mit intern synchronisierten Taktsignalen, wobei jeder SPI-Block Daten gleichzeitig transferiert; eine Slave-Vorrichtung, die Daten zu/von jedem SPI-Block des Controllers über jeweilige Datenleitungen transferiert; und einen Modusselektor, ausgebildet zum Auswählen eines ersten Modus zum Transferieren der Daten zwischen der Slave-Vorrichtung und jedem SPI-Block des Controllers in einem Bitverwürfelungsformat, das durch einen Speichertransferstandard vorgeschrieben wird, oder eines zweiten Modus zum Transfer von Daten zwischen der Slave-Vorrichtung und jedem SPI-Block des Controllers ohne das Bitverwürfelungsformat, das durch den Speichertransferstandard vorgeschrieben wird, wobei jede Datenleitung mit einem Datenkanal assoziiert ist.
-
Beispiel 22 ist eine Schnittstelle wie in Beispiel 21, wobei der Speichertransferstandard einen JEDEC-Flash-Speicher-Kommunikationsstandard aufweist.
-
Beispiel 23 ist eine Schnittstelle wie in Beispiel 21-22, wobei der Modusselektor den ersten Modus auswählt und jede Datenleitung ausgelegt ist zur bidirektionalen Kommunikation mit dem Datenkanal, wenn mehr als eine Datenleitung zum Lesen und/oder Schreiben von Daten in die Slave-Vorrichtung von dem Controller aktiviert ist.
-
Beispiel 24 ist eine Schnittstelle wie in Beispiel 21-23, die ferner mindestens einen bidirektionalen Multiplexer aufweist, der sich in den jeweiligen Datenleitungen befindet, wobei der Modusselektor einen Anschluss aufweist, der dem mindestens einen bidirektionalen Multiplexer ein Modusauswahlsignal zuführt.
-
Beispiel 25 ist eine Schnittstelle wie in Beispiel 21-24, die ferner einen Datenauswahlanschluss an der Slave-Vorrichtung aufweist, der den jeweiligen Datenleitungen ein Modusauswahlsignal zuführt.
-
Beispiel 26 ist eine Schnittstelle wie in Beispiel 21-25, wobei der Modusselektor den zweiten Modus auswählt, wenn eine Vorrichtung, mit der über die Mehrfach-E/A-SPI kommuniziert wird, keine JEDEC-Standardvorrichtung ist, indem ein Zustand des Datenauswahlanschlusses an der Slave-Vorrichtung geändert wird.
-
Beispiel 27 ist ein Verfahren zum Steuern einer seriellen Mehrfach-E/A-Peripherieschnittstelle bzw. SPI, das Folgendes aufweist: Bereitstellen eines Controllers mit mindestens zwei SPI-Blöcken, mit intern synchronisierten Taktsignalen; wobei jeder SPI-Block Daten gleichzeitig transferiert; und Auswählen eines ersten Modus oder eines zweiten Modus zum Transfer von Daten zwischen dem Controller und einer Slave-Vorrichtung, der Daten zu/von jedem SPI-Block des Controllers über jeweilige Datenleitungen transferiert; wobei Daten im ersten Modus durch jeden SPI-Block des Controllers in einem durch einen Speichertransferstandard vorgeschriebenen Bitverwürfelungsformat transferiert werden und im zweiten Modus durch jeden SPI-Block des Controllers ohne das durch den Speichertransferstandard vorgeschriebene Bitverwürfelungsformat transferiert werden, wobei jede Datenleitung mit einem Datenkanal assoziiert ist.
-
Beispiel 28 ist ein Verfahren wie in Beispiel 27, wobei der Speichertransferstandard einen JEDEC-Flash-Speicher-Kommunikationsstandard aufweist.
-
Beispiel 29 ist ein Verfahren wie in Beispiel 27-28, wobei, wenn der erste Modus ausgewählt wurde, jede Datenleitung bidirektionale Kommunikation mit dem Datenkanal bereitstellt, wenn mehr als eine Datenleitung zum Lesen und/oder Schreiben von Daten in die Slave-Vorrichtung von dem Controller aktiviert ist.
-
Beispiel 30 ist ein Verfahren wie in Beispiel 27-29, wobei Auswählen des ersten Modus oder des zweiten Modus zum Transfer von Daten zwischen dem Controller und der Slave-Vorrichtung Bereitstellen eines Modusauswahlsignals für mindestens einen sich in den jeweiligen Datenleitungen befindenden bidirektionalen Multiplexer aufweist.
-
Beispiel 31 ist ein Verfahren wie in Beispiel 27-30, wobei Bereitstellen des Modusauswahlsignals Ändern eines Zustands eines Datenauswahlanschlusses der Slave-Vorrichtung aufweist.
-
Beispiel 32 ist ein Verfahren wie in Beispiel 27-31, wobei Auswählen des ersten Modus oder des zweiten Modus zum Transfer von Daten zwischen dem Controller und der Slave-Vorrichtung Auswählen des zweiten Modus, wenn eine Vorrichtung, mit der über die Mehrfach-E/A-SPI kommuniziert wird, keine JEDEC-Standardvorrichtung ist, durch Ändern eines Zustands des Datenauswahlanschlusses an der Slave-Vorrichtung aufweist.
-
Die obige ausführliche Beschreibung weist Verweise auf die beigefügten Zeichnungen auf, die einen Teil der ausführlichen Beschreibung bilden. Die Zeichnungen zeigen zur Veranschaulichung spezifische Ausführungsformen, in denen die Erfindung praktiziert werden kann. Diese Ausführungsformen werden hier auch als „Beispiele“ bezeichnet. Alle Veröffentlichungen, Patente und Patentunterlagen, auf die in diesem Dokument Bezug genommen wird, werden durch Bezugnahme in ihrer Gesamtheit hierin eingeschlossen, als ob sie einzeln durch Bezugnahme eingeschlossen würden. Im Falle von inkonsistenten Verwendungen zwischen diesem Dokument und den auf diese Weise durch Bezugnahme eingeschlossenen Dokumenten ist die Verwendung in der/den eingeschlossenen Referenz(en) als zu der von diesem Dokument ergänzend zu betrachten; bei unvereinbaren Inkonsistenzen ist die Verwendung in diesem Dokument maßgebend.
Im Allgemeinen betrifft innerhalb der vorliegenden Offenbarung ein Aspekt eine Mehrfach-E/A-SPI für Präzisionsumsetzer zur Unterstützung einer Dual-/Quad-/Oktal-SPI, um die Geschwindigkeitsanforderungen für digitale Übertragung zu unterstützen, und weist einen Spezialmodus auf, der durch Hardware und/oder Software aktiviert werden kann, um einen durch den JEDEC-Standard vorgeschriebene Bitverwürfelungsanforderung zu entfernen. Der Spezialmodus entfernt die Verwürfelanforderung und assoziiert jede der bidirektionalen Datenleitungen mit einem spezifischen Kanal. Der Spezialmodus gewährleistet Rückwärtskompatibilität, die Verwendung des Präzisionsumsetzers mit Controllern gestattet, die nicht nativ den JEDEC-Standard unterstützen. Außerdem weist die Mehrfach-E/A-SPI Register auf, die in eine Primärregion, auf die nur im Vorgabemodus beim Herauffahren für Schreib- und/oder Leseoperationen zugegriffen wird, und eine Sekundärregion, auf die durch jeden im Steuerregister aktivierten Modus zugegriffen wird, aufgeteilt sind. Durch Beschränken des Zugriffs auf den „Steuer“-Registerbereich auf einen vordefinierten Modus im Umsetzer beim Herauffahren kann der Zugriffsmodus kontrolliert werden.
-
In diesem Dokument werden die Begriffe „ein“, „eines“ oder „eine“ wie in Patentunterlagen üblich verwendet, um eine/s oder mehr als eine/s einzuschließen, unabhängig von anderen Fällen oder Verwendungen von „zumindest ein/e/s“ oder „ein/e/s oder mehrere“. In diesem Dokument wird der Begriff „oder“ verwendet, um auf ein nicht ausschließliches „oder“ Bezug zu nehmen, sodass „A oder B“ „A aber nicht B“, „B aber nicht A“ und „A und B“ einschließt, sofern nicht anders angegeben. In den beigefügten Ansprüchen werden die Begriffe „einschließlich“ und „in dem/denen“ als die einfachen Entsprechungen der jeweiligen Begriffe „aufweisend“ und „wobei“ verwendet. Außerdem sind die Begriffe „einschließlich“ und „aufweisend“ in den folgenden Ansprüchen offen, das heißt, ein System, eine Vorrichtung, ein Gegenstand oder ein Prozess, der/die/das Elemente zusätzlich zu den nach einem solchen Begriff in einem Anspruch aufgelisteten einschließt, werden weiterhin als in den Umfang des Anspruchs fallend betrachtet. Darüber hinaus werden die Begriffe „erste/r/s“, „zweite/r/s“ und „dritte/r/s“ usw. in den folgenden Ansprüchen lediglich als Kennzeichnungen verwendet, und sie sind nicht dazu bestimmt, für deren Objekte numerische Anforderungen aufzuerlegen. Hier beschriebene Verfahrensbeispiele können mindestens teilweise maschinen- oder computerimplementiert werden.
-
Die vorstehende Beschreibung soll veranschaulichend und nicht einschränkend sein. Zum Beispiel können die vorstehend beschriebenen Beispiele (oder ein oder mehrere Aspekte davon) in Kombination miteinander verwendet werden. Andere Ausführungsformen können verwendet werden, wie durch einen Durchschnittsfachmann nach Durchsicht der vorstehenden Beschreibung. Die Zusammenfassung ist so bereitgestellt, dass sie 37 C.F.R. §1.72(b) entspricht, um es dem Leser zu erlauben, auf schnelle Weise die Art der technischen Offenbarung festzustellen. Sie wird ausgehend davon eingereicht, dass sie nicht dazu verwendet wird, den Schutzumfang oder die Bedeutung der Ansprüche auszulegen oder zu beschränken. Außerdem können in der vorstehenden Ausführeichen Beschreibung verschiedene Merkmale zusammengefasst sein, um die Offenbarung zu rationalisieren. Dies darf nicht so ausgelegt werden, dass ein nicht beanspruchtes offenbartes Merkmal für irgendeinen Anspruch wesentlich sein soll. Stattdessen kann ein Erfindungsgegenstand in weniger als allen Merkmalen einer bestimmten offenbarten Ausführungsform liegen. Daher werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung aufgenommen, wobei jeder Anspruch für sich allein als eine separate Ausführungsform steht. Der Umfang der Ausführungsformen ist Bezug nehmend auf die beigefügten Ansprüche zusammen mit dem vollständigen Umfang von Äquivalenten, die von diesen Ansprüchen abgedeckt werden, zu bestimmen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 62864286 [0001]
- US 16879205 [0001]