-
Die
Erfindung bezieht sich auf eine Kommunikationseinheit mit einem
Signalmodem, d. h. einem Signalmodulator/-demodulator, der einen
digitalen Signalprozessor umfasst, um Hochfrequenzkommunikationsvorgänge auszuführen, sowie
mit einem Applikationsprozessor, der eine Zentralprozessoreinheit aufweist,
auf einen in einer solchen Kommunikationseinheit verwendbaren Applikationsprozessor
auf ein Verfahren zur Steuerung einer solchen Kommunikationseinheit.
-
Jüngere Fortschritte
in der Halbleiter-, Drahtloskommunikations- und Software-Technologie
machen eine Menge von Anwendungen verfügbar, die mit mobilen Kommunikationseinheiten
betrieben werden können,
wie Mobiltelefone und persönliche
digitale Assistenten (PDAs). So sind beispielsweise Telefonhandapparate,
die zur drahtlosen bzw. schnurlosen Kommunikation benutzt werden,
auch für
PDAs, Kameras, Spieleanwendungen etc. nutzbar. Diese Applikationen
waren zuvor nur als separate Einzelgeräte verfügbar. In diesen Multiapplikations-Kommunikationseinheiten
befinden sich üblicherweise
wenigstens zwei integrierte Schaltkreischips mit je einem oder mehreren
Verarbeitungs einheiten. Einer der beiden Chips dient als Modulator/Demodulator,
d. h. Modem. Der Modemchip umfasst einen Digitalsignalprozessor
(DSP) für
Signalverarbeitungszwecke, um drahtlose Kommunikationsvorgänge mit
Basisstationen oder anderen Kommunikationsgeräten zu bewirken. Der andere
Chip ist ein Applikations- bzw. Anwendungsprozessor (AP) mit einer
Zentralprozessoreinheit (CPU), um Funktionen auszuführen und
Peripheriekomponenten zu betreiben, wie Kamera- oder Bildaufnahme,
Anzeige, 2D/3D-Maschine/Speicher, Datenbank etc.
-
Da
jede Anwendung oder Peripheriekomponente üblicherweise mit einer anderen
Plattform arbeitet, kommuniziert die CPU mit jeder der Anwendungen
und Peripheriekomponenten über
verschiedene Schnittstellen, die für die jeweilige Anwendung spezifisch
sind. Die unterschiedlichen Schnittstellen sind üblicherweise im AP-Chip eingebettet.
Der AP-Chip und der Modem-Chip der Kommunikationseinheit weisen
jeweils lokale Speicherbauelemente in Form von Direktzugriffsspeichern
(RAMs) und/oder Festwertspeichern (ROMs) zur Daten- und Programmspeicherung
auf, die von ihrem jeweiligen Prozessor gesteuert werden. Der AP-Chip und der Modemchip
werden außerdem
jeweils mit ihrem eigenen Betriebssystem oder ihrer eigenen Plattform
betrieben. Kommunikationsvorgänge
zwischen dem AP-Chip und dem Modemchip werden über einen gemeinsam genutzten
Schnittstellenspeicher und jeweilige Schnittstellen bewirkt.
-
1 zeigt
ein vereinfachtes Blockschaltbild einer herkömmlichen Kommunikationseinheit
mit der oben beschriebenen Konfiguration, d. h. mit einem Modemchip
und einem Applikationsprozessorchip zum Betreiben von Anwendungen
und/oder Peripheriekomponenten, wie eine Kamera, eine Flüssigkristallanzeige
(LCD) und lokale Speicher RAM, ROM. Ein Dualport-SRAM dient als
gemeinsam genutzter Schnittstellenspeicher zur Unterstützung von
Kommunikationsvorgängen
zwischen dem AP-Chip und dem Modemchip. Jeder der beiden Chips hat
seine eigene Speichersteuereinheit zur Steuerung der lokalen Speicher
RAM, ROM und des gemeinsam genutzten Schnittstellenspeichers.
-
2 zeigt
ein detaillierteres Blockschaltbild der herkömmlichen Kommunikationseinheit
von 1. Wie aus 2 ersichtlich,
umfasst der AP-Chip 110 eine CPU 111 zur Steuerung
von Peripherieeinheiten, wie eines LCD-Moduls 120, eines Kameramoduls 130 und
eines Speichermoduls 140. Da jede Anwendung und Peripheriekomponente
ihr eigenes Betriebssystem hat, sind separate Schnittstellen oder
Steuereinheiten für
die einzelnen Anwendungen erforderlich, wie eine LCD-Steuerung 113 für das LCD-Modul 120,
eine CAM-Steuerung 115 für das Kameramodul 130 und
eine Speichersteuereinheit 117 für das Speichermodul 140.
Außerdem
ist jede Anwendung mit dem AP-Chip 110 über je einen eigenen Bus mit
verschiedenen Ausgangsanschlüssen
des Chips 110 verbunden. Beispielsweise benötigt das
LCD-Modul 120 eine 30-Pin-Busverbindung zur LCD-Steuerung 113,
das Kameramodul 130 benötigt
eine 20-Pin-Busverbindung zur Kamerasteuereinheit 115,
und das Speichermodul 140 benötigt eine 50-Pin-Busverbindung
zur Speichersteuereinheit 117.
-
Der
Modemchip 150 umfasst einen DSP 155 und einen
Coprozessor 151 zur Ausführung von Hochfrequenzkommunikationsfunktionen.
Der DSP 155 kommuniziert mit dem Coprozessor 151 über eine
interne Schnittstelle 153. Der Modemchip 150 ist über eine
Speichersteuereinheit 157 an ein externes Speichermodul 160 angeschlossen.
Die Kommunikation zwischen dem AP-Chip 110 und dem Modemchip 150 Läuft mittels
einer Schnittstellenverbindung 170 über einen nicht gezeigten,
gemeinsam genutzten Schnittstellenspeicher. Innerhalb des AP-Chips 110 und
des Modemchips 150 sind individuelle Speichersteuereinheiten 117, 157 für einen
unabhängigen
Zugriff über
jeweilige Anschlüsse
des gemeinsam genutzten Dualport-Schnittstellenspeichers vorgesehen.
-
In
mobilen Geräten,
wie Mobiltelefonen, mit Mehrfachanwendungen, wie in den 1 und 2 gezeigt,
ist die physikalische Abmessung des AP-Chips 110 wegen der benötigten großen Anzahl von
Ausgangsanschlüssen
und den unterschiedlichen Bussen und Schnittstellen vergleichsweise groß. Ein Betrieb
von mehreren Anwendungen mit unterschiedlichen Plattformen benötigt zudem
eine konstante Verarbeitungsaktivität der CPU 111, was einen
relativ hohen Stromverbrauch bedeutet.
-
In
der nachveröffentlichten
Offenlegungsschrift
EP
1 516 259 A1 ist eine Kommunikationseinheit mit einem Applikationsprozessor
offenbart, an den eine Speicheranordnung mit mehreren Speichereinheiten
angeschlossen ist und dem ein Basisbandprozessor vorgeschaltet ist,
wobei dem Basisbandprozessor eine weitere Speicheranordnung parallel
zum Applikationsprozessor zugeordnet sein kann oder der Basisbandprozessor über den
Applikationsprozessor indirekt Zugriff auf wenigstens einen Teil
der an den Applikationsprozessor angekoppelten Speicheranordnung
hat.
-
Die
Patentschrift
US 6.026.119
A offenbart eine Kommunikationseinheit mit einem drahtlosen Paketdatenkommunikationsmodem,
einem Computer und einer zwischengeschalteten Schnittstelleneinheit.
Der Computer beinhaltet einen Prozessor sowie daran angekoppelt
eine Speichereinheit und eine Bedienschnittstelleneinheit. Die Modem-Einheit
umfasst eine mit der Schnittstelleneinheit in Kommunikationsverbindung
stehende Logikeinheit, die ihrerseits eine Zentralprozessoreinheit
und daran angekoppelte Speicher-, Schnittstellen- und Steuereinheiten
aufweist.
-
Die
Offenlegungsschrift
US
2003/0159044 A1 offenbart ein Computersystem mit dynamisch wählbaren
Sicherheitsfunktionen.
-
-
Der
Erfindung liegt als technisches Problem die Bereitstellung einer
Kommunikationseinheit der eingangs genannten Art sowie eines hierfür verwendbaren
Applikationsprozessors und Steuerverfahrens zugrunde, die auch bei
Auslegung auf die Ausführung
mehrerer Anwendungen vergleichsweise geringe physikalische Abmessungen
und einen geringen Leistungsverbrauch erlauben.
-
Die
Erfindung löst
dieses Problem durch die Bereitstellung eines Applikationsprozessors
mit den Merkmalen des Anspruchs 1, einer Kommunikationseinheit mit
den Merkmalen des Anspruchs 9 sowie eines Steuerverfahrens mit den
Merkmalen des Anspruchs 11.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie das zu deren besserem Verständnis oben erläuterte herkömmliche Ausführungsbeispiel
sind in den Zeichnungen dargestellt, in denen zeigen:
-
1 ein
schematisches Blockschaltbild einer herkömmlichen Kommunikationseinheit,
-
2 ein
detaillierteres Blockschaltbild der herkömmlichen Kommunikationseinheit
von 1,
-
3 ein
Blockschaltbild einer erfindungsgemäßen Kommunikationseinheit,
-
4 ein
Blockschaltbild einer Busmaster-Steuereinheit für die Kommunikationseinheit
von 1,
-
5 ein
Blockschaltbild einer weiteren erfindungsgemäßen Kommunikationseinheit,
-
6 ein
Blockschaltbild einer weiteren erfindungsgemäßen Kommunikationseinheit,
-
7 eine
Definitionsliste für
von der Busmaster-Steuereinheit von 4 verwendete
Signale,
-
8 eine
illustrative Struktur eines von der Busmaster-Steuereinheit der 4 abgegebenen Befehlspakets,
-
9 eine
Definitionsliste eines Befehlspaketfeldes,
-
10 eine
illustrative interne Registerdefinition einer Slave-Einheit,
-
11 ein
Zeitablaufdiagramm eines Lesevorgangs für Daten, die aus einer Slave-Einheit
für eine
Busmaster-Steuereinheit gelesen werden,
-
12 ein
Zeitablaufdiagramm eines Datenschreibbefehlsvorgangs,
-
13 ein
Blockdiagramm einer Struktur eines in einer erfindungsgemäßen Kommunikationseinheit
verwendbaren, gemeinsam genutzten Speichers,
-
14 ein
Blockschaltbild einer Bank von Speicherzellen des gemeinsam genutzten
Speichers von 13 mit Schutzschaltung und
-
15 ein
Zeitablaufdiagramm von Lese- und Schreibvorgängen eines gemeinsam genutzten Speichers
gemäß der Erfindung.
-
Erfindungsgemäß können mehrere
Anwendungen eines mobilen Kommunikationsgerätes von einem Applikationsprozessor(AP)-Chip über einen gemeinsamen
Bus ausgeführt
werden. Die Steuerung der mehreren, an den gemeinsamen Bus angeschlossenen
Anwendungen kann durch eine gemeinsame Plattform mit Befehlen in
Paketform bewirkt werden, die von einer gemeinsamen Master-Bussteuerung über den
gemeinsamen Bus abgegeben werden. Die gemeinsame Master-Bussteuereinheit ersetzt
die bekannten individuellen Schnittstellen und Steuereinheiten und
deren zugewiesene Busse. Der AP-Chip ist in der Lage, eine vergleichsweise
geringe Anzahl von Ausgangsanschlüssen in seiner Chippackung
zu realisieren, so dass die physikalische Abmessung des AP-Chips
vergleichsweise klein gehalten werden kann. Die Verarbeitung durch
die CPU unter Verwendung einer gemeinsamen Plattform über eine
gemeinsame Steuereinheit kann ebenfalls reduziert werden, was den
Leistungsverbrauch verringert.
-
3 zeigt
im Blockschaltbild eine erfindungsgemäße Kommunikationseinheit mit
zwei integrierten Schaltkreischips (IC-Chips), und zwar einem Applikationsprozessor-Chip 310 und
einem Modemchip 350, sowie einer Mehrzahl von Applikationsmodulen,
die extern von den beiden IC-Chips angeordnet sind. Der Modemchip
umfasst einen DSP 395 und eine nicht gezeigte Modulator/Demodulator-Schaltung
zur Verarbeitung von Signalen, um drahtlose oder Hochfrequenzkommunikationsvorgänge mit
anderen kompatiblen Kommunikationseinheiten oder einer Basisstation
auszuführen.
Der AP-Chip 310 umfasst eine CPU 311, die CPU- bezogene interne
Funktionen steuert, wie DMA 312, Bridge 313 und
Peripheriekomponenten 314, 315, 316.
Die DMA 312 kann auf Speicherbauelemente einschließlich einen
gemeinsam genutzten Speicher 375 zum Lesen und/oder Schreiben
unabhängig
von der CPU 311 zugreifen. Die Peripheriekomponenten 314, 315, 316 können z.
B. ein Zeitgeber, ein Pulsbreitenmodulator, eine USB-Einheit (universelle
serielle Buseinheit), eine I2C-Einheit und/oder eine I2S-Einheit
sein.
-
Die
CPU 311 betreibt mehrere externe Anwendungen, wie ein Kameramodul 330,
eine 2D/3D-Maschine 335, eine Anzeige 320, ein
Speichermodul 340 und den gemeinsam genutzten Speicher 375 über einen
gemeinsamen Bus 305. Eine Busmaster-Steuereinheit 380 steuert
die Vorgänge der
externen Anwendungsmodule über
den gemeinsamen Bus 305. Es wird eine gemeinsame Betriebssystemplattform
mit einer gemeinsamen Befehlsstruktur benutzt. Vorzugsweise hat
die gemeinsame Befehlsstruktur Paketform, und jeder Befehl umfasst ein
Modulauswahlsignal, um eines der mehreren gesteuerten Module auszuwählen. Der
Befehls- und Modulauswahlprozess wird weiter unten näher erläutert. Der
gemeinsam genutzte Speicher 375 wird zur Datenkommunikation
zwischen dem Modemchip 350 und dem AP-Chip 310 benutzt.
Er kann z. B. ein Dualport-SRAM sein, der von einer nicht gezeigten Speichersteuereinheit
in dem Modemchip 350 oder in dem AP-Chip 310 gesteuert
wird. Im gezeigten Beispiel ist der gemeinsam genutzte Speicher 375 vorzugsweise
ein synchroner dynamischer Direktzugriffsspeicher (SDRAM), und der
Modemchip 350 benutzt eine Busmaster-Steuereinheit 390 zur Steuerung
des gemeinsam genutzten Speichers 375. Die Busmaster-Steuereinheiten 380 und 390 teilen
sich eine gemeinsame Befehlsstruktur für die Kommunikation mit dem
gemeinsam genutzten Speicher 375. Es sind gleiche Schnittstellen
für den
gemeinsam genutzten Speicher 375 zu bzw. vom AP-Chip 310 und zu
bzw. vom Modemchip 350 vorgesehen.
-
4 zeigt
in einem detaillierteren Blockschaltbild eine vorteilhafte Realisierung
einer in der Kommunikationseinheit von 3 verwendbaren Busmaster-Steuereinheit.
Diese Busmaster-Steuereinheit 380 umfasst eine Busschnittstelle 402 zur
Daten-, Steuer- und Signalkommunikation mit der CPU. Ein Protokollwandler 406 und
eine Protokollsignalsteuereinheit 410 handhaben den Daten-
und Steuersignalfluss gemäß dem vorgegebenen
Protokoll. Eine Taktverwaltungseinheit 404 empfängt und
verteilt Taktsignale zur Synchronisierung der Kommunikationseinheit
einschließlich
der externen Applikationsmodule. Eine Adressenübersetzungseinheit 408 empfängt Adressdaten
von der CPU und übersetzt die
Adresse abhängig
vom Applikationsmodul, auf das zugegriffen werden soll. Die übersetzte
Adresse wird an einen Paketgenerator 416 weitergeleitet,
wo die Adresse in einem Befehl in Paketform gebracht wird. Der Paketgenerator 416 empfängt außerdem Steuersignale
von der Protokollsignalsteuereinheit 410, um Daten gemäß dem Protokoll
abzugeben. Ein Sende- und Empfangspuffer 414 empfängt Daten von
der CPU über
die Busschnittstelle 402. Eine Zustandsmaschinen-Puffersteuereinheit 412 steuert den
Zustand und das Timing von Datensende- und Datenempfangsvorgängen des
Sende- und Empfangspuffers 414 gemäß dem vorgegebenen Protokoll.
Eine Datenpackungs-/Datenentpackungseinheit 418 wird dazu
benutzt, die Daten gemäß einer
spezifizierten Breite der gemeinsamen Datenstruktur anzuordnen.
Ein Multiplexer 420 multiplext Adressen- oder Datensignale
zum Abgeben über
einen bidirektionalen Bus DIO[n:0]. Über den bidirektionalen Bus DIO[n:0]
werden außerdem
Daten von externen Anwendungsmodulen gelesen. Die Protokollsignalsteuereinheit 410 sendet
Steuersignale nCS[x:0], CnD und nRW und empfängt Steuersignale RESP und STAT[1:0].
Die Daten- und Steuersignale werden über den gemeinsamen bidirektionalen
Bus 305 gesendet und empfangen.
-
Im
Betrieb fungiert die Busmaster-Steuereinheit 380 als Master-Einheit
zur Steuerung der als Slave-Einheiten fungierenden Applikationsmodule,
die mit dem bidirektionalen Bus 305 verbunden sind. Von der
Master-Steuereinheit 380 abgegebene,
zentrale Befehle werden von den mehreren externen Slave-Einheiten
empfangen. Von der Protokollsignalsteuereinheit 410 abgegebene
Steuersignale beinhalten ein Slave-Auswahlsignal nCS, ein Befehlssignal
CnD und ein Lese-/Schreibsignal nRW. Datensignale werden über den
bidirektionalen Bus DIO[n:0] abgegeben, der zum Abgeben von Daten-
oder Adresssignalen benutzt werden kann. Die Master-Steuereinheit 380 empfängt an der
Protokollsignalsteuereinheit 410 Quittierungssignale STAT
und Abtastsignale RESP von einer ausgewählten der mehreren externen
Slave-Einheiten, um eine Quittierung des Empfangs eines Befehls
von der Master-Steuereinheit 380 zu
signalisieren und Daten über
den bidirektionalen Bus DIO[n:0] unter der Abtaststeuerung durch
das Abtastsignal RESP zuzuführen.
Die Steuer- und Datensignale werden vom Paketgenerator 416 in
Paketform gebracht.
-
7 listet
weitere Beschreibungsdetails der Steuersignale des gemeinsamen Busses 305 auf.
Wie daraus ersichtlich, wird das Chipauswahlsignal nCS zum Auswählen einer
der mit dem gemeinsamen Bus 305 verbundenen, externen Slave-Einheiten
benutzt. Das Befehlssignal CnD wird dafür verwendet, anzuzeigen, ob
das Paket ein Befehlspaket oder ein Datenpaket ist. Das Lese-/Schreibsignal nRW
wird dazu benutzt, einen Lesevorgang oder einen Schreibvorgang zu
signalisieren. Dieses Signal wird außerdem zur Steuerung der Richtung
des Datenflusses auf dem Datenleitungsbus DIO[n:0] herangezogen.
Beispielsweise signalisiert ein Schreibvorgang, dass Daten in eine
ausgewählte
der externen Slave-Einheiten zu schreiben sind, und der Datenleitungsbus
DIO ist von der Master-Steuereinheit abgehend gerichtet. Wenn das
Signal nRW einen Lesevorgang anzeigt, wird es von der ausgewählten der externen
Slave-Einheiten, die mit dem gemeinsamen Bus 305 verbunden
sind, gelesen, und der Datenleitungsbus DIO ist in die Master-Steuereinheit 380 hineinführend ausgerichtet.
Die Befehls- oder Datenpakete werden unter Verwendung des synchronisierten Taktes
CLK synchronisiert, der auch zur Synchronisierung der externen Slave-Einheiten benutzt
wird. In einem Lesevorgang führt
die ausgewählte
externe Slave-Einheit, von der Daten zu lesen sind, der Master-Steuereinheit 380 das
Abtastsignal RESP zu, das zum Abtasten der von der externen Slave-Einheit
gelesenen und der Master-Steuereinheit 380 zugeführten Daten
dient. Auf den Empfang eines Befehlspaketes durch die ausgewählte externe
Slave-Einheit hin sendet diese ein Quittierungssignal STAT an die Master-Steuereinheit,
um anzuzeigen, dass sie das Befehlspaket empfangen hat.
-
8 veranschaulicht
eine illustrative Befehlspaketstruktur von Befehlen, die von der
Busmaster-Steuereinheit gemäß 4 abgegeben
werden, und 9 veranschaulicht weitere Beschreibungsdetails
für ein
zugehöriges
Befehlspaketfeld. In einem Ausführungsbeispiel
besitzt die Paketstruktur eine Breite von vier Bit, und die ersten
drei Stellen 0, 1, 2 des Pakets werden zur Spezifikation von Felddefinitionen
und Lese-/Schreibvorgängen
benutzt. Adressen oder Daten sind in dem Paket beginnend mit der
Stelle 3 enthalten. Wie aus 9 ersichtlich, stellt
ein Feld R dasjenige Feld dar, welches das Ziel der momentanen Transaktion
spezifiziert. Die Master-Einheit kann auf die internen Register
der Slave-Einheiten oder auf die aktuellen Daten zugreifen, die
von der Slave-Einheit zuzuführen
sind. Hierbei bezeichnen ”0” einen
Zugriff auf normale Daten und ”1” einen
Zugriff auf das interne Register der Slave-Einheit. Ein Feld TV
ist dasjenige, das den Typ des momentanen Transfers spezifiziert.
Dabei bezeichen ”00” einen
Lesetransfer, ”01” ist reserviert, ”10” einen
Schreibtransfer, und ”1” ist reserviert.
Ein Feld CL spezifiziert die Länge
des Befehlspakets (CMD-Paket). Dabei bezeichnen ”00” 4×4-Bit, ”01” 8×4-Bit, ”10” 12×4-Bit und ”11” 16×4-Bit. Ein Feld DL spezifiziert
die Größe des Datenpakets,
wie Datenpaketgröße=2×DL-Byte(1,
2 bis 32.786 Byte). Ein Feldbereich A0 bis
Ai spezifiziert die Startadresse des benötigten Transfers.
-
Die
von der Master-Steuereinheit 380 ausgewählte externe Slave-Einheit antwortet
auf den Befehl durch Aktivierung einer Quittierungssignalleitung STAT.
Die Slave-Einheit weist interne Register auf, die vorgeschriebene
Register oder nutzerdefinierte Register umfassen. Daten können von
der Master-Steuereinheit durch einen Lesebefehl aus den Registern
gelesen werden. Von der ausgewählten externen
Slave-Einheit gelesene
Daten werden durch Abtastung in ein nicht gezeigtes Register der Master-Steuereinheit 380 an
den ansteigenden oder fallenden Flanken des Abtastsignals RESP geladen. 10 veranschaulicht
ein repräsentatives
internes Register einer Slave-Einheit mit seiner Datenzuteilung.
-
11 veranschaulicht
in einem Zeitablaufdiagramm einen repräsentativen Lesevorgang für Daten
von einem ausgewählten
Anwendungsmodul. Wie gezeigt, gibt die Busmaster-Steuereinheit das Taktsignal
CLK, das Signal CnD auf hohem Pegel, was Befehle anzeigt, und das
Transfersignal nRW mit hohem Pegel ab, was einen Lesevorgang anzeigt. Das
Anwendungsmodul wird durch das nicht gezeigte Signal nCS ausgewählt. Befehle
werden über
die Datenleitung DIO[n:0] gesendet. Wie vorstehend erläutert, werden
alle Steuer-, Adressen- und Datensignale über den gemeinsamen Bus 305 gesendet. Nach
Empfang der Befehle durch die ausgewählte externe Slave-Einheit
sendet diese ein aktives Quittierungssignal STAT an die Busmaster-Steuereinheit. Daten
werden aus der ausgewählten
externen Slave-Einheit gelesen und zusammen mit dem Abtastsignal
RESP auf die Datenleitung DIO[n:0] gegeben. Die Daten vom Datenleitungsbus
DIO[n:0] werden unter Verwendung der Abtastsignale in die Busmaster-Steuereinheit 380 abgetastet.
Die Busmaster-Steuereinheit 380 übt die vollständige Steuerung von
Datentransfervorgängen
aus. Beispielsweise kann die Busmaster-Steuereinheit 380 einen laufenden
Lesevorgang abbrechen, indem sie einen neuen Befehl oder einen anderen
Transferbefehl abgibt.
-
12 veranschaulicht
im Zeitablaufdiagramm einen repräsentativen
Schreibvorgang für Daten
vom AP-Chip 310 zu einem ausgewählten Anwendungsmodul. Wie
gezeigt, gibt die Busmaster-Steuereinheit 380 in Synchronisation
zum Taktsignal CLK das Befehlssignal CnD und das Transfersignal
nRW ab. Die Befehls- und Adresseninformationen werden auf die Datenleitungen
DIO[n:0] gegeben, während
das Transfersignal nRW auf hohem Pegel gehalten wird. Das externe
Zielanwendungsmodul, das mit dem gemeinsamen Bus 305 verbunden
ist, wird durch das nicht gezeigte Signal nCS ausgewählt und
decodiert die empfangenen Befehle, einschließlich des Schreibsignals und
von Adressdaten. Gemäß dem vorgegebenen
Protokoll, z. B. nach vier Befehlspaketen, werden Daten von der
Busmaster-Steuereinheit 380 über den gemeinsamen Bus 305 gesendet,
wobei Daten auf den Datenleitungen DIO[n:0] in das interne Register
der Slave-Einheit zu lesen sind. Die ausgewählte Slave-Einheit signalisiert
den Empfang der Datenpakete durch Aktivieren der Quittierungsleitung
STAT.
-
In
einem vorteilhaften Ausführungsbeispiel der
Erfindung wird auch der gemeinsam genutzte Speicher 375,
der zur Datenkommunikation zwischen dem AP-Chip 310 und
dem Modemchip 350 verwendet wird, durch die Busmaster-Steuereinheit 380 gesteuert. 13 veranschaulicht
eine Auslegung des gemeinsam genutzten Speichers 375, wie sie
hierzu verwendbar ist. Der gemeinsam genutzte Speicher 375 ist
z. B. vorzugsweise ein SDRAM mit einer Mehrzahl von Speicherzellenbänken A,
B, C und D. Jede Speicherbank umfasst einen zugehörigen Adress decoder,
einen Schutzgenerator und einen Bank-Multiplexer, wie nachstehend
näher erläutert. Der
gemeinsam genutzte Speicher 375 weist zwei Anschlüsse A und
B auf. Ein Anschlussport A ist mit der Busmaster-Steuereinheit 380 des
AP-Chips 310 über
eine Speicherschnittstelle verbunden, und ein Anschlussport B stellt
eine Verbindung mit der Busmaster-Steuereinheit 390 des
Modemchips 350 über
eine zweite Speicherschnittstelle her. 14 zeigt
in einem detaillierteren Blockschaltbild die Speicherbänke A und
B mit den zugehörigen
Komponenten Adressdecoder, Bank-Multiplexer und Schutzgenerator.
Die Adressleitung ist gemeinsam an alle zugehörigen Schaltkreise angeschlossen
und wird von diesen gelesen, beispielsweise vom Bank-Multiplexer,
um festzustellen, auf welche der Speicherzellenbänke A und B zugegriffen werden soll.
Jeder Schutzgenerator überwacht
die Adressleitungen der jeweiligen Anschlüsse A und B, und bei Detektion
der gleichen Adresse an der gleichen Bank bei beiden Anschlüssen A und
B wird ein Schutzsignal NPROT aktiviert, um eine Konfliktsituation
anzuzeigen. Der Speicherzugriff wird während einer solchen aktivierten
NPROT-Bedingung angehalten, um einen gleichzeitigen Zugriff auf
die gleichen Speicherzellen zu vermeiden.
-
15 veranschaulicht
im Zeitablaufdiagramm eine vorteilhafte Betriebsweise für den Zugriff auf
den gemeinsam genutzten Speicher. Hierzu sind für die Anschlüsse A und
B die Speichersteuersignale von entsprechenden Speicherschnittstellen
A und B gezeigt, einschließlich
einem Zeilenadressenauswahlsignal RAS, einem Spaltenadressenauswahlsignal
CAS, Adresssignalen, Datensignalen und einem Zugriffskonfliktsignal
nProt. Des weiteren sind decodierte Speicherzugriffssignale von
der Busmaster-Steuereinheit 380 des AP-Chips 310 und
der Busmaster-Steuereinheit 390 des Modemchips 350 dargestellt.
Das Zeitablaufdiagramm zeigt die Steuersignale CnD und nRW in einem
angehobenen, d. h. aktivierten Zustand, um einen Speicherzugriff
anzuzeigen, hier speziell für
einen Lesevorgang. Hierzu werden außer dem Befehle in Paketform,
einschließlich Adressen
von Speicherplätzen,
auf die zugegriffen werden soll, über die Datenleitungen DIO[n:0]
des gemeinsamen Buses 305 gesendet. Das nicht gezeigte
Modulauswahlsignal nCS wird auf den gemeinsam genutzten Speicher 375 als
Zielanwendungsmodul gesetzt. Somit wird der gemeinsam genutzte Speicher 375 unter
Verwendung der gleichen Plattform und der gleichen Befehlsstruktur
und über den
gleichen gemeinsamen Bus 305 gesteuert, wie alle anderen
externen Anwendungsmodule, die an den gemeinsamen Bus 305 angeschlossen
sind.
-
Die
Speicherschnittstellen für
die Anschlüsse
A und B empfangen das Modulauswahlsignal nCS, welches anzeigt, dass
der gemeinsam genutzte Speicher 375 das ausgewählte Anwendungsmodul ist,
auf das zugegriffen werden soll. Die Speicherschnittstelle A extrahiert
die Adressinformation aus den Befehlen in Paketform, die von der
Busmaster-Steuereinheit 380 des
AP-Chips 310 über
den gemeinsamen Bus 305 empfangen werden. Der gleiche Prozess
wird von der Busmaster-Steuereinheit 390 des
Modemchips 350 und der Schnittstelle B ausgeführt, wie
hier nicht explizit gezeigt. Die extrahierten Adressen werden von
Adressendecodern der Speicherbänke,
des Bank-Multiplexers und der Schutzgeneratoren des gemeinsam genutzten
Speichers 375 empfangen.
-
Wie
weiter aus 15 ersichtlich, wird die Adressinformation
als Zeilenadressen und Spaltenadressen decodiert. Hierbei sind beide
Zeilenadressenauswahlsignale an den Anschlüssen A und B aktiv, z. B. auf
niedrigem Pegel, und die Zeilenadresse ist für die beiden Anschlüsse A und
B gleich. Nach Feststellen der gleichen Adresse RA an beiden Anschlüssen A und
B aktiviert der Schutzgenerator das Signal nProt, z. B. durch einen Übergang
von hohem auf niedrigen Pegel, am Anschluss B, was anzeigt, dass
ein Speicherzugriffskonflikt beim Modemchip 350 vorliegt.
Das Signal nPort am Anschluss B bewirkt, dass eine Abgabe eines Quittierungssignals STAT[0]
zum Quittieren des Empfangs des Speicherzugriffsbefehls durch den
Modemchip 350 blockiert wird, und hält das Abtastsignal RESP[0]
auf inaktivem Pegel. Sobald keine gleichzeitigen Signale RAS mehr
vorhanden sind, oder wenn keine gleichzeitigen Spaltenadressenauswahlsignale
CAS an den Anschlüssen
A und B vorhanden sind, deaktiviert der Schutzgenerator das Schutzsignal
nProt z. B. auf niedrigen Pegel, und Daten werden vom gemeinsam genutzten
Speicher 375 gelesen. Das Quittierungssignal STAT[0] wird
an der Speicherschnittstelle B angehoben, d. h. aktiviert, um den
Empfang des Zugriffsbefehls für
den Modemchip 350 zu signalisieren. Die vom gemeinsam genutzten
Speicher 375 gelesenen Daten werden zusammen mit aktiven
Abtastsignalen RESP[0] zum Modemchip 350 gesendet. Bevorzugt
sind der SDRAM, der Schutzgenerator und die Schnittstellen für die Anschlüsse A und
B in einem integrierten Einzelchip-Speicherbauelement eingebettet.
-
Durch
Verwendung der Master-Slave-Architektur mit Befehlen in Paketform
können
mehrere Anwendungen durch eine zentrale Steuereinheit (Master) über einen
gemeinsamen Bus betrieben werden. Separat zugewiesene Schnittstellen
und Busse für verschiedene
Anwendungsmodule können
entfallen. Die Anschlussanzahl ist für den AP-Chip 310 signifikant
reduziert, was eine entsprechende Verringerung der physikalischen
Größe des AP-Chips 310 ermöglicht.
Die CPU des AP-Chips 310 realisiert zudem einen reduzierten
Gesamtverarbeitungsaufwand durch die Elimination von eigens zugewiesenen
Schnittstellen bzw. Steuereinheiten. Des weiteren erleichtert die Benutzung
einer gemeinsamen Plattform für
den Modemchip 350 einen synchronen Zugriff auf den gemeinsam
genutzten Speicher 375.
-
5 veranschaulicht
ein weiteres Ausführungsbeispiel
der Erfindung, wobei der gemeinsame Bus 305 durch zwei
gemeinsame Busse 305A und 305B ersetzt ist. Der
Bus 305A dient dem Zugriff auf externe An wendungsmodule,
wie Kameras und Anzeigeeinheiten, während der Bus 305B dem
Anschluss externer Speicher dient, wie eines Flash-Speichers und eines
gemeinsam genutzten Speichers. Die Konfiguration dieses Ausführungsbeispiels
erleichtert eine gemeinsame Steuerung der externen Anwendungsmodule
ohne die Speicher über
den gemeinsamen Bus 305A. Der separate gemeinsame Bus 305B ist
den Speichern zugewiesen und erlaubt eine flexiblere Speichersteuerung
oder intensivere Speichervorgänge.
Bei diesem Ausführungsbeispiel
kann der gemeinsam genutzte Speicher z. B. ein Dualport-SDRAM sein,
der wie oben beschrieben betrieben wird. Der gemeinsam genutzte
Speicher kann auch ein Dualport-SRAM sein, der in herkömmlicher
Weise in Kommunikationsverbindung zwischen dem AP-Chip 310 und
dem Modemchip 350 angeordnet ist und betrieben wird. Die
Verwendung von zwei gemeinsamen Bussen erleichtert zudem den Zugriff
auf Speicher, wie einen Flash-Speicher, während eine externe Anwendung, wie
eine Kamera, gesteuert wird.
-
6 zeigt
ein weiteres Ausführungsbeispiel der
Erfindung mit zwei gemeinsamen Bussen, wobei der eine gemeinsame
Bus 305A ausschließlich
für eine
verarbeitungsintensive Anwendung genutzt wird, wie ein Kameramodul.
Alle anderen externen Module einschließlich Speichermodule und der
gemeinsam genutzte Speicher sind mit dem anderen gemeinsamen Bus 305 verbunden.
In einer weiteren alternativen Realisierung der Erfindung sind das
Kameramodul und ein Flash-Speicher mit dem einen Bus 305A der
beiden gemeinsamen Busse 305A, 305B verbunden.
In einer solchen Konfiguration ist der eine der beiden gemeinsamen
Busse Kameraanwendungen zugewiesen, einschließlich einem direkten Bilddatentransfer
zwischen dem Kameramodul und dem Flash-Speicher.