-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Datenübertragungs/Empfangsvorrichtung und ein Datenübertragungs/Empfangsverfahren, bei welchem eine serielle Kommunikation zwischen einer Datenübertragungsvorrichtung und einer Datenempfangsvorrichtung ausgeführt wird.
-
2. Beschreibung des Stands der Technik
-
Eine Datenempfangsvorrichtung kann daran scheitern von einer Datenübertragungsvorrichtung übertragene Daten zu empfangen, wenn ein oder mehrere Zyklen einer Verzögerung zwischen einem Takt und Daten aufgetreten sind, als Ergebnis beispielsweise einer Verzögerung bei einer Datenübertragungsleitung zwischen der Datenübertragungsvorrichtung und der Datenempfangsvorrichtung oder einer Verzögerung bei dem Schaltkreis der Datenübertragungsvorrichtung oder der Datenempfangsvorrichtung.
-
Um diesen Datenempfangsausfall zu verhindern, zählt beispielsweise das in der
japanischen Patentoffenlegungsschrift mit der Nummer 2012-124716 beschriebene Steuersystem die Anzahl der Zyklen zwischen dem Übertragungsendzeitpunkt eines Befehls und dem Empfangszeitpunkt von Daten für diesen Befehl, wenn der Befehl an die Datenübertragungsvorrichtung übertragen wird. Ebenso weist das System eine Kalibrationsfunktion zum Hinzufügen auf, durch Verwenden einer Vielzahl von bei dem Schaltkreis vorgesehenen Verzögerungselementen, wobei eine Verzögerung zu der Anzahl von Zyklen gehört, und ein normaler Datentransfer durch die Kalibrationsfunktion ausgeführt wird.
-
Allerdings gibt es bei dem Steuersystem gemäß der
japanischen Patentoffenlegungsschrift mit der Nummer 2012-124716 ein Problem darin, dass es notwendig ist eine komplexe Sequenz zum Auswählen eines Verzögerungselements durch eine Kalibration periodisch auszuführen, und somit kann eine Kommunikation nicht sofort ausgeführt werden, wenn diese notwendig ist. Ein anderes Problem ist das, wenn eine Kalibration periodisch ausgeführt wird, eine Kommunikation während der Kalibration nicht ausgeführt werden kann, was in einer Reduktion der übertragenen Datenmenge resultiert.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung wurde gemacht, um die oben beschriebenen Probleme zu lösen und eine Aufgabe der vorliegenden Erfindung ist es eine Datenübertragungs/Empfangsvorrichtung und ein Datenübertragungs/Empfangsverfahren bereitzustellen, welche keine periodische Kalibrationsfunktion benötigen und welche eine Kommunikation zwischen einer Datenübertragungsvorrichtung und einer Datenempfangsvorrichtung durch einfaches Hinzufügen eines spezifischen Bestimmungscodes und eines spezifischen Startcodes zu Kommunikationsdaten einrichten kann, selbst wenn es eine große Differenz einer Signalverzögerungsmenge zwischen der Datenübertragungsvorrichtung und der Datenempfangsvorrichtung gibt.
-
Eine Datenübertragungs/Empfangsvorrichtung gemäß der vorliegenden Erfindung ist eine Datenübertragungs/Empfangsvorrichtung, bei welcher eine serielle Kommunikation zwischen einer Datenübertragungsvorrichtung und einer Datenempfangsvorrichtung ausgeführt wird, wobei die Datenübertragungsvorrichtung umfasst: einen Bestimmungscodeerzeugungsabschnitt zum mehrmaligen Übertragen ein einen Kopfabschnitt von Übertragungsdaten angebendes vorbestimmtes Codemuster als einen Bestimmungscode; einen Startcodeerzeugungsabschnitt zum Übertragen zumindest einmal von einem Startcode mit einem sich von dem Bestimmungscode unterscheidenden vorbestimmten Codemuster anschließend an den Bestimmungscode; und einen gültige Datenerzeugungsabschnitt zum Übertragen von gültigen Daten anschließend an den Startcode.
-
Ein Datenübertragungs/Empfangsverfahren gemäß der vorliegenden Erfindung ist ein Datenübertragungs/Empfangsverfahren, bei welchem eine serielle Kommunikation zwischen einer Datenübertragungsvorrichtung und einer Datenempfangsvorrichtung ausgeführt wird, wobei nach einem sukzessiven Übertragen zumindest zweimal eines einen Kopfabschnitt von Übertragungsdaten angebenden vorbestimmten Codemusters als einen Bestimmungscode, die Datenübertragungsvorrichtung gültige Daten unmittelbar nach einem Übertragen von zumindest einmal von einem Startcode mit einem sich von dem Bestimmungscode unterscheidenden vorbestimmten Codemuster überträgt.
-
Gemäß der vorliegenden Erfindung, selbst wenn die Signalverzögerungsdifferenz zwischen der Datenübertragungsvorrichtung und der Datenempfangsvorrichtung groß ist, ist es möglich eine normale Kommunikation auszuführen, ohne dass eine komplexe Sequenz notwendig ist. Da Daten von einem einen Kopfabschnitt von Übertragungsdaten angebenden spezifischen Code zusätzlich zu gültigen Daten übertragen werden, besteht die Gefahr, dass die effektive Übertragungsrate reduziert werden kann. Allerdings ist es nicht notwendig die Zeitpunktbeschränkung zwischen dem gültigen Datensignal als eine Chip-Auswahl und dem Takt zu berücksichtigen, sodass eine Taktfrequenz erhöht werden kann, im Ergebnis davon ist es möglich die effektive Übertragungsrate zu erhöhen.
-
Das vorstehende und andere Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden deutlicher aus der nachfolgenden Detailbeschreibung werden, wenn diese zusammen mit den beigefügten Figuren gelesen wird.
-
Kurzbeschreibung der Figuren
-
1 ist ein Blockdiagramm, welches eine Datenübertragungs/Empfangsvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt;
-
2 zeigt ein Zeitablaufsdiagramm eines Datenübertragungs/Empfangsverfahrens gemäß der ersten Ausführungsform der vorliegenden Erfindung;
-
3 zeigt ein Flussdiagramm des Datenübertragungs/Empfangsverfahrens gemäß der ersten Ausführungsform der vorliegenden Erfindung;
-
4 zeigt ein spezifisches Zeitablaufsdiagramm des Datenübertragungs/Empfangsverfahrens gemäß der ersten Ausführungsform der vorliegenden Erfindung; und
-
5 zeigt ein Zeitablaufsdiagramm für einen spezifischen Fall, wobei eine Verzögerungsdifferenz zwischen Signalen bei dem Datenübertragungs/Empfangsverfahren auftritt, gemäß der ersten Ausführungsform der vorliegenden Erfindung.
-
Detailbeschreibung der bevorzugten Ausführungsformen der Erfindung
-
Erste Ausführungsform
-
Nachfolgend wird eine Datenübertragungs/Empfangsvorrichtung und ein Datenübertragungs/Empfangsverfahren gemäß einer ersten Ausführungsform der vorliegenden Erfindung mit Bezug zu den 1 bis 5 beschrieben.
-
1 ist ein Blockdiagramm, welches die Datenübertragungs/Empfangsvorrichtung gemäß der ersten Ausführungsform zeigt. Die Datenübertragungs/Empfangsvorrichtung ist aus einer Datenübertragungsvorrichtung 100 und einer Datenempfangsvorrichtung 200 ausgebildet und eine serielle Kommunikation wird zwischen den zwei Vorrichtungen ausgeführt.
-
Die Datenübertragungsvorrichtung 100 umfasst einen CSB Erzeugungsabschnitt 101 zum Erzeugen eines gültigen Datensignals als eine Chip-Auswahl (CSB), einen Takterzeugungsabschnitt 102 zum Erzeugen eines Taktsignals zum Erzielen einer Signalsynchronisation und einen Datenerzeugungsabschnitt 103 zum Erzeugen eines Signals, welches gültige Daten enthält, welche zu übertragen sind.
-
Weiter ist der Datenerzeugungsabschnitt 103 ausgebildet aus: einem Bestimmungscodeerzeugungsabschnitt 103J zum mehrmaligen Übertragen (K Mal) eines einen Kopfabschnitt von Übertragungsdaten angebenden vorbestimmten spezifischen Codemusters als einen Bestimmungscode; einen Startcodeerzeugungsabschnitt 103S zum zumindest einmaligen Übertragen (S Mal) eines Startcodes mit einem sich von dem Bestimmungscode unterscheidenden vorbestimmten spezifischen Codemuster anschließend an den Bestimmungscode; und einen gültige Datenerzeugungsabschnitt 103Y zum Übertragen von gültigen Daten anschließend an den Startcode.
-
Die Datenempfangsvorrichtung 200 ist ausgebildet aus: einem Signalniveauumwandlungsabschnitt 201 zum Umwandeln der Niveaus von einem durch den CSB Erzeugungsabschnitt 101 übertragenen gültigen Datensignal, einem durch den Takterzeugungsabschnitt 102 übertragenen Takt und durch den Datenerzeugungsabschnitt 103 übertragene Datensignale, der Datenübertragungsvorrichtung 100; einem Empfangspuffer 202 zum zeitweisen Halten von durch den Signalniveauumwandlungsabschnitt 201 umgewandelten Daten; einen Bestimmungscodedetektionsabschnitt 203 zum Detektieren eines einen Kopf von Daten angebenden Bestimmungscodes aus einem Signal von dem Empfangspuffer 202; ein Startcodedetektionsabstand 204 zum Detektieren eines die Startposition von gültigen Daten angebenden Startcodes; und einen gültige Datenhalteabschnitt 205 zum Halten von gültigen Daten.
-
Auf ein Detektieren des Bestimmungscodes für die Anzahl von Malen, welche geringer um zumindest eins (K – 1) als die Anzahl von Malen (K Malen) ist, welche der Bestimmungscode von dem Bestimmungscodeerzeugungsabschnitt 103J der Datenübertragungsvorrichtung 100 übertragen wurde, tritt der Bestimmungscodedetektionsabstand 203 in einen Standby-Zustand ein, bei welchem der Startcodedetektionsabstand 204 den Startcode detektiert. Wenn der Startcodedetektionsabstand 204 den Startcode für die Anzahl von Malen, welche gleich der Anzahl von Malen (S Malen) ist, welche der Startcodeerzeugungsabschnitt 103S der Datenübertragungsvorrichtung 100 den Startcode übertragen hat, detektiert hat, empfängt der gültige Datenhalteabschnitt 205 gültige Daten, welche nachfolgend dem Startcode übertragen sind und hält diese gültige Daten.
-
2 zeigt ein Zeitablaufsdiagramm eines Datenübertragungs/Empfangsverfahrens gemäß der ersten Ausführungsform. Bei dem dargestellten Beispiel wird angenommen, dass eine Kommunikation, bei welcher eine Periode, während welcher das gültige Datensignal (CSB = Chipauswahl) gleich „L“ ist, eine gültige Datenperiode ist, und Daten (SI), während der gültigen Datenperiode bei einer abfallenden Flanke eines Takts (SCLK) aufgenommen werden.
-
Nach dem Erniedrigen des gültigen Datensignals (CSB) überträgt die Datenübertragungsvorrichtung 100 als Daten einen spezifischen Bestimmungscode zumindest zweimal (K Mal), einen bestimmten Startcode zumindest einmal (S Mal), M Bits gültige Daten und N Bits Blinddaten und hebt nachfolgend das gültige Datensignal (CSB) an.
-
Auf Empfangen des bestimmten Bestimmungscodes nicht weniger als einmal und nicht mehr als (K – 1) mal, nachdem das gültige Datensignal (CSB) erniedrigt wurde, tritt die Datenempfangsvorrichtung 200 in einen Standby-Zustand zum Empfangen des bestimmten Startcodes ein und, nach Empfangen des bestimmten Startcodes S mal, empfängt diese die M-Bits gültige Daten. Die N-Bit Blinddaten werden ignoriert.
-
Da die Daten zu dem Zeitpunkt, wenn das gültige Datensignal (CSB) „H“ ist, nicht erfasst werden, werden die Daten zu dem Zeitpunkt, wenn das gültige Datensignal (CSB) „H“ ist, als ungültige Daten angesehen. Um zu verhindern, dass das gültige Datensignal (CSB) während einer Übertragung von gültigen Daten ansteigt, sind die N-Bit Blinddaten notwendig.
-
3 zeigt ein Flussdiagramm des Datenübertragungs/Empfangsverfahrens gemäß der ersten Ausführungsform. Die Figur zeigt einen Fall, bei welchem die Datenübertragungsvorrichtung 100 nacheinander den Bestimmungscode K mal überträgt, den Startcode S mal und M Bits von gültigen Daten und die Datenempfangsvorrichtung 200 die M Bits von gültigen Daten auf ein Detektieren des Startcodes S mal anschließend an die Detektion des Bestimmungscodes
(K – 1) mal empfängt.
-
In 3 wird in Schritt S301 eine Kommunikation bei einer abfallenden Flanke des gültigen Datensignals (CSB) gestartet. Als Nächstes fährt das Verfahren mit der Detektion des Bestimmungscodes in Schritt S302 fort und der nachfolgende Prozess wird bei der Detektion des Bestimmungscodes in S302 ausgeführt.
-
Zuerst wird in Schritt S311 eine Schleifenvariable initialisiert (i = 0). Als Nächstes wird in Schritt S312 bestimmt, ob eine Kommunikation beibehalten wird. Falls das gültige Datensignal (CSB) „L“ ist (Ja), fährt das Verfahren mit dem nächsten Schritt S313 fort. Falls das gültige Datensignal (CSB) nicht „L“ ist (Nein), endet das Verfahren.
-
Als Nächstes wird in Schritt S313 bestimmt, ob der Bestimmungscode detektiert wurde. Falls der Bestimmungscode detektiert wurde (ja), fährt das Verfahren mit dem nächsten Schritt S314 fort. Falls der Bestimmungscode nicht detektiert wurde (Nein), kehrt das Verfahren zu Schritt S311 zurück. Als Nächstes wird in Schritt S314 die Schleifenvariable um 1 erhöht (i = i + 1). Als Nächstes wird in Schritt S315 bestimmt, ob die Schleifenvariable (K – 1) ist. Falls die Schleifenvariable (K – 1) erreicht hat (Ja), fährt das Verfahren mit der Detektion des Startcodes fort, welches der nächste Schritt S303 ist. Falls die Schleifenvariable (K – 1) nicht erreicht hat (Nein), kehrt das Verfahren zu Schritt S312 zurück.
-
Als Nächstes wird der nachstehende Prozess bei der Detektion des Startcodes in Schritt S303 ausgeführt.
-
Zuerst wird in Schritt S321 die Schleifenvariable initialisiert (i = 0). Als Nächstes wird in Schritt S322 bestimmt, ob eine Kommunikation beibehalten wird. Falls das gültige Datensignal (CSB) „L“ ist (Ja), fährt das Verfahren mit Schritt S373 fort. Falls das gültige Datensignal (CSB) nicht „L“ ist (Nein), endet das Verfahren.
-
Als Nächstes wird in Schritt S323 bestimmt, ob der Startcode detektiert wurde. Falls der Startcode detektiert wurde (ja), fährt das Verfahren mit dem nächsten Schritt S324 fort. Falls der Startcode nicht detektiert wurde (Nein), kehrt das Verfahren zu Schritt S321 zurück. Als Nächstes wird in Schritt S324 die Schleifenvariable um 1 erhöht (i = i + 1).
-
Als Nächstes wird in Schritt S325 bestimmt, ob die Schleifenvariable S ist. Falls die Schleifenvariable S erreicht hat (Ja), fährt das Verfahren mit dem Empfangen von gültigen Daten fort, was der nächste Schritt S304 ist. Falls die Schleifenvariable S nicht erreicht hat (Nein), kehrt das Verfahren zu Schritt S322 zurück.
-
Als Nächstes wird der nachstehende Prozess bei dem empfangen von gültigen Daten in Schritt S304 ausgeführt.
-
Zuerst wird in Schritt S331 die Schleifenvariable initialisiert (i = 0). Als Nächstes wird in Schritt S332 bestimmt, ob eine Kommunikation beibehalten wird. Falls das gültige Datensignal (CSB) „L“ ist (Ja), fährt das Verfahren mit dem nächsten Schritt S333 fort. Falls das gültige Datensignal (CSB) nicht „L“ ist (Nein), endet das Verfahren.
-
Als Nächstes werden in Schritt S333 die gültigen Daten empfangen. Als Nächstes wird in Schritt S334 die Schleifenvariable um 1 erhöht (i = i + 1). Als Nächstes wird in Schritt S335 bestimmt, ob die Schleifenvariable M ist. Falls die Schleifenvariable M erreicht hat (Ja), fährt das Verfahren mit dem nächsten Schritt S305 fort. Falls die Schleifenvariable M nicht erreicht hat (Nein), kehrt das Verfahren zu Schritt S332 zurück.
-
Falls die Schleifenvariable M in Schritt S335 ist, werden die gültigen Daten in dem nächsten Schritt S305 normal empfangen und der normale Empfang endet bei dem Schritt S306.
-
Als Nächstes wird ein bestimmtes Beispiel des Datenübertragungs/Empfangsverfahrens gemäß der ersten Ausführungsform mit Bezug zu dem in 4 gezeigten Zeitablaufsdiagramm erläutert
-
In 4, wobei der Bestimmungscode, welcher als ein bestimmtes Codemuster dient, welches einen Kopfabschnitt von Übertragungsdaten angibt, als „01“ eingestellt ist, der Startcode als „110“ und die letzten Blinddaten als „0“ eingestellt sind, überträgt die Datenübertragungsvorrichtung 100 den Bestimmungscode dreimal (K = 3), den Startcode einmal (S = 1), 32 Bits gültige Daten (M = 32) und zwei Bits Blinddaten (N = 2).
-
Der durch die Datenübertragungsvorrichtung 100 übertragene Startcode ist nicht aus aufeinanderfolgenden Bits des Werts gebildet, welcher identisch zu dem Wert des letzten Bits des Bestimmungscodewerts ist, und enthält nicht dasselbe Bitmuster wie der Bestimmungsort.
-
Auf Empfangen des Bestimmungsprozess zweimal, tritt die Datenempfangsvorrichtung 200 in einen Standby-Zustand zum Empfangen des Startcodes ein und empfängt den Startcode einmal und empfängt nachfolgend die 32 Bit gültige Daten. Die zwei Bits Blinddaten werden ignoriert.
-
5 zeigt ein Zeitablaufsdiagramm für einen Fall, bei welchem eine Verzögerungsdifferenz zwischen dem gültigen Datensignal und Signalen der Daten und des Takts in einem bestimmten Beispiel der/des Datenübertragung/Empfangs aufgetreten ist, wie in 4 gezeigt.
-
Wie in 5 gezeigt, ist der Verzögerungsbetrag des gültigen Datensignals (CSB) groß und daher kann der erste Bestimmungscode erhalten werden. Allerdings kann der zweite und der dritte Bestimmungscode erhalten werden und somit kann der Bestimmungscode zweimal (K – 1) empfangen werden. Nachdem der Startcode einmal empfangen ist, können die 32 Bit gültige Daten empfangen werden.
-
Wie oben beschrieben fügt die Datenübertragungs/Empfangsvorrichtung und das Datenübertragungs/Empfangsverfahren gemäß der vorliegenden Erfindung einen bestimmten Bestimmungscode eine Vielzahl von Malen (K mal) und einen Startcode zumindest einmal (S mal) zu durch die Datenübertragungsvorrichtung 100 übertragenen Daten hinzu. Nach Detektieren des Bestimmungscodes (K – 1) Mal oder weniger tritt die Datenempfangsvorrichtung 200 in einen Standby-Zustand zum Empfangen des Startcodes ein und detektiert den Startcode S mal und empfängt nachfolgend die gültigen Daten. Dies ermöglicht es, dass Daten normal empfangen werden, selbst wenn der Bestimmungscode einmal aufgrund einer großen Differenz eines Verzögerungsbetrags zwischen dem durch die Datenempfangsvorrichtung 200 von der Datenübertragungsvorrichtung 100 empfangenen gültigen Datensignal und jeweils der Daten und dem Takt nicht möglich ist.
-
Obwohl eine Ausführungsform der vorliegenden Erfindung oben beschrieben wurde, ist die vorliegende Erfindung nicht auf die Ausführungsformen beschränkt und verschiedene Designänderungen können ausgeführt werden. Innerhalb des Schutzbereichs der vorliegenden Erfindung können solche Ausführungsformen frei miteinander kombiniert, modifiziert oder ausgelassen werden.
-
Verschiedene Modifikationen und Änderungen dieser Erfindung werden dem Fachmann deutlich werden, ohne von dem Schutzbereich und dem Geiste dieser Erfindung abzuweichen, und es versteht sich, dass diese nicht auf die hierin beschriebenen darstellenden Ausführungsformen beschränkt ist.
-
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
-
- JP 2012-124716 [0003]
- JP 124716 [0004]