DE112020004915T5 - Serielle n-kanal-peripheriekommunikation und darauf bezogene systeme, verfahren und vorrichtungen - Google Patents

Serielle n-kanal-peripheriekommunikation und darauf bezogene systeme, verfahren und vorrichtungen Download PDF

Info

Publication number
DE112020004915T5
DE112020004915T5 DE112020004915.9T DE112020004915T DE112020004915T5 DE 112020004915 T5 DE112020004915 T5 DE 112020004915T5 DE 112020004915 T DE112020004915 T DE 112020004915T DE 112020004915 T5 DE112020004915 T5 DE 112020004915T5
Authority
DE
Germany
Prior art keywords
spi
module
modules
channel
symbols
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020004915.9T
Other languages
English (en)
Inventor
Johan Vaarlid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of DE112020004915T5 publication Critical patent/DE112020004915T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Abstract

Es werden Ausführungsformen einer seriellen N-Kanal-Peripherieschnittstelle und serielle N-Kanal-Kommunikationsverbindungen beschrieben, welche dieselben umfassen. Ebenfalls beschrieben werden Verfahren zur Kommunikation unter Verwendung von seriellen N-Kanal-Kommunikationsschnittstellen und -verbindungen.

Description

  • PRIORITÄTSANSPRUCH
  • Die vorliegende Anmeldung beansprucht das Prioritätsdatum der am 10. Oktober 2019 eingereichten vorläufigen US-Patentanmeldung Nr. 62/913,521 mit dem Titel „N-channel Serial Peripheral Communication, and Related Systems, Methods and Devices“, deren Offenbarung durch diesen Verweis in ihrer Gesamtheit hierin aufgenommen wird.
  • PATENTBEREICH
  • Die vorliegende Beschreibung bezieht sich allgemein auf Datenkommunikation, und insbesondere beziehen sich einige Ausführungsformen auf serielle N-Kanal-Kommunikation und serielle Peripherieschnittstellen, die logisch gruppiert sind, um eine serielle N-Kanal-Kommunikation durchzuführen, z. B., ohne darauf beschränkt zu sein, an einem Mikrocontroller.
  • STAND DER TECHNIK
  • Mikrocontroller und eingebettete Systeme schließen im Allgemeinen manchmal eine oder mehrere serielle Kommunikationsvorrichtungen, wie eine serielle Peripherieschnittstelle (SPI), zur Kommunikation über verschiedene Busse ein. Die serielle Kommunikation ist allgemein so zu verstehen, dass sie besonders geeignet ist für eine Femdatenübertragung und für Fälle, bei denen eine Datenmenge (typischerweise in Bits oder Bytes gemessen) relativ klein ist.
  • Figurenliste
  • Während diese Offenbarung mit Ansprüchen endet, die bestimmte Ausführungsformen besonders hervorheben und eindeutig beanspruchen, können verschiedene Merkmale und Vorteile von Ausführungsformen innerhalb des Schutzumfangs dieser Offenbarung leichter aus der folgenden Beschreibung ermittelt werden, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen werden, in denen:
    • 1 ein System veranschaulicht, welches als ein serielles N-Kanal-Peripherieschnittstellenmodul gemäß einer oder mehreren Ausführungsformen konfiguriert ist.
    • 2 ein Kommunikationssystem veranschaulicht, welches ein serielles Master-N-Kanal-Peripherieschnittstellenmodul in Datenkommunikation mit einem seriellen Slave-Peripherieschnittstellenmodul gemäß einer oder mehreren Ausführungsformen einschließt.
    • 3 ein System, welches eine Anzahl von gruppierbaren SPI-Modulen einschließt, die nicht gruppiert sind und einzeln Kommunikationssysteme mit einzelnen Slave-SPI-Modulen bilden, gemäß einer oder ehreren Ausführungsformen veranschaulicht
    • 4 einen Prozess zum Durchführen einer N-Kanal-Kommunikation eines Symbols unter Verwendung einer Schnittstelle, die als N-Kanal-SPI konfiguriert ist, gemäß einer oder mehreren Ausführungsformen veranschaulicht.
    • 5 einen Prozess zum Senden von N Symbolen über N Kanäle gemäß einer oder mehreren Ausführungsformen veranschaulicht.
    • 6 ein System, welches eine serielle N-Kanal-Kommunikationsverbindung einschließt, gemäß einer oder mehreren Ausführungsformen veranschaulicht.
    • 7 ein Blockdiagramm einer Schaltlogik, die verwendet werden kann, um verschiedene Funktionen, Operationen, Handlungen, Prozesse und/oder Verfahren zu realisieren, gemäß einer oder mehreren Ausführungsformen veranschaulicht.
  • ART(EN) ZUM AUSFÜHREN DER ERFINDUNG
  • In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung spezifische Beispiele von Ausführungsformen gezeigt sind, in denen die vorliegende Offenbarung ausgeführt werden kann. Diese Ausführungsformen werden ausreichend detailliert beschrieben, um es einem Durchschnittsfachmann zu ermöglichen, die vorliegende Offenbarung auszuführen. Es können jedoch auch andere Ausführungsformen verwendet werden, und Änderungen der Struktur, des Materials und des Prozesses können vorgenommen werden, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • Die hierin dargestellten Veranschaulichungen sollen keine tatsächlichen Ansichten eines bestimmten Verfahrens oder Systems oder einer bestimmten Vorrichtung oder Struktur sein, sondern sind lediglich idealisierte Darstellungen, die zur Beschreibung der Ausführungsformen der vorliegenden Offenbarung verwendet werden. Die hierin dargestellten Zeichnungen sind nicht notwendigerweise maßstabsgetreu. Ähnliche Strukturen oder Komponenten in den verschiedenen Zeichnungen können zur Vereinfachung für den Leser die gleiche oder eine ähnliche Nummerierung beibehalten; die Ähnlichkeit in der Nummerierung bedeutet jedoch nicht, dass die Strukturen oder Komponenten notwendigerweise in Größe, Zusammensetzung, Konfiguration oder einer anderen Eigenschaft identisch sind.
  • Die folgende Beschreibung kann Beispiele einschließen, um es einem Durchschnittsfachmann zu ermöglichen, die offenbarten Ausführungsformen auszuführen. Die Verwendung der Begriffe „beispielhaft“, „als Beispiel“ und „zum Beispiel“ bedeutet, dass die zugehörige Beschreibung erläuternd ist, und obwohl der Schutzumfang der Offenbarung die Beispiele und ihre rechtlichen Äquivalente umfassen soll, ist die Verwendung solcher Begriffe nicht dazu bestimmt, den Schutzumfang einer Ausführungsform oder dieser Offenbarung auf die spezifizierten Komponenten, Schritte, Merkmale, Funktionen oder dergleichen einzuschränken.
  • Es versteht sich von selbst, dass die Komponenten der Ausführungsformen, wie sie hierin allgemein beschrieben und in der Zeichnung veranschaulicht sind, in einer Vielzahl unterschiedlicher Konfigurationen angeordnet und gestaltet werden können. Somit soll die folgende Beschreibung verschiedener Ausführungsformen den Schutzumfang der vorliegenden Offenbarung nicht einschränken, sondern ist lediglich repräsentativ für verschiedene Ausführungsformen. Während die verschiedenen Gesichtspunkte der Ausführungsformen in Zeichnungen dargestellt werden können, sind die Zeichnungen nicht notwendigerweise maßstabsgetreu gezeichnet, sofern nicht ausdrücklich angegeben.
  • Des Weiteren sind die gezeigten und beschriebenen spezifischen Implementierungen nur Beispiele und sollten nicht als die einzige Möglichkeit zur Implementierung der vorliegenden Offenbarung ausgelegt werden, sofern hierin nicht anders angegeben. Elemente, Schaltungen und Funktionen können in Blockdiagrammform dargestellt sein, um die vorliegende Offenbarung nicht durch unnötige Details undeutlich werden zu lassen. Umgekehrt sind gezeigte und beschriebene spezifische Implementierungen nur beispielhaft und sollten nicht als die einzige Möglichkeit zur Implementierung der vorliegenden Offenbarung ausgelegt werden, sofern hierin nicht anders angegeben. Außerdem sind Blockdefinitionen und die Aufteilung von Logik zwischen verschiedenen Blöcken beispielhaft für eine spezifische Implementierung. Es ist für den Fachmann ohne Weiteres ersichtlich, dass die vorliegende Offenbarung durch zahlreiche andere Aufteilungslösungen ausgeführt werden kann. Auf Details zu zeitlichen Erwägungen und dergleichen wurde größtenteils verzichtet, soweit solche Details für ein vollständiges Verständnis der vorliegenden Offenbarung nicht erforderlich sind und innerhalb der Fähigkeiten eines Durchschnittsfachmanns liegen.
  • Der Durchschnittsfachmann würde verstehen, dass Informationen und Signale unter Verwendung einer Vielfalt verschiedener Technologien und Techniken dargestellt werden können. Zum Beispiel können Daten, Anweisungen, Befehle, Informationen, Signale, Bits und Symbole, auf die in dieser Beschreibung Bezug genommen werden kann, durch Spannungen, Ströme, elektromagnetische Wellen, Magnetfelder oder -partikel, optische Felder oder Partikel oder eine beliebige Kombination davon dargestellt werden. Einige Zeichnungen können Signale zur Übersichtlichkeit der Darstellung und Beschreibung als ein einzelnes Signal veranschaulichen. Es ist für einen Durchschnittsfachmann ersichtlich, dass das Signal einen Bus von Signalen darstellen kann, wobei der Bus eine Vielfalt von Bitbreiten aufweisen kann und die vorliegende Offenbarung auf einer beliebigen Anzahl von Datensignalen, einschließlich eines einzelnen Datensignals, implementiert werden kann. Der Fachmann erkennt, dass die vorliegende Offenbarung die Kommunikation von Quanteninformationen und Qubits umfasst, die verwendet werden, um Quanteninformationen darzustellen.
  • Die verschiedenen veranschaulichenden logischen Blöcke, Module und Schaltungen, die in Verbindung mit den hierin offenbarten Ausführungsformen beschrieben werden, können mit einem Universalprozessor, einem Spezialprozessor, einem digitalen Signalprozessor (Digital Signal Processor, DSP), einer integrierten Schaltung (Integrated Circuit, IC), einer anwendungsspezifischen integrierten Schaltung (Application Specific Integrated Circuit, ASIC), einer anwenderprogrammierbaren Gatteranordnung (Field Programmable Gate Array, FPGA) oder einer anderen programmierbaren Logikvorrichtung, einer diskreten Gate- oder Transistorlogik, diskreten Hardwarekomponenten oder einer beliebigen Kombination davon, die zum Durchführen der hierin beschriebenen Funktionen ausgelegt sind, implementiert oder durchgeführt werden. Ein Universalprozessor (der hierin auch als Host-Prozessor oder einfach als Host bezeichnet werden kann) kann ein Mikroprozessor sein, alternativ kann der Prozessor jedoch ein beliebiger herkömmlicher Prozessor, Controller, Mikrocontroller oder Zustandsautomat sein. Ein Prozessor kann auch als eine Kombination von Rechenvorrichtungen, wie eine Kombination aus einem DSP und einem Mikroprozessor, eine Vielzahl von Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine beliebige andere derartige Konfiguration implementiert sein. Ein Universalcomputer einschließlich eines Prozessors wird als Spezialcomputer angesehen, während der Universalcomputer so konfiguriert ist, dass er Rechenanweisungen (z. B. einen Softwarecode) ausführt, die sich auf Ausführungsformen der vorliegenden Offenbarung beziehen.
  • Die Ausführungsformen können in Bezug auf einen Prozess beschrieben sein, der als ein Flussdiagramm, ein Fließschema, ein Strukturdiagramm oder ein Blockdiagramm dargestellt ist. Obwohl ein Flussdiagramm operationale Handlungen als einen sequentiellen Prozess beschreiben kann, können viele dieser Handlungen in einer anderen Abfolge, parallel oder im Wesentlichen gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Handlungen geändert werden. Ein Prozess kann ohne Einschränkung einem Verfahren, einem Thread, einer Funktion, einer Prozedur, einer Unterroutine oder einem Unterprogramm entsprechen. Des Weiteren können die hierin offenbarten Verfahren in Hardware, Software oder beidem implementiert werden. Bei Implementierung in Software können die Funktionen als eine oder mehrere Anweisungen oder ein Code auf computerlesbaren Medien gespeichert oder übertragen werden. Computerlesbare Medien schließen sowohl Computerspeichermedien als auch Kommunikationsmedien, einschließlich aller Medien, welche die Übertragung eines Computerprogramms von einem Ort zu einem anderen unterstützen, ein.
  • Jede Bezugnahme auf ein Element hierin unter Verwendung einer Bezeichnung, wie „erste/r/s“, „zweite/r/s“ usw. schränkt die Menge oder Reihenfolge dieser Elemente nicht ein, es sei denn, eine solche Einschränkung wird ausdrücklich angegeben. Vielmehr können diese Bezeichnungen hierin als ein zweckmäßiges Verfahren zum Unterscheiden zwischen zwei oder mehr Elementen oder Instanzen eines Elements verwendet werden. Ein Verweis auf ein erstes und ein zweites Element bedeutet also nicht, dass dort nur zwei Elemente eingesetzt werden dürfen oder dass das erste Element dem zweiten Element in irgendeiner Weise vorausgehen muss. Außerdem kann ein Satz von Elementen, sofern nicht anders angegeben, ein oder mehrere Elemente umfassen.
  • Wie hierin verwendet, bedeutet der Begriff „im Wesentlichen“ in Bezug auf einen gegebenen Parameter, eine gegebene Eigenschaft oder eine gegebene Bedingung und schließt in einem für den Durchschnittsfachmann verständlichen Ausmaß ein, dass der gegebene Parameter, die gegebene Eigenschaft oder die gegebene Bedingung mit einem geringen Maß an Varianz, wie zum Beispiel innerhalb annehmbarer Fertigungstoleranzen, erfüllt ist. Beispielhaft kann in Abhängigkeit von dem bestimmten Parameter, der bestimmten Eigenschaft oder der bestimmten Bedingung, der bzw. die im Wesentlichen erfüllt ist, der Parameter, die Eigenschaft oder die Bedingung zu mindestens 90 % erfüllt, zu mindestens 95 % erfüllt oder sogar zu mindestens 99 % erfüllt sein.
  • Wie hierin verwendet, bedeutet „Symbol“ Informationen, die durch eine Anzahl an binären Bits (d. h. Bit(s)) dargestellt werden, wie durch ein Byte (typischerweise 8 Bits) oder ein Nibble (weniger als 8 Bits). In einem Kommunikationssystem kann vorab eine beliebige Anzahl an Bits festgelegt werden, um Symbole und Informationen darzustellen, jedoch weisen in offenbarten Ausführungsformen ein Sender und ein Empfänger typischerweise eine Vereinbarung über die Anzahl an Bits auf, die ein Symbol bilden. Nicht einschränkende Beispiele für Informationen, die durch Symbole dargestellt werden können, schließen Anwendungsinformationen, Steuerinformationen und Zeitinformationen ein. Wie hierin verwendet, bedeuten „Daten“ Symbole oder Bits.
  • Wie hierin verwendet, bedeutet „Kommunikation“ Senden und/oder Empfangen eines oder mehrerer Symbole.
  • Wie hierin verwendet, bedeutet „serielle Kommunikation“ einen Prozess der Kommunikation von einem oder mehreren Symbolen über eine Verbindung, ein Bit zu einer Zeit, in einer Sequenz.
  • Wie hierin verwendet, bedeutet eine Bezugnahme auf Elemente (z. B. Bits, Bytes, Symbole oder allgemeiner Informationen allgemeiner, ohne darauf beschränkt zu sein), die „parallel kommuniziert werden“, oder auf eine „Parallelkommunikation“ solcher Elemente, eine gleichzeitige Kommunikation der betreffenden Elemente (z. B. der Symbole, ohne darauf beschränkt zu sein) auf verschiedenen Kanälen. Jedes solches Element kann durch serielle Kommunikation über einen entsprechenden Kanal kommuniziert werden. Ein Kanal kann eine oder mehrere Verbindungen einschließen, wie einen Draht, ein Frequenzband oder eine Kombination davon, ohne darauf beschränkt zu sein. Zwei Bits sollten als gleichzeitig gesendet verstanden werden, wenn ihre Sendung durch dieselbe Taktflanke eines gemeinsamen Takts ausgelöst wird.
  • Obwohl Symbole und Bits hierin als „gleichzeitig“ kommuniziert oder gesendet beschrieben sein können, sollte dies so verstanden werden, dass es Bits und Symbole umfassen, die genau gleichzeitig kommuniziert oder gesendet werden oder nicht, wie Bits und Symbole, die während im Wesentlichen zeitgleicher Transaktionen kommuniziert oder gesendet werden. Ein nicht einschränkendes Beispiel für im Wesentlichen zeitgleiche Transaktionen sind Datentransaktionen, die durch eine gleiche Taktflanke ausgelöst werden.
  • Eine serielle Peripherieschnittstelle (SPI) ist eine Datensende-Schnittstelle, die für ein synchrones oder asynchrones Senden von Bits oder Symbolen konfiguriert sein kann. Eine SPI kann ein Abschnitt eines Kommunikationssystems, welches eine interne und/oder externe Kommunikation zwischen Vorrichtungen, Anwendungen und allgemeiner Systemen ermöglicht, sein oder einen solchen bilden. Als nicht einschränkendes Beispiel kann eine SPI einen Abschnitt eines Busses sein oder bilden, der eine serielle Kommunikation zwischen Mikrocontrollern oder zwischen Peripherieeinheiten eines Mikrocontrollers ermöglicht.
  • Im Allgemeinen kann eine SPI-Kommunikationsverbindung zwei SPI-Module, einen SPI-Master und einen SPI-Slave einschließen, die durch eine Verbindung operativ verknüpft sind, welche eine Anzahl von Leitungen einschließt (z. B., ohne darauf beschränkt zu sein, Drähte für Taktsignale, Sendedaten, Empfangsdaten und Steuersignale (z. B. Slave-Auswahl, ohne darauf beschränkt zu sein)). Ein SPI-Master löst eine Datentransaktion aus und steuert sie. Ein SPI-Modul einer SPI-Kommunikationsverbindung kann entweder als ein Master oder als ein Slave konfiguriert sein, allgemein oder für eine spezielle Datentransaktion.
  • Ein SPI-Modul (wie z. B. eine Peripherieeinheit eines Mikrocontrollers, der als SPI-Modul konfiguriert ist, ohne darauf beschränkt zu sein) kann Schieberegister, einen Master-Taktgenerator und eine Anzahl an Eingabe/Ausgabe-Verbindungen (E/A-Verbindungen) (z. B. Pins, ohne darauf beschränkt zu sein) einschließen, wie für Datenleitungen, eine Taktleitung und Auswahlleitungen, ohne darauf beschränkt zu sein.
  • Als ein nicht einschränkendes Beispiel einer Kommunikation unter Verwendung einer SPI-Kommunikationsverbindung löst ein SPI-Master einen Kommunikationszyklus durch Herunterziehen eines gewünschten Slave-Auswahlsignals aus. Dieses Signal wird vom gewünschten SPI-Slave der SPI-Kommunikationsverbindung empfangen und informiert den gewünschten SPI-Slave, dass die Kommunikation gewünscht wird. Der SPI-Master und der SPI-Slave bereiten sich dafür vor, dass die Daten von ihren jeweiligen Schieberegistern/an ihre jeweiligen Schieberegister gesendet werden, und der SPI-Master erzeugt alle erforderlichen Impulse eines Taktsignals auf der Taktleitung zum Austauschen von Daten. Die Daten werden auf der Master-Ausgabe/Slave-Eingabe-Leitung (MOSI-Leitung) von dem SPI-Master zu dem SPI-Slave verschoben und in einigen Fällen werden Rücksendedaten auf der Master-Eingabe/Slave-Ausgabe-Leitung (MISO-Leitung) von dem SPI-Slave zu dem SPI-Master verschoben.
  • Niedrigenergie-Mikrocontroller (z. B., ohne darauf beschränkt zu sein, Mikrocontroller, die in Anwendungen verwendet werden, die energiesensibel sind, wie in Automobilnetzwerken und Sensornetzwerken, oder die auf andere Weise energetisch beschränkt sind) sind oft auf Taktgeschwindigkeiten im zweistelligen Megahertz-Bereich begrenzt, sodass in einigen Fällen die durch eine SPI-Kommunikationsverbindung erreichbaren Sendegeschwindigkeiten durch die Taktgeschwindigkeit eines Niedrigenergie-Mikrocontrollers begrenzt sind. Als ein nicht einschränkendes Beispiel kann im Fall einer 20 MHz-Taktgeschwindigkeit eine Sendegeschwindigkeit durch eine SPI-Kommunikationsverbindung in einer Niedrigenergieanwendung auf etwa 10 MHz begrenzt sein.
  • Der Erfinder der vorliegenden Offenbarung erkennt, dass die Übertragungsgeschwindigkeiten von SPI-Kommunikationsverbindungen in Mikrocontrollern, insbesondere Niedrigenergie-Mikrocontrollern, verbessert werden müssen. Der Erfinder der vorliegenden Offenbarung erkennt, dass mehrere SPI-Module gruppiert (d. h. logisch gruppiert) werden können und die gruppierten SPI-Module verwendet werden können, um eine N-Kanal-Kommunikationsverbindung für eine parallele Kommunikation zu bilden, einschließlich, wie hierin ausführlicher in Verbindung mit einer oder mehreren Ausführungsformen beschrieben.
  • Eine oder mehrere Ausführungsformen beziehen sich allgemein auf eine Architektur für eine N-Kanal-Kommunikationsverbindung und eine Multi-Eingabe/Ausgabe-Kommunikation (Multi-E/A-Kommunikation) unter Verwendung derselben. In einigen Ausführungsformen schließt ein N-Kanal-SPI-Modul N gruppierte SPI-Module, Taktquellenauswahl und einen Kommunikationstreiber ein, der dafür konfiguriert ist, eine oder mehrere Funktionen durchzuführen, die mit der N-Kanal-Kommunikation verbunden sind. Der Kommunikationstreiber kann dafür konfiguriert sein, eine Sendung durch ein oder mehrere erste Schnittstellenmodule (z. B. verwaltete SPI-Module, ohne darauf beschränkt zu sein) mit einer Sendung durch ein zweites Schnittstellenmodul (z. B. ein verwaltendes SPI-Modul ohne darauf beschränkt zu sein) zu synchronisieren. In einigen Ausführungsformen kann ein Kommunikationstreiber dafür konfiguriert sein, die Übertragung von Bits eines Symbols zu jeweiligen gruppierten SPI-Modulen zu verwalten. In einigen Ausführungsformen kann ein Kommunikationstreiber dafür konfiguriert sein, die Taktquellenauswahl an jeweiligen gruppierten SPI-Modulen so zu verwalten, dass für die Sendung an jeweiligen gruppierten SPI-Modulen ein gemeinsames Taktsignal verwendet wird.
  • Der Kommunikationstreiber kann dafür konfiguriert sein, dem einen oder den mehreren ersten Schnittstellenmodulen ein oder mehrere erste Symbole bereitzustellen und dem zweiten Schnittstellenmodul ein zweites Symbol bereitzustellen. Jedes Symbol (d. h. aus den ersten Symbolen und dem zweiten Symbol) wird einzeln durch eine serielle Kommunikation kommuniziert, aber die Gruppe von Symbolen wird parallel kommuniziert.
  • 1 zeigt ein Blockdiagramm eines Systems 100, welches als ein N-Kanal-SPI-Modul konfiguriert ist, gemäß einer oder mehreren Ausführungsformen. Das System 100 kann hierin auch als „N-Kanal-SPI-Modul 100“ bezeichnet werden. Wie in 1 dargestellt, kann das System 100 gruppierte SPI-Module 102 (welche eine Anzahl N an SPI-Modulen einschließen), einen N-Kanal-Kommunikations(COM)-Treiber 110, eine Taktquellenauswahl 116 und einen Datenspeicher 112 einschließen. Der Datenspeicher 112 ist optional, mit anderen Worten, das System 100 schließt nicht notwendigerweise den Datenspeicher 112 ein, sondern ist zur Vereinfachung eines Teils der hierin gegebenen Beschreibung dargestellt.
  • Jedes Modul aus dem SPI-Modul 0 104 bis zum SPI-Modul N 108 der gruppierten SPI-Module 102 kann als ein SPI-Modul für eine serielle Kommunikation extern des Systems 100 über Verbindungen 120 konfiguriert sein (z. B. für eine Kommunikation mit einer externen Vorrichtung wie einem Speicher oder einem Computersystem, ohne darauf beschränkt zu sein). In einer Mikrocontroller-Realisierung des Systems 100 kann der Mikrocontroller eine oder mehrere Peripherieeinheiten einschließen, wobei jede solche Peripherieeinheit als ein SPI-Modul (z. B. das SPI-Modul 0 104, das SPI-Modul 1 106 und/oder das SPI-Modul N 108 der 1) für eine serielle Kommunikation mit einer Vorrichtung extern des Mikrocontrollers über einen oder mehrere Eingabe/Ausgabe-Pins (E/A-Pins) konfiguriert (oder konfigurierbar) ist, oder für eine Kommunikation mit anderen Peripherieeinheiten des Mikrocontrollers.
  • Der N-Kanal-COM-Treiber 110 kann allgemein für eine Verwaltung einer seriellen N-Kanal-Kommunikation über gruppierte SPI-Module 102 konfiguriert sein. Als ein nicht einschränkendes Beispiel kann der N-Kanal-COM-Treiber 110 ein Kommunikationstreiber sein, der dafür konfiguriert ist, eine oder mehrere Funktionen des hierin beschriebenen N-Kanal-COM-Treibers 110 durchzuführen, und allgemeiner dafür, das System 100 und Komponenten davon für die serielle N-Kanal-Kommunikation zu verwalten. Der N-Kanal-COM-Treiber 110 kann mit gruppierten SPI-Modulen 102 über eine oder mehrere Daten- und Steuerverbindungen (z. B. Busse und Register, ohne darauf beschränkt zu sein) zum Senden und Empfangen von N Symbolen 114 und Interrupt TX/Rx INT kommunizieren.
  • Wie hierin beschrieben, kann eine Anzahl an SPI-Modulen durch den N-Kanal-COM-Treiber 110 logisch gruppiert werden (z. B. um gruppierte SPI-Module 102 zu bilden, ohne darauf beschränkt zu sein), um eine serielle N-Kanal-Kommunikation durchzuführen. In einer oder mehreren Ausführungsformen beträgt eine Anzahl N an SPI-Modulen, die zum Bilden einer Gruppe von SPI-Modulen für die N-Kanal-Kommunikation verwendet werden, typischerweise mindestens zwei (anders ausgedrückt, zwei oder mehr). In einigen Ausführungsformen kann eine Obergrenze einer Anzahl N an SPI-Modulen durch eine Gesamtzahl an externen (d. h. extern des Systems 100) Verbindungen definiert sein, die für eine serielle Kommunikation verfügbar sind (z. B. Hardware-Pins, die für E/A verfügbar sind, ohne darauf beschränkt zu sein). In einigen Ausführungsformen kann eine Obergrenze einer Anzahl N an SPI-Modulen durch eine Gesamtzahl verfügbarer SPI-Module (einschließlich Modulen, die als SPI-Module konfigurierbar sind, ohne darauf beschränkt zu sein) definiert sein, z. B. durch die Anzahl an SPI-Modulen, die in einem Mikrocontroller enthalten sind, ohne darauf beschränkt zu sein.
  • Das System 100 oder ein System, welches das System 100 einschließt, kann Seriellkommunikationstreiber einschließen (nicht in 1 dargestellt, aber in 3 dargestellt), die mit einem oder mehreren der SPI-Module verbunden sind und durch den N-Kanal-COM-Treiber 110 verwendbar sind, um die Durchführung einer seriellen Kommunikation als Teil der Durchführung der seriellen N-Kanal-Kommunikation zu verwalten. Darüber hinaus können, wie in Bezug auf 3 beschrieben, obwohl sie nicht zur Durchführung einer seriellen N-Kanal-Kommunikation verwendet werden, eines oder mehrere der SPI-Module so betreibbar sein, dass sie eine serielle Kommunikation (z. B. verwaltet durch einen der Seriellkommunikationstreiber) unabhängig vom Betrieb anderer SPI-Module durchführen, einschließlich unabhängig von SPI-Modulen der gruppierten SPI-Module 102.
  • In einer oder mehreren Ausführungsformen kann für eine gegebene Gruppe von SPI-Modulen der N-Kanal-COM-Treiber 110 dafür konfiguriert sein, ein verwaltendes SPI-Modul festzulegen und ein oder mehrere verwaltete SPI-Module festzulegen. In 1 ist das SPI-Modul 0 104 das festgelegte verwaltende SPI-Modul und das SPI-Modul 1 106 bis zum SPI-Modul N 108 sind die festgelegten verwalteten SPI-Module, jedoch kann jedes der verfügbaren SPI-Module, die in den gruppierten SPI-Modulen 102 verwendet werden, ein verwaltendes SPI-Modul und die anderen ein verwaltetes SPI-Modul (verwaltete SPI-Module) sein.
  • Wie hierin beschrieben, kann der N-Kanal-COM-Treiber 110 dafür konfiguriert sein, (z. B., ohne darauf beschränkt zu sein, über das Auswahlsteuersignal in 1) das Bereitstellen eines seriellen Takts zum Verwalten des SPI-Moduls 104 mit jeweiligen verwalteten SPI-Modulen 106 bis 108 durch die Taktquellenauswahl 116 zu verwalten und dadurch das Senden durch SPI-Module 104 bis 108 einer Gruppe zu synchronisieren, die ansonsten für eine asynchrone Kommunikation konfiguriert sind. Als ein nicht einschränkendes Beispiel kann das Synchronisieren ein Synchronisieren des Beginns der Datensendung sowie von Sendegeschwindigkeiten jeweiliger SPI-Module einschließen.
  • Die Taktquellenauswahl 116 kann dafür konfiguriert sein, aus einer Anzahl von Taktquellen auszuwählen und ausgewählte Takte 118 Takteingängen (z. B. Takt 0 bis Takt N) jeweiliger SPI-Module der gruppierten SPI-Module 102 bereitzustellen. In einigen Ausführungsformen kann die Taktquellenauswahl eine Schaltarchitektur sein, die dafür konfiguriert ist, in Reaktion auf ein Auswahlsteuersignal („Auswahl“, empfangen vom N-Kanal-COM-Treiber 110 in 1), Takte aus einer Anzahl verfügbarer Takte (z. B. einem System- oder Haupttakt und/oder den seriellen Takten der verschiedenen SPI-Module der gruppierten SPI-Module 102, ohne darauf beschränkt zu sein) auszuwählen. Die Taktquellenauswahl kann dafür konfiguriert sein, jedem SPI-Modul der gruppierten SPI-Module 102 ausgewählte Takte bereitzustellen.
  • In dem speziellen Beispiel, das in 1 dargestellt ist, schließen die verfügbaren Taktquellen serielle Takte, die von den verschiedenen SPI-Modulen ausgegeben werden können, und einen Haupttakt ein, der von dem System 100 bereitgestellt werden kann oder von dem System 100 empfangen werden kann. Da das SPI-Modul 0 104 als eine verwaltende SPI festgelegt ist, wird sein serieller Takt, „Serieller N-Kanal-Takt“, durch die Taktquellenauswahl 116 den Takteingängen 1 bis N der SPI-Module 1 106 bis N 108 bereitgestellt. Der Haupttakt (manchmal auch als „Systemtakt“ bezeichnet) wird durch die Taktquellenauswahl 116 dem Takteingang des verwaltenden SPI-Moduls, des SPI-Moduls 0 104, nämlich dem Eingangstakt 0, bereitgestellt.
  • Wenn das SPI-Modul 0 104 Symbole oder Bits auf MOSI 0 (Master-Ausgabe/Slave-Eingabe 0 - d. h. die Datenausgabe eines Masters in einer seriellen Kommunikation) sendet, wird sein serieller Takt (d. h. ein Takt, ausgegeben als ein serieller Master-Kommunikationstakt) „Serieller N-Kanal-Takt“ Takteingängen der verwalteten SPI-Module bereitgestellt (z. B. durch die Taktquellenauswahl 116 geleitet, ohne darauf beschränkt zu sein), hier den Eingängen Takt 1 des SPI-Moduls 1 106 bis Takt N des SPI-Moduls N 108.
  • Die SPI-Module 1 106 bis N 108 sind dafür konfiguriert, in Reaktion auf das Empfangen der Taktimpulse des seriellen N-Kanal-Takts Daten auf ihren jeweiligen Datenausgängen MOSI 1 bis MOSI N zu senden.
  • In einigen Ausführungsformen, einschließlich des speziellen Beispiels, das in 1 dargestellt ist, können verwaltete SPI-Module dafür konfiguriert (oder konfigurierbar) sein, während der seriellen N-Kanal-Kommunikation nicht einen seriellen Takt an Slave-SPI-Module zu senden. In anderen Ausführungsformen können verwaltete SPI-Module dafür konfiguriert (oder konfigurierbar) sein, einen seriellen Takt einschließlich des seriellen N-Kanal-Takts an jeweilige Slave-SPI-Module zu senden.
  • Die an den Eingängen jeweiliger verwalteter SPI-Module (z. B. Takt 1 des SPI-Moduls 1 106 bis Takt N des SPI-Moduls N 108, ohne darauf beschränkt zu sein) empfangenen Taktquellen entsprechen einem Takt, der an einem seriellen Taktausgang des SPI-Moduls 0 104 (der verwaltenden SPI) bereitgestellt wird, nämlich dem „seriellen N-Kanal-Takt“. Durch Verwendung einer gemeinsamen Taktquelle (oder synchronisierter Taktquellen) wird die Sendung für die serielle N-Kanal-Kommunikation synchronisiert.
  • In einigen Ausführungsformen kann ein verwaltendes SPI-Modul (z. B. das SPI-Modul 0 104) eine Taktquelle mit einer Taktfrequenz empfangen, die größer oder gleich einer gewünschten Taktfrequenz für den seriellen N-Kanal-Takt ist, und kann die Taktquelle als Referenztakt zum Teilen oder Skalieren (z. B. über einen Baud-Raten-Generator (nicht dargestellt) oder allgemeiner einen digitalen Teiler, ohne darauf beschränkt zu sein) verwenden, wie erforderlich, um einen seriellen N-Kanal-Takt zu erzeugen, und stellt den seriellen N-Kanal-Takt einem Pin bereit, der extern mit einem Slave-SPI-Modul (nicht dargestellt) verbunden ist. Als ein nicht einschränkendes Beispiel kann ein verwaltendes SPI-Modul dafür konfiguriert sein, eine gewünschte Sendegeschwindigkeit und eine Taktquellengeschwindigkeit (z. B. wie durch den N-Kanal-COM-Treiber 110 bestimmt, ohne darauf beschränkt zu sein) auszuwählen, und einen oder mehrere Eingabeparameter für einen Taktteiler (z. B. ein Verhältnis der Taktquellengeschwindigkeit zu der gewünschten Sendegeschwindigkeit, einen „Teilendurch“-Wert und einen Modulzähler, ohne darauf beschränkt zu sein) zu bestimmen. Als nicht einschränkende Beispiele kann ein Quelltakt als der Haupt- oder Systemtakt bezeichnet werden und kann eine intern oder extern (des Systems 100) erzeugte Taktquelle sein.
  • Es versteht sich, dass in einigen Ausführungsformen der N-Kanal-COM-Treiber 110 dafür konfiguriert sein kann, verwaltende und verwaltete SPI-Module festzulegen, indem er das Bereitstellen eines Haupttakts an einen Takteingang eines verwaltenden SPI-Moduls und das Bereitstellen eines seriellen Takts des verwaltenden SPI-Moduls an entsprechende Takteingänge der verwalteten SPI-Module verwaltet.
  • Mittels einer vorgesehenen Operation des Systems 100 legt der N-Kanal-COM-Treiber 110 in Reaktion auf eine Anforderung zum Senden von N Symbolen, die in dem Datenspeicher 112 gespeichert sind, das SPI-Modul 0 104 als verwaltende SPI fest, indem er den seriellen N-Kanal-Taktausgang des SPI-Moduls 0 104 mit jeweiligen Takteingängen der SPI-Module 1 106 bis N 108, d. h. Takt 1 bis TaktN, verbindet (d. h. über die Taktquellenauswahl 116 einen Signalweg bildet). Der N-Kanal-COM-Treiber 110 überträgt parallel einzelne Symbole der N Symbole 114 vom Datenspeicher 112 zu jedem der gruppierten SPI-Module 102. Somit wird, wenn den gruppierten SPI-Modulen 102 die N Symbole 114 bereitgestellt werden, jedem der SPI-Module 0 104, 1 106, ... bis N 108 ein individuelles Symbol der N Symbole 114 bereitgestellt.
  • Insbesondere wird in Fällen, bei denen SPI-Module 1 106 bis N 108 für ein automatisches Senden konfiguriert sein können, das automatische Senden durch die SPI-Module 1 106 bis N 108 deaktiviert, während die einzelnen Symbole der N Symbole 114 diesen SPI-Modulen bereitgestellt werden. In einer Ausführungsform wird das Senden deaktiviert, indem kein Taktsignal umgeschaltet wird, das einem Takteingang der SPI-Module 1 106 bis N 108 bereitgestellt wird (z. B. ein Taktsignal an jeweiligen Takteingängen der SPI-Module 1 106 bis N 108 auf High oder Low gehalten wird, ohne darauf beschränkt zu sein).
  • In einigen Fällen kann es wünschenswert (oder gerade ausreichend) sein, eine „grobe“ gleichzeitige Sendung in einem System zu verwenden, das für eine serielle N-Kanal-Kommunikation konfiguriert ist, wobei eine Aktivierungssignalisierung verwendet wird, um die Sendung durch eine Gruppe von SPI-Modulen zu synchronisieren, wie hierin beschrieben. Jedes SPI-Modul kann individuell über ein Aktivierungssignal (nicht dargestellt) aktiviert werden, und sobald es aktiviert ist, seine jeweiligen Symbole in Reaktion auf Folgendes senden: (i) einen gemeinsamen Takt oder (ii) in Reaktion auf ein Umschalten eines Aktivierungssignals.
  • In einer anderen Ausführungsform wird ein Aktivierungssignal (d. h. zum Aktivieren einer Sendung) durch ein Aktivierungsregister (nicht dargestellt) Eingängen der SPI-Module 1 106 bis N 108 bereitgestellt und deaktiviert (z. B. werden die Bits des Aktivierungsregisters auf Low gesetzt, ohne darauf beschränkt zu sein), um die Sendung zu deaktivieren, und aktiviert (z. B. werden die Bits des Aktivierungsregisters auf High gesetzt, ohne darauf beschränkt zu sein), um die Sendung zu aktivieren.
  • Nach dem Bereitstellen von Symbolen der N Symbole 114 an die SPI-Module 1 106 bis N 108 stellt der N-Kanal-COM-Treiber 110 dann das letzte verbleibende Symbol der N Symbolen 114 dem SPI-Modul 0 104 bereit. Wie hierin beschrieben, stellt der N-Kanal-COM-Treiber 110 das letzte verbleibende Symbol der N Symbole 114 dem SPI-Modul 0 104 bereit, da, sobald einem Datenregister einer verwaltenden SPI Daten bereitgestellt werden, die verwaltende SPI beginnt, die Inhalte ihres Datenregisters zu senden und ihren seriellen Takt (d. h. Den seriellen N-Kanal-Takt) zu pulsen, der das Senden durch die verwalteten SPIs auslöst. In einer anderen Ausführungsform wird dem SPI-Modul 0 104 ein Aktivierungsbit eines Aktivierungsregisters bereitgestellt, und das SPI-Modul 0 104 ist somit für ein Senden deaktiviert, bis alle Symbole der N Symbole 114 in jeweilige SPI-Module der gruppierten SPI-Module 102 geladen sind, wobei zu dieser Zeit das Aktivierungsbit umgeschaltet werden kann, um das Senden zu aktivieren. In einer solchen Ausführungsform muss die Reihenfolge des Ladens möglicherweise nicht beschränkt sein.
  • Wenn das SPI-Modul 0 104 die Inhalte seines Datenregisters sendet (d. h. die Bits des Symbols der N Symbole 114), gibt es außerdem einen seriellen Takt als seriellen N-Kanal-Takt aus, der für eine serielle Kommunikation mit einem Empfänger verwendet wird. Wie hierin beschrieben, verbreitet die Taktquellenauswahl 116 den seriellen N-Kanal-Takt über Taktquellenauswahl auf Takteingänge jedes der SPI-Module 1 106 bis N 108. Die Taktimpulse des seriellen N-Kanal-Takts triggern die SPI-Module 1 106 bis N 108, ihre jeweiligen Symbole der N Symbole 114 in einer Seriellkommunikationstransaktion zu senden (z. B. die Inhalte ihrer jeweiligen Datenregister (d. h. das jeweilige Symbol der N Symbole 114) seriell an die Verbindung 120 zu senden, ohne darauf beschränkt zu sein).
  • Der N-Kanal-COM-Treiber 110 wird durch Interrupt Tx/Rx INT informiert, dass die gruppierten SPI-Module 102 das Senden der N Symbole 114 beendet haben (z. B. das Senden der Inhalte ihrer jeweiligen Datenregister, welche die N Symbole 114 einschließen, an die Verbindung 120 beendet haben, ohne darauf beschränkt zu sein). In einigen Ausführungsformen wird der N-Kanal-COM-Treiber 110 darüber informiert, dass die gruppierten SPI-Module 102 das Senden der N Symbole 114 über Tx/Rx INT beendet haben, wenn ein Symbol gesendet wird oder wenn eine Anzahl an Taktzyklen durchgelaufen sind, die einem Symbol entsprechen (z. B. ein Zähler (nicht dargestellt) kann serielle Taktzyklen bis zu einer Symbolgröße zählen und Tx/Rx INT triggern, wenn die Zählung die Symbolgröße erreicht, ohne darauf beschränkt zu sein).
  • In einigen Ausführungsformen einer seriellen N-Kanal-Kommunikationsanordnung unter Verwendung der gruppierten SPI-Module 102 sendet ein Empfänger (Slave) in Reaktion auf an ihn gesendete Sendedaten Rücksendedaten an einen Sender. Somit empfangen in der oben vorgesehenen Operation des Systems 100 auf demselben Taktzyklus, auf dem ein Bit von Sendedaten gesendet wird, jeweilige SPI-Module der gruppierten SPI-Module 102 ein Bit von Rücksendedaten. In verschiedenen Ausführungsformen können unterschiedliche Schieberegister jedes SPI-Moduls verwendet werden, um Bits von Sendesymbolen und Bits von Rücksendesymbolen zu speichern, oder es kann dasselbe Schieberegister eines SPI-Moduls verwendet werden, um Bits von Sendesymbolen und Bits von Rücksendesymbolen zu speichern (z. B. das Sende-Schieberegister 212 der 2, ohne darauf beschränkt zu sein).
  • Der N-Kanal-COM-Treiber 110 ist so dargestellt und beschrieben, dass er Sendesymbole empfängt und/oder SPI-Modulen bereitstellt, dies ist jedoch nicht notwendigerweise der Fall. In einigen Ausführungsformen werden verschiedene Steuerelemente zum Bewegen von Bits von Symbolen zu und aus dem Datenspeicher 112 durch den N-Kanal-COM-Treiber 110 aufgerufen. Als ein nicht einschränkendes Beispiel können in einer Mikrocontroller-Realisierung, bei der Peripherieeinheiten als SPI-Module konfiguriert sind, eine oder mehrere Speichersteuerungen bewirken, dass Symbole von dem Datenspeicher 112 über einen Datenbus, z. B., ohne darauf beschränkt zu sein, über einen Peripheriebus, zu Peripherieeinheiten bewegt werden, die als SPI-Module konfiguriert sind, wie als das SPI-Modul 0 104, das SPI-Modul 1 106 und das SPI-Modul N 108.
  • In einigen Fällen kann das Gruppieren einer Anzahl von SPI-Modulen, wie der gruppierten SPI-Module 102, als das Erzeugen einer temporären Hardware-Schnittstelle verstanden werden. Es kann eine spezielle Konfiguration für die gruppierten SPI-Module 102 (z. B. Anzahl, Sendegeschwindigkeit, ohne darauf beschränkt zu sein) ausgewählt werden, um eine spezielle Hardware-Schnittstelle bereitzustellen. Nicht einschränkende Beispiele für spezielle Hardware-Schnittstellen schließen eine Dual-SPI-Hardware-Schnittstelle und eine Quad-SPI-Hardware-Schnittstelle ein.
  • 2 zeigt ein Blockdiagramm eines Kommunikationssystems 200, welches eine Master-N-Kanal-SPI 202 (auch als „Master 202“ bezeichnet) in Datenkommunikation mit einem Slave (Quad- oder Dual-SPI) 224 (auch als „Slave 224“ bezeichnet) gemäß einer oder mehreren Ausführungsformen einschließt.
  • Der Master 202 schließt eine Anzahl N von gruppierten SPI-Modulen ein, hier die SPI-Module 0 204 bis N 214. Jedes SPI-Modul des Master 202 schließt entsprechende Taktquellenauswahlen (z. B. die Quellenauswahlen 206/216), Baud-Raten-Generatoren (z. B. die Baud-Raten-Generatoren 208/218), Umgehungen (z. B. die Umgehungen 210/220) und Sende-Schieberegister (z. B. die Sende-Schieberegister 212/222) ein.
  • In dem speziellen Beispiel, das in 2 dargestellt ist, ist das SPI-Modul 0 204 eine verwaltende SPI des Master 202 und die verbleibenden SPI-Module (dargestellt durch das SPI-Modul N 214) sind eine verwaltete SPI des Master 202. Jedes der SPI-Module 0 204 bis N 214 ist dafür konfiguriert, an entsprechenden Eingängen der Taktquellenauswahl 206 bis 216 Takte zu empfangen. In dem speziellen Beispiel, das in 2 dargestellt ist, schließen verfügbare Taktquellen den Haupttakt und die seriellen Takte 0 des SPI-Moduls 0 204 (SCK 0) bis N des SPI-Moduls N 214 (SCK N) ein. Zur Vereinfachung der Darstellung sind die seriellen Takte 0 bis N alle als Eingaben in die Taktquellenauswahl 206 dargestellt, aber dies ist nicht notwendigerweise der Fall. In einigen Fällen kann ein SPI-Modul eines Master 202, wie das SPI-Modul 204, einen Takt verwenden, der von dem Baud-Raten-Generator 208 für einen seriellen Takt (SCK 0) einer gegebenen Datensendung erzeugt wird. Als ein nicht einschränkendes Beispiel kann ein Baud-Raten-Generator (wie die Baud-Raten-Generatoren 208 bis 218, ohne darauf beschränkt zu sein) dafür konfiguriert sein, einen Takt durch Teilen oder Verlängern von Impulsen eines Referenztakts (z. B. MAIN CK) zu erzeugen, um eine gewünschte Taktfrequenz zu erreichen.
  • Das verwaltete SPI-Modul (die verwalteten SPI-Module) N 214 kann einen Baud-Raten-Generator 218 einschließen und während einer vorgesehenen N-Kanal-Kommunikation kann der Baud-Raten-Generator 218 zugunsten einer anderen Taktquelle deaktiviert oder umgangen werden. In dem speziellen Beispiel, das in 2 dargestellt ist, wird ein von dem Baud-Raten-Generator 218 erzeugter Takt (nicht dargestellt) zugunsten von SCK 0 ignoriert, der durch die Taktquellenauswahl 216 unter Verwendung der Umgehung 220 in Reaktion auf ein Auswahlsignal bereitgestellt wird, das von dem N-Kanal-COM-Treiber 110 der 1 bereitgestellt wird. In einer anderen Ausführungsform kann der Baud-Raten-Generator 218 dafür konfiguriert sein, in Reaktion auf ein Aktivierungssignal (nicht dargestellt) aktiviert/deaktiviert zu werden, und so deaktiviert zu werden, wenn das SPI-Modul N 214 als eine verwaltete SPI konfiguriert ist. Der Master 202 kann einen Taktweg einschließen, der dafür konfiguriert ist, einen seriellen Takt des SPI-Moduls 204, d. h. SCK 0, zu einem Eingang der Taktquellenauswahl 216 des verwalteten SPI-Moduls N 214 zu tragen. In einigen Ausführungsformen kann eine Taktfrequenz eines Takts, der von dem Baud-Raten-Generator 208 erzeugt wird, durch eine Kommunikationslogik für eine Dual- oder Quad-SPI-Kommunikation konfiguriert werden, z. B. durch den N-Kanal-COM-Treiber 110 (Konfigurationssignal nicht dargestellt).
  • Entsprechende Sende-Schieberegister 212 bis 222 der SPI-Module 0 204 bis N 214 können dafür konfiguriert sein, (z. B. vom N-Kanal-COM-Treiber 110 der 1, ohne darauf beschränkt zu sein) m-bit-Symbole zu empfangen und zu speichern. Die Sende-Schieberegister 212 bis 222 können ferner dafür konfiguriert sein, in Reaktion auf den an den Sende-Schieberegistern 212 bis 222 empfangenen Takt SCK 0 seriell entsprechende m-bit-Symbole über entsprechende Master-Ausgabe/Slave-Eingabe-Leitungen MOSI 0 bis MOSI N an den Slave 224 zu senden.
  • In einer vorgesehenen Operation des Kommunikationssystems 200 werden die m-bit-Symbole 0 bis N empfangen und auf einem ersten Taktzyklus des seriellen Takts SCK 0 auf den Sende-Schieberegistern 212 bis 222 gespeichert. Nach Empfangen der m-bit-Symbole 0 bis N beginnen die Sende-Schieberegister 212 bis 222 auf einem unmittelbar nachfolgenden Taktzyklus damit, während m aufeinander folgender Taktzyklen von SCK 0 seriell ihre Inhalte auszusenden. Insbesondere verschieben die Sende-Schieberegister 212 bis 222 ihre Inhalte, ein Bit nach dem anderen, auf MOSI 0 bis MOSI N. Das SPI-Modul N 214 sendet SCK 0 über eine serielle Taktleitung (eine solche Leitung wird in 2 ebenfalls als SCK 0 bezeichnet). Die Schieberegister 226 bis 228 des Slave 224 empfangen und speichern die Bits des m-bit-Symbols, das vom SPI-Modul 204 bis 216 auf einem folgenden Taktzyklus von SCK 0 gesendet wird. Wie in 2 dargestellt, ist in einigen Ausführungsformen die als SCK 0 bezeichnete serielle Taktleitung mit jedem der Schieberegister 226 bis 228 des Slave 224 verbunden.
  • In einer vorgesehenen Dual-SPI-Konfiguration des Slave 224 schließt der Slave 224 zwei serielle Dateneingänge ein, die mit MOSI 0 und MOSI N wirkverbunden sind (in diesem Beispiel N = 2). Obwohl in 2 dargestellt, ist es nicht notwendigerweise der Fall, dass der Slave 224 zwei individuelle Schieberegister 226 und 228 einschließt. Stattdessen kann der Slave 224 in einem „Dual-SPI“-Modus betrieben werden, ein individueller Eingangsdaten-Pin und ein individueller Ausgangsdaten-Pin des Slave 224 können als serielle Eingänge des Slave 224 verwendet werden, um zwei Bits eines m-bit-Symbols je Taktzyklus zu empfangen - z. B. ein Bit je Taktzyklus auf dem Eingangsdaten-Pin und ein Bit je Taktzyklus auf dem Ausgangsdaten-Pin. Als ein nicht einschränkendes Beispiel wird die MOSI-Leitung zu einer ersten seriellen Leitung und trägt geradzahlige Bits und die MISO-Leitung wird zu einer zweiten seriellen Leitung und trägt ungeradzahlige Bits.
  • In einer vorgesehenen Quad-SPI-Konfiguration des Slave 224 kann der Slave 224 vier serielle Dateneingänge einschließen (in 2 dargestellt, aber nicht bezeichnet), die mit MOSI 0 bis N (in diesem Beispiel N = 3) des Master 202 wirkverbunden sind und welche zusammen vier Bits eines m-bit-Symbols je Taktzyklus von SCK 0 empfangen.
  • Wie hierin beschrieben, kann der Master 202 in einigen Ausführungsformen Rücksendedaten von dem Slave 224 in einer gleichen Datentransaktion wie oder einer anderen Datentransaktion als der empfangen, in der der Master 202 das m-bit-Symbol sendet. Obwohl die Master-Ausgänge MOSI 0 bis N und die Master-Eingänge MISO 0 bis N als beide mit einer höchstwertigen Bitposition der Sende-Schieberegister 212 bis 222 verbunden dargestellt sind, können MOSI 0 bis N und MISO 0 bis N derart mit den Sende-Schieberegistern 212 bis 222 verbunden werden, dass Sende-Bits von einer höchstwertigen Bitposition gesendet werden können, während Empfangs-Bits an einer niedrigstwertigen Bitposition empfangen werden, oder umgekehrt.
  • 3 ist ein Blockdiagramm eines Systems 300 gemäß einer oder mehreren Ausführungsformen, welches eine Anzahl an gruppierbaren SPI-Modulen einschließt, die ungruppiert sind und einzeln Kommunikationssysteme mit Slave-SPI-Modulen bilden. Insbesondere zeigt 3 die ungruppierten SPI-Module 302, welche die SPI-Module 0 204 bis N 214 einschließen. Wie hierin beschrieben, können in einigen Fällen ansonsten gruppierbare SPI-Module in einer ungruppierten Weise arbeiten, bis sie für eine N-Kanal-Kommunikation gruppiert werden oder nachdem sie für eine N-Kanal-Kommunikation gruppiert wurden. In einer ungruppierten Konfiguration sind die Taktquellenauswahlen 206 bis 216 so konfiguriert, dass jedem der Baud-Raten-Generatoren 208 bis 218 ein Haupttakt bereitgestellt wird. Darüber hinaus sind die Umgehungen 210 bis 220 so konfiguriert, dass die Ausgaben der Baud-Raten-Generatoren 208 bis 218 zu den entsprechenden Takteingängen der Sende-Schieberegister 212 bis 222 verbreitet werden.
  • Ein serieller COM-Treiber (Serielle COM-Treiber) 312 kann (können) eine serielle Kommunikation durch die SPI-Module 0 204 bis N 214 verwalten.
  • Mittels einer vorgesehenen Operation der ungruppierten SPI-Module 302, wobei die SPI-Module 0 212 bis N 222 in Datenkommunikation mit den Slaves SPI 0 308 bis SPI 0 N 310 stehen. Die Taktquellenauswahlen 206 bis 216 stellen den Baud-Raten-Generatoren 208 bis 218 einen Haupttakt bereit (der Einfachheit halber sind in 3 keine anderen Taktquellen dargestellt). Die Baud-Raten-Generatoren 208 bis 216 erzeugen die Takte SCK 0 bis SCK N in Reaktion auf den Haupttakt, und um die erzeugten Takte SCK 0 bis SCK N über die Umgehungen 210 bis 220 (von denen keine in einem Umgehungsmodus arbeitet) den Sende-Schieberegistern 212 bis 222 bereitzustellen. Nach Empfang entsprechender m-bit-Symbole verschieben die Sende-Schieberegister 212 bis 222 ihre Inhalte zu den Datenausgängen MOSI 0 bis MOSI N. Darüber hinaus stellen die SPI-Module 0 212 bis N 222 seriellen Taktausgängen (in 3 ebenfalls als SCK 0 und SCK N bezeichnet) entsprechende serielle Takte SCK 0 und SCK N bereit. Es werden m-bit-Symbole empfangen und entsprechend in den Sende-Schieberegistern 304 bis 306 der Slaves 308 bis 310 gespeichert.
  • 4 zeigt einen Ablaufplan eines Prozesses 400 zum Durchführen einer N-Kanal-Kommunikation einer Anzahl an Symbolen unter Verwendung eines N-Kanal-SPI-Moduls, wie, ohne darauf beschränkt zu sein, der N-Kanal-SPI-Module des Systems 100, und gemäß einer oder mehreren Ausführungsformen.
  • Bei der Operation 402 werden in dem Prozess 400 die Datensendung der Inhalte der entsprechenden Datenregister eines oder mehrerer erster Schnittstellenmodule mit der Datensendung der Inhalte des Datenregisters eines zweiten Schnittstellenmoduls synchronisiert, wobei das eine oder die mehreren ersten Schnittstellenmodule und das zweite Schnittstellenmodul als SPI-Module konfiguriert sind. In einigen Ausführungsformen kann in dem Prozess 400 die Datensendung synchronisiert werden, indem das eine oder die mehreren ersten Schnittstellenmodule als verwaltete SPI-Module festgelegt werden und das zweite Schnittstellenmodul als ein verwaltendes SPI-Modul festgelegt wird, und ein serieller Takt der verwaltenden SPI verwendet wird, um die Datensendung durch die verwalteten SPIs zu steuern, wie hierin beschrieben.
  • Wie oben beschrieben, kann in einigen Ausführungsformen in dem Prozess 400 die Sendung über ein Aktivierungssignal synchronisiert werden, welches den ersten Schnittstellenmodulen und dem zweiten Schnittstellenmodul bereitgestellt wird, und dann kann das Aktivierungssignal umgeschaltet werden, um die Schnittstellenmodule zu veranlassen, die Inhalte ihrer Datenregister zu senden.
  • Bei der Operation 404 werden in dem Prozess 400 dem einen oder den mehreren ersten Schnittstellenmodulen ein oder mehrere erste Symbole bereitgestellt. Bei der Operation 406 wird in dem Prozess 400 dem zweiten Schnittstellenmodul ein zweites Symbol bereitgestellt.
  • Gegebenenfalls kann das zweite Schnittstellenmodul dafür konfiguriert sein, die Inhalte seines Datenregisters nach Empfang des bereitgestellten zweiten Symbols automatisch zu übertragen. In Ausführungsformen, bei denen im Prozess 400 die Sendung durch das eine oder die mehreren ersten Schnittstellenmodule mit dem zweiten Schnittstellenmodul durch Umschalten eines Aktivierungssignals synchronisiert wird, können die Operation 404 und die Operation 406 in einer beliebigen Reihenfolge durchgeführt werden. In Ausführungsformen, bei denen im Prozess 400 ein serieller Takt des zweiten Schnittstellenmoduls verwendet wird, um die Sendung des einen oder der mehreren ersten Schnittstellenmodule mit dem zweiten Schnittstellenmodul zu synchronisieren, wird in dem Prozess 400 die Operation 404 vor der Operation 406 durchgeführt.
  • Bei der Operation 408 wird im Prozess 400 eine parallele Kommunikation der ersten Symbole und des zweiten Symbols über eine Verbindung durchgeführt, indem gleichzeitig eine serielle Kommunikation des ersten bzw. des zweiten Symbols unter Verwendung des einen oder der mehreren ersten Schnittstellenmodule und des zweiten Schnittstellenmoduls durchgeführt wird. Somit werden Bits jedes der ersten Symbole seriell und gleichzeitig miteinander und mit dem Senden von Bits des zweiten Symbols gesendet. Die Verbindung kann eine Anzahl von Verbindungen einschließen und entsprechende Schnittstellenmodule können einige der Verbindungen zur seriellen Kommunikation verwenden.
  • 5 zeigt einen Ablaufplan eines Prozesses 500 zum Durchführen einer seriellen N-Kanal-Kommunikation von Symbolen unter Verwendung eines Schnittstellenmoduls, das als ein N-Kanal-SPI-Modul konfiguriert ist (z. B. System 100 der 1, ohne darauf beschränkt zu sein), gemäß einer oder mehreren Ausführungsformen.
  • Bei der Operation 502 wird in dem Prozess 500 ein Signal empfangen, welches über eine Sendeadresse informiert, die einer Adresse in einem Speicher entspricht, der N Symbole für die serielle N-Kanal-Kommunikation speichert.
  • Bei der Operation 504 werden in dem Prozess 500 für eine serielle N-Kanal-Kommunikation zwei oder mehr verwaltete SPI-Module festgelegt, die hierin auch als erste SPI-Module bezeichnet werden, und ein verwaltendes SPI-Modul festgelegt, das hierin auch als ein zweites SPI-Modul bezeichnet wird.
  • Bei der Operation 506 wird in dem Prozess 500 ein Signalweg von dem verwaltenden SPI-Modul zu den verwalteten SPI-Modulen ermöglicht/definiert. Der Signalweg kann dafür konfiguriert sein, ein Taktsignal zu übertragen, welches einem seriellen Takt entspricht, der durch das verwaltende SPI-Modul an entsprechende Eingänge (d. h. Takteingänge) der verwalteten SPI-Module ausgegeben wird. In einigen Ausführungsformen kann ein Signalweg definiert werden, indem ein Weg für die serielle Taktausgabe durch das verwaltende SPI-Modul konfiguriert wird, welches als die Taktquelle für die verwalteten SPI-Module zu verwenden ist. In einer Ausführungsform kann ein Weg konfiguriert werden, indem ein verwaltetes SPI-Modul dafür konfiguriert wird, einen spezifizierten Takt zu verwenden, indem der Takt in dem Steuerregister eines verwalteten SPI-Moduls festgelegt wird (nicht dargestellt). In einer Ausführungsform kann ein solches Steuerregister das Auswahlsignal bereitstellen, das für die Taktquellenauswahl verwendet wird. In einer anderen Ausführungsform können SPI-Module von gruppierten SPI-Modulen jeweils eine Taktquellenauswahl-Schaltlogik einschließen.
  • Bei der Operation 508 werden in dem Prozess 500 zu sendende Symbole in Register der verwalteten SPI-Module, d. h. der ersten SPI-Module.
  • Nach dem Setzen aller zu sendenden Symbole in die Datenregister des verwalteten SPI-Moduls (der verwalteten SPI-Module), wird in dem Prozess 500 bei der Operation 510 ein zu übertragendes Symbol in das Register des verwaltenden SPI-Moduls gesetzt. In einer Ausführungsform ist das bei der Operation 510 in das Register des verwaltenden SPI-Moduls gesetzte Symbol das letzte verbleibende Symbol der gespeicherten N Symbole, die zu senden sind.
  • Bei der Operation 512 werden in dem Prozess 500 in Reaktion auf das Setzen des letzten verbleibenden Symbols der gespeicherten N Symbole in das Register des verwaltenden SPI-Moduls bei der Operation 510 automatisch die Inhalte des Registers des verwaltenden SPI-Moduls gesendet. In einer Ausführungsform chließt das Senden der Inhalte des Registers des verwaltenden SPI-Moduls Durchführen eines seriellen Sendens der Bits des letzten verbleibenden Symbols ein.
  • Bei der Operation 514 wird in dem Prozess 500 die serielle Taktausgabe des verwaltenden SPI-Moduls mit den verwalteten SPI-Modulen über den bei der Operation 506 aktivierten Signalweg gemeinsam genutzt. Die serielle Taktausgabe des verwaltenden SPI-Moduls wird in 1 als der serielle N-Kanal-Takt bezeichnet.
  • Bei der Operation 516 werden in dem Prozess 500 nach dem Empfangen der bei der Operation 514 bereitgestellten seriellen Taktausgabe des verwaltenden SPI-Moduls an den verwalteten SPI-Modulen die Inhalte der Register der verwalteten SPI-Module gesendet. In einer Ausführungsform schließt das Senden der Inhalte eines Registers eines verwalteten SPI-Moduls Durchführen eines seriellen Sendens der Bits des in seinem Register gespeicherten Symbols ein.
  • Insbesondere werden die bei der Operation 512 gesendeten Inhalte des Registers des verwaltenden SPI-Moduls und die bei der Operation 516 gesendeten Inhalte der Register der verwalteten SPI-Module gleichzeitig gesendet, wobei solche jeweiligen Sendungen durch den seriellen N-Kanal-Takt synchronisiert werden.
  • 6 zeigt ein Blockdiagramm eines Systems 600 gemäß einer oder mehreren Ausführungsformen, welches eine erste Vorrichtung 602 und eine zweite Vorrichtung 604 einschließt, die über eine serielle N-Kanal-Kommunikationsverbindung 612 in Kommunikation stehen. In der in 6 dargestellten Ausführungsform sind die erste Vorrichtung 602 und die zweite Vorrichtung 604 durch die serielle N-Kanal-Kommunikationsverbindung 612 oder durch eine Kommunikationsverbindung verbunden, welche die serielle N-Kanal-Kommunikationsverbindung 612 einschließt. In einigen Ausführungsformen können als ein nicht einschränkendes Beispiel die erste Vorrichtung 602 und/oder die zweite Vorrichtung 604 als eines oder mehreres aus einem Flash-Speicher (z. B. einem NAND-Flash und einem NOR-Flash, ohne darauf beschränkt zu sein), einem Direktzugriffsspeicher, einem elektrisch löschbaren programmierbaren Speicher (EEPROM), einem Nur-Lese-Speicher (ROM), einem resistiven Direktzugriffsspeicher (RERAM) und einer Festplatte konfiguriert sein. In einer oder mehreren Ausführungsformen können ein oder mehrere Busse als serielle N-Kanal-Kommunikationsverbindung 612 für eine Wirkverbindung von Vorrichtungen konfiguriert sein, z. B., ohne darauf beschränkt zu sein, der ersten Vorrichtung 602 und der zweiten Vorrichtung 604 des Systems 600.
  • Die serielle N-Kanal-Kommunikationsverbindung 612 kann eine Anzahl an seriellen Kommunikationskanälen zum Übertragen von Symbolen und Bits einschließen, hier N serielle Kommunikationskanäle 610, die von dem System 600 einzeln für eine serielle Kommunikation verwendet werden können und von dem System 600 in Gruppen von zwei oder mehr Kanälen für die serielle N-Kanal-Kommunikation verwendet werden können, wobei N größer oder gleich zwei ist. Die serielle N-Kanal-Kommunikationsverbindung 612 schließt ein N-Kanal-SPI-Modul 606 und ein Multi-E/A-SPI-Modul 608 ein, welche dafür eingerichtet sind, eine serielle N-Kanal-Kommunikation im System 600 zu ermöglichen. Als nicht einschränkende Beispiele kann das N-Kanal-SPI-Modul 606 als ein System 100 oder ein Master 202 konfiguriert sein. Als nicht einschränkende Beispiele kann das Multi-E/A-SPI-Modul 608 ein Dual-SPI-Modul, ein Quad-SPI-Modul oder ein N-Kanal-SPI-Modul (gemäß offenbarten Ausführungsformen) sein. Als ein nicht einschränkendes Beispiel können die N seriellen Kommunikationskanäle 610 eines oder mehreres aus physischen Verbindungen (z. B. drahtgebundenen und/oder drahtlosen Sendewegen, ohne darauf beschränkt zu sein) und logischen Verbindungen, die physische Verbindungen verwenden, sein oder einschließen.
  • Ein Kommunikationsbus, der als serielle N-Kanal-Kommunikationsverbindung 612 konfiguriert ist, kann auf bis zu N Kanälen synchrone Daten senden und/oder empfangen, wobei N einer Anzahl von seriellen Kommunikationskanälen entspricht, die an der seriellen N-Kanal-Kommunikationsverbindung 612 verfügbar sind. Als ein nicht einschränkendes Beispiel kann ein 8-bit-Mikrocontroller, der das N-Kanal-SPI-Modul 606 realisiert, für eine Quad- und/oder Dual-SPI-Kommunikation mit einer seriellen statischen Direktzugriffsspeichervorrichtung konfiguriert sein, die ein Multi-E/A-SPI-Modul 608 einschließt, welches Quad-SPI, Dual SPI oder N-Kanal-SPI unterstützt.
  • 7 ist ein Blockdiagramm der Schaltlogik 700, die in einigen Ausführungsformen verwendet werden kann, um verschiedene hierin offenbarte Funktionen, Operationen, Handlungen, Prozesse und/oder Verfahren zu realisieren. Die Schaltlogik 700 schließt einen oder mehrere Prozessoren 702 (hierin manchmal als „Prozessoren 702“ bezeichnet) ein, die mit einer oder mehreren Einrichtungen, wie Datenspeichervorrichtungen (hierin manchmal als „Speicher 704“ bezeichnet), wirkverbunden sind, ohne darauf beschränkt zu sein. Der Speicher 704 schließt einen darauf gespeicherten (z. B. auf einem computerlesbaren Speicher gespeicherten) maschinenausführbaren Code 706 ein und die Prozessoren 702 schließen die Logikschaltlogik 708 ein. Der maschinenausführbare Code 706 schließt Informationen ein, welche Funktionselemente beschreiben, die durch die Logikschaltlogik 708 realisiert (z. B. ausgeführt) werden können. Die Logikschaltlogik 708 ist dafür geeignet, die durch den maschinenausführbaren Code 706 beschriebenen Funktionselemente zu realisieren (z. B. auszuführen). Die Schaltlogik 700 sollte beim Ausführen der durch den maschinenausführbaren Code 706 beschriebenen Funktionselemente als Spezial-Hardware betrachtet werden, die zum Ausführen von hierin offenbarten Funktionselementen konfiguriert ist. In einigen Ausführungsformen können die Prozessoren 702 dafür konfiguriert sein, die durch den maschinenausführbaren Code 706 beschriebenen Funktionselemente nacheinander, gleichzeitig (z. B. auf einer oder mehreren unterschiedlichen Hardware-Plattformen) oder in einem oder mehreren parallelen Prozessströmen auszuführen.
  • Wenn er durch die Logikschaltlogik 708 der Prozessoren 702 implementiert wird, ist der maschinenausführbare Code 706 konfiguriert, um die Prozessoren 702 so anzupassen, dass diese Operationen der hierin offenbarten Ausführungsformen ausführen. Beispielsweise kann der maschinenausführbare Code 706 so konfiguriert sein, dass er die Prozessoren 702 so einrichtet, dass sie zumindest einen Teil oder eine Gesamtheit des Prozesses 400 der 4 und des Prozesses 500 der 5 ausführen. Als ein anderes Beispiel kann der maschinenausführbare Code 706 so konfiguriert sein, dass er die Prozessoren 702 so einrichtet, dass sie zumindest einen Teil oder eine Gesamtheit der für das System 100 der 1 beschriebenen Operationen ausführen, und insbesondere eines oder mehreres aus den SPI-Modulen der 1 (z. B. die SPI-Module 0 104 bis N 108, ohne darauf beschränkt zu sein), dem N-Kanal-COM-Treiber 110 der 1 und der Taktquellenauswahl 116 der 1. Als ein weiteres Beispiel kann der maschinenausführbare Code 706 so konfiguriert sein, dass er die Prozessoren 702 so einrichtet, dass sie zumindest einen Teil oder eine Gesamtheit der für die Systeme 200 und 300 der 2 und 3 beschriebenen Operationen ausführen, und insbesondere eines oder mehreres aus dem Master 202, dem Slave 224, den Taktquellenauswahlen 206 bis 216, den Baud-Raten-Generatoren 208 bis 218, den Umgehungen 210 bis 220 und den Sende-Schieberegistern 212 bis 222.
  • Als ein spezielles, nicht einschränkendes Beispiel können die computerlesbaren Anweisungen so konfiguriert sein, dass sie die Prozessoren 702 anweisen, zumindest einige Funktionen einer N-Kanal-Kommunikationsschnittstelle auszuführen und/oder allgemeiner eine serielle N-Kanal-Kommunikation ausführen, wie hierin beschrieben.
  • Die Prozessoren 702 können einen Universalprozessor, einen Spezialprozessor, eine Zentralprozessoreinheit (CPU), einen Mikrocontroller, eine programmierbare Logiksteuerung (PLC), einen digitalen Signalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC), ein vor Ort programmierbares Gate Array (FPGA) oder eine andere programmierbare Logikvorrichtung, eine diskrete Gate- oder Transistorlogik, diskrete Hardware-Komponenten, eine andere programmierbare Vorrichtung oder eine beliebige Kombination davon einschließen, die zum Ausführen der hierin offenbarten Funktionen ausgelegt ist. Ein Universalcomputer einschließlich eines Prozessors wird als Spezialcomputer angesehen, während der Universalcomputer so konfiguriert ist, dass er Rechenanweisungen (z. B. einen Softwarecode) ausführt, die sich auf Ausführungsformen der vorliegenden Offenbarung beziehen. Es sei angemerkt, dass ein Universalprozessor (der hierin auch als Host-Prozessor oder einfach als Host bezeichnet werden kann) ein Mikroprozessor sein kann, aber alternativ können die Prozessoren 702 jede(n) beliebige(n) herkömmliche(n) Prozessor, Steuerung, Mikrocontroller oder Zustandsautomaten einschließen. Die Prozessoren 702 können auch als eine Kombination von Datenverarbeitungsvorrichtungen, wie eine Kombination aus einem DSP und einem Mikroprozessor, eine Vielzahl von Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine beliebige andere derartige Konfiguration, realisiert sein.
  • In einigen Ausführungsformen schließt der Speicher 704 einen flüchtigen Datenspeicher (z. B. einen Direktzugriffsspeicher (RAM)), einen nichtflüchtigen Datenspeicher (z. B. einen Flash-Speicher, ein Festplattenlaufwerk, ein Solid-State-Laufwerk, einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM) usw.) ein. In einigen Ausführungsformen können die Prozessoren 702 und der Speicher 704 in einer einzelnen Vorrichtung realisiert sein (z. B. einem Halbleitervorrichtungsprodukt, einem System-on-Chip (SOC) usw.). In einigen Ausführungsformen können die Prozessoren 702 und der Speicher 704 in getrennten Vorrichtungen realisiert sein.
  • In einigen Ausführungsformen kann der maschinenausführbare Code 706 computerlesbare Anweisungen (z. B. Software-Code, Firmware-Code) einschließen. Als nicht einschränkendes Beispiel können die computerlesbaren Anweisungen durch den Speicher 704 gespeichert werden, es kann direkt durch die Prozessoren 702 auf diese zugegriffen werden und diese können durch die Prozessoren 702 unter Verwendung mindestens der Logikschaltlogik 708 ausgeführt werden. Ebenfalls als nicht einschränkendes Beispiel können die computerlesbaren Anweisungen auf dem Speicher 704 gespeichert, zur Ausführung an eine Speichervorrichtung (nicht dargestellt) gesendet und unter Verwendung zumindest der Logikschaltlogik 708 von den Prozessoren 702 ausgeführt werden. Dementsprechend schließt die Logikschaltlogik 708 in einigen Ausführungsformen eine elektrisch konfigurierbare Logikschaltlogik 708 ein.
  • In einigen Ausführungsformen kann der maschinenausführbare Code 706 Hardware (z. B. Schaltlogik) beschreiben, die in der Logikschaltlogik 708 zu realisieren ist, um die Funktionselemente auszuführen. Diese Hardware kann auf einer Vielzahl von Abstraktionsebenen beschrieben werden, von Low-Level-Transistor-Layouts bis zu High-Level-Beschreibungssprachen. Auf einer hohen Abstraktionsebene kann eine Hardware-Beschreibungssprache (HDL) wie eine IEEE-Standard-Hardware-Beschreibungssprache (HDL) verwendet werden, ohne darauf beschränkt zu sein. Als nicht einschränkende Beispiele können Verilog™, SystemVerilog™ oder Hardwarebeschreibungssprachen (VHDL™) mit Very Large Scale Integration (VLSI) verwendet werden.
  • HDL-Beschreibungen können nach Belieben in Beschreibungen auf einer beliebigen von zahlreichen anderen Abstraktionsebenen umgewandelt werden. Als nicht einschränkendes Beispiel kann eine High-Level-Beschreibung in eine Logik-Ebenen-Beschreibung, wie eine Registertransfersprache (RTL), eine Gate-Ebenen-Beschreibung (GL-Beschreibung), eine Layout-Ebenen-Beschreibung oder eine Masken-Ebenen-Beschreibung umgewandelt werden. Als ein nicht einschränkendes Beispiel können Mikrooperationen, die durch Hardware-Logikschaltungen (z. B. Gates, Flip-Flops, Register, ohne darauf beschränkt zu sein) der Logikschaltlogik 708 ausgeführt werden sollen, in einer RTL beschrieben und dann von einem Synthesewerkzeug in eine GL-Beschreibung umgewandelt werden und die GL-Beschreibung kann von einem Anordnungs- und Routing-Werkzeug in eine Layout-Ebenen-Beschreibung umgewandelt werden, die einem physischen Layout einer integrierten Schaltung einer programmierbaren Logikvorrichtung, einer diskreten Gate- oder Transistor-Logik, diskreten Hardwarekomponenten oder Kombinationen davon entspricht. Dementsprechend kann in einigen Ausführungsformen der maschinenausführbare Code 706 eine HDL-, eine RTL-, eine GL-Beschreibung, eine Masken-Ebenen-Beschreibung, eine andere Hardwarebeschreibung oder eine beliebige Kombination davon einschließen.
  • In Ausführungsformen, bei denen der maschinenausführbare Code 706 eine HardwareBeschreibung (auf beliebiger Abstraktionsebene) einschließt, kann ein System (nicht dargestellt, aber den Speicher 704 einschließend) dafür konfiguriert sein, die durch den maschinenausführbaren Code 706 beschriebene Hardwarebeschreibung zu realisieren. Als nicht einschränkendes Beispiel können die Prozessoren 702 eine programmierbare Logikvorrichtung (z. B. ein FPGA oder ein PLC) einschließen, und die Logikschaltlogik 708 kann elektrisch gesteuert werden, um eine der Hardwarebeschreibung entsprechende Schaltlogik in der Logikschaltlogik 708 zu implementieren. Ebenfalls als nicht einschränkendes Beispiel kann die Logikschaltlogik 708 eine festverdrahtete Logik einschließen, die von einem Fertigungssystem (nicht dargestellt, aber den Speicher 704 einschließend) gemäß der Hardwarebeschreibung des maschinenausführbaren Codes 706 hergestellt wird.
  • Ungeachtet dessen, ob der maschinenausführbare Code 706 computerlesbare Anweisungen oder eine Hardwarebeschreibung einschließt, ist die Logikschaltlogik 708 dafür ausgelegt, diese die durch den maschinenausführbaren Code 706 beschriebenen Funktionselemente durchzuführen, wenn die Funktionselemente des maschinenausführbaren Codes 706 implementiert werden. Es sei darauf hingewiesen, dass, obwohl eine Hardwarebeschreibung Funktionselemente möglicherweise nicht direkt beschreibt, eine Hardwarebeschreibung indirekt Funktionselemente beschreibt, welche die durch die Hardwarebeschreibung beschriebenen Hardwareelemente ausführen können.
  • Begriffe, die in der vorliegenden Offenbarung und insbesondere in den beiliegenden Ansprüchen verwendet werden (z. B. Inhalte der beiliegenden Ansprüche), sind im Allgemeinen als „offene“ Begriffe gedacht (z. B. sollte der Begriff „einschließlich“ als „einschließlich, jedoch nicht beschränkt auf interpretiert werden, der Begriff „aufweisend“ sollte als „mindestens aufweisend“ interpretiert werden, der Begriff „schließt ein“ sollte als „schließt ein, ist jedoch nicht beschränkt auf interpretiert werden, usw.).
  • Darüber hinaus wird, wenn eine bestimmte Anzahl von einer eingeführten Anspruchsangabe beabsichtigt ist, diese Absicht ausdrücklich im Anspruch genannt, und in Ermangelung dieser Nennung liegt keine solche Absicht vor. Als Verständnishilfe können zum Beispiel die folgenden beiliegenden Ansprüche die Verwendung der einleitenden Phrasen „mindestens eine/r/s“ und „eine/r/s oder mehrere“ zum Einführen von Anspruchsangaben enthalten. Die Verwendung solcher Formulierungen sollte jedoch nicht dahin gehend ausgelegt werden, dass sie impliziert, dass die Einführung einer Anspruchsangabe durch die unbestimmten Artikel „ein“ oder „eine“ einen bestimmten Anspruch, der eine solche eingeführte Anspruchsangabe enthält, auf Ausführungsformen beschränkt, die nur eine solche Angabe enthalten, selbst wenn derselbe Anspruch die einleitenden Phrasen „eine/r/s oder mehrere“ oder „mindestens eine/r/s“ und unbestimmte Artikel wie „ein“ und/oder „eine“ einschließt (z. B. soll „ein“ und/oder „eine“ so interpretiert werden, dass es „mindestens ein/e“ oder „ein/e oder mehrere“ bedeutet); gleiches gilt für die Verwendung von bestimmten Artikeln, die zur Einführung von Anspruchsangaben verwendet werden.
  • Selbst wenn eine bestimmte Anzahl einer eingeführten Anspruchsangabe explizit angegeben ist, wird der Fachmann außerdem erkennen, dass eine solche Angabe so interpretiert werden sollte, dass sie mindestens die angegebene Anzahl bedeutet (z. B. bedeutet die bloße Angabe von „zwei Angaben“ ohne andere Modifikatoren mindestens zwei Angaben oder zwei oder mehr Angaben). Des Weiteren ist in den Fällen, in denen eine Konvention analog zu „mindestens eines von A, B und C usw.“ oder „eines oder mehrere von A, B und C usw.“ verwendet wird, eine solche Konstruktion im Allgemeinen dazu bestimmt, A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen, oder A, B und C zusammen zu bedeuten.
  • Ferner sollte jedes disjunkte Wort oder jede disjunkte Formulierung, das bzw. die zwei oder mehr alternative Begriffe darstellt, sei es in der Beschreibung, den Ansprüchen oder den Zeichnungen, dahin gehend verstanden werden, dass die Möglichkeit des Einschließens eines der Begriffe, des einen oder des anderen Begriffs oder beider Begriffe in Betracht gezogen wird. Zum Beispiel sollte die Formulierung „A oder B“ so verstanden werden, dass sie die Möglichkeiten „A“ oder „B“ oder „A und B“ einschließt.
  • Zusätzliche, nicht einschränkende Ausführungsformen der Offenbarung können einschließen:
  • Ausführungsform 1: Serielles N-Kanal-Peripherieschnittstellenmodul (SPI-Modul) für eine serielle N-Kanal-Kommunikation, wobei das N-Kanal-SPI-Modul umfasst: eine Anzahl N von seriellen Peripherieschnittstellenmodulen (SPI-Modulen); und einen Kommunikationstreiber zum Durchführen einer N-Kanal-Kommunikation von N Symbolen unter Verwendung der N SPI-Module, wobei der Kommunikationstreiber konfiguriert ist zum: Synchronisieren einer Datensendung durch ein oder mehrere erste SPI-Module mit einer Datensendung durch ein zweites SPI-Modul der N SPI-Module; Bereitstellen eines oder mehrerer erster Symbole dem einen oder den mehreren ersten SPI-Modulen; und Bereitstellen eines zweiten Symbols dem zweiten SPI-Modul.
  • Ausführungsform 2: N-Kanal-SPI-Modul gemäß der Ausführungsform 1, wobei das zweite SPI-Modul dafür konfiguriert ist, nach Empfang des zweiten Symbols Inhalte eines Registers des zweiten SPI-Moduls zu senden.
  • Ausführungsform 3: N-Kanal-SPI-Modul gemäß einer der Ausführungsformen 1 und 2, wobei das eine oder die mehreren ersten SPI-Module dafür konfiguriert sind, in Reaktion auf eine Datensendung durch das zweite SPI-Modul Inhalte entsprechender Register der ersten SPI-Module zu senden.
  • Ausführungsform 4: N-Kanal-SPI-Modul gemäß einer der Ausführungsformen 1 bis 3, ferner umfassend eine Taktquellenauswahl-Schaltlogik, welche dafür konfiguriert ist, verfügbare Takte zu empfangen und in Reaktion auf ein Auswahlsteuersignal aus den verfügbaren Takten ausgewählte Takte bereitzustellen.
  • Ausführungsform 5: N-Kanal-SPI-Modul gemäß einer der Ausführungsformen 1 bis 4, wobei die verfügbaren Takte einen Haupttakt und einen seriellen Takt des zweiten SPI-Moduls umfassen.
  • Ausführungsform 6: N-Kanal-SPI-Modul gemäß einer der Ausführungsformen 1 bis 5, wobei das Auswahlsteuersignal einen Takt für das eine oder die mehreren ersten SPI-Module anzeigt und einen Takt für das zweite SPI-Modul anzeigt.
  • Ausführungsform 7: N-Kanal-SPI-Modul gemäß einer der Ausführungsformen 1 bis 6, wobei der Kommunikationstreiber dafür konfiguriert ist, die Datensendung durch das eine oder die mehreren ersten SPI-Module der N SPI-Module mit der Datensendung durch das zweite SPI-Modul der N SPI-Module zumindest teilweise durch eine Taktquellenauswahl-Schaltlogik zu synchronisieren, die dafür eingerichtet ist, einen Signalweg zum Tragen eines seriellen Takts von dem zweiten SPI-Modul zu einem Takteingang jedes des einen oder der mehreren ersten SPI-Module zu ermöglichen.
  • Ausführungsform 8: N-Kanal-SPI-Modul gemäß einer der Ausführungsformen 1 bis 7, wobei entsprechende N SPI-Module der N SPI-Module jeweils ein Sende-Schieberegister umfassen und dafür konfiguriert sind, ein Senden durch Verschieben von Inhalten ihres entsprechenden Sende-Schieberegisters zu einer Verbindung durchzuführen, die mit dem Sende-Schieberegister wirkverbunden ist.
  • Ausführungsform 9: Verfahren zum Durchführen einer seriellen N-Kanal-Kommunikation von N Symbolen, wobei das Verfahren umfasst: Synchronisieren der Datensendung durch ein oder mehrere erste SPI-Module mit der Datensendung durch ein zweites SPI-Modul; Bereitstellen eines oder mehrerer erster Symbole entsprechenden der ersten SPI-Module; Bereitstellen eines zweiten Symbols dem zweiten SPI-Modul; und Durchführen einer parallelen Kommunikation des einen oder der mehreren ersten Symbole und des zweiten Symbols über eine Verbindung unter Verwendung des einen oder der mehreren ersten SPI-Module und des zweiten SPI-Moduls.
  • Ausführungsform 10: Verfahren gemäß der Ausführungsform 9, wobei das Synchronisieren der Datensendung durch das eine oder die mehreren ersten SPI-Module mit der Datensendung durch das zweite SPI-Modul umfasst, dem einen oder den mehreren ersten SPI-Modulen einen seriellen Takt von dem zweiten SPI-Modul bereitzustellen.
  • Ausführungsform 11: Verfahren gemäß einer der Ausführungsform 9 und 10, wobei das Durchführen der parallelen Kommunikation der ersten Symbole und des zweiten Symbols umfasst: gleichzeitiges Kommunizieren des einen oder der mehreren ersten Symbole und des zweiten Symbols.
  • Ausführungsform 12: Verfahren gemäß einer der Ausführungsformen 9 bis 11, wobei das gleichzeitige Kommunizieren des einen oder der mehreren ersten Symbole und des zweiten Symbols umfasst: Senden von Inhalten entsprechender Register des einen oder der mehreren ersten SPI-Module und Senden von Inhalten eines Registers des zweiten SPI-Moduls.
  • Ausführungsform 13: Verfahren gemäß einer der Ausführungsformen 9 bis 12, wobei das gleichzeitige Kommunizieren des einen oder der mehreren ersten Symbole und des zweiten Symbols umfasst: Durchführen einer seriellen Kommunikation des einen oder der mehreren ersten Symbole und des zweiten Symbols.
  • Ausführungsform 14: System, umfassend: ein serielles N-Kanal-Peripherieschnittstellenmodul (SPI-Modul); ein Multi-Eingabe/Ausgabe(E/A)-SPI-Modul; und mindestens N serielle Kommunikationskanäle zum Übertragen von Symbolen zwischen dem N-Kanal-SPI-Modul und dem Multi-E/A-SPI-Modul; und wobei das N-Kanal-SPI-Modul dafür konfiguriert ist, gleichzeitig Symbole über die mindestens N seriellen Kommunikationskanäle zu senden.
  • Ausführungsform 15: System gemäß Ausführungsform 14, ferner umfassend: eine serielle N-Kanal-Kommunikationsverbindung, wobei die serielle N-Kanal-Kommunikationsverbindung umfasst: das N-Kanal-SPI-Modul, das Multi-E/A-SPI-Modul und die N seriellen Kommunikationskanäle.
  • Ausführungsform 16: System gemäß einer der Ausführungsformen 14 und 15, ferner umfassend: eine erste Vorrichtung und eine zweite Vorrichtung, und wobei die erste Vorrichtung und die zweite Vorrichtung durch die serielle N-Kanal-Kommunikationsverbindung wirkverbunden sind.
  • Ausführungsform 17: System gemäß einer der Ausführungsformen 14 bis 16, wobei eine oder mehrere der ersten Vorrichtung und der zweiten Vorrichtung eines aus einem Mikrocontroller, einem Computersystem und einer Speichervorrichtung umfassen.
  • Ausführungsform 18: Einrichtung, umfassend einen Speicher mit darauf gespeicherten maschinenausführbaren Code, wobei der maschinenausführbare Code zum Konfigurieren einer Logikschaltung derart geeignet ist, dass die Logikschaltung eine serielle N-Kanal-Kommunikation von Symbolen durchführen kann, wobei die serielle N-Kanal-Kommunikation der Symbole umfasst: Synchronisieren einer Datensendung durch ein oder mehrere erste Schnittstellenmodule mit einer Datenübertragung durch ein zweites Schnittstellenmodul; Bereitstellen eines oder mehrerer erster Symbole dem einen oder den mehreren ersten Schnittstellenmodulen; Bereitstellen eines zweiten Symbols dem zweiten Schnittstellenmodul; und Durchführen einer parallelen Kommunikation der ersten Symbole und des zweiten Symbols über eine Verbindung unter Verwendung des einen oder der mehreren ersten Schnittstellenmodule und des zweiten Schnittstellenmoduls.
  • Während die vorliegende Offenbarung hierin in Bezug auf bestimmte veranschaulichte Ausführungsformen beschrieben wurde, wird der Fachmann erkennen und anerkennen, dass die vorliegende Erfindung nicht darauf beschränkt ist. Vielmehr können viele Ergänzungen, Streichungen und Modifikationen an den veranschaulichten und beschriebenen Ausführungsformen vorgenommen werden, ohne vom Schutzumfang der Erfindung, wie er im nachfolgend zusammen mit ihren rechtlichen Äquivalenten beansprucht wird, abzuweichen. Zusätzlich können Merkmale von einer Ausführungsform mit Merkmalen einer anderen Ausführungsform kombiniert werden, während sie immer noch innerhalb des Schutzumfangs der Erfindung enthalten sind, wie er vom Erfinder in Betracht gezogen wird.
  • 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 62913521 [0001]

