DE19929419A1 - Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen - Google Patents

Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen

Info

Publication number
DE19929419A1
DE19929419A1 DE19929419A DE19929419A DE19929419A1 DE 19929419 A1 DE19929419 A1 DE 19929419A1 DE 19929419 A DE19929419 A DE 19929419A DE 19929419 A DE19929419 A DE 19929419A DE 19929419 A1 DE19929419 A1 DE 19929419A1
Authority
DE
Germany
Prior art keywords
bus
data
memory
interrupt
synchronous communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19929419A
Other languages
English (en)
Other versions
DE19929419C2 (de
Inventor
Michael Feustel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sci Worx GmbH
Original Assignee
SICAN GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SICAN GmbH filed Critical SICAN GmbH
Priority to DE19929419A priority Critical patent/DE19929419C2/de
Priority to US09/602,446 priority patent/US6678766B1/en
Priority to JP2000191662A priority patent/JP2001036555A/ja
Publication of DE19929419A1 publication Critical patent/DE19929419A1/de
Application granted granted Critical
Publication of DE19929419C2 publication Critical patent/DE19929419C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

Ein synchroner Kommunikationsbus zur Übertragung von Daten zwischen Schaltungsmodulen (2), die an den Kommunikationsbus angeschlossen sind, hat mindestes einen Datenbus (1, 3), einen Steuerbus (4) und eine Bus-Steuerung (5), wobei die Schaltungsmodule zur Anforderung von Daten bzw. zum Signalisieren der Datensendebereitschaft ein Interrupt-Signal an die Bus-Steuerung (5) senden. In jedem Schaltungsmodul (2) ist ein Speicher (6) zum Zwischenspeichern von Daten vorgesehen, wobei die Speicher (6) an den Datenbus (1, 3) angeschlossen sind, und die Bus-Steuerung (5) ist zur Freischaltung definierter Speicher (6) ausgebildet, um Daten von ausgewählten Speichern (6) auf den Datenbus (1, 3) bzw. von dem Datenbus (1, 3) in die Speicher (6) zu leiten.

Description

Die Erfindung betrifft einen synchronen Kommunikationsbus zur Übertragung von Daten zwischen Schaltungsmodulen, die an den Kommunikationsbus angeschlossen sind, mit mindestens einem Da­ tenbus, einem Steuerbus und einer Bus-Steuerung, wobei die Schaltungsmodule zur Anforderung von Daten bzw. zum Signalisie­ ren der Datensendebereitschaft ein Interrupt-Signal an die Bus- Steuerung senden. Die Erfindung betrifft weiterhin ein Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen über einen Bus.
Bus-Architekturen zur Kommunikation zwischen Schaltungsmodulen sind insbesondere von Mikrocomputern hinreichend bekannt. Ein typischer Systembus für einen Mikro-Computer ist in Scholze/Rei­ ne: Einführung in die Mikrocomputer-Technik: Grundlagen, Pro­ grammierung, Schaltungstechnik, Teubner-Studienskripten, Teub­ ner-Verlag, Stuttgart 1985, Seiten 34 bis 37, beschrieben. Ein typischer Systembus besteht aus einem Datenbus, einem Adressbus und einem Steuerbus, die an einen Mikroprozessor angeschlossen sind und von diesem gesteuert werden. An dem Bus sind weitere Schaltungsmodule, wie z. B. Hauptspeicher, Ein-/Ausgabekanäle etc. angeschlossen. Über den Datenbus werden Daten von bzw. zu dem Mikroprozessor bidirektional übertragen. Über den Adressbus überträgt der Mikroprozessor die aktuelle Adresse in einem Schaltungsmodul, z. B. eine Speicheradresse, die Adresse eines Ein-/Ausgabekanals oder eines Ergänzungsbausteins. Die Adressen sind hierbei kaskadiert, so daß ein Teil der digitalen Adresse zur Selektion des Schaltungsmoduls verwendet werden kann. An den Steuerbus werden Steuersignale, wie z. B. Schreib- und Lese-Si­ gnale etc. übertragen, um die Schaltungsmodule anzusteuern. Die Steuerung des Bussystems erfolgt durch den Mikroprozessor, der die Adressen und Steuersignale festlegt und die an den Bus ange­ schlossenen passiven Schaltungsmodule ansteuert.
Ferner sind Multimikroprozessorsysteme bekannt, bei denen mehre­ re aktive Mikroprozessoren bzw. Schaltungsmodule auf den System­ bus zugreifen. Hierbei ist eine zentrale Bus-Zuteilungslogik vorgesehen, die den Zugriff auf den Systembus steuert, da zu einer Zeit nur ein Schaltungsmodul jeweils auf den Systembus zugreifen kann. Die Bus-Zuteilungslogik ist auch als Interrupt- Controller bekannt. Die Schaltungsmodule senden Interrupt-Sig­ nale, um einen Zugriff auf den Systembus anzufordern. Die Inter­ rupt-Signale sind prioritätsgesteuert und je nach Priorität des Interrupt-Signals erhält das jeweilige Schaltungsmodul für die Dauer eines Datenaustauschs die Regie über den Systembus.
Bei der Entwicklung und der Programmierung von modular aufgebau­ ten integrierten Schaltungen besteht das Problem, die Module mit einem möglichst universellen Bussystem so zusammenzuschalten, daß der Bus möglichst gut ausgelastet ist und eine hohe Daten­ rate der Datenübermittlung über den Bus ermöglicht. Hierbei muß die Steuerung der Schaltungsmodule möglichst einfach sein, so daß der Kommunikationsbus durch einfache Programmierung modifi­ zierbar ist. Weiterhin müssen die Schaltungsmodule ohne großen Aufwand synchronisiert werden können.
Das Problem wird durch den synchronen Kommunikationsbus zur Übertragung von Daten zwischen Schaltungsmodulen dadurch gelöst, daß
  • - in jedem Schaltungsmodul ein Speicher zum Zwischenspeichern von Daten vorgesehen ist, wobei der Speicher an den Daten­ bus angeschlossen ist, und
  • - die Bus-Steuerung zur Freischaltung definierter Speicher ausgebildet ist, um Daten von ausgewählten Speichern auf den Datenbus bzw. von dem Datenbus in die Speicher zu lei­ ten.
Durch die Verwendung eines Speichers in jedem Schaltungsmodul kann der Zugriff der Schaltungsmodule auf den Bus sehr einfach gesteuert werden. Als Speicher sind z. B. FIFO, LIFO, RAM oder Registerspeicher einsetzbar. Ein Speicher ist ein Speicher, der ähnlich wie ein Schieberegister aufgebaut ist, und bei dem die zuerst eingegebenen Daten als erste wieder ausgegeben werden. Äquivalent hierzu sind auch LIFO-Speicher (Kellerspeicher) ver­ wendbar, d. h., daß die zuletzt eingegebenen Daten zuerst wieder ausgegeben werden. Zudem dient das Steuersignal zur Synchroni­ sierung, da pro Taktsignal zum Freischalten eines Speichers ein Datum auf den Bus gelegt wird. Die Verwendung von Speichern hat weiterhin den Vorteil, daß zu diesen Speichern in den Schal­ tungsmodulen keine weiteren Modifikationen zur Anschaltung der Schaltungsmodule an den Bus erforderlich sind. Die Speicher sind zudem einfach parametrierbar und die Länge und Tiefe der Spei­ cher kann im Entwurf über Software-Parameter festgelegt werden. Da der Bus nicht notwendigerweise mit dem Mikroprozessor kommu­ nizieren muß, ist es möglich, Daten von einem Schaltungsmodul in einem Schritt auf weitere Schaltungsmodule zu übertragen. Hierzu muß lediglich ein Speicher eines Schaltungsmoduls auf den Lese- Modus gesetzt werden und mindestens ein weiteres Schaltungsmodul auf den Schreib-Modus gesetzt werden. Die entsprechenden Spei­ cher können dann durch ein Freischalt-Signal gleichzeitig akti­ viert werden.
Es ist weiterhin vorteilhaft, wenn in der Bus-Steuerung ein Be­ fehlsspeicher vorgesehen ist, in dem eine Tabelle von Befehls­ abfolgen abgelegt ist. Hierbei sollte dann für jeden Interrupt jeweils eine Befehlsabfolge definiert sein, wobei die Befehls­ folgen mindestens die auszuwählenden Speicher, die Anzahl der zu übertragenen Daten und die Auswahl des Lese- bzw. Schreibmodus umfassen. Es wird somit vorgeschlagen, daß der Bus-Zugriff von der Bus-Steuerung in Abhängigkeit von dem Interrupt automatisch gesteuert wird. Mit den Befehlsfolgen wird das Auslesen von Da­ ten aus definierten Schaltungsmodulen und das Schreiben der Da­ ten auf andere definierte Schaltungsmodule bzw. den Mikroprozes­ sor gesteuert. Dadurch kann der Bus auf einfache Weise mit Soft­ ware an die jeweiligen speziellen Schaltungsanforderungen ange­ paßt werden, nachdem die Schaltungsmodule mit dem Standard-Bus zu einer gewünschten Schaltung zusammengeschaltet sind. Hierbei sollte für jeden Interrupt eine Priorität festgelegt werden, so daß die Ausführung der Interrupts bzw. der zugehörigen Befehls­ abfolgen in der Reihenfolge der Prioritäten erfolgen kann. Dies hat den Vorteil, daß die Bus-Steuerung nachträglich durch Ver­ änderung der Prioritäten einfach modifiziert werden kann, ohne die Befehlsabfolgen ändern zu müssen. Dies kann z. B. dann not­ wendig sein, wenn sich im Testbetrieb herausstellt, daß ein Speicher überläuft bzw. leerläuft.
Es ist vorteilhaft, wenn der Kommunikationsbus durch die Signale zur Freischaltung der Speicher synchronisiert wird. Die Frei­ schalt-Signale dienen hierbei zur Taktung des Kommunikationsbus. Weiterhin ist es vorteilhaft, wenn der Kommunikationsbus einen Lese-Datenbus zum Lesen von Daten aus einem Schaltungsmodul und einem Schreib-Datenbus zum Schreiben von Daten auf ein Schal­ tungsmodul hat. Dann können Daten mit Hilfe eines Pipelinever­ fahrens mit Ausnahme des ersten und letzten Taktes ohne weitere Taktverluste direkt von einem Schaltungsmodul auf ein anderes Schaltungsmodul geschrieben werden. Hierzu ist vorteilhafterwei­ se ein Zwischenspeicher zwischen dem Lese-Datenbus und dem Schreib-Datenbus vorgesehen, so daß ein Datum in einem ersten Schritt zunächst über den Lese-Datenbus in den Zwischenspeicher geschrieben und in einem zweiten Schritt von dem Zwischenspei­ cher über den Schreib-Datenbus in mindestens ein anderes Schal­ tungsmodul geschrieben wird. Der Zwischenspeicher ist vorteil­ hafterweise ein Multiplexer. Das Multiplexen kann auch über ei­ nen Bus Tristatefähigen erfolgen.
Weiterhin ist es vorteilhaft, wenn pro Schaltungsmodul mehrere Interrupts festlegbar sind. Dann können Interrupts mit gleichen modifizierten Befehlsfolgen aber unterschiedlichen Prioritäten verwendet werden, so daß ein Schaltungsmodul bei einem drohenden Überlauf eine dringlichere Anfrage mit Hilfe eines Interrupts mit höherer Priorität aussenden kann. Die Bus-Steuerung wird dann aufgrund der höheren Priorität den Interrupt bevorzugt aus­ führen.
In der Bus-Steuerung ist vorteilhafterweise ein Befehlskurzspei­ cher und eine Interrupt-Leitung zwischen der Bus-Steuerung und einem Mikroprozessor vorgesehen, so daß der Mikroprozessor Be­ fehlsabfolgen in dem Befehlskurzspeicher schreiben kann, wenn ein Interrupt an den Mikroprozessor gesendet wird. Hierdurch können kurzfristig aktive Befehlsfolgen für die Interrupts der Schaltungsmodule festgelegt werden. Damit ist die Bus-Steuerung auch während des Betriebs modifizierbar.
Weiterhin ist der Mikroprozessor mit den Schaltungsmodulen ge­ koppelt und so ausgebildet, daß ein Füllstandsgrad der FIFO- Speicher mit Daten durch den Mikroprozessor festgelegt wird, wobei bei Erreichen des festgelegten Füllstandsgrades ein Inter­ rupt gesendet wird. Dadurch können die Schaltungsmodule zentral durch den Mikroprozessor bzw. durch ein Programm, das von dem Mikroprozessor ausgeführt wird, durch einfaches Parametrieren der Speicher gesteuert werden.
Der synchrone Kommunikationsbus bietet eine gute Auslastung der Taktzyklen. Durch die Konzeption des Kommunikationsbus können modular aufgebaute Halbleiter-Schaltungen mit Standardmitteln einfach entwickelt und angepaßt werden.
Die Erfindung wird nachfolgend anhand der beigefügten Zeichnun­ gen näher erläutert. Es zeigen:
Fig. 1 Wirkschaltbild des synchronen Kommunikationsbus;
Fig. 2 Wirkschaltbild eines Schaltungsmoduls mit FIFO- Speichern;
Fig. 3 Ausgangssignale eines FIFO-Speichers;
Fig. 4 Timing-Diagramm des Kommunikationsbus.
Die Fig. 1 läßt ein Blockschaltbild für eine Ausführungsform des synchronen Kommunikationsbus erkennen. Der Kommunikationsbus hat einen Lese-Datenbus 1 zum Lesen von Daten aus einem Schal­ tungsmodul 2 und einen Schreib-Datenbus 3 zum Schreiben von Da­ ten auf ein Schaltungsmodul 2. Weiterhin ist ein Steuerbus 4 vorgesehen, an den die Schaltungsmodule 2 und eine Bus-Steuerung 5 geschaltet sind. Über den Steuerbus 4 werden Interrupt-Signale von den Schaltungsmodulen 2 an die Bus-Steuerung 5 übertragen und Befehlsfolgen von der Bus-Steuerung 5 an die Schaltungsmodu­ le 2 zurückübertragen. Die Befehlsfolgen dienen zum Auswählen bzw. Aktivieren von FIFO-Speichern (First-IN-First-OUT) 6. Fer­ ner wird über den Steuerbus 4 festgelegt, wieviel Daten pro In­ terrupt-Signal bzw. Aktivierungssignal nacheinander übertragen werden. Weiterhin wird über den Steuerbus 4 festgelegt, ob von den Schaltungsmodulen 2 gelesen bzw. geschrieben wird, d. h. es wird ein Lese- oder Schreibmodus festgelegt.
In den Schaltungsmodulen 2 sind FIFO-Speicher 6 vorgesehen, wo­ bei jeweils ein Lese-FIFO 6a und ein Schreib-FIFO 6b vorhanden ist. Die Schaltungsmodule 2 beinhalten weiterhin An­ wendungsschaltungen 7 zum Ausführen definierter Anwendungen, wie z. B. ETHERNET-INTERFACE, UARTS, DIGITALE SIGNALPROZESSOREN (DSP), etc.
Zwischen dem Lese-Datenbus 1 und dem Schreib-Datenbus 3 ist min­ destens ein Zwischenspeicher 8 vorgesehen, der als Multiplexer ausgeführt sein kann. Der Zwischenspeicher 8 wird durch eine Steuerleitung 9 von der Bus-Steuerung 5 angesteuert, so daß Da­ ten in einem ersten Schritt von einem Schaltungsmodul 2 über den Lese-Datenbus 1 auf den Zwischenspeicher 8 geschrieben werden können und in einem zweiten Schritt die Daten von dem Zwischen­ speicher 8 über den Schreib-Datenbus 3 auf mindestens ein weite­ res Schaltungsmodul 2 geschrieben werden können. Wenn eine Ab­ folge von Daten auf diese Weise übertragen wird, ist es möglich pro Takt ein Datum zu lesen und zu schreiben. Lediglich am An­ fang und am Ende eines Übertragungszyklusses wird ein Takt nicht zum Schreiben bzw. Lesen ausgenutzt. Auf diese Weise kann der Kommunikationsbus sehr effektiv betrieben werden.
Die Bus-Steuerung 2 hat Elemente 10a, 10b, zum Freischalten der FIFO-Speicher 6a, 6b. Hierbei ist für das Lesen und das Schrei­ ben jeweils ein Element 10a, 10b, vorgesehen. Die Bus-Steuerung 5 hat weiterhin eine interne Steuerungsschaltung 11 sowie einen Befehlsspeicher 12, in dem Befehlsabfolgen für die Interrupts festgelegt und gespeichert sind. Der Befehlsspeicher 12 hat zu­ dem einen Befehlskurzspeicher, um kurzzeitig aktivierbare Be­ fehlsfolgen über einen Registersteuer 13 von einem Mikroprozes­ sor 14 zu empfangen und abzuspeichern. An dem Programmbus 13 sind weiterhin der Mikroprozessor 14 und Steuerungsregister 15 der Schaltungsmodule 2 geschaltet.
Die Bus-Steuerung 5 ist mit einer Interrupt-Leitung 16 mit dem Mikroprozessor 14 verbunden, so daß eine Anforderung von Be­ fehlsabfolgen mit einem Interrupt an dem Mikroprozessor 14 ge­ schickt werden kann und der Mikroprozessor 14 daraufhin kurzfri­ stig aktivierbare Befehlsfolgen festlegt und in dem Befehlskurz­ speicher ablegt. Auf diese Weise kann der Mikroprozessor 14 die Steuerung über den Kommunikationsbus übernehmen. Der Mikropro­ zessor 14 verfügt hierfür über einen Adress-Decoder 17, um Adressen über den Registersteuer 13 an die Steuerregister 15 der Schaltungsmodule 2 zu schicken und damit einen gezielten Daten­ zugriff auf die Schaltungsmodule 2 zu ermöglichen.
Der Datenzugriff erfolgt bei dem synchronen Kommunikationsbus derart, daß von einem Schaltungsmodul 2 ein Interrupt über den Steuerbus 4 an die Bus-Steuerung 5 geschickt wird. Diese stellt daraufhin die Priorität des Interrupts fest und führt Befehls­ abfolgen der nach Priorität geordnet vorliegenden Interrupts aus. Hierzu werden Lese- und Schreib-Freigabesignale an die FIFO-Speicher 6a, 6b der Schaltungsmodule 2 geschickt, die darauf­ hin Daten von dem Lese-FIFO 6a auf den Lese-Datenbus 1 legen bzw. Daten von dem Schreib-Datenbus 3 in die Schreib-FIFOS 6b einschreiben. Die Übertragung von Datenzyklen erfolgt hierbei über den Zwischenspeicher 8, so daß die Daten pipelineartig von dem Lese-Datenbus 1 auf den Schreib-Datenbus 3 gelenkt werden.
Die Fig. 2 läßt ein Blockschaltbild eines Schaltungsmoduls 2 er­ kennen. Das Schaltungsmodul 2 hat eine Anwendungsschaltung 7, d. h. eine Applikationsfunktion. Zudem sind FIFO-Speicher 6a, 6b vorgesehen, wobei ein Lese-FIFO 6a mit dem Lese-Datenbus 1 und ein Schreib-FIFO 6b mit dem Schreib-Datenbus 3 verbunden ist. Die FIFO-Speicher 6a, 6b werden über den Steuerbus 4 geschaltet. Die FIFO-Speicher sind weiterhin so ausgebildet, daß sie Inter­ rupt-Signale auf den Steuerbus 4 legen können.
Die Schaltungsmodule 2 haben zudem Steuerregister 15, um Steuer­ signale über einen Multiplexer 17 auf den Registersteuer 13 zu legen. Die Steuerregister 15 werden über den Registersteuer 13 angesteuert. Hierbei werden Adressen PROC_ADDR, ein Lese- /Schreibmodus PROC_R_WN und Programmdaten PROC_DATA_IN an die Schaltungsmodule 2 übertragen, so daß die Schaltungsmodule 2 mit Hilfe der Programmdaten über den Registersteuer 13 gesteuert werden können.
Die Fig. 3 läßt ein Blockschaltbild eines FIFO-Speichers 6 er­ kennen, daß als Lese-FIFO-Speichers 6a ausgebildet ist. Auf der Anwenderseite des FIFO-Speichers 6a ist ein Dateneingang WR_DATA für Daten vorgesehen, die auf den FIFO Speicher 6a geschrieben werden. Weiterhin wird von der Anwendungsschaltung 7 ein Schreib-Freigabesignal (WR_ENA) und ein Datenendesignal (Frame- End) an den FIFO-Speicher 6a geschickt.
Über den Programmbus 13 werden Steuerungsdaten (CTRL_DATA) an den FIFO-Speicher 6a geschickt. Dies können die Werte für die Füllstände der Speicher, d. h. die Werte der Füllstandsregister sein.
Mit dem Kommunikationsbus ist der FIFO-Speicher 6a über einen Datenausgang verbunden, der mit dem Lese-Datenbus 1 verschaltet ist. Leitungen zur Lese-Freigabe (RD-ENA) und zur Interrupt- Steuerung sind mit dem Steuerbus 4 verbunden. Die Interrupt- Steuerung erfolgt durch mehrere Leitungen, die den Füllstands­ grad des FIFO-Speichers 6a angeben. Dies sind Signale, die einen leeren FIFO-Speicher 6a (Empty-INT) einen vollen FIFO-Speicher 6a (Full-INT), einen halbvollen FIFO-Speicher 6a (half-full-INT) einen nahezu vollen FIFO-Speicher 6a (almost-full-INT) anzeigen. Zudem ist ein Steuersignal für das Ende eines Datenzyklusses (Frame-End-Int) vorgesehen. Über den Steuerbus 4 können somit Interrupt-Signale mit verschiedener Priorität verschickt werden, wobei die Priorität in dem Prioritätsregister in der Bussteue­ rung festgelegt wird. Der Schreib-FIFO-Speicher 6b ist ähnlich hierzu aufgebaut.
Die Fig. 4 läßt ein Timing-Diagramm für den Kommunikationsbus erkennen. Der Kommunikationsbus wird durch ein Taktsignal getak­ tet bzw. synchronisiert. Zum Auslesen von Daten aus einem Schal­ tungsmodul 2 wird ein Lese-FIFO-Speicher 6a freigeschaltet (RD_FIFO_ENA). Anschliessend werden von dem Lese-FIFO-Speicher 6a Daten auf den Lese-Datenbus 1 geschickt (COM_BUS_IN). Sobald die Daten auf den Lese-Datenbus 1 geschickt werden, wird ein Si­ gnal zur Freischaltung des Zwischenspeichers 8 von der Bus- Steuerung 5 an den Zwischenspeicher 8 geschickt (COM-BUS-ENA). Hierdurch werden die Daten in dem Zwischenspeicher 8 zwischenge­ speichert. Nachdem das erste Datum D 0 zwischengespeichert wur­ de, wird dieses auf den Schreib-Datenbus 3 geschickt (COM_BUS_OUT) und mit Hilfe eines Freischalt-Signals für einen Schreib-FIFO-Speicher 6b eines ausgewählten Schaltungsmoduls 2 übertragen. Das Lesen der Daten aus einem Schaltungsmodul 2 er­ folgt so lange, wie das Freischalt-Signal (RD_FIFO_ENA) anliegt und die Daten werden pipelineartig aus dem Zwischenspeicher 8 so lange in ein Schaltungsmodul 2 geschrieben, wie dort ebenfalls ein Freischalt-Signal (WR_FIFO-ENA) anliegt. Auf diese Weise ist es möglich, ohne Taktverluste Daten kontinuierlich von einem Schaltungsmodul 2 auf mindestens ein weiteres Schaltungsmodul 2 zu übertragen. Hierbei können auch mehrere Schaltungsmodule 2 gleichzeitig angesteuert werden, so daß Daten von dem Schreib- Datenbus 3 gleichzeitig auf mehrere Schaltungsmodule 2 geschickt werden können. Hierdurch können z. B. ATM-Schalter (Asynchron- Transfer-Mode-Switch) realisiert werden.
Der Kommunikationsbus eignet sich vor allem für modulartig auf­ gebaute Halbleiterschaltungen und insbesondere für hochkomplexe integrierte Systeme mit einer Vielzahl von internen Schaltungs­ modulen. Die Schaltungsmodule 2 können z. B. arithmetische Co- Prozessoren, Decoder wie z. B. Audio- und Videodecoder, interne digitale Signalprozessoren (DSP), ETHERNET-Interfaces, HDLC-In­ terfaces, Utopia-Interfaces, parallele Interfaces, UARTS etc. sein.

Claims (19)

1. Synchroner Kommunikationsbus zur Übertragung von Daten zwi­ schen Schaltungsmodulen (2), die an den Kommunikationsbus angeschlossen sind, mit mindestens einem Datenbus (1, 3), einem Steuerbus (4) und einer Bus-Steuerung (5), wobei die Schaltungsmodule (2) zur Anforderung von Daten bzw. zum Signalisieren der Datensendebereitschaft ein Interrupt-Si­ gnal an die Bus-Steuerung (5) senden, dadurch gekennzeich­ net, daß in jedem Schaltungsmodul (2) ein Speicher (6) zum Zwischenspeichern von Daten vorgesehen ist, wobei die Speicher (6) an den Datenbus (1, 3) angeschlossen sind, und die Bus-Steuerung (5) zur Freischaltung definierter Spei­ cher (6) ausgebildet ist, um Daten von ausgewählten Spei­ chern auf den Datenbus (1, 3) bzw. von dem Datenbus (1, 3) in die Speicher (6) zu leiten.
2. Synchroner Kommunikationsbus nach Anspruch 1, dadurch ge­ kennzeichnet, daß die Bus-Steuerung (5) einen Befehlsspei­ cher (12) hat, wobei für die Interrupt-Signale jeweils Be­ fehlsabfolgen festgelegt und in dem Befehlsspeicher (12) abgelegt sind und die Befehlsfolgen mindestens die auszu­ wählenden Speicher (6), die Anzahl der zu übertragenden Daten und einen Lese- bzw. Schreibmodus umfassen.
3. Synchroner Kommunikationsbus nach Anspruch 2, dadurch ge­ kennzeichnet, daß für jedes Interrupt-Signal eine Priorität festgelegt ist und die Bus-Steuerung (5) so ausgebildet ist, daß die Befehlsabfolgen der Interrupt-Signale in der Reihenfolge der Prioritäten ausgeführt werden.
4. Synchroner Kommunikationsbus nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Kommunikations­ bus durch die Signale zur Freischaltung der Speicher (6) durch die Bus-Steuerung (5) synchronisiert ist.
5. Synchroner Kommunikationsbus nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Lese-Datenbus (1) zum Lesen von Daten aus einem Schaltungsmodul (2) und ein Schreib-Datenbus (3) zum Schreiben von Daten auf ein Schaltungsmodul (2) vorgesehen ist.
6. Synchroner Kommunikationsbus nach Anspruch 5, dadurch ge­ kennzeichnet, daß zwischen dem Lese-Datenbus (1) und dem Schreib-Datenbus (3) ein Zwischenspeicher (8) vorgesehen ist, um Daten von dem Lese-Datenbus (1) auf den Schreib- Datenbus (3) zu übertragen.
7. Synchroner Kommunikationsbus nach Anspruch 6, dadurch ge­ kennzeichnet, daß der Zwischenspeicher (8) ein Multiplexer ist.
8. Synchroner Kommunikationsbus nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß pro Schaltungsmodul (2) mehrere Interrupts festlegbar sind.
9. Synchroner Kommunikationsbus nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen Befehlskurzspeicher in der Bus-Steuerung (5) und eine Interrupt-Leitung (16) zwischen der Bus-Steuerung (5) und einem Mikroprozessor (14), wobei der Mikroprozessor (14) Befehlsabfolgen in den Befehlskurzspeicher schreibt, wenn ein Interrupt an den Mikroprozessor (14) gesendet wird, um kurzzeitig aktive Be­ fehlsfolgen für Interrupts der Schaltungsmodule (2) fest­ zulegen.
10. Synchroner Kommunikationsbus nach Anspruch 9, dadurch ge­ kennzeichnet, daß der Mikroprozessor (14) und die Schal­ tungsmodule (2) so ausgebildet sind, daß Füllstandsgrade für die Speicher (6) mit Daten festgelegt wird, wobei bei Erreichen des festgelegten Füllstandsgrades ein Interrupt gesendet wird.
11. Synchroner Kommunikationsbus nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Prioritäten für die Interrupt-Signale mit dem Mikroprozessor (14) änderbar sind.
12. Synchroner Kommunikationsbus nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Speicher FIFO-, LIFO-, RAM- oder Registerspeicher sind.
13. Verfahren zur synchronen Kommunikation zwischen Schaltungs­ modulen (2) über einen Bus mit mindestens einem Datenbus (1, 3), einem Steuerbus (4) und einer Bus-Steuerung (5), gekennzeichnet durch die Schritte von:
  • - Freischalten definierter Speicher (6) der Schaltungs­ module (2) durch die Bus-Steuerung (5);
  • - Lesen von Daten aus den ausgewählten Speichern (6) auf den Datenbus (1, 3) bzw. Schreiben von Daten des Da­ tenbus (1, 3) in die ausgewählten Speicher (6).
14. Verfahren nach Anspruch 13, gekennzeichnet durch
  • - Senden eines Interrupt-Signals von mindestens einem Schaltungsmodul (2) zu der Bus-Steuerung (5);
  • - Bestimmen der Priorität des empfangenen Interrupt-Si­ gnals;
  • - Ausführen von festgelegten Befehlsabfolgen für die Interrupt-Signale in zeitlicher Abhängigkeit von der Priorität, wobei die Befehlsabfolgen zur Freischaltung definierter Speicher (6), zur Festlegung der Anzahl der zu übertragenen Daten und zur Festlegung eines Lese- bzw. Schreibmodus dienen.
15. Verfahren nach Anspruch. 13 oder 14, dadurch gekennzeichnet, daß die Kommunikation durch die Signale zur Freischaltung der Speicher (6) synchronisiert wird.
16. Verfahren nach einem der Ansprüche 11 bis 13, gekennzeich­ net durch Auslesen von Daten aus einem Speicher (6) auf einen Lese-Datenbus (1) und Schreiben von Daten auf einen Speicher (6) von einem Schreib-Datenbus (3) und Zwischen­ speichern von Daten des Lese-Datenbus (1) in einen Zwi­ schenspeicher (8), wobei die Daten aus dem Zwischenspeicher (8) anschließend über den Schreib-Datenbus (3) in ausge­ wählte Speicher (6) geschrieben werden.
17. Verfahren nach einem der Ansprüche 11 bis 14, gekennzeich­ net durch Festlegen von Füllstandsgraden der Speicher (6) mit Daten, wobei bei Erreichen des festgelegten Füllstands­ grades ein Interrupt gesendet wird.
18. Verfahren nach einem der Ansprüche 11 bis 17, gekennzeich­ net durch Festlegen oder Ändern der Prioritäten für die Interrupt-Signale durch den Mikroprozessor (14).
19. Verfahren nach einem der Ansprüche 11 bis 18, wobei die Speicher (6) FIFO-, LIFO-, RAM- oder Registerspeicher sind.
DE19929419A 1999-06-26 1999-06-26 Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen Expired - Fee Related DE19929419C2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19929419A DE19929419C2 (de) 1999-06-26 1999-06-26 Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen
US09/602,446 US6678766B1 (en) 1999-06-26 2000-06-23 Synchronous communication bus and process for synchronous communication between circuit modules
JP2000191662A JP2001036555A (ja) 1999-06-26 2000-06-26 同期通信バス及び複数の回路モジュールの間で同期通信する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19929419A DE19929419C2 (de) 1999-06-26 1999-06-26 Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen

Publications (2)

Publication Number Publication Date
DE19929419A1 true DE19929419A1 (de) 2001-01-11
DE19929419C2 DE19929419C2 (de) 2003-08-07

Family

ID=7912718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19929419A Expired - Fee Related DE19929419C2 (de) 1999-06-26 1999-06-26 Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen

Country Status (3)

Country Link
US (1) US6678766B1 (de)
JP (1) JP2001036555A (de)
DE (1) DE19929419C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10141130C1 (de) * 2001-08-22 2003-04-03 Sci Worx Gmbh Verfahren und Vorrichtung zur Kodierung und Dekodierung von digitalen Bilddatenströmen

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002041086A2 (en) * 2000-11-16 2002-05-23 Invensys Systems, Inc. Control system methods and apparatus for inductive communication across an isolation barrier
GB2409543B (en) * 2003-12-23 2006-11-01 Advanced Risc Mach Ltd Interrupt masking control
US7415547B1 (en) 2005-04-29 2008-08-19 American Megatrends, Inc. Tracking states of communication between PS/2 hardware and hardware drivers within an extensible firmware interface environment
US7426582B1 (en) * 2005-04-29 2008-09-16 American Megatrends, Inc. Method, system, and apparatus for servicing PS/2 devices within an extensible firmware interface environment
US20090198876A1 (en) * 2008-01-31 2009-08-06 Jimmy Kwok Lap Lai Programmable Command Sequencer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123107A (en) * 1989-06-20 1992-06-16 Mensch Jr William D Topography of CMOS microcomputer integrated circuit chip including core processor and memory, priority, and I/O interface circuitry coupled thereto
EP0551191B1 (de) * 1992-01-09 2000-04-12 Cabletron Systems, Inc. Vorrichtung und Verfahren zur Datenübertragung zu und von einem Wirtrechnersystem
JP2715782B2 (ja) * 1992-02-18 1998-02-18 日本電気株式会社 マイクロプログラムメモリ出力回路
US5848247A (en) * 1994-09-13 1998-12-08 Hitachi, Ltd. Microprocessor having PC card interface
US5685005A (en) * 1994-10-04 1997-11-04 Analog Devices, Inc. Digital signal processor configured for multiprocessing
JP3723243B2 (ja) * 1994-11-11 2005-12-07 富士通株式会社 プロセッサ装置及びその制御方法
US5835733A (en) * 1994-12-22 1998-11-10 Texas Instruments Incorporated Method and apparatus for implementing a single DMA controller to perform DMA operations for devices on multiple buses in docking stations, notebook and desktop computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Meiling: Fülle: Mikroprozessor und Mikrorechner, Akademie-Verlag, Berlin, 1988, S. 193-197 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10141130C1 (de) * 2001-08-22 2003-04-03 Sci Worx Gmbh Verfahren und Vorrichtung zur Kodierung und Dekodierung von digitalen Bilddatenströmen

Also Published As

Publication number Publication date
DE19929419C2 (de) 2003-08-07
US6678766B1 (en) 2004-01-13
JP2001036555A (ja) 2001-02-09

Similar Documents

Publication Publication Date Title
EP1787204B1 (de) Botschaftsverwalter und verfahren zur steuerung des zugriffs auf daten eines botschaftsspeichers eines kommunikationsbausteins
EP1776807B1 (de) Verfahren und vorrichtung zum zugriff auf daten eines botschaftsspeichers eines kommunikationsbausteins
EP1776805B1 (de) Flexray-kommunikationsbaustein
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE4118331C2 (de) Bussystem zur Anwendung bei einem Informationsverarbeitungsgerät
DE60036777T2 (de) Gerät zur Signalsynchronisierung zwischen zwei Taktbereichen
EP1940654B1 (de) Verfahren zur Anbindung eines FlexRay-Teilnehmers mit einem Mikrocontroller an eine FlexRay-Kommunikationsverbindung über eine FlexRay-Kommunikationssteuereinrichtung, und FlexRay-Kommunikationssystem zur Realisierung dieses Verfahrens
DE69819648T2 (de) Zweitorpuffer
DE102005048582A1 (de) Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
EP1776808B1 (de) Verfahren zur speicherung von botschaften in einem botschaftsspeicher und botschaftsspeicher
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
DE3236302A1 (de) Speicherprogrammierbare steuerung
DE19929419A1 (de) Synchroner Kommunikationsbus und Verfahren zur synchronen Kommunikation zwischen Schaltungsmodulen
EP2085890A1 (de) Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
DE69736882T2 (de) Vereinfachte Schnittstelle für ein Zeitmultiplex-Fernmeldesystem
DE2749884A1 (de) Einrichtung zum automatischen neuformatieren von daten in einem dv-system
DE102006036823B4 (de) Datensynchronisier- und -pufferschaltung zur Synchronisation von seriell empfangenen Datensignalen
DE69910172T2 (de) Schaltkreis mit pseudo-mehrport-speicher
DE10361059A1 (de) Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
DE4122831C2 (de) Integrierte Halbleiterschaltung
WO2000063777A1 (de) Verfahren zum tracen in system on chip architekturen
DE2630711A1 (de) Speichersteuersystem
DE102008040794A1 (de) Speicheranordnung und Speicherarchitektur
DE2129268A1 (de) Steuerschaltung für Kanalanforderungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: SCI-WORX GMBH, 30419 HANNOVER, DE

8304 Grant after examination procedure
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee