-
Hintergrund
-
Viele verschiedene Arten von Halbleitervorrichtungen umfassen Verarbeitungsmaschinen, die Anweisungen ausführen. Oft führen diese Maschinen Anweisungen aus, die zur Firmware der Vorrichtung selbst gehören und in einem nicht flüchtigen Speicher gespeichert sind.
-
Als ein Beispiel umfassen Übertragungsvideochips, so wie Tuner und Demodulatoren, Prozessoren, die Firmware ausführen, die in eingebetteten nicht flüchtigen Speichern gespeichert ist. Allerdings wird aufgrund von Aktualisierungen, Codekorrekturen und anderen Codeüberarbeitungen zusätzlicher Code beim Einschalten eines Systems auf diese Chips heruntergeladen, die die Chips umfassen, um bei der Verarbeitung zu helfen. In vielen Systemen braucht dieser Codedownload relativ viel Zeit. Aufgrund der Länge des Downloads kann ein Hochfahren des Systems, das ein Computersystem, ein Fernseher oder eine andere Videovorrichtung sein kann, verzögert werden. Oft findet der Download über einen Standardbus statt, so wie ein industriestandardgemäßer Inter-Integrated-Bus (nachfolgend I2C-Bus genannt). Dieser Bus weist ein bekanntes Protokoll auf, das beim Downloaden einer Codekorrektur relativ viel Zeit braucht. Nichtsdestoweniger behalten Hersteller von Systemen aufgrund seiner Eigenschaft als Industriestandard und seiner großen Installationsbasis diesen Bus als hauptbidirektionale Steuerungsschnittstelle zwischen verschiedenen Chips in dem System bei.
-
Aus
US 2002/0108011 A1 ist ein elektronischer Chip bekannt, der eine Schnittstelle aufweist, welche sowohl im I
2C bzw. I2C Modus als auch im SPI-Modus (SPI steht für Serial Peripheral Interface), arbeiten kann. Der Schnittstellen-Modus wird mit einer fallenden Flanke des CE-Eingangs von I2C auf SPI umgeschaltet.
-
Aus
WO 2005/083577 A2 ist ein integrierter Schaltkreis mit einer Schnittstelle, die im I2C als auch im SPI-Modus arbeiten kann, bekannt. Das Umschalten des Schnittstellen-Modus wird mit einem Schalter ermöglicht, der das Taktsignal des SPI-Controllers auf einen Pin des integrierten Schaltkreises schaltet.
-
Kurzfassung der Erfindung
-
Gemäß eines Aspekts ist die vorliegende Erfindung auf eine erste integrierte Schaltung (nachfolgend IC genannt) gerichtet, die eine Schnittstelle umfasst. Diese Schnittstelle kann verschiedene Mechanismen zum Handhaben eingehender Takt- und Datensignale umfassen. In einem Ausführungsbeispiel umfasst die Schnittstelle einen ersten Multiplexer zum Empfangen eines ersten Datensignals über einen seriellen peripheren Schnittstellen(SPI)-Bus (serial peripheral interface, nachfolgend SPI genannt), der mit einem ersten Pin der ersten IC gekoppelt ist, und einen zweiten Multiplexer zum Empfangen eines ersten Taktsignals über den SPI-Bus, der mit einem zweiten Pin der ersten IC gekoppelt ist, und eines zweiten Taktsignals über einen Inter-Integrated-Circuit(I2C)-Bus (nachfolgend I2C-Bus genannt), der mit einem dritten Pin der IC gekoppelt ist. Zusätzlich kann die Schnittstelle einen Dekodierer zum Empfangen des zweiten Taktsignals und eines zweiten Datensignals über den I2C-Bus umfassen, der mit einem vierten Pin der IC gekoppelt ist.
-
Dieser Dekodierer veranlasst den ersten Multiplexer, das erste Datensignal in Reaktion auf eine Einschaltnachricht für den SPI-Bus, die über den I2C-Bus empfangen wird, auszugeben und andernfalls ein vorbestimmtes Zustandssignal auszugeben, und den zweiten Multiplexer zu veranlassen, das erste Taktsignal in Reaktion auf die Einschaltnachricht auszugeben.
-
In einigen Implementierungen kann eine zweite IC mit der ersten IC gekoppelt werden, wobei diese zweite IC einen SPI-Dekodierer zum Empfangen des ersten Datensignals über einen ersten Pin der zweiten IC und zum Empfangen des ersten Taktsignals über einen zweiten Pin der zweiten IC umfasst. Die zweite IC umfasst des Weiteren einen I2C-Dekodierer zum Empfangen des zweiten Datensignals über einen dritten Pin der zweiten IC und zum Empfangen des zweiten Taktsignals über den zweiten Pin der zweiten IC.
-
Des Weiteren kann eine dritte IC, die eine SPI-Schnittstelle umfasst, vorhanden sein und mit wenigstens der ersten IC gekoppelt sein, um das erste Taktsignal und das erste Datensignal für die erste IC bereitzustellen. Es ist zu beachten, dass diese SPI-Schnittstelle der dritten IC nicht konfiguriert ist, eine serielle Dateneingabe von der ersten IC zu empfangen, und des Weiteren nicht konfiguriert ist, ein Chipeingabesignal zu der ersten IC zu kommunizieren.
-
Ein weiterer Aspekt der vorliegenden Erfindung ist auf ein Verfahren gerichtet zum Empfangen eines SPI-Einschaltbefehls auf einem I2C-Bus in wenigstens einer Video-IC, die mit der ersten IC gekoppelt ist, Senden einer Bestätigung auf dem I2C-Bus zu der ersten IC und in Reaktion auf die Bestätigung Empfangen eines Codedownloads auf einem SPI-Bus in der wenigstens einen Video-IC. Die Video-IC kann eine Prüfsummierung über den Codedownload durchführen und die Prüfsumme der ersten IC in Reaktion auf eine Anfrage nach der Prüfsumme durch die erste IC kommunizieren. Die Video-IC wiederum kann den Codedownload einer Tuner-IC über eine serielle Leitung, die zwischen die Video-IC und die Tuner-IC gekoppelt ist, in Reaktion auf die Einschaltnachricht kommunizieren.
-
Ein noch weiterer Aspekt ist auf ein System gerichtet, das mehrere Komponenten aufweist, umfassend ein System-Chip (englisch: system an a chip, nachfolgend SoC genannt), einen oder mehr Demodulatoren und einen oder mehr Tuner. Der System-Chip kann einen Dekodierer zum Dekodieren eines Bitstroms, der von dem Demodulator empfangen wird, in Video-Daten aufweisen, und eine I2C-Schnittstelle und eine SPI-Schnittstelle zum Kommunizieren mit dem Demodulator über einen I2C-Bus bzw. einen SPI-Bus. Allerdings kann ein Chipfreigabesignal von dem SPI-Bus zwischen dem SoC und dem Demodulator unverbunden sein.
-
Der Demodulator wiederum umfasst einen Dekodierer zum Empfangen einer Einschaltnachricht für den SPI-Bus über den I2C-Bus und zum Einschalten eines Codedownloads, der von dem SoC über den SPI-Bus kommuniziert wird, um von dem Demodulator an den Tuner ausgegeben zu werden. Der Tuner wiederum empfangt ein Radiofrequenz(RF)-Signal (nachfolgend RF-Signal genannt) und konvertiert es herunter und verarbeitet es, um dem Demodulator ein Signal einer zweiten Frequenz zur Demodulation in den Bitstrom bereitzustellen. Dieser Tuner kann einen SPI-Dekodierer umfassen zum Empfangen des Codedownloads von dem SoC über den Demodulator auf einer seriellen Leitung, die zwischen den Tuner und den Demodulator gekoppelt ist, und zum Empfangen eines SPI-Taktsignals von dem Demodulator auf einer I2C-Zweitleitung des I2C-Buses, der zwischen den Tuner und den Demodulator gekoppelt ist.
-
Kurzbeschreibung der Zeichnungen
-
1 ist ein Blockdiagramm eines Teils eines Systems in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
-
2 ist ein Blockdiagramm einer Implementierung eines Systems in Übereinstimmung mit einem weiteren Ausführungsbeispiel der vorliegenden Erfindung.
-
3 ist ein Blockdiagramm eines Systems in Übereinstimmung mit noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung.
-
4 ist ein Blockdiagramm weiterer Details eines Teils eines Systems in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
-
5 ist ein Flussdiagramm eines Verfahrens zum Durchführen von Codedownloads in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
-
6 ist ein Blockdiagramm eines SPI-Dekodierers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
-
7 ist ein Blockdiagramm eines Kommunikationsdatenübertragungsblocks in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
-
8 ist ein Blockdiagramm der Information, die in einem Anweisungsbyte in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung umfasst ist.
-
9 ist ein Blockdiagramm eines Befehls, der in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung kommuniziert wird.
-
10 ist ein Blockdiagramm eines Systems in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung.
-
Detaillierte Beschreibung
-
In verschiedenen Ausführungsbeispielen kann ein zusätzlicher Bus zwischen Systemkomponenten koppeln, so dass er einen effizienteren Übertragungsmechanismus zum Herunterladen von Code und anderer Information bereitstellt. Auch wenn der Bereich der vorliegenden Erfindung nicht diesbezüglich beschränkt ist, können in vielen Ausführungsbeispielen Halbleitervorrichtungen, so wie integrierte Schaltungen (nachfolgend ICs genannt) umfassend Video-ICs (unter anderem), mit einem Hauptsystemprozessor, so wie einem System-Chip (nachfolgend SoC genannt), über eine Steuerschnittstelle koppeln, die unter Verwendung eines I2C-Buses implementiert ist. Wie oben detailliert dargelegt, treten aufgrund des komplizierten Protokolls von diesem Bus reduzierte Kommunikationsgeschwindigkeiten auf. Entsprechend kann in verschiedenen Ausführungsbeispielen ein zusätzlicher Bus, der in einem Ausführungsbeispiel ein weiterer Industriestandardbus, so wie ein serieller peripherer Schnittstellen(SPI)-Bus (nachfolgend SPI genannt) sein kann, auch zwischen wenigstens einige Systemkomponenten gekoppelt sein, um Hochgeschwindigkeitskommunikation von Codedownloads und anderer Information zu gestatten, zum Beispiel unter Steuerung von Kommunikationen, die auf dem I2C-Bus stattfinden.
-
Des Weiteren können zum Reduzieren einer Auswirkung auf Systeme Ausführungsbeispiele diesen zusätzlichen seriellen Bus in modifizierter Weise bereitstellen. Zum Beispiel kann der normalerweise bidirektionale SPI-Bus in einer einzigen Richtung implementiert sein, um das Bedürfnis nach größeren Mengen von Pins zu reduzieren. Des Weiteren können in einigen Ausführungsbeispielen reduzierte Verbindungen von diesem SPI-Bus zwischen wenigstens einigen der separaten ICs auftreten, zum Beispiel indem eine Taktleitung und ein Taktpin mit dem I2C-Bus gemeinsam genutzt werden, um Chipplatzverbrauch zu reduzieren. Zusätzlich können in einigen Ausführungsbeispielen Mechanismen bereitgestellt werden, um Rauschen durch Isolieren von Kommunikationen auf wenigstens einige Chips zu reduzieren, zum Beispiel während Radiofrequenz(RF)-Kommunikationen (englisch: radio frequency, nachfolgend RF genannt).
-
Jetzt bezugnehmend auf 1 wird ein Blockdiagramm eines Teils eines Systems in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Wie in 1 gezeigt, kann ein System 100 ein Fernseher sein, so wie ein hochauflösender Fernseher, eine Set-Top-Box, ein digitaler Videorecorder und ein anderes videoverarbeitendes System sein. Wie zu sehen, können eingehende RF-Signale, die über eine Antenne 105 empfangen werden, einem Tuner 110 a bereitgestellt werden, der in einem Ausführungsbeispiel eine Einzelchip-RF-IC sein kann, die eine Schaltung zum Empfangen und Verarbeiten des eingehenden RF-Signals umfasst. Im Allgemeinen kann der Tuner 110 a analoge Eingangskomponenten umfassen, so wie Verstärker, Verstärkungsregelungsvorrichtungen, Mischer, Filter usw. zum Empfangen, Herunterkonvertieren und Verarbeiten des RF-Signals um ein Signal niedrigerer Frequenz zu erhalten (zum Beispiel einer Zwischenfrequenz (nachfolgend IF genannt), so wie ein IF-Signal oder ein niedriges IF-Signal oder ein Basisbandsignal), das über einen Signalpfad einer separaten IC bereitgestellt werden kann, nämlich einem Demodulator 120 a1, der beispielsweise eine Digitalisierung und eine digitale Verarbeitung durchführen kann, umfassend digitale Demodulation auf den digitalisierten verarbeiteten Signalen, um so einen demodulierten Bitstrom zu erhalten, der wiederum über einen Signalpfad 125 einem Prozessor 130, so wie einem SoC, bereitgestellt werden kann. In verschiedenen Ausführungsbeispielen kann der Prozessor 130 ein Anwendungsprozessor sein, der einen Videoprozessor umfasst, so wie ein MPEG-Dekodierer zum Dekodieren eines MPEG-Bitstroms, der von dem Demodulator 120 a1 empfangen wird.
-
Es ist zu beachten, dass nach einem verarbeitendem Prozessor 130 die dekodierte Videoinformation einer entsprechenden Senkenvorrichtung bereitgestellt werden kann, so wie eine Anzeige des Systems, eine Speichervorrichtung oder so weiter (nicht gezeigt zur Erleichterung der Darstellung in 1). Die Ansicht von 1 zeigt somit eine Ansicht von oben eines Videosignalverarbeitungspfads von einem empfangenen Signal über die Antenne 105 während seiner Verarbeitung in dem Prozessor 130 und seiner gelegentlichen Ausgabe zu einem angegebenen Ziel. Natürlich versteht sich, dass in anderen Ausführungsbeispielen andere Arten von Signalverarbeitungspfaden, so wie Audio- oder Datenpfade, stattdessen vorhanden sein können.
-
Es ist zu beachten, dass 1 des Weiteren das Vorhandensein von zusätzlichen Videosignalverarbeitungspfaden zeigt, nämlich einen Pfad, der einen Tuner 110 b umfasst, und konfiguriert ist, eine RF-Signaleingabe zu empfangen, zum Beispiel über eine Antennenverbindung durch die Luft, und der wiederum mit einem zweiten Demodulator 120 b1 gekoppelt ist, der in einem Ausführungsbeispiel die gleichen Konfigurationen aufweisen kann wie der Demodulator 120 a1, und weiter umfasst ein dritter Signalverarbeitungspfad einen Tuner 110 c, der mit noch einer weiteren Quelle von RF-Signalen gekoppelt sein kann, zum Beispiel einer Kabelverbindung, die wiederum mit einem Demodulator 120 c1 gekoppelt ist, der wiederum so konfiguriert sein kann wie der Demodulator 120 a1. Zur Vereinfachung der Darstellung sind die Signalpfade zwischen diesen Tunern, Demodulatoren und dem SoC nicht gezeigt, um andere gezeigte Details nicht zu verundeutlichen.
-
Es ist anzunehmen, dass der Tuner 110 a zum Verarbeiten von Übertragungssignalen konfiguriert ist, zum Beispiel gemäß einer vorgegebenen Satellitenübertragungsspezifikation, so wie DVB-S oder DVB-S2, die über die Antenne 105 empfangen werden, der Tuner 110 b zum Verarbeiten von Übertragungssignalen konfiguriert ist, die über einen terrestrischen Übertragungsstandard empfangen werden, sowie DVB-T oder DVB-T2, während der dritte Tuner 110 c konfiguriert sein kann, Signale gemäß einer noch weiteren Videospezifikation zu empfangen und zu verarbeiten, zum Beispiel einer Kabelverbindung, so wie in Übereinstimmung mit einem DVB-C-Standard. Natürlich versteht sich, dass der Bereich der vorliegenden Erfindung nicht auf diese Standards beschränkt ist, und die verschiedenen Tuner können so konfiguriert sein, dass sie andere Arten von Signalen handhaben. Die gleiche RF-Signalquelle (zum Beispiel Antennen- oder Kabelverbindung) kann auch alle anderen Tuner zur Beobachtung und Aufnahme oder für Bild in Bild Funktionen liefern. Es versteht sich außerdem, dass in einer gegebenen Implementierung mehr oder weniger Signalverarbeitungspfade vorhanden sein können. In bestimmten Implementierungen ist es anstatt separater Tuner und Demodulator-ICs möglich, dass eine einzelne IC sowohl einen Tuner als auch einen Demodulator umfasst und in einigen solcher Ausführungsbeispiele kann der Demodulator auf einem einzelnen Halbleiterchip implementiert sein. Noch weiter ist es möglich, dass ein SoC Demodulationsarbeiten durchführen kann, und nur ein Tuner kann vor den SoC gekoppelt sein. Viele andere Konfigurationen werden betrachtet, so wie mehrere Tuner, die mit dem SoC (ohne Demodulatoren) gekoppelt sind, und wo alle oder wenigstens einer der Tuner wie hierin beschrieben konfiguriert sein kann um Code-Aktualisierungen zu empfangen, oder es ist für einen oder mehrere Demodulatoren möglich wie hierin beschrieben konfiguriert zu sein, Codedownloads zu empfangen, auch wenn einer oder mehrere Eingangstuner nicht so konfiguriert sein können.
-
Zum Zweck der Diskussion hierin werden verschiedene Steuerungs- und Kommunikationsleitungen weiter diskutiert. Insbesondere zeigt 1 Details von mehreren seriellen Pfaden zwischen dem Prozessor 130 und den ICs 110 a und 120 a1. In 1 kann der Prozessor 130 ein Master des Systems bezüglich Bereitstellen von Steuerungskommunikationen zu den Video-ICs sein. Zu diesem Zweck kann der Prozessor eine serielle Schnittstelle 132 und eine zweite serielle Schnittstelle 134 umfassen, von denen jede konfiguriert ist, serielle Kommunikationen zu kommunizieren und zu empfangen. Es ist zu beachten, dass während in dem Ausführungsbeispiel, das in 1 gezeigt ist, diese Schnittstellen mit den verschiedenen Video-ICs gekoppelt gezeigt sind, versteht sich, dass in einem gegebenen System diese gleichen seriellen Schnittstellen mit vielen anderen Systemkomponenten (zur leichteren Darstellung in 1 nicht gezeigt) gekoppelt sein können, in denen diese Busse serielle Kommunikationsbusse mit mehreren Stationen sein können. In dem gezeigten Ausführungsbeispiel kann die serielle Schnittstelle 132 eine I2C-Schnittstelle sein, während die zweite serielle Schnittstelle 134 eine SPI-Schnittstelle sein kann.
-
In dem Ausführungsbeispiel, das in 1 gezeigt ist, kann die I2C-Schnittstelle 132 mit jedem der Video-ICs, nämlich den Tunern 110 a bis 110 c und den Demodulatoren 120 a1 bis 120 c1, über einen I2C-Bus 133 gekoppelt sein, der eine Datenleitung und eine Taktleitung umfasst. Im Allgemeinen kann dieser I2C-Bus verwendet werden, eine Steuerungsinformation in eine nachgelagerte Richtung von dem Prozessor 130 zu den Video-ICs zu kommunizieren. Des Weiteren können in eine vorgelagerte Richtung die Video-ICs verschiedene Informationen kommunizieren, die eine Zustandinformation umfassen, so wie Informationen in Reaktion auf Anfragen durch einen Prozessor und so weiter oder eine Serviceinformation mit geringer Datenratenlast.
-
Insbesondere kann die I2C-Schnittstelle 132 verwendet werden, ein Taktsignal (nachfolgend SCL genannt) und ein Datensignal (nachfolgend SDA genannt) zu übertragen. Im Allgemeinen wenn I2C-Taktstrecken (englisch: clock stretching) nicht erforderlich ist, kann das Taktsignal in eine einzige Richtung von dem Prozessor 130 zu den Video-ICs kommuniziert werden, während eine Information in einer bidirektionalen Weise über die Datenleitung kommuniziert werden kann. Es ist zu beachten, dass die Zwischen-IC-I2C-Busse 133 a, 133 b und 133 c zwischen jedem Paar von einer Tuner- und einer Demodulator-IC koppeln kann.
-
In ähnlicher Weise kann die SPI-Schnittstelle 134 mit jedem der Video-ICs, nämlich den Tunern 110 a bis 110 c und den Demodulatoren 120 a1 bis 120 c1 über einen SPI-Bus 135, der eine Datenleitung und eine Taktleitung umfasst, koppeln. Die SPI-Schnittstelle 134 kann verwendet werden, um ein SPI-Taktsignal (nachfolgend SCK genannt) und ein SPI-Datensignal (nachfolgend SO genannt) zu kommunizieren. Im Allgemeinen können für einen SPI-Bus in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung sowohl das Taktsignal als auch das Datensignal in einer einzigen Richtung von dem Prozessor 130 zu den Video-ICs kommuniziert werden. Zu Zwecken eines Bereitstellen von Codedownloads und anderer Informationen in der nachgelagerten Richtung ist zu beachten, dass eine Chipfreigabeleitung und eine serielle Dateneingabeleitung (nachfolgend CS bzw. SI genannt) der SPI-Schnittstelle nicht verbunden sein kann (wenigstens zur Kommunikation mit den Vorrichtungen, die in 1 gezeigt sind).
-
Durch Hinzufügen des zusätzlichen SPI-Busses zu mehreren zusätzlichen ICs (zum Beispiel einschließlich wenigstens eines Tuners und eines Demodulators und möglicherweise mehrerer Sätze von Tuner- und Demodulator-Paaren) kann unerwünschtes Koppeln von Signalen auftreten, das unerwünscht einen Empfang und eine Verarbeitung von RF-Signalen in den verschiedenen Signalverarbeitungspfaden beeinträchtigen kann. Entsprechend kann in einigen Ausführungsbeispielen der SPI-Strom, der auf dem SPI-Bus kommuniziert wird, in einer vorgelagerten IC gesperrt werden, so dass Kommunikationen nur einer nachgelagerten IC weitergeleitet werden, wie es geeignet ist, die Effekte von Koppeln zu reduzieren.
-
Jetzt Bezug nehmend auf 2 wird ein Blockdiagramm einer Implementierung eines Systems in Übereinstimmung mit einem weiteren Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Wie in 2 gezeigt, kann das System 100' im Allgemeinen in gleicher Weise konfiguriert sein wie das System 100. Allerdings ist zu beachten, dass in dem Ausführungsbeispiel von 2 jeder der Demodulatoren 120 a1 bis 120 c1 als ein Gatter der SPI-Kommunikationen wirkt, sodass jeder Demodulator unabhängig als Master bezüglich der nachgelagerten Kommunikationen wirken kann, zum Beispiel solcher, die von dem SoC 130 stammen zu einem entsprechenden der Tuner 110 a bis 110 c. Auf diese Weise kann unerwünschtes Koppeln von Signalen, die auf dem I2C-Bus kommuniziert werden, vermieden werden, wenn sie in einem vorhandenen Demodulator gattergesteuert werden. Als ein Beispiel können diese Pins unter Verwendung von einem oder mehreren Universal-IO-Pins (nachfolgend GPIO genannt) implementiert sein. Insbesondere können, wie in 2 gezeigt, getrennte SPI-Busse 136 a bis 136 c zwischen jedes Tuner-Demodulator-Paar gekoppelt sein. Während diese zusätzliche Verwendung von Pins in einem vorhandenen Demodulator untergebracht sein kann, ist es möglich, dass ein Tuner, der inhärent eine geringere Anzahl an vorhandenen Pins aufweist, nicht ausreichend Pins aufweist, um die zusätzlichen Signale für den SPI-Bus zu empfangen. Zu diesem Zweck können Ausführungsbeispiele des Weiteren eine Anordnung umfassen, um gemeinsames Verwenden von Signalleitungen (von entsprechenden Pins) zwischen seriellen Bussen zu gestatten.
-
Insbesondere jetzt bezugnehmend auf 3 wird ein Blockdiagramm eines Systems in Übereinstimmung mit noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Wie in 3 gezeigt, kann das System 100'' im Wesentlichen in der gleichen Weise angeordnet sein wie oben bezüglich dem System 100' in 2 diskutiert worden ist. Allerdings ist jeweils zu beachten, dass nur ein einzelner zusätzlicher Pin und eine Leitung zwischen die Paare von Tunern und Demodulatoren gekoppelt ist. In diesem Ausführungsbeispiel kann die einzelne Leitung (136 a bis 136 c) eine serielle Datenleitung sein, die der SDO Leitung des SPI-Busses entspricht. Allerdings kann ein Taktsignal für den SPI-Bus mit einem Taktsignal für den I2C-Bus gemeinsam genutzt oder gemultiplext werden und kann somit auf der Taktleitung des Zwischen-IC-I2C-Busses 132 kommunizieren.
-
Jetzt bezugnehmend auf 4 wird ein Blockdiagramm mit weiteren Details eines Teils eines Systems in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Ein System 200 umfasst eine Tuner-IC 210, die mit einer Demodulator-IC 220 gekoppelt ist. In verschiedenen Ausführungsbeispielen kann jede IC ein eigenständiger Chip sein, so wie oben mit Bezug auf 1 bis 3 diskutiert. Wie zu sehen, umfasst der Tuner 210 einen I2C-Slave-Dekodierer 212 und einen SPI-Slave-Dekodierer 214. Natürlich sind verschiedene andere Schaltungen in dem Tuner vorhanden, nämlich der Signalverarbeitungspfad des Chips, der einen analogen Eingang zum Empfangen von eingehenden RF-Signalen umfassen kann und sie verarbeiten und auf eine niedrigere Frequenz herunterkonvertieren kann und sie dem Demodulator 220 über einen separaten Signalpfad bereitstellen kann (zur Vereinfachung der Darstellung in 4 nicht gezeigt).
-
Der Demodulator 220 wiederum umfasst einen I2C-Slave-Dekodierer 222. Auch wenn nicht gezeigt, versteht sich, dass der Demodulator auch einen SPI-Dekodierer und andere Schaltungen umfassen kann. Stattdessen kann der dargestellte Teil des Demodulators 220 allgemein eine Schaltsteuerungsschaltung umfassen, die verwendet wird, um Kommunikationen zu isolieren, sodass der I2C-Bus (und der SPI-Bus) nur aktiv ist, wenn Zugriff benötigt wird. Zusätzlich kann der Demodulator 220 einen Schalter S1 umfassen, der verwendet werden kann, seriell basierte Kommunikationen auszuschalten, um Rauscheinwirkung auf den Tuner 210 zu vermeiden. Somit kann während RF-Aktivitäten, zum Beispiel Empfangen und Verarbeiten von RF-Signalen in dem Tuner 210, der Schalter S1 serielle Daten daran hindern, auf dem I2C-Bus kommuniziert zu werden. Zusätzlich kann das Taktsignal und das SPI-Datensignal ausgeschaltet werden oder so umgewidmet werden, dass es andere Signale überträgt als im normalen Betrieb benötigt.
-
In dem Ausführungsbeispiel, das in 4 gezeigt ist, kann eine Signalleitung 245 eine SPI-Datenverbindung zwischen dem Demodulator 220 und dem Tuner 210 sein, um so Daten dem SPI-Slave-Dekodierer 214 des Tuners 210 nachgelagert bereitzustellen. Eine Taktsignalleitung 250 wiederum kann zwischen den Demodulator 220 und den Tuner 210 gekoppelt werden. Die Taktsignalleitung 250 kann ein ausgewähltes Taktsignal kommunizieren, entweder ein SCL-Taktsignal des I2C-Busses oder ein SPI-Taktsignal des SPI-Busses, in Abhängigkeit von einer Steuerung in dem Demodulator 220. Des Weiteren kann eine zusätzliche Datensignalleitung 255 zwischen dem Demodulator 220 und dem Tuner 210 koppeln. Diese serielle Datenleitung kann serielle Daten von dem I2C-Bus kommunizieren, wie in dem Demodulator 220 gesteuert, wie hierin weiter beschrieben werden wird. Zusammen können die Leitungen 250 und 255 einen I2C-Bus zwischen den Dekodierern bilden.
-
Im Allgemeinen kann der I2C-Bus verwendet werden, um Informationen weiterzugeben, die zur Steuerung von Kommunikationen auf dem SPI-Bus verwendet werden. Insbesondere aufgrund des Fehlens eines separaten Chipfreigabesignals für den SPI-Bus kann eine Befehlskommunikation von einer vorgelagerten Quelle (zum Beispiel ein SoC oder ein anderer Anwendungsprozessor) zu dem Demodulator 220 auf dem I2C-Bus geschickt werden, sodass sie in dem I2C-Dekodierer 222 empfangen wird. In Reaktion auf ein Dekodieren dieser Befehlskommunikation in diesem Dekodierer, kann die Steuerung, ob ein SPI-Taktsignal oder ein I2C-Taktsignal auf der Taktsignalleitung 250 kommuniziert wird, stattfinden. Insbesondere kann das Signal, das auf dieser Taktsignalleitung kommuniziert werden soll, durch einen Multiplexer 224 gesteuert werden. Auch wenn er hierin als ein Multiplexer beschrieben wird, ist zu beachten, dass in verschiedenen Implementierungen sowohl ein Auswahlelement, so wie ein Multiplexer, als auch ein Pufferspeicher vorhanden sein können, um Übereinstimmungen mit entsprechenden elektrischen Signalerfordernissen zu gestatten. Insbesondere in Reaktion auf dieses Kommando, den SPI-Bus einzuschalten, wird der Dekodierer 222 den Multiplexer 224 anweisen, das SPI-Taktsignal auf der Taktsignalleitung 250 zu kommunizieren.
-
In ähnlicher Weise kann der I2C-Dekodierer 222 das Einschalten und Ausschalten von Kommunikationen auf dem I2C-Bus zu dem Tuner des Weiteren steuern, um so Rauscheffekte zu reduzieren. Insbesondere kann der Dekodierer 222 ein Steuersignal erzeugen, um den Schalter S1 zu öffnen, um so eine Ausgabe auf der Datensignalleitung 255 auszuschalten und des Weiteren sowohl den Multiplexer 224 als auch einen Multiplexer 226 entsprechend zu steuern. Diese Steuerung kann direkt durch I2C-Register in dem Dekodierer 222 bewirkt werden oder indirekt von ihnen durch einen eingebetteten Prozessor des Demodulators (nicht gezeigt zur Vereinfachung der Darstellung in 4). In einem Ausführungsbeispiel kann der Multiplexer 224 während dieses stillen Betriebsmodus konfiguriert sein, ein stationäres Signal eines vorbestimmten Werts (zum Beispiel eine logische eins) auf der zweiten Signalleitung 250 zu kommunizieren. Und der Multiplexer 226 kann wiederum gesteuert werden, ein stationäres Signal eines vorbestimmten Werts (zum Beispiel eine logische null) auf der SPI-Datenleitung 245 zu kommunizieren. Somit kann unter Verwendung einer Anordnung wie der in 4 eine vollständige Netzwerkkompatibilität mit einem I2C-Altlastbetrieb realisiert werden, während ein Taktsignal zwischen I2C- und SPI-Bussen gemeinsam genutzt wird. Als solches kann nur eine einzelne zusätzliche Datenleitung zwischen dem Demodulator 220 und dem Tuner 210 koppeln und nur ein einzelnes zusätzliches Pin wird in dem Tuner 210 verbraucht. In einigen Ausführungsbeispielen kann dieses zusätzliche Pin mit einem vorhandenen GPIO-Pin des Chips untergebracht oder gemeinsam genutzt werden. Als ein Beispiel kann eine SPI-Leitung, die zwischen einem Demodulator und einem Tuner koppelt, eine vorhandene Steuerungsleitung erneut verwenden, so wie eine Flagsignalleitung, die nur während eines normalen Betriebs für einen bestimmten Betrieb verwendet wird, so wie ein Erstarrungsmodussteuerungssignal, um die seriellen Daten, so wie einen Codedownload, von einem Demodulator zu einem Tuner zu kommunizieren. Andere Verbindungen können verwendet werden, um einen Durchlassmodus bereitzustellen, zum Beispiel eine Taktleitung, so dass eine einzelne Taktleitung zwischen dem Demodulator und dem Tuner sowohl ein I2C-Taktsignal als auch ein SPI-Taktsignal weiterleiten kann, und der Tuner kann das empfangene Taktsignal sowohl einem internen I2C- als auch einem SPI-Dekodierer bereitstellen.
-
Noch weiter kann unter Verwendung einer Implementierung wie in 4 der I2C-Bus wirken, um ein Chipfreigabesignal für den SPI-Bus zu emulieren, und über den Dekodierer 222 können SPI-Übertragungen zum Tuner 210 in Reaktion auf eine Kommunikation auf dem I2C-Bus gattergesteuert werden.
-
Jetzt bezugnehmend auf 5 wird ein Flussdiagramm eines Verfahrens zum Durchführen von Codedownloads in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Wie in 5 gezeigt, kann das Verfahren 300 durch einen SoC oder einen anderen Anwendungsprozessor durchgeführt werden, der versucht, Code auf effiziente Weise zu einer oder mehr ICs herunterzuladen, die dem Prozessor nachgelagert sind. Zu Zwecken der Diskussion hierin ist anzunehmen, dass der Code einiger oder der gesamten Firmware dieser Chips entspricht. In der Diskussion hierin ist eine Anordnung anzunehmen, so wie eine aus den I bis 3, wo ein SoC zum Herunterladen einer oder mehr Codekorrekturen oder Speicherbilder zu mehreren Timer und Demodulatoren ausgestaltet ist, von denen einige gewöhnliche Instanziierungen eines einzelnen Designs sein können.
-
Das Verfahren 300 von 5 kann somit verwendet werden, ein einzelnes Bild zu einer oder mehr nachgelagerten Vorrichtungen zu kommunizieren. Wie zu sehen, kann das Verfahren 300 mit Senden eines SPI-Einschaltbefehls auf einem I2C-Bus zu wenigstens einer Video-IC (Block 310) anfangen. In einem Ausführungsbeispiel kann dieser SPI-Einschaltbefehl somit bewirken, dass ein Demodulator diesen Befehl empfängt und dekodiert, um so Einschalten und Konfigurieren einer SPI-Schnittstelle einzuschalten. Es ist zu beachten, dass die SPI-Schnittstelle in Abhängigkeit von dem Befehl nur von dem Demodulator konfiguriert und eingeschaltet werden kann oder eine zusätzliche Kommunikation von dem Demodulator zu einem verbundenen Tuner stattfinden kann, um eine SPI-Schnittstelle von dieser IC einzuschalten, um auch bei einer Gelegenheit konfiguriert und eingeschaltet zu werden, bei der der Codedownload zu dieser Tuner-IC gerichtet ist. In diesem Fall findet ein dreistufiger Prozess statt. Zuerst wird der Demodulator I2C Durchlauf eingeschaltet mit einem bestimmten I2C-Befehl an den Demodulator. Dann wird der I2C-SPI-Einschaltbefehl an den Tuner geschickt. Dann wird ein bestimmter I2C-Befehl an den Demodulator geschickt, um den SPI-Durchlauf an den Tuner einzuschalten. An diesem Punkt ist der Tuner bereit, einen SPI-Datenstrom zu empfangen.
-
Weiter bezugnehmend auf 5 kann als Nächstes der SoC eine Bestätigung auf dem I2C-Bus von der Video-IC empfangen, die einen erfolgreichen Empfang der Nachricht und die Konfigurationsbetriebe, die oben beschrieben worden sind (Block 320), anzeigen. In Reaktion auf diese Kommunikation, geht die Steuerung zu Block 330 über, wo ein Codedownload auf dem SPI-Bus kommuniziert werden kann. Insbesondere kann dieser Download bei hohen Geschwindigkeiten stattfinden, zum Beispiel bei Geschwindigkeit bis zu mehreren 10 Megabits pro Sekunde (nachfolgend Mbps genannt) um zu gestatten, dass ein Codedownload effizienter zu einem ausgewählten Ziel stattfindet, zum Beispiel einer oder mehr Video-ICs (Block 330). Es ist zu beachten, dass diese Kommunikation eine Volumenkommunikation sein kann, die mit einem Protokoll geschickt wird, dass keine Bestätigung erfordert, wovon Details weiter unten beschrieben werden.
-
Nach so einer Kommunikation kann ein SPI-Ausschaltbefehl auf dem I2C-Bus zu der Video-IC geschickt werden, um so zu bewirken, dass eine oder mehr SPI-Schnittstellen ausgeschaltet werden (Block 340). Als Nächstes kann der SoC eine Prüfsumme von der Video-IC über den I2C-Bus anfordern und empfangen (Block 350). Diese Prüfsumme kann somit einem Ergebnis einer Prüfsummierung entsprechen, die über dem empfangenen Codedownload durchgeführt worden ist. Die Steuerung geht zu einer Raute 360 über, um zu bestimmen, ob die Prüfsumme gültig ist. In diesem Fall geht die Steuerung zu Block 370 über, wo ein normaler Systembetrieb aufgenommen werden kann und entsprechend keine weiteren Kommunikationen auf dem SPI-Bus stattfinden können, sofern nicht später ein zusätzlicher Codedownload angezeigt wird.
-
Wenn keine gültige Prüfsumme bestimmt wird, geht die Steuerung stattdessen zum Block 380 über, wo ein Fehlerzustand aufgenommen werden kann. Als ein Beispiel kann eine Fehlerzustandsmaschine in dem SoC eingeschaltet werden, um die Art von Fehler zu bestimmen und eine entsprechende Korrekturmaßnahme zu ergreifen. Auch wenn sie mit diesem hohen Niveau in dem Ausführungsbeispiel von 5 gezeigt worden ist, versteht sich, dass der Bereich der vorliegenden Erfindung nicht diesbezüglich beschränkt ist.
-
Jetzt bezugnehmend auf 6 wird ein Blockdiagramm eines SPI-Dekodierers in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. In dem Ausführungsbeispiel, das in 6 gezeigt wird, kann der SPI-Dekodierer 214 konfiguriert sein, verschiedene Signale zu empfangen, sowohl über den SPI-Bus, nämlich das SPI-Taktsignal (SPI_CLK) über die Leitung 250 als auch eingehende serielle Daten (SPI_SI) über die Signalleitung 245. Zusätzlich empfängt der SPI-Dekodierer 214 des Weiteren ein Einschaltsignal (SPI_EN).
-
Zusätzlich können verschiedene Steuerfunktionen zum Einrichten des SPI-Dekodierers zum Empfangen und Handhaben von eingehenden SPI-Nachrichten von einem I2C-Dekodierer über die Signalleitungen 215 empfangen werden. Somit werden diese Signale auf dem I2C-Bus von dem Demodulator zu dem Tuner kommuniziert, und dann gliedert der I2C-Slave-Dekodierer 212 die Information und sendet die Befehle zu dem SPI-Dekodierer 214. Insbesondere können diese Signale bestimmte Einleitungsschlüssel und Nummersignale (SPI_PBL_KEY [7:0] und SPI_PBL_NUM [3:0]) und zusätzliche Schlüsselsignale (SPI_SCBL_KEY [15:0]) umfassen. Zusätzlich läuft der SPI-Dekodierer 214 mit einem eingehenden Chiprücksetz- und Systemtaktsignal (nämlich SPI_RST und SPI_SYS_CLK).
-
In Reaktion auf Konfigurieren dieses Dekodierers zum Dekodieren einer eingehenden Konfigurationsinformation, die durch den I2C-Dekodierer empfangen wird, wenn SPI-Daten zum Beispiel entsprechend zu Codeaktualisierungen oder ähnlichem empfangen werden, können sie zu einem vorhandenen Speicher der Vorrichtung kommuniziert werden, zum Beispiel über Ausgabeleitungen 260, die Adressleitungen SPI_WR_ADDR [31:0] und Datenleitungen SPI_WR_DATA [7:0] umfassen, die veranlasst werden können, in den vorhandenen Speicher (so wie ein Speicher mit wahlfreiem Zugriff) der Vorrichtung über ein Schreibeinschaltsignal geschrieben zu werden, das über eine Schreibeinschaltleitung SPI_WR_Write kommuniziert wird.
-
Jetzt bezugnehmend auf 7 wird ein Blockdiagramm eines SPI-Kommunikationdatenübertragungsblocks in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Wie in 7 gezeigt, kann der Datenübertragungsblock 400 mehrere Teile oder Zustande umfassen, umfassend: einen Ruhezustand 410, der ein Wartezustand sein kann, in dem auf eine Einleitung gewartet wird; einen Dekodierzustand 415, in dem eine Anweisung dekodiert wird; und einen Empfangszustand 420, in dem verschiedene Informationen empfangen werden. Im Allgemeinen kann ein Datenübertragungsblock so formatiert werden, dass er eine Bitsynchronisationseinleitungssequenz, die als BSPS bezeichnet wird; ein Befehlsbyte, das als ein Anweisungsbyte bezeichnet wird (nachfolgend IB genannt); eine Adressindexsequenz, die als ADDS bezeichnet wird; eine optionale Nutzlastgrößensequenz, die als PSS bezeichnet wird; und eine Nutzlastsequenz, die als PAYS bezeichnet wird, umfasst.
-
Somit wie in 7 zu sehen, umfasst der Datenübertragungsblock 400 einen Ruhezustand 410 0, einen oder mehr Dekodierzustände 415 0 bis 415 n und einen zugehörigen Empfangszustand, so wie 420 0. Wie weiter zu sehen, umfasst ein Ruhezustand 410 0 einen wahlfreien Bereich 312, in dem wahlfreie Information kommuniziert werden kann, und einen BSPS-Teil 414, der die Bitsynchronisationseinleitungssequenz kommuniziert. Danach tritt ein Dekodierzustand 415 0 auf, und stellt ein Anweisungsbyte 416 bereit, das, wie weiter unten beschrieben werden wird, eine Anfangsanweisung kommuniziert.
-
Als Nächstes tritt ein Empfangszustand 420 0 ein, der einen Adressteil 422, um die Adressindexsequenz bereitzustellen, einen optionalen Nutzlastgrößensequenzteil 424, um die PSS bereitzustellen, und eine Nutzlastsequenz 426 umfasst, die die Information der Nachricht umfasst. Es ist zu beachten, dass eine Nachricht in mehrere Empfangszustände segmentiert sein kann. Somit wird, wie in 7 gezeigt, ein weiterer Dekodierzustand 415 n-1 kommuniziert, der ein zusätzliches Anweisungsbyte 416 umfasst. An einem Abschluss eines Nachrichtendatenübertragungsblocks kann ein letzter Dekodierzustand 415 n kommuniziert werden, der ein Anweisungsbyte umfasst, das einen Halt der Nachricht anzeigt. Danach kann ein Ruhezustand 410 1 wieder aufgenommen werden, zum Beispiel bis zu einem weiteren Datenübertragungsblock. Auch wenn sie auf diesem hohen Niveau in dem Ausführungsbeispiel von 7 gezeigt worden ist, versteht sich, dass der Bereich der vorliegenden Erfindung nicht diesbezüglich beschränkt ist.
-
Es ist zu beachten, dass weil Ausführungsbeispiele die Notwendigkeit eines Chipfreigabesignals von dem konventionellen SPI-Bus vermeiden, eine synchrone Beziehung zwischen diesem CS-Signal und dem SPI-Taktsignal verlorengeht. Entsprechend erfolgt eine Emulierung dieses Chipfreigabesignals von einem I2C-Taktbereich asynchron. Zu diesem Zweck kann der Bitsynchronisationsmechanismus bereitgestellt werden. In verschiedenen Ausführungsbeispielen kann dieser Synchronisationsmechanismus durch Einschalten des SPI-Dekodierers zum Detektieren einer bestimmten Anzahl von aufeinanderfolgenden Bytes realisiert werden, die einen vorbestimmten Wert aufweisen, der durch ein Register programmierbar ist, zum Beispiel, in einem Ausführungsbeispiel, das einen Standardwert von 0×AA aufweist. Dieser Bytewert kann zu dem SPI-Dekodierer über die SPI_PBL_KEY [7:0]-Signale kommuniziert werden. Des Weiteren kann die Anzahl von aufeinanderfolgenden Auftritten dieser Bytekommunikation auch programmierbar sein. In einem Ausführungsbeispiel kann die aufeinanderfolgende Sequenz zwischen einem und 16 Bytesequenzen sein. In einem Ausführungsbeispiel kann ein Standardwert von 0 anzeigen, dass nur ein einziger Auftritt kommuniziert wird. Diese Anzahl von aufeinanderfolgenden Auftritten kann über die SPI_PBL_NUM [3:0]-Signale kommuniziert werden. Es ist zu beachten, dass diese Bitsynchronisationseinleitung nur zum Synchronisieren der Hardwarezustandsmaschine des SPI-Dekodierers wirken kann, wenn er im Ruhezustand ist, so dass ein Teil einer Nutzlast gleich zu dieser Bitsynchronisationseinleitung keine neue Synchronisation des Datenübertragungsblocks bewirkt.
-
Als Nächstes bezugnehmend auf
8 wird ein Blockdiagramm der Information gezeigt, die in einem Anweisungsbyte in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung umfasst ist. Wie in
8 gezeigt, umfasst das Anweisungsbyte
416 mehrere Segmente
416 a bis
416 e. In der gezeigten Implementierung ist das Segment
416 a ein Anfangsbit, das Segment
416 b ist eine Adressversatzanzeige,
416 c ist ein Adressengrößenanzeiger,
416 d ist ein Nutzlastgrößenanzeiger und
416 e ist ein Paritätsanzeiger. In einem Ausführungsbeispiel können die Werte von diesen Segmenten des Anweisungsbytes mit Tabelle 1 unten übereinstimmen. Auch wenn sie mit diesen bestimmten Teilen und Werten (und in der Reihenfolge) in dem Ausführungsbeispiel von
8 gezeigt ist, versteht sich, dass der Bereich der vorliegenden Erfindung nicht diesbezüglich beschränkt ist. Tabelle 1
-
Jetzt bezugnehmend auf 9 wird ein Blockdiagramm eines Befehls gezeigt, der über die I2C-Schnittstelle kommuniziert wird, um zu gestatten, einen SPI-Bus und -Dekodierer in einer Empfangsvorrichtung einzurichten, um einen Empfang einer SPI-Buskommunikation in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung zu ermöglichen.
-
Wie in 9 gezeigt, kann die Nachricht 430 verschiedene Felder umfassen, die ein Konfigurationsdatenfeld, ein Konfigurationstaktfeld, den Einleitungsschlüssel und eine Anzahl von Feldern umfassen, die oben beschrieben worden sind, sowie ein SPI-Einschaltfeld. In einem Ausführungsbeispiel stellt SPI_CONF_DATA eine SPI-Dateneingabepinauswahl bereit und konfiguriert in einem Standardzustand nichts; SPI_CONF_CLK stellt eine SPI-Takteingabepinauswahl bereit, die den Pin auswählt, der als Takteingang verwendet werden soll, und sollte in einem Standardzustand nichts konfigurieren; und die SCI_PBL_KEY und das SCL_PBL_NUM-Feld umfassen den Einleitungsschlüssel und Anzahlfelder, die oben beschrieben worden sind.
-
Wenn die verschiedenen Betriebe zum Bereitstellen von Kommunikationen auf einem SPI-Bus, der von einem I2C-Bus gesteuert wird, durch eine Logik, Dekodierer usw. realisiert werden können, versteht sich, dass so eine Logik und/oder Dekodierer Anweisungen ausführen können, die in einem Artikel in der Form eines nicht flüchtigen computerlesbaren Speichermediums gespeichert sind, auf das verschiedene Anweisungen geschrieben sind. Diese Anweisungen können den verschiedenen Logik und Dekodierern gestatten, I2C-Bus-gesteuerte Kommunikationen auf einem SPI-Bus wie hierin beschrieben durchzuführen.
-
Ausführungsbeispiele können in vielen verschiedenen Systemarten implementiert werden, so wie Set-Top-Boxen, hochauflösende oder Standarddigitalfernseher usw. Einige Anwendungen können in einer gemischten Signalschaltung implementiert sein, die sowohl analoge als auch digitale Schaltungen umfasst. Jetzt bezugnehmend auf 10 wird ein Blockdiagramm eines Systems in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Wie in 10 gezeigt, kann ein System 600 einen Fernseher umfassen, der so gekoppelt ist, dass er ein RF-Signal von einer Antennenquelle 601 empfangt, so wie eine Luftantenne. Allerdings kann in anderen Ausführungsbeispielen die Ursprungsquelle eine Kabelverteilung, ein Satellit oder eine andere Quelle sein, die dann durch ein digitales terrestrisches Netzwerk weiterverbreitet wird. Das eingehende RF-Signal kann einem Tuner 605 bereitgestellt werden, der in einem Ausführungsbeispiel ein Einzelchip-Tuner sein kann. Wie zu sehen, kann der Tuner 605 einen Speicher 602 umfassen, um ausführbare Anweisungen zu speichern, und eine Schnittstelle 604, die sowohl I2C- als auch SPI-Schnittstellenschaltungen umfasst.
-
Das eingehende RF-Signal wird dem Tuner 605 zum Tunen auf einen gewünschten Signalkanal bereitgestellt. Während der Bereich der vorliegenden Erfindung nicht diesbezüglich beschränkt ist, kann der Tuner 605 verschiedene Schaltungen umfassen. Zum Beispiel kann in einem Ausführungsbeispiel der Tuner 605 einen Bandpassfilter umfassen, der eine Ausgabe aufweist, die mit einem Rauschverstärker (nachfolgend LNA genannt) zum Empfangen und Verstärken des RF-Signals gekoppelt ist. Die Ausgabe des LNA kann einem weiteren Bandpass bereitgestellt werden, der wiederum mit einem Mischer gekoppelt ist. Der Mischer wiederum konvertiert das eingehende RF-Signal zu einer IF-Ausgabe, die über einen Signalverarbeitungspfad zu einem Demodulator 610 kommuniziert werden kann, zur Digitalisierung durch einen Analog-Digital-Umsetzer (nachfolgend ADC genannt) 612 herunter.
-
Weiter bezugnehmend auf 10 kann die digitalisierte Ausgabe von dem ADC 612 zusätzlichen Verarbeitungsschaltungen umfassend eine Demodulatorschaltung 615 bereitgestellt werden. Wie weiter zu sehen, umfasst der Demodulator 610 eine Schnittstelle 608, die I2C- und SPI-Schnittstellenschaltungen umfasst. Zusätzlich kann ein Demodulator einen Speicher 616 umfassen, der ausführbare Anweisungen speichern kann, wie oben beschrieben. Speicher 602 und 616 können Code-Aktualisierungen in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung über den kombinierten I2C- und SPI-Mechanismus empfangen und speichern, der hierin diskutiert worden ist.
-
Die Ausgabe des Demodulators 615 kann einem Transportstrom entsprechen, so wie ein MPEG-TS, der einem Hostprozessor 620 zur weiteren Verarbeitung in ein audio-visuelles Signal bereitgestellt wird, das einer Anzeige 630 bereitgestellt werden kann, so wie ein Computermonitor, ein Flachbildfernseher oder eine andere solche Anzeige. Es ist weiter zu beachten, dass Steuerungskanäle, die in Übereinstimmung mit dem I2C- und dem SPI-Kommunikationspfad sein können, zwischen dem Hostprozessor 620 und dem Demodulator 610 vorhanden sein können. Um des Weiteren Downloaden von Codeaktualisierungen oder einer anderen Information in eine nachgelagerte Richtung des Tuners 605 bereitzustellen, ist das Vorhandensein eines I2C-Buses zwischen dem Demodulator 610 und dem Tuner 605 zu beachten. Des Weiteren ist das Vorhandensein einer einzelnen seriellen Datenleitung zu beachten, nämlich SPI-Daten, um Download von Codeaktualisierungen für einen Speicher in dem Speicher 602 des Tuners (zum Beispiel) zu gestatten.
-
Während die vorliegende Erfindung mit Bezug auf eine beschränkte Anzahl von Ausführungsbeispielen beschrieben worden ist, werden Fachleute zahlreiche Modifikationen und Variationen davon erkennen. Es ist beabsichtigt, dass die angehängten Ansprüche alle solche Modifikationen und Variationen abdecken, soweit sie in den wahren Geist und Bereich dieser Anmeldung fallen.