Claims (18)

  1. Serielles N-Kanal-Peripherieschnittstellenmodul (SPI-Modul) für eine serielle N-Kanal-Kommunikation, wobei das N-Kanal-SPI-Modul umfasst: eine Anzahl N von seriellen Peripherieschnittstellenmodulen (SPI-Modulen); und einen Kommunikationstreiber zum Durchführen einer N-Kanal-Kommunikation von N Symbolen unter Verwendung der N SPI-Module, wobei der Kommunikationstreiber konfiguriert ist zum: Synchronisieren der Datensendung durch ein oder mehrere erste SPI-Module mit der Datensendung durch ein zweites SPI-Modul der N SPI-Module; Bereitstellen eines oder mehrerer erster Symbole dem einen oder den mehreren ersten SPI-Modulen; und Bereitstellen eines zweiten Symbols dem zweiten SPI-Modul.
  2. N-Kanal-SPI-Modul nach Anspruch 1, wobei das zweite SPI-Modul dafür konfiguriert ist, nach Empfang des zweiten Symbols Inhalte eines Registers des zweiten SPI-Moduls zu senden.
  3. N-Kanal-SPI-Modul nach Anspruch 1, wobei das eine oder die mehreren ersten SPI-Module dafür konfiguriert sind, in Reaktion auf eine Datensendung durch das zweite SPI-Modul Inhalte entsprechender Register der ersten SPI-Module zu senden.
  4. N-Kanal-SPI-Modul nach Anspruch 1, ferner umfassend eine Taktquellenauswahl-Schaltlogik, welche dafür konfiguriert ist, verfügbare Takte zu empfangen und in Reaktion auf ein Auswahlsteuersignal aus den verfügbaren Takten ausgewählte Takte bereitzustellen.
  5. N-Kanal-SPI-Modul nach Anspruch 4, wobei die verfügbaren Takte einen Haupttakt und einen seriellen Takt des zweiten SPI-Moduls umfassen.
  6. N-Kanal-SPI-Modul nach Anspruch 4, wobei das Auswahlsteuersignal einen Takt für das eine oder die mehreren ersten SPI-Module anzeigt und einen Takt für das zweite SPI-Modul anzeigt.
  7. N-Kanal-SPI-Modul nach Anspruch 4, wobei der Kommunikationstreiber dafür konfiguriert ist, die Datensendung durch das eine oder die mehreren ersten SPI-Module der N SPI-Module mit der Datensendung durch das zweite SPI-Modul der N SPI-Module zumindest teilweise durch eine Taktquellenauswahl-Schaltlogik zu synchronisieren, die dafür eingerichtet ist, einen Signalweg zum Tragen eines seriellen Takts von dem zweiten SPI-Modul zu einem Takteingang jedes des einen oder der mehreren ersten SPI-Module zu ermöglichen.
  8. N-Kanal-SPI-Modul nach Anspruch 1, wobei entsprechende N SPI-Module der N SPI-Module jeweils ein Sende-Schieberegister umfassen und dafür konfiguriert sind, ein Senden durch Verschieben von Inhalten ihres entsprechenden Sende-Schieberegisters zu einer Verbindung durchzuführen, die mit dem Sende-Schieberegister wirkverbunden ist.
  9. Verfahren zum Durchführen einer seriellen N-Kanal-Kommunikation von N Symbolen, wobei das Verfahren umfasst: Synchronisieren der Datensendung durch ein oder mehrere erste SPI-Module mit der Datensendung durch ein zweites SPI-Modul; Bereitstellen eines oder mehrerer erster Symbole entsprechenden der ersten SPI-Module; Bereitstellen eines zweiten Symbols dem zweiten SPI-Modul; und Durchführen einer parallelen Kommunikation des einen oder der mehreren ersten Symbole und des zweiten Symbols über eine Verbindung unter Verwendung des einen oder der mehreren ersten SPI-Module und des zweiten SPI-Moduls.
  10. Verfahren nach Anspruch 9, wobei das Synchronisieren der Datensendung durch das eine oder die mehreren ersten SPI-Module mit der Datensendung durch das zweite SPI-Modul umfasst, dem einen oder den mehreren ersten SPI-Modulen einen seriellen Takt von dem zweiten SPI-Modul bereitzustellen.
  11. Verfahren nach Anspruch 9, wobei das Durchführen der parallelen Kommunikation der ersten Symbole und des zweiten Symbols umfasst: gleichzeitiges Kommunizieren des einen oder der mehreren ersten Symbole und des zweiten Symbols.
  12. Verfahren nach Anspruch 11, wobei das gleichzeitige Kommunizieren des einen oder der mehreren ersten Symbole und des zweiten Symbols umfasst: Senden von Inhalten entsprechender Register des einen oder der mehreren ersten SPI-Module und Senden von Inhalten eines Registers des zweiten SPI-Moduls.
  13. Verfahren nach Anspruch 11, wobei das gleichzeitige Kommunizieren des einen oder der mehreren ersten Symbole und des zweiten Symbols umfasst: Durchführen einer seriellen Kommunikation des einen oder der mehreren ersten Symbole und des zweiten Symbols.
  14. System, umfassend: ein serielles N-Kanal-Peripherieschnittstellenmodul (SPI-Modul); ein Multi-Eingabe/Ausgabe(E/A)-SPI-Modul; und mindestens N serielle Kommunikationskanäle zum Übertragen von Symbolen zwischen dem N-Kanal-SPI-Modul und dem Multi-E/A-SPI-Modul; und wobei das N-Kanal-SPI-Modul dafür konfiguriert ist, gleichzeitig Symbole über die mindestens N seriellen Kommunikationskanäle zu senden.
  15. System nach Anspruch 14, ferner umfassend: eine serielle N-Kanal-Kommunikationsverbindung, wobei die serielle N-Kanal-Kommunikationsverbindung umfasst: das N-Kanal-SPI-Modul, das Multi-E/A-SPI-Modul und die N seriellen Kommunikationskanäle.
  16. System nach Anspruch 15, ferner umfassend: eine erste Vorrichtung und eine zweite Vorrichtung, und wobei die erste Vorrichtung und die zweite Vorrichtung durch die serielle N-Kanal-Kommunikationsverbindung wirkverbunden sind.
  17. System nach Anspruch 16, wobei eine oder mehrere der ersten Vorrichtung und der zweiten Vorrichtung eines aus einem Mikrocontroller, einem Computersystem und einer Speichervorrichtung umfassen.
  18. Einrichtung, umfassend einen Speicher mit darauf gespeicherten maschinenausführbaren Code, wobei der maschinenausführbare Code zum Konfigurieren einer Logikschaltung derart geeignet ist, dass die Logikschaltung eine serielle N-Kanal-Kommunikation von Symbolen durchführen kann, wobei die serielle N-Kanal-Kommunikation der Symbole umfasst: Synchronisieren der Datensendung durch ein oder mehrere erste Schnittstellenmodule mit der Datensendung durch ein zweites Schnittstellenmodul; Bereitstellen eines oder mehrerer erster Symbole dem einen oder den mehreren ersten Schnittstellenmodulen; Bereitstellen eines zweiten Symbols dem zweiten Schnittstellenmodul; und Durchführen einer parallelen Kommunikation der ersten Symbole und des zweiten Symbols über eine Verbindung unter Verwendung des einen oder der mehreren ersten Schnittstellenmodule und des zweiten Schnittstellenmoduls.
