-
Die
Erfindung betrifft eine Vorrichtung zur Ansteuerung von Peripherieelementen,
insbesondere bei einer Motorsteuerung in einem Fahrzeug, mit einem
Prozessorbaustein, welcher eine vorgegebene Anzahl an Auswahlschnittstellen
aufweist gemäß den Oberbegriffen
der unabhängigen
Ansprüche.
-
Der
Artikel „EPROM
Decoder for device selection" von
K. J. Whiteley aus der Fachzeitschrift „Electronic Engineering", volume 58, No.
714, Seite 36 von Juni 1986 beschreibt Mikroprozessorsysteme, welche
häufig
wenigstens ein Bauteil einsetzen bzw. ansteuern, welche eine Bausteinauswahllogik
benötigen,
um dieses Bauteil anzusprechen. Üblicherweise
werden dabei eine Anzahl TTL-Bausteine hart verdrahtet, um die Auswahlfunktion
darzustellen. In dem genannten Artikel wird die Selektion bzw. Ansteuerung
einzelner Peripheriebausteine durch ein EPROM realisiert. Ist die
Anzahl der Auswahlausgänge
des EPROMs gegenüber
der Anzahl der anzusteuernden Peripheriebausteine zu gering, wird
mit Hilfe eines Decodierbausteins, hier ein 4:16-Decoder, welcher zwischengeschaltet
ist, eine Aufweitung der Auswahlmöglichkeiten erzielt, indem
die Signale einer Anzahl Auswahlausgänge zur Adresskodierung eingesetzt
werden und der Dekoder diese Kodierung zur Bausteinauswahl auflöst. Durch
Einsatz des Decoders können
somit mehr als die durch die Anzahl der Auswahlausgänge bei
direkter Verdrahtung maximal mögliche
Anzahl von Peripheriebausteinen über
das EPROM ausgewählt
bzw. angesteuert werden. Die Erhöhung
der Anzahl der Selektierleitungen kann also durch Decoderbausteine
bzw. Decodierschaltungen erreicht werden. Dabei werden die Eingänge des
Decoderbausteins mit den Auswahlschnittstellen des Prozessorbausteins
verbunden; die Ausgänge
des Decoders entsprechend mit den Peripheriebausteinen. Da entsprechend
einer Wahrheitstabelle eine Bit-Kombination bzw. Kodierung für den Decoder
auch den Zustand „kein
am Decoder angeschlossener Peripheriebaustein ist angesprochen" abdecken muss (typisch:
alle Eingänge
sind high bei select low Betrieb) kann ein Ausgang des Decoders
nicht als Selektierleitung genutzt werden. Damit ist nachteiligerweise
die Maximalanzahl der Teilnehmer um eins verringert.
-
Der
Aufbau einer solchen Adressendecodierung mit TTL-Bausteinen ist ebenfalls in dem Fachbuch „PC-gesteuerte
Messtechnik" von
Klaus Dembowsky von 1993 dargestellt, welches im Markt&Technik Buch- und
Softwareverlag GmbH & Co.
unter der ISBN-Nummer 3-87791-516-7 erschienen ist. Auf den Seiten
58 bis 65 wird dabei der Aufbau von Decodierschaltungen, für welche
logische Bausteine eingesetzt werden, dargestellt.
-
Darin
ist dargestellt, dass aus Kostengesichtspunkten die Decodierung
aus einzelnen TTL-Bausteinen für
einen festen Adressbereich, also eine feste Anzahl von Peripheriebausteinen
aufgebaut sein sollte, wobei hier bei notwendigen Änderungen
der Adressen bzw. der Anzahl der Peripherieelemente keine Flexibilität vorhanden
ist. Soll diesbezüglich
Flexibilität
erzielt werden, können
entweder TTL-Bausteine in Verbindung mit Vergleicherbausteinen verwendet
werden oder PAL (Programmable Array Logic) – Bausteine, was aber dann die
Kosten erhöht.
-
Dazu
zeigt die
EP 0733976
A1 eine Chipauswahl-Vorrichtung, welche ein enable-Signal
in Abhängigkeit
von Adress-Signalen von einem Adressbus verbindbar ist. Durch einen
der Array Logik-Anordnung nachgeschalteten Decoderbaustein kann
dann die Anzahl der Chip-Auswahlleitungen erhöht werden.
-
Des
Weiteren zeigt die
DE
196 11 942 A1 einen Halbleiterschaltkreis für ein elektronisches
Steuergerät
mit einer Auswahllogik für
verschiedene Baugruppen.
-
Die
US 4670748 zeigt einen programmierbaren
chip select decoder, welcher höher
integriert ist, als der Chip selbst, wodurch höhere Verarbeitungsgeschwindigkeiten
erzielt werden können.
-
Weiterhin
zeigt die
EP 0757316
A1 eine Auswahleinheit für externe Anordnungen bei einem
Prozessor. Dabei ist ein Register vorgesehen, durch welches eine
höhere
Flexibilität
beim Anspruch der externen Anordnungen erlaubt.
-
Der
Artikel „Method
for Address Decode for I/0 Devices" (IBM Technical Disclosure Bulletin
Januar 1989, Seiten 202–203)
schließlich
zeigt einen Mechanismus zur Adressendecodierung für Adapterkarten über I/0-Anordnungen,
bei dem eine programable Array Logik (PAL) eingesetzt wird sowie
verschiedene Logik-Decoder.
-
Aus
dem gezeigten Stand der Technik zeigt sich, dass eine Erhöhung der
Flexibilität
in der Regel auch mit einer Erhöhung
der Kosten verbunden ist.
-
Um
die dargestellte Situation im Spannungsfeld zwischen Flexibilität und Kostensenkung
zu optimieren, soll auf kostenintensive fest verdrahtete Logikbausteine
verzichtet werden.
-
Vorteile der
Erfindung
-
Die
Aufgabe wird durch die Merkmale des Patentanspruchs 1 gelöst. Dazu
ist eine Vorrichtung zur Ansteuerung von Peripherieelementen gezeigt,
insbesondere bei einer Motorsteuerung in einem Kraftfahrzeug mit
einem Prozessorbaustein, welcher eine vorgegebene Anzahl an Auswahlschnittstellen
aufweist, wodurch die jeweils anzusteuernden Peripherieelemente
bzw. Peripheriebausteine auswählbar
sind, wobei durch die vorgegebene Anzahl an Auswahlschnittstellen
eine maximale Anzahl an Peripherieelementen auswählbar ist. Vorteilhafterweise
ist dabei ein Coprozessor in der Vorrichtung enthalten und bei einem
Vorhandensein bzw. einer Erhöhung
der Anzahl der Peripherieelemente über die durch die Anzahl der
Auswahlausgänge
bzw. Auswahlschnittstellen vorgegebene maximale Anzahl der Peripherieelemente
hinaus, wird die Auswahl bzw. Ansteuerung der Peripherieelemente
durch den Prozessor des Prozessorbausteins und den Coprozessor vorgenommen.
-
Dabei
wird vorteilhafter Weise der Prozessorbaustein mit Auswahlschnittstellen über die
Eingangsschnittstellen des Coprozessors angekoppelt, wobei über die Ausgangsschnittstellen
des Coprozessors Peripherieelemente angesteuert bzw. ausgewählt werden.
-
Dabei
ist von Vorteil, dass durch die Verwendung eines Coprozessors anstelle
fest verdrahteter Logik insbesondere in Form von TTL-Bausteinen
ein Kosteneinsparpotential realisiert werden kann. Dies fällt um so höher aus,
wenn der Coprozessor zweckmäßiger Weise
im Prozessorbaustein selbst integriert ist und bereits zur Unterstützung der
Prozessorleistung zur Verfügung
steht. Dabei fungieren die entsprechenden Ausgangsschnittstellen
des Coprozessors dann ebenfalls als Auswahlschnittstellen, wodurch
vorteilhafter Weise eine größere Anzahl
von Peripherieelementen angesprochen bzw. ausgewählt werden kann.
-
Weiterhin
von Vorteil ist, dass durch die Realisierung einer einfachen Zuordnung
der Coprozessor Ein- und Ausgänge
durch den Coprozessor die Coprozessorleistung und damit die Gesamtprozessleistung
kaum beeinträchtigt
wird, da der Aufwand zur Bildung der Auswahlsignale aus den Coprozessoreingangssignalen sehr
gering ist.
-
Vorteilhafter
Weise wird eine Vorrichtung zur Ansteuerung von Peripherieelementen,
insbesondere bei einer Motorsteuerung in einem Kraftfahrzeug, mit
einem Prozessorbaustein, welcher eine vorgegebene erste Anzahl an
Auswahlschnittstellen aufweist offenbart, welches dadurch gekennzeichnet
ist, dass ein Coprozessor mit Eingangsschnittstellen und Ausgangsschnittstellen
enthalten ist und bei einer zweiten Anzahl der Peripherieelemente
die größer ist
als die erste Anzahl der Auswahlschnittstellen, eine vorgebbare
dritte Anzahl der Auswahlschnittstellen mit der gleichen dritten
Anzahl von Eingangsschnittstellen des Coprozessors verbunden sind
und eine vorgebbare vierte Anzahl von Peripherieelementen über die
entsprechende vierte Anzahl der Ausgangsschnittstellen des Coprozessors
angesteuert wird.
-
Weitere
Vorteile und vorteilhafte Ausgestaltungen der Erfindung ergeben
sich aus der Beschreibung und den Ansprüchen.
-
Zeichnung
-
Nachfolgend
wird die Erfindung anhand der 1 näher erläutert.
-
1 stellt dabei einen Prozessorbaustein
mit Coprozessor und damit anzusteuernden Peripherieelementen dar.
-
Beschreibung
der Ausführungsbeispiele
-
In
einem elektronischen Steuergerät
entsprechend der Erfindung (z. B. ein Motorsteuergerät, ein Getriebesteuergerät oder ein
Bremsensteuergerät,
etc. in einem Fahrzeug) kommen Prozessorbausteine zum Einsatz, die
mit seriellen Schnittstellen ausgestattet sind, um mit Peripherieelementen
Daten bzw. Signale auszutauschen. Dabei ist ein Prozessorbaustein 100 mit
einem Schnittstellenmodul 101 und einem Coprozessorbaustein
bzw. Coprozessor 102 dargestellt. Der eigentliche Prozessor
bzw. der Hauptprozessor des Prozessorbausteins ist mit 108 bezeichnet.
Ebenso sind fünf
Peripherieelemente 103 bis 107 gezeigt, welche
durch den Prozessorbaustein ansteuerbar sind. Dabei ist mit 103 z.B.
ein Stabilisierungsschaltkreis z.B. mit Watchdog dargestellt. Die
weiteren Peripherieelemente sind z.B. Endstufenschaltkreise, z.B.
zur Einspritzung, ein serielles EEPROM, weitere Überwachungsschaltungen, insbesondere
Watchdogs, etc.
-
Das
Schnittstellenmodul 101 des Prozessorbausteins 100 verfügt über eine
Taktleitung SCK, jeweils eine Datenleitung für den Datenaustausch in jede
Richtung MSO (Modul Signal Out) und MSI (Modul Signal In) und mehrere
Leitungen bzw. Schnittstellen, um die einzelnen Peripheriebausteine
anzusprechen bzw. auszuwählen
(selektieren). Diese Auswahlschnittstellen bzw. Chipselektleitungen
CS1 bis CS4 können
im Normalfall bei direktem Anschluss der Peripherieelemente eine
maximale Anzahl, hier vier, von Peripheriebausteinen auswählen bzw.
ansprechen.
-
Dabei
sind die Anschlüsse
für die
Taktleitung SCK des Prozessorbausteins 100 bzw. des Schnittstellenmoduls 101 und
die Anschlüsse
für die
Taktleitung SCK sämtlicher
Peripheriebausteine 103 bis 107 miteinander verbunden.
Gleiches gilt für
die Datenleitungen bezüglich
MSO und MSI. Aus Gründen
der Übersichtlichkeit
sind die Datenleitungen bzw. die Anschlüsse der Datenleitungen in den
Peripheriebausteinen 103 bis 107 aus Sicht des
Prozessorbausteins 100 ebenfalls mit SO (Signal Out) und
SI (Signal In) bezeichnet. Im Normalfall, also ohne Einsatz eines
Decodierbausteins oder des Coprozessors führen die Auswahlsignale der Auswahlschnittstellen
CS1 bis CS4 vom Prozessorbaustein bzw. dem darin enthaltenen Schnittstellenmodul 101 zu
jeweils einem Peripherieelement 103 bis 106. Die
MSO und MSI Leitung kann dabei z.B. als Bus, insbesondere als SPI
(Serial Peripheral Interface) Bus, realisiert sein. SPI Funktionalitäten bezüglich der
Peripherieelemente sind dann z.B. Initialisierung, Watchdogkommunikation,
Endstufendiagnose, Einlesen von Eingängen, Identifier, Schreiben
und Lesen von Daten, etc.
-
Ein
Peripherieelement ist beispielsweise dann ausgewählt bzw. angesprochen (selektiert),
wenn auf der Auswahlleitung ein Low-Signal anliegt. Um Störungen zu
vermeiden, ist dabei denkbar, das nur an höchstens einer Selektierleitung
bzw. Auswahlschnittstelle gleichzeitig ein Low-Signal anliegen darf,
um eine störungsfreie
Kommunikation zu ermöglichen.
Ebenso ist die umgekehrte Logik mit einer Selektierung durch ein High-Signal
denkbar.
-
Zweckmäßiger Weise
arbeitet das Schnittstellenmodul des Prozessorbausteins 100 unabhängig vom Hauptprozessor,
wodurch die Rechenleistung des Hauptprozessors auch bei hoher Buslast
kaum eingeschränkt
wird. In einem speziellen Speicherbereich kann die Befehlsabfolge,
die über
die serielle Schnittstelle gesendet werden soll, abgelegt werden.
Das Schnittstellenmodul 101 sendet diese Befehle automatisch
und legt die empfangenen Daten wiederum in einem speziellen Speicherbereich
ab, worauf der Hauptprozessor zugreifen kann. Der Hauptprozessor
hat lediglich auf einem bestimmten Speicherbereich Schreib- bzw.
Lesezugriffe durchzuführen.
-
Vergleich
mit dem Stand der Technik
-
Die
Erhöhung
der Anzahl der Selektierleitungen kann nun beispielsweise durch
Decoderbausteine bzw. Decodierschaltungen erreicht werden. Dabei
werden die Eingänge
des Decoderbausteins mit den Auswahlschnittstellen CS1 bis CS4 des
Prozessorbausteins verbunden; die Ausgänge des Decoders entsprechend
mit den Peripheriebausteinen. Bei Einsatz eines 2:4-Decoders gemäß dem Stand
der Technik würden somit
beispielsweise zwei Auswahlschnittstellen CS3 und CS4 mit den Eingängen des
Decoderbausteins verbunden. Die Decoder-Ausgänge könnten dann prinzipiell zur
Ansteuerung von insgesamt vier Peripherieelementen eingesetzt werden.
-
Da
entsprechend einer Wahrheitstabelle eine Bit-Kombination für den Decoder
auch den Zustand „kein
am Decoder angeschlossener Peripheriebaustein ist angesprochen" abdecken muss (typisch:
alle Eingänge
sind high) kann ein Ausgang des Decoders nicht als Selektierleitung
genutzt werden. Damit ist die Maximalanzahl der Teilnehmer um eins
verringert.
-
Weitere Beschreibung
des Ausführungsbeispiels
-
Ein
insbesondere im Prozessorbaustein vorhandener Coprozessor 102,
der unabhängig
vom Hauptprozessor 108 arbeitet, wird als Decoder genutzt.
Um bei, wie hier dargestellt, vier vorhandenen Selektierleitungen
CS1 bis CS4 des Schnittstellenmoduls 101 die mögliche Teilnehmerzahl,
also die Anzahl der Peripherieelemente um eins zu erweitern, sind
zwei Eingänge
CI1 und CI2 und drei Ausgänge
CO1 bis CO3 der Coprozessoreinheit nötig. Ist der Coprozessor prinzipiell
ohnehin mit mehr Ein- und Ausgängen
bestückt,
kann die Anzahl bzw. das Ansprechen der Peripherieelemente sehr
flexibel durch Veränderung
der Verbindung der einzelnen Auswahlschnittstellen CS1 bis CS4 mit
den Coprozessoreingängen
CI1 bis CIn angepasst werden.
-
Der
Coprozessor
102 liest nun ständig die Signale an den Eingängen ein
und legt je nach Bit-Kombination an den Ausgängen maximal einen der hier
drei Ausgänge
CO1 bis CO3 auf „low". Dabei ist folgende Wahrheitstabelle
für die
Verknüpfung
von Eingangs- und Ausgangssignalen (beispielhaft) denkbar: Tabelle
1
-
Mit
dem hier dargestellten Ausführungsbeispiel
kann damit eine Höchstzahl
von 5 Peripherieelementen durch die vier Auswahlschnittstellen CS1
bis CS4 mit Hilfe des Coprozessors
102 angesprochen werden. Erhöhung der
Eingangs- und Ausgangsschnittstellenzahl des Coprozessors können dann
auch mehr Peripherieelemente angesprochen werden. Werden im Coprozessor
vier Eingangsschnittstellen CI und bis zu sechzehn Ausgangsschnittstellen
CO verwendet, kann ein Decoder vollständig ersetzt werden. Dennoch
ist damit eine hohe Flexibilität
bezüglich
der Anzahl der anzuschließenden
Peripherieelemente möglich.
Die notwendige Anzahl von Ein- und
Ausgängen
in Abhängigkeit
der Teilnehmerzahl, also der Anzahl der Peripherieelemente, insbesondere
als SPI-Bus-Teilnehmer,
ist in Tabelle 2 für
vier Auswahlschnittstellen, also Chipselektausgängen des Prozessorbausteins
dargestellt: Tabelle
2
-
Entsprechend
der Tabelle 2 ist ersichtlich, das abhängig von dem Überschuss
an Peripherieelementen gegenüber
der zur Verfügung
stehenden Auswahlschnittstellen des Prozessorbausteins die notwendigen
Eingänge
bzw. Eingangsschnittstellen und Ausgänge bzw. Ausgangsschnittstellen
des Coprozessors und damit die eingesetzte Pinsumme vorgebbar ist.
-
Ist
der Coprozessor bereits im Prozessorbaustein 100 enthalten,
liegt ein großer
Vorteil der Erfindung darin, eine Möglichkeit zu haben, die Anzahl
der Peripherieelemente für
eine serielle Schnittstelle ohne zusätzlichen Hardwareaufwand zu
erweitern. Dabei entfallen zusätzliche
Kosten der Hardware für
den Decoderbaustein sowie dessen Bestückung bzw. Prüfung. Ebenso
entfallen Kosten für
zusätzliche
Leiterplattenfläche.
-
Gegenüber anderen
reinen Softwarelösungen,
die der Nachbildung eines Schnittstellenmoduls mit dem Coprozessor
oder dem Ansteuern eines Standardausgangspins über den Hauptprozessor als
weiteres Selektiersignal, kommt die vorgestellte Lösung außerdem mit
deutlich geringerem Softwareaufwand und damit geringerer Prozessleistung
aus.
-
Da
das Schnittstellenmodul und der Coprozessor jeweils unabhängig vom
Hauptprozessor sind, ist vorteilhafter Weise kein Informationsfluss
zwischen diesen unabhängigen
Modulen notwendig. Dies verhindert eine zusätzliche Belastung der Module.
-
Der
Codebedarf für
die Nachbildung des Decoders mit dem Coprozessor ist sehr gering.
Der Coprozessor selbst ist dadurch kaum belastet und steht hauptsächlich für andere
Aufgaben, insbesondere zur Unterstützung des Hauptprozessors zur
Verfügung.
-
Anstatt
der Darstellung in 1 bezüglich der
MSO und MSI Schnittstelle, kann auch eine bidirektionale Verbindung,
also eine Bus I/O, eine Bus Ein-Ausgabeschnittstelle mit entsprechendem
Pendant auf der Peripherieelementeseite Verwendung finden.
-
Eine
im Schnittstellenmodul 101 einstellbare Wartezeit zwischen
der Selektion also der Ansteuerung eines Peripherieelementes und
dem Start der Kommunikation, insbesondere dem Start des Taktsignals
an SCK, über
den Bus bzw. über
MSI und MSO kann dabei so angepaßt werden, dass die Auswahl
bzw. Ansteuerung der Peripherieelemente durch den Coprozessor 102 störungsfrei
durchgeführt
werden kann.