-
Die
folgenden Ausführungen
beziehen sich auf das Gebiet von Funkkommunikationseinrichtungen
und insbesondere auf das Testen und/oder Kalibrieren von Funkkommunikationseinrichtungen
während
der Herstellung der Einrichtungen.
-
Funkkommunikationseinrichtungen,
wie z. B. Mobiltelefone, PDAs (Personal Digital Assistants) und
dergleichen, verfügen über Komponenten,
zu denen Mikroprozessoren, Eingabeperipheriemodule wie z. B. ein
Tastenfeld, spezielle Funktionstasten und -räder, Ausgabeperipheriegeräte und Informationsspeichermittel
zählen.
Diese Einrichtungen führen
eine oder mehrere Softwareanwendungen wie Mikro-Browser, Adressbücher und
E-Mail-Clients aus. Außerdem
hat die aktuelle Generation dieser Einrichtungen Zugang zu einer
Vielzahl von Diensten über
das Internet. Eine Funkeinrichtung kann beispielsweise zum Browsen
von Webseiten im Internet, zum Senden und Empfangen von Grafiken
und zum Ausführen
von Audio- und/oder Video-Streaming-Anwendungen verwendet werden.
-
Solche
Einrichtungen werden typischerweise während ihrer jeweiligen Herstellung
getestet und kalibriert, um die Zuverlässigkeit und die Qualitätskontrolle
entsprechend den relevanten Standards und Leistungsanforderungen
zu gewährleisten.
Eine Funkeinrichtung durchläuft
dabei typischerweise mehrere Kalibrierungs- und Teststufen, um die qualitative Eignung
jeder ihrer Komponenten zu überprüfen. Für Mobileinrichtungen
können
diese Tests Folgendes einschließen:
Wechselstrom (AC), Gleichstrom (DC), abgestrahlte Funkfrequenz (HF),
Tasten, internes Mikrofon, interner Lautsprecher, Ladefunktion,
Summer, Vibrator und Bildschirm. In Abhängigkeit von dem anfänglich gewählten Weg
der Testentwicklung enthalten die meisten Fertigungsstraßen eine
Reihe von Kalibrierungs- und Teststationen, wobei jede dieser Stationen
nacheinander eine Reihe von Kalibrierungen und Tests durchführt, die
einem Testplan entnommen sind. Die Teststationen enthalten oft Computer,
auf denen Daten aufgezeichnet werden können, die während der Tests gewonnen werden;
die Daten können
vom zu testenden Gerät
(Device Under Test – DUT) über eine
Datenverbindung zwischen dem Computer und dem DUT zum Teststationscomputer übertragen
und dort gespeichert werden.
-
Das
Durchführen
von Kalibrierung und Tests für
immer komplexer werdende Funkeinrichtungen hat zu immer längeren Herstellungszeiten
pro Einheit und/oder zu niedrigen Ausstoßraten geführt. Die Techniker der Fertigungsstraße sind
oft nicht in der Lage, die Ursache von Gerätefehlern in einer Teststation
zu diagnostizieren und müssen
den Fehler replizieren, um dynamische geräteseitige Datenprotokolle auf
Teststationscomputern zur späteren
Analyse durch Firmware- und/oder
Software-Entwickler aufzuzeichnen. Außerdem haben die Techniker
der Fertigungsstraße
oft Schwierigkeiten, vollständige
und genaue Protokolle von den gerade getesteten oder kalibrierten
Geräten
zu gewinnen. Umgekehrt erhalten die Entwickler oft nicht rechtzeitig
den Informations-Input von der Fertigungsstraße, der verwendet werden könnte, um
existierende oder potenzielle Probleme in der Fertigungsstraße zu vermeiden.
-
EP 1517570 offenbart ein
System zum Durchführen
von Leistungstests von Funkeinrichtungen, wodurch Testskripts über ein
Verbindungskabel hochgeladen werden und der Test durchgeführt wird, nachdem
das Kabel abgetrennt wurde. In
EP 1309214 erfolgt
die Lieferung von leistungsbezogenen Daten zu einem Netzwerk als
Reaktion auf eine verschlüsselte
Anforderung, und ein Test wird implementiert, indem die Daten verarbeitet
werden.
-
Es
besteht daher ein Bedarf nach einem Verfahren, Produkt und/oder
System zum effizienten Testen von Funkeinrichtungen und zum Ausgeben von
originalen, genauen und vollständigen
geräteseitigen
Protokollen während
der Herstellung der Einrichtungen. Entsprechend ist eine Lösung erwünscht, welche
die oben beschriebenen und andere Mängel zumindest teilweise behebt.
-
ALLGEMEINES
-
Gemäß einem
Aspekt wird vorzugsweise ein Verfahren zum Testen einer Mobilfunkeinrichtung während der
Herstellung bereitgestellt. Das Verfahren umfasst das Festlegen
von zumindest einem Teil des für
die virtuelle Geräte-
und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM)
der Einrichtung als einen Datenprotokollpuffer während der Herstellung der Einrichtung,
wenn die Einrichtung im Endbenutzermodus betrieben wird; und das
Testen der Einrichtung und das Speichern von Testprotokolldaten
in dem Puffer. Die zugewiesene Puffergröße kann groß genug sein, um eine vollständige Einrichtungstest-
und – kalibrierungsprozedur
zu speichern. Das Verfahren kann des Weiteren nach dem Testen das
Abrufen der protokollierten Daten aus dem RAM-Puffer und das Verarbeiten
der Daten mithilfe eines Fehlerbeseitigungs- und Protokollanalysewerkzeugs
umfassen. Die protokollierten Daten können zu einer Teststation gesendet
werden, dann zu einem Intranet-Speicher, und die Daten können später durch
Techniker mit unterschiedlichem Fachwissen verarbeitet werden. Bei
dem RAM kann es sich um einen Static Random Access Memory (SRAM)
handeln.
-
Gemäß einem
anderen Aspekt wird vorzugsweise ein Computerprogrammprodukt zum
Testen einer Mobilfunkeinrichtung während der Herstellung bereitgestellt.
Das Produkt umfasst einen Speicher, in dem ein computerlesbarer
Code verkörpert
ist, wobei der Code Befehle und Anweisungen zur Implementierung
des obigen Verfahrens enthält.
-
Gemäß einem
noch weiteren Aspekt wird vorzugsweise ein System zum Testen einer
Mobilfunkeinrichtung während
der Herstellung bereitgestellt. Das System umfasst eine Teststation,
die mit der Einrichtung kommuniziert und dem Testen der Einrichtung
während
der Herstellung dient; und einen computerlesbaren Speicher, der
mit der Einrichtung kommuniziert und auf dem Befehle und Anweisungen
gespeichert sind zum Festlegen von zumindest einem Teil des für die virtuelle
Geräte-
und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM)
der Einrichtung als einen Datenprotokollpuffer während der Herstellung der Einrichtung, wenn
die Einrichtung im Endbenutzermodus betrieben wird, und zum Speichern
von Testprotokolldaten in dem Puffer, die aus dem Testen der Einrichtung
gewonnen werden. Das System kann des Weiteren ein mit der Einrichtung
kommunizierendes Fehlerbeseitigungs- und Protokollanalysewerkzeug
enthalten, das zur Verarbeitung der aus dem Puffer gewonnenen Daten
verwendet wird.
-
Gemäß einem
noch weiteren Aspekt wird vorzugsweise ein Verfahren zum Montieren
einer Mobilfunkeinrichtung bereitgestellt, umfassend das Zuführen der
Komponenten der Einrichtung zu einer Fertigungsstraße, wobei
zu den Komponenten ein Random Access Memory (RAM) gehört, und
das Montieren der Komponenten zu einer vollständigen Einrichtung in der Fertigungsstraße; vor und/oder während und/oder
nach dem Montieren der Komponenten das Festlegen von zumindest einem
Teil des für
die virtuelle Geräte-
und/oder Anwendungsnutzung zugewiesenen Random Access Memory (RAM) der
Einrichtung als einen Datenprotokollpuffer, wenn die Einrichtung
im Endbenutzermodus betrieben wird; und vor und/oder während und/oder
nach dem Montieren der Komponenten das Testen der Einrichtung und
das Speichern von Testprotokolldaten in dem Puffer.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Weitere
Merkmale und Vorteile der Ausführungsformen
der vorliegenden Erfindung werden aus der folgenden detaillierten
Beschreibung deutlich, die in Verbindung mit den beigefügten Zeichnungen
erfolgt, welche folgende Bedeutung haben:
-
1 ist
ein Blockdiagramm einer bevorzugten Funkkommunikationseinrichtung,
die zur Implementierung einer Ausführungsform eingerichtet ist;
-
2 ist
ein Blockdiagramm zur Darstellung der Verwendung des Dauerspeichers
und des flüchtigen
Speichers in der Einrichtung aus 1;
-
3 ist
ein Flussdiagramm zur Darstellung eines ersten Verfahrens zum Testen
von Funkeinrichtungen gemäß einer
Ausführungsform;
-
4 ist
ein Flussdiagramm zur Darstellung eines zweiten Verfahrens zum Testen
von Funkeinrichtungen gemäß einer
Ausführungsform;
-
5 ist
ein Blockdiagramm zur Darstellung eines exemplarischen Testsystems,
das zur Implementierung einer Ausführungsform eingerichtet ist;
-
6 ist
ein Flussdiagramm zur Darstellung eines Verfahrens zur Fehlersuche,
das während
des ersten oder zweiten Verfahrens gemäß einer Ausführungsform
verwendet wird.
-
Es
wird darauf hingewiesen, dass bei allen beigefügten Zeichnungen gleiche Merkmale
durch die gleichen Bezugsziffern gekennzeichnet sind.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Gemäß einer
Ausführungsform
wird ein bestimmter Teil des SRAM, der sich in einer Funkkommunikationseinrichtung
befindet, während
des Testens und Kalibrierens der Einrichtung in der Fertigungsstraße als ein
Datenprotokollpuffer verwendet, um Protokolle für eine Post-Mortem-Fehlerbeseitigung
mithilfe eines Protokollanalysewerkzeugs aufzuzeichnen. Dieser Teil
des SRAM ist normalerweise für
die JVM-Verwendung (Java Virtual Machine) reserviert, wenn die Einrichtung
im Endbenutzermodus betrieben wird; dieser Teil ist jedoch ungenutzt,
wenn die Einrichtung gerade in einer Fertigungsstraße hergestellt,
kalibriert und getestet wird, d. h. die Einrichtung ein "DUT" (Device Under Test – zu testendes Gerät) ist.
Während
es sich in der Fertigungsstraße befindet,
wird mindestens ein Megabyte dieses Teils des SRAM zur Verwendung
als Datenprotokollpuffer neu zugewiesen, um einige oder alle der
Kalibrierungs- und Testbefehle, -aktionen und -ergebnisse sowie
einige oder alle der Gerätekalibrierungs-
und Testaktionen der Funk- und Geräte-Firmware im Gerätebetriebssystem
(Operating System – OS),
die während
des Testens in jeder Teststation der Fertigungsstraße generiert
werden, zu protokollieren. Die im Datenprotokollpuffer protokollierten
Daten können andere
und detailliertere Daten sein als die Daten, die herkömmlich durch
die Teststationen während der
Gerätetests
gewonnen werden. Nach dem Abschluss der Gerätetests kann der Datenprotokollpuffer
vom DUT zu einem Teststationscomputer heruntergeladen und dort zur
sofortigen oder späteren Analyse
gespeichert werden. Alternativ oder zusätzlich kann der heruntergeladene
Datenprotokollpuffer zu anderen Standorten zur Analyse gesendet
werden, z. B. zu entfernt gelegenen Entwicklungsteams für Funkeinrichtungssoftware
und -firmware. Der Datenprotokollpuffer kann jedes Mal heruntergeladen werden,
wenn sich das DUT in einer Teststation befindet, oder nur dann,
wenn das DUT einen Test nicht besteht oder es unerwartet mehr Zeit
in Anspruch nimmt, um den Test zu bestehen. Das Protokollieren der
originalen Test- und Kalibrierungsdaten auf eine solche Weise ist
besonders vorteilhaft, da das Personal, das die Tests an der Teststation
durchführt,
oft nicht über
das nötige
Fachwissen verfügt,
um den Fehler direkt beim Auftreten des Fehlers zu diagnostizieren,
und die Testdaten, die herkömmlich
während der
Gerätetests
aufgezeichnet werden, sind oft für die
Entwicklungsteams oder für
anderes qualifiziertes Personal nicht ausreichend, um den Fehler
zu einem späteren
Zeitpunkt zu diagnostizieren. Darüber hinaus repräsentiert
der Datenprotokollpuffer zusätzliche
Fertigungsstraßendaten,
die den Entwicklungsteams zur Verfügung stehen und es diesen Teams
ermöglichen
können,
potenzielle Probleme zu antizipieren und zu lösen, die ansonsten während der Herstellung
auftreten würden.
-
Ein
Beispiel einer Funkkommunikationseinrichtung 102, die gemäß einer
Ausführungsform
eingerichtet ist, wird in 1 dargestellt.
Die Einrichtung 102 ist ein Zweiwegkommunikationsgerät, das zumindest über Sprach-
und erweiterte Datenkommunikationsfunktionen verfügt, wozu
die Fähigkeit
zur Kommunikation mit anderen Computersystemen zählt. Je nach Funktionalität, die die
Einrichtung 102 bereitstellt, kann sie als Daten-Messaging-Gerät, als Zweiweg-Pager,
als Mobiltelefon mit Daten-Messaging-Funktionen, als Drahtlos-Internet-Einrichtung oder
als Datenkommunikationsgerät
(mit oder ohne Telefoniefunktionen) bezeichnet werden. Die Einrichtung 102 kann
einer beliebigen aus einer Vielzahl von feststehenden Funkstationen 100 innerhalb
ihres geografischen Abdeckungsgebiets kommunizieren.
-
Die
Einrichtung 102 enthält
normalerweise ein Kommunikationssubsystem 111, das einen
Empfänger,
einen Sender und die zugehörigen
Komponenten wie beispielsweise ein oder mehrere (vorzugsweise eingebettete
oder interne) Antennenelemente und Lokaloszillatoren (LOs) einschließt, sowie ein
Verarbeitungsmodul wie beispielsweise einen digitalen Signalprozessor
(DSP) (alle nicht dargestellt). Wie dem Fachmann auf dem Gebiet
der Kommunikationstechnik deutlich wird, richtet sich der konkrete Aufbau
des Kommunikationssubsystems 111 nach dem Kommunikationsnetzwerk,
in dem die Einrichtung 102 betrieben werden soll.
-
Der
Netzwerkzugriff ist mit einem Teilnehmer bzw. mit einem Benutzer
der Einrichtung 102 assoziiert, weshalb in die Einrichtung 102 je
nach Netzwerktyp ein Teilnehmererkennungsmodul (Subscriber Identity
Module – SIM) 162 bzw.
eine SIM-Karte in eine
SIM-Schnittstelle 164 eingesetzt werden muss, um den Betrieb
im Netzwerk zu ermöglichen.
Die Einrichtung 102 ist ein batteriebetriebenes Gerät, weshalb
sie ebenfalls eine Batterieschnittstelle 154 zum Aufnehmen
von einer oder mehreren wiederaufladbaren Batterien 156 aufweist.
Eine solche Batterie 156 liefert den elektrischen Strom
für einen
Großteil oder
sogar für
die gesamte elektrische Schaltung in der Einrichtung 102,
und die Batterieschnittstelle 154 sorgt für ihre mechanische
und elektrische Verbindung. Die Batterieschnittstelle 154 ist
mit einem Regler (nicht dargestellt) gekoppelt, der die Spannung
V+ für
die gesamte Schaltung zur Verfügung
stellt.
-
Die
Einrichtung 102 enthält
einen Mikroprozessor 138, der den Gesamtbetrieb der Einrichtung 102 steuert.
Die Kommunikationsfunktionen, wozu zumindest Daten- und Sprachkommunikation
zählen, werden
durch das Kommunikationssubsystem 111 durchgeführt. Der
Mikroprozessor 138 interagiert auch mit weiteren Gerätesubsystemen
wie einem Display 122, einem Flash-Speicher 124 oder
einem anderen Dauerspeicher, einem SRAM (Static Random Access Memory) 126,
zusätzlichen
Eingabe-/Ausgabe-Subsystemen (EIA) 128, einem seriellen
Anschluss 130, einer Tastatur 132, einem Lautsprecher 134,
einem Mikrofon 136, einem Nahbereichskommunikationssubsystem 140 und
mit allen sonstigen Gerätesubsystemen,
die allgemein als 142 bezeichnet werden. Einige der in 1 gezeigten Subsysteme
führen
kommunikationsbezogene Funktionen aus, während andere Subsysteme für "residente" oder geräteeigene
Funktionen verantwortlich sind. Vor allem können einige Subsysteme wie
beispielsweise die Tastatur 132 und das Display 122 sowohl
für kommunikationsbezogene
Funktionen wie das Eingeben einer Textnachricht zur Übertragung über ein
Kommunikationsnetz als auch für
geräteresidente
Funktionen wie einen Taschenrechner oder eine Aufgabenliste verwendet
werden. Die Funk- und eingebettete Software sowie JVM (zusammenfassend
als "Haupt-Betriebssystem-(OS)-Firmware" bezeichnet), sowie
Java-Anwendungen
sind vorzugsweise in einem Dauerspeicher wie dem Flash-Speicher 124 gespeichert,
was alternativ auch ein Festwertspeicher (Read Only Memory – ROM) oder
ein ähnliches
Speicherelement (nicht dargestellt) sein kann. Dem Fachmann auf
dem Gebiet der Technik wird einleuchten, dass durch die Haupt-OS-Firmware erzeugte
Objekte und andere Daten, spezifische Geräteanwendungen oder Teile davon
temporär
in einen flüchtigen
Speicher wie den SRAM 126 geladen werden können.
-
Obwohl
die Funkeinrichtung 102 auf der Java-Plattform betrieben
wird und JVM- und Java-Anwendungen verwendet, können an deren Stelle auch andere
Software-Plattformen unter Verwendung eines unterschiedlichen Virtual
Machine/Anwendungs-Frameworks und anderer Anwendungen, wie sie nach
dem Stand der Technik bekannt sind, verwendet werden.
-
Der
Mikroprozessor 138 ermöglicht
vorzugsweise zusätzlich
zu seinen Betriebssystemfunktionen die Ausführung von Softwareanwendungen
in der Einrichtung 102. Eine bestimmte Anzahl von Anwendungen
zur Steuerung der grundlegenden Gerätefunktionen, einschließlich z.
B. mindestens der Anwendungen zur Daten- und Sprachkommunikation, sind
normalerweise bereits herstellerseitig auf der Einrichtung 102 installiert.
Eine bevorzugte Softwareanwendung, die auf die Einrichtung 102 geladen
werden kann, kann eine PIM-Anwendung (Personal Information Manager)
sein, die über
Funktionen zum Organisieren und Verwalten von Datenobjekten verfügt, die
zu dem Benutzer gehören,
was beispielsweise unter anderem Instant Messaging (IM), E-Mails, Kalenderereignisse,
Sprachnachrichten, Termine und Aufgabenobjekte sein können. Natürlich würden auf
der Einrichtung 102 und im SIM 162 auch ein oder
mehrere Speicherbereiche verfügbar
sein, um die Speicherung von PIM-Datenobjekten und anderer Informationen
zu ermöglichen.
-
Die
PIM-Anwendung ist vorzugsweise in der Lage, Datenobjekte über das
Funknetzwerk zu senden und zu empfangen. In einer bevorzugten Ausführungsform
werden die PIM-Datenobjekte über
das Funknetzwerk nahtlos mit den zum Benutzer der Mobilstation gehörenden Datenobjekten
integriert, synchronisiert und aktualisiert, die auf einem Host-Computersystem
gespeichert und/oder diesem zugehörig sind, wodurch im Hinblick
auf diese Objekte ein gespiegeltes Abbild des Host-Computers auf
der Einrichtung 102 erstellt wird. Das ist insbesondere
dann vorteilhaft, wenn es sich beim Host-Computersystem um das Bürocomputersystem
des Benutzers der Mobilstation handelt. Weitere Anwendungen können auch über das
Netzwerk 100, über
ein zusätzliches E/A-Subsystem 128, über den
Datenanschluss 130, über
das Nahbereichskommunikationssubsystem 140 oder über jedes
andere geeignete Subsystem 142 auf die Einrichtung 102 geladen
und durch einen Benutzer im SRAM 126 oder vorzugsweise
im nichtflüchtigen
Speicher 124 installiert werden, so dass sie durch den
Mikroprozessor 138 ausgeführt werden können. Eine
derartige Flexibilität
bei der Anwendungsinstallation erhöht die Funktionalität der Einrichtung 102 und
kann erweiterte geräteeigene
Funktionen, kommunikationsbezogene Funktionen oder beides ermöglichen.
Zum Beispiel können
durch sichere Kommunikationsanwendungen E-Commerce-Funktionen und ähnliche
finanzielle Transaktionen auf der Einrichtung 102 ermöglicht werden.
-
In
einem Datenkommunikationsmodus wird ein empfangenes Signal wie z.
B. eine Textnachricht, eine E-Mail-Nachricht oder ein Webseitendownload durch
das Kommunikationssubsystem 111 verarbeitet und in den
Mikroprozessor 138 eingespeist. Der Mikroprozessor 138 verarbeitet
das Signal vorzugsweise weiter zur Ausgabe an das Display 122 oder
alternativ an das zusätzliche
E/A-Gerät 128.
Ein Benutzer der Einrichtung 102 kann auch Datenobjekte
wie beispielsweise E-Mail- Nachrichten
erstellen, wozu die Tastatur 132 in Verbindung mit dem
Display 122 und möglicherweise
einem zusätzlichen
E/A-Gerät 128 verwendet
wird. Bei der Tastatur 132 handelt es sich vorzugsweise
um eine vollständige
alphanumerische Tastatur und/oder um ein für Telefone typisches Tastenfeld.
Die so erstellten Objekte können durch
das Kommunikationssubsystem 111 oder das Nahbereichssubsystem 140 über ein
Kommunikationsnetzwerk übertragen
werden.
-
Für die Sprachkommunikation
ist der allgemeine Betrieb der Einrichtung 102 im Wesentlichen gleich,
außer
dass die empfangenen Signale zum Lautsprecher 134 ausgegeben
würden,
und die Signale für
die Übertragung
durch das Mikrofon 136 erzeugt würden. Alternative Sprach- oder
Audio-E/A-Subsysteme, wie z. B. ein Aufzeichnungssubsystem für Sprachnachrichten,
können
auch in der Einrichtung 102 implementiert sein. Obwohl
die Sprach- oder Audiosignalausgabe in erster Linie und vorzugsweise
durch den Lautsprecher 134 erreicht wird, kann auch das
Display 122 verwendet werden, um beispielsweise eine Anzeige
zur Identität
des Anrufers, zur Dauer eines Sprachanrufs oder zu anderen auf Sprachanrufe
bezogene Informationen bereitzustellen.
-
Der
Datenanschluss 130 aus 1 ist normalerweise
in einem Kommunikationsgerät
des Typs PDA (Personal Digital Assistent) implementiert, für das eine
Synchronisierung mit einem Desktopcomputer des Benutzers erwünscht ist,
es handelt sich dabei jedoch um eine optionale Komponente. Der Datenanschluss 130 kann
seriell oder USB sein. Der Datenanschluss 130 ermöglicht es
einem Benutzer, über
ein externes Gerät
oder eine Softwareanwendung Voreinstellungen festzulegen, und erweitert
die Fähigkeiten
der Einrichtung 102 durch das Bereitstellen von Informationen
oder Softwaredownloads zur Einrichtung 102, welches nicht über ein
drahtloses Kommunikationsnetzwerk erfolgt. Der alternative Downloadpfad
kann beispielsweise verwendet werden, um über eine direkte und damit
zuverlässige
und vertrauenswürdige
Verbindung einen Verschlüsselungsschlüssel auf
die Einrichtung 102 zu laden, um eine sichere Gerätekommunikation
zu ermöglichen.
-
Das
Nahbereichskommunikationssubsystem 140 aus 1 ist
eine weitere optionale Komponente, die die Kommunikation zwischen
der Einrichtung 102 und verschiedenen Systemen oder Geräten ermöglicht,
bei denen es sich nicht unbedingt um gleichartige Geräte handeln
muss. Beispielsweise kann das Subsystem 140 ein Infrarotgerät sowie
die zugehörigen
Schaltungen und Komponenten oder ein BluetoothTM-Kommunikationsmodul
enthalten, um die Kommunikation mit Systemen und Geräten zu ermöglichen,
die über
die gleichen Funktionen verfügen.
BluetoothTM ist ein eingetragenes Warenzeichen von
Bluetooth SIG. Inc.
-
2 zeigt
die Verwendung des Dauerspeichers und des flüchtigen Speichers der Einrichtung während des
Testens und Kalibrierens in der Fertigungsstraße. Ein wichtiger Teil des
SRAM 126 in der Einrichtung 102 ist normalerweise
für die
Verwendung durch JVM- und/oder Java-Anwendungen reserviert. Dieser
SRAM 126 ist jedoch ungenutzt, wenn die Einrichtung 102 gerade
in einer Fertigungsstraße
hergestellt, kalibriert und getestet wird. Während der Tests und Kalibrierung
in der Fertigungsstraße
ist in den Flash-Dauerspeicher 124 der bestückten Leiterplatte
einer Einrichtung ein Build der Funk- oder eingebetteten Firmware
zur sofortigen Initialisierung beim Einschalten (zusammenfassend
als "werksseitige
OS-Firmware" bezeichnet) 166 geladen;
in diesem Stadium befindet sich im Flash-Speicher 124 noch
keine JVM- oder Java-Anwendungssoftware (leere Speichermodule mit 167 dargestellt). Ein
bestimmter Anteil 168 des SRAM 126 ist dem Speichern
von Datenobjekten zugewiesen, die während des normalen Betriebs
der werksseitigen OS-Firmware
erstellt werden. Der restliche SRAM 126, der während des
Betriebs der Einrichtung 102 für JVM und Anwendungen reserviert
ist, wird während
der Herstellung der Einrichtung als ein Datenprotokollpuffer 170 festgelegt,
um sämtliche
Ereignisse, Aktionen und Ergebnisse einer Test- und Kalibrierungsprozedur
aufzuzeichnen. Die werksseitige OS-Firmware enthält ein SCM-Build (Software
Configuration Management) mit integrierten Ausgabebefehlsanweisungen
für jedes
Ereignis, jede Aktion und jedes Ergebnis der Kalibrierung, um die
entsprechenden Daten in den Datenprotokollpuffer 170 ausgeben zu
können
("Protokollierungs-Firmware").
-
Jede
Ausgabebefehlsanweisung ist ein Makro, das bei der Kompilierung
in ein reguläres
Funktionsaufruf-Codestück übersetzt
wird. Das heißt,
dass jeder Ausgabebefehlsanweisung eine separate entsprechende Funktion
zur Ausführung
einer Datenoperation zugeordnet ist, z. B. zum Vorbereiten und Formatieren
des Dateneintrags, zum kontinuierlichen Schreiben des Dateneintrags
in den RAM-Puffer 170. Die Ausgabebefehlsanweisungen werden
durch Programmierer in jedem der Kalibrierungs-/Testpfade zum Firmware-Code
hinzugefügt.
-
Die
Ausgabebefehlsanweisungen sind reguläre Code-Zeilen, deren Ausgabe
auch kompatibel ist zu einem Fehlerbeseitigungs- und Protokollanalyseprogramm,
das auf Teststationen und anderen Computern der Entwickler ausgeführt wird
und das weiter unten detailliert beschrieben wird. Jede Ausgabebefehlsanweisung
generiert einen Datenprotokolleintrag, der mit einer entsprechenden
vordefinierten Struktur formatiert ist, z. B. mit einer grundlegenden Struktur
im Stil der Programmiersprache C unter Verwendung der TLD-Elementerweiterung
(Type-Length-Data).
Der Datenprotokolleintrag wird in dem Puffer 170 gespeichert.
Beim Speichern kann der Datenprotokolleintrag so weit wie möglich binär codiert
und verdichtet werden. Beispielsweise kann jede Beschreibungszeichenfolge
durch das Protokollanalyseprogramm mit einer eindeutigen Vier-Byte-Kennung
assoziiert werden, um eine eindeutige Eins-zu-Eins-Zuordnung zu
erzeugen. In dem Datenprotokollpuffer 170 wird nur die Vier-Byte-Kennung
in einem Datenprotokolleintrag protokolliert. Später kann das Protokollanalyseprogramm
mithilfe der Zuordnung die gespeicherte Kennung wieder in die ursprüngliche
Beschreibungszeichenfolge zurückübersetzen.
Ein Datenprotokolleintrag in dem Puffer 170 kann den Inhalts-Byte-Strom direkt
enthalten, und zwar basierend auf einem selbstdefinierten Datenprotokoll,
beispielsweise einem bestimmten Kalibrierungsbefehl und einem assoziierten
Längenindikator
und einem Set aus assoziierten Parametern.
-
Betrachten
wir ein Beispiel, in dem der 2MB-Geräte-SRAM bei der Adresse 0x0800
0000 startet und bei 0×081F
FFFF endet. Angenommen der SRAM-Speicher 168 belegt
0x0800 0000 bis 0x0809 6000 (diese Adresse kann aus einem Compiler/Linker
ermittelt werden), dann kann der Datenprotokollpuffer 170 bei
0x0809 6004 starten (4-Byte-Ausrichtung).
-
Das
Folgende ist ein grundlegender konzeptueller Pseudo-Code, um die
Funktionsaufrufe der Ausgabebefehle zum Datenprotokollpuffer 170 zu
leiten:
BYTE* actualLogBuf;
DWORD actualLogSize;
#define
FIRMWARE_LOG_BUFFER_SIZE (16*1024)
BYTE firmwareLogBuf[FIRMWARE_LOG_BUFFER_SIZE];
#ifdef
(FACTORY_OS_WITH_BIG_BUF)//neu verwenden von Puffer 170 von
Speicher 126
actualLogBuf = APP_SRAM_START;
actualLogSize
= APP_SRAM_END-APP_SRAM_START + 1;
#else //nicht verwenden
von Puffer 170 von Speicher 126
actualLogBuf
= (BYTE*)firmwareLogBuf;
actualLogSize = APP FIRMWARE_LOG_BUFFER_SIZE;
#endif
-
APP_SRAM_START;
APP_SRAM_END sind Makros, die in einer Linker-Datei definiert und im obigen Beispiel
auf 0x0809 6004 und 0x081F FFFF festgelegt sind. Wenn die Ausgabebefehlsfunktionen und
die Protokoll-Dump-Funktion nur "actualLogBuf" und "actualLogSize" verwenden, wird
mit einem neuen Build jeder Dateneintrag automatisch umgeleitet.
-
Typische
Funkkommunikationseinrichtungen 102 verfügen über vier
oder mehr Megabyte an SRAM, wobei ungefähr 800 Kilobyte für den Normalbetrieb
der werksseitigen OS-Firmware zugewiesen ist und der Großteil des
Rests für
die Verwendung für JVM-
und Java-Anwendungen zugewiesen ist. Da in der Fertigungsstraße nur das
werksseitige OS arbeitet, werden nur ungefähr 800 Kilobyte des SRAM verwendet,
und über
3 Megabyte des SRAM bleiben für den
Datenprotokollpuffer 170 verfügbar. Natürlich können Einrichtungen 102,
die über
größere Mengen an
SRAM verfügen,
mit einem größeren Datenprotokollpuffer 170 konfiguriert
werden.
-
3 und 4 zeigen
zwei unterschiedliche Herangehensweisen an das Testen und Kalibrieren
von Funkeinrichtungen 102 gemäß einer Ausführungsform
der Erfindung. Wenn die Einrichtung 102 den Tests unterzogen
wird, dann wird sie in dieser Beschreibung als ein "Device Under Testing" (zu testendes Gerät) bzw.
DUT 102 bezeichnet. Bezug nehmend auf ein erstes Test-
und Kalibrierungsverfahren 200, wie es in 3 dargestellt
ist, ist das Testen unterteilt in eine Testphase auf Platinenebene 210 und in
eine Testphase auf der Ebene der vollständig montierten Einrichtung
("ASY") 220. Die
Platinenebenenphase 210 kann einen Wechselstrom-(AC) und Gleichstromtest
(DC) 211, einen Kalibrierungstest 212 z. B. zum
Kalibrieren der HF-Leistung sowie einen GPS-Test (Global Positioning
System) (nicht dargestellt) umfassen. In jeder Montage- und Testphase 221, 222, 223 sind eine
oder mehrere Teststationen (nicht dargestellt) vorgesehen. Während der ASY-Ebene der Tests werden
die Funkkommunikationseinrichtungen 102 montiert und durchlaufen
eine Reihe von Funktions-, HF- und Audiotests. Bisher hat jede Teststufe
in der ASY-Testphase 220 für gewöhnlich ihre eigene Teststation
erfordert, die aus einer Testhalterung und einem externen Testsystem
bestand. Oft werden solche Tests wie folgt in drei Stufen durchgeführt: Montage 221,
Multifunktionstest (MFT) 222 mit z. B. Testen von LCD,
Tastenfeld, Vibrator, Daumenrad, LED usw. sowie End-/Audiotests
(oder HF und Audio) 223.
-
Bezug
nehmend auf ein zweites Test- und Kalibrierungsverfahren 201,
wie es in 4 dargestellt ist, umfasst die
ASY-Testphase 220 nur zwei Teststufen: Montage und Interaktivtest 230 sowie Nicht-Interaktivtest 232.
Durch die Klassifizierung der ASY-Testphasentests 220 als
entweder interaktiv 230 oder nicht-interaktiv 232 kann der Testprozess
basierend auf den Anforderungen der Tests im Hinblick auf die physische
Interaktion neu organisiert werden. Eine einzelne externe Teststation 234 kann
genutzt werden.
-
Die
Teststufe Montage + Interaktivtests 230 ist die Stufe,
wo jede interaktive Komponente der montierten Einrichtung (typischerweise
Benutzereingabeelemente wie Tastatur- oder Tastenfeldtasten, Sondertasten
und Räder
oder andere derartige manuell manipulierte Eingabeelemenete) auf
ihre Betriebsfähigkeit
getestet werden. Ein zusätzlicher
interaktiver Test kann einen Dockingstationstest einschließen, bei
dem sofern zutreffend das Einsetzen in eine Dockingstation getestet
wird. Dieses Einsetzen in eine Dockingstation kann durch die Einrichtung
erkannt werden und zur Auslösung
von einer oder mehreren Reaktionen verwendet werden, z. B. zum Auslösen einer
Stromsparreaktion oder zur Aktivierung eines Status der Einrichtung,
der nützlich
ist für
Benutzerbenachrichtigungsprofile.
-
Die
Teststufe Nicht-Interaktivtests 232 schließt alle
nicht-interaktiven Tests ein, die an einer einzigen Teststation
durchgeführt
werden. Die Konstruktion der Teststation zur Durchführung der Nicht-Interaktivtests 232 weist
minimale mechanische Anforderungen auf. Die Teststation für diese Tests
enthält
ein externes Testsystem 234, das mit einem Testfeld (nicht
dargestellt) verbunden ist, welches wiederum so eingerichtet ist,
dass es eine Testpalette (nicht dargestellt) aufnehmen kann, die
die Mobilkommunikationseinrichtung hält.
-
Während der
Kalibrierung und der Tests an jeder der Kalibrierungs- bzw. Teststationen 211, 212, 222, 223, 230 und 232 ist
das DUT 102 durch ein Kabel (nicht dargestellt), das an
den Datenanschluss 130 der Einrichtung angeschlossen ist,
mit der Teststation gekoppelt. Beispielsweise kann ein USB-Kabel
verwendet werden, um das DUT 102 mit Strom zu versorgen
und um die Zweiwegkommunikation zwischen der Teststation 211, 212, 222, 223, 230 und 232 und
dem DUT 102 zu ermöglichen.
Während
der Tests sendet die Teststation 211, 212, 222, 223, 230 und 232 Kalibrierungs-
und Testbefehle über
das USB-Kabel zum DUT 102, die im DUT 102 befindliche
Kalibrierungs- und Test-Firmware reagiert auf diese Befehle und
gibt über
das USB-Kabel Reaktionen an die Teststation 211, 212, 222, 223, 230 und 232 zurück. Ein
solches Testen erfolgt in herkömmlicher
Weise und wird daher hier nicht im Detail beschrieben.
-
Während das
DUT 102 den Tests unterzogen wird, wird die Protokollierungs-Firmware
des DUT 102 ausgeführt,
und ein neues Datenprotokoll, das verschiedene Datenprotokolleinträge enthält, wird separat
und unabhängig
im Puffer 170 aufgezeichnet. Diese Einträge schließen die
Kalibrierungs- und Testbefehle, die Aktionen der Einrichtungen sowie die
Ergebnisse entsprechend den Befehlen ein. Wie im Folgenden noch
detailliert beschrieben wird, wird der Datenprotokollpuffer 170 nach
Abschluss der Tests über
das USB-Kabel vom DUT 102 in die Teststation 211, 212, 222, 223, 230 und 232 heruntergeladen,
um den Testbetrieb nicht zu behindern. Der heruntergeladene Datenprotokollpuffer 170 kann
als eine separate Datendatei in einem Teststationscomputer 300 oder
in einem Unternehmensdatenbanksystem oder in einem Intranet-Speichersystem
gespeichert werden, und die Protokolleinträge können später mithilfe des Protokollanalysewerkzeugs
analysiert werden.
-
Nunmehr
Bezug nehmend auf 5, umfasst eine exemplarische
Teststation das Computersystem 300 und ein Testfeld und/oder
eine Testpalette (beides nicht dargestellt), die mit dem Computersystem 300 kommunizieren.
Das Computersystem 300 enthält ein Eingabegerät 310,
eine Zentraleinheit (Central Processing Unit – CPU) 320, einen
Speicher 330, ein Display 340 und eine Schnittstelle 350.
Das Eingabegerät 310 kann
eine Tastatur, eine Maus, einen Trackball, eine Fernbedienung oder
ein ähnliches
Gerät einschließen Die
CPU 320 kann zweckgebundene Koprozessoren und Speicherelemente einschließen. Der
Speicher 330 kann RAM, ROM oder Plattenspeichereinrichtungen
einschließen.
Das Display 340 kann einen Computerbildschirm, eine Terminaleinheit
oder ein Ausgabegerät
zur Hardcopy-Erzeugung wie z. B. ein Drucker oder Plotter einschließen. Und
die Schnittstelle 350 kann eine Netzwerkverbindung einschließen, was
z. B. eine Internet-Verbindung sein kann. Das Computersystem 300 ist
zum Testen von Mobileinrichtungen 102 in Verbindung mit
einer Testpalette (nicht dargestellt) und einem Testfeld (nicht
dargestellt) eingerichtet. Die Schnittstelle 350 schließt auch
verschiedene Testanschlüsse
zum Anschließen
an das Testfeld ein, wie das weiter unten noch beschrieben wird.
-
Das
Computersystem 300 kann ein Serversystem oder ein Personal-Computer-System (PC) sein.
Die CPU 320 des Computersystems 300 ist im Betrieb
mit dem Speicher 330 gekoppelt, auf dem ein Betriebssystem
(nicht dargestellt) wie z. B. OS/2TM der
IBM Corporation, Windows® von Microsoft, UNIX usw.
zur allgemeinen Verwaltung des Systems 300 gespeichert
ist. Die Schnittstelle 350 kann zur Kommunikation mit externen
Datenverarbeitungssystemen über
ein Netzwerk wie z. B. dem Internet verwendet werden. Beispiele
für geeignete
Plattformen für
das Computersystem 300 sind iSeriesTM-Server und
ThinkCentreTM-PCs, die von der IBM Corporation angeboten
werden. Das Computersystem 300 kann Anwendungsserver-Software (nicht dargestellt)
einschließen,
z. B. das von BEA Systems, Inc. angebotene WebLogic® Server,
das zum Entwickeln und Verwalten verteilter Anwendungen dient.
-
Das
Computersystem 300 enthält
computerausführbare
programmierte Anweisungen, die das System 300 dazu bringen,
unter Verwendung der Testfelder und Testpaletten die Einrichtungstests
zu implementieren ("Einrichtungstestanweisungen") 370. Das
Computersystem 300 kann auch ein in Echtzeit agierendes
Fehlerbeseitigungs- und Protokollanalysewerkzeug ("Fehleranzeigewerkzeug") 360 enthalten,
das die von dem DUT 102 aufgezeichneten Testdaten analysiert.
Die Testanweisungen 370 und das Fehleranzeigewerkzeug 360 können in einem
oder mehreren Testsoftware-Modulen 360, 370 ausgeführt sein,
die sich im Speicher 330 des Computersystems 300 befinden.
Alternativ können die
Testanweisungen 370 und das Fehleranzeigewerkzeug 360 auch
auf einem computerlesbaren Medium (wie z. B. einem CD-Datenträger oder
einer Diskette) ausgeführt
sein, das zur Übertragung
der programmierten Anweisungen in den Speicher 330 des Computersystems 300 verwendet
werden kann. Alternativ können
die Testanweisungen 370 und das Fehleranzeigewerkzeug 360 auch
in ein computerlesbares, signaltragendes Mediums eingebettet sein, das
durch einen Verkäufer
oder Anbieter der programmierten Anweisungen in ein Netzwerk hochgeladen
wird, und dieses signaltragende Medium kann von dem Netzwerk durch
die Endbenutzer oder potenzielle Käufer über die Schnittstelle 350 zum
Computersystem 300 heruntergeladen werden.
-
Die
CPU 320 des Computersystems 300 ist typischerweise
mit einem oder mehreren Eingabegeräten 310 gekoppelt,
die dem Empfangen von Benutzerbefehlen oder Abfragen und zum Anzeigen
der Ergebnisse dieser Befehle oder Abfragen für den Benutzer auf einem Display 340 dienen.
Beispielsweise können
Benutzerabfragen in eine Kombination von SQL-Befehlen transformiert
werden, um eine oder mehrere Tabellen mit Ausgabedaten zu erzeugen, die
in eine oder mehrere Anzeigeseiten integriert werden, welche dem
Benutzer angezeigt werden. Die CPU 320 ist mit dem Speicher 330 gekoppelt,
um Softwaremodule 360, 370 und Daten wie z. B.
Datenbanktabellen oder virtuelle Tabellen wie z. B. Ansichten oder
abgeleitete Tabellen zu speichern. Wie bereits erwähnt wurde,
kann der Speicher 330 eine Vielzahl von Speicherelementen
umfassen, zu denen interner Speicher und externer Massenspeicher
zählen kann
und die typischerweise in einer Speicherhierarchie angeordnet sind,
wie das dem Fachmann auf dem Gebiet der Technik bekannt sein dürfte.
-
Ein
Benutzer kann mit dem Computersystem 300 und dessen Softwaremodulen 360, 370 mithilfe einer
grafischen Benutzeroberfläche
(Graphical User Interface – GUI) 380 interagieren.
Die GUI 380 kann Web-basiert sein und kann zur Überwachung
und Verwaltung des Computersystems 300 und zum Zugriff
auf dieses verwendet werden. GUIs werden durch die üblichen
Betriebssysteme unterstützt
und bieten ein Anzeigeformat, das es einem Benutzer ermöglicht,
Befehle auszuwählen,
Anwendungsprogramme auszuführen,
Computerdateien zu verwalten und andere Funktionen auszuführen, indem
unter Verwendung eines Eingabe- oder Zeigergeräts wie eine Maus 310 bildliche
Darstellungen ausgewählt werden,
die als Icons bzw. Symbole bezeichnet werden, oder indem in gleicher
Weise Elemente aus einem Menü ausgewählt werden.
Im Allgemeinen wird eine GUI verwendet, um Informationen zu Benutzern zu übertragen
und Befehle von Benutzern zu empfangen, und schließt im Allgemeinen
unterschiedlichste GUI-Objekte und Steuerungseinrichtungen ein,
was unter anderem Symbole, Werkzeugleisten, Dropdown-Menüs, Text,
Dialogfelder, Schaltflächen und
dergleichen sind. Ein Benutzer interagiert typischerweise mit einer
auf einem Display 340 präsentierten GUI 380,
indem er ein Eingabe- oder Zeigergerät (z. B. eine Maus) 310 verwendet,
um einen Zeiger bzw. Cursor 390 über ein Objekt 391 zu
bewegen und dann auf das Objekt 391 zu "klicken".
-
Typischerweise
präsentiert
ein GUI-basiertes System dem Benutzer die Anwendung, den Systemstatus
und andere Informationen in Form von "Fenstern", die auf dem Display 340 erscheinen.
Ein Fenster 392 ist ein mehr oder weniger rechteckiger Bereich
innerhalb des Displays 340, in dem ein Benutzer eine Anwendung
oder ein Dokument betrachten kann. Ein solches Fenster 392 kann
geöffnet,
geschlossen, in Vollbildgröße angezeigt,
auf ein Symbol reduziert, in seiner Größe verändert oder auf unterschiedliche
Bereiche des Displays 340 verschoben werden. Gleichzeitig
können
mehrere Fenster angezeigt werden, beispielsweise: als Fenster, die
in andere Fenster eingeschlossen sind, als Fenster, die andere Fenster überlappen,
oder als Fenster, die innerhalb des Anzeigebereichs gekachelt sind.
-
Unter
Bezug auf 6 erfolgt das Aufzeichnen eines
Datenprotokoll-Puffers 170 auf
dem DUT 102 während
des herkömmlichen
Testens und Kalibrierens des DUT 102 in jeder der Teststationen 211, 212, 222, 223, 230 und 232.
Das DUT 102 kommt in einer Teststation 211, 212, 222, 223, 230 und 232 an und
wird in der Teststation 211, 212, 222, 223, 230 und 232 durch
ein Kabel, das an den Datenanschluss 130 des Geräts angeschlossen
wird, mit dem Testfeld oder mit der Testpalette verbunden. Wenn
der Test gestartet wird (Schritt 405), führt das
Teststationscomputersystem 300 die Gerätetest-Software 370 aus
und sendet über
den Datenanschluss 130 Testbefehle zum Testfeld und damit
zum DUT 102. Als Reaktion auf die Befehle führt das
DUT 102 eine Test/Kalibrierungs-Firmware-Anwendung aus
und gibt die Ergebnisse ebenfalls über den Datenanschluss 130 zur
Teststation 21, 212, 222, 223, 230 und 232 zurück (Schritt 410).
Die durch das Computersystem 300 gesendeten Befehle und
die vom Testfeld und/oder vom DUT 102 empfangenen Ergebnisse
werden im Stationsspeicher 330 gespeichert. Ebenfalls während des
Tests führt
das DUT 102 die Protokollierungs-Firmware-Anwendung aus,
die in seiner Firmware gespeichert ist (Schritt 415); in
den Test/Kalibrierungs-Anwendungscode
sind für
die Teile des Tests, wo Daten protokolliert werden sollen, Ausgabebefehlsanweisungen
eingebettet. Die als Reaktion auf die Anweisungen erzeugten Datenprotokolleinträge werden
im Datenprotokollpuffer 170 gespeichert. Diese Protokolleinträge können detailliertere
Daten über
den internen Test- und Kalibrierungsablauf des Geräts liefern
als die Daten, die aus dem Testen mithilfe der Teststationssoftware 370 gewonnen
werden, und können
somit besonders nützlich
für die
Fehlersuche und Fehlerbehebung durch Entwicklungsteams im Anschluss
an die Tests sein.
-
Nach
dem Ende der Gerätetests
(Schritt 420) ist der Datenanschluss 130 zur Kommunikation
der Datenprotokolleinträge
vom Puffer 170 zu einem Speicher 330 im Computersystem 300 der
Teststation verfügbar.
Das Computersystem 300 ist so programmiert, dass es über den
Datenanschluss 130 ein Signal überträgt, welches das Ende des Tests
anzeigt und die Übertragung
der Datenprotokolleinträge
anfordert; nach Empfang dieses Signals überträgt das DUT 102 die
Datenprotokolleinträge
aus dem Puffer 170 zum Speicher 330 der Teststation
(Schritt 430). Optional kann das Computersystem 300 so
programmiert sein, dass es vom DUT 102 nur dann die Übertragung
der Datenprotokolleinträge
anfordert, wenn ein Gerätefehler
vorliegt oder wenn ein Test eine längere Zeit als geplant in Anspruch
genommen hat, was darauf hindeutet, dass möglicherweise ein Problem aufgetreten
ist (Schritt 425).
-
In
dieser Ausführungsform
werden die Dateneinträge
erst dann übertragen,
wenn die Tests abgeschlossen sind (nach Schritt 420), um
eine mögliche
Störung
der Tests zu vermeiden. Bestimmte Tests testen das Timing und die
Ansprechempfindlichkeit des DUT 102; während solcher Tests erwartet die
Teststationssoftware 370, dass die gesamte Bandbreite des
Datenanschlusses 130 für
die Kommunikation zwischen dem DUT 102 und der Teststation
verfügbar
ist. Wenn die Protokollierungs-Firmware während solcher Tests Daten über den
Datenanschluss 130 übertragen
müsste,
könnte
es zu Verzögerungen
in der Kommunikation zwischen der Teststation 211, 212, 222, 223, 230 und 232 und
dem DUT 102 kommen, was sich negativ auf das Timing der
Tests und auf die Erzielung genauer Testergebnisse auswirken würde.
-
Gemäß einer
alternativen Ausführungsform ist
die Protokollierungs-Firmware
so programmiert, dass die Datenprotokolleinträge während der Gerätetests übertragen
werden, und zwar mit einer Datenrate, die sich nicht störend auf
die Ausführung
der Tests auswirkt. Gemäß einer
noch anderen alternativen Ausführungsform
ist die Teststationssoftware 370 so programmiert, dass
sie das DUT 102 anweist, die Dateneinträge nur dann während der
Tests zu übertragen,
wenn es sich beim gerade ausgeführten
Test nicht um einen Timing-Test handelt.
-
Beispiele
für Ausgabebefehlsanweisungen, die
in den Protokollierungs-Firmware-Code
integriert werden können
und die Datenprotokolleinträge
bzw. -anweisungen erzeugen, die durch das Fehleranzeigewerkzeug
(oder ein anderes Protokollanalysewerkzeug oder Fehlerbeseitigungswerkzeug)
erkannt werden können,
sind:
PRINT: gibt eine Anweisung ohne eine bestimmte Hervorhebung
aus. PRINT-Anweisungen werden typischerweise zur Protokollierung
normaler Ereignisse verwendet, die es wert sind, protokolliert zu
werden.
WARN: identisch mit PRINT-Anweisungen, außer dass
die Ausgabe hervorgehoben ist. WARN-Anweisungen sind nützlich zur
Identifizierung von Transaktionen, die verdächtig oder etwas ungewöhnlich sind oder
die möglicherweise
in anderer Weise Aufmerksamkeit erfordern.
ASSERT: eine bedingte
Anweisung, die zur Überprüfung von
Annahmen verwendet werden kann. Die ASSERT-Anweisung bestätigt, dass
eine spezifizierte Bedingung als wahr (true) bewertet wird. Wenn
die Bedingung als falsch (false) bewertet wird, wird die ASSERT-Anweisung
ausgegeben.
PRINTCOPY: ermöglicht
das Dumping einer ASCII-Zeichenfolge, und zwar im Unterschied zur PRINT-Anweisung,
bei der lediglich eine Literalzeichenfolge ausgegeben wird.
SHOW_MEMORY:
zeigt einen Abschnitt des Speichers in Form von hexadezimalen Bytes
an.
EMIT_STRUCTURE: ähnlich
wie SHOW_MEMORY, außer
dass ein Stück
des Speichers als eine Struktur behandelt und auch als solche decodiert
wird.
-
Andere
Formen der Ausgabe. Zusätzlich
zu den oben angeführten
Ausgabeanweisungen kann das Fehleranzeigewerkzeug 360 auch
andere hartcodierte Ausgaben anzeigen, die zur Darstellung von komplizierten,
jedoch wichtigen und häufig
verwendeten Datenteilen verwendet werden. Beispiele hierfür sind die
Inter-Task-Multithreading-Meldungsprotokollierung für Inter-Task-Signale
sowie Benutzerdatenblock-Protokollierung und Funksignalisierungsdatenblöcke.
-
Nachdem
die Datenprotokolleinträge
im Computersystemspeicher 330 gespeichert wurden, kann
das Fehleranzeigewerkzeug 360 auf dem Teststationscomputer 300 ausgeführt werden.
Bei der Ausführung
des Fehleranzeigewerkzeugs 360 werden die Datenprotokolleinträge bzw.
Anweisungen dekompaktiert, indem die Modulkennungen in den kompaktierten
Ausgabeanweisungen den entsprechenden Fehlerbeseitigungszeichenfoigen
aus einer im Speicher 330 gespeicherten Zeichenfolge-Verweistabelle
zugeordnet werden. Die dekompaktierten Ausgabeanweisungen bestehen
damit aus einer Liste von Fehlerbeseitigungszeichenfolgen, die im
Computersystemspeicher 330 gespeichert sind. Dann kann
das Computersystem 300 die Ausgabeanweisungen auf der GUI 380 anzeigen,
und das Testpersonal an der Teststation kann diese sofort überprüfen, und/oder
das Protokoll kann in Form einer Datendatei mit Ausgabeanweisungen über ein
Netzwerk in ein Unternehmensdatenbanksystem oder in eine Intranet-Speichersystem
gesendet werden, sodass entfernt arbeitende Entwicklungsteams die Analyse
vornehmen können
(Schritt 440). Diese Entwicklungsteams können das
auf ihre jeweiligen Computer geladene Fehleranzeigewerkzeug verwenden, um
die Ausgabeanweisungen zu analysieren. Die Entwicklungsteams analysieren
die Ausgabeanweisungen und versuchen die Ursachen für eventuelle Fehler
zu diagnostizieren (Schritt 440). Etwaige Maßnahmen
zur Behebung des Fehlers ("Fixes") werden in die nachfolgenden
Geräte
in der Fertigungsstraße integriert
("neues Build"), die dann ebenfalls
Tests unterzogen werden. Wenn ein von dem Gerät des neuen Build gewonnenes
Datenprotokoll anzeigt, dass alle Probleme beseitigt wurden, dann
ist die Test/Kalibrierungsprozedur abgeschlossen (Schritt 410).
Von diesem Prozess wird eine Steigerung der Produktivität und der
Ausstoßrate
erwartet.
-
Das
Fehleranzeigewerkzeug 360 verfügt über weitere Merkmale und funktioniert
wie andere handelsübliche
Fehlerbeseitigungs- und Protokollanalysewerkzeuge. Deshalb wird
die Programmierung und der Betrieb dieses Werkzeugs 360 hier
nicht weiter detailliert beschrieben. Beispielsweise kann das Fehleranzeigewerkzeug 360 mit
Merkmalen programmiert sein, die bei der Diagnose der Ereignisse nach
dem Fehlschlagen eines Gerätetests
hilfreich sind. Das Gerät
bzw. die Einrichtung 102 ist so programmiert, dass der
Inhalt des Speichers zum Zeitpunkt des Fehlschlagens des Gerätetests
möglichst genau
im Datenprotokollpuffer 170 festgehalten wird, sodass der
Gerätezustand
durch das Fehleranzeigewerkzeug 360 ermittelt werden kann,
um hoffentlich die Ursache für
das Fehlschlagen des Tests feststellen zu können. Wenn die Einrichtung 102 mit
dem Teststationscomputersystem 300 verbunden ist, wird der
Datenprotokollpuffer 170 zum Computersystem 300 übertragen;
dieser Puffer repräsentiert
die protokollierten Ereignisse, die zum Fehlschlagen des Tests geführt haben.
-
Obwohl
sich die hier beschriebene Ausführungsform
auf ein bestimmtes Fehleranzeigewerkzeug 360 bezog, können auch
andere beim Stand der Technik bekannte Fehlerbeseitigungs- und/oder Protokollanalyse-Softwareprogramme
zum Einsatz kommen, die ebenfalls von der Verwendung von ungenutztem
SRAM während
der Geräteherstellung
als ein Datenprotokollpuffer für
die Kalibrierung und Testdurchführung
profitieren können.
-
Ein
Teil der Offenbarung dieses Patentdokuments enthält Material, das dem Urheberrechtsschutz
unterliegt. Der Inhaber des Urheberrechts erhebt keinerlei Einwände gegen
die Faksimile-Reproduktion durch das Patentdokument oder die Patentoffenbarung,
wie sie in der Patentakte oder den Patentunterlagen des Patent- und Warenzeichenamts vorkommen,
behält
sich aber alle sonstigen Urheberrechte vor.
-
Der
Umfang der Erfindung wird einzig und allein durch die beigefügten Ansprüche definiert.