DE112020004915.9T 2019-10-10 2020-04-03 Serielle n-kanal-peripheriekommunikation und darauf bezogene systeme, verfahren und vorrichtungen Pending DE112020004915T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962913521P 2019-10-10 2019-10-10
US62/913,521 2019-10-10
PCT/US2020/026708 WO2021071546A1 (en) 2019-10-10 2020-04-03 N-channel serial peripheral communication, and related systems, methods and devices

Publications (1)

Publication Number Publication Date
DE112020004915T5 true DE112020004915T5 (de) 2022-06-30

Family

ID=70465491

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004915.9T Pending DE112020004915T5 (de) 2019-10-10 2020-04-03 Serielle n-kanal-peripheriekommunikation und darauf bezogene systeme, verfahren und vorrichtungen

Country Status (4)

Country Link
US (1) US11436179B2 (de)
CN (1) CN114514513A (de)
DE (1) DE112020004915T5 (de)
WO (1) WO2021071546A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT202000006322A1 (it) * 2020-03-25 2021-09-25 Stmicroelectronics Application Gmbh Sistema di elaborazione comprendente un’interfaccia periferica seriale con code, relativo circuito integrato, dispositivo e procedimento

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112013016070A2 (pt) * 2010-12-22 2017-09-19 Ge Energy Power Conversion Technology Ltd sistema eletrônico e método de fornecimento de informações de sincronização e informações de detecção de falha em um sistema eletrônico
US8984196B2 (en) * 2012-04-12 2015-03-17 Lenovo Enterprise Solutions (Singapore) Ptd. Ltd. Accessing peripheral devices
US9176919B2 (en) * 2012-06-06 2015-11-03 Honeywell International Inc. Process controller having multi-channel serial communications link
US9734118B2 (en) * 2013-10-16 2017-08-15 The Regents Of The University Of California Serial bus interface to enable high-performance and energy-efficient data logging
US9842071B2 (en) * 2014-11-11 2017-12-12 Microchip Technology Incorporated Multi-channel I2S transmit control system and method
US10579563B2 (en) * 2017-06-16 2020-03-03 Honeywell International Inc. Multiple master process controllers using a shared serial peripheral bus
US10318179B1 (en) * 2017-12-27 2019-06-11 Nxp B.V. Host device to embedded multi-media card device communication
US10725959B2 (en) * 2018-03-09 2020-07-28 Analog Devices Global Unlimited Company, Inc. Serial peripheral interface round robin mode system and apparatus
US11256652B2 (en) * 2019-06-20 2022-02-22 Analog Devices International Unlimited Company Multi-I/O serial peripheral interface for precision converters

