-
Elektronische
Vorrichtungen, die digitale Musik, Sound, Bilder, Filme oder andere
codierte Daten erfassen, erzeugen, speichern, manipulieren oder übertragen,
wurden mit dem Aufkommen von weniger teuerer Halbleiterverarbeitung
und gesteigertem Verbraucherbedarf immer häufiger. Anwendungen, wie z.
B. tragbare MP3- (Moving Picture Experts Group Schicht 3 Standard)
Abspielgeräte,
PDAs (elektronischer persönlicher
Datenassistent), digitale Kameras und digitale Stimmaufzeichnungsgeräte gewinnen
weiter an Popularität.
Der allgemeine Trend für
jede dieser elektronischen Anwendungen ist das Liefern einer gesteigerten
Fähigkeit
und Interoperabilität
mit reduziertem Formfaktor.
-
Ein
Standard, der die Interoperabilität zwischen elektronischen Vorrichtungen
definiert, umfaßt die
On-The-Go Rev 1.0-Ergänzung
(OTG) für
den USB- (Universal Serial Bus) 2.0-Standard. Der OTG-Standard ermöglicht das
Verbinden eines MP3-Abspielgeräts
bzw. -Players mit einem anderen MP3-Player, um Musikdateien zu übertragen,
das Verbinden einer Kamera mit einem Drucker, um ein Bild zu drucken,
oder das Verbinden eines PDA mit einem Zellulartelefon, um ein mobiles
Web-Surfen zu ermöglichen.
Siehe Bethanee Martin, USB On-The-Go Spec Signals Developers To
Proceed With a New Generation of Mobile Products Capable of Point-to-Point Data Exchange,
5 (18. Dezember 2001). Wenn eine OTG-fähige Vorrichtung (die „A-Vorrichtung") an einer anderen
(der „B-Vorrichtung") angebracht ist,
erhöht
ein Hochzieh-Widerstand (Pull-up-Widerstand) innerhalb der B-Vorrichtung eine
Leitung in ihrer Verbindung um einen vorbestimmten Spannungsbetrag.
Die A-Vorrichtung erfaßt
die Spannungsänderung
und antwortet durch Senden eines Initialisierungssignals. Die B-Vorrichtung
antwortet mit Busband breite, Zugriffsfrequenz, Latenzzeit und Fehlerhandhabungs-Verhaltensanforderungen.
Eine A-Vorrichtung weist der B-Vorrichtung
eine eindeutige Identifikationsnummer für eine Datenadressierung zu.
Siehe Michael Gowan, How it Works: USB, PCWorld.com, 6 (30. Dezember
1999). Bei nachfolgenden Kommunikationen werden Daten in 64-Byte-Abschnitte
unterteilt, wobei jeder derselben sowohl Adressierungsinformationen
als auch die Daten selbst umfaßt.
Id. Ein OTG-Verkabeln
ist asymmetrisch, mit einer Mini-A-Seite und einer Mini-B-Seite.
Vorrichtungen weisen nur eine Mini-AB-Aufnahmeeinrichtung auf, die sowohl
Mini-A- als auch Mini-B-Stecker
aufnimmt. USB On-the-Go: A Tutorial, 5.6, Koninklijke Philips Electronics
(Januar 2002). Der OTG-fähige
Host kann nur gleichzeitig ein Peripheriegerät aufweisen, das mit demselben
verbunden ist, wodurch dessen Verwendung eingeschränkt wird.
-
Ein
Beispiel einer elektronischen Vorrichtung, die eine USB-Steuerungsfunktionalität umfaßt, ist
der STMP3300-Audiodecodierer,
zur Verwendung mit MP3-Playern. Angeboten von Sigmatel, Inc., ermöglicht ein
USB-Tor an der Vorrichtung das Herunterladen von MP3- und WMA- (WindowsTM Media Audio) Dateien. William Wong, 1-Chip
MP3 Player Includes A USB Controller, Electronic Design, 4. Juni 2001,
V 49, I 12, bei 37. Leider benötigt
das USB-Tor einen USB-Host-PC (Personalcomputer), um die USB-Konnektivität zu ermöglichen.
-
Ein
verbessertes Datenverwaltungs-System und -Verfahren ist besonders
wichtig, da aktuelle Standards keine serielle Verbindung von mehreren B-Vorrichtungen
mit einer A-Vorrichtung
an einem Ende und ohne die Verwendung eines PC ermöglichen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Datenverwaltungssystem,
ein Verfahren zum Koordinieren eines Datenflusses und ein Systemkonfigurationsverfahren
mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Datenverwaltungssystem gemäß Anspruch
1 oder 18, ein Verfahren zum Koordinieren eines Datenflusses gemäß Anspruch
12 und ein System-Konfigurationsverfahren gemäß Anspruch
22 gelöst.
-
Ein
Datenverwaltungs-System und -Verfahren weisen eine Mehrzahl von
Datentoren auf, die mit einem Prozessor gekoppelt sind. Der Prozessor
ist programmiert, um auf das Vorhandensein einer Steuerung zu testen,
abwechselnd durch jedes der Mehrzahl von Datentoren.
-
Bei
einem Ausführungsbeispiel
ist das Verfahren durch Testen auf das Vorhandensein einer Steuerung
durch ein erstes Tor unter Verwendung eines Prozessors und durch
das Testen auf das Vorhandensein der Steuerung durch ein zweites
Tor beschrieben, wenn die Steuerung nicht durch das erste Tor gefunden
wird.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Flußdiagramm
eines Ausführungsbeispiels,
das die Übertragung
eines Handschlags durch zwei Tore darstellt, um eine Anwendungsidentifikation
(„ID") für einen
Prozessor einzurichten;
-
2 ein
Flußdiagramm
eines Ausführungsbeispiels,
das einen Datenfluß von
einem Steuerungsmodul zu einem Anwendungsmodul unter Verwendung
der Anwendungs-ID darstellt, die in 1 eingerichtet
würde;
-
3 ein
Blockdiagramm eines Ausführungsbeispiels,
das ein Anwendungsmodul darstellt, das verwendet wird, um die Anwendungs-ID
und die Erfassungsdaten mit der Anwendungs-ID einzurichten;
-
4 eine
auseinandergezogene perspektivische Ansicht, die eine tragbare elektronische
Vorrichtung mit modularen Anwendungsmodulen darstellt, an die die
Erfindung anwendbar ist.
-
Ein
exemplarisches Ausführungsbeispiel
des bevorzugten Ausführungsbeispiels
weist ein tragbares modulares System mit abnehmbarer anschließbarer Steuerung,
Speicher und Anwendungsmodulen auf. Bei einer Version des Systems
kann das Steuerungsmodul mit einer Anzahl von unterschiedlichen
Anwendungsmodulen verbunden werden, die in Reihe geschaltet sind,
wobei jedes Anwendungsmodul ein Paar von gegenüberliegenden Datentoren umfaßt, für eine Verbindung
mit anderen Modulen. Bei einem Ausführungsbeispiel ist die Orientierung jedes
Anwendungsmoduls umkehrbar, so daß ein gegebenes Datentor entweder
hin zu oder weg von dem Steuerungsmodul gerichtet werden kann, ohne
den Systembetrieb zu beeinträchtigen.
Dieses System ist der Gegenstand der Anmeldung mit Seriennummer 10/307,304,
eingereicht am 27. November 2002 mit dem Titel „Portable Modular Electronic
System".
-
Das
Datenverwaltungs-System, das hierin beschrieben wird, koordiniert
bei einem Ausführungsbeispiel
einen Datenfluß zwischen
den verschiedenen Anwendungen und der Steuerung. Ein Datenadressierungsprotokoll
wird eingerichtet, um ein Leiten von Paketdaten durch das System
zu ermöglichen.
Das Protokoll kann an die Paketdaten in einem Adressierungsabschnitt
angehängt
werden. Das Protokoll kann ferner den Paketdaten vorangehen, um
ein Leiten zwischen den Anwendungen und der Steuerung zu ermöglichen.
Das System umfaßt eine
Mehrzahl von Datentoren, die mit einem Prozessor gekoppelt sind.
Der Prozessor ist programmiert, um auf das Vorhandensein einer Steuerung
abwechselnd durch jedes der Mehrzahl von Datentoren zu testen, um
eine Anwendungs-ID von der Steuerung zu empfangen. Ferner ermöglicht das
System, daß andere
Anwendungsmodule seriell mit dem Steue rungsmodul und dem Prozessor
bei dem ersten Anwendungsmodul verbunden werden.
-
1 ist
ein Flußdiagramm
für ein
Ausführungsbeispiel
der Erfindung, das darstellt, wie ein Prozessor bei einem Anwendungsmodul
eine Anwendungs-ID von einem Steuerungsmodul empfängt. Bei
einem Paketdatensystem ist die Anwendungs-ID in einem Adressierungsabschnitt
eines Datenpakets enthalten und stellt die elektronische Adresse
des Prozessors in dem System dar. Der Empfang der Anwendungs-ID
ermöglicht,
daß der Prozessor
später
Daten anfordert und wiedergewinnt. Das Anwendungsmodul umfaßt zumindest zwei
Datentore, wobei jedes derselben mit einem Steuerungsmodul verbunden
sein kann, abhängig von
der relativen Ausrichtung der Module. Das Anwendungsmodul wird angeschaltet
(Block 100) und ein Steuerungs-Handshake wird durch den
Prozessor durch ein erstes Datentor eines Hubs übertragen (Block 105),
um zu bestimmen, ob ein Steuerungsmodul mit diesem Tor verbunden
ist. Eingehende Daten von einem zweiten Datentor in dem Hub werden gesperrt
bzw. verhindert, um eine Störung
bei der Steuerungs-Handshake-Übertragung
zu vermeiden (Block 110). Das Protokoll für die Handshake-Übertragung umfaßt Informationen,
die es dem Steuerungsmodul ermöglichen,
auf den Steuerungs-Handshake mit einer Bestätigung zu antworten, wenn das
Steuerungsmodul mit dem ersten Tor verbunden ist. Der Steuerungs-Handshake
könnte
z. B. eine Anforderung umfassen, eine Datenübertragung von dem Steuerungsmodul
zu sperren und eine Bestätigung
zu senden, daß der
Steuerungs-Handshake empfangen wurde. Oder der Steuerungs-Handshake
könnte
andere Identifizierungsinformationen umfassen, wie z. B. eine Protokollversionsnummer,
Anwendungsmodultyp oder ein Authentifizierungszertifikat, das es
dem Steuerungsmodul ermöglicht,
mit einer Bestätigung
zu antworten.
-
Wenn
eine Bestätigung
zu dem Prozessor innerhalb einer vorbestimmten Zeitperiode gesendet wird
(Block 115), überträgt der Prozessor
eine Anwendungs-ID-Anforderung zu dem Steuerungsmodul (Block 120).
Das Steuerungsmodul antwortet durch Übertragen einer Anwendungs-ID
zu dem Prozessor (Block 125). Die Anwendungs-ID wird in
einem internen Speicher für
eine spätere
Wiedergewinnung und Verwendung gespeichert. Das Steuerungsmodul weist
ebenfalls eine ID auf, und seine ID wird zu dem Anwendungsmodul
entweder mit der Bestätigung, mit
der Anwendung-ID oder nachfolgend übertragen, um ein Leiten von
nachfolgenden Datenanforderungen zu ermöglichen, ohne den Steuerungs-Handshake-Prozeß wiederholen
zu müssen.
Ein Datendurchlauf wird dann aus dem ersten und dem zweiten Tor wieder
aufgenommen (Block 130) und der Handshake-Prozeß ist abgeschlossen.
Die Steuerung bringt die Anwendungs-ID an nachfolgende Daten an,
die zu dem Anwendungsmodul übertragen
werden, um ein ordnungsgemäßes Leiten
der Daten zu ermöglichen.
-
Wenn
die ursprüngliche Übertragung
des Steuerungs-Handshake durch das erste Datentor nicht zu einer
Bestätigung
führt (Blöcke 105, 115),
die anzeigt, daß kein
Steuerungsmodul mit dem ersten Tor verbunden ist, sucht das Anwendungsmodul
auf das Vorhandensein eines Steuerungsmoduls an seinem zweiten Datentor,
durch Übertragen
eines Steuerungs-Handshake
durch das zweite Tor (Block 235). Ein Datendurchlauf wird
durch das erste Datentor gesperrt (Block 140), um eine
Störung
zu vermeiden. Wenn eine Bestätigung
zurückgesendet
wird (Block 145), die das Vorhandensein eines Steuerungsmoduls
an dem zweiten Tor anzeigt, überträgt der Prozessor
eine ID, fordert das Wiedergewinnen einer Prozessor-ID an und nimmt
den Datendurchlauf von beiden Toren wieder auf (Blöcke 120, 125, 130).
Obwohl die Beschreibung von 3 nur zwei
Datentore umfaßt,
kann der Prozeß auf
mehr als zwei Datentore ausgeweitet werden. Wenn mehr als zwei Datentore bereitgestellt
sind, würde
jedes Datentor nacheinander getestet werden, um zu bestimmen, ob
ein Steuerungsmodul mit diesem Datentor verbunden ist. Der Prozessor
würde einen
Datendurchlauf durch jedes Datentor sperren, das nicht getestet
wird.
-
2 ist
ein Flußdiagramm,
das ein mögliches
Schema für
eine Daten-Wiedergewinnung und -Erfassung durch das Anwendungsmodul
unter Verwendung der Prozessor-ID ermöglicht, die in 2 erworben
wurde. Der Prozessor bei dem Anwendungsmodul überträgt eine Datenanforderung zu dem
Steuerungsmodul (Block 200) durch den Hub. Das Steuerungsmodul
sendet eine Anforderung nach den Daten an den Speicher (Block 210)
und überträgt die wiedergewonnenen
Daten mit der Prozessor-ID zu dem Anwendungsmodul (Block 215).
Das Anwendungsmodul überwacht
die eingehenden Daten nach Daten, die dessen Prozessor-ID aufweisen
(Block 220), um die eingehenden Daten zu dem Prozessor zu
leiten. Die wiedergewonnenen Daten werden erfaßt und zu dem Prozessor für eine Verarbeitung
geliefert (Block 225). Wenn mehr Daten durch den Prozessor
benötigt
werden, wird eine neue Datenanforderung unter Verwendung der ID
der Zielvorrichtung für
ein Leiten bzw. Routen übertragen
(Block 230).
-
3 stellt
eine Implementierung eines Anwendungsmoduls 300 dar. Sie
umfaßt
einen Datenbus 310 in Kommunikation mit einer Benutzerschnittstelle 320,
einen internen Speicher 325, einen Prozessor mit einer
eingebetteten Steuerung 330 und einen Hub 335.
Der Hub 335 kann mit dem Steuerungsmodul 340 und
einem zweiten Anwendungsmodul 345 durch ein erstes bzw.
ein zweites Tor in dem Hub kommunizieren. Das Steuerungsmodul 340 ist mit
redundanten Speichereinrichtungen A und B für eine Daten-Speicherung und
einen -Zugriff verbunden.
-
Der
Prozessor 330 implementiert eine Anwendung, wie z. B. einen
MP3-Player, einen PDA, eine digitale Kamera oder ein digitales Stimmaufzeichnungsgerät. Der Prozessor 330 akzeptiert
eine Benutzereingabe und liefert Statusinformationen zu dem Benutzer
durch eine Benutzerschnittstelle 320. Der Prozessor 330 ist
programmiert, um ein Steuerungs-Handshake-Signal
durch ein Datentor zu übermitteln
und einen Datendurchlauf an dem zweiten Tor zu sperren, und dann
ein Steuerungs-Handshake-Signal durch das zweite Datentor zu übermitteln
und einen Datendurchlauf an dem ersten Datentor zu sperren, falls
kein Steuerungsmodul an dem ersten Datentor positioniert ist, um
die anfängliche
Kommunikation mit dem Steuerungsmodul 340 einzurichten. Ein
Schalten in dem Hub für
die anfänglichen
Kommunikation wird durch den Prozessor gesteuert. Das Steuerungsmodul 340 ist
programmiert, um eine Anwendungsmodul-ID zu dem Prozessor 330 zurückzusenden,
ansprechend auf das Empfangen des Steuerungs-Handshake-Signals.
Wie oben beschrieben ist, speichert der interne Speicher 325 des
Anwendungsmoduls die Anwendungsmodul-ID für eine Verwendung durch den
Hub und den Prozessor. Der interne Speicher 325 ermöglicht ferner
ein effizientes Puffern von Daten, die aus dem Speicher A und B wiedergewonnen
werden, für
eine Verwendung durch den Prozessor 330.
-
Der
Hub 330 kann entweder ein Schalt-Hub oder ein Router sein,
der zumindest einen Schalter aufweist, der die Daten zu dem entsprechenden
Datentor oder zu dem Prozessor 330 weiterleitet, basierend
auf der ID, die in dem Adressierungsabschnitt des Datenpakets enthalten
ist (siehe 1). Wenn z. B. Daten, die durch
das erste Datentor eintreten, nicht mit der Anwendungs-ID übereinstimmen,
wird der Prozessor programmiert, um zu verursachen, daß der Hub
schaltet, so daß die
Daten weiter durch das zweite Tor fortfahren. Wenn die Daten aus
dem Datentor in Kommunikation mit dem Steuerungsmodul 340 kämen, würden die
Daten zu dem zweiten Anwendungsmodul an dem gegenüberliegenden
Datentor (falls angebracht) kommuniziert werden. Daten, die aus
dem Speicher A und B für
den Prozessor 330 wiedergewonnen werden, würden mit
der Anwendungs-ID adressiert werden und durch den Hub 335 zu
dem Prozessor 330 geschaltet werden.
-
Der
interne Speicher 325 kann auf einem einzelnen Chip mit
dem Prozessor 330 integriert sein. Der Datenbus 310 ist
mit elektrisch leitfähigen
Wegen zwischen dem Prozessor 330, der Benutzerschnittstelle 320 und
dem internen Speicher 325 dargestellt. Andere Signaltransportmechanismen,
wie z. B. ein optischer Bus, können
ebenfalls verwendet werden. Ein drahtloses Schema, das BluetoothTM oder eine andere drahtlose Technik verwendet,
könnte
ebenfalls für
den Datenweg zwischen dem Steuerungsmodul 340, den Speichern
A und B und dem Anwendungsmodul 300 vorgesehen sein.
-
Die
Erfindung weist zahlreiche Ausführungsbeispiele
auf, wie z. B. ein tragbares modulares, elektronisches in der Hand
gehaltenes Verbraucherprodukt, wie das, das in 4 gezeigt
ist. Ein solches modulares System ermöglicht, daß ein Steuerungsmodul, wie
z. B. das, das in 3 dargestellt ist, und mehrere
Speicher zusammen durch den Verbraucher mit beliebigen Anwendungsmodulen
gepackt werden, die der Benutzer wünscht. In 4 ist
das Steuerungsmodul 340 ausgerichtet gezeigt für eine elektrische
und mechanische Verbindung mit dem Anwendungsmodul 300 durch
einen elektrischen Verbinder 400 in dem Anwendungsmodul
und einen komplementären,
gegenüberliegenden
Verbinder (nicht gezeigt) in dem Steuerungsmodul 340 und
mechanische Verbinder 410. Das Steuerungsmodul 340 verwaltet
Dateien, die von dem Anwendungsmodul 300 zu den Speichern
A und B gesendet werden. Wie in 3 gezeigt
ist, kann das Anwendungsmodul 300 seinerseits mit einem
zweiten Anwendungsmodul 345 durch zusätzliche elektrische und mechanische
Verbinder (400, 410) verbunden sein. In einem solchen
Fall kann das Steuerungsmodul 340 zwischen Daten von den
unterschiedlichen Anwendungsmodulen unterscheiden, durch das Datenadressierungsschema,
das in Verbindung mit den 1 bis 3 beschrieben
ist.
-
Die
Speicher A und B sind für
eine elektrische Verbindung ausgerichtet mit dem Steuerungsmodul
durch ein Paar von elektrischen Verbindern 400 in dem Steuerungsmodul
gezeigt, und ein komplementäres
Paar von elektrischen Verbindern (nicht gezeigt) in den Speichern,
einer für
jeden Speicher. Jeder Speicher kann individuell ersetzt werden,
wenn er ausfällt
und ein neuer Speicher kann entweder mit derselben oder einer 180° gedrehten
Orientierung im Hinblick auf das Steuerungsmodul 340 installiert
werden.
-
Während verschiedene
Ausführungsbeispiele
der Erfindung beschrieben wurden, ist es für Fachleute auf dem Gebiet
offensichtlich, daß viele
weitere Ausführungsbeispiele
und Implementierungen innerhalb des Schutzbereichs dieser Erfindung
möglich sind.
Zum Beispiel könnte
das Anwendungsmodul mehr als zwei Tore für eine Verbindung mit anderen Modulen
aufweisen, wobei in diesem Fall der Prozessor programmiert sein
könnte,
um einen Steuerungs-Handshake durch jedes Datentor in Folge zu übertragen,
bis die Steuerung lokalisiert ist. Dementsprechend ist es beabsichtigt,
daß die
Erfindung nur im Hinblick auf die beiliegenden Ansprüche eingeschränkt ist.