-
Die
vorliegende Erfindung betrifft eine Schnittstellenanordnung, insbesondere
für ein
System-on-Chip umfassend eine erste Datenein- und -ausgabeschnittstelle,
eingerichtet zum Anschließen an
einen Mikrocontroller-Bus, eine zweite Datenein- und -ausgabeschnittstelle, eingerichtet
zum Anschließen
an eine Signalleitung zum Koppeln mit Peripherie-Geräten, eine
erste Registereinrichtung, die mit der ersten Datenein- und -ausgabeschnittstelle verbunden
ist, und eine zweite Registereinrichtung, die mit der zweiten Datenein-
und -ausgabeschnittstelle verbunden ist, sowie deren Verwendung.
-
Eine
gattungsgemäße Schnittstellenanordnung
ist beispielsweise in dem Dokument "ARM PrimeCellTM,
General Purpose Input/Output (PL 061), Technical Reference Manual,
ARM Limited, 2000" auf
Seite 2–4
in 2–1 gezeigt.
-
Eine
derartige Schnittstellenanordnung dient zum Koppeln eines Mikroprozessor
oder Mikrocontroller-Busses mit einer Schnittstelle, die zum Anschließen von
Peripherie-Geräten
wie beispielsweise Displays eingerichtet ist.
-
Solche
universellen Schnittstellenanordnungen für externe Peripherie-Geräte werden
beispielsweise in sogenannten System-on-Chip eingesetzt.
-
Unter
einem System-on-Chip, auch System-on-a-Chip, oder SOC genannt, ist
normalerweise ein Chip verstanden, der die nötige Hardware und elektronische
Schaltkreise für
ein vollstän diges
System aufweist. SOC umfasst ein auf diesen Chip angeordnetes Speichermittel,
beispielsweise ein RAM, random access memory, oder ROM, read-only
memory, einen Mikroprozessor oder Mikrocontroller, Schnittstellen
für Peripherie-Geräte, Steuerlogik
für Datenein-
und -ausgabe, Datenkonverter und andere Komponenten die von einem
vollständigen
Computersystem umfasst sind. Derartige SOC sind beispielsweise in
Mobilfunkgeräten,
Digitalkameras, Set-Top-Boxes, Personal Digital Assistants, PDAs und
anderen Anwendungen einsetzbar.
-
Bei
solchen Schnittstellenanordnungen ist üblicherweise eine Signalerzeugung
in softwaregesteuerter Weise vorgesehen. Die softwaregesteuerte Erzeugung
aller Signalübergänge in sequenzieller Weise
verursacht einen verhältnismäßig großen Verwaltungsaufwand,
der zu signifikanten Beschränkungen
der Leistungsfähigkeit
des Systems führen
kann. Die Frequenz eines derart erzeugten Ausgangssignals wird von
der maximalen Geschwindigkeit des Bussystems beschränkt, was
wiederum zu einer Begrenzung der Frequenz der Ausgangssignale und damit
zu begrenztem Datendurchsatz der Schnittstelle führt.
-
Insbesondere
bei der Ansteuerung externer Komponenten wie Displays ist jedoch
ein hoher Datendurchsatz der Schnittstelle zu Peripherie-Geräten hin
gefordert.
-
Aufgabe
der vorliegenden Erfindung ist es, eine Schnittstellenanordnung,
insbesondere für
ein System-on-Chip anzugeben, welches zur Abgabe von Signalen mit
höherer
Frequenz zur Steuerung von Peripheriegeräten geeignet ist, sowie dessen Verwendung.
-
Erfindungsgemäß wird die
Aufgabe bezüglich
der Anordnung durch eine Schnittstellenanordnung gelöst, die
bezüglich
der oben angegebenen gattungsgemäßen Schnittstellenanordnung
durch die folgenden Merkmale weitergebildet ist:
- – einen
Pufferspeicher, der die erste Registereinrichtung mit der zweiten
Registereinrichtung koppelt,
- – ein
Steuermittel zum Durchführen
eines direkten Speicherzugriffs, das mit dem Mikrocontroller-Bus und
mit dem Pufferspeicher verbunden ist, und
- – einen
Steuersignalgenerator eingerichtet zum Erzeugen eines Steuersignals,
der an die Signalleitung zum Koppeln mit Peripheriegeräten angeschlossen
und mit der zweiten Registereinrichtung gekoppelt ist.
-
Nach
dem vorgeschlagenen Prinzip ist zum einen ein direkter Speicherzugriff
auf den Mikrocontroller-Bus oder einen an den Bus angeschlossenen, flüchtigen
Speicher beispielsweise eines Mikrocontrollers mittels des Steuermittels
zum Durchführen
eines direkten Speicherzugriffs möglich. Dazu dient auch der
Pufferspeicher, der den direkten Speicherzugriff mittels des Mikrocontroller-Busses
unterstützt. Zum
anderen ist der Steuersignalgenerator dazu geeignet, unabhängig vom
Mikrocontroller und in bevorzugt programmierbarer Weise alle erforderlichen Steuersignale
für die
Signalleitung zum Koppeln mit Peripherie-Geräten zu erzeugen.
-
Somit
können
mit minimalem Software-Overhead hohe Datendurchsatzraten erreicht
werden. Mit dem Steuersignalgenerator ist es möglich, die Schnittstellenanordnung
für unterschiedliche
Zwecke und Betriebsarten zu konfigurieren. Der Hardware-Aufwand zur Implementierung
des Steuersignalgenerators ist verhältnismäßig gering.
-
Insbesondere
die Erzeugung von umfangreichen Datenströmen, die an Ausgabegerät wie Displays
oder Audio- oder Videokompo nenten gesandt werden, ist mit dem vorgeschlagenen
Prinzip mit geringem Aufwand möglich.
Dabei ist eine große
Flexibilität
im Hinblick auf unterschiedliche Typen von liquid crystal display,
LCD oder thin film transistor, TFT-Displays mit unterschiedlichen
Bus-Standards möglich.
-
Mit
dem vorgeschlagenen Prinzip ist zwischen einem Mikrocontroller oder
Mikroprozessor, der an den Mikrocontroller-Bus angeschlossen ist, und
der Schnittstellenanordnung eine Datenübertragung mit großer Übertragungsrate
aufgrund der vorgeschlagenen Vorgehensweise mit direktem Speicherzugriff
möglich.
-
Die
vorgeschlagene Schnittstellenanordnung ist besonders für sogenannte
Embedded-Systems wie beispielsweise die eingangs erläuterten System-on-Chip
geeignet.
-
Die
Schnittstellenanordnung nach dem vorliegenden Prinzip ermöglicht insgesamt
sowohl einen direkten Speicherzugriff auf einen am Mikrocontroller-Bus
angeschlossenen Speicherbaustein, als auch die Erzeugung von Steuersignalen
auf der Signalleitung zum Koppeln mit Peripherie-Geräten. Die
vorgeschlagene Kombination ermöglicht
demnach einen hohen Datendurchsatz, wobei mit zusätzlichem
Vorteil an ein an den Mikrocontroller-Bus angeschlossener Mikkocontroller
oder Mikroprozessor für
andere Aufgaben frei ist.
-
Der
Pufferspeicher dient dabei zu einer Trennung bezüglich der Taktrate auf dem
Mikrocontroller-Bus und der Taktrate der Signalleitung zum Koppeln
mit Peripherie-Geräten.
Die Signalleitung zum Koppeln mit Peripherie-Geräten kann dadurch bei Taktfrequenzen
betrieben werden, die unabhängig sind
vom Takt des Mikrocontrollers und insbesondere vom Takt des Mikrocontroller-Busses.
-
Der
Steuersignalgenerator ist bevorzugt mit dem Pufferspeicher zu dessen
Ansteuerung verbunden. Mittels des Steuersignalgenerators erfolgt
eine Datenübertragung
zu und von Peripherie-Geräten völlig unabhängig von
einem Mirkocontroller und der ersten Datenein- und -ausgabeschnittstelle.
-
Die
erste Registereinrichtung umfasst bevorzugt mehrere Register und
einen Steuerblock, der mit den Registern zu deren Ansteuerung und
mit dem Mikrocontroller-Bus gekoppelt ist. Die erste Registereinrichtung
dient zur Datenübertragung
von und zu dem Mikrocontroller-Bus über die erste Datenein- und
-ausgabeschnittstelle.
-
Weiter
bevorzugt umfasst die erste Registereinrichtung einen Generator
zum Erzeugen von Unterbrechungsanforderungssignalen, der mit dem Mikrocontroller-Bus
gekoppelt ist. Solche Signale werden auch als IRQ- oder Interrupt-Signale
bezeichnet.
-
Der
Pufferspeicher ist bevorzugt mit dem Generator zum Erzeugen von
Unterbrechungsanforderungssignalen zu dessen Ansteuerung verbunden.
-
Die
erste Registereinrichtung umfasst bevorzugt das Steuermittel zum
Durchführen
eines direkten Speicherzugriffs.
-
Der
Pufferspeicher ist bevorzugt ein Speicher vom Typ first-in-first-out. Solche
Pufferspeicher werden auch als FIFO-Puffer bezeichnet. Der Pufferspeicher
dient dazu, bei einem direkten Speicherzugriff die Daten zu speichern,
die zum Speicher, der dem Mikrocontroller zugeordnet ist, zu übertragen sind,
oder die von diesem zur Schnittstellenanordnung zu übertragen
sind. Dabei kann der dem Mikrocontroller zugeordnete Speicher vom
Mikrocontroller umfasst oder als separater Funktionsblock ausgeführt sein.
-
Der
Pufferspeicher umfasst bevorzugt ein Steuermittel und den eigentlichen,
mit dem Steuermittel gekoppelten flüchtigen Speicher. Das Steuermittel
ist bevorzugt als FIFO-Controller ausgebildet.
-
Dieses
Steuermittel, das der Pufferspeicher umfasst, ist bevorzugt mit
dem Generator zum Erzeugen von Unterbrechungsanforderungssignalen
zu dessen Ansteuerung verbunden. Darüber hinaus ist dieses Steuermittel
bevorzugt mit dem Steuermittel zum Durchführen eines direkten Speicherzugriffs
zu dessen Ansteuerung verbunden. Außerdem ist bevorzugt eine Steuerleitung
von dem Steuermittel zum Durchführen
eines direkten Speicherzugriffs zu dem vom Pufferspeicher umfassten
Steuermittel vorgesehen.
-
Die
zweite Registereinrichtung umfasst bevorzugt ein Dateneingangsregister
und ein Datenausgangsregister sowie einen Ein-/Ausgangspufferspeicher.
Das Dateneingangsregister und das Datenausgangsregister sind mit
dem Pufferspeicher gekoppelt. Ebenso sind das Dateneingangsregister
und das Datenausgangsregister mit dem Pufferspeicher gekoppelt.
Der Ein-/Ausgangspufferspeicher
wiederum ist mit der Signalleitung zum Koppeln mit Peripherie-Geräten verbunden
zur Ansteuerung externer Geräte.
Dabei ist die zweite Registereinrichtung zur bidirektionalen Datenübertragung
ausgelegt, also zum Abgeben von Daten beispielsweise an Anzeigegeräte und zum
Einlesen von Daten von Eingabegeräten wie Tastaturen, Touchscreens,
Sensoren oder ähnlichem.
-
Der
Steuersignalgenerator umfasst bevorzugt einen programmierbaren Signalgenerator,
einen Taktgenerator und einen Generator zum Dunkeltasten in einem
Leerlauf betrieb, die miteinander zur Erzeugung eines programmierbaren
Steuersignals verschaltet sind. Mit dem vorgeschlagenen Steuersignalgenerator
können
in einfacher Weise Steuersignale programmiert werden, beispielsweise
bezüglich Pegelfolge,
Taktrate und Dunkeltastung beziehungsweise Maskierung.
-
Der
programmierbare Signalgenerator ist bevorzugt mit dem Dateneingangsregister,
dem Datenausgangsregister und dem Ein-/Ausgangspufferspeicher in der zweiten
Registereinrichtung zu deren Ansteuerung verbunden. Dabei ist weiter
bevorzugt zusätzlich
eine Steuerleitung vom Ein-/Ausgangspufferspeicher zu dem programmierbaren
Signalgenerator vorgesehen.
-
Die
Steuerleitung vom Steuersignalgenerator zu dem Pufferspeicher ist
in einer Weiterbildung zwischen dem programmierbaren Signalgenerator und
dem Pufferspeicher, weiter bevorzugt zwischen dem programmierbaren
Signalgenerator und dem vom Pufferspeicher umfassten Steuermittel
vorgesehen.
-
In
einer bevorzugten Weiterbildung umfasst der Steuersignalgenerator
einen Generator zur Erzeugung eines Abtastsignals. Ein derartiges
Abtastsignal wird auch als Strobe-Signal bezeichnet. Der Generator
zur Erzeugung eines Abtastsignals ist bevorzugt programmierbar ausgebildet.
-
Der
Steuersignalgenerator ist bevorzugt zur Erzeugung eines Steuersignals
von zumindest einem oder mehreren der nachfol genden Typen ausgelegt: non-return-to-zero,
NRZ, return-to-zero,
RZ, return-to-one, RO und non-return-to-one, NRO.
-
Der
Steuersignalgenerator umfasst bevorzugt Mittel zum Programmieren
einer Folge von zumindest zwei aufeinanderfolgenden Signalpegeln und
Mittel zum Programmieren zumindest eines Zeitstempels der Folge
von zumindest zwei aufeinander folgenden Signalpegel. Der Zeitstempel
dient bevorzugt zum Umschalten von einem ersten auf einen zweiten
von mehreren aufeinander folgenden Signalpegeln. Weiterhin hat der
Steuersignalgenerator bevorzugt Mittel zum Maskieren der Folge von
zumindest zwei aufeinander folgenden Signalpegeln. Damit ist es
möglich,
mit geringem Aufwand ohne Unterstützung des Mikroprozessors und
unmittelbar von der Schnittstellenanordnung selbst praktisch beliebige
Steuersignale zum Einspeisen in die Signalleitung zum Koppeln mit
Peripherie-Geräten
zu Erzeugen.
-
In
einer bevorzugten Weiterbildung hat der Mikrocontroller-Bus zumindest je
eine Datenleitung, Adressleitung und Steuerleitung.
-
Die
vorgeschlagene Schnittstellenanordnung ist bevorzugt in einem System-on-Chip
zur Kopplung eines Mikroprozessors mit einem oder mehreren Peripherie-Geräten verwendbar.
-
Dabei
umfasst der das SOC aufweisende Chip bevorzugt eine oder mehrere
der beschriebenen Schnittstellenanordnungen.
-
Weitere
Einzelheiten und vorteilhafte Ausgestaltungen des vorgeschlagenen
Prinzips sind Gegenstand der Unteransprüche.
-
Die
Erfindung wird nachfolgend an Ausführungsbeispielen anhand von
Zeichnungen näher
erläutert.
-
Es
zeigen:
-
1 anhand
eines Blockschaltbilds eine beispielhafte Schnittstellenanordnung
nach dem vorgeschlagenen Prinzip,
-
2 ein
Ausführungsbeispiels
eines Steuersignalgenerators nach dem vorgeschlagenen Prinzip,
-
3 den
Verlauf der mit der Schaltung nach 2 erzeugbaren
Steuersignale anhand beispielhafter Signalverläufe,
-
4 Beispiele
für das
Maskieren und das spannungslos Setzen der Steuersignale und
-
5 ein
beispielhaftes Blockschaltbild eines System-On-Chip mit einer vorgeschlagenen Schnittstellenanordnung.
-
1 zeigt
ein Ausführungsbeispiel
einer Schnittstellenanordnung nach dem vorgeschlagenen Prinzip.
Die Schnittstellenanordnung umfasst eine erste Datenein- und -ausgabeschnittstelle 1, 2,
die zum Anschließen
an einen Mikrocontroller-Bus 3 eingerichtet ist. Außerdem umfasst
die Schnittstellenanordnung eine zweite Datenein- und -ausgabeschnittstelle 4,
die eingerichtet ist zum Anschließen an eine Signalleitung 5 zum
Koppeln mit Peripherie-Geräten. Sowohl
der Mikrocontroller-Bus 3 als auch die Signalleitung zum
Koppeln mit Peripherie-Geräten 5 können jeweils
eine Bit breite von mehreren Bit haben. Eine erste Registereinrichtung 6 ist
mit der ersten Datenein- und -ausgabeschnittstelle 1, 2 verbunden. Eine
zweite Registereinrichtung 7 ist mit der zweiten Datenein-
und -ausgabeschnittstelle 4 verbunden. Ein Pufferspeicher 8 koppelt
die erste Registereinrichtung mit der zweiten Registereinrichtung 6, 7 jeweils
bidirektional. Außerdem
ist ein Steuermittel 9, ausgelegt zum Durchführen eines
direkten Speicherzugriffs, englisch: Direct Memory Access, DMA vorgesehen,
welches mit dem Mikrocontroller-Bus 3 und mit dem Pufferspeicher 8 verbunden
ist. Ein Steuersignalgenerator 10 ist zum Erzeugen eines
Steuersignals eingerichtet und ist an die Signalleitung 5 zum Koppeln
mit Peripherie-Geräten
angeschlossen und darüber
hinaus mit der zweiten Registereinrichtung 7 gekoppelt.
Der Steuersignalgenerator 10 ist auch mit dem Pufferspeicher 8 zu
dessen Ansteuerung verbunden.
-
Die
erste Registereinrichtung 6 umfasst eine Registerbank 11,
die mehrere Speicherregister aufweist. Außerdem umfasst die erste Registereinrichtung 6 einen
Steuerblock 12, der bidirektional mit der Registerbank 11 und
außerdem über die
erste Datenein- und Ausgabeschnittstelle mit dem Mikrocontroller-Bus 3 verbunden
ist. Auch das Steuermittel zum Durchführen des direkten Speicherzugriffs 9 ist
von der ersten Registereinrichtung 6 ebenso umfasst wie ein
Generator 13 zum Erzeugen von Unterbrechungsanforderungssignalen,
englisch: Interrupt. Der Generator 13 ist über eine
Steuerleitung mit einer Steuerleitung des Mikrocontroller-Busses 3 verbunden.
Außerdem
sind Steuerleitungen vorgesehen, mit denen eine Ansteuerung sowohl
des Steuermittels zum Durchführen
des direkten Speicherzugriffs 9 als auch des Generators
zum Erzeugen von Unterbrechungsanforderungssignalen 13 durch
den Pufferspeicher 8 möglich
sind.
-
Der
Pufferspeicher 8 selbst umfasst einen Speicher mit wahlfreiem
Zugriff 14, englisch: random access memory, RAM. Außerdem umfasst
der Pufferspeicher 8 ein Steuermittel zum Durchführen eines direkten
Speicherzugriffs, das bidirektional mit dem Speicher 14 verbunden
ist und das Bezugszeichen 15 trägt. Dieses Steuermittel 15 ist
zur Ansteuerung des Steuermittels 9 und des Generators 13 mit
diesem verbunden. Die Verbindung des Pufferspeichers 8 zu
dem Mikrocontroller-Bus 3 erfolgt
zu dem Speicher 14, der als sogenannter first-in-first-out, FIFO-Speicher,
ausgelegt und von dem Steuermittel 15 angesteuert ist.
Das FIFO-Prinzip bedeutet dabei, dass der zuerst gespeicherte Wert
auch zuerst auslesbar ist.
-
Die
zweite Registereinrichtung 7 weist ein Dateneingangsregister 16 und
ein Datenausgangsregister 17 auf, die zur Übertragung
von Daten in der jeweiligen Richtung mit dem Speicher 14 des
Pufferspeichers 8 gekoppelt sind. Außerdem ist ein Ein-/Ausgangspufferspeicher 18 vorgesehen,
der das Dateneingangsregister 16 und das Datenausgangsregister 17 mit
der zweiten Datenein- und -ausgabeschnittstelle 4 verbindet.
-
Der
Steuersignalgenerator 10 umfasst neben dem eigentlichen,
programmierbaren Signalgenerator 19 einen Taktgenerator 20,
einen Generator zum Dunkeltasten 21 sowie einen Generator 22 zur Erzeugung
eines Abtastsignals, englisch: strobe. Dieser Generator 22 ist
ebenfalls programmierbar ausgebildet. Der Taktgenerator 20 ist
mit einem externen Taktanschluss 23 verbunden. Außerdem ist der
Taktgenerator 20 zur Ansteuerung des Generators zum Dunkeltasten 21 mit
diesem, sowie mit dem programmierbaren Signalgenerator 19 und
mit dem Generator zur Erzeugung eines Abtastsignals 22 zur Zuführung jeweiliger
Taktsignale verbunden. Der Generator zum Dunkeltasten 21 steuert über jeweilige Verbindungen
den programmierbaren Signalgenerator 19 und den programmierbaren
Generator zur Erzeugung eines Abtastsignals 22 an. Letzterer
wiederum ist über
eine Steuerleitung mit dem programmierbaren Signalgenerator 19 verbunden.
Der programmierbare Signalgenerator 19 ist bidirektional
mit dem Ein-/Ausgangspufferspeicher 18 verbunden. Außerdem ist
der programmierbare Signalgenerator 19 über Steuerleitungen mit dem
Dateneingangsregister 16 und dem Datenausgangsregister 17 sowie
dem Steuermittel 15 im Pufferspeicher 8 verbunden.
Die erzeugten Steuer- und Abtastsignale werden über jeweils mehrere Bit breite
Steueranschlüsse
geführt, die
sowohl den programmierbaren Signalgenerator 19, als auch
den Generator zur Erzeugung eines Abtastsignals 22, mit
der Signalleitung 5 zum Koppeln mit Peripherie-Geräten verbinden.
-
Die
erste Registereinrichtung 6 übernimmt den Zugriff auf den
Mikrocontroller-Bus 3 zu den von ihr umfassten Registern
in der Registerbank 11, die Datenübertragung im Rahmen eines
direkten Speicherzugriffs, DMA zu und von dem Pufferspeicher 8 und
von und zu an den Mikrocontroller-Bus 3 angeschlossenen
Mikrocontroller-Speicherbauteilen, nicht eingezeichnet. Weiterhin
dient die erste Registereinrichtung 6 zur Erzeugung von
Unterbrechungsanforderungssignalen und zur Steuerung des Lese-Schreibzugriffs
sowie zum Lesen und Schreiben von Statussignalen. Der Pufferspeicher 8 speichert dabei
alle Daten, die im Rahmen eines direkten Speicherzugriffs gesendet
oder empfangen werden.
-
Der
Steuersignalgenerator 10 dient zur Erzeugung aller Steuersignale
für die
Signalleitung 5 zum Koppeln mit Peripherie-Geräten, die
ebenfalls als Bus ausgeführt
ist, und erzeugt diese Signale dabei mit steuerbarem Zeitablauf.
Außerdem
wer den programmierbare Abtastsignale für das Einlesen von Daten über die
Schnittstelle 4 erzeugt. Diese Abtastsignale können selbstverständlich durch
externe Signale angestoßen
werden.
-
Die
erste Registereinrichtung 6 bewirkt alle nötigen Schnittstellenaufgaben,
die normalerweise in Bussystemen moderner Mikrocontroller auftreten. Darüber hinaus
unterstützt
die Registereinrichtung 6 den direkten Speicherzugriff
zur Ansteuerung oder zum Auslesen von Peripherie-Geräten über die
vorgeschlagene Schnittstellenanordnung. Dies dient insbesondere
zur Übertragung
großer
Datenblöcke. Das
Steuermittel 9 zum Durchführen eines direkten Speicherzugriffs
kann dabei als sogenannter DMA-Host oder DMA-Slave konfiguriert
sein. Im Falle des DMA-Host steuert das Steuermittel 9 den
gesamten Datenfluss bezüglich
direktem Speicherzugriff. In diesem Fall steuert das Steuermittel 9 einen
kontinuierlichen Datentransfer. Immer dann, wenn der Pufferspeicher 8 leer
oder nahezu leer bezüglich
gespeicherter Daten ist, wird ein Direktspeicherzugriff von dem
Steuermittel 9 ausgelöst
und es werden Daten von einem an den Bus angeschlossenen Hauptspeicher
zu dem Pufferspeicher übertragen,
und zwar so lange, bis der Pufferspeicher 8 voll ist. Dabei
ist keine Unterbrechungsanforderung, englisch: interrupt nötig, da
das Steuermittel 9 als DMA-Master beziehungsweise DMA-Host
die gesamte Datenflusssteuerung übernimmt.
Alternativ kann das Steuermittel 9 als DMA-Slave konfiguriert
sein. In diesem Fall wird ein Direktspeicherzugriff softwaregesteuert
ausgelöst
mittels eines DMA-Master, der an das Bussystem 3 angeschlossen,
aber vorliegend nicht eingezeichnet ist. In diesem Fall werden ebenfalls
Daten vom Hauptspeicher zum Pufferspeicher 8 übertragen.
Dabei muss ein Unterbrechungsanforderungssignal von der Schnittstellenanordnung 24 erzeugt
werden, um die Steuersoftware über
den Status des Pufferspeichers 8 zu informieren.
-
Wenn
weitere Daten in den Pufferspeicher 8 übertragen werden können, muss
diese Software den nächsten
den DMA-Transfer auslösen.
-
Der
Pufferspeicher 8 dient zum Speichern derjenigen Daten,
die zu einem dem Mikrocontroller zugeordneten Speicher übertragen
werden, oder die von einem solchen Speicher zu der vorgeschlagenen Schnittstellenanordnung übertragen
werden. Der Pufferspeicher dient dabei zugleich zum Bewirken einer
Trennung zwischen der Taktfrequenz des Mikrocontrollers und des
angeschlossenen Bussystems 3 einerseits und dem Takt auf
der Signalleitung 5 zum Anschließen externer Peripherie-Geräte andererseits.
Dadurch kann die zweite Datenein- und -ausgabeschnittstelle 4 bei
einer anderen Frequenz betrieben werden, als die Frequenz des Mikrocontrollers
und als die Taktfrequenz des Mikrocontroller-Busses 3.
Damit kann die volle Datenübertragungsrate
am I/O-Anschluss 4 unabhängig von der jeweils geltenden
Bustaktfrequenz des Mikrocontroller-Busses 3 erzielt werden. Dies
ist insbesondere dann vorteilhaft, wenn variable Taktfrequenzen
zum Betrieb des Mikrocontroller-Busses 3 vorgesehen sind.
-
Das
Steuermittel 15 des Pufferspeichers 8 ist ausgelegt
zum Erzeugen von sogenannten Flags, die folgende Zustände des
Speichers anzeigen: leer, fast leer, halb voll, fast voll und voll.
Dies dient zur oben erwähnten
DMA- und Interrupt-Steuerung. Zur Steuerung einer Datenabgabe an
der zweiten Datenein- und -ausgabeschnittstelle 4 wird
ein DMA-Request dann erzeugt, wenn das Signal fast leer des Pufferspeichers 8 angezeigt
ist. Dies bewirkt ein Auffüllen des
Pufferspeichers 8 mit dem nächsten Datenblock. Bei dem
Auslesen von Daten aus einem externen Peripherie-Gerät über die
zweite Schnittstelle 4 wird ein DMA-Requestsignal dann
erzeugt, wenn das Flag fast voll angezeigt wird, wodurch dann der
Pufferspeicher über
den Bus 3 wieder entleert wird. In weiteren Ausführungen
können
diese Flags auch als Bedingungen zur Steuerung eines Interrupt benutzt werden,
was es ermöglicht,
dass DMA-Übertragungen
durch Softwaresteuerung ausgelöst
werden.
-
Mit
dem Steuersignalgenerator 10 ist es möglich, Daten über die
Schnittstelle 4 an Peripherie-Geräte abzugeben, und zwar vollständig unabhängig von
einem an den Bus 3 angeschlossenen Mikrocontroller und
unabhängig
von der ersten Registereinrichtung 6. Der Steuersignalgenerator 10 kann
in weiten Bereichen programmiert werden, wie nachfolgend näher erläutert. Jedes
von dem Steuersignalgenerator 10 erzeugte Steuersignal
ist dabei als unabhängiger
Ausgangskanal interpretierbar ähnlich
wie die Kanäle
eines Testgerätes.
Diese Steuerkanäle können durch
das Setzen von bestimmten Pegeln und von Zeitstempeln generiert
werden. Drei zeitlich aufeinander folgende Pegelwerte und zwei Zeitstempel
genügen,
um die üblicherweise
vorkommenden Signalformen generieren zu können, nämlich Signale des Typs return-to-zero,
RZ, return-to-one, RO, non-return-to-zero,
NRZ und non-return-to-one, NRO.
-
Der
Wert des ersten Zeitstempels legt dabei fest, zu welcher Zeit von
einem ersten auf einen zweiten Signalpegel umgeschaltet wird. In
Analogie hierzu dient der zweite Zeitstempel dazu, zu bestimmen, zu
welcher Zeit der Signalpegel von dem zweiten Signalpegel auf einen
dritten Signalpegel umgeschaltet wird. Der Taktgenerator 20 dient
dazu, jeden Zyklus in k Subzyklen zu unterteilen. Die Zahl k dient
dabei zum Festlegen der Zeitauflösung
innerhalb eines Zyklus. Steuersignale werden für alle diejenigen Zyklen generiert,
in denen der Pufferspeicher nicht leer ist. Wenn der Pufferspeicher 8 leer
ist, wird die Schnittstellenanordnung in einen Leerlauf betrieb versetzt.
In dieser Leerlaufbetriebsart werden alle Steuersignale auf einen
programmierbaren Leerlaufwert gesetzt. Der Steuersignalgenerator 10 umfasst
außerdem
einen Generator zum Dunkeltasten 21, der auch als Maskengenerator
bezeichnet wird. Der Maskengenerator ermöglicht es, dass Signale erzeugt
werden, die sich in aufeinander folgenden Zyklen voneinander unterscheiden.
Typische Anwendungsbeispiele für solche
Signale sind Steuerausgänge,
die Daten-Bytes mit hohem oder niedrigem Paritätsbit oder mit geradem oder
ungeradem Paritätsbit
signalisieren. Zur Maskierung werden beispielhaft jeweils vier aufeinander
folgende Zyklen miteinander gruppiert. Somit ist es auch möglich, durch
Erzeugung korrespondierender Steuersignale ein 32-Bit Datenwort
in einem Byte parallel auszugeben und dabei zu signalisieren, welches
das erste, zweite, dritte und vierte Byte ist.
-
Die
zweite Registereinrichtung 7 dient zu verschiedenen Zwecken.
Einerseits wird eine Seriell-/Parallelwandlung und eine Parallel-/Seriellwandlung
von Eingangs- beziehungsweise Ausgangsdaten über die zweite Schnittstelle 4 mit
den Registern 16, 17, 18 bewirkt. Die
Speicherbreite des Pufferspeichers 8 kann entsprechend
der Busbreite des Mikrocontroller-Busses 3 implementiert
sein, um den DMA-Zugriff zu optimieren und um den Speicherzugriff
im DMA-Betrieb und die Übertragung
von Daten zwischen dem Pufferspeicher 8 und einem Mikrocontroller-Speicher
mit maximaler Ausnutzung des Mikrocontroller-Busses zu bewirken. Der Datenstrom mit
solcher Bitbreite kann mit dem Datenausgangsregister 17 serialisiert
werden. Beispielhaft könnte
eine Mikrocontroller-Busbreite von 32 Bit und eine Datenausgangsbreite
an der Schnittstelle 4 mit 16 oder acht Bit vorliegen.
Um diese Serialisierung, das heißt Parallel- zu Seriellwandlung
durchzuführen,
werden die Daten vom Pufferspeicher 8 zu dem Datenausgangsregister 17 übertra gen.
Anschließend
werden zwei oder vier Zyklen benutzt, um die eigentlichen Ausgangsdaten
am Ausgang 4 zu erzeugen, bevor das nächste Wort aus dem Pufferspeicher
in das Datenausgangsregister geschrieben wird. Entsprechendes gilt
für das
Dateneingangsregister 16. Beispielsweise werden zwei oder
vier Datenworte von sechzehn beziehungsweise acht Bit an der Schnittstelle 4 in
das Dateneingangsregister 16 eingelesen, bevor die Daten
in einer Breite von 32 Bit in den Pufferspeicher 8 geschrieben
werden. Bevorzugt wird das Dateneingangsregister 16 mit
einem Strobe-Signal gesteuert, welches in dem Steuersignalgenerator 10 durch
den Abtastsignalgenerator 22 erzeugt wird. Eine dritte
Funktion der zweiten Registereinrichtung 7 betrifft den
Pufferspeicher 18 für
eingehende und ausgehende Daten. Dieser Pufferspeicher 18 wird ebenfalls
von Steuersignalen des Steuersignalgenerators 10 gesteuert.
Somit kann der Ausgang nicht nur auf einen definierten Ausgangspegel
wie high oder low gesetzt werden, sondern auch auf einen Tristate-Wert,
nämlich
hochohmig.
-
Somit
ist mit geringem Aufwand eine hohe Datenrate zur Ansteuerung von
Peripherie-Geräten bei
einem System-on-Chip möglich,
ohne dabei dem Mikrocontroller Rechenleistung abzuverlangen.
-
2 zeigt
ein Ausführungsbeispiel
des programmierbaren Signalgenerators 19 von 1.
Die Signalpegel p1, p2, p3 sind programmierbar. Auch die Umschaltzeitpunkte
t12, t23, bei denen sich der Signalpegel ändert, sind programmierbar.
Selbstverständlich
können
auch mehr oder weniger aufeinander folgende Signalpegel p1, p2,
p3 vorgesehen sein sowie eine entsprechende Anzahl von Zeitstempeln t12,
t23 für
Signalübergänge. Solche
Signalformen des Steuersignals werden nur dann erzeugt, wenn der
Pufferspeicher nicht leer ist. Andern falls wird die Schnittstellenanordnung
in einen Leerlaufbetrieb geschaltet. In dieser Leerlaufbetriebsart
sind Leerlauf-Signalpegel der Steuersignale vorgesehen, die ebenfalls
programmierbar und im vorliegenden Beispiel mit dem Leerlauf-Pegelwert pidle bezeichnet sind.
Um eine hohe Flexibilität
bei der Ansteuerung externer Peripherie-Geräte zu gewährleisten, ist eine Maskierungsfunktion
vorgesehen. Ein Maskengenerator legt die Zeitperioden fest, in der
die Steuersignale auf den Leerlauf zustand pidle oder andere Zustände maskiert
werden. Dies wird auch als Dunkeltasten bezeichnet.
-
3 zeigt
Beispiele der Signalverläufe
von mit der Anordnung nach 2 erzeugten
Steuersignalen. Dabei ist in der obersten Zeile der Zyklus des Ein-/Ausgangssignals
gezeigt. Darunter sind folgende mit s1 bis s4 bezeichnete Signaltypen
beispielhaft dargestellt: ein NRZ-Signal, ein RZ-Signal, ein NRO-Signal
und ein RO-Signal. In der am unteren Bildrand angegebenen Tabelle
sind die jeweils zur Programmierung dieser Signale vorgesehenen
Pegel p1, p2, p3 und Umschaltzeitpunkte t12, t23 aufgelistet.
-
In 4 ist
ein Beispiel zum Versetzen der Steuersignale s1 bis s4 in den Leerlaufbetrieb
und zum Maskieren der Signale gezeigt. Mit dem Maskieren können Signale
erzeugt werden, die in bestimmten Taktzyklen eine entsprechende
Maske aufweisen. Am unteren Bildrand sind beispielhafte Definitionen
für diese
Zustände
bei den Signalen s1 bis s4 gezeigt.
-
5 zeigt
ein beispielhaftes Blockschaltbild eines System-On-Chip 3, 24, 25, 26 mit
einer vorgeschlagenen Schnittstellenanordnung 24. Die Schnittstellenanordnung 24,
wie beispielhaft anhand von 1 gezeigt,
ist über
den Bus 3 an einen Microcontroller 26 angeschlossen,
der einen Speicher baustein 25 umfasst. An der zweiten Datenein-
und -ausgabeschnittstelle 4 der Schnittstellenanordnung
ist eine Signalleitung 5 angeschlossen, an die ein Ausgabegerät 27 angeschaltet
ist. Alternativ können
selbstverständlich
auch mehrere Schnittstellenanordnungen 24 an den Mikrocontroller-Bus 3 angeschlossen sein.
-
- 1
- Datenein-
und -ausgabeschnittstelle
- 2
- Datenein-
und -ausgabeschnittstelle
- 3
- Mikrocontroller-Bus
- 4
- Datenein-
und -ausgabeschnittstelle
- 5
- Signalleitung
- 6
- Registereinrichtung
- 7
- Registereinrichtung
- 8
- Pufferspeicher
- 9
- Steuermittel
für DMA
- 10
- Steuersignalgenerator
- 11
- Registerbank
- 12
- Steuerblock
- 13
- IRQ-Generator
- 14
- RAM
- 15
- FIFO-Controller
- 16
- Dateneingangsregister
- 17
- Datenausgangsregister
- 18
- Ein-/Ausgabeschnittstelle
- 19
- programmierbarer
Signalgenerator
- 20
- Taktgenerator
- 21
- Maskengenerator
- 22
- Strobe-Signal-Generator
- 23
- Taktanschluss
- P1
- Signalpegel
- P2
- Signalpegel
- P3
- Signalpegel
- T12
- Umschaltzeitpunkt
- T23
- Umschaltzeitpunkt
- S1
- NRZ-Signal
- S2
- RZ-Signal
- S3
- NRO-Signal
- S4
- RO-Signal