-
Die
vorliegende Erfindung betrifft einen Mikrocontroller, der einen
zentralen Prozessor und einen mit einem Bus gekoppelten Speicher
enthält.
-
Für die Entwicklung
von Mikrocontroller basierten Anwendungen, bei denen der Mikrocontroller einen
internen Speicher (z. B. RAM) und Schnittstellen zu Peripheriegeräten hat,
ist es häufig
erforderlich, die in den internen Speichern und allen möglichen
Registern (z. B. Register für
Schnittstellen zu Peripheriegeräten)
gespeicherten Daten durch eine externe Vorrichtung zu modifizieren.
Bekannte Lösungen
verwenden jedoch zur Durchführung
der Datenmodifikation interne Ressourcen wie den internen zentralen
Prozessor (CPU) oder den Direktspeicherzugriff (DMA). Als Folge
dessen wird der normale interne Betrieb des Mikrocontrollers ausgesetzt
bis der externe Zugriff durchgeführt
wurde, wodurch der normale Betrieb verlangsamt wird.
-
Es
ist ein Ziel der vorliegenden Erfindung, einen Mikrocontroller bereitzustellen,
der eine effektive Modifizierung interner Daten durch ein externes
System ohne Verwendung von CPU- oder DMA-Ressourcen ermöglicht.
-
Dementsprechend
wird ein Mikrocontroller bereitgestellt, einschließlich eines
zentralen Prozessors, eines Speicherplatzes, eines den Speicherplatz mit
dem zentralen Prozessor koppelnden Busses und eines Datenmodifikationsmoduls
zur Modifizierung von Daten in dem Speicherplatz. Das Datenmodifikationsmodul
enthält
eine erste Schnittstelle, die mit dem Bus gekoppelt ist, um über den
Bus Daten an den Speicherplatz zu übertragen, und eine zweite Schnittstelle,
die so eingerichtet ist, dass sie an eine externe Vorrichtung gekoppelt
werden kann, um Daten zu empfangen. Des Weiteren ist das Datenmodifikationsmodul
so eingerichtet, dass es Daten über den
Bus als Bus-Master übertragen
kann. Die Daten werden an der zweiten Schnittstelle von der externen Vorrichtung
empfangen und von der zweiten an die erste Schnittstelle übertragen,
damit sie über
den Bus an den Speicherplatz übertragen
werden können.
Im Grunde stellt die vorliegende Erfindung einen Mikrocontroller
mit dem Datenmodifikationsmodul bereit, das eine effektive Modifizierung
von intern in einem Mikrocontroller gespeicherten Daten gestattet. Da
das Datenmodifikationsmodul so ausgeführt ist, dass es als Bus-Master
arbeitet, ist keine Mitwirkung der CPU oder des DMA notwendig, und
es werden wertvolle CPU- und DMA-Ressourcen eingespart. Ebenfalls
wird hierdurch sichergestellt, dass die Schreiboperation den Programmablauf
lediglich minimal unterbricht, da ein von der CPU/dem DMA benötigter Zugriff
lediglich dann blockiert wird, wenn das Datenmodifikationsmodul
und die CPU/der DMA versuchen, auf dieselben Ressourcen zuzugreifen.
Vorteilhafterweise enthält
der Mikrocontroller gemäß der vorliegenden
Erfindung einen dedizierten Anschluss an den Speicherplatz für die Datenübertragung
von dem Datenmodifikationsmodul zu dem Speicherplatz, wodurch der
Standard-Mikrocontroller-Bus für andere
Transaktionen verfügbar
gemacht wird.
-
Vorzugsweise
enthält
das Datenmodifikationsmodul einen zweiten Datenbuffer, der so eingerichtet
ist, dass er die über
die zweite Schnittstelle empfangenen Daten zwischenspeichert, und
einen ersten Datenbuffer zur Zwischenspeicherung der Daten an der
ersten Schnittstelle, bevor die Daten an die Speichervorrichtung übertragen
werden. Dieser Aspekt der Erfindung gestattet es, eine bestimmte,
von der externen Vorrichtung über
die zweite Schnittstelle zu empfangene Datenmenge zu empfangen,
bevor die Daten an die erste Schnittstelle übertragen werden müssen, um
die Daten über
den Bus zu übertragen.
Falls die Daten auf Grund einer niedrigeren Priorität des Datenmodifikationsmoduls
nicht über
den Bus übertragen
werden können,
kann es notwendig sein, die Daten vor der Übertragung zu dem Bus zu buffern.
Die Anzahl und die Größe der Buffer
hängen von
der spezifischen Konfiguration des Mikrocontrollers und des Datenmodifikationsmoduls
ab. Gemäß einem
Aspekt der Erfindung enthält
das Datenmodifikationsmodul ein Interrupt-Erzeugungsmittel zur Erzeugung eines
Interrupt als Reaktion auf einen Zustand mit vollem Buffer, wodurch
angezeigt wird, dass einer der beiden Buffer den vorbestimmten Füllstand
erreicht hat. Dementsprechend ist es möglich, der externen Vorrichtung
aber auch der CPU des Mikrocontrollers zu signalisieren, dass eine
bestimmte Datenmenge empfangen wurde. Ebenso können die Startadresse und die
Länge des
Buffers in dem Datenmodifikationsmodul programmiert werden.
-
Gemäß der vorliegenden
Erfindung kann das Datenmodifikationsmodul gemäß einem spezifischen Protokoll,
das zumindest zwei Modi einschließt, arbeiten. In dem Aufzeichnungsmodus
empfängt
das Datenmodifikationsmodul die Zieladresse der Daten in einem von
der externen Vorrichtung empfangenen Datenpaket. Die Daten können direkt
in die während der Übertragung
angegebene Adresse in dem Speicherbelegungsplan geschrieben werden.
Es kann eine Basisadresse in einem Zielregister in dem Datenmodifikationsmodul
programmiert werden, und die empfangene Adresse kann mit der Basisadresse verknüpft werden.
Somit können
bestimmte, nicht zusammenhängende
Speicherplätze
effektiv gespeichert werden, da kein Zusatz („overhead") benötigt wird. In einem zweiten
Modus, dem Direktdatenzugriffs-Modus, schreibt das Datenmodifikationsmodul Daten
in einen Buffer, zum Beispiel in einen zusammenhängenden Teil eines RAM. Das
Modul bestimmt die Zieladresse (z. B. auch die Startadresse, die
Größe und das
Ziel der empfangenen Daten) der Daten durch Verwendung von Adressinformationen,
die intern in dem Datenmodifikationsmodul programmiert sind. Die
internen Adressinformationen können
programmiert sein oder von anderen von dem Datenmodifikationsmodul
empfangenen Informationen abgeleitet werden. Insbesondere enthalten
die empfangen Daten in dem Direktdatenzugriffs-Modus keine Adressinformationen.
Dementsprechend kann ein äußerst hoher
Datendurchsatz erzielt werden. Sobald ein Paket empfangen wird,
wird es von dem Datenmodifikationsmodul in die erste Stelle in dem
Buffer geschrieben. Die folgenden Pakete werden in nachfolgende
Stellen in dem Buffer geschrieben. Schließlich wird eine Markierung
(„flag") gesetzt, wenn die
letzte Stelle in dem Buffer gefüllt
ist, um diesen Zustand zu signalisieren, und der Adresszeiger kreist
umher und schreibt wieder in die erste Stelle.
-
Gemäß einem
anderen Aspekt der Erfindung enthält die zweite Schnittstelle
einen Anschluss, der so eingerichtet ist, dass er ein Freigabesignal
an die externe Vorrichtung senden kann. Auf diese Weise ist es möglich, der
externen Vorrichtung zu signalisieren, ob das Datenmodifikationsmodul
weitere Daten empfangen kann oder nicht.
-
Die
zweite Schnittstelle ist so eingerichtet, dass sie die Daten zumindest
teilweise seriell empfangen kann. Dementsprechend hat die zweite Schnittstelle
einen oder mehrere programmierbare Eingangsanschlüsse für den Datenempfang,
wobei jeder der Eingangsanschlüsse
die Daten seriell empfängt.
Wenn jedoch mehrere der Eingangsanschlüsse vorhanden sind, können die
Daten über
mehrere Anschlüsse
verteilt werden, so dass die Übertragung eine
Kombination aus paralleler und serieller Übertragung ist. Die zweite
Schnittstelle kann entweder 2, 4, 8 oder 16 Anschlüsse für den seriellen
Datenempfang auf einer Mehrzahl von parallelen Übertragungsleitungen enthalten.
Des Weiteren kann das Datenmodifikationsmodul mit einem Bus, der
die CPU mit einer Schnittstelle für ein Peripheriegerät verbindet,
gekoppelt und so eingerichtet sein, dass es Daten zwischen der CPU
und dem Peripheriegerät
an den Bus übertragen
kann, um die empfangenen Daten an den Datenspeicherplatz zu übertragen. Dementsprechend
kann der Datenspeicherplatz ein Platz (Adresse) in einem Peripheriegerät an Stelle
einer internen Speichervorrichtung sein.
-
Das
Datenmodifikationsmodul stellt einen Speicherschutzmechanismus bereit,
um das Überschreiben
von kritischen Daten in dem Speicherplatz zu verhindern. Dementsprechend
können
bestimmte Bereiche der internen Speicherplätze vom Überschreiben ausgeschlossen
werden.
-
Des
Weiteren kann das Datenmodifikationsmodul vorzugsweise so eingerichtet
sein, dass es in Kombination mit einem Speicher-Trace-Modul verwendet
werden kann, um Daten eines Schreibzugriffs und/oder eines Lesezugriffs
auf den Speicher aufzuzeichnen. Das Speicher-Trace-Modul kann in
demselben oder einem anderen Mikrocontroller implementiert sein
und kann eine dritte Schnittstelle, die mit einem internen Bus gekoppelt
ist, um die Daten und entsprechende Adressinformationen auf dem Bus
zu erfassen, und eine vierte Schnittstelle enthalten, die so eingerichtet
ist, dass sie mit der externen Vorrichtung gekoppelt werden kann.
Das Speicher-Trace-Modul ist so eingerichtet, dass es die erfassten
Daten und Adressinformationen von der dritten an die vierte Schnittstelle
und von der vierten Schnittstelle an die externe Vorrichtung überträgt. Die
Kombination beider Module stellt eine äußerst effiziente Art der Datenaufzeichnung
in dem Mikrocontroller während
der Entwicklung einer Anwendung und der Modifizierung der Daten
bei Bedarf bereit.
-
Wenn
sich das Datenmodifikationsmodul und das Speicher-Trace-Modul in
verschiedenen Mikrocontrollern befinden, können die Module vorzugsweise
zur Datenübertragung
zwischen den Prozessoren der beiden Vorrichtungen (d. h. z. B. zwei
Mikrocontroller oder aber auch jede beliebige andere elektronische
Vorrichtung mit einer CPU und einem internen Speicher) miteinander
gekoppelt sein, wobei eine das Speicher-Trace-Modul und die andere
das Speichermodifikationsmodul enthält.
-
Vorzugsweise
verwendet das Speicher-Trace-Modul dasselbe Protokoll wie das Datenmodifikationsmodul.
Hierdurch wird der externen Vorrichtung ermöglicht, die Datenübertragung
von dem Speicher-Trace-Modul und dem Datenmodifikationsmodul effizient
zu steuern. Des Weiteren können
die von dem Speicher-Trace-Modul empfangenen Daten direkt oder nachdem
sie leicht modifiziert wurden an das Datenmodifikationsmodul (zweite
Schnittstelle) übertragen
werden, ohne dass eine Modifizierung des Datenformats erforderlich
ist.
-
Die
vorliegende Erfindung stellt ebenfalls ein System bereit, das eine
erste elektronische Vorrichtung mit einem zentralen Prozessor (der
als Bus-Master arbeiten kann), einem Speicherplatz, einem den Speicherplatz
mit dem zentralen Prozessor koppelnden Bus und einem Datenmodifikationsmodul
zur Modifizierung von Daten in dem Speicherplatz enthält, wobei
das Datenmodifikationsmodul eine erste Schnittstelle, die mit dem
Bus gekoppelt ist, um über
den Bus Daten an den Speicherplatz zu übertragen, und eine zweite
Schnittstelle umfasst, die so eingerichtet ist, dass sie an eine
externe Vorrichtung gekoppelt werden kann, um Daten zu empfangen.
Das Datenmodifikationsmodul ist so eingerichtet, dass es ebenfalls
als Bus-Master arbeitet und von der externen Vorrichtung empfangene
Daten an den Speicherplatz überträgt. Vorzugsweise
verwendet das Datenmodifikationsmodul in der ersten elektronischen
Vorrichtung einen eigenen Zugang zum Speicherplatz, um mehr Bandbreite
auf dem Bus für
andere Transaktionen bereitzustellen. Das System enthält ebenfalls
eine zweite elektronische Vorrichtung mit einem zentralen Prozessor
(dem Leitgerät
(„master
device")), einem
Speicherplatz, einem den Speicherplatz mit dem zentralen Prozessor
koppelnden Bus und einem Speicher- Trace-Modul zur Aufzeichnung von Daten
eines Schreibzugriffs und/oder eines Lesezugriffs auf den Speicher.
Das Speicher-Trace-Modul hat eine dritte Schnittstelle, die mit
dem Bus gekoppelt ist, um die Daten und entsprechende Adressinformationen
auf dem Bus zu erfassen, und eine vierte Schnittstelle, die so eingerichtet
ist, dass sie mit der externen Vorrichtung gekoppelt werden kann, wobei
das Speicher-Trace-Modul dafür
eingerichtet ist, die erfassten Daten und Adressinformationen von
der dritten an die vierte Schnittstelle und von der vierten Schnittstelle
an die externe Vorrichtung zu übertragen.
-
In
dem System gemäß der vorliegenden
Erfindung sind das Datenmodifikationsmodul (in der ersten elektronischen
Vorrichtung) und das Speicher-Trace-Modul (in der zweiten elektronischen
Vorrichtung) vorzugsweise so eingerichtet, dass sie gemäß einem
spezifischen Protokoll arbeiten können, das zumindest zwei Modi
einschließt,
einen Aufzeichnungsmodus und einen Direktdatenmodus, wobei das Speicher-Trace-Modul
in dem Aufzeichnungsmodus so eingerichtet ist, dass es die erfassten
Daten und Adressinformationen von der dritten an die vierte Schnittstelle
und von der vierten Schnittstelle an die externe Vorrichtung überträgt. Das
Datenmodifikationsmodul empfängt
die Zieladresse der in einem von einer externen Vorrichtung empfangenen
Datenpaket enthaltenen Daten. In dem Direktdatenmodus bestimmt das
Datenmodifikationsmodul durch Verwendung von intern in dem Datenmodifikationsmodul
enthaltenen Adressinformationen die Zieladresse der Daten. Das Speicher-Trace-Modul
ist so eingerichtet, dass es zu erfassende Daten direkt von einem
dedizierten Erfassungsregister abruft und die Daten an die externe
Vorrichtung überträgt. Da sowohl
das Trace-Modul als auch das Datenmodifikationsmodul keine CPU-Ressourcen
verwenden, stellt das System gemäß der vorliegenden
Erfindung eine äußerst effiziente
Art der Datenübertragung
zwischen Prozessoren bereit. Die externe Vorrichtung (z. B. ein
Computer) kann zum Beispiel Daten von der zweiten elektronischen
Vorrichtung über
das Speicher-Trace-Modul empfangen, sie protokolliert oder modifiziert
die Daten bei Bedarf und sendet die modifizierten Daten (oder beliebige
andere Daten) an die erste elektronische Vorrichtung.
-
Gemäß der vorliegenden
Erfindung wird ein Protokoll bereitgestellt, das von dem Datenmodifikationsmodul,
dem Speicher-Trace-Modul und den externen Vorrichtungen für die Datenübertragung
an eins oder beide der Module verwendet werden kann. Das Protokoll
ist paketorientiert. Es werden individuelle Pakete für die Datenziele,
Statusinformationen, die Startadresse der Daten, die Größe der Daten
und die Daten selbst bereitgestellt. Datenpakete, die die Startadresse
enthalten, beziehen sich auf den Aufzeichnungsmodus, während die
Daten in dem Direktdatenmodus ohne jeglichen Zusatz übertragen
werden.
-
Weitere
Einzelheiten der vorliegenden Erfindung ergeben sich aus der Beschreibung
der bevorzugten Ausführungsformen
unter Bezugnahme auf die beigefügten
Zeichnungen. Es zeigen:
-
1 ein
vereinfachtes Schaubild eines Mikrocontrollers gemäß der vorliegenden
Erfindung,
-
2 ein
vereinfachtes Schaubild eines Datenmodifikationsmoduls gemäß der vorliegenden
Erfindung,
-
3 Signalverläufe, die
sich auf ein Protokoll gemäß der vorliegenden
Erfindung beziehen,
-
4 Signalverläufe, die
sich auf einen Synchronisationsmechanismus gemäß der vorliegenden Erfindung
beziehen,
-
5 Signalverläufe, die
sich auf eine teilweise serialisierte Datenübertragung gemäß einem Aspekt
der vorliegenden Erfindung beziehen, und
-
6 ein
Schaubild eines Speicher-Trace-Moduls gemäß einem Aspekt der vorliegenden Erfindung.
-
1 zeigt
einen vereinfachten Grundaufbau eines Mikrocontrollers gemäß einer
ersten Ausführungsform
der Erfindung. Eine CPU 1 (d. h. ein Bus-Master) und ein
erster Speicherblock 2 sowie ein zweiter Speicherblock 3 sind über Busstrukturen 23, 24 und 20, 21 und
ein entsprechendes Busmatrixmodul 9 als Verkehrsleitwegrechner
miteinander gekoppelt. Das Datenmodifikationsmodul 4 enthält eine erste
Schnittstelle 5 und eine zweite Schnittstelle 6. Die
zweite Schnittstelle ist eine zumindest teilweise serialisierte
Schnittstelle mit einer Gruppe von Anschlüssen zur Kopplung an eine externe
Vorrichtung, die in 1 nicht gezeigt ist. Die zweite
Schnittstelle 6 stellt ein spezifisches Protokoll bereit
und serialisiert eingehende Daten. Die eingehenden Daten werden
an die erste Schnittstelle 5, über die das Datenmodifikationsmodul 4 mit
den Busstrukturen 17 gekoppelt ist, übertragen. Diese Busstruktur 17 dient dazu,
das Datenmodifikationsmodul mit einem Busmatrixmodul 9 zu
verbinden, wodurch den Speicherplätzen 2, 3 ein
dedizierter Anschluss bereitgestellt wird. Weitere Stufen 12 und 13 führen andere
Umwandlungs- oder Dekodierungsschritte durch.
-
Das
Datenmodifikationsmodul 4 empfängt Daten von einem externen
System über
eine zweite Schnittstelle, die eine Umwandlung der Daten von seriell
auf parallel durchführt.
Die konfigurierbare serielle/parallele Schnittstelle 6 stellt
einen optimalen Kompromiss zwischen einer niedrigen Anzahl von Anschlüssen und
einem hohen Datendurchsatz dar. Die von dem Datenmodifikationsmodul 4 verwendeten
Protokolle sind ebenfalls in Hinblick auf einen hohen Datendurchsatz
implementiert. Die zweite Schnittstelle 6 des Datenmodifikationsmoduls 4 ist über die
Busstruktur 26 mit Peripheriegeräten 14, 15 und 16 gekoppelt.
Die Peripheriegeräte 14, 15 und 16 sind über das
Busmatrixmodul 9 und zusätzliche Protokollumwandlungs-Stufen 12 und 13 ebenfalls
mit der CPU 1 gekoppelt. Um einen optimalen Zugriff ohne
Beeinträchtigung
des normalen Betriebs der CPU des Mikrocontrollers zu erreichen,
ist das Datenmodifikationsmodul 4 so eingerichtet, dass
es als Bus-Master
arbeitet.
-
2 zeigt
ein weiteres vereinfachtes Schaubild des Datenmodifikationsmoduls
gemäß der vorliegenden
Erfindung in näheren
Einzelheiten. Die Eingangs- und Ausgangsanschlüsse der zweiten Schnittstelle
enthalten einen Freigabeanschluss DMMENA,
einen Synchronisationsanschluss DMMSYNC, einen Taktanschluss DMMCLK
und einen oder mehrere Dateneingangsanschlüsse DMMDATA[0]...DMMDATA[x].
Die über
die Eingangsanschlüsse
DMMDATA[0:x] empfangenen Daten werden einem Eingangsbuffer INBUF
zugeführt,
in dem die Daten gespeichert werden, bevor sie einem Multiplexer
MUX übergeben
werden, der mit dem Deserialisierer DESER gekoppelt ist, der bestimmte
Felder für
das Ziel DEST, die Statusinformationen STAT, die Datengröße SIZE,
die Zieladresse ADDR und die Daten DATA enthält. Die Ziel- und Statusinformationen werden
dem Steuerblock CNTL übergeben.
Der Steuerblock CNTL empfängt
ebenfalls die Synchronisationsinformationen DMMSYNC und das über den Eingangsanschluss
DMMCLK empfangene Taktsignal. Der Steuerblock CNTL erzeugt das Freigabesignal DMMENA, um einer externen
Vorrichtung zu signalisieren, dass keine weiteren Daten empfangen werden
können.
Die Adressinformationen und die Daten in dem Deserialisierer DESER
werden dem ersten Buffer OUTBUF übergeben,
von wo aus sie über
die Busstrukturen WDATA[63:0], ADDR[31:0], SIZE[2:0] an das in 1 gezeigte
Busmatrixmodul 9 übertragen
werden. Weitere von dem Steuerblock CNTL erzeugte Signale sind WRITE
und TRANS[1:0]. Der Speicherschutz wird durch das Speicherschutz-Zielregister
MPDEST durchgeführt, um
ein Überschreiben
von kritischen Speicherstellen zu verhindern. Der Steuerblock CNTL
kann in dem Register MPDEST eine Basisadresse BASEADDR speichern.
Eine weitere Adresse, die in der Aufzeichnungsmodus über die
zweite Schnittstelle empfangen und in dem Deserialisierer DESER
gespeichert wird, kann ebenfalls mit der in dem Register MPDEST
gespeicherten Adresse verglichen werden, um zu überprüfen, ob Zugriff auf eine geschützte Zieladresse
benötigt
wird. Falls dies der Fall ist, kann das Datenmodifikationsmodul
eine Unterbrechung ausgeben, um einen verbotenen Speicherzugriff
anzuzeigen.
-
3 zeigt
zwei verschiedene Konfigurationen von Datenprotokollen, insbesondere
die Paketformate für
die Datenübertragung über die
zweite Schnittstelle gemäß der vorliegenden
Erfindung. 3(a) zeigt das Paketformat
für Speicherplätze in dem
Aufzeichnungsmodus. Entsprechend besteht das Paket aus zwei Bit
DEST[1:0], die das Ziel, in dem die Daten zu speichern sind, angeben,
zwei Statusbit STAT[1:0], die nicht von dem Datenmodifikationsmodul
verwendet werden, sondern wegen der Kompatibilität mit einem Speicher-Trace-Modul
bereitgestellt werden, zwei Bit für die Größe SIZE[1:0] und die 18-Bit-(256-kByte-)Adresse
der Daten ADDR[17:0] und 2SIZEx8 Datenbit
DATA[xx:0]. Die empfangenen Daten können direkt an die Zieladresse übertragen
werden. Das Datenformat eines Datenpakets in dem Direktdatenmodus
ist in 3(b) gezeigt. Das Datenpaket,
das aus Daten mit einer bestimmten Länge besteht, enthält lediglich
die in einen bestimmten Speicherplatz zu schreibenden Daten. Die
Paketlänge
kann auf 8, 16 oder 32 Bit programmiert werden. Die Startadresse
und die Größe eines Buffers
können
in Register in dem Datenmodifikationsmodul programmiert werden.
Die empfangenen Daten werden in einen Adresszeiger geschrieben, der
auf den Informationen in den Registern basiert. Die empfangenen
Daten können
in einem zusammenhängenden
RAM-Buffer, dessen Größe lediglich durch
die Gesamt-RAM-Größe begrenzt
ist, gebuffert werden.
-
4 zeigt
ein Signalverlaufsdiagramm für Signale,
die an den Eingangsanschlüssen
der wie in 2 gezeigten zweiten Schnittstelle
auftreten können.
Das externe Taktsignal DMMCLK wird während der Datenübertragung
durch die externe Vorrichtung aktiviert. Der Takt könnte so
konfiguriert sein, dass er ausgesetzt wird oder freilaufend ist,
wenn eine Datenpaketübertragung
beendet wurde. Das Speichermodifikationsmodul empfängt ebenfalls
ein Synchronisationssignal DMMSYNC, um über die Dateneingangsanschlüsse DMMDATA[0:xx]
den Beginn eines Datenpakets zu signalisieren. DMMSYNC ist einen DMMCLK-Taktzyklus
lang hoch, um externe Hardware mit dem Datenstrom zu synchronisieren
(jedes Paket). Daten können über einen
einzelnen, 2, 4, 8 oder mehr Anschlüsse übertragen werden. Eine Konfiguration,
bei der vier Anschlüsse
verwendet werden, wird untenstehend unter Bezugnahme auf 5 erläutert.
-
5 zeigt
Signalverläufe
für eine
Konfiguration, in der vier Anschlüsse DMMDATA[0], DMMDATA[1],
DMMDATA[2] und DMMDATA[3] zur Datenübertragung verwendet werden.
Zu Beginn der Datenübertragung
ist der Anschluss DMMSYNC lediglich einen Taktzyklus des Taktsignals
DMMCLK lang hoch. In dem Aufzeichnungsmodus werden die in einem
wie in Bezug auf 3(a) erläuterten
Paket enthaltenen Informationen systematisch über die vier Anschlüsse verteilt.
Das erste Bit DEST[1:0] wird über
DMMDATA[0] als DEST.1 übertragen.
Das zweite Bit, bei dem es sich um DESTO handelt, wird über den
nächsten
Anschluss DMMDATA[1] übertragen. Dieses
Verfahren wird fortgesetzt, bis alle Bit übertragen wurden. In dem Aufzeichnungsmodus
kann die Länge
des Datenpakets über
die in SIZE[1:0] enthaltenen Größeninformationen
bestimmt werden. Wenn die Anzahl von zwischen zwei Synchronisationssignalen
an dem Eingangsanschluss DMMSYNC empfangenen Bit nicht gleich ist
wie die vorgegebene Paketbreite, wird ein Fehler angezeigt (z. B.
durch eine bestimmte Markierung). In einem Modus mit unterbrochenem
Takt, in der der Takt ausgesetzt wird, wenn keine Daten übertragen
werden, wird der Fehler sowohl für
zu lange und zu kurze Pakete angezeigt. In einem Modus mit ununterbrochenem
Takt wird der Fehler nur dann angezeigt, wenn das empfangene Paket
zu kurz ist. In dem Direktdatenmodus wird ein Fehler angezeigt,
wenn die Anzahl von empfangenen Bit nicht gleich der in einem internen
Register programmierten Bitbreite ist.
-
6 zeigt
ein vereinfachtes Schaubild einer elektronischen Vorrichtung mit
einem Speicher-Trace-Modul 40. Die elektronische Vorrichtung kann
zum Beispiel derselbe Mikrocontroller wie oder ein anderer als derjenige
sein, der das Speichermodifikationsmodul 4 gemäß der vorliegenden
Erfindung enthält.
Das Speicher-Trace-Modul ist so eingerichtet, dass es mit dem Speichermodifikationsmodul 4 (z.
B. in 1 und 2 gezeigt) verwendet werden
kann. Ein Bus-Master, d. h. ein zentraler Prozessor CPU 10 und
ein erster Speicherblock 20 sowie ein zweiter Speicherblock 30,
sind in die integrierte elektronische Vorrichtung integriert. Obwohl
lediglich zwei Speicherblöcke 20, 30 gezeigt
sind, ist die Anzahl von Speicherblöcken im Grunde nicht begrenzt. Die
CPU 10 ist über
Busstrukturen und ein Busmatrixmodul 90 mit den Speicherblöcken 20 und 30 gekoppelt.
Das Busmatrixmodul 90 führt
jegliche notwendige Umwandlungs- oder Dekodierungsschritte durch,
um Daten korrekt zwischen den Speicherblöcken 20, 30 und
der CPU 10 zu übertragen.
Die Busstrukturen 170, 180 und 190 sind
mit Busabschnitten 200, 210 und 250 gekoppelt,
wodurch die verschiedenen Busteile mit Schnittstellen zu Peripheriegeräten 140, 150 und 160 gekoppelt
sind. Die Gesamtstruktur des in 6 gezeigten
Mikrocontrollers kann der in 1 gezeigten
entsprechen. Das Speicher-Trace-Modul 40 erfasst Daten
und Adressinformationen über
die Busstrukturen 170 und 190 im Wesentlichen
in einer Form wie die Daten und die Adressinformationen an den Eingangs-
und den Ausgangsanschlüssen
der Speicherblöcke 20 und 30 auftreten. Die
Speicherblöcke 20, 30 sind
vorzugsweise Direktzugriffsspeicher (RAM), wobei aber auch andere Speicherarten
verwendet werden können.
Das Speicher-Trace-Modul 40 enthält den FIFO-Bufferabschnitt
und eine dritte Schnittstelle 50 zur Bufferung der eingehenden
Daten und der entsprechenden Adressinformationen. Die dritte Schnittstelle
wird zur Kopplung des Moduls 40 mit Busabschnitten 170, 180 und 190 verwendet.
Die dritte interne Schnittstelle ist ferner mit einem FIFO oder
Buffer gekoppelt, in denen eingehende Daten gespeichert werden.
Eine vierte externe Schnittstelle 60 enthält eine
Gruppe von Anschlüssen 80 zur
Kopplung mit einer externen Vorrichtung (nicht gezeigt). Die vierte
Schnittstelle 60 ist im Grunde so eingerichtet, dass sie
die über
die Busabschnitte 170 und 180 und über die
dritte Schnittstelle und den FIFO 50 empfangenen Daten und
Adressinformationen unter Verwendung eines spezifischen Protokolls
an eine externe Vorrichtung überträgt. Dieses
Protokoll entspricht vorzugsweise dem von dem Datenmodifikationsmodul
gemäß der vorliegenden
Erfindung verwendeten Protokoll. Die Anzahl von Anschlüssen der
Gruppe von externen Anschlüssen 80 hängt somit
von der spezifischen Implementierung und den Einstellungen des Mikrocontrollers
und des Datenmodifikationsmoduls gemäß der vorliegenden Erfindung
ab. Zwei, vier oder acht Anschlüsse
können
vorteilhaft sein. Weitere Busstrukturen 220, 250 und 260 werden
für die
Verbindung der Schnittstellen 140, 150 und 160 zu
Peripheriegeräten
des Mikrocontrollers mit dem Busmatrixmodul 90 bereitgestellt.
Die Blöcke 120, 130 stellen optionale
Stufen dar, die eine Signal- oder Datenumwandlung durchführen. Die über den
Busabschnitt 260 laufenden Einstellinformationen können zur
Konfiguration des Speicher-Trace-Moduls 40 verwendet werden.
Das Speicher-Trace-Modul 40 kann in zwei verschiedenen
Modi betrieben werden. Die Modi entsprechen dem Direktdatenmodus
und dem Aufzeichnungsmodus des Datenmodifikationsmoduls 4.
Jegliche interne Einstellungen des Speicher-Trace-Moduls können ebenfalls
entsprechend den Einstellungen in dem Datenmodifikationsmodul vorgenommen werden.
Wenn das Speichermodifikationsmodul 4 und das Speicher-Trace-Modul 40 in
verschiedenen integrierten elektronischen Vorrichtungen (z. B. in zwei
verschiedenen Mikrocontrollern) integriert sind, kann ein System
realisiert werden, in dem die beiden Module vorzugsweise für eine effektive
Datenübertragung
zwischen Prozessoren in den zwei elektronischen Vorrichtungen verwendet
werden können.
Die Module verwenden gleiche Protokolle mit zumindest zwei Modi;
einem Direktdatenmodus, in der die Datenpakete keine Adressinformationen
enthalten, und einem Aufzeichnungsmodus mit Datenpaketen, die die
Adressinformationen enthalten. Da in beiden elektronischen Vorrichtungen
keine CPU-Ressourcen verwendet werden, kann ein äußerst effektiver Datenübertragungskanal
zwischen den beiden Vorrichtungen eingerichtet werden.