-
Eine serielle Hochgeschwindigkeitsschnittstelle (high speed serial link, HSSL), wie sie in der
DE 10 2013 004 542 A1 beschrieben ist, ermöglicht es, einen Mikrocontroller und eine Gegenstelle, wie beispielsweise einen anderen Mikrocontroller oder einen weniger leistungsfähigen Baustein wie einen ASIC (applicant specific integrated circuit), mit wenigen Leitungen zu verbinden und trotzdem eine hohe Datenrate zu erzielen.
-
Diese Schnittstelle ist als bidirektionale Punkt-zu-Punkt-Verbindung konzipiert, wobei beide Teilnehmer jederzeit Nachrichten senden können. Jede Nachricht wird mit einem Bestätigungssignal – einem sog. „Acknowledqe“-Signal – oder einem Nicht-Bestätigungssignal – einem sog. „Not-Acknowledge“-Signal – quittiert. Es kann auf verschiedenen priorisierbaren logischen Kanälen gesendet werden. Längere Nachrichten werden in mehrere Nachrichtenpakete aufgeteilt. Dadurch ist es möglich, längere niederpriore Nachrichten zu unterbrechen und höherpriore Nachrichten einzubetten. Durch die logischen Kanäle ist es auch möglich, die „Acknowledqe“- und „Not-Acknowledge"-Signale einer Nachricht zuzuordnen. Das Protokoll erlaubt die Übertragung einer Adresse, so dass vom Sender direkt in Speicherbereiche des Empfängers geschrieben werden kann. Das elektrische Protokoll erlaubt außerdem, die Ausgänge eines einzelnen Busteilnehmers hochohmig zu schalten.
-
Durch die lediglich vorgesehene Punkt-zu-Punkt-Verbindung kann nur eine Gegenstelle – in Motorsteuergeräten typischerweise ein anwenderspezifischer Baustein (ASIC) – mit dem Mikrocontroller kommunizieren. Dies ist nicht immer von praktischem Nutzen, es wäre aus Gründen der Systempartitionierung vorteilhaft, auch mehrere ASICs an dieser Schnittstelle betreiben zu können. Die Schwierigkeit liegt hierbei jedoch in der Tatsache, dass die Mikrocontroller bereits verfügbar sind und die Schnittstellenspezifikation nicht geändert werden kann.
-
Es ist daher die Aufgabe der Erfindung, einen integrierten Schaltkreis (ASIC) und ein Verfahren anzugeben, mit denen ein Betrieb mehrerer Gegenstellen mit einem Mikrocontroller mit einer solchen Hochgeschwindigkeitsschnittstelle an einem Bus möglich ist.
-
Die Aufgabe wird gelöst durch einen integrierten Baustein nach Anspruch 1 und ein Verfahren nach Anspruch 3. Vorteilhafte Weiterbildungen sind in den Unteransprüchen ausgeführt.
-
Demnach ist der integrierte Schaltkreis mit zumindest einem Sende- und zumindest einem Empfangsanschluss sowie zumindest einem Adressanschluss gebildet und weist einen Speicher oder einen Speicherbereich auf, der eine Anzahl von Speicherabschnitten aufweist, in die eine Aktivierungsinformation eingeschrieben werden kann. Die Anzahl der Speicherabschnitte ist gleich der durch den zumindest einen Adressanschluss codierbaren Anzahl an an einem gemeinsamen Bus betreibbaren, aktivierbaren integrierten Schaltkreisen. Der integrierte Schaltkreis ist außerdem mit einer Steuereinheit gebildet, die eingerichtet ist, die durch den zumindest einen Adressanschluss kodierte Adresse mit einer am Empfangsanschluss empfangenen Adresse zu vergleichen und im Falle der Übereinstimmung ein definiertes Bitmuster in den der Adresse zugeordneten Speicherabschnitt zu schreiben und im Falle der Nicht-Übereinstimmung ein Nicht-Bestätigungs-Signal am Sendeanschluss zu unterdrücken. Der integrierte Schaltkreis ist eingerichtet, durch das definierte Bitmuster in dem Speicherabschnitt, der der an dem zumindest einen Adressanschluss definierten Adresse korrespondiert, zur Kommunikation mit einem mit dem zumindest einen Sende- und zumindest einen Empfangsanschluss über den gemeinsamen Bus verbundenen Mikroprozessor aktiviert zu werden.
-
Bei dem erfindungsgemäßen Verfahren zur Aktivierung eines integrierten Schaltkreises aus einer Gruppe von zumindest zwei über einen Bus mit einer Mastereinheit verbundenen integrierten Schaltkreisen zur Kommunikation mit der Mastereinheit, wobei der Bus zumindest eine von der Mastereinheit zu den integrierten Schaltkreisen führende Sende- und eine von den integrierten Schaltkreisen zu der Mastereinheit führende Empfangsleitung umfasst und die integrierten Schaltkreise gemäß Anspruch 1 ausgebildet sind, werden folgende Schritte durchgeführt:
die Mastereinheit sendet an die am Bus angeschlossenen integrierten Schaltkreise ein Signal, das einen Befehl zum Schreiben eines definierten Bitmusters in den Speicherabschnitt enthält, der der an dem zumindest einen Adressanschluss codierten Adresse des für eine Kommunikation ausgewählten integrierten Schaltkreises korrespondiert,
in jedem integrierten Schaltkreis wird die übersandte Speicherabschnittadresse mit der an dem zumindest einen Adressanschluss codierten Adresse verglichen und das definierte Bitmuster nur in den entsprechenden Speicherabschnitt geschrieben und ein Bestätigungs-Signal an die Mastereinheit gesendet, wenn eine Übereinstimmung festgestellt wird,
bei einer Feststellung der Nicht-Übereinstimmung wird kein Nicht-Bestätigungs-Signal von den betroffenen, am Bus angeschlossenen integrierten Schaltkreisen an die Mastereinheit gesendet, und bis zum Empfang eines neuen Befehls zum Schreiben in einen der Speicherabschnitte erfolgt keine weitere Reaktion auf Signale von der Mastereinheit.
-
Die Logik der an den Bus anzuschließenden integrierten Schaltkreise wird also dergestalt implementiert, dass der Mikrocontroller jederzeit eine spezifikationskonforme Punkt-zu-Punkt Verbindung sieht. Trotzdem ist es dem Mikrocontroller möglich, mit allen an dem Bus angeschlossenen integrierten Schaltkreisen zu kommunizieren, indem er durch die Übergabe eines „Tokens“, nämlich des definierten Bitmusters in den passenden Speicherabschnitt, nur den integrierten Schaltkreis zur Kommunikation aktiviert, der zur Kommunikation vorgesehen ist.
-
Da die serielle Hochgeschwindigkeitsschnittstelle in existierenden Mikrocontrollern festliegt und nicht zu ändern ist, werden in erfindungsgemäßer Weise die anderen Busteilnehmer, nämlich die integrierten Schaltkreise (ASICs) so entworfen, dass deren Logik einen Bus-Betrieb dieser seriellen Hochgeschwindigkeitsschnittstelle ermöglicht.
-
Die elektrische Spezifikation und das Protokoll der in den kommerziell erhältlichen Mikrocontrollern realisierten seriellen Hochgeschwindigkeitsschnittstellen verbieten das gleichzeitige Senden mehrerer Busteilnehmer. Im hier beschriebenen System dient der Mikrocontroller als Arbitrierungsmaster der einzelnen integrierten Schaltkreise. Er erteilt bzw. entzieht die Sendeerlaubnis. Dazu teilt er jeweils einem anderen Busteilnehmer bzw. integrierten Schaltkreis (ASIC) die Sendeberechtigung – den sog. Token – zu. Hierzu ist ein integrierter Schaltkreis gemäß Anspruch 1 ausgebildet. Der integrierte Schaltkreis mit Token schaltet seine Sendeausgänge und Empfangseingänge aktiv. Bei allen anderen integrierten Schaltkreisen sind die Sendeausgänge hochohmig und die Empfangseingänge empfangen zwar jede Nachricht, dies führt jedoch zu keiner Reaktion. Es können prinzipiell beliebig viele Busteilnehmer angeschlossen werden.
-
Um einen integrierten Schaltkreis auszuwählen, ist in jedem integrierten Schaltkreis ein spezieller Speicherabschnitt der – sog. Token-Speicherabschnitt – zur Aktivierung/Deaktivierung des integrierten Schaltkreises vorgesehen. In diesem Speicherabschnitt legt der Mikrocontroller den sog. Token in Form eines definierten Bitmusters, das auch aus nur einem Bit bestehen kann, ab. Es ist zusätzlich möglich, weitere kommunikationsspezifische Parameter im Token-Speicherabschnitt abzulegen. Der integrierte Schaltkreis mit Token ist aktiv und alle anderen integrierten Schaltkreise sind passiv.
-
Die Basisadresse des Token-Speicherabschnitts wird durch Adresspins am integrierten Schaltkreis festgelegt. Der integrierte Schaltkreis liest diese durch die Spannungen an den Adresspins festgelegte Bitkombination nach einem RESET ein und legt damit seine Basisadresse fest. Der Mikrocontroller kennt die Basisadressen aller integrierten Schaltkreise.
-
Normalerweise würde ein integrierter Schaltkreis auf einen Schreibversuch auf eine nichtvorhandene Adresse mit einem Nicht-Bestätigungssignal antworten und störte damit die Tokenvergabe eines solchen Systems.
-
Allen integrierten Schaltkreisen ist deshalb jeder mögliche Token-Speicherabschnitt bekannt, indem ein Speicher oder Speicherbereich im integrierten Schaltkreis für jede mögliche Bitkombination an den Adressanschlüssen einen zugeordneten Speicherabschnitt aufweist. Wird nun in den der Basisadresse, die durch die Bitkombination an den Adressanschlüssen definiert ist, zugehörigen Token-Speicherabschnitt geschrieben, antwortet der integrierte Schaltkreis mit einem Bestätigungssignal. Wird in einen anderen Token-Speicherabschnitt geschrieben, antwortet der integrierte Schaltkreis nicht. Durch dieses Verhalten kann – falls kein integrierter Schaltkreis den Token bereits besitzt – einem integrierten Schaltkreis der Token zugeteilt werden, ohne dass die anderen integrierten Schaltkreise diese Vergabe durch Senden von Nicht-Bestätigungssignalen stören.
-
Der Mikrocontroller kann auf diese Weise durch einfache Schreibzugriffe auf den der Basisadresse eines integrierten Schaltkreises zugeordneten Speicherabschnitt den Token zuteilen.
-
In einer Weiterbildung der Erfindung erfolgt vor der Aktivierung eines anderen der mit dem gemeinsamen Bus verbundenen integrierten Schaltkreise zunächst eine Deaktivierung des zuvor aktivierten integrierten Schaltkreises durch ein von der Mastereinheit an den aktivierten integrierten Schaltkreis gesendetes Signal, das eine Änderung des Inhalts des mit dem definierten Bitmuster beschriebenen Speicherabschnitts bewirkt. Auf diese Weise wird einem integrierten Schaltkreis der Token wieder entzogen.
-
Dies kann beispielsweise erfolgen, indem eine Invertierung des Speicherabschnittinhalts oder dessen Löschung erfolgt.
-
Die Erfindung soll nachfolgend anhand von Ausführungsbeispielen mit Hilfe von Figuren näher beschrieben werden. Dabei zeigen
-
1 eine Punkt-zu-Punkt-Verbindung eines Mikrocontrollers mit einem integrierten Schaltkreis nach dem Stand der Technik,
-
2 eine Anordnung mit drei erfindungsgemäßen integrierten Schaltkreisen an einem mit einem Mikrocontroller verbundenen Bus,
-
3 eine Anordnung mit zwei erfindungsgemäßen integrierten Schaltkreisen an einem mit einem Mikrocontroller verbundenen Bus,
-
4 eine Prinzipdarstellung eines Speicherbereichs mit Speicherabschnitten,
-
5 einen Speicherabschnitt mit und ohne Token,
-
6 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zur Tokenvergabe und
-
7 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zum Tokenentzug und zur Tokenneuvergabe.
-
1 zeigt eine Punkt-zu-Punkt-Verbindung zwischen einem Mikrocontroller μC und einem integrierten Schaltkreis ASIC mittels lediglich dreier Leitungen. Dabei sind ein Sendeanschluss Tx_μC mit einem Empfangsanschluss Rx_ASIC, ein Empfangsanschluss Rx_μC mit einem Sendeanschluss Tx_ASIC und ein jeweiliger Taktsignalanschluss CLK des Mikrocontrollers μC und des integrierten Schaltkreises ASIC miteinander verbunden. Die dargestellte Verbindung soll als serielle Hochgeschwindigkeitsschnittstelle beispielsweise gemäß der
DE 10 2013 004 542 A1 – wie oben beschrieben – realisiert sein, d. h. der integrierte Schaltkreis ASIC quittiert jedes vom Mikrocontroller μC empfangene Signal durch die Bestätigung eines korrekten Empfangs ACK oder durch ein Nichtbestätigungssignal NACK, falls die Übertragung fehlerhaft war oder eine im integrierten Schaltkreis ASIC nicht existente Adresse vom Mikrocontroller μC adressiert wurde.
-
Aus diesem Grund ist es nicht möglich, an dieser bekannten Schnittstelle weitere integrierte Schaltkreise anzuschließen, da bei der Adressierung eines integrierten Schaltkreises durch den Mikrocontroller μC alle anderen an der Schnittstelle angeschlossenen integrierten Schaltkreise, die diese Adresse zwangsläufig nicht haben können, mit einem Nichtbestätigungssignal NACK quittieren und auf diese Weise die Signalübertragung stören würden.
-
Wünschenswert ist eine Anordnung gemäß 2, bei der an einem Mikrocontroller μC über eine oben beschriebene serielle Hochgeschwindigkeitsschnittstelle mehrere daran angeschlossene integrierte Schaltkreise ASIC1, ASIC2, ASIC3 angeschlossen werden können, ohne eine Kommunikation zwischen dem Mikrocontroller μC und einem der integrierten Schaltkreise ASIC1–ASIC3 zu stören, obwohl das standardgemäße Protokoll angewandt wird und auch die Schnittstelle im Mikrocontroller μC standardgemäß ausgeführt ist. Dies ist wünschenswert, da beispielsweise bei Anwendungen im Steuergerät eines Kraftfahrzeuges unterschiedliche Lasten wie beispielsweise ein Magnetinjektor INJ, eine Leuchte LEU oder ein Motor MOT mittels der Ausgänge der integrierten Schaltkreise in ASIC1–ASIC3 angesteuert werden können sollen, wobei die integrierten Schaltkreise ASIC1–ASIC3 selbst durch den Mikrocontroller μC an nur einem Bus betrieben werden können sollen.
-
In erfindungsgemäßer Weise sind die integrierten Schaltkreise ASIC1–ASIC3 zunächst mit Adressanschlüssen ADDR0, ADDR1 ausgestattet, die auf bestimmte Potentiale gelegt werden können, um auf diese Weise durch eine jeweils unterschiedliche Bitkombination die integrierten Schaltkreise ASIC1–ASIC3 adressieren zu können. Im dargestellten Beispiel der 2 sind lediglich zwei Adressanschlüsse ADDR0, ADDR1 vorhanden, so dass insgesamt 4 Bitkombinationen realisierbar sind und somit maximal 4 integrierte Schaltkreise an der dargestellten Schnittstelle angeschlossen werden können. Je nachdem, wie viele integrierte Schaltkreise an einer solchen Schnittstelle betrieben werden sollen, müssen entsprechend viele Adressanschlüsse vorgesehen werden.
-
Der weitere innere Aufbau der integrierten Schaltkreise und das Verfahren zum Aktivieren eines jeweiligen integrierten Schaltkreis zur Kommunikation mit dem Mikrocontroller soll am Beispiel von nur einem Adressanschluss und damit der Möglichkeit der Adressierung von lediglich zwei integrierten Schaltkreisen mit Hilfe der 3–5 näher erläutert werden.
-
In 3 ist hierzu äquivalent zur Darstellung der 2 die Verbindung eines Mikrocontrollers μc über eine bereits beschriebene serielle Hochleistungsschnittstelle mit zwei integrierten Schaltkreisen ASIC1‘ und ASIC2‘ dargestellt, die in diesem Fall lediglich einen Adressanschluss ADDR aufweisen sollen, die mit unterschiedlichen Spannungspegeln beaufschlagt sind, um deren Basisadressen mit „log. 0“ und „log. 1“ darzustellen.
-
Beide integrierten Schaltkreise ASIC1‘ und ASIC2‘ weisen neben ihren Adressanschlüssen ADDR einen Speicher bzw. Speicherbereich auf, der für jede mögliche Adresse – im dargestellten Beispiel also für zwei mögliche Adressen einen Speicherabschnitt I, II aufweist, deren physikalische Adressen dem Mikrocontroller μC bekannt sind, und in die er eine definierte Bitkombination, die auch aus nur einem Bit bestehen kann, als Token einschreiben kann.
-
Im dargestellten Beispiel soll ein erster Speicherabschnitt I der Basisadresse „log. 0“ und ein zweiter Speicherabschnitt II der Basisadresse „log. 1“ zugeordnet sein. Wenn der Mikrocontroller μC beispielsweise den ersten integrierten Schaltkreis ASIC1‘ aktivieren möchte, sendet er über die Sendeleitung einen Schreibbefehl an die Basisadresse BA1, die von beiden integrierten Schaltkreisen ASIC1‘, ASIC2‘ empfangen wird und mit der Basisadresse an ihrem Adressanschluss ADDR verglichen wird. Nur der erste integrierte Schaltkreis ASIC1‘ stellt eine Übereinstimmung fest und lässt den Schreibvorgang in seinen ersten Speicherabschnitt an der Adresse BA1 zu, in die nun der Token eingetragen wird. Er sendet außerdem ein Bestätigungssignal an dem Mikrocontroller μC.
-
Der zweite integrierte Schaltkreis ASIC2‘ überprüft ebenfalls die übertragene Basisadresse mit derjenigen an seinem Adressanschluss ADDR und stellt eine Nichtübereinstimmung fest. In erfindungsgemäßer Weise wird er in diesem Fall jedoch kein Nichtbestätigungssignal an den Mikrocontroller μC senden, und auf diese Weise den Informationsfluss zwischen dem Mikrocontroller μC und dem ersten integrierten Schaltkreis ASIC1‘ stören, sondern seinen Sendeausgang hochohmig schalten und im Folgenden lediglich den Datenverkehr an seinem Empfangseingang überwachen. Wie in der 4 dargestellt ist, kann ein Speicherabschnitt nicht nur aus einer ersten Adresse bestehen, an die der Token geschrieben werden kann, sondern weitere Adressen für weitere Informationen enthalten.
-
In der 4 ist im oberen Teil ein Speicherabschnitt dargestellt, in der ein Token in Form einer Bitkombination von 8 hexadezimalen Fünfen eingetragen ist, während im unteren Teil diese hexadezimalen Fünfen invertiert sind und entsprechend ein hexadezimales A eingetragen ist. Dies würde bedeuten, dass der Token wieder entzogen wurde und ggf. einem anderen integrierten Schaltkreis zugeteilt wurde. Beim Tokenentzug kann beispielsweise auch eine Löschung des Inhalts an der dem Token zugeordneten Speicheradresse im Speicherabschnitt erfolgen.
-
Der Vorgang der Tokenvergabe durch den Mikroprozessor μc soll mit Hilfe der 6 anhand eines Ablaufdiagramms verdeutlicht werden. So soll in einem Schritt 10 zunächst das System zurückgesetzt werden. Anschließend wird in einem Schritt 20 das System initialisiert. In einem Schritt 30 teilt der Mikrocontroller μC beispielsweise den ersten integrierten Schaltkreis ASIC1‘ den Token zu, indem, wie bereits beschrieben wurde, an die dem Mikrocontroller μC bekannte Basisadresse BA1 des ersten integrierten Schaltkreises ASIC1‘ ein definiertes Bitmuster, beispielsweise gemäß der 5, eingeschrieben wird. In einem Schritt 40 überprüfen die an der seriellen Hochgeschwindigkeitsschnittstelle angeordneten integrierten Schaltkreise, ob die angesprochene Basisadresse mit ihrer am Adresseingang ADDR eingestellten Adresse übereinstimmt, wobei bei einer Übereinstimmung und einem erfolgreichen Tokeneintrag in dem Speicherabschnitt der erste integrierte Schaltkreis ASIC1‘ mit einem Bestätigungssignal ACK antwortet. Als Folge davon ist er aktiviert und kann in einem Schritt 50 die Kommunikation mit dem Mikrocontroller µC aufnehmen. Dies erfolgt solange, bis dem ersten integrierten Schaltkreis ASIC1‘ der Token wieder entzogen wird. Für den Fall, dass der Schreibvorgang misslungen ist, wird von dem Schritt 40 wieder auf den Schritt 20 zurückgesprungen und die Tokenvergabe erneut durchgeführt.
-
In der 7 ist dargestellt, wie der Token wieder entzogen wird. In einem Schritt 100 soll der erste integrierte Schaltkreis ASIC1‘ wie zuvor im Schritt 50 der 6 standardgemäß mit dem Mikrocontroller μC kommunizieren. In einem Schritt 200 soll der Token dem ersten integrierten Schaltkreis ASIC1‘ wieder entzogen werden, wozu in einem Schritt 300 die entsprechende Information vom Mikrocontroller μC an den ersten integrierten Schaltkreis ASIC1‘ gesendet wird. In einem Schritt 400 überprüft der erste integrierte Schaltkreis ASIC1‘, ob der Schreibvorgang in den den Token enthaltenen Speicherabschnitt beispielsweise durch Invertieren der den Token darstellenden definierten Bitkombination erfolgreich war und antwortet bei einem positiven Überprüfungsergebnis mit einem Bestätigungssignal ACK an den Mikrocontroller μC. Für den Fall, dass der Schreibvorgang misslungen ist, erfolgt ein Sprung zurück zum Schritt 100.
-
Nach dem Schritt 400 ist zunächst keiner der an die serielle Hochgeschwindigkeitsschnittstelle angeschlossenen integrierten Schaltkreise aktiv, so dass einerseits ein neuer Token vergeben werden kann, allerdings auch muss. Mit dem Schritt 500 erfolgt diese neue Tokenvergabe, wobei in einem Schritt 600 nunmehr der Mikrocontroller μC einen Schreibbefehl an die Basisadresse der zweiten integrierten Schaltkreises ASIC2‘ sendet, was von beiden integrierten Schaltkreisen ASIC1‘, ASIC2‘ überprüft wird, wobei nur der zweite integrierte Schaltkreis ASIC2‘ eine Übereinstimmung feststellen kann und bei positiver Überprüfung mit einem Bestätigungssignal ACK an den Mikrocontroller antwortet, falls der Schreibvorgang des Tokens gelungen ist.
-
Sollte der Schreibvorgang misslungen sein, wird entsprechend der 6 zum Schritt 600 zurückgesprungen. Anschließend findet in einem Schritt 800 durch die Aktivierung des zweiten integrierten Schaltkreises ASIC2‘ eine standardgemäße Kommunikation des Mikrocontrollers μC mit dem zweiten integrierten Schaltkreis ASIC2‘ statt, bis diesem ggf. der Token wieder entzogen wird, um erneut den ersten integrierten Schaltkreis ASIC1‘ zu aktivieren.
-
Bei der beschriebenen erfindungsgemäßen Auslegung der ASICs kann der Multi-ASIC-Betrieb in Software realisiert werden. Es werden keinerlei zusätzliche Hardwareressourcen (z. B. Chip Select Signale) benötigt, die Kosten sind somit minimal. Das eigentliche HSSL/ZIPWIRE Protokoll bleibt unverändert, es wird lediglich der Speicherbereich mit den Tokenspeicherabschnitten eingeführt. Dadurch ist diese Realisierung zu allen existierenden und künftigen Mikrocontrollern kompatibel.
-
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
-
- DE 102013004542 A1 [0001, 0026]