Beschreibung
Verfahren zum Initialisieren oder Konfigurieren einer elektrischen Schaltung
Die vorliegende Erfindung betrifft ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 1, d.h. ein Verfahren zum Initialisieren oder Konfigurieren einer elektrischen Schaltung unter Verwendung von in einer Speichereinrichtung ge- speicherten Daten.
Elektrische Schaltungen sind vorzugsweise so aufgebaut, daß sie mit möglichst geringem Aufwand optimal an die jeweiligen Einsatzbedingungen anpaßbar sind. Die hierzu erforderliche Initialisierung oder Konfigurierung der betreffenden elektrischen Schaltung erfolgt beispielsweise dadurch, daß bestimmte Register oder Speicher der Schaltung mit vorbestimmten Daten beschrieben werden. Die in die betreffenden Register oder Speicher einzuschreibenden Daten sind dabei meistens in (vor- zugsweise nichtflüchtigen) Speichereinrichtungen gespeichert.
Um die zur Initialisierung oder Konfigurierung benötigten Daten aus der diese speichernden Speichereinrichtung auszulesen und in die entsprechenden Register oder Speicher der zu in- itialisierenden oder zu konfigurierenden elektrischen Schaltung zu schreiben, muß innerhalb oder außerhalb der elektrischen Schaltung eine mit dieser kooperierende oder diese steuernde programmgesteuerte Einheit wie beispielsweise ein Mikroprozessor oder Mikrocontroller vorgesehen werden. Diese programmgesteuerte Einheit liest die jeweils benötigten Daten aus der diese speichernden Speichereinrichtung aus und schreibt sie in die entsprechenden Register oder Speicher der zu initialisierenden oder zu konfigurierenden elektrischen Schaltung.
Bei komplexeren Initialisierungs- oder Konfigurations-Vorgängen kann in der Speichereinrichtung auch ein Initialisie-
rungs- oder Konfigurationsprogramm gespeichert sein, das von der programmgesteuerten Einheit ausgelesen und ausgeführt wird.
Auf diese Weise lassen sich beliebige elektrische Schaltungen individuell initialisieren und konfigurieren.
Eine wie beschrieben erfolgende Initialisierung oder Konfigurierung kann allerdings insbesondere wegen der Notwendigkeit des Vorhandenseins einer programmgesteuerten Einheit mit einem erheblichen Aufwand verbunden sein. Zwar sind i itiali- sierbare oder konfigurierbare Schaltungen häufig Bestandteil von programmgesteuerte Einheiten enthaltenden Systemen, doch ist dies nicht immer der Fall oder es besteht keine Verbin- düng zwischen der programmgesteuerten Einheit und der zu initialisierenden oder zu konfigurierenden elektrischen Schaltung.
Es ist zwar auch möglich, zu initialisierende oder zu konfi- gurierende elektrische Schaltungen ohne eine programmgesteuerte Einheit zu initialisieren, doch ist dies auf einfache und stets gleichbleibende Initialisierungen und Konfigurierungen beschränkt.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, das Verfahren gemäß dem Oberbegriff des Patentanspruchs 1 derart weiterzubilden, daß zu initialisierende oder zu konfigurierende elektrische Schaltungen unter allen Umständen mit minimalem Aufwand beliebig initialisiert oder konfigu- riert werden können.
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Patentanspruchs 1 beanspruchten Merkmale gelöst.
Demnach ist vorgesehen, daß von aus der Speichereinrichtung ausgelesenen Dateneinheiten jeweils in einem ersten Dateneinheits-Teil enthaltene Daten als Vorschrift für die Verwen-
düng von in einem zweiten Dateneinheits-Teil enthaltenen Daten verwendet werden.
Dadurch kann die Initialisierung oder Konfigurierung der zu initialisierenden oder zu konfigurierenden elektrischen
Schaltung ohne nennenswerten Aufwand, insbesondere ohne eine programmgesteuerte Einheit, durch diese selbst erfolgen. Die zu initialisierende oder zu konfigurierende elektrische Schaltung muß hierzu lediglich eine die Vorschrift extrahie- rende und ausführende Logik enthalten, und diese kann aufgrund der sehr begrenzten Anzahl und der geringen Komplexität der Vorschriften sehr einfach aufgebaut und betreibbar sein. Gegebenenfalls erforderliche Änderungen des Initialisierungsoder Konfigurierungsablaufes und/oder der dabei zu verwenden- den Daten können durch einen Austausch oder eine Umprogram- mierung der Speichereinrichtung erfolgen.
Durch das neuartige Verfahren können elektrische Schaltungen unter allen Umständen mit minimalem Aufwand wunschgemäß in- itialisiert oder konfiguriert werden.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen, der nachfolgenden Beschreibung und den Figuren zu entnehmen.
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels unter Bezugnahme auf die Figuren näher erläutert. Es zeigen
Figur 1 eine Anordnung mit einer wie nachfolgend beschrieben initialisierbaren oder konfigurierbaren elektrischen Schaltung,
Figur 2 das Format einer Dateneinheit, unter Verwendung wel- eher die elektrische Schaltung initialisiert oder konfiguriert wird, und
Figur 3 ein Initialisierungs-Steuerregister der elektrischen Schaltung.
Die elektrische Schaltung, die durch das nachfolgend näher beschriebene Verfahren initialisiert oder konfiguriert werden soll, ist im betrachteten Beispiel eine CAN (Controller-Area- Network) -Komponente . Es sei jedoch bereits an dieser Stelle darauf hingewiesen, daß hierauf keine Einschränkung besteht. Die zu initialisierende bzw. zu konfigurierende elektrische Schaltung kann auch eine beliebige andere elektrische Schaltung sein.
Die CAN-Komponente braucht im betrachteten Beispiel keine programmgesteuerte Einheit, d.h. keinen Mikroprozessor, Mi- krocontroller oder dergleichen aufzuweisen, und muß auch nicht mit einer sie steuernden programmgesteuerten Einheit verbunden sein; zur Durchführung des nachfolgend näher beschriebenen Verfahrens wird keine programmgesteuerte Einheit benötigt. Obgleich sich der Einsatz des nachfolgend näher beschriebenen Verfahrens bei derartigen elektrischen Schaltungen als besonders vorteilhaft erweist, besteht auch hierauf keine Einschränkung. D.h., die elektrische Schaltung kann auch eine programmgesteuerte Einheit enthalten oder mit einer programmgesteuerten Einheit verbunden sein. Eine vorhandene programmgesteuerte Einheit muß zwar nicht, kann aber zur Initialisierung oder Konfigurierung der CAN-Komponente (mit-) benutzt werden; der hierfür zu treibende Aufwand und die Belastung der programmgesteuerten Einheit sind dabei jedoch er- heblich geringer als wenn bisherige Verfahren zur Initialisierung oder Konfigurierung von elektrischen Schaltungen unter Verwendung von programmgesteuerten Einheiten ausgeführt werden.
Die Initialisierung oder Konfigurierung der zu initialisierenden oder zu konfigurierenden elektrischen Schaltung erfolgt im betrachteten Beispiel unter Verwendung von in einer
Speichereinrichtung gespeicherten Daten; die elektrische Schaltung liest in der Speichereinrichtung gespeicherte Daten aus und schreibt sie in vorgegebene interne Register oder sonstige Speicher der elektrischen Schaltung.
Die Speichereinrichtung ist im betrachteten Beispiel ein EEPROM. Es kann sich aber auch um eine beliebige andere nichtflüchtige oder flüchtige Speichereinrichtung wie beispielsweise ein ROM, einen Flash-Speicher, ein RAM etc. han- dein.
Die Speichereinrichtung ist im betrachteten Beispiel eine für serielle Datentransfers ausgelegte Speichereinrichtung (das als Speichereinrichtung verwendete EEPROM ist ein SPI-kompa- tibles EEPROM; der Zugriff auf dieses EEPROM erfolgt durch eine SSC-Einheit der CAN-Komponente) . Es kann sich aber auch um eine für parallele Datentransfers ausgelegte Speichereinrichtung handeln.
Die betrachtete Anordnung ist schematisch in Figur 1 dargestellt. Dabei sind die CAN-Komponente mit dem Bezugszeichen 1, das EEPROM mit dem Bezugszeichen 2, die serielle Datenübertragung ausgelegte Verbindung zwischen der CAN-Komponente 1 und dem EEPROM mit dem Bezugszeichen SIO, und das CAN mit dem Bezugszeichen CAN bezeichnet.
Wenn die CAN-Komponente 1 nach dem Einschalten oder im Ansprechen auf sonstige Ereignisse initialisiert oder (um-)- konfiguriert werden muß, beginnt sie, aus dem EEPROM 2 seri- eil Daten auszulesen.
Die aus dem EEPROM 2 ausgelesenen Daten werden in Einheiten ausgelesen und weiterverarbeitet, deren Format in Figur 2 dargestellt ist.
Wie aus der Figur 2 ersichtlich ist, besteht eine Dateneinheit aus mehreren Teilen, nämlich einem Adreß-Teil AD, einem Daten-Teil DATA, und einem Test-Teil CS.
Der Adreß-Teil AD umfaßt im betrachteten Beispiel zwei Bytes ADL und ADH und enthält
- Vorschriften für die Verwendung der im Daten-Teil DATA enthaltenen Daten (Bits 0 bis 7 von ADL und Bits 0 bis 3 von ADH) ; diese Vorschrift ist im betrachteten Beispiel eine
Ladevorschrift für das Laden der Register oder Speicher der zu initialisierenden oder zu konfigurierenden elektrischen Schaltung mit den dafür vorgesehenen Daten; sie besteht im betrachteten Beispiel aus der Adresse des Registers oder Speichers, in welches bzw. in welchen die im Daten-Teil
DATA enthaltenen Daten geschrieben werden sollen; zusätzlich oder alternativ könnte die Vorschrift aber beispielsweise auch einfache Verarbeitungen der im Daten-Teil DATA enthaltenen Daten umfassen,
- eine Angabe darüber, aus wie vielen Bytes der Daten-Teil DATA besteht (Bits 5 bis 7 von ADH) , und
- eine Angabe darüber, ob der Test-Teil CS vorhanden ist (Bit 4 von ADH) .
Der Daten-Teil DATA umfaßt im betrachteten Beispiel zwischen 1 und 4 Bytes; die darin gespeicherten Daten werden in das Register oder den Speicher geschrieben, der durch die im Adreß-Teil AD angegebene Adresse spezifiziert wird.
Der Test-Teil CS ist optional. Er besteht im betrachteten Beispiel aus 2 Bytes und enthält eine Check-Summe, anhand welcher bei der Datenübertragung aufgetretene Fehler in der betreffenden Dateneinheit erkennbar und gegebenenfalls korrigierbar sind.
Die CAN-Komponente 1 liest aus dem EEPROM 2 eine Dateneinheit nach der anderen aus, überprüft diese gegebenenfalls unter Verwendung des Test-Teils CS auf Richtigkeit, und schreibt die darin (die im Daten-Teil DATA) enthalten Konfigurations- daten in die internen Register oder Speicher, die im Adreß- Teil AD spezifiziert sind.
Die Decodierung der Adresse und das Einschreiben von Daten an die durch die Adresse spezifizierte Stelle innerhalb der CAN- Komponente 1 erfordert nur eine äußerst einfache Logik, die sich in zu initialisierende oder zu konfigurierende elektrische Schaltungen mit minimalem Aufwand problemlos integrieren läßt.
Dadurch ist es im Gegensatz zu bisher nicht mehr erforderlich, die Initialisierung oder Konfigurierung einer zu initialisierenden oder zu konfigurierenden elektrischen Schaltung unter Verwendung einer programmgesteuerten Einheit wie etwa eines Mikroprozessors oder Mikrocontrollers erfolgen zu lassen; die zu initialisierende oder zu konfigurierende elektrische Schaltung kann sich problemlos selbst initialisieren oder konfigurieren.
Falls eine Veränderung der Daten, mit denen die Register oder Speicher der elektrischen Schaltung zu belegen sind, und/oder der Reihenfolge, in der dies geschehen soll, erforderlich ist, muß lediglich das EEPROM 2 umprogrammiert oder ausgetauscht werden; an der zu initialisierenden oder zu konfigurierenden Schaltung sind keine Eingriffe erforderlich.
Eine wie beschrieben erfolgende Initialisierung oder Konfigurierung der CAN-Komponente 1 kann auch komplexere Vorgänge umfassen. Insbesondere in solchen Fällen erweist es sich als vorteilhaft, wenn die CAN-Komponente 1 über ein die Initiali- sierung oder Konfigurierung steuerndes Initialisierungs- Steuerregister verfügt. Ein Ausführungsbeispiel eines sol-
chen, vorzugsweise ebenfalls mit aus dem EEPROM ausgelesenen Daten beschreibbaren Registers ist in Figur 3 gezeigt.
Das Initialisierungs-Steuerregister besteht im betrachteten Beispiel aus vier Bytes (ICRBO, ICRBl, ICRB2, ICRB3) und enthält
- die Adresse, unter Verwendung welcher die die Konfigurationsdaten enthaltende Speichereinrichtung (im betrachteten Beispiel das EEPROM 2) zu adressieren ist (IRCBO und IRCB1) ,
- ein der Speichereinrichtung zu übermittelndes Instruktionswort (IRCB2), und
- verschiedene Steuerinformationen insbesondere zum Ablauf der Initialisierung oder Konfigurierung (IRCB3),
wobei die Steuerinformationen im betrachteten Beispiel vor- geben,
- ob die Initialisierungsphase zu beenden ist,
- ob die Initialisierung durch einen unter Verwendung der in IRCB0-IRCB2 enthaltenen Daten erfolgenden Zugriff auf die
Speichereinrichtung fortzusetzen ist, und
- ob die Register der SSC-Einheit (beispielsweise mit den Inhalten von ICRBO bis ICRB2) neu zu beschreiben sind.
Es dürfte einleuchten, daß das Initialisierungs-Steuerregister mannigfaltige weitere Informationen und Anweisungen für die Initialisierung oder die Konfigurierung enthalten kann. Da das Initialisierungs-Steuerregister durch die in der Speichereinrichtung gespeicherten Daten beschreibbar ist, kann der Ablauf der Initialisierung oder Konfigurierung ohne
Ausführung eines Programms, also denkbar einfach, aber dennoch vollkommen flexibel festgelegt werden.
Die vorstehend beschriebene Art der Initialisierung oder Kon- figurierung von elektrischen Schaltungen kann, wie vorstehend bereits erwähnt wurde, ohne Verwendung einer programmgesteuerten Einheit erfolgen; zur Durchführung genügt im allgemeinen eine vergleichsweise einfach aufgebaute Logik, beispielsweise eine sogenannte State machine. Dies gilt auch für kom- plexe und/oder sehr umfangreiche Initialisierungs- oder Konfigurierungsvorgänge. Dabei ist es sogar ohne größeren Aufwand möglich, den Ablauf der Initialisierung oder Konfigurierung von bestimmten Ereignissen oder Zuständen innerhalb oder außerhalb der zu initialisierenden oder zu konfigurierenden elektrischen Schaltung (beispielsweise vom Pegel eines der Schaltung zugeführten Signals) abhängig zu machen.
Unabhängig davon können - ohne eine spezielle Anpassung des Aufbaus und/oder des Betriebs der zu initialisierenden oder zu konfigurierenden elektrischen Schaltung oder sonstiger Systemkomponenten - beliebig große und/oder beliebig organisierte Speichereinrichtungen zum Speichern der zum Initialisieren oder Konfigurieren benötigten Daten zum Einsatz kommen. Gegebenenfalls zu beachtende Besonderheiten der verwen- deten Speichereinrichtung können durch zu Beginn der Initialisierung oder Konfigurierung und/oder durch vor dem Auftreten der Besonderheiten erfolgende Einträge in das Initialisierungs-Steuerregister berücksichtigt werden.
Im vorliegenden Fall, wo die zu initialisierende oder zu konfigurierende Schaltung eine Netzwerk-Komponente ist, kann vorgesehen werden, daß auf die vorstehend beschriebene Art und Weise "nur" die zur Inbetriebnahme notwendige Grundkonfiguration der elektrischen Schaltung vorgenommen wird, und daß die Netzwerk-Komponente im Anschluß daran über das Netzwerk (im betrachteten Beispiel: über das CAN) weiterkonfiguriert wird.
Auf die beschriebene Art und Weise können elektrische Schaltungen unter allen Umständen mit minimalem Aufwand optimal an die gegebenen Verhältnisse oder Bedürfnisse angepaßt werden.
Bezugszeichenliste:
1 CAN-Komponente 2 EEPROM
AD Adreß-Teil einer aus 2 ausgelesenen Dateneinheit
ADx Bytes von AD
CAN Controller Area Network
CS Test-Teil einer aus 2 ausgelesenen Dateneinheit
CSx Bytes von CS
DATA Daten-Teil einer aus 2 ausgelesenen Dateneinheit
DATAx Bytes von DATA
SIO Verbindung zwischen 1 und 2