-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung ist eine Fortführung, die die Priorität der US-Patentanmeldung Ifd. Nr.
17/334,445 beansprucht, die am 28. Mai 2021 unter dem Anwalts-Aktenzeichen G0766.70341 US01 eingereicht wurde und den Titel „Coding Schemes For Communicating Multiple Logic States Through A Digital Isolator“ trägt und die hier durch Bezugnahme vollständig mit aufgenommen ist.
-
Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Ifd. Nr.
63/160,711 beansprucht, die am 12. Mai 2021 unter dem Anwalts-Aktenzeichen G0766.70341 US00 eingereicht wurde und den Titel „CODING SCHEMES FOR COMMUNICATING MULTIPLE LOGIC STATES THROUGH A DIGITAL ISOLATOR“ trägt und die hier durch Bezugnahme vollständig mit aufgenommen ist.
-
GEBIET DER OFFENBARUNG
-
Aspekte der vorliegenden Anmeldung beziehen sich auf ein Verfahren und eine Einrichtung zum Kommunizieren mehrerer logischer Zustände über einen digitalen Isolator.
-
HINTERGRUND
-
Ein digitaler Isolator eines universellen seriellen Busses (USB) ist eine Vorrichtung, die bidirektionale USB-Kommunikation über eine Gleichstrom-Isolationsbarriere, die zwei Spannungsdomänen trennt, implementiert. Die Trennung erfolgt manchmal zwischen einem USB-Host und einem USB-Peripheriegerät, das allgemein als USB-Vorrichtung bezeichnet wird.
-
KURZZUSAMMENFASSUNG
-
Es werden Verfahren und Einrichtungen zum Kommunizieren mehrerer logischer Zustände über einen digitalen Isolator offenbart. Der digitale Isolator ist in einigen Ausführungsformen ein Isolator eines universellen seriellen Busses (USB-Isolator). Der digitale Isolator weist einen oder mehrere Ein-Bit-Datenkanäle auf. Drei oder mehr logische Zustände von Informationen werden über den/die Ein-Bit-Datenkanal/-kanäle übertragen. Die logischen Zustände werden durch eine Impulsfolge, insbesondere durch eine Anzahl von Flanken der Impulsfolge und einen letzten Wert oder eine letzten Wert der Impulsfolge, unterschieden.
-
Gemäß einem Aspekt der vorliegenden Anmeldung wird ein Verfahren zum Verarbeiten einer digitalen Impulsfolge, die über eine Isolationsbarriere eines digitalen Isolators übertragen wird und einen logischen Zustand einer Datensignalleitung repräsentiert, bereitgestellt. Das Verfahren weist Folgendes auf: während einer festen Zeitspanne Zählen einer Anzahl von Flanken der digitalen Impulsfolge; Bestimmen einer Polarität einer repräsentativen Flanke der digitalen Impulsfolge oder eines letzten Werts der digitalen Impulsfolge während der festen Zeitspanne; und Bestimmen des logischen Zustands aus der Anzahl der Flanken und der Polarität der repräsentativen Flanke oder dem letzten Wert der digitalen Impulsfolge.
-
Gemäß einem Aspekt der vorliegenden Anmeldung wird ein Empfänger zum Verarbeiten einer digitalen Impulsfolge, die über eine Isolationsbarriere eines digitalen Isolators empfangen wird und einen logischen Zustand einer Datensignalleitung repräsentiert, bereitgestellt. Der Empfänger weist eine Flankendetektorschaltung auf, die dazu ausgebildet ist, die empfangene digitale Impulsfolge während einer festen Zeitspanne abzutasten, und ist ferner dazu ausgebildet, ein Ausgangssignal zu produzieren, das eine Reaktion auf eine oder mehrere steigende oder fallende Flanken ist, die in der empfangenen digitalen Impulsfolge während der festen Zeitspanne detektiert werden. Der Empfänger weist ferner eine Zählerschaltung auf, die dazu ausgebildet ist, eine Gesamtzahl von Flanken, die durch die Flankendetektorschaltung während des festen Zeitraums detektiert wurden, basierend auf dem Ausgangssignal der Flankendetektorschaltung zu zählen. Der Empfänger weist ferner eine Decodierlogikschaltung auf, die ausgebildet ist zum: Bestimmen einer Polarität einer repräsentativen Flanke der digitalen Impulsfolge oder eines letzten Werts der digitalen Impulsfolge während der festen Zeitspanne basierend auf der Ausgabe der Flankendetektorschaltung, und Bestimmen des logischen Zustands aus der Gesamtzahl der Flanken, die durch die Zählerschaltung während der festen Zeitspanne gezählt wurden, und der Polarität der repräsentativen Flanke oder des letzten Werts der digitalen Impulsfolge.
-
Gemäß einem Aspekt der vorliegenden Anmeldung wird ein Codierverfahren bereitgestellt, um wenigstens drei logische Zustände über einen digitalen Isolatorkanal, der eine Isolationsbarriere zwischen unterschiedlichen Spannungsdomänen aufweist, zu kommunizieren. Das Verfahren weist Folgendes auf: Empfang eines Datensignals, das einen logischen Zustand repräsentiert, an dem digitalen Isolator; Codieren des logischen Zustands als eine Impulsfolge mit einer Anzahl von Flanken und einem letzten Wert oder einer repräsentativen Flanke, die den logischen Zustand eindeutig identifiziert; und Übertragen der Impulsfolge über die Isolationsbarriere.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Verschiedene Aspekte und Ausführungsformen der Anmeldung werden unter Bezugnahme auf die folgenden Figuren beschrieben. Es ist zu verstehen, dass die Figuren nicht notwendigerweise maßstabsgetreu sind. Elemente, die in mehreren Figuren erscheinen, sind in allen Figuren, in denen sie erscheinen, durch die gleichen Bezugszeichen angegeben.
- 1 ist eine schematische Ansicht eines nicht einschränkenden Beispiels eines digitalen Isolators mit einem Taktkanal, Steuerkanälen und Datenkanälen gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 2A ist ein Ablaufplan eines Verfahrens zum Codieren von Daten zur Übertragung über einen Datenkanal eines digitalen Isolators gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 2B ist ein Ablaufplan eines Verfahrens zum Decodieren von Daten, die über einen Datenkanal eines digitalen Isolators empfangen und in der in 2A gezeigten Weise codiert sind, gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 3A ist ein Diagramm von drei logischen Zuständen für einen digitalen Isolator gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 3B zeigt nicht einschränkende codierte Impulsfolgen zum Codieren spezieller logischer Zustände eines digitalen Isolators gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 4A ist ein Zeitdiagramm, das nicht einschränkende Beispiele von Impulsfolgen, die zum Codieren von logischen Zuständen eines digitalen Isolators verwendet werden, wie es beim Implementieren des Verfahrens von 2A vorgenommen werden kann, darstellt.
- 4B ist ein Zeitdiagramm, das Beispiele von logischen Zuständen darstellt, die durch Decodieren von Impulsfolgen erhalten werden, wie sie durch Implementieren des Verfahrens von 2B erhalten werden können.
- 5 ist eine detaillierte schematische Ansicht eines nicht einschränkenden Beispiels eines digitalen Isolators, die eine einem Taktkanal, Steuerkanälen und Datenkanälen zugeordnete Steuerschaltungsanordnung zeigt.
- 6 stellt eine detailliertere Implementierung der Sende- und Empfangsschaltungsanordnung 114 der Isolatoren 100 und 500 gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung dar.
- 7 ist eine detaillierte schematische Ansicht der Datenkanalschaltungsanordnung eines digitalen Isolators gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 8 ist eine detaillierte schematische Ansicht der Empfangsschaltungsanordnung in einem analogen Frontend (AFE) eines digitalen Isolators gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
- 9 stellt eine detaillierte schematische Ansicht eines Codierers zum Erzeugen und Übertragen codierter Impulssignale über einen Datenkanal eines digitalen Isolators gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung dar.
- 10 stellt eine detaillierte schematische Ansicht eines Decodierers zum Empfangen und Decodieren einer Folge codierter Impulssignale in einem digitalen Isolator gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung dar.
- 11 ist eine schematische Abbildung eines isolierten Systems, in dem ein digitaler Isolator der hier beschriebenen Typen eingesetzt werden kann, gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Aspekte der vorliegenden Anmeldung stellen ein Datencodierungsschema bereit, das die Übertragung von mehr als zwei logischen Zuständen über einen Ein-Bit-Datenkanal eines digitalen Isolators ermöglicht. Das Datensignal kann drei oder mehr logische Zustände annehmen. Ein gegebener logischer Zustand wird in eine Impulsfolge codiert, in der die Anzahl der Flanken und der letzte Wert oder eine repräsentative Flanke (z. B. eine letzte Flanke) der Impulsfolge den logischen Zustand eindeutig identifizieren. Das auf diese Weise codierte Datensignal wird über die Isolationsbarriere kommuniziert und durch einen Empfänger auf der Sekundärseite des Isolators empfangen. Der Empfänger enthält eine Decodierlogik, die die Anzahl der Flanken während einer gegebenen Zeitspanne zählt und den letzten Wert oder die repräsentative Flanke (z. B. die letzte Flanke) der empfangenen Impulsfolge bestimmt und damit den logischen Zustand bestimmt. Auf diese Weise kann eine digitale Isolatorschaltungsanordnung, die dazu ausgebildet ist, seriellen Ein-Bit-Datenstrom zu übertragen, verwendet werden, um zwei oder mehr Bits von Eingangsinformationen unter Verwendung des Codierungsschemas zu übertragen, wodurch eine komplexe und kostspielige Schaltungsanordnung vermieden wird die Anzahl der Datenkanäle, die für zum Befördern der gewünschten Informationen erforderlich sind, reduziert wird. Ein solcher Betrieb kann unter potentiellen Typen eine isolierte USB2.0-Kommunikation bereitstellen.
-
Gemäß einem Aspekt der vorliegenden Anmeldung ist ein digitaler Isolator, der dazu ausgebildet ist, gemäß dem vorstehend beschriebenen Codierungsschema zu arbeiten, bereitgestellt. Der digitale Isolator kann dazu ausgebildet sein, die Datenübertragung gemäß einem Codierungs- und Decodierungsschema zu implementieren, das es ermöglicht, dass drei oder mehr logische Zustände über einen Datenkanal, der zwei logische Pegel überträgt, kommuniziert werden können. In einigen Ausführungsformen wird die Kommunikation von drei logischen Zuständen durch die Verwendung eines Impulscodierungsschemas in Verbindung mit digitalen Isolator-Sende- und Empfangsschaltungen, die dazu ausgebildet sind, mit zwei Spannungspegeln zu arbeiten, erreicht. In einigen Ausführungsformen sind die drei logischen Zustände durch unterschiedliche Impulsfolgen repräsentiert. Die Impulsfolgen können sich hinsichtlich einer Kombination aus der Anzahl der Flanken und dem letzten Wert oder dem Typ einer repräsentativen Flanke unterscheiden, so dass eine Unterscheidung der logischen Zustände möglich ist. In einigen Ausführungsformen ist der Typ der repräsentativen Flanke der Typ der letzten Flanke.
-
1 ist eine schematische Ansicht eines digitalen Isolators 100, der die Kommunikation von drei oder mehr logischen Zuständen über einen Datenkanal, der zwei logische Pegel unterstützt, erlaubt, gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung. In einigen Ausführungsformen kann der digitale Isolator 100 ein USB-Isolator sein, obwohl Alternativen möglich sind. Der digitale Isolator 100 weist Spannungsdomänen 102a und 102b auf, die durch eine Isolationsbarriere 104 galvanisch isoliert sind. Der digitale Isolator 100 weist ferner Konfigurationskanäle 110 und Datenkanäle 112 auf, die die Isolationsbarriere 104 überbrücken. Eine Sende- und Empfangsschaltungsanordnung (TX/RX) 114 ist enthalten und arbeitet als Teil des Datenkanal-Kommunikationspfades. Der digitale Isolator weist mehrere Anschlüsse oder Anschlussstifte zur Kommunikation mit externen Vorrichtungen auf, die die Anschlüsse UD+ 120, UD- 122, Masse 1 124, Vbus1 126, DD+ 130, DD- 132, Masse 2 134 und Vbus2 136 aufweisen.
-
Die Spannungsdomänen 102a und 102b können irgendwelche geeigneten Spannungsdomänen sein. In einigen Ausführungsformen können sich die Spannungsdomänen in der maximalen Spannung, die sie verarbeiten können, unterscheiden. Beispielsweise kann eine der Spannungsdomänen eine 5-V-Domäne sein, und die andere kann eine 1,8-V-Domäne sein, wobei dies nicht einschränkende Beispiele sind. Beispielsweise können sich die Spannungsdomänen in ihrer maximalen Spannungsbelastbarkeit um mehrere zehn oder sogar mehrere hundert Volt unterscheiden. In einigen Ausführungsformen können die Spannungsdomänen 102a und 102b auf unterschiedliche Massepotentiale bezogen sein. Beispielsweise können sich Masse 1 und Masse 2 unterscheiden. In einigen Ausführungsformen unterscheiden sich beide Bedingungen - maximale Spannungsbelastbarkeit und Massebezug - unter den Spannungsdomänen 102a und 102b. Die Schaltungsanordnung in einer Spannungsdomäne kann auf einem ersten Halbleiterbaustein oder Chip implementiert sein, und die Schaltungsanordnung in der anderen Spannungsdomäne kann auf einem separaten Halbleiterbaustein oder Chip implementiert sein.
-
Die Isolationsbarriere 104 kann auf irgendeine geeignete Weise realisiert sein. In einigen Ausführungsformen ist die Isolationsbarriere 104 durch ein dielektrisches Material realisiert. Beispielsweise kann die Schaltungsanordnung der Spannungsdomäne 102b auf einem Halbleiterbaustein implementiert sein, wobei eine dielektrische Schicht darauf vorgesehen ist, um die Schaltungsanordnung von der Schaltungsanordnung der Spannungsdomäne 102a zu isolieren.
-
Die Konfigurationskanäle 110 kommunizieren Konfigurations- und/oder Taktinformationen über die Isolationsbarriere 104. Falls beispielsweise der digitale Isolator 100 ein USB-Isolator ist, können die Konfigurationskanäle 110 Nicht-Daten-USB-Konfiguration und Betriebszustände kommunizieren, wie z. B. die Geschwindigkeitsbetriebsart der Vorrichtung, Unterbrechung oder andere Zustände. Falls Taktinformationen über die Isolationsbarriere 104 übertragen werden sollen, kann dies durch einen oder mehrere der Konfigurationskanäle 110 erfolgen. Alternativ kann in jeder Spannungsdomäne 102a und 102b eine Schaltungsanordnung vorgesehen sein, um die Taktung der anderen Schaltungsanordnung in dieser Spannungsdomäne zu behandeln.
-
Es kann eine beliebige Anzahl von Konfigurationskanälen vorgesehen sein. In einigen Ausführungsformen kann ein einziger Konfigurationskanal vorgesehen sein. In anderen Ausführungsformen können mehrere Konfigurationskanäle vorgesehen sein.
-
Die Konfigurationskanäle 110 weisen irgendeine geeignete Schaltungsanordnung zum Kommunizieren des vorstehend beschriebenen Typs von Informationen auf. Beispielsweise ist jeder der Konfigurationskanäle 110 in dieser nicht einschränkenden Ausführungsform ein isolierter Kanal, der isolierte Kommunikation über die Isolationsbarriere 104 bereitstellt. Transformatoren, Kondensatoren oder optische Isolatoren können in den Konfigurationskanälen als Isolationskomponenten enthalten sein, die eine Kommunikation über die Isolationsbarriere 104 ermöglichen.
-
Die Datenkanäle 112 sind dazu ausgebildet, Daten über die Isolationsbarriere 104 zu kommunizieren. Sie weisen eine dafür geeignete Schaltungsanordnung auf. Jeder der Datenkanäle 112 in diesem Beispiel ist ein isolierter Kanal, der eine isolierte Kommunikation über die Isolationsbarriere 104 bereitstellt. Transformatoren, Kondensatoren oder optische Isolatoren können in den Datenkanälen als Isolationskomponenten enthalten sein, die eine Kommunikation über die Isolationsbarriere 104 ermöglichen.
-
Die Datenkanäle 112 können zwei oder mehr Datenkanäle aufweisen, die in Kombination eine bidirektionale Kommunikation bereitstellen können. In einigen Ausführungsformen ist jeder der Datenkanäle 112 unidirektional. Beispielsweise kann ein Datenkanal Informationen von UD+ und UD- zu DD- und DD+ kommunizieren, und ein weiterer Datenkanal kann Informationen in der entgegengesetzten Richtung kommunizieren. Nicht einschränkende Beispiele für die Schaltungsanordnung der Datenkanäle 112 sind nachstehend im Zusammenhang mit den 5-7 beschrieben.
-
Die Datenkanäle 112 können dazu ausgebildet sein, einen seriellen Strom mit zwei logischen Pegeln zu übertragen. Die Datenkanäle 112 können beispielsweise eine Schaltungsanordnung aufweisen, dazu ausgebildet ist, logische 1en und Oen zu übertragen. Auf diese Weise können die Datenkanäle 112 Ein-Bit-Datenkanäle sein. Wie vorstehend und nachstehend beschrieben, können die Datenkanäle jedoch mehr als ein Bit an Informationen seriell unter Verwendung des hier offenbarten Codierungsschemas übertragen.
-
Die Sende- und Empfangsschaltungsanordnung 114 befindet sich auf beiden Seiten der Isolationsbarriere 104 und arbeitet als Teil der Datenkommunikation. Die Anschlüsse UD+ 120, UD- 122, Masse 1 124 und Vbus1 126 können mit einer ersten externen Vorrichtung (nicht gezeigt) verbunden sein, und die Anschlüsse DD+ 130, DD- 132, Masse 2 134 und Vbus2 136 können mit einer zweiten externen Vorrichtung (nicht gezeigt) verbunden sein. Beispielsweise kann die erste externe Vorrichtung ein USB-Host sein, und die zweite externe Vorrichtung kann ein USB-Peripheriegerät sein. Die Daten werden zwischen den externen Vorrichtungen über die Datenkanäle 112 kommuniziert. Die Daten können in beide Richtungen übertragen werden. Beispielsweise können die Daten an den Anschlüssen UD+ 120 und UD- 122 in den digitalen Isolator 100 eintreten und an den Anschlüssen DD+ 130 und DD- 132 herausgeführt werden, oder umgekehrt. Die Daten können die Sende- und Empfangsschaltungsanordnung 114 durchlaufen und auf die zuvor hier beschriebene und nachstehend beschriebene Weise codiert und decodiert werden. Nicht einschränkende Beispiele für die Sende- und Empfangsschaltungsanordnung 114 sind ebenfalls nachstehend beschrieben.
-
Der digitale Isolator kann dazu ausgebildet sein, drei oder mehr logische Zustände über die Datenkanäle 112 zu kommunizieren. Der digitale Isolator 100 kann mit Vorrichtungen gekoppelt sein, die Daten über zwei Drähte übertragen, wie z. B. mit einem USB2.0-Kommunikationsprotokoll. Die Daten können an den Anschlüssen UD+ 120 und UD-122 oder DD+ 130 und DD- 132 empfangen werden. Beispielsweise kann ein Eingangsdatensignal an den Anschlüssen UD+ 120 und UD- 122 empfangen werden. Das Signal an jedem dieser Anschlüsse kann einen Pegel von logisch 1 oder logisch 0 annehmen. Die Kombination dieser beiden Signale stellt vier mögliche logische Zustände bereit: „Differential +1", wobei der Wert an UD+ eine logische 1 (hoch) und der Wert an UDeine logische 0 (tief) ist, „Differential -1“, wobei der Wert an UD+ eine logische 0 (tief) und der Wert an UD- eine logische 1 (hoch) ist, „Single-ended 0 (SE0)“, wobei UD+ und UD- eine logische 0 (tief) führen, und „Single-ended 1 (SE1)“, wobei UD+ und UD- eine logische 1 (hoch) führen. In einigen Ausführungsformen sind nur drei der logischen Zustände verwendet. Beispielsweise kann der Zustand SE1 in einigen Ausführungsformen nicht verwendet sein. Da die Datenkanäle 112 dazu ausgebildet sein können, einen seriellen Ein-Bit-Datenstrom unter Verwendung von nur zwei logischen Pegeln zu übertragen, wäre ein einzelner Datenkanal nicht in der Lage, alle drei logischen Eingangszustände unverändert zu übertragen. Somit kann gemäß einem Aspekt der vorliegenden Anmeldung der empfangene logische Zustand in eine Impulsfolge zur Übertragung über die Isolationsbarriere 104 codiert werden. Die Impulsfolge kann aus Impulsen mit nur zwei Spannungspegeln bestehen, so dass sie für eine Übertragung über einen einzigen Datenkanal zugänglich sind, kann aber durch eine Anzahl von Impulsen und einen letzten Wert oder eine letzte Flanke charakterisiert sein, die eine Unterscheidung von drei oder mehr logischen Zuständen ermöglichen. Wenn die Impulsfolge auf der anderen Seite der Isolationsbarriere empfangen wird, kann sie decodiert werden, um den logischen Eingangszustand wiederherzustellen, der dann vom digitalen Isolator 100 ausgegeben werden kann. Nicht einschränkende Beispiele geeigneter Codierung und Decodierung, wie sie durch den digitalen Isolator 100 ausgeführt werden können, sind nachstehend in Verbindung mit den 2A und 2B beschrieben.
-
Obwohl das vorangegangene Beispiel eine Situation beschreibt, in der mehr als zwei logische Zustände durch Werte auf zwei oder mehr Drähten definiert sein können, ist zu verstehen, dass die verschiedenen hier beschriebenen Aspekte, die sich auf das Codieren von drei oder mehr logischen Zuständen zur Übertragung über einen isolierten Datenkanal beziehen, in dieser Hinsicht nicht beschränkt sind. In einigen Ausführungsformen können drei oder mehr logische Zustände auf einem einzigen Draht oder durch Werte auf mehr als zwei Drähten definiert sein. Codierungstechniken gemäß der vorliegenden Anmeldung können auch in solchen Szenarios implementiert werden.
-
Die 2A und 2B sind Ablaufpläne, die ein Verfahren zum Codieren bzw. Decodieren von Daten, die über einen Datenkanal eines digitalen Isolators übertragen werden, gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung darstellen. Beispielsweise können die Verfahren der 2A und 2B durch den digitalen Isolator 100 von 1 implementiert werden. Die dargestellten Codier- und Decodierverfahren ermöglichen die Übertragung von drei oder mehr logischen Zuständen über einen Ein-Bit-Datenkanal. Diese Verfahren können verwendet werden, um USB-Daten über einen Datenkanal eines USB-Isolators zu übertragen.
-
Das in 2A dargestellte Verfahren 200 ist ein Verfahren zum Codieren von Daten zur Übertragung über einen Datenkanal eines digitalen Isolators, wie z. B. des digitalen Isolators 100. Die Daten können drei oder mehr logische Zustände annehmen. Die Daten können beispielsweise die logischen Zustände „Differential +1“, „Differential -1“ und „Single-ended 0 (SE0)“ annehmen, die vorstehend im Zusammenhang mit 1 beschrieben sind. Diese drei logischen Zustände können, als nicht einschränkendes Beispiel, durch das USB2.0-Protokoll verwendet werden.
-
In Stufe 202 des Verfahrens 200 werden die über den Datenkanal zu übertragenden Daten an einer ersten Seite des digitalen Isolators von einer externen Vorrichtung empfangen. Beispielsweise können, wieder unter Bezugnahme auf 1, die Anschlüsse UD+ 120 und UD- 122 die Daten von einer USB-Host-Vorrichtung empfangen. Zur Erläuterung kann die Seite des Isolators, die die Daten von der externen Vorrichtung empfängt, als „primäre“ Seite betrachtet werden. Diese Bezeichnung ist jedoch nicht einschränkend, da die Datenkommunikation auch bidirektional sein kann. Die empfangenen Daten können einen von drei oder mehr logischen Zuständen annehmen, wie z. B. Differential +1, Differential -1 oder Single-ended 0.
-
In Stufe 204 des Verfahrens 200 werden die empfangenen logischen Zustandsdaten als Impulsfolge codiert. Die Impulsfolge kann unter Verwendung irgendeines geeigneten Impulsgenerators erzeugt werden, für den ein nicht einschränkendes Beispiel nachstehend im Zusammenhang mit 7 beschrieben ist. Die Impulsfolge weist Impulse auf, die zwei logische Pegel annehmen, 1 und 0 (oder hoch und tief). Die Anzahl der Impulse und der letzte Wert der Impulsfolge oder eine repräsentative Flanke (z. B. die letzte Flanke) der Impulsfolge können ausgewählt werden, um den logischen Zustand der empfangenen Daten eindeutig zu identifizieren. Nicht einschränkende Beispiele für Impulsfolgen und ihre Art, zwischen logischen Eingangszuständen zu unterscheiden, werden nachstehend im Zusammenhang mit den 3A und 3B beschrieben.
-
In Stufe 206 wird die codierte Impulsfolge über die Isolationsbarriere zu der sekundären (empfangenden) Seite des digitalen Isolators übertragen. Betrachtet man beispielsweise das nicht einschränkende Beispiel des digitalen Isolators 100 von 1, so kann die codierte Impulsfolge über eine Isolationskomponente (z. B. einen Transformator) des Datenkanals von der Spannungsdomäne 102a zur Spannungsdomäne 102b über die Isolationsbarriere 104 übertragen werden.
-
Das in 2B dargestellte Verfahren 250 ist ein Verfahren zum Decodieren von Daten, die über einen Datenkanal eines digitalen Isolators übertragen werden und die unter Verwendung des Verfahrens 200 von 2A codiert wurden. Das Verfahren 250 kann als nicht einschränkendes Beispiel durch den digitalen Isolator 100 von 1 implementiert sein. In Stufe 252 empfängt der Empfänger auf der Empfangsseite des digitalen Isolators die codierte Impulsfolge, die durch das Verfahren 200 von 2A codiert wurde. Wie vorstehend beschrieben ist die codierte Impulsfolge durch eine Anzahl von Flanken und einen letzten Wert oder eine repräsentative Flanke (z. B. eine letzte Flanke) charakterisiert.
-
In Stufe 254 wird die Anzahl der Flanken der codierten Impulsfolge bestimmt. Der Empfänger kann eine Schaltungsanordnung zum Bestimmen der Anzahl der Flanken aufweisen. Der Empfänger kann beispielsweise einen Flankenzähler aufweisen. Die Anzahl der Flanken kann während einer eingestellten Zeitspanne gezählt werden. Zum Beispiel kann eine feste Zeitspanne, die durch ein Monoflop oder eine andere Schaltung eingestellt wird, initiiert werden, wenn die Impulsfolge empfangen wird, und die Anzahl der Flanken während der festen Zeitspanne kann gezählt werden. Die feste Zeitspanne kann so ausgewählt werden, dass sie länger ist als eine zu erwartende Impulsfolge, um zu gewährleisten, dass eine vollständige Impulsfolge gezählt wird, bevor die Zählzeitspanne zurückgesetzt wird.
-
In Stufe 256 wird der letzte Wert oder die repräsentative (z. B. letzte) Flanke der empfangenen Impulsfolge bestimmt. Der letzte Wert kann beispielsweise als hoher oder tiefer Wert (z. B. 1 oder 0) bestimmt werden. Alternativ kann die letzte Flanke auch als steigende oder fallende Flanke bestimmt werden, was hier auch als Polarität der Flanke (steigend oder fallend) bezeichnet ist. Eine letzte Flanke, die eine steigende Flanke ist, entspricht einem letzten Wert, der ein hoher Wert ist. Eine letzte Flanke, die eine fallende Flanke ist, entspricht einem letzten Wert, der ein tiefer Wert ist. Somit ist die Bestimmung der letzten Flanke effektiv gleichbedeutend dem Bestimmen des letzten Werts der Impulsfolge und umgekehrt. In einigen Ausführungsformen kann jedoch auch eine andere Flanke als die letzte Flanke verwendet werden, solange sie für den letzten Wert der Impulsfolge repräsentativ ist. Beispielsweise könnte die vorletzte Flanke verwendet werden, da bekannt ist, dass die vorletzte Flanke eine entgegengesetzte Polarität zur letzten Flanke aufweist. Irgendeine andere geeignete Flanke kann verwendet werden.
-
In Stufe 258 werden der bestimmte Flankenzählwertl und der letzte Wert oder die repräsentative (z. B. letzte) Flanke der empfangenen Impulsfolge verarbeitet, um den logischen Zustand des Datensignals zu identifizieren. Diese Verarbeitung kann auf irgendeine geeignete Weise ausgeführt werden. Beispielsweise kann eine Logik-Routine durch einen Prozessor ausgeführt werden, oder die Verarbeitung kann durch mehrere Logikgatter fest verdrahtet sein. Die Anzahl der Flanken kann verwendet werden, um die möglichen logischen Zustände, die durch die codierte Impulsfolge repräsentiert werden, um wenigstens einen einzugrenzen. Der letzte Wert der Impulsfolge oder die repräsentative (z. B. letzte) Flanke der Impulsfolge kann auch verwendet werden, um die möglichen logischen Zustände, die durch die codierte Impulsfolge dargestellt werden, um wenigstens einen einzugrenzen. Somit kann die Kombination aus der Anzahl der Flanken und dem letzten Wert oder der repräsentativen (z. B. letzten) Flanke in Kombination dazu dienen, einen logischen Zustand unter drei möglichen logischen Zuständen, die durch die codierte Impulsfolge dargestellt werden könnten, eindeutig zu identifizieren.
-
In Stufe 260 kann der bestimmte logische Zustand auf einem Paar von Drähten erneut erzeugt und aus dem Isolator übertragen werden. Beispielsweise kann der logische Zustand an den Anschlüssen DD+ 130 und DD- 132 erneut erzeugt und an eine externe Vorrichtung, wie z. B. ein USB-Peripheriegerät, gesendet werden.
-
Es sollte verstanden werden, dass die Kombination der Verfahren 200 und 250 eine isolierte Datenkommunikation zwischen zwei Vorrichtungen, die durch einen digitalen Isolator, wie z.B. den digitalen Isolator 100 von 1, gekoppelt sind, bereitstellen kann. Außerdem kann die Datenkommunikation das Kommunizieren von drei oder mehr logischen Zuständen über einen Datenkommunikationskanal unter Verwendung von nur zwei logischen Pegeln beinhalten.
-
3A ist ein Diagramm 300, das drei logische Zustände 302 für ein nicht einschränkendes Beispiel eines digitalen Isolators mit D+ und D- Eingängen 120 und 122 zeigt. Die dargestellten logischen Zustände können denen entsprechen, die vorstehend im Zusammenhang mit 1 beschrieben sind. Beispielsweise kann ein Zustand Differential +1 310 durch einen Drahtwert 304 D+ von 1 (HOCH) und einen Drahtwert 306 D- von 0 (TIEF) definiert sein. In diesem Beispiel ein Zustand Differential +1 312 durch einen Drahtwert 304 D+ von 0 (TIEF) und einen Drahtwert 306 D- von 1 (HOCH) definiert sein. Ein Zustand single-ended null (SE0) 314 ist durch einen Drahtwert 304 D+ von 0 (TIEF) und einen Drahtwert 306 D-von 0 (TIEF) definiert.
-
3B zeigt ein Beispiel dafür, wie unterschiedliche logische Zustände eines Datensignals unterschiedlichen Werten zweier Eigenschaften einer Impulsfolge zugeordnet werden können, nämlich mit einer unterschiedlichen Anzahl von Flanken und unterschiedlichen letzten Werten oder letzten Flanken einer Impulsfolge. Somit stellt 3B ein Beispiel für ein Codierungsschema 350 dar, das in den Verfahren 200 und 250 der 2A bzw. 2B verwendet werden kann und das durch einen digitalen Isolator gemäß den Aspekten der vorliegenden Anwendung, wie z. B. dem digitalen Isolator 100 von 1, implementiert werden kann.
-
Das Codierungsschema 350 stellt Beispiele für Impulsfolgen 358 dar, die den drei vorstehend beschriebenen logischen Zuständen Differential +1, Differential -1 und SEO zugeordnet sein können. Für jeden der drei möglichen logischen Zustände sind zwei alternative Impulsfolgen gezeigt. Für jeden logischen Zustand sind zwei Alternativen vorgesehen, da die genaue Impulsfolge vom vorangehenden logischen Zustand und dem letzten Wert der Impulsfolge, die diesem vorangehenden logischen Zustand zugeordnet ist, abhängen kann. Da die Impulsfolge des vorangehenden logischen Zustands einen letzten Wert von 1 oder 0 aufweisen kann, kann die Impulsfolge, die einem gegebenen logischen Zustand zugeordnet ist, unterschiedlich sein, abhängig davon, ob sie von einem hohen oder tiefen Wert ausgeht. Zur weiteren Erläuterung wird insbesondere auf 3B verwiesen.
-
Wie bereits beschrieben, können logische Zustände einer unterschiedlichen Anzahl von Flanken einer codierten Impulsfolge zugeordnet sein. Im Beispiel von 3B ist ein Schwellenwert von vier für die Anzahl der Flanken verwendet. Die logischen Zustände Differential +1 und Differential -1 sind Impulsfolgen mit weniger als vier Flanken (z. B. drei Flanken) zugeordnet, und der logische Zustand SEO ist Impulsfolgen mit mehr als vier Flanken (z. B. fünf Flanken) zugeordnet. Die Verwendung von vier Flanken als Schwellenwert ist ein nicht einschränkendes Beispiel.
-
3B stellt zwei alternative Impulsfolgen für den Zustand Differential +1 in den Zeilen 362 und 366 dar. Insbesondere die Impulsfolgen 382 und 386 repräsentieren beide den Zustand Differential +1. Die Impulsfolgen 382 und 386 weisen beide weniger als vier Flanken auf. Außerdem weisen beide Impulsfolgen 382 und 386 einen letzten Wert auf, der hoch ist (z. B. 1), und daher eine letzte Flanke, die eine ansteigende Flanke ist. Das heißt, es sind zwei Impulsfolgen 382 und 386 vorhanden, die jeweils eine Anzahl von Flanken von weniger als vier und einen letzten Wert, der hoch ist, aufweisen. Der Unterschied zwischen den Impulsfolgen 382 und 386 besteht darin, dass die Impulsfolge 382 mit einem tiefen Wert beginnt, während die Impulsfolge 386 mit einem hohen Wert beginnt. Ob die Impulsfolge 382 oder 386 verwendet wird, hängt vom vorherigen logischen Zustand des Busses ab, der in Spalte 352 als letzte Eingabe des digitalen Isolators gezeigt ist.
-
3B stellt zwei alternative Impulsfolgen für den Zustand Differential -1 in den Zeilen 364 und 368 dar. Insbesondere die Impulsfolgen 384 und 388 repräsentieren beide den Zustand Differential -1. Die Impulsfolgen 384 und 388 weisen beide weniger als vier Flanken auf. Außerdem weisen beide Impulsfolgen 384 und 388 einen letzten Wert auf, der tief ist (z. B. 0), und daher eine letzte Flanke, die eine fallende Flanke ist. Das heißt, es sind zwei Impulsfolgen 384 und 388 vorhanden, die jeweils eine Anzahl von Flanken von weniger als vier und einen letzten Wert, der tief ist, aufweisen. Der Unterschied zwischen den Impulsfolgen 284 und 388 besteht darin, dass die Impulsfolge 284 mit einem hohen Wert beginnt, während die Impulsfolge 388 mit einem tiefen Wert beginnt. Ob die Impulsfolge 384 oder 388 verwendet wird, hängt vom vorherigen logischen Zustand auf dem Bus ab, wie in Spalte 352 gezeigt ist.
-
Die logischen Zustände Differential +1 und Differential -1 können durch die Impulsfolgen 382, 384, 386 und 388 voneinander unterschieden werden. Alle vier Impulsfolgen weisen weniger als vier Flanken auf, was gemäß dem nicht einschränkenden Codierungsschema 350 angibt, dass sie entweder den logischen Zustand Differential +1 oder den logischen Zustand Differential -1 repräsentieren. Wie vorstehend beschrieben, weisen die Impulsfolgen 382 und 386 jedoch einen letzten Wert auf, der hoch ist (und daher eine letzte Flanke, die eine ansteigende Flanke ist), während die Impulsfolgen 384 und 388 einen letzten Wert aufweisen, der tief ist (und daher eine letzte Flanke, die eine fallende Flanke ist). Somit ist, wenn eine Impulsfolge weniger als vier Flanken aufweist, bekannt, dass die Impulsfolge entweder den logischen Zustand Differential +1 oder Differential -1 repräsentiert. Der letzte Wert der Impulsfolge unterscheidet zwischen diesen beiden.
-
3B stellt zwei alternative Impulsfolgen für den Zustand SE0 in den Zeilen 370 und 372 dar. Insbesondere repräsentieren die Impulsfolgen 390 und 392 beide den Zustand SEO. Die Impulsfolgen 390 und 392 weisen beide mehr als vier Flanken auf. Die Impulsfolgen 390 und 392 weisen unterschiedliche letzte Werte auf - die Impulsfolge 390 endet mit einem hohen Wert, während die Impulsfolge 392 mit einem tiefen Wert endet - abhängig von dem vorherigen logischen Zustand, wie in Spalte 352 gezeigt.
-
3B stellt daher dar, wie die Impulsfolgenmerkmale aus der Anzahl der Flanken und dem letzten Wert oder der letzten Flanke zur Unterscheidung zwischen drei logischen Zuständen verwendet werden können. Eine Impulsfolge mit mehr als vier Flanken (z. B. Impulsfolge 390 oder 392) identifiziert eindeutig die logischen Zustände SE0. Eine Impulsfolge mit weniger als vier Flanken und einem letzten Wert, der hoch ist (z. B. die Impulsfolgen 382 und 386), identifiziert eindeutig den logischen Zustand Differential +1. Eine Impulsfolge mit weniger als vier Flanken und einem letzten Wert, der tief ist (z. B. die Impulsfolgen 384 und 388), identifiziert eindeutig den logischen Zustand Differential -1.
-
Das Codierungsschema 350 unterscheidet zwischen kurzen Impulsfolgen und langen Impulsfolgen. Kurze Impulsfolgen sind diejenigen, deren Anzahl der Flanken kleiner ist als ein Schwellenwert. Lange Impulsfolgen sind diejenigen, deren Anzahl der Flanken größer ist als der Schwellenwert. Die Zuordnung von logischen Zuständen zu solchen Impulsfolgenlängen kann erfolgen, um einen energieeffizienteren Betrieb zu ermöglichen. Die Erzeugung längerer Impulsfolgen benötigt typischerweise mehr Energie, während kürzere Impulsfolgen weniger Energie benötigen. Somit kann die Zuordnung von weniger häufig auftretenden logischen Zuständen zu längeren Impulsfolgen Energie sparen im Vergleich zur Zuordnung von häufiger auftretenden logischen Zuständen zu längeren Impulsfolgen. In einigen Ausführungsformen tritt der logische Zustand SEO wahrscheinlich weniger häufig auf als die logischen Zustände Differential +1 und Differential -1. Im Kontext der USB2.0-Kommunikation kann der Zustand SEO beispielsweise für spezifische USB2.0-Funktionen reserviert sein, wie z. B. für Disconnect-, Reset- und End-of-Packet- (EOP-) Operationen, die weniger häufig auftreten als die logischen Zustände Differential +1 und Differential -1. Daher kann die Zuordnung von SE0 zu der längeren Impulsfolge, wie sie im Codierungsschema 350 vorgenommen wird, einen energieeffizienten Betrieb bereitstellen.
-
Das Codierungsschema 350 kann verwendet werden, um drei logische Zustände als USB 2.0-Buszustände für Daten mit voller Geschwindigkeit (FS-Daten) (12 Mbps) oder Daten mit niedriger Geschwindigkeit (LS-Daten) (1,5 Mbps) zu kommunizieren.
-
Das in 3B gezeigte nicht einschränkende Beispiel eines Codierungsschemas 350 kann zwar zur Unterscheidung zwischen drei logischen Zuständen verwendet werden, jedoch ist zu verstehen, die vorliegende Anmeldung nicht auf die Unterscheidung zwischen nur drei logischen Zuständen eingeschränkt ist. Aspekte der vorliegenden Anmeldung können zum Unterscheiden zwischen vier oder mehr logischen Zuständen unter Verwendung der hier beschriebenen Codierungstechniken verwendet werden. Der vorliegende Aspekt kann verwendet werden, um vier logische Zustände eines 2-Bit-Signals oder 2N logische Zustände eines N-Bit-Signals zu kommunizieren. Gemäß einem Aspekt der vorliegenden Anmeldung wird die Anzahl der Impulse zur Angabe der Anzahl von Bits innerhalb eines Mehrbitworts verwendet, und die Polarität einer der Flanken in der Impulsfolge wird zur Angabe des Bitwerts verwendet. In einigen Ausführungsformen wird die Polarität der letzten Flanke zur Angabe des Bitwerts verwendet.
-
Das Verfahren 200 von 2A kann das Codierungsschema 350 von 3B in Stufe 204 nutzen. Das Verfahren 250 kann auf ähnliche Weise das Codierungsschema 350 in Stufe 358 verwenden, um den durch die Impulsfolge repräsentierten logischen Zustand zu identifizieren.
-
4A ist ein Zeitdiagramm 400 einer nicht einschränkenden Beispielimplementierung der Codierung, die in dem Verfahren 200 von 2A verwendet werden kann. Die dargestellte Codierung ist auch mit dem Codierungsschema 350 von 3B konsistent. Die horizontale Achse repräsentiert die Zeit. Die vertikale Achse zeigt die Spannungspegel von drei verschiedenen Signalen, nämlich des am Anschluss UD+ 120 empfangenen Signals (das 1 oder 0 sein kann), des am Anschluss UD- 122 empfangenen Signals (das 1 oder 0 sein kann) und des codierten Signals 402 (das die Werte 1 und 0 annimmt). Das Zeitdiagramm 400 stellt drei eingegebene logische Zustände und das entsprechende codierte Signal dar.
-
Der erste eingegebene logische Zustand ist der Zustand 310 Differential-1 (aus 3A). In diesem Zustand ist der Wert am Anschluss UD+ 120 ein logisches Hoch (1), und der Wert am Anschluss UD- 122 ist ein logisches Tief (0). Die Impulsfolge 382 aus 3B kann erzeugt werden, um den logischen Zustand zu codieren. In diesem nicht einschränkenden Beispiel ist angenommen, dass der vorherige Buszustand 352 so ist, dass die vorherige Impulsfolge einen letzten Wert von Null aufwies, wie gezeigt.
-
Der zweite eingegebene logische Zustand ist der Zustand 314 SEO (aus 3A). In diesem Zustand sind die Werte an den Anschlüssen UD+ 120 und UD- 122 ein logisches Tief (0). Die Impulsfolge 390 aus 3B kann erzeugt werden, um diesen logischen Zustand zu codieren.
-
Der dritte eingegebene logische Zustand ist der Zustand 312 Differential-1 (aus 3A). In diesem Zustand ist der Wert am Anschluss UD+ 120 ein logisches Tief (0) und der Wert am Anschluss UD- 122 ein logisches Hoch (1). Die Impulsfolge 388 aus 3B kann erzeugt werden, um diesen logischen Zustand zu codieren.
-
4B ist ein Zeitdiagramm 450 einer nicht einschränkenden Beispielimplementierung zum Decodieren einer Impulsfolge, wie sie im Zusammenhang mit dem Verfahren 250 von 2B vorgenommen werden kann. Das dargestellte Decodieren ist auch mit dem Codierungsschema 350 von 3B konsistent. Die horizontale Achse repräsentiert die Zeit. Die vertikale Achse repräsentiert den Spannungspegel. Es sind drei Impulsfolgen gezeigt, die die Impulsfolgen 382, 390 und 388 aufweisen, wie vorstehend in 4A gezeigt. Die Impulsfolgen 382, 390 und 388 können unter Verwendung des Codierungsschemas 350 von 3B decodiert werden, um die zugeordneten logischen Zustände zu identifizieren, die dann wie gezeigt an den Anschlüssen DD+ 130 und DD- 132 produziert werden.
-
In der Praxis wird eine Zeitverzögerung zwischen dem Zeitpunkt, zu dem die Impulsfolge auf der Sekundärseite des Isolators empfangen wird, und dem Zeitpunkt, zu dem der decodierte logische Zustand an den Ausgangsanschlüssen des Isolators produziert wird, vorhanden sein. Somit befinden sich DD+ und DD- zu Beginn des Zeitdiagramms von 4B in einem logischen Zustand, der demjenigen vorausgeht, der durch die codierten Impulsfolgen von 4A produziert wird. Der vorausgehende logische Zustand in diesem nicht einschränkenden Beispiel ist der Zustand 312 Differential-1. Das Beispiel in 4B nimmt an, dass der logische Zustand vor dem Empfang der Impulsfolge 382 über die Isolationsbarriere 104 existierte. Dann werden die drei Impulsfolgen 382, 390 und 388 nacheinander empfangen und decodiert, um die logischen Zustände Differential +1, SE0 bzw. Differential -1 zu produzieren.
-
4B zeigt zusätzlich eine feste Zeitspanne TOS 458 mit einem Anfang 456 und einem Ende 460. Wie bereits im Zusammenhang mit 2B beschrieben, kann das Zählen der Anzahl der Flanken der empfangenen Impulsfolge über eine feste Zeitspanne erfolgen. Auf diese Weise lassen sich sequentielle Impulsfolgen abgrenzen. Die feste Zeitspanne 458 kann mit einem Monoflop oder einer anderen geeigneten Schaltungsanordnung erzeugt werden und wird daher als TOS gekennzeichnet.
-
Der in 4B dargestellte Decodiervorgang kann asynchron sein. Insbesondere wird die feste Zeitspanne TOS 458 durch die erste Flanke der empfangenen Impulsfolge getriggert, die asynchron sein kann.
-
Die Anzahl der Flanken und der letzte Wert bzw. die letzte Flanke der empfangenen Impulsfolge kann während der festen Zeitspanne TOS 458 bestimmt werden. Nach Triggern der festen Zeitspanne TOS 458 kann die Anzahl der Flanken 454 gezählt werden. Der letzte Wert der Impulsfolge am Ende 460 der festen Zeitspanne TOS 458 kann bestimmt werden. Der logische Zustand, der der Impulsfolge zugeordnet ist, kann dann, als nicht einschränkendes Beispiel, bestimmt werden, wie vorstehend im Zusammenhang mit 2B und 3B beschrieben.
-
5 ist eine schematische Ansicht eines Isolators 500, der ein nicht einschränkendes Beispiel für eine Implementierung des digitalen Isolators 100 von 1 repräsentiert und der die Codierungsmethodik der 2A und 2B implementieren kann. Mehrere Komponenten des Isolators 500 wurden bereits im Zusammenhang mit 1 beschrieben und sind hier nicht noch einmal im Detail beschrieben. Der Isolator 500 weist ferner eine Steuerschaltungsanordnung 502, Isolationskomponenten 510, Isolationskomponenten 512, Isolatorsender 514 und Isolatorempfänger 516 auf.
-
Die Steuerschaltungsanordnung 502 ist dazu ausgebildet, den Betrieb der Konfigurationskanäle 110 und der Datenkanäle 112 zu steuern. Die Steuerschaltungsanordnung 502 ist auf beiden Seiten der Isolationsbarriere 104 positioniert. Die Steuerschaltungsanordnung 502 ist mit den Sende- und Empfangsschaltungsanordnung 114 und den Konfigurationskanälen 110 gekoppelt, wie durch die verschiedenen Pfeile in der Figur gezeigt. In einigen nicht einschränkenden Ausführungsformen kann die in 5 zu sehende Steuerschaltungsanordnung 502 dazu verwendet werden, die Stromversorgungssequenzierung für den Isolator 500 sowie die Verbindungen, Trennungen, Geschwindigkeitsverhandlung und Datenübertragung für verbundene Vorrichtungen, z. B. USB-Vorrichtungen, zu überwachen. Die Steuerschaltungsanordnung kann irgendeine geeignete Schaltungsanordnung zum Ausführen solcher Funktionen sowie eine Schaltungsanordnung zum Speichern und Verarbeiten von Steuerdaten aufweisen. Beispielsweise kann die Steuerschaltungsanordnung, unter anderen Komponenten, geeignete Kombinationen von Registern und Sicherungen [engl. fuses] aufweisen. Die Steuerschaltungsanordnung 502 kann als integrierte Schaltungsanordnung auf Halbleiterbausteinen, die den jeweiligen Spannungsdomänen 102a und 102b zugeordnet sind, implementiert sein.
-
Die Isolationskomponenten 510 und 512 können irgendein geeigneter Typ von Isolationskomponenten sein, die die Isolationsbarriere 104 überbrücken. In dem nicht einschränkenden Beispiel von 5 sind die Isolationskomponenten 510 und 512 Transformatoren. Alternativ können jedoch auch Kondensatoren, Opto-Isolatoren oder Hochfrequenz- (HF-) Isolationskomponenten verwendet werden.
-
Die Isolatorsender 514 und Isolatorempfänger 516 sind den Datenkanälen 112 zugeordnet. In dem nicht einschränkenden Beispiel von 5 enthält jeder der beiden dargestellten Datenkanäle 112 einen Isolatorsender 514 und einen Isolatorempfänger 516. Der Isolatorsender 514 kann codierte Impulsfolgen der zuvor hier im Zusammenhang mit den 3B und 4A beschriebenen Typen empfangen und kann diese codierten Impulsfolgen über die entsprechende Isolationskomponente 512 zu dem Isolatorempfänger 516 übertragen. Der Isolatorempfänger 516 kann die empfangene Impulsfolge für einen Datenwiederherstellungsblock zum Decodieren bereitstellen, wie nachstehend im Zusammenhang mit 6 beschrieben ist.
-
In einigen nicht einschränkenden Ausführungsformen kann die Sende- und Empfangsschaltungsanordnung 114 einen anfänglichen Rahmenimpuls über den Datenkanal 112, wie z. B. über den Isolatorsender 514, übertragen, bevor sie codierte Impulsfolgen der zuvor im Zusammenhang mit den 2A, 3B und 4A beschriebenen Typen übertragen. Die Decodierlogik auf der Empfangsseite des Isolators, für die nachstehend ein Beispiel beschrieben ist, kann beim Empfang des Rahmenimpulses getriggert werden. Insbesondere kann der Rahmenimpuls auf der Empfangsseite des Isolators eine feste Zeitspanne, wie z. B. die feste Zeitspanne TOS 458, triggern. Die Anzahl der Flanken und der letzte Wert oder die letzte Flanke der empfangenen Impulsfolge können während der festen Zeitspanne bestimmt werden, wie vorstehend im Zusammenhang mit den 2B und 4B beschrieben.
-
6 erweitert 5 durch Darstellen einer detaillierteren Implementierung der Sende- und Empfangsschaltungsanordnung 114 der Isolatoren 100 und 500 gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung. Die dargestellte Schaltungsanordnung 600 weist mehrere Komponenten auf, die bereits im Zusammenhang mit den 1 und 5 beschrieben wurden und hier nicht noch einmal im Detail beschrieben sind. Die Sende- und Empfangsschaltungsanordnung 114 auf jeder Seite der Isolationsbarriere 104 weist eine Datenwiederherstellungsschaltungsanordnung 602 auf.
-
Die Datenwiederherstellungsschaltungsanordnung 602 ist dazu ausgebildet, das Decodieren von codierten Impulsfolgen der zuvor beschriebenen Typen zu unterstützen. Die Datenwiederherstellungsschaltungsanordnung 602 ist mit den Isolatorempfängern 516 gekoppelt, um die über die Isolationsbarriere 104 übertragenen Impulsfolgen zu empfangen. Die Datenwiederherstellungsschaltungsanordnung 602 implementiert dann eine Decodierungstechnik der zuvor hier beschriebenen Typen. Beispielsweise kann die Datenwiederherstellungsschaltungsanordnung 602 die Anzahl der Flanken einer empfangenen Impulsfolge zählen und kann einen letzten Wert oder eine letzte Flanke der empfangenen Impulsfolge bestimmen. Die Datenwiederherstellungsschaltungsanordnung 602 kann den logischen Zustand, der durch die codierte Impulsfolge repräsentiert ist, zur Ausgabe aus dem Isolator bestimmen.
-
7 ist eine schematische Ansicht der Schaltungsanordnung 700, die eine weitere detaillierte Implementierung der Schaltungsanordnung von 6 repräsentiert, gemäß einer nicht einschränkenden Ausführungsform der vorliegenden Anmeldung. Die Schaltungsanordnung 700 weist mehrere Komponenten auf, die bereits im Zusammenhang mit den 5 und 6 beschrieben wurden und hier nicht noch einmal im Detail beschrieben sind. In diesem nicht einschränkenden Beispiel weist der Isolator zwei Bausteine auf, die als IC-Baustein 702 und TC-Baustein 704 identifiziert sind. Die Schaltungsanordnung 700 weist ein analoges Frontend (AFE) 706 auf jedem Baustein, einen Empfänger 708 und einen Sender 709 innerhalb des AFE 706, einen Codierer 710 und einen Decodierer 720 auf.
-
Der Empfänger 708 ist dazu ausgebildet, Daten an den Anschlüssen UD+ 120 und UD- 122 auf dem IC-Baustein 702 und an den Anschlüssen DD+ 130 und DD- 132 auf dem TC-Baustein 704 zu empfangen. Die jeweiligen Empfänger 708 sind mit dem jeweiligen Codierer 710 gekoppelt, um die empfangenen Daten für die Codierer bereitzustellen.
-
Die Codierer 710 sind dazu ausgebildet, die empfangenen Daten mit einer Impulsfolge zu codieren. Beispielsweise kann der Codierer 710, der die Daten vom jeweiligen Empfänger 708 empfängt, die Daten in eine Impulsfolge gemäß den zuvor hier beschriebenen Verfahren codieren. Der Codierer kann dann die codierte Impulsfolge für einen entsprechenden Isolatorsender 514 zur Übertragung über die Isolationsbarriere 104 bereitstellen.
-
Der Decodierer 720 empfängt die codierte Impulsfolge und decodiert sie, um den eingegebenen logischen Zustand wiederherzustellen. Gemäß einigen Ausführungsformen decodiert der Decodierer 720 die Impulsfolge in der zuvor im Zusammenhang mit dem Verfahren 250 von 2B beschriebenen Weise. Der Decodierer gibt dann den decodierten logischen Zustand an den Sender 709 des AFE 706 zur Übertragung aus dem Isolator aus.
-
Die Schaltungsanordnung 700 ist zwischen den beiden Bausteinen 702 und 704 aufgeteilt. Die Isolationskomponenten 512 sind in diesem Beispiel auf dem TC-Baustein gebildet. Es ist zu verstehen, dass auch andere Anordnungen für die Isolationskomponenten möglich sind.
-
8 stellt ein nicht einschränkendes Beispiel für den Empfänger 708 des AFE 706 dar. Der dargestellte Empfänger 800 weist sowohl einen Differenzialpfad DIFF-Pfad 802 als auch einen single-ended-Pfad SE0-Pfad 804 auf. Abhängig davon, ob der empfangene logische Zustand ein SEO oder entweder ein Differential +1 oder ein Differential -1 ist, durchläuft das Signal den entsprechenden Pfad, um durch das jeweilige Glitch-Filter 806 gefiltert zu werden. Den Glitch-Filtern 806 kann abhängig von der Geschwindigkeit der Daten eine unterschiedliche Filterzeit zugeordnet sein. Die Ausgangsanschlüsse der Glitch-Filter 806 speisen die entsprechenden Latches 808, wie gezeigt. Das dem SE0-Pfad 804 zugeordnete Latch kann mit einem Stromversorgungsnetz verbunden sein, das das zweite Eingangssignal (pdn) für das Latch 808 bereitstellt. Die Latches 808 speisen entsprechende Monoflop-Schaltungen 812, die wiederum eine Takterzeugungsverzögerungsschaltung 814 speisen. Die Takterzeugungsverzögerungsschaltung 814 gibt ein Taktsignal aus, das zum Übertragen der codierten Impulsfolge über die Isolationskomponente verwendet werden kann. Das ausgegebene Taktsignal (enc_FSM_clk) 820 kann auch von einem Codierer-Zustandsautomaten des Codierers 710 verwendet werden, um Zustände weiterzuschalten und Übertragungen über die Isolationskomponente zu initiieren.
-
9 zeigt ein nicht einschränkendes Beispiel für die Implementierung des Codierers 710. Die Schaltungsanordnung 900 weist einen Impulsgenerator 902, einen Buszustandsmonitor 904 und einen Taktimpulsgenerator 906 auf. Der Impulsgenerator codiert eingehende logische Zustände als Impulsfolgen in der zuvor hier beschriebenen Weise. Der Buszustandsmonitor 904 überwacht den Zustand des Busses und stellt diese Informationen für Impulsgenerator 902 bereit, um die geeignete Impulsfolge zu erzeugen, wie zuvor im Zusammenhang mit 3B beschrieben. Der Taktimpulsgenerator 906 erzeugt einen asynchronen Taktimpuls, um den Betrieb des Impulsgenerators 902 zu triggern.
-
In einigen Ausführungsformen triggert der Taktimpulsgenerator 906 sofort in Reaktion darauf, welches Glitch-Filter von 8 seinen Ausgang zuerst ändert. In einigen Ausführungsformen setzt der Taktimpulsgenerator 906 einen Impuls ein, der lang genug ist, um sicherzustellen, dass seine hintere Flanke eintritt, je nachdem welches der Glitch-Filter von 8 seinen Ausgang zuletzt geändert hat. In einigen Ausführungsformen kann die hintere Flanke des Taktimpulses 906 dazu verwendet werden, eine Zustandsänderung in einem entsprechenden Isolatorsender 514 zu triggern, wie z. B. mit einer dem Isolatorsender 514 zugeordneten H-Brücke, die dazu verwendet werden kann, den Isolatorsender 514 zu veranlassen, eine codierte Impulsfolge über die Isolationskomponente 512 zu übertragen.
-
10 zeigt ein nicht einschränkendes Beispiel für die Implementierung des Decodierers 720. Die Schaltungsanordnung 950 weist einen Flankendetektor 952, einen Zähler 954, einen Monoflop-Zeitgeber 956 und eine Decodierlogikschaltung 958 auf. Der Monoflop-Zeitgeber 956 kann durch die erste Flanke der empfangenen Impulsfolge 960, die durch den Isolatorempfänger 516 ausgegeben wird, getriggert werden, wodurch eine Monoflop-Zeitspanne erzeugt wird. Der Flankendetektor 952 detektiert die Flanken der Impulsfolge während der Monoflop-Zeitspanne. Der Zähler 954 zählt die Anzahl der Flanken der Impulsfolge während der Monoflop-Zeitspanne. Die Decodierlogikschaltung 958 empfängt die Ausgabe des Zählers 954 und kann auch die Ausgabe des Flankendetektors 952 empfangen. Die Decodierlogikschaltung verarbeitet die durch den Zähler 954 gezählte Anzahl der Flanken und den/die vom Flankendetektor bereitgestellten letzten Wert Endwert oder letzte Flanke der Impulsfolge und bestimmt den diesen Werten zugeordneten logischen Zustand.
-
Digitale Isolatoren der hier beschriebenen Typen können in verschiedenen Situationen verwendet werden. 11 ist eine schematische Darstellung eines Beispielsystems 1000, in dem die digitalen Isolatoren 100 genutzt werden können. Das System 1000 weist einen Computer 1002 auf, der über ein Kabel 1004 mit einer Seite eines Elektrokardiogramm- (EKG-) Monitors 1006 verbunden ist, um eine Verbindung zu einer zugehörigen Schaltungsanordnung 1007 herzustellen. Ein EKG-Sensor-Hub 1010 mit EKG-Leitungen 1012, die mit einem Patienten PT verbunden sind, kann über ein Kabel 1008 mit einer entgegengesetzten Seite des EKG-Monitors 1006 verbunden sein, um eine Verbindung zu einer zugehörigen Schaltungsanordnung 1007 herzustellen. Ein digitaler Isolator 100 kann in den EKG-Monitor 1006 integriert sein und stellt eine Isolationsbarriere 104 bereit, wie z. B. zwischen der Schaltungsanordnung 1007 und dem Kabel 1008. Die hier beschriebenen digitalen Isolatoren 100 können zum Schutz von Geräten verwendet werden und können Patienten PT und/oder Betriebspersonal OP in medizinischen Anwendungen schützen, während sie den relevanten Sicherheitsstandards entsprechen.
-
Einige der hier beschriebenen nicht einschränkenden Ausführungsformen können in einer Vielzahl von Anwendungen implementiert sein, wie z. B. in irgendwelchen Gesundheits- und Medizinsystemen, in der Industrie-Automatisierung und/oder -Steuerung, in Automobilimplementierungen, in wissenschaftlichen Anwendungen oder in anderen Instrumentierungs- und Messanwendungen.
-
Die Aspekte der vorliegenden Anmeldung können verschiedene Vorteile bereitstellen. Jetzt werden einige nicht einschränkende Beispiele beschrieben. Andere als die aufgeführten Vorteile können in einigen Ausführungsformen realisiert werden, und nicht alle Ausführungsformen stellen alle Vorteile bereit. Wie vorstehend erläutert können in einigen nicht einschränkenden Ausführungsformen zwei Informationsbits über einen digitalen Isolatorkanal, der zwei Logikpegel unterstützt, kommuniziert werden. Somit kann die Anzahl der Isolatorkanäle, die zur Übertragung von USB-2.0-Daten mit voller und niedriger Geschwindigkeit erforderlich sind, reduziert werden, z. B. von vier auf zwei Kanäle. Dies wiederum kann die Bausteinfläche einsparen, die Kosten reduzieren und/oder den Stromverbrauch in digitalen Isolatorprodukten reduzieren. Die hier beschriebenen Techniken sind neben USB 2.0 auch in vielen Anwendungen weithin einsetzbar.
-
Einige nicht einschränkende Ausführungsformen der hier beschriebenen digitalen Isolatoren können verwendet werden, um mehrere Bits digitaler Daten über einen Kanal, der normalerweise für zum Kommunizieren eines Bits verwendet wird, zu kommunizieren. Darüber hinaus können einige nicht einschränkende Ausführungsformen der hier beschriebenen digitalen Isolatoren zeitliche Vorteile bieten, da die Datenübertragung asynchron und unmittelbar als Reaktion auf eine neue Eingabeaktivität erfolgen kann, ohne dass eine Abtastung auf einer anderen Zeitbasis erfolgt.
-
Digitale Isolatoren der hier beschriebenen Typen können auch für Rauschfestigkeit sorgen, indem z. B. Isolation verwendet wird, um Erdungsschleifen unterbrechen, die andernfalls den Erdungsdraht eines USB-Kabels aufweisen könnten, und/oder um eine robuste Signalübertragung in verrauschten Umgebungen zu gewährleisten.
-
Obwohl einige der nicht einschränkenden Ausführungsformen für USB 2.0 und andere digitale Isolatorprodukte beschrieben sind, können die Techniken auf viele andere Anwendungen als USB-Isolatoren angewendet werden.
-
Einige Ausführungsformen der hier beschriebenen USB-Isolatoren können 480 Mbps-Hochgeschwindigkeitsdaten (HS-Daten) unterstützen. Einige Ausführungsformen der hier beschriebenen USB-Isolatoren können für große Gehäuse/Module für verstärkte Anwendungen ausgebildet sein. Einige Ausführungsformen der hier beschriebenen USB-Isolatoren können für kleinere Gehäuse ausgebildet sein, z. B. zur Funktionsisolierung. Einige Ausführungsformen der hier beschriebenen USB-Isolatoren können eine verbesserte EMI-Leistung, z. B. abgestrahlte Emissionen unterhalb der FCC- und CISPR-Grenzwerte der Klasse B und/oder Widerstandsfähigkeit gegen Gleichtakttransienten und Versorgungsrauschen bereitstellen.
-
Nachdem nun einige Aspekte wenigstens einer Ausführungsform beschrieben worden sind, ist zu verstehen, dass verschiedene Änderungen, Modifikationen und Verbesserungen für den Fachmann problemlos möglich sind. Als ein Beispiel wurden vorstehend verschiedene Merkmale im Zusammenhang mit verschiedenen Ausführungsformen diskutiert. Diese Merkmale können einzeln oder in Kombination verwendet werden, sofern nicht anders angegeben.
-
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 17/334445 [0001]
- US 63/160711 [0002]