-
Die
Erfindung bezieht sich auf ein Verfahren zur Steuerung des Betriebs
einer Doppel-Set-Top-Box, die zwei Prozessoreinheiten und einen
Flashspeicher aufweist.
-
Es
gibt verschiedene Arten von sogenannten Set-Top-Boxen bzw. Aufsatzgeräten. Vorliegend
sind insbesondere Set-Top-Boxen in Form digitaler Empfänger von
Interesse, die in der Lage sind, digitale Fernsehsignale zu empfangen,
zu decodieren und wiederzugeben.
-
Set-Top-Boxen
können
in solche vom Einzeltunertyp und solche vom Doppeltunertyp klassifiziert werden.
Eine herkömmliche
Set-Top-Box vom Einzeltunertyp gibt nur einen Satz von Audio- und
Videosignalen ab und weist eine Prozessoreinheit, einen Flashspeicher,
einen synchronen dynamischen Speicher mit wahlfreiem Zugriff (SDRAM)
und eine Tunereinheit auf, während
eine herkömmliche Set-Top-Box
vom Doppeltunertyp jeweils zwei dieser Komponenten umfasst, um zwei
unabhängige
Sätze von
Audio- und Videosignalen abzugeben. Mit anderen Worten kann eine
Set-Top-Box vom Doppeltunertyp gleichzeitig Übertragungs signale zweier Kanäle empfangen
und verarbeiten, so dass das Übertragungssignal
des einen Kanals aufgezeichnet werden kann, während das zum Übertragungssignal
des anderen Kanals gehörige
Rundfunk/Fernsehprogramm konsumiert, d.h. gehört bzw. gesehen, wird.
-
Um
zwei unabhängige
Sätze von
Audio- und Videosignalen zwecks gleichzeitigem Konsumieren und Aufzeichnen
abzugeben, sind jedoch bei den bekannten Systemen nicht nur zwei
Prozessoreinheiten und zwei SDRAMs, sondern auch zwei Flashspeicher
vorzusehen, was in einer Erhöhung
der Herstellungskosten der Set-Top-Box und in komplexerer Softwarebereithaltung
resultiert.
-
In
der Offenlegungsschrift
WO
2004/074977 A2 wird vorgeschlagen, einen der zwei herkömmlichen
Flashspeicher durch einen RAM-Speicher zu ersetzen, wobei die zugehörige Prozessoreinheit
als Slave und die andere Prozessoreinheit als Master fungieren.
Im Flashspeicher der Master-Prozessoreinheit
ist Software für
den Betrieb derselben sowie Differenzinformation gespeichert, die
Unterschiede zu der von der Slave-Prozessoreinheit verwendeten Software
enthält.
Beim Starten der Set-Top-Box
lädt die
Master-Einheit ihre Software aus dem Flashspeicher in einen zugehörigen RAM,
und anschließend ruft
die Slave-Prozessoreinheit über
die Master-Prozessoreinheit die Differenzinformation ab und transferiert
diese zu ihrem RAM, in welchem dann zugehörige Softwareänderungen
vorgenommen werden.
-
Aus
der Offenlegungsschrift
WO
01/27753 A2 ist es bekannt, zum Laden von Software in mehrere
Prozessoreinheiten die Software zunächst in einen ersten Prozessor
zu laden und anschließend eine
zweite Prozessoreinheit durch die erste Prozessoreinheit in einen
Empfangsmodus zu setzen und die Software von der ersten zur zweiten
Prozessoreinheit zu transferieren, wonach die zweite Prozessoreinheit
von der ersten Prozessoreinheit wieder zurückgesetzt wird.
-
In
der Offenlegungsschrift
US
2002/0054069 A1 wird ein spezielles Verfahren zum Aktualisieren oder
Reparieren geschädigter
Teile von Softwareanweisungen für
einen Client, z.B. eine Set-Top-Box, in einem Computersystem mit
mehreren Client- und Server-Einheiten beschrieben, wobei während einer Initialisierung
die Gültigkeit
von Systemprogrammanweisungen und anschließend von Applikationsprogrammanweisungen
beim Client-System überprüft und bei
entdeckten Fehlern das Client-System mit einem der Server-Systeme
verbunden wird, um von dort aktualisierende Software herunterzuladen.
-
Der
Erfindung liegt als technisches Problem die Bereitstellung eines
Betriebssteuerverfahrens für eine
Set-Top-Box vom Twin-Typ, d.h. Doppel-Typ oder Doppeltunertyp, zugrunde, das
die oben genannten Schwierigkeiten des Standes der Technik ganz
oder teilweise vermeidet und insbesondere die Verwendung einer mit
relativ geringem Aufwand herstellbaren Set-Top-Box und einer mit relativ geringem Aufwand
aktualisierbaren Software ermöglicht.
-
Die
Erfindung löst
dieses Problem durch die Bereitstellung eines Betriebssteuerverfahrens
mit den Merkmalen des Anspruchs 1. Dieses Verfahren ermöglicht die
Verwendung einer Set-Top-Box vom Doppeltunertyp mit nur einem einzigen
Flashspeicher, der von zwei Prozessoreinheiten gemeinsam genutzt
wird.
-
Beim
erfindungsgemäßen Verfahren
wird in einem ersten Schritt eine erste Prozessoreinheit gebootet,
in einem zweiten Schritt eine zweite Prozessoreinheit gebootet und
in einem dritten Schritt ein normaler Betrieb der beiden Prozessoreinheiten
ausgeführt.
Während
des Bootens wird im Flashspeicher abgelegter Programmcode zu einem
SDRAM verschoben, analog zur Verschiebung von auf einer Festplatte
abgelegtem Programmcode eines Personalcomputers (PC) zu einem internen
Speicher während
des Bootens des PC-Systems. Im Normalbetrieb ist der Flashspeicher
mit der einen Prozessoreinheit als einer Master-Prozessoreinheit verbunden, und die
beiden Prozessoreinheiten verhalen sich bis auf einige wenige, weiter
unten erläuterte
Ausnahmen in herkömmlicher
Weise.
-
Die
beiden Prozessoreinheiten können
unterschiedliche Operationen ausführen und lesen ihre Portwerte,
um zu bestimmen, ob sie als ein Master- oder ein Slave-Prozessor
arbeiten, und verzweigen gegebenenfalls zu entsprechenden Unterprogrammen,
wobei sie die Software gemeinsam nutzen können. Die Set-Top-Box kann
mehr als zwei Slave-Prozessoreinheiten
beinhalten.
-
Der
Master-Prozessor steuert ein Rücksetzsignal
des Slave-Prozessors, um festzulegen, wann der Slave-Prozessor aktiviert
wird. Mit anderen Worten startet der Slave-Prozessor seinen Betrieb
dann, wenn der Master-Prozessor den Rücksetzzustand aufhebt. Der
Master-Prozessor wird durch einen integrierten Rücksetzschaltkreis (Rücksetz-IC)
nach Ablauf einer bestimmten Zeitdauer ab Zuführen von Leistung zurückgesetzt
und automatisch aktiviert. Wenn der Rücksetzzustand in den aktivierten
Zustand geändert
wird, wird von Prozessor-Hardware ein Bootvorgang ausgeführt. Während dieses
Bootvorgangs wird ein im Flashspeicher abgelegter Ausführungsprogrammcode
zu einem SDRAM verschoben, ähnlich
dem Bootvorgang bei einem PC, der eine Verschiebung des Ausführungsprogrammcodes von
einer Festplatte zu einem internen Speicher beinhaltet.
-
Ein
Adressbus oder eine Adressleitung zwischen dem Flashspeicher und
der einen bzw. der anderen Prozessoreinheit wird durch einen Busschalter ausgewählt, der
zwischen dem Flashspeicher einerseits und den beiden Prozessoreinheiten
andererseits angeordnet ist. Mit anderen Worten wählt der Busschalter
aus, ob eine Adressleitung des Flashspeichers mit einer Adressleitung
der einen Prozessoreinheit oder mit einer Adressleitung der anderen Prozessoreinheit
verbunden wird. Ein zugehöriges Auswahlsignal
des Busschalters wird durch die eine Prozessoreinheit gesteuert.
Der Busschalter verbindet die Adressleitung des Flashspeichers mit
der einen Prozessoreinheit während
einer automatischen Rücksetzperiode
nach Anlegen von Leistung an die Set-Top-Box. Diese Prozessoreinheit
steuert das Auswahlsignal des Busschalters, um das Booten der anderen
Prozessoreinheit zu ermöglichen,
wenn ihr eigener Bootvorgang abgeschlossen ist, so dass die Adressleitung
des Flashspeichers mit der anderen Prozessoreinheit verbunden wird,
wobei der Rücksetzzustand
der anderen Prozessoreinheit aufgehoben wird und die andere Prozessoreinheit
booten kann. Des weiteren ist vorzugsweise eine Flashspeicherzugriffsdatenleitung
vorgesehen, wobei Datenleitungen der einen und der anderen Prozessoreinheit
sowie des Flashspeichers gemeinsam ohne Verwendung einer Umschaltschaltung
verbunden sind, im Unterschied zu den Adressleitungen. Dies ist
deshalb möglich,
weil Datenleitungen eines Prozessors, der nicht auf einen Speicher
zugreift, eine hohe Impedanz aufweisen.
-
Die
im Flashspeicher abgelegte Software kann beispielsweise durch eine
der beiden folgenden Methoden aktualisiert und dabei gegebenenfalls
erweitert werden. Gemäß einer
ersten Methode empfängt
die eine Prozessoreinheit einen Softwarecode von einem externen
Gerät,
wie einem PC, über
eine RS-232C-Schnittstelle und speichert den Softwarecode im Flashspeicher.
Anstelle der RS-232C-Schnittstelle kann auch ein universeller synchroner
Bus (USB) benutzt werden. Bei der zweiten Methode wählt die
eine Prozessoreinheit einen Programmcode aus, der in einem Teil
eines Übertragungssignals
enthalten ist, wie einem Satellitenübertragungssignal, einem terrestrischen Übertragungssignal
oder einem Kabelübertragungssignal,
und speichert den Programmcode im Flashspeicher. Diese Methode wird
allgemein als Luftstrecken(OTA)- Download-Service
bezeichnet. Die Erfindung ermöglicht
den beiden Prozessoreinheiten die gemeinsame Nutzung des Flashspeichers
derart, dass sie jeweils ihre Software nicht zwingend aktualisieren
bzw. erweitern müssen.
Wenn die jeweiligen Prozessoreinheiten einer Aktualisierung ihrer
Software bedürfen,
sind entsprechende Mittel zur Verbindung der Set-Top-Box mit einem
externen Gerät
erforderlich, wie eine RS-232C-Schnittstelle.
-
Vorteilhafte
Ausführungsformen
der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend
beschrieben. Hierbei zeigen:
-
1 ein
Blockdiagramm einer Doppel-Set-Top-Box mit zwei Prozessoreinheiten
und einem von diesen gemeinsam genutzten, einzelnen Flashspeicher
und
-
2 ein
Flussdiagramm zur Veranschaulichung eines Betriebssteuerverfahrens
für die Set-Top-Box
von 1.
-
Die
in 1 gezeigte Set-Top-Box umfasst ähnlich wie
eine herkömmliche
Set-Top-Box vom Doppeltunertyp zwei Tunereinheiten 11 und 12,
die gleichzeitig oder unabhängig
voneinander Videosignale, Audiosignale und Daten empfangen, welche über ein
terrestrisches, kabelgestütztes
oder satellitengestütztes Übertragungssystem
zugeführt
werden. Die Tunereinheiten 11 und 12 senden nach
dem Demodulieren einen entsprechenden digitalen Datenstrom zu einer
ersten Prozessoreinheit (A) 15 und einer zweiten Prozessoreinheit
(B) 16. Die beiden Prozessoreinheiten 15 und 16 arbeiten
gleich wie diejenigen einer herkömmlichen
Set-Top-Box mit einigen charakteristischen Ausnahmen, auf die nachfolgend
näher eingegangen
wird.
-
Die
Prozessoreinheiten 15 und 16 decodieren die Video-
und Audiosignale in Signale, die von einem Nutzer konsumiert, d.h.
betrachtet und/oder gehört,
oder aufgezeichnet werden können,
und geben die decodierten Signale an einen TV-Ausgangsanschluss 25 oder
einen VCR-Ausgangsanschluss 26 ab.
-
Die
individuellen Betriebsweisen der beiden Prozessoreinheiten 15 und 16 sind
weitgehend identisch mit denjenigen der beiden Prozessoreinheiten einer
herkömmlichen
Doppel-Set-Top-Box. Die erfindungsgemäße Set-Top-Box unterscheidet
sich jedoch von einer herkömmlichen
Set-Top-Box darin, dass
sie zwei Prozessoreinheiten und zwei SDRAMs umfasst und sich die
beiden Prozessoreinheiten einen einzigen Flashspeicher derart teilen,
dass zwei unabhängige
Programme gleichzeitig konsumiert oder aufgezeichnet werden können. Die
Erfindung benutzt dazu einen einzelnen Flashspeicher 18 und ermöglicht verglichen
mit herkömmlichen Set-Top-Boxen
eine Verringerung der Herstellungskosten und eine relativ einfache
Softwareaktualisierungsmöglichkeit.
Außerdem
können
sich die Prozessoreinheiten 15 und 16 der erfindungsgemäßen Set-Top-Box
bei Bedarf als ein Master-Prozessor bzw. ein Slave-Prozessor die
gleiche Software teilen, um unterschiedliche Operationen auszuführen und die
Software in einfacher Weise zu verwalten und aktuell zu halten.
-
Zudem
ist es bei der erfindungsgemäßen Set-Top-Box
nicht unbedingt notwendig, an jede der beiden Prozessoreinheiten
einen PC zwecks Softwareaktualisierung anzuschließen, wie
dies herkömmlich
geschieht, da ein entsprechendes Software-Upgrade vom Master-Prozessor
vorgenommen werden kann und sich die beiden Prozessoreinheiten die
Software teilen können.
Es genügt
daher ein Anschluss, im Beispiel von 1 eine RS-232C-Schnittstelle,
um einen Software-Upgrade der Set-Top-Box mittels eines PC vorzunehmen. Um die
Prozessoreinheiten 15 und 16 zur Ausführung unterschiedlicher
Vorgänge
mit der gemeinsamen Software zu veranlassen, kann ein Verfahren
vorgesehen sein, bei dem Werte spezifischer Eingabe/Ausgabe-Ports
der Prozessoreinheiten 15, 16 gelesen werden und
die Software basierend auf diesen gelesenen Werten verzweigt. Im
Beispiel von 1 entspricht der Master-Prozessor 15 einem
logischen „wahr", da sein Anschluss
mit einer Energieversorgung verbunden ist, während der Slave-Prozessor 16 einem
logischen „falsch" entspricht, da sein
Anschluss mit Masse verbunden ist.
-
Der
Prozessor 15 dient in diesem Fall als Master-Prozessor,
wie oben erwähnt.
Der Prozessor 16 dient als Slave-Prozessor und empfängt Befehle vom
Master-Prozessor, z. B. über
eine serielle UART-Kommunikation,
und er informiert den Master-Prozessor über Anforderungen oder Zustände. Der
Master-Prozessor empfängt
Nutzerbefehle über eine
Fernsteuerung oder Betriebsschalter, wie sie allgemein in Elektronikanwendungen
benutzt werden. Wenn es einen zum Slave-Prozessor gehörigen Nutzerbefehl gibt, überträgt der Master-Prozessor
den entsprechenden Befehl über
die serielle UART-Kommunikation zum Slave-Prozessor. Außerdem verwaltet
der Master-Prozessor Tunerinformation der Übertragung, z. B. eine Tuningfrequenzinformation
(PID), wie zum Empfangen von Übertragungssignalen
erforderlich. Die Tuninginformation der Übertragung wird auch vom Slave-Prozessor
zum Tunen eines Übertragungssignals
benutzt. Die vom Master-Prozessor verwaltete Übertragungs-Tuninginformation wird über die
serielle UART-Kommunikation
zum Slave-Prozessor gesendet, wenn letzterer den Master-Prozessor
zum Übertragen
der Übertragungs-Tuninginformation
zwecks Tunen eines Übertragungssignals
auffordert.
-
Die Übertragungs-Tuninginformation
wird im Flashspeicher 18 abgelegt, da sie auch dann gespeichert
bleiben sollte, wenn die Set-Top-Box abgeschaltet wird. Da die erfindungsgemäße Set-Top-Box nur
den einzigen Flashspeicher 18 verwendet, verwaltet der
mit dem Flashspeicher 18 verbundene Master-Prozessor die Übertragungs-Tuninginformation
des Slave-Prozessors und überträgt, wenn
erforderlich, die Übertra gungs-Tuninginformation
zum Slave-Prozessor während
der Ausführung
eines allgemeinen Vorgangs. Diese Technik ist ein weiteres Charakteristikum
der Erfindung.
-
Mit
Ausnahme der Vorgänge
zum gleichzeitigen und unabhängigen
Empfangen zweier Übertragungssignale
entspricht die Funktionsweise der erfindungsgemäßen Set-Top-Box derjenigen
einer herkömmlichen
Set-Top-Box. Auf die bestehenden Unterschiede in der Betriebsweise
wird nachfolgend näher
eingegangen.
-
Die
von den beiden Prozessoreinheiten 15, 16 verarbeiteten
Videosignale werden unter Verwendung eines Schalter-IC 24 an
den TV-Ausgangsanschluss 25 und/oder
den VCR-Ausgangsanschluss 26 gesendet, und die Audiosignale
werden von einem Digital/Analog-Audiowandler
(DAC) 23 verarbeitet und dem TV-Ausgangsanschluss 25 und/oder dem
VCR-Ausgangsanschluss 26 zugeführt.
-
Der
Flashspeicher 18 speichert Software zur Steuerung des Betriebs
der beiden Prozessoreinheiten 15, 16, welche die
Videosignale, die Audiosignale und die Daten verarbeiten, sowie
zur Steuerung des Betriebs peripherer Schaltkreise. Ein Rücksetz-IC 14 führt den
Tunereinheiten 11 und 12, dem Flashspeicher 18 und
dem Master-Prozessor 15 ein Rücksetzsignal zu, damit diese
zurückgesetzt
werden, wenn Leistung an die Set-Top-Box angelegt wird, d.h. diese eingeschaltet
wird. Ein im Flashspeicher 18 abgelegtes Ausführungsprogramm
wird während
des zuvor erwähnten
Bootvorgangs zu den SDRAMs 19 und 20 verschoben,
d.h. in diese geladen.
-
Ein
Busschalter 17 verbindet den Flashspeicher 18 und
die Prozessoreinheit 15 derart mit dem SDRAM 19,
dass die im Flashspeicher 18 abgelegte Software während des
Bootvorgangs in einem frühen Stadium
des Betriebs der Set-Top-Box zum SDRAM 19 verschoben wird.
Nach dem die Software im SDRAM 19 gespeichert ist, verbindet
der Busschalter 17 den Flashspeicher 18 und die
Prozessoreinheit 16 mit dem SDRAM 20, so dass
die im Flashspeicher 18 abgelegte Software zum SDRAM 20 übertragen
wird.
-
Wie
aus 1 weiter ersichtlich, beinhaltet die Set-Top-Box
eine Leistungsversorgung 13, eine Eingabe/Ausgabe-Einheit 21 mit
einer Anzeige zum Anzeigen des Betriebszustands der Set-Top-Box,
einem Fernsteuerungsempfänger
zum Empfangen eines Fernsteuerungssignals und einer Mehrzahl von Bedienelementen,
wie Tasten, sowie eine RS-232C-Schnittstelle 22 zum
Verbinden eines externen Geräts
oder eines Endgeräts,
das zu einer Online-Kommunikation mit der Set-Top-Box eingerichtet
ist.
-
2 veranschaulicht
einen Prozessablauf zur Speicherung von aktualisierter/erweiterter
Software aus dem Flashspeicher 18 in den mit den beiden
Prozessoreinheiten 15 und 16 verbundenen SDRAMs 19 und 20.
Wenn die Set-Top-Box angesteuert wird, wird gemäß 2 in einem
Schritt S11 zunächst
der Prozessor A, d.h. der Prozessor 15, zurückgesetzt,
und gleichzeitig wird der Busschalter 17 veranlasst, einen
Adressbus freizugeben, der den Flashspeicher 18 mit dem
Prozessor 15 verbindet, siehe Schritt S12, so dass die
in Flashspeicher 18 abgelegte Software über den Prozessor 15 in
den SDRAM 19 geladen wird, siehe Schritt S13.
-
Wenn
die Software vom Flashspeicher 18 im SDRAM 19 gespeichert
ist, wird der Rücksetzzustand
des Prozessors B, d.h. des Prozessors 16, durch den Prozessor 15 aufgehoben,
siehe Schritt S14, und der Busschalter 17 wird veranlasst,
den zuvor mit dem Prozessor 15 verbundenen Flashspeicher 18 mit
dem Prozessor 16 zu verbinden, siehe Schritt S15, den betreffenden
Adressbus freizugeben und die Software, die im Flashspeicher 18 abgelegt ist, über den
Prozessor 16 im SDRAM 20 zu speichern, siehe Schritt
S17.
-
Hierbei
setzt der Prozessor 15 den Prozessor 16 zurück und behält dann
seinen Standby-Zustand bei, während
er feststellt, ob eine Weckmeldung vom Prozessor 16 gesendet
wird, solange er nicht mit dem Flashspeicher 18 verbunden
ist, siehe Schritt S16.
-
Wenn
die Software vom Flashspeicher 18 im SDRAM 20 gespeichert
ist, sendet der Prozessor 16 die Weckmeldung an den Prozessor 15,
siehe Schritt S18, und wechselt dann in einen Normalzustand, siehe
Schritt S19. Der Prozessor 15 sendet seinerseits eine Weckmeldung
an den Prozessor 16, siehe Schritt S20, und wechselt dann
in einen Normalzustand, siehe Schritt S22. Der Prozessor 15 wird
hierbei mit dem Flashspeicher 18 verbunden, siehe Schritt
S21.
-
Anschließend steuern
die Prozessoreinheiten 15 und 16 die Vorgänge in den
peripheren Schaltkreisen zur Verarbeitung von Übertragungssignalen, die über eine
oder beide Tunereinheiten 11, 12 empfangen werden,
wobei die Software benutzt wird, die in den mit den Prozessoreinheiten 15, 16 verbundenen
SDRAMs 19, 20 gespeichert ist.
-
Wie
aus der obigen Beschreibung eines vorteilhaften Ausführungsbeispiels
deutlich wird, benutzt die Erfindung einen einzelnen Flashspeicher
und eine darin einzeln abgelegte Software derart, dass die Prozessoreinheiten
unterschiedliche Operationen ausführen können, im Unterschied zu einer
herkömmlichen
Set-Top-Box mit einem einzelnen Speicher zum Speichern eines Programms,
wie einem Flashspeicher, der einer einzelnen Prozessoreinheit zugeordnet
ist. Dementsprechend ermöglicht
die Erfindung eine Reduzierung der Herstellungskosten für die Set-Top-Box
und eine einfache Verwaltung und Aufrechterhaltung der benutzten
Software, da die Software nur einfach abgespeichert sein braucht, und
die Menge an übertragenen
Daten lässt
sich gering halten, da die Daten nur zu der einen Software übertragen
werden müssen,
was OTA-Servicekosten reduziert.