Also Published As

Publication number Publication date
CN114514513A (zh) 2022-05-17
WO2021071546A1 (en) 2021-04-15
US20210109886A1 (en) 2021-04-15
US11436179B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
DE4041897C2 (de) Integrierte Schaltkreiseinrichtung und Abtastpfadsystem
DE60211921T2 (de) Architektur und system von einem generischen seriellen port
DE2162806C2 (de) Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle
DE60309931T2 (de) Verbindung mehrerer testzugriffsportsteuerungsvorrichtungen durch ein einzeltestzugriffsport
DE102013224101A1 (de) Verbinden mehrerer Slave-Vorrichtungen mit einem einzigen Master
DE102015115080A1 (de) Konfigurierbare digitale Schnittstelle für Schaltspannungsregler
DE112019005121T5 (de) Testsysteme zum ausführen von selbsttests in eingesetzten automobilen plattformen
DE102011053359A1 (de) Latch-basierte Speichervorrichtung
DE102004062442A1 (de) AMBA-System und Betriebsverfahren
DE102013021107B4 (de) Steuerung einer input/output schnittstelle
DE112020004065T5 (de) Komplexe Daisy-Chain-Befehle
DE102013011850A1 (de) Numerische Steuerung für die Kommunikation mit E/A Einheiten
DE112020004915T5 (de) Serielle n-kanal-peripheriekommunikation und darauf bezogene systeme, verfahren und vorrichtungen
DE102017200456A1 (de) Recheneinheit und Betriebsverfahren hierfür
DE112013002975T5 (de) Eingabe/Ausgabe-Vorrichtung, programmierbare logische Steuervorrichtung und Operationsverfahren
DE102009001898A1 (de) Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung
EP3005131A1 (de) Verfahren zur datenkommunikation, kommunikationscontroller und schaltungsanordnung
DE102006025133A1 (de) Speicher- und Speicherkommunikationssystem
DE10052132A1 (de) Graphikprozessor mit mehrfachen geometrischen Arbeitseinheiten und Verfahren zum Datenverarbeiten
DE112021001439T5 (de) Schnittstellenbildung einer anzahl von seriellen kommunikationsschnittstellenmit einer parallelen kommunikationsschnittstelle und zugehörige systeme,verfahren und vorrichtungen
DE112014006751T5 (de) Schlankes serielles Interface für ein Wrapper-Boundary-Register (vorrichtung und Verfahren)
WO2004025493A1 (de) Integrierter schaltkreis mit umschaltung durch multiplexer zwischen normalbetrieb und testbetrieb
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
AT501880B1 (de) Speicherprogrammierbare steuerung
DE19519944A1 (de) Kommunikationsschaltung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: MICROCHIP TECHNOLOGY INCORPORATED, CHANDLER, US

Free format text: FORMER OWNER: MICROCHIP TECHNOLOGY INCORPORATED, CHANDLER, AZ, US