-
Die
Erfindung betrifft ein Verfahren zum Betreiben eines an ein Bus-,
insbesondere LIN-Bus-System anschliessbaren System-Moduls gemäß Oberbegriff
des Anspruchs 1. Des weiteren betrifft die Erfindung ein Halbleiter-Bauelement,
insbesondere ein an ein Bus-, insbesondere LIN-Bus-System anschliessbares
Halbleiter-Bauelement.
-
In
elektrischen oder elektronischen Systemen kommunizieren einzelne
System-Module, z.B. verschiedene elektronische Baugruppen, verschiedene,
jeweils auf einer einzelnen Baugruppe angeordnete, elektronische
Bauelemente (z.B. verschiedene, auf einer einzelnen Baugruppe angeordnete Halbleiter-Bauelemente),
verschiedene, in ein- und demselbem Bauelement vorgesehene Bauelement-Sub-Komponenten
(insbesondere verschiedene Komponenten eines Halbleiter-Bauelements, z.B. eines
Speicher- und/oder Rechenschaltkreises, z.B. eines Mikrocontrollers
oder Mikroprozessors, usw.), etc. über ein – aus einer oder aus mehreren Übertragungs-Leitungen
bestehendes – Übertragungsmedium,
beispielsweise ein Bus-System.
-
Bus-Systeme
können
von mehreren, insbesondere von zwei oder mehr als zwei Modulen/Bauelementen/Komponenten
gemeinsam genutzt werden.
-
Viele
herkömmliche
Bus-Systeme bestehen aus mehreren Teilsystemen, beispielsweise aus
einem – aus
einer oder mehreren Datenleitungen bestehenden – Daten-Bus zur Übertragung
der eigentlichen Nutz-Daten, und/oder einem – aus einer oder mehreren Adressleitungen
bestehenden – Adress-Bus
zum Übertragen
von Adress-Daten, und/oder einem – aus einer oder mehreren Steuerleitungen
bestehenden – Steuer-Bus
zum Übertragen von
Steuer-Daten, etc.
-
Im
Vergleich hierzu ist ein sog. LIN-Bus-System wesentlich einfacher
aufgebaut (LIN = Local Interconnect Network). Ein LIN-Bus-System
besteht i.A. nur aus einer einzigen Übertragungsleitung, an welche
eine Vielzahl verschiedener Baugruppen/Bauelemente/Komponenten angeschlossen sein
können. Über die
LIN-Bus-Übertragungsleitung müssen also
sowohl Nutz- als auch Adress- und/oder Steuer-Daten übertragen
werden.
-
Die
an ein LIN-Bus-System angeschlossenen Baugruppen/Bauelemente/Komponenten
verfügen
in der Regel über
lediglich drei Eingänge;
einen Eingang für
die LIN-Bus-Übertragungsleitung,
und zwei Spannungs-Versorgungs-Eingänge.
-
LIN-Bus-Systeme
können
mit Datenraten von z.B. bis zu 20 Kbit/s betrieben werden; sie basieren
auf einer Master-/Slave-Architektur
mit einem einzigen Master, und einem oder mehreren Slaves.
-
Aufgrund
des relativ einfachen und kostengünstigen Aufbaus von LIN-Bus-Systemen
werden diese häufig
zur Steuerung verteilter elektrischer Systeme in zeit- und/oder
sicherheitsunkritischen Umgebungen eingesetzt, z.B. zur Steuerung
zeit- und/oder sicherheitsunkritischer Automotive-Anwendungen.
-
Mögliche Einsatzgebiete
sind z.B. die Mikrocontroller- bzw. Mikroprozessor-basierte Steuerung von
Gleichstrom- und Schrittmotoren für elektrische Fensterheber
und Außenspiegel,
die Einstellung des Abblendlichts, das Management von Sensor-Informationen zur
Steuerung der Klimaanlage oder der Sitzposition, etc., etc.
-
Herkömmliche
Mikrocontroller- bzw. Mikroprozessor-Systeme weisen eine oder mehrere
(zentrale) Steuer- bzw. Recheneinheiten auf (Central Processing
Units (CPUs), bzw. CPU „Cores"), die mit einer
oder mehreren Speicher-Einrichtungen
verbunden sind, z.B. einer Programm- und einer Datenspeichereinrichtung
(„Programmspeicher", und „Datenspeicher").
-
Die
Speichereinrichtungen können
auf ein- und demselben Chip vorgesehen sein, wie der entsprechende
Mikrocontroller bzw. Mikroprozessor (sog. „embedded" Mikrocontroller- bzw. Mikroprozessor-System),
oder alternativ auch separat hiervon.
-
Der „Programmspeicher" enthält insbesondere
die Folge der von dem bzw. den CPU Cores abzuarbeitenden Befehle,
also das Programm (und ggf. zusätzlich
entsprechende – von
dem bzw. den CPU Cores zu verwendende – Daten-Konstanten).
-
Im „Datenspeicher" können z.B.
die – insbesondere
von dem bzw. den CPU Cores beim Abarbeiten des Programms ggf. abzuändernden – Variablen gespeichert
sein.
-
Gemäß LIN-Bus-Protokoll
sind im Prinzip beliebige Kombinationen an Daten-Längen und
-Inhalten zugelassen; es sind keine protokollmäßig vor-definierten Kontroll-Worte
spezifiziert. Stattdessen müssen
entsprechende Kontroll-Worte – für jede Anwendung
individuell – festgelegt
werden.
-
Bei
herkömmlichen
LIN-Bus-Mikroprozessor-Systemen wird zunächst ein Grundprogramm in den
Programmspeicher geladen, und erst dann das Mikroprozessor-System
an das LIN-Bus-System angeschlossen.
-
Durch Übertragen
eines – dem
Grundprogramm „bekannten" (anwendungsspezifisch
ggf. jeweils unterschiedlichen) – speziellen Kontroll-Worts über die
LIN-Bus-Übertragungsleitung
kann der entsprechende Mikroprozessor von einem Normalbetriebsmodus
in einen Programmiermodus gebracht werden; erst dann kann das eigentliche
bzw. kundenspezifische Programm über
die LIN-Bus-Übertragungsleitung
an den Mikroprozessor übertragen,
und in dem o.g. Programmspeicher abgespeichert werden.
-
Nachteilig
ist aber u.a., dass vor dem Anschluss des Mikroprozessor-Systems
an das LIN-Bus-System erst das Grundprogramm in den Programmspeicher
geladen werden muss, damit der Mikroprozessor eine über die
LIN-Bus-Übertragungsleitung übertragene
Datensequenz als Kontroll-Wort zum
Wechsel in den Programmiermodus erkennen kann.
-
Die
Erfindung hat zur Aufgabe, ein neuartiges Verfahren zum Betreiben
eines an ein Bus-, insbesondere LIN-Bus-System anschliessbaren System-Moduls,
sowie ein neuartiges, an ein Bus-System anschliessbares Halbleiter-Bauelement
zur Verfügung
zu stellen.
-
Sie
erreicht dieses und weitere Ziele durch die Gegenstände der
Ansprüche
1 und 11.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Gemäß einem
ersten Aspekt der Erfindung wird ein Verfahren zum Betreiben eines
an ein Bus-, insbesondere LIN-Bus-System anschliessbaren System-Moduls
zur Verfügung
gestellt, welches die Schritte aufweist:
- – Aussenden
eines Datensatzes, und zugeordneter Prüfbits beim Betreiben des System-Moduls
in einem ersten Betriebsmodus;
dadurch gekennzeichnet, daß zum Betreiben
des System-Moduls in einem zweiten Betriebsmodus im Vergleich zum
ersten Betriebsmodus unterschiedlich gebildete Prüfbits verwendet
werden.
-
Vorteilhaft
kann der erste Betriebsmodus z.B. ein Normalbetriebsmodus sein,
und der zweite Betriebsmodus ein Programmierbetriebsmodus.
-
Bevorzugt
werden die im zweiten Betriebsmodus vom System-Modul empfangenen Daten als Programmierdaten
verwendet, insbesondere zum Laden und/oder Verändern und/oder Löschen eines Modul-Software-Programms,
und die im ersten Betriebsmodus vom System-Modul empfangenen Daten
als normale Nutz- bzw. Applikationsdaten.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Halbleiter-Bauelement, insbesondere ein
an ein Bus-, insbesondere LIN-Bus-System anschliessbares Halbleiter-Bauelement zur Verfügung gestellt,
welches eine Einrichtung aufweist zum Ermitteln, ob empfangene Prüfbits im
Vergleich zu in einem ersten Betriebsmodus verwendeten Prüfbits unterschiedlich
gebildet sind.
-
Vorteilhaft
kann die Ermittlungs-Einrichtung ein ROM aufweisen.
-
Besonders
bevorzugt ist das ROM ein Start-ROM des Halbleiter-Bauelements.
-
Im
folgenden wird die Erfindung anhand eines Ausführungsbeispiels und der beigefügten Zeichnung
näher erläutert. In
der Zeichnung zeigt:
-
1 eine
schematische, beispielhafte Darstellung eines Abschnitts eines LIN-Bus-Systems, und
daran angeschlossener, gemäß einem
Ausführungsbeispiel
der Erfindung miteinander kommunizierender System-Module;
-
2a eine
schematische, beispielhafte Darstellung von gemäß dem Stand der Technik über das
in 1 gezeigte LIN-Bus-System übertragenen Daten;
und
-
2b eine
schematische, beispielhafte Darstellung von beim Ausführungsbeispiel
der Erfindung als Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehl über das
in 1 gezeigte LIN-Bus-System übertragenen Daten.
-
In 1 ist
eine schematische, beispielhafte Darstellung eines Abschnitts eines
Bus-Systems 1, und daran angeschlossener, gemäß einem
Ausführungsbeispiel
der Erfindung über
das Bus-System 1 miteinander kommunizierender System-Module 2, 3, 4, 5 gezeigt.
-
Bei
dem Bus-System 1 kann es sich im Prinzip um ein beliebiges
Bus-System 1 handeln, über welches
die System-Module 2, 3, 4, 5 – z.B. verschiedene
elektronische Baugruppen, verschiedene, jeweils auf einer einzelnen
Baugruppe angeordnete, elektronische Bauelemente (z.B. verschiedene,
auf einer einzelnen Baugruppe angeordnete Halbleiter-Bauelemente),
verschiedene, in ein- und demselbem Bauelement vorgesehene Bauelement-Sub-Komponenten
(insbesondere verschiedene Komponenten eines Halbleiter-Bauelements, z.B. eines
Speicher- und/oder Rechenschaltkreises, z.B. eines Mikrocontrollers
oder Mikroprozessors, usw.), etc. – miteinander kommunizieren
können.
-
Besonders
vorteilhaft kann als Bus-System 1 ein LIN-Bus-System (LIN = Local
Interconnect Network) verwendet werden.
-
Das
Bus-System 1 kann einen – aus einer oder mehreren Datenleitungen
bestehenden – Daten-Bus
zur Übertragung
der eigentlichen Nutz-Daten aufweisen, und/oder einen – aus einer
oder mehreren Adressleitungen bestehenden – Adress-Bus zum Übertragen
von Adress-Daten, und/oder einen – aus einer oder mehreren Steuerleitungen
bestehenden – Steuer-Bus
zum Übertragen
von Steuer-Daten, etc., besonders vorteilhaft – z.B. dann, wenn als Bus-System
ein LIN-Bus-System verwendet wird, und wie in 1 gezeigt
ist – lediglich
eine einzige Übertragungsleitung 1a,
an welche als System-Module 2, 3, 4, 5 eine
Vielzahl verschiedener Baugruppen/Bauelemente/Komponenten angeschlossen sein
können.
-
Weist
das Bus-System 1 – wie
das in 1 gezeigte LIN-Bus-System 1 – lediglich eine einzige Übertragungsleitung 1a auf,
müssen über diese
sowohl Nutz- als auch Adress- und/oder Steuer-Daten übertragen
werden.
-
Die
an das LIN-Bus-System 1 angeschlossenen System-Module 2, 3, 4, 5 können z.B.
jeweils über
(lediglich) drei Eingänge
verfügen,
z.B. jeweils einen Eingang 2a, 3a, 4a, 5a für die LIN-Bus-Übertragungsleitung 1a,
und zwei Spannungs-Versorgungs-Eingänge (die
z.B. mit einer Versorgungs-Spannungs-Leitung,
und einer Masse-Leitung (nicht dargestellt) verbunden sein können).
-
Das
LIN-Bus-System 1 kann – entsprechend der
LIN-Bus-Spezifikation – z.B. mit
Datenraten von z.B. bis zu 20 Kbit/s, etc. betrieben werden.
-
Das
LIN-Bus-System 1 basiert auf einer Master-/Slave-Architektur, genauer:
auf einer Single-Master-/Slave-Architektur,
wobei jeweils nur ein einziges der an das LIN-Bus-System 1 angeschlossenen
System-Module (z.B. das System-Modul 5, oder
das System-Modul 2 (oder ein beliebiges anderes System-Modul))
als Master, und die übrigen
an das LIN-Bus-System 1 angeschlossenen
System-Module als Slave fungieren.
-
Das
in 1 gezeigte Bus-System 1, und die daran
angeschlossenen System-Module 2, 3, 4, 5 können vorteilhaft
zur Steuerung verteilter elektrischer Systeme in zeit- und/oder sicherheitsunkritischen
Umgebungen eingesetzt werden, z.B. zur Steuerung zeit- und/oder
sicherheitsunkritischer Automotive-Anwendungen (z.B. zur Steuerung
von Gleichstrom- und/oder Schrittmotoren für elektrische Fensterheber
und Außenspiegel,
die Einstellung des Abblendlichts, das Management von Sensor-Informationen
zur Steuerung der Klimaanlage und/oder der Sitzposition, etc., etc.).
-
Die
an das in 1 gezeigte LIN-Bus-System 1 angeschlossenen
System-Module 2, 3, 4, 5 können – insbesondere
z.B. bei der Verwendung als Slave-System-Modul – z.B. entsprechende LIN-Bus-Transceiver,
und/oder entsprechende Spannungsregulierungs-Einrichtungen, und/oder
entsprechende Aktuator-Steuerungs-Einrichtungen, und/oder entsprechenden
Sensor-Schnittstellen, und/oder entsprechende Speicher-Einrichtungen, und/oder
entsprechende Mikrocontroller- bzw. Mikroprozessor-Systeme, etc.,
etc. aufweisen.
-
Beispielsweise
weist das in 1 gezeigte System-Modul 2 (und/oder
das System-Modul 3, und/oder das System-Modul 4,
etc.) – ggf.
zusätzlich zu
einem LIN-Bus-Transceiver, und/oder einer Spannungsregulierungs-Einrichtung,
usw., usw. – ein
Mikrocontroller- bzw. Mikroprozessor-System 9 mit einer
oder mehreren (zentralen) Steuer- bzw. Recheneinheiten 8 auf
(Central Processing Unit 8 (CPU), bzw. CPU „Core"), die mit einer
oder mehreren Speicher-Einrichtungen verbunden sind, z.B, einer
Programmspeichereinrichtung 7, und einer Datenspeichereinrichtung 6.
-
Die
Programm- und die Datenspeichereinrichtung 6, 7 können beim
vorliegenden Ausführungsbeispiel
z.B. auf ein- und demselben Chip vorgesehen sein, wie der entsprechende
Mikrocontroller bzw. Mikroprozessor (bzw. die CPU 8) (sog. „embedded" Mikrocontroller-
bzw. Mikroprozessor-System), oder alternativ auch separat hiervon.
-
Die
Programmspeichereinrichtung 7 enthält insbesondere die Folge der
von der bzw. den CPUs 8 abzuarbeitenden Befehle, also das
Programm (und ggf. zusätzlich
entsprechende – von
der bzw. den CPUs 8 zu verwendende – Daten-Konstanten) (d.h. sog.
Programmdaten).
-
Demgegenüber können in
der Datenspeichereinrichtung 6 z.B. die – insbesondere
von der bzw. den CPUs 8 beim Abarbeiten des Programms ggf.
abzuändernden – Variablen
gespeichert sein (bzw. entsprechende Applikationsdaten).
-
Die
Datenspeichereinrichtung 6 kann z.B. von einem oder mehreren
RAMs (RAM = Random Access Memory bzw. Schreib-Lese-Speicher), insbesondere
z.B. DRAMs (DRAM = Dynamic Random Access Memory), oder SRAMs (SRAM
= Static Random Access Memory) gebildet werden.
-
Als
Programmspeichereinrichtung 7 kann z.B. ein entsprechendes,
nicht-flüchtiges
Speicherbauelement verwendet werden, z.B. ein EPROM (Erasable PROM
bzw. Löschbarer
Festwertspeicher) oder EEPROM (Electrically Erasable PROM bzw. Elektrisch
Löschbarer
Festwertspeicher), insbesondere z.B. ein Flash-EEPROM.
-
Alternativ
kann als Programmspeichereinrichtung 7 z.B. auch ein RAM
eingesetzt werden, insbesondere z.B. ein DRAM.
-
Bei
herkömmlichen
LIN-Bus-Mikroprozessor-Systemen muss – vor dem Anschluss eines entsprechenden
System-Moduls (z.B. des System-Moduls 2) an das LIN-Bus-System 1 – zunächst ein Grundprogramm
in die Programmspeichereinrichtung eines entsprechenden Mikrocontroller-Systems (z.B.
in die Programmspeichereinrichtung 7 des Mikrocontroller-Systems 9)
geladen werden; erst dann kann das entsprechende System-Modul bzw.
Mikroprozessor-System an das LIN-Bus-System 1 angeschlossen
werden.
-
Wie
im folgenden noch genauer erläutert wird,
ist dies beim vorliegenden Ausführungsbeispiel nicht
zwingend der Fall; mit anderen Worten kann also z.B. das Mikroprozessor-System 9 bzw.
das System-Modul 2 (und/oder ein oder mehrere weitere System-Module 3, 4, 5)
an das LIN-Bus-System 1 angeschlossen werden, ohne dass
ein Programm, insbesondere Grundprogramm in die Programmspeichereinrichtung 7 des
entsprechenden Mikrocontroller-Systems 9 geladen ist (und – alternativ – beliebig wählbar auch
mit in die Programmspeichereinrichtung 7 geladenem Programm,
insbesondere Grundprogramm).
-
Um – nach dem
Anschluss des Mikroprozessor-Systems 9 bzw. des System-Moduls 2 an
das LIN-Bus-System 1 – über das
LIN-Bus-System 1 ein Programm,
insbesondere Grundprogramm in die Programmspeichereinrichtung 7 des
Mikroprozessor-Systems 9 zu laden, und/oder ein dort abgespeichertes
Programm, insbesondere Grundprogramm abzuändern, etc., wird das Mikroprozessor-System 9 bzw.
des System-Modul 2 – auf
die im folgenden genauer erläuterte,
spezielle Art und Weise – von
einem Arbeits- bzw. Normalbetriebsmodus in einen Programmiermodus
gebracht.
-
In 2a ist
eine schematische, beispielhafte Darstellung von – während des
Normalbetriebsmodus – gemäß dem Stand
der Technik gemäß LIN-Bus-Protokoll über das
in 1 gezeigte LIN-Bus-System 1 übertragenen
Daten gezeigt.
-
Wie
aus 2a hervorgeht, können – nachdem zu Beginn einer zwischen
dem Master, und einem der Slaves durchgeführten Übertragung ggf. entsprechende
in entsprechenden, hier nicht dargestellten Header-Daten-Blöcken enthaltene
Header-Daten übertragen
worden sind (hier nicht dargestellt) – die eigentlichen, zu übertragenden
Nutz- bzw. Applikations-Daten enthaltende Nutz-Daten-Blöcke 21, 22 über die Übertragungsleitung 1a des LIN-Bus-Systems 1 vom
Master an den jeweiligen Slave (oder umgekehrt) übertragen werden (z.B. nacheinander
jeweils ein Byte an Nutz-Daten enthaltende Nutz-Daten-Blöcke 21, 22,
etc. z.B. vom System-Modul 5 and das System-Modul 2).
-
Die
in den Nutz-Daten-Blöcken 21, 22 enthaltenen
Nutz- bzw. Applikations-Daten können
z.B. auf herkömmliche
Weise unter Steuerung des auf der Programmspeichereinrichtung 7 abgespeicherten Programms
durch die CPU 8 entsprechend verarbeitet, und/oder (vorher
und/oder nachher) auf der Datenspeichereinrichtung 6 abgespeichert
werden, usw.
-
Gemäß LIN-Bus-Protokoll
können
am Ende einer zwischen dem Master, und dem jeweiligen Slave durchgeführten Übertragung
(bzw. am Ende eines entsprechenden Übertragungs-Abschnitts) ein
oder mehrere Prüfbits
versendet werden, z.B. in einem vom Master an den jeweiligen Slave
(oder umgekehrt) übertragenen,
die zu übertragenden
Prüfbits enthaltenden
Prüfsummen-Block 23 (welcher
z.B. ein Byte an Prüfbits
enthalten kann).
-
Die
Prüfbits
können
z.B. vom jeweils sendenden Master bzw. Slave aus der Quersumme bzw. dem
Gewicht (d.h. der Anzahl der jeweiligen Einsen) der jeweils übertragenen
Nutz- und/oder Header-Daten-Blöcke
errechnet werden. Beispielsweise kann – falls ein Nutz-Daten-Block 21, 22 eine
ungerade Anzahl an Einsen enthält – als Prüfbit eine
Null verwendet werden, und – falls
ein Nutz-Daten-Block eine gerade Anzahl an Einsen enthält – als Prüfbit eine
Eins (mit anderen Worten können
als Prüfbits
also z.B. sog. Paritätsbits
verwendet werden).
-
In 2b ist
eine schematische, beispielhafte Darstellung von beim Ausführungsbeispiel
der Erfindung als Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehl über das
in 1 gezeigte LIN-Bus-System übertragenen Daten gezeigt.
-
Wie
aus 2b hervorgeht, werden – nachdem zu Beginn einer zwischen
dem Master (z.B. dem System-Modul 5), und einem der Slaves
(z.B. dem System-Modul 2) durchgeführten Übertragung ggf. entsprechende
in entsprechenden, hier nicht dargestellten Header-Daten-Blöcken enthaltene
Header-Daten übertragen
worden sind (hier nicht dargestellt) – entsprechend ähnlich wie
herkömmlich
z.B. entsprechende Nutz- bzw.
Applikations-Daten, bzw. vorteilhaft entsprechende Programmierdaten
enthaltende – den
in 2a gezeigten Nutz-Daten-Blöcken 21, 22 entsprechende – Daten-Blöcke 21', 22' über die Übertragungsleitung 1a des
LIN-Bus-Systems 1 vom Master an den jeweiligen Slave (oder
umgekehrt) übertragen
(bzw. entsprechende „Pseudo"-Nutz-Daten-Blöcke 21', 22' mit nicht zur
Verwendung als Nutz- bzw. Applikations-Daten bestimmten, sondern
als (erster) Teil eines „Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehls", bzw. insbesondere
als Programmierdaten verwendeten „Pseudo"-Nutz- bzw. „Pseudo"-Applikations-Daten).
-
Wie
bereits oben unter Bezug auf 2a erläutert, können gemäß LIN-Bus-Protokoll
am Ende einer zwischen dem Master, und dem jeweiligen Slave durchgeführten Übertragung
(bzw. am Ende eines entsprechenden Übertragungs-Abschnitts) ein
oder mehrere Prüfbits
versendet werden, z.B. in einem vom Master an den jeweiligen Slave
(oder umgekehrt) übertragenen,
die zu übertragenden
Prüfbits enthaltenden
Prüfsummen-Block 23' (welcher z.B. ein
Byte an Prüfbits
enthalten kann).
-
Zur Übertragung
eines „Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehls" gemäß dem vorliegenden
Ausführungsbeispiel werden – wie in 2b veranschaulicht
ist – nicht z.B.
entsprechend wie oben erläutert
errechnete bzw. gebildete Prüfbits
versendet, sondern auf vorbestimmte, andersartige Weise errechnete
bzw. gebildete Prüfbits
(d.h. – insgesamt – ein auf
vorbestimmte, andersartige Weise errechneter bzw. gebildeter, bzw.
ein bewusst modifizierter Prüfsummen-Block 23').
-
Beispielsweise
kann (als weiterer Teil eines „Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehls") – statt
einem auf herkömmliche
bzw. die oben erläuterte
Weise errechneten bzw. gebildeten Prüfsummen-Block 23 ein
im Vergleich zu diesem inverser Prüfsummen-Block 23' verwendet werden.
-
Zur
Errechnung der in dem – inversen – Prüfsummen-Block 23' enthaltenen
Prüfbits
kann z.B. zunächst
entsprechend wie oben beschrieben z.B. vom jeweils sendenden Master
bzw. Slave die Quersumme bzw. das Gewicht der jeweils übertragenen (Pseudo-)Nutz- bzw. Programmier-
und/oder (Pseudo-)Header-Daten-Blöcke gebildet
werden (bzw. es können
entsprechende Paritätsbits
berechnet werden); als nächsten
werden – anders
als oben beschrieben – die
jeweils ermittelten Bits invertiert, und anschließend als
zu übertragende
Prüfbits
verwendet.
-
Beispielsweise
kann – falls
ein (Pseudo-)Nutz- bzw. Programmier- bzw. (Pseudo-)Header-Daten-Daten-Block. 21', 22' eine ungerade
Anzahl an Einsen enthält – als Prüfbit statt
einer Null eine Eins verwendet werden, und – falls ein (Pseudo-)Nutz-
bzw. Programmier- bzw. (Pseudo-)Header-Daten-Block 21', 22' eine gerade Anzahl an Einsen enthält – als Prüfbit statt
einer Eins eine Null verwendet werden (mit anderen Worten können als
Prüfbits
also z.B. entsprechend invertierte Paritätsbits verwendet werden, sodass – wie in 2a und 2b gezeigt
ist – statt
einem Prüfsummen-Block 23 mit
z.B. den Bits „11010010" ein hierzu inverser Prüfsummen-Block 23' mit z.B. den
Bits „00101101" über die Übertragungsleitung 1a des
LIN-Bus-Systems 1 vom Master an den Slave (oder umgekehrt) übertragen
wird).
-
Alternativ
oder zusätzlich
kann zur Ermittlung der in einem bewusst modifizierten Prüfsummen-Block 23' enthaltenen
Binärzahl
zu der in einem auf herkömmliche
Weise gebildeten Prüfsummen-Block
enthaltenen (z.B. eine bestimmte Prüfsumme darstellenden) Binärzahl ein
vorbestimmter Offset-Wert (z.B. „00001111", etc.) dazuaddiert werden, etc., etc.
(sodass statt einem – z.B.
eine entsprechende Prüfsumme
enthaltendem – Prüfsummen-Block 23 mit
z.B. den Bits „11010010" ein Prüfsummen-Block 23' mit z.B. den
Bits „1100001" über die Übertragungsleitung 1a des
LIN-Bus-Systems 1 vom Master an den Slave (oder umgekehrt) übertragen
wird).
-
Vorteilhaft
sollte ein bewusst modifizierter Prüfsummen-Block 23' eine gleich
oder ähnlich
gute Prüfabdeckung
bzw. Prüfqualität gewährleisten,
wie ein auf herkömmliche
Weise gebildeter Prüfsummen-Block 23.
-
Zusätzlich sollten
auf herkömmliche
Weise gebildete, und entsprechende, zugehörige, bewusst modifizierte
Prüfsummen-Blöcke 23, 23' jeweils möglichst
weit voneinander distanzierte (insbesondere eine möglichst
große
Hamming-Distanz
aufweisende) Binärzahlen
enthalten.
-
Insbesondere
dann, wenn in der Programmspeichereinrichtung 7 des Mikrocontroller-Systems 9 bzw.
des System-Moduls 2 noch kein Programm, insbesondere Grundprogramm
abgespeichert ist, wird unter Steuerung eines – in einem Start-ROM 10 des Mikrocontroller-Systems 9 bzw.
des System-Moduls 2 fest abgespeicherten – Programms
ermittelt, ob über
das LIN-Bus-System 1 entsprechend
wie oben erläutert
ein „Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehl" übertragen worden ist (d.h. – wie in 2b dargestellt – entsprechende
Daten-Blöcke 21', 22', gefolgt von
einem auf vorbestimmte Weise bewusst modifizierten, z.B. inversen Prüfsummen-Block 23'). Bei bereits
vorhandenem, auf der Programmspeichereinrichtung 7 abgespeicherten
(Grund-)Programm
kann diese Funktion alternativ auch von dem auf der Programmspeichereinrichtung 7 abgespeicherten
Programm übernommen werden.
-
Wird – gesteuert
durch das auf dem Start-ROM 10 (bzw. alternativ: auf der
Programmspeichereinrichtung 7) abgespeicherte Programm – ermittelt,
dass über
das LIN-Bus-System 1 ein
Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehl („Change Mode Signal") übertragen
worden ist (d.h. – wie
in 2b dargestellt – entsprechende Daten-Blöcke 21', 22', gefolgt von
einem auf vorbestimmte Weise bewusst modifizierten, z.B. inversen
Prüfsummen-Block 23'), wird das
System-Modul 2, insbesondere das Mikrocontroller-System 9 vom
Normalbetriebsmodus in den Programmiermodus gebracht.
-
Nach
(bzw. unmittelbar vor) dem bewusst modifizierten, z.B. inversen
Prüfsummen-Block 23' übertragene
Daten (insbesondere die in den Daten-Blöcken 21', 22' enthaltenen, dem Prüfsummen-Block 23' zugeordneten
Daten) werden vom System-Modul 2,
insbesondere dem Mikrocontroller-System 9 nicht mehr als
gewöhnliche
Nutz- bzw. Applikationsdaten angesehen, sondern als Programmierdaten
(die in entsprechenden Daten-Blöcken enthaltenen
(z.B. entsprechend wie in 2a bzw. 2b gezeigt über das
LIN-Bus-System 1 übertragenen)
Daten sind somit durch den auf die o.g. Weise bewusst modifizierten,
z.B. inversen Prüfsummen-Block 23' eindeutig als
Programmierdaten gekennzeichnet).
-
Alternativ
können
sämtliche
von dem – auf die
o.g. Weise – in
den Programmiermodus gebrachten System-Modul 2 empfangene,
für dieses
bestimmte Daten im Programmiermodus als Programmierdaten angesehen
bzw. interpretiert werden.
-
Die über das
LIN-Bus-System 1 übertragenen,
an das System-Modul 2 gerichteten
Daten können
dann LIN-Bus-Spezifikationskonform (alternativ jedoch z.B. stets
einem auf modifizierte Weise gebildeten Prüfsummen-Block 23' zugeordnet)
sein, allerdings kann diesen Daten jeweils eine andere Bedeutung
zugewiesen sein, als den entsprechenden Daten im LIN-Bus-Protokoll, bzw. im
Normalbetriebsmodus (z.B. eine „Change Mode Back"-Funktion (s.u.)).
-
Die
auf die o.g. Weise über
das LIN-Bus-System 1 übertragenen,
jeweils eindeutig als Programmierdaten gekennzeichneten (bzw. alternativ
im Programmiermodus wie erläutert
als solche interpretierten) Daten können in der Programmspeichereinrichtung 7 des
System-Moduls 2 bzw. des Mikrocontroller-Systems 9 abgespeichert
werden, d.h. z.B. dazu verwendet werden, nach dem Anschluss des
System-Moduls 2 bzw. des Mikrocontroller-Systems 9 an
das LIN-Bus-System 1 (erstmalig) ein Grundprogramm in die
Programmspeichereinrichtung 7 des System-Moduls 2 bzw.
des Mikrocontroller-Systems 9 zu laden, und/oder ein dort
vorhandenes Grundprogramm abzuändern,
und/oder das eigentliche bzw. kundenspezifische Programm in die Programmspeichereinrichtung 7 des
System-Moduls 2 bzw. des Mikrocontroller-Systems 9 zu
laden, und/oder ein entsprechendes kundenspezifisches Programm entsprechend
abzuändern,
etc.
-
Um
das System-Modul 2, insbesondere das Mikrocontroller-System 9 (zurück) vom
Programmiermodus in den Normalbetriebsmodus zu bringen, kann – statt
dem in 2b gezeigten – auf die
o.g. Weise bewusst modifizierten, z.B. inversen Prüfsummen-Block 23' erneut ein – herkömmlicher,
in 2a gezeigter – (nicht-invertierter)
Prüfsummen-Block 23 verwendet
werden (wodurch die über
das LIN-Bus-System 1 übertragenen
Daten eindeutig als gewöhnliche
Nutz- bzw. Applikationsdaten gekennzeichnet werden können).
-
Vorteilhaft
werden, um das Mikrocontroller-System 9 (zurück) vom
Programmiermodus in den Normalbetriebsmodus zu bringen stattdessen LIN-Bus-Spezifikations-konforme
Daten ausgesendet (ggf. zusammen mit einem entsprechenden z.B. inversen Prüfsummen-Block 23'), wobei diesen
Daten im Programmiermodus (nicht jedoch im Normalbetriebsmodus)
die Bedeutung eines Programmierbetriebs-/Normalbetriebs-Modus-(Rück-)Wechsel-Befehl („Change
Mode Back Signal")
zugewiesen ist.
-
Herkömmliche,
den o.g. Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Befehl („Change
Mode Signal") (und
den o.g. Programmierbetriebs-/Normalbetriebs-Modus-(Rück-)Wechsel-Befehl („Change
Mode Back Signal"))
nicht unterstützende
(LIN-Bus-)System-Module (insbesondere kein entsprechendes Start-ROM 10 bzw.
kein auf die o.g. Weise arbeitendes Normalbetriebs-/Programmierbetriebs-Modus-Wechsel-Steuer-Programm aufweisende
System-Module) können
auf übliche
Weise (zusätzlich)
an das LIN-Bus-System 1 angeschlossen, und betrieben werden
(können
jedoch nicht auf die o.g., spezielle Weise von einem Normalbetriebs-Modus
in einen Programmierbetriebs-Modus gebracht werden, und ignorieren
ein entsprechendes auf dem LIN-Bus-System 1 übertragenes „Change Mode
Signal" bzw. „Change
Mode Back Signal").
-
- 1
- LIN-Bus-System
- 1a
- Übertragungsleitung
- 2
- System-Modul
- 2a
- LIN-Bus-Eingang
- 3
- System-Modul
- 3a
- LIN-Bus-Eingang
- 4
- System-Modul
- 4a
- LIN-Bus-Eingang
- 5
- System-Modul
- 5a
- LIN-Bus-Eingang
- 6
- Datenspeichereinrichtung
- 7
- Programmspeichereinrichtung
- 8
- CPU
- 9
- Mikrocontroller-System
- 10
- Start-ROM
- 21
- Nutz-Daten-Block
- 21'
- Programmier-Daten-Block
- 22
- Nutz-Daten-Block
- 22'
- Programmier-Daten-Block
- 23
- Prüfsummen-Block
- 23'
- inverser
Prüfsummen-Block