DE10158774A1 - Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip - Google Patents

Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip

Info

Publication number
DE10158774A1
DE10158774A1 DE2001158774 DE10158774A DE10158774A1 DE 10158774 A1 DE10158774 A1 DE 10158774A1 DE 2001158774 DE2001158774 DE 2001158774 DE 10158774 A DE10158774 A DE 10158774A DE 10158774 A1 DE10158774 A1 DE 10158774A1
Authority
DE
Germany
Prior art keywords
baseband chip
mobile radio
rtos
task
radio systems
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE2001158774
Other languages
German (de)
Inventor
Gerhard Forster
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2001158774 priority Critical patent/DE10158774A1/en
Priority to PCT/DE2002/004272 priority patent/WO2003048965A2/en
Publication of DE10158774A1 publication Critical patent/DE10158774A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Abstract

A baseband chip (1) for mobile radio systems contains at least one controller (2), which uses a real-time operating system (RTOS), and also contains a digital processor (4). The functionality, which is assigned to the kernel of the real-time operating system (RTOS), or at least a portion of this functionality is permanently implemented on the baseband chip (1) by means of a non-volatile memory (20) or of a hardware status automatic device.

Description

Die Erfindung betrifft einen Basisband-Chip für Mobilfunksysteme, welcher mindestens einen ein Echtzeit-Betriebssystem nutzenden Controller und einen digitalen Signalprozessor beinhaltet. Ferner betrifft die Erfindung ein Verfahren zum Betreiben eines derartigen Basisband-Chips. The invention relates to a baseband chip for Mobile radio systems, which have at least one real-time operating system using controller and a digital signal processor includes. The invention further relates to a method for Operating such a baseband chip.

In Mobilfunksystemen gewinnen als Einzelchip ausgeführte Basisband-Signalverarbeitungsschaltungen zunehmend an Attraktivität. Derartige Schaltungen umfassen stets einen Controller oder Prozessor und mindestens einen digitalen Signalprozessor (DSP) sowie verschiedene Peripherals, welche aufgabenspezifische Datenverarbeitungsaufgaben vornehmen. Dem Controller bzw. Prozessor obliegt die chipweite Ablaufsteuerung, d. h. die Verwaltung und Delegierung von Tasks an den DSP oder die Peripherals und das Starten, Überwachen und Beenden der Ausführungen der Tasks. Der DSP führt, teilweise im Zusammenwirken mit den Peripherals, bestimmte Mobilfunk-typische Aufgaben wie Interleaving/Deinterleaving, Quellenkodierung/- dekodierung, Kanalkodierung/-dekodierung, Entzerrung, Verschlüsselung/Entschlüsselung usw. durch. Die Abarbeitung dieser Aufgaben im DSP ist Software-gesteuert. Demgegenüber sind die Peripherals schnelle Hardware-Module, welche bestimmte, in ständiger Wiederholung auftretende Rechenoperationen wie beispielsweise die ACS-(Add Compare Select-)Operation bei der Viterbi-Kanaldekodierung und/oder Viterbi-Entzerrung allein in Hardware realisieren. Weitere Beispiele für Peripherals sind GMSK-(Gaussian Minimum Shift Keying-)Modulatoren, digitale Basisband-Filter usw. In mobile radio systems, single chip designs win Baseband signal processing circuits are increasingly on Attractiveness. Such circuits always include a controller or processor and at least one digital signal processor (DSP) and various peripherals, which perform task-specific data processing tasks. The controller or processor is responsible for the chip-wide sequence control, d. H. the administration and delegation of tasks to the DSP or the Peripherals and starting, monitoring and stopping the Execution of the tasks. The DSP leads, partly in Interaction with the peripherals, certain cellular typical Tasks like interleaving / deinterleaving, source coding / - decoding, channel coding / decoding, equalization, Encryption / decryption etc. The execution of these tasks in the DSP is software controlled. Are against the peripherals are fast hardware modules that determine arithmetic operations such as for example the ACS (Add Compare Select) operation on the Viterbi channel decoding and / or Viterbi equalization alone implement in hardware. More examples of peripherals are GMSK (Gaussian Minimum Shift Keying) modulators, digital baseband filters etc.

Eine solche als Einzelchip konzipierte Basisband-Verarbeitungsschaltung ist aus dem U.S.-Patent 5,923,761 bekannt. One designed as a single chip Baseband processing circuitry is known from U.S. Patent 5,923,761.

Ferner ist bekannt, dass moderne Chip-Designs wie beispielsweise die von Infineon hergestellten Chips der Basisband- Chipfamilie E-GOLD+ einen solchen Aufbau aufweisen. It is also known that modern chip designs such as for example, the baseband chips manufactured by Infineon Chip family E-GOLD + have such a structure.

Unter Software-Gesichtspunkten ist ein solcher Basisband-Chip ein Mehrprozessor-Baustein mit knappen Resourcen an internem Speicherplatz (aufgrund Platzmangel) und hohen Echtzeit-Anforderungen. Aus diesen Gründen werden Basisband-Chips häufig mit Echtzeit-Betriebssystemen (RTOS: Real Time Operating System) betrieben. Such a baseband chip is from a software point of view a multiprocessor module with scarce resources on internal Space (due to lack of space) and high Real-time requirements. For these reasons, baseband chips are common with real-time operating systems (RTOS: Real Time Operating System) operated.

Das RTOS läuft üblicherweise auf dem Controller und realisiert, wie jedes Betriebssystem, eine Art "permanent laufendes Grundprogramm" dessen Aufgabe darin besteht, die nicht anwendungsspezifischen Aufgaben aus den verschiedenen Anwendungsprogrammen heraus zu halten und für diese "zentral" zur Verfügung zu stellen. Die Anwendungsprogramme nutzen diese Funktionalität des RTOS. Die Besonderheit von RTOS im Vergleich zu üblichen Betriebssystemen besteht darin, dass sie einerseits nur einen sehr kleinen Speicherplatzbedarf für den Kernel (der Programmteil, der beim Booten in den flüchtigen Speicherbereich des Prozessors geladen wird und dort verbleibt) haben dürfen und andererseits geringe Latenzzeiten und hohe Datendurchsätze ermöglichen müssen. Als Folge davon enthalten RTOS nur wenige leistungsfähige Systemaufrufe (system calls) und im Gegensatz zu herkömmlichen Betriebssystemen wie beispielsweise Windows von Microsoft oder das auch für Mobilfunksysteme verwendete Organizer-Betriebssystem Windows CE von Microsoft keine Anwendungen. The RTOS usually runs on the controller and realizes, like every operating system, a kind of "permanent running basic program "whose task is that which is not application-specific tasks from the various Keep application programs out and "central" for them To make available. The application programs use this RTOS functionality. The specialty of RTOS in Compared to common operating systems, it is on the one hand, only a very small storage space requirement for the Kernel (the part of the program that, when booting into the volatile Memory area of the processor is loaded and there remains) and low latency and must enable high data throughput. As a consequence of this RTOS contain only a few powerful system calls (system calls) and in contrast to conventional Operating systems such as Windows from Microsoft or that too Organizer operating system used for mobile radio systems Windows CE from Microsoft no applications.

Die herkömmliche Vorgehensweise, um RTOS auf dem Basisband- Chip verfügbar zu machen, besteht darin, das die Anwendungen enthaltende Programm (Anwendungsprogramm) mit dem RTOS zusammenzufügen, zu kompilieren, zu binden und dann in einem nichtflüchtigen, externen (in Bezug auf den Basisband-Chip) Platinen-Speicher des Mobilfunk-Systems abzulegen. Bei diesem nicht flüchtigen Platinen-Speicher ("board memory") handelt es sich z. B. um einen FLASH-Speicher mit einigen MByte Speicherkapazität. Beim Booten des Systems wird dann der Kernel des RTOS sowie aktuell benötigte Programmteile des Anwendungsprogramms in die internen RAM-Bereiche des Basisband- Chips geladen. Diese weisen eine um Größenordnungen geringere Speichergröße im Bereich von einigen kByte als der Platinen- Speicher auf. Der Kernel des RTOS, welcher die Grundfunktionalität des RTOS verkörpert, verbleibt über die gesamte Betriebsdauer in dem internen RAM-Bereich des Basisband-Chips, während die restlichen Programmteile des RTOS sowie auch die anwendungspezifischen Programmteile bei Bedarf nachgeladen und anschließend wieder ausgelagert werden. The traditional way to run RTOS on baseband Making the chip available is the applications containing program (application program) with the RTOS assemble, compile, bind and then in one non-volatile, external (in relation to the baseband chip) To store the board memory of the cellular system. With this non-volatile board memory z. B. a FLASH memory with a few Mbytes Storage capacity. When the system is booted, the kernel then becomes of the RTOS as well as currently required program parts of the Application program into the internal RAM areas of the baseband Chips loaded. These are orders of magnitude smaller Memory size in the range of a few kbytes as the board Memory on. The kernel of the RTOS, which is the The basic functionality of the RTOS embodied remains throughout Operating time in the internal RAM area of the baseband chip, while the other parts of the RTOS program as well as the application-specific program parts reloaded if necessary and then outsourced.

Für den Bezug des RTOS stehen verschiedene Möglichkeiten zur Wahl. Einige Systemhersteller schreiben das RTOS selber und benutzen es für ihre Anwendungsprogramme. Daneben besteht die Möglichkeit, RTOS über Spezialanbieter zu beziehen, bekannt sind z. B. die Produkte OSE und Nucleus+. Diese RTOS-Programme können direkt von diesen Firmen bezogen und dann in der bereits beschriebenen Weise in das Anwendungsprogramm eingebunden werden. There are various options for purchasing the RTOS Choice. Some system manufacturers write the RTOS themselves and use it for their application programs. There is also the Possibility to obtain RTOS through special providers, known are z. B. the products OSE and Nucleus +. These RTOS programs can be obtained directly from these companies and then in the way already described in the application program be involved.

In dem U.S.-Patent 6,029,000 ist eine Mehrprozessorplattform beschrieben, welche einen DSP und einen Controller umfasst. DSP und Controller weisen jeweils ein eigenes RTOS auf. Ein auf einem der Prozessoren laufender Cross-Compiler kompiliert Code für den anderen Prozessor in Maschinencode. In U.S. Patent 6,029,000 is a multiprocessor platform described, which comprises a DSP and a controller. The DSP and controller each have their own RTOS. On compiler running on one of the processors Code for the other processor in machine code.

Der Erfindung liegt die Aufgabe zugrunde, einen Basisband- Chip für Mobilfunksysteme mit einem alternativen Konzept zur Verfügbarmachung und insbesondere zur Lokalisierung des RTOS zu schaffen. Ferner zielt die Erfindung darauf ab, ein Verfahren zum Betreiben eines solchen Basisband-Chips für Mobilfunksysteme anzugeben. Die Aufgabe wird durch die Merkmale der Ansprüche 1, 14 und 15 gelöst. The invention has for its object to provide a baseband Chip for mobile radio systems with an alternative concept Availability and in particular for the localization of the RTOS to accomplish. The invention further aims to Method for operating such a baseband chip for Specify mobile radio systems. The task is characterized by the characteristics of claims 1, 14 and 15 solved.

Ein erfindungsgemäßer Basisband-Chip für Mobilfunksysteme weist demnach in an sich bekannter Weise mindestens einen ein RTOS nutzenden Controller und einen digitalen Signalprozessor auf. Erfindungsgemäß ist die dem Kernel des RTOS zugeordnete Funktionalität (d. h. die Grundfunktionalität des RTOS) oder zumindest ein Teil derselben permanent auf dem Basisband-Chip implementiert. A baseband chip according to the invention for mobile radio systems accordingly has at least one in a manner known per se RTOS using controller and a digital signal processor on. According to the invention is that assigned to the kernel of the RTOS Functionality (i.e. the basic functionality of the RTOS) or at least some of them permanently on the baseband chip implemented.

Durch die Implementierung der Funktionalität des Kernels (oder auch nur eines Teils desselben) auf dem Basisband-Chip kann eine Erhöhung der Verarbeitungsgeschwindigkeit erreicht werden und es besteht die Möglichkeit, Lizenzkosten, die bei der herkömmlichen Lösung für die Benutzung von RTOS zu zahlen sind, einzusparen. Darüber hinaus kann eine Platzersparnis infolge einer möglich werdenden Reduzierung des internen RAM- Bereiches erzielt werden. By implementing the functionality of the kernel (or just a part of it) on the baseband chip can increase the processing speed be and there is a possibility of license costs, which at the traditional solution for using RTOS are to be saved. It can also save space due to a possible reduction in the internal RAM Range can be achieved.

Eine erste vorteilhafte Ausführungsform der Erfindung kennzeichnet sich dadurch, dass der Kernel des RTOS zumindest teilweise in einem nichtflüchtigen Speicher auf dem Basisband-Chip gespeichert ist. Damit ist zumindest ein Teil des Kernels (vorzugsweise der gesamte Kernel) des RTOS permanent, auch bei deaktiviertem Basisband-Chip, auf demselben vorhanden. Bei der Abarbeitung von Anwendungsprogrammen, welche sich des RTOS bedienen, werden die entsprechenden Systemaufrufe von dem in dem nichtflüchtigen Speicher gespeicherten RTOS-Maschinencode bewirkt. Ein Vorzug dieser Lösung gegenüber der herkömmlichen Vorgehensweise besteht darin, dass nichtflüchtige ROM-Speicherbereiche bei vergleichbarem Speicherinhalt platzsparender als RAM-Speicherbereiche im Basisband-Chip zu realisieren sind. A first advantageous embodiment of the invention is characterized by the fact that the kernel of the RTOS at least partly in a non-volatile memory on the Baseband chip is stored. That is at least part of the Kernel (preferably the entire kernel) of the RTOS permanent, even if the baseband chip is deactivated, on the same available. When processing application programs, which use the RTOS, the corresponding System calls from that stored in the non-volatile memory RTOS machine code causes. An advantage of this solution compared to the conventional approach is that non-volatile ROM memory areas with comparable Memory content space-saving than RAM memory areas in the Baseband chip are to be realized.

Grundsätzlich kann der Controller eine Direktverarbeitung des in dem nichtflüchtigen Speicher gespeicherten Maschinencodes vornehmen. Eine alternative, ebenfalls zweckmäßige Ausführungsvariante kennzeichnet sich dadurch, dass der Controller eine Nano-Code-Implementierung ist. Bei einer Nano-Code- Implementierung des Controllers werden vom Controller in Maschinencode erhaltene Befehle zunächst in Submaschinencode (sogenannte Nano-Codes) aufgelöst und die Submaschinencodes werden in dem Controller in physikalische Signale umgesetzt. Dadurch wird eine höhere Flexibilität hinsichtlich des Zusammenwirkens zwischen Software (Anwendungsprogramm und RTOS) und Controller-Hardware ermöglicht. In principle, the controller can process the machine codes stored in the non-volatile memory make. An alternative, also useful Design variant is characterized in that the controller is a nano code implementation. With a nano code Implementation of the controller are carried out by the controller in Machine code received commands first in submachine code (so-called nano codes) and the sub machine codes are converted into physical signals in the controller. This will increase flexibility in terms of Interaction between software (application program and RTOS) and controller hardware.

Eine weitere vorteilhafte Ausführungsform der Erfindung kennzeichnet sich dadurch, dass zumindest ein Teil der dem Kernel des Echtzeit-Betriebssystems zugeordneten Funktionalität in Form eines Hardware-Zustandautomaten auf dem Basisband-Chip implementiert ist. Durch die Implementierung des "Echtzeit- Betriebssystems als Hardware-Zustandsautomaten" wird eine deutliche Beschleunigung der Verarbeitungsgeschwindigkeit im Vergleich zu einer Software-Realisierung erreicht. Ferner besteht der Vorteil, dass Lizenzgebühren für proprietäre RTOS- Softwareprodukte entfallen. Another advantageous embodiment of the invention is characterized in that at least part of the kernel the functionality assigned to the real-time operating system Form of a hardware state machine on the baseband chip is implemented. By implementing the "real-time Operating system as a hardware state machine "is one significant acceleration of processing speed in Achieved comparison to a software implementation. Further there is the advantage that license fees for proprietary RTOS Software products are eliminated.

Vorzugsweise umfasst der Hardware-Zustandsautomat einen Task- Buffer zur Speicherung von Task-Informationen und den Tasks zugeordneten Prioritätinformationen. Der Task-Buffer ermöglicht eine wesentlich schnellere und unkompliziertere Verwaltung von Tasks in Bezug auf Zeit- und Prioritätserfordernisse als eine allein über Software erfolgende Verwaltung von Tasks. The hardware state machine preferably comprises a task Buffer for storing task information and the tasks assigned priority information. The task buffer enables a much faster and less complicated Manage tasks related to time and priority requirements as a software management of Tasks.

Eine besonders bevorzugte Dimensionierung des Task-Buffers besteht darin, dass dieser mit zwei Ports ausgeführt ist. Dies ermöglicht die zeitgleiche Eingabe (Schreiben) und Ausgabe (Lesen) von Tasks aus dem Task-Buffer, wodurch eine verzögerungsarme Abarbeitung von Anwendungsprogrammen ermöglicht wird. A particularly preferred dimensioning of the task buffer is that it has two ports. This enables simultaneous entry (writing) and Output (read) of tasks from the task buffer, whereby a enables application programs to be processed with little delay becomes.

Bei einer weiteren, ebenfalls besonders bevorzugten Ausgestaltung des Hardware-Zustandsautomaten umfasst dieser eine Sortierschaltung, welche ausgelegt ist, die in dem Task- Buffer enthaltenen Task- und Prioritätsinformationen gemäß der Prioritätsinformationen umzusortieren. Die RTOS-typische Verwaltungstätigkeit des Umsortierens von Tasks wird dadurch vollständig in Hardware realisiert. Da das Software-basierte Umsortieren von Tasks für ein RTOS eine relativ zeitaufwändige Verwaltungstätigkeit ist, wird durch die erfindungsgemäße Maßnahme ein beträchtlicher Zeitgewinn im Rahmen der Task- Verwaltung erreichbar. Another, also particularly preferred The configuration of the hardware state machine comprises one Sorting circuit, which is designed to be used in the task Buffer contain task and priority information according to to sort the priority information. The typical RTOS Administrative activity of reordering tasks is thereby completely implemented in hardware. Because that's software-based Reorder tasks for an RTOS a relative time-consuming administrative activity is achieved by the invention Measure a significant amount of time saved in the task Administration reachable.

Die Sortierschaltung ist dabei vorzugsweise so ausgelegt, dass sie nicht seitens Anwendungsprogrammen beeinflussbar oder programmierbar ist. D. h., die von den Anwendungsprogrammen gelieferten Tasks werden stets einem fest vorgegebenen Eingangsregister des Task-Buffers zugeführt, so dass die Anwendungsprogramme keinen Einfluss auf den Speicherort haben, an welchem der Task (Task-Information und Prioritätsinformation) in dem Task-Speicher abgelegt wird. Da der Umsortierungsalgorithmus allein durch die "Verdrahtung" der Sortierschaltung bestimmt ist, wird auf diese Weise eine Entkopplung zwischen der Funktionalität von Anwendungen und der Verwaltung der Tasks dieser Anwendungen geschaffen. The sorting circuit is preferably designed so that that they cannot be influenced by application programs or is programmable. That is, those of the Tasks delivered to application programs are always predefined Input register of the task buffer fed so that the Application programs have no influence on the storage location, at which of the task (task information and Priority information) is stored in the task memory. Since the Resorting algorithm solely by "wiring" the Sorting circuit is determined, decoupling in this way between the functionality of applications and the Management of the tasks of these applications created.

Eine weitere vorteilhafte Ausführungsvariante des Hardware- Zustandsautomaten kennzeichnet sich dadurch, dass er Bitregister aufweist, welche Hardware-Semaphoren realisieren. Semaphoren, die in RTOS zur Kommunikation zwischen Prozessen eingesetzt werden, sind in diesem Fall ebenfalls in Hardware realisiert. Another advantageous embodiment of the hardware State machine is characterized by the fact that it Has bit registers that implement hardware semaphores. Semaphores used in RTOS for communication between processes are used in this case are also in hardware realized.

Nach einer weiteren vorteilhaften Ausführungsvariante umfasst der Hardware-Zustandsautomat ferner (mindestens) einen Zeitgeber, welcher zur Steuerung einer zeitlich ineinander greifenden Abarbeitung mehrerer Tasks ausgelegt ist. Die Implementierung eines Timers in dem Hardware-Zustandsautomat ermöglicht, dass neben oder anstelle der prioritätsorientierten Task-Verwaltung eine zeitorientierte Task-Verwaltung realisierbar ist. Dabei werden den Tasks einzelne Zeitschlitze zugeteilt, wobei jeder Zeitschlitz die CPU-Zeit für einen bestimmten Task reserviert. Dadurch wird erreicht, dass mehrere Tasks, gegebenenfalls ohne Berücksichtigung ihrer Prioritätsinformationen, im gleichen Zeitraum verwaltet und abgewickelt werden können. According to a further advantageous embodiment variant the hardware state machine further (at least) one Timer, which is used to control one another in time comprehensive processing of multiple tasks. The Implementation of a timer in the hardware state machine allows that in addition to or instead of priority Task management a time-oriented task management is feasible. The tasks are assigned individual time slots allocated, each time slot being the CPU time for one reserved for a specific task. This ensures that several Tasks, possibly without considering their Priority information, managed and in the same period can be processed.

Die Erfindung wird nachfolgend anhand von zwei Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher erläutert; in dieser zeigt The invention is described below with reference to two Exemplary embodiments with reference to the drawing explains; in this shows

Fig. 1 eine vereinfachte, schematische Darstellung der Struktur eines erfindungsgemäßen Basisband-Chips; und Fig. 1 is a simplified schematic representation of the structure of an inventive baseband chip; and

Fig. 2 eine vereinfachte, schematische Darstellung der Struktur eines Hardware-Zustandsautomaten, der gemäß dem zweiten Ausführungsbeispiel in den in Fig. 1 gezeigten Basisband-Chip eingesetzt werden kann. FIG. 2 shows a simplified, schematic representation of the structure of a hardware state machine which, according to the second exemplary embodiment, can be used in the baseband chip shown in FIG. 1.

Fig. 1 zeigt exemplarisch den (stark vereinfachten) Aufbau eines Basisband-Chips 1, wie er in modernen Mobilfunksystemen (insbesondere Mobilstationen) eingesetzt wird. Der Chip 1 umfasst einen als MCU (memory control unit) bezeichneten Controller 2, welcher mit einer ersten Bus-Struktur 3 in Verbindung steht, einen digitalen Signalprozessor (DSP) 4, welcher mit einer zweiten Bus-Struktur 5 in Verbindung steht, sowie eine Anzahl von internen Hardware-Modulen 6.1, 6.2, 6.3 und 6.4, welche mit der zweiten Bus-Struktur 5 in Verbindung stehen. Die Hardware-Module sind beispielsweise ein GMSK-Modulator 6.1, ein digitaler Sprachband-Filter 6.2, ein digitaler und/oder analoger Basisband-Filter 6.3 und ein Viterbi-Modul 6.4. Konstruktiv sind diese Hardware-Module in Form schneller Hardware-Datenpfade realisiert, welche bestimmte Rechenabläufe, die im Betrieb in ständiger Wiederholung durchzuführen sind, in Hardware abarbeiten. Diese als Peripherals bezeichneten Hardware-Module 6.1, 6.2, 6.3 und 6.4 können über Verbindungen 7.1, 7.2 und 7.3 direkt an externe Baugruppen angebunden sein oder (wie das Viterbi-Modul 6.4) keine direkte Verbindung nach außen vorsehen. Fig. 1 shows an example of the (simplified) structure of a baseband chip 1, such as is used in modern mobile radio systems (in particular, mobile stations). The chip 1 comprises a controller 2 called MCU (memory control unit), which is connected to a first bus structure 3 , a digital signal processor (DSP) 4 , which is connected to a second bus structure 5 , and one Number of internal hardware modules 6.1 , 6.2 , 6.3 and 6.4 , which are connected to the second bus structure 5 . The hardware modules are, for example, a GMSK modulator 6.1 , a digital voice band filter 6.2 , a digital and / or analog baseband filter 6.3 and a Viterbi module 6.4 . In terms of construction, these hardware modules are implemented in the form of fast hardware data paths, which process certain computing processes that are to be carried out in operation in constant repetition in hardware. These hardware modules known as peripherals 6.1 , 6.2 , 6.3 and 6.4 can be connected directly to external modules via connections 7.1 , 7.2 and 7.3 or (like the Viterbi module 6.4 ) do not provide a direct connection to the outside.

Die beiden Bus-Strukturen 3 und 5 bestehen in üblicher Weise aus einem Datenbus, einem Adressbus und einem Steuerbus und stehen über ein Bus-Interface 8 miteinander in Datenaustauschverbindung. Ferner können ein gemeinsamer Speicherbereich 9 sowie (in nicht dargestellter Weise) individuelle Busspeicher in Form von RAM vorgesehen sein. The two bus structures 3 and 5 usually consist of a data bus, an address bus and a control bus and are in data exchange connection with one another via a bus interface 8 . Furthermore, a common memory area 9 and (in a manner not shown) individual bus memories in the form of RAM can be provided.

Ferner sind die Bus-Strukturen 3 und 5 mit Timern 10 bzw. 11 gekoppelt, welche Zeitsignale für den Controller 2 bzw. den DSP 4 liefern. Furthermore, the bus structures 3 and 5 are coupled to timers 10 and 11 , respectively, which deliver time signals for the controller 2 and the DSP 4, respectively.

Die mit dem Controller 2 in Verbindung stehende erste Bus- Struktur 3 ist ferner mit einem SIM-Card-Interface 13 und einigen I/O Steuereinheiten gekoppelt, von denen in Fig. 1 exemplarisch ein I/O Controller 12 dargestellt ist. Über den (exemplarischen) I/O Controller 12 können eine Vielzahl von externen Geräten wie beispielsweise ein Keypad, weitere Eingabeelemente, eine serielle Kabelverbindung zur Mobilstation usw. mit dem Basisband-Chip 1 in Verbindung gebracht werden. Das SIM-Card-Interface 13 stellt eine Schnittstelle für eine SIM-Card Anbindung zur Verfügung. The first bus structure 3 connected to the controller 2 is also coupled to a SIM card interface 13 and some I / O control units, of which an I / O controller 12 is shown as an example in FIG. 1. Via the (exemplary) I / O controller 12 , a large number of external devices such as a keypad, further input elements, a serial cable connection to the mobile station etc. can be connected to the baseband chip 1 . The SIM card interface 13 provides an interface for a SIM card connection.

Sowohl der Controller 2 als auch der DSP 4 können über interne Interrupts 14a, 15a und externe Interrupts 14b bzw. 15b gesteuert werden. Zu diesem Zweck weist der Controller 2 einen internen Interrupt-Controller (IR-C) 16 und der DSP 4 einen üblicherweise externen Interrupt-Controller (IR-C) 17 auf (d. h. die Interrupt-Steuerung des DSP 4 erfolgt über die zweite Bus-Struktur 5). Both the controller 2 and the DSP 4 can be controlled via internal interrupts 14 a, 15 a and external interrupts 14 b and 15 b. For this purpose, the controller 2 has an internal interrupt controller (IR-C) 16 and the DSP 4 has a usually external interrupt controller (IR-C) 17 (ie the interrupt control of the DSP 4 takes place via the second bus Structure 5 ).

Der Basisband-Chip 1 umfasst ferner einen RAM-Bereich 18a, der zusammen mit einem Controller-internen flüchtigen Speicher IRAM 18b den flüchtigen Programmspeicherbereich ("Arbeitsspeicher") des Controllers 2 bildet. Ein nichtflüchtiger interner Speicherbereich ROM 19 stellt den Boot-Block für den Controller 2 dar und dient bei Inbetriebnahme der Anfangsinitialisierung desselben. Seine Größe beträgt typischerweise lediglich etwa 2 kByte. The baseband chip 1 further comprises a RAM area 18 a, which together with a controller-internal volatile memory IRAM 18 b forms the volatile program memory area (“working memory”) of the controller 2 . A non-volatile internal memory area ROM 19 represents the boot block for the controller 2 and serves to initialize it when the controller 2 is started up. Its size is typically only about 2 kbytes.

Bei der mit dem Bezugszeichen 20 dargestellten Hardware- Struktur handelt es sich bei einem ersten Ausführungsbeispiel um einen weiteren nichtflüchtigen Speicherbereich. Bei einem zweiten Ausführungsbeispiel ist die mit dem Bezugszeichen 20 bezeichnete Struktur ein Hardware-Zustandsautomat, wie er später in Verbindung mit der Fig. 2 noch näher erläutert wird. In a first exemplary embodiment, the hardware structure represented by reference numeral 20 is a further non-volatile memory area. In a second exemplary embodiment, the structure identified by reference numeral 20 is a hardware state machine, as will be explained in more detail later in connection with FIG. 2.

Der Chip-interne RAM-Bereich 18a, der Chip-interne ROM- Speicher 19 und die Hardware-Struktur 20 können über einen gemeinsamen Bus 21 mit dem Controller 2 in Verbindung stehen. Der Controller-interne IRAM-Bereich 18b ist an einen Controller-internen Bus 22 angebunden. Die Hardware-Struktur 20 kann nun wie dargestellt über eine Datenverbindung 25 und den gemeinsamen Bus 21 mit dem Controller 2 in Verbindung stehen oder auch direkt an den Controller-internen Bus 22 angebunden sein. Letzteres ist durch die gestrichelte Datenverbindung 23 angedeutet. The chip-internal RAM area 18 a, the chip-internal ROM memory 19 and the hardware structure 20 can be connected to the controller 2 via a common bus 21 . The controller-internal IRAM area 18 b is connected to a controller-internal bus 22 . As shown, the hardware structure 20 can now be connected to the controller 2 via a data connection 25 and the common bus 21 or can also be connected directly to the controller-internal bus 22 . The latter is indicated by the dashed data connection 23 .

Ebenfalls optional ist die gestrichelt dargestellte Verbindung 24, über welche der interne RAM-Bereich 18a mit der ersten Bus-Struktur 3 in Verbindung steht. The connection 24 , shown in dashed lines, via which the internal RAM area 18 a is connected to the first bus structure 3 is also optional.

Der Basisband-Chip 1 kann wesentlich mehr Funktionselemente, wie beispielsweise Digital-Analog-Umsetzer, Analog-Digital- Umsetzer, Hardware-Module für das Leistungsmanagement, Adress-Berechnung usw. enthalten. Nicht dargestellt sind ferner Funktionselemente zur Erzeugung des Systemtaktes ("local oscillator"), die ebenfalls auf dem Chip 1 integriert sind. The baseband chip 1 can contain significantly more functional elements, such as digital-to-analog converters, analog-to-digital converters, hardware modules for power management, address calculation, etc. Also not shown are functional elements for generating the system clock ("local oscillator"), which are likewise integrated on the chip 1 .

Dem Controller 2 und dem DSP 4 sind unterschiedliche Aufgaben zugedacht. Während der Controller 2 im wesentlichen Verwaltungsaufgaben im Rahmen der Abwicklung von Anwendungsprogrammen wahrnimmt, sind dem DSP 4 die wesentlichen rechenintensiven Signalverarbeitungsfunktionen zugeteilt. Beispielsweise nimmt der DSP 4 die Berechnungsschritte für die Quellenkodierung/-Dekodierung, die Kanalkodierung/-Dekodierung, die Entzerrung und die Ver-/Entschachtelung vor. Die Überwachung und Steuerung der im DSP 4 durchgeführten Rechenabläufe sowie das Zusammenwirken zwischen der im DSP 4 in Software und den Hardware-Modulen 6.1, 6.2, und 6.3 in Hardware durchgeführten Rechenschritte wird von dem Controller 2 übernommen. Das Hardware-Modul 6.4 wird z. B. ausschließlich vom DSP 4 gesteuert. Der Controller 2 übernimmt ferner das Abbilden von logischen Verkehrs- und Steuerkanälen auf physikalische GSM- (Global System for Mobile Communications-)Kanäle im Empfangsfall, das Bündeln physikalischer GSM-Kanäle, Datenübertragungsfunktionen auf Protokollebene sowie die Bereitstellung der im GSM-Standard üblichen Burst-Formate. The controller 2 and the DSP 4 are intended to perform different tasks. While the controller 2 essentially performs administrative tasks in the course of processing application programs, the DSP 4 is assigned the essential computationally intensive signal processing functions. For example, the DSP 4 performs the calculation steps for the source coding / decoding, the channel coding / decoding, the equalization and the interleaving / deinterleaving. The monitoring and control of the computing processes carried out in the DSP 4 and the interaction between the computing steps carried out in the DSP 4 in software and the hardware modules 6.1 , 6.2 and 6.3 in hardware is carried out by the controller 2 . The hardware module 6.4 is z. B. controlled exclusively by the DSP 4 . The controller 2 also takes on the mapping of logical traffic and control channels onto physical GSM (Global System for Mobile Communications) channels in the case of reception, the bundling of physical GSM channels, data transmission functions at the protocol level and the provision of the bursts customary in the GSM standard. formats.

Prinzipiell ist es möglich, den Controller 2 ohne Betriebssystem zu betreiben. Da ein solches Anwendungsprogramm einen zu großen Speicherplatzbedarf benötigt, werden RTOS als Betriebssysteme verwendet. Ein RTOS stellt eine begrenzte Anzahl von Prozessen und Systemaufrufen zur Verfügung, welche von den Anwendungsprogrammen genutzt werden. Durch die Prozesse wird die CPU-Zeit zugewiesen. Beispiele für (RTOS-)Prozesse sind Interrupt-Prozesse (Hardware-Interrupt oder in Reaktion auf eine Software-Bedingung), Timer-Interrupt-Prozesse, Hintergrund-Prozesse, welche mit niedrigster Priorität ununterbrochen abgearbeitet werden und Prozesse, denen eine gewünschte Priorität zugeordnet werden kann. In principle, it is possible to operate controller 2 without an operating system. Since such an application program requires too much memory space, RTOS are used as operating systems. An RTOS provides a limited number of processes and system calls, which are used by the application programs. The CPU time is assigned by the processes. Examples of (RTOS) processes are interrupt processes (hardware interrupt or in response to a software condition), timer interrupt processes, background processes which are processed continuously with the lowest priority and processes which are assigned a desired priority can be.

Die Kommunikation zwischen Prozessen wird über sogenannte Messages (Mitteilungen) und Semaphoren (Ampeln) abgewickelt. Messages ermöglichen einen umfassenden Datenaustausch zwischen unterschiedlichen Prozessen, während Semaphoren schnellere aber weniger flexible Interaktivitäten zwischen Prozessen zulassen. Communication between processes is via so-called Messages and semaphores (traffic lights). Messages enable extensive data exchange between different processes, during semaphores faster but less flexible interactions between Allow processes.

Die Abarbeitung eines Anwendungsprogramms bei Vorhandensein eines RTOS erfolgt in der Weise, dass bei Abarbeitung der Tasks des Anwendungsprogramms auf die von dem RTOS zur Verfügung gestellten Prozesse und Systemaufrufe zurückgegriffen wird. Diese RTOS-Programmfunktionen müssen daher (in Maschinencode) im internen RAM-Speicherbereich 18a des Basisband- Chips 1 oder im IRAN 18b des Controllers 2 ständig verfügbar gehalten werden. Bei konventionellen Systemen werden daher diese als Kernel bezeichneten Teile des RTOS von einem externen Speicher in den internen RAM-Speicherbereich 18a oder IRAM 18b geladen und verbleiben dort über die gesamte Betriebsdauer des Basisband-Chips 1. An application program is processed when an RTOS is present in such a way that the processes and system calls made available by the RTOS are used when the tasks of the application program are being processed. These RTOS program functions must therefore be kept permanently (in machine code) in the internal RAM memory area 18 a of the baseband chip 1 or in the IRAN 18 b of the controller 2 . In conventional systems, these parts of the RTOS referred to as kernels are therefore loaded from external memory into the internal RAM memory area 18 a or IRAM 18 b and remain there for the entire operating time of the baseband chip 1 .

Im Gegensatz dazu ist bei dem erfindungsgemäßen Basisband- Chip 1 der Kernel des RTOS permanent auf dem Basisband-Chip 1 implementiert. In contrast to this, the kernel of the RTOS is permanently implemented on the baseband chip 1 in the baseband chip 1 according to the invention.

Nach einer ersten bevorzugten Ausführungsvariante ist der Kernel des RTOS in dem internen ROM-Speicher 20 abgelegt. D. h., physikalisch enthält die ROM-Maske den vom Kernel umfassten Maschinencode des RTOS. Maschinencode der abzuarbeitenden Anwendungsprogramme wird in üblicher Weise je nach Bedarf in den internen Speicherbereich RAM 18a bzw. IRAM 18b geladen und wieder ausgelagert. According to a first preferred embodiment variant, the kernel of the RTOS is stored in the internal ROM memory 20 . In other words, the ROM mask physically contains the machine code of the RTOS encompassed by the kernel. Machine code of the application programs to be processed is loaded in the usual way into the internal memory area RAM 18 a or IRAM 18 b and swapped out again as required.

Gegenüber der konventionellen Lösung ist vorteilhaft, dass der nichtflüchtige ROM-Speicher 20 eine geringere Fläche als ein flüchtiger RAM-Speicher entsprechender Speichergröße benötigt. Die benötigte Speicherkapazität des ROM-Speichers 20 liegt typischerweise im Bereich von 40-80 kByte. Compared to the conventional solution, it is advantageous that the non-volatile ROM memory 20 requires a smaller area than a volatile RAM memory of corresponding memory size. The required storage capacity of the ROM memory 20 is typically in the range of 40-80 kbytes.

Das für den erfindungsgemäßen Chip 1 benötigte Anwendungsprogramm unterscheidet sich lediglich dadurch von dem bei konventionellen Chips eingesetzten Anwendungsprogramm mit eingebundenen RTOS, dass das Einbinden des RTOS entfällt. The application program required for the chip 1 according to the invention differs from the application program used with conventional chips with integrated RTOS only in that the RTOS is not integrated.

Alternativ zu einem unmittelbar Maschinencode verarbeitenden Controller 2 kann dieser auch als Nano-Code-Implementierung realisiert sein. In diesem Fall werden Maschinencodesequenzen des RTOS (abrufbar aus dem ROM 20) und des Anwendungsprogramms (abrufbar aus dem RAM 18a/IRAM 18b) durch einen internen Dekodierer des Controllers 2 zunächst in Nano-Code aufgelöst und dieser Nano-Code wird dann von dem Controller 2 verarbeitet, d. h. in physikalische Signale umgesetzt. As an alternative to a controller 2 that processes machine code directly, this can also be implemented as a nano-code implementation. In this case, machine code sequences of the RTOS (retrievable from ROM 20 ) and the application program (retrievable from RAM 18 a / IRAM 18 b) are first resolved into nano-code by an internal decoder of controller 2 and this nano-code is then used by processed the controller 2 , ie converted into physical signals.

Bei einer zweiten Ausführungsvariante der Erfindung ist zumindest ein Teil der dem Kernel des RTOS zugeordneten Funktionalität in Form eines Hardware-Zustandsautomaten auf dem Basisband-Chip 1 implementiert. In a second embodiment variant of the invention, at least part of the functionality assigned to the kernel of the RTOS is implemented in the form of a hardware state machine on the baseband chip 1 .

Die Struktur eines solchen Hardware-Zustandsautomaten 200 ist in Fig. 2 dargestellt. Der Hardware-Zustandsautomat 200 kann anstelle der Struktur 20 oder in Kombination mit dem ROM- Speicher 20 implementiert sein, wobei im letzteren Fall die Speichergröße des ROM-Speichers 20 reduziert werden kann. The structure of such a hardware state machine 200 is shown in FIG. 2. The hardware state machine 200 can be implemented instead of the structure 20 or in combination with the ROM memory 20 , in which case the memory size of the ROM memory 20 can be reduced.

Der Hardware-Zustandsautomat 200 umfasst einen Task-Buffer 201, welcher in Form eines RAM-Stapelspeichers ausgeführt ist. Die Speicherbreite des Task-Buffers 201 ist in zwei Abschnitte 201a und 201b unterteilt. Der Abschnitt 201a ist zum Eintrag von Task-Informationen vorgesehen, während in dem benachbarten Abschnitt 201b die der Task-Information zugeordnete Prioritätsinformation eingetragen wird. Die Speicherbreite des Abschnitts 201a kann beispielsweise 4 Byte und die Speicherbreite des Abschnitts 201b kann 1 Byte betragen. Die Stapelanzahl des Task-Buffers 201 beträgt beispielsweise 256. The hardware state machine 200 comprises a task buffer 201 , which is designed in the form of a RAM stack. The memory width of the task buffer 201 is divided into two sections 201 a and 201 b. Section 201 a is provided for the entry of task information, while the priority information associated with the task information is entered in the adjacent section 201 b. The memory width of section 201 a can be, for example, 4 bytes and the memory width of section 201 b can be 1 byte. The stack number of the task buffer 201 is 256, for example.

Der Task-Buffer 201 verfügt vorzugsweise über 2 Ports, d. h. über einen Eingang 202 und einen Ausgang 203. Der Eingang 202 weist mit vorgegebener Adresse stets auf das gleiche unterste Speicherwort, während der Ausgang 203 über einen Zeiger jeweils auf das oberste gefüllte Speicherwort gerichtet ist (gefüllte Speicherwörter des Task-Buffers 201 sind in Fig. 2 schraffiert dargestellt). The task buffer 201 preferably has two ports, ie an input 202 and an output 203 . The input 202 always points to the same lowermost memory word with a given address, while the output 203 is directed via a pointer to the uppermost filled memory word (filled memory words of the task buffer 201 are shown hatched in FIG. 2).

Bei der Abarbeitung des Anwendungsprogramms werden die aktuell zu verarbeitenden Tasks über den Eingang 202 nacheinander in den Task-Buffer 201 eingetragen. In Art eines FIFO- Speichers werden dabei die Tasks (Task-Informationen plus Prioritätsinformationen) im Stapelspeicher "nach oben" verschoben. Gleichzeitig wird beim Eintrag eines neuen Tasks der Zeiger für den Ausgang 203 inkrementiert, so dass Letzterer stets auf den obersten Task zeigt. Der Zeiger kann beispielsweise als Zähler (nicht dargestellt) ausgeführt sein. When the application program is being processed, the tasks currently to be processed are successively entered into the task buffer 201 via the input 202 . In the manner of a FIFO memory, the tasks (task information plus priority information) are shifted "up" in the stack. At the same time, when a new task is entered, the pointer for output 203 is incremented, so that the latter always points to the uppermost task. The pointer can, for example, be designed as a counter (not shown).

Für die Abarbeitung der Tasks wird der Task-Buffer 201 über den Ausgang 203 ausgelesen. Nach dem Auslesen eines Tasks wird der Zeiger dekrementiert, so dass er weiterhin auf den "obersten" Task gerichtet bleibt. Die Task-Information sowie die Prioritätsinformation wird über die in Fig. 2 dargestellten Datenleitungen dem Controller 2 zur Abarbeitung zugeleitet. To process the tasks, the task buffer 201 is read out via the output 203 . After reading out a task, the pointer is decremented so that it remains directed at the "top" task. The task information and the priority information are fed to the controller 2 for processing via the data lines shown in FIG. 2.

Durch den Task-Buffer 201 wird die RTOS-Verwaltungsfunktionalität des "Stapelns" von Task-Informationen und Prioritätsinformationen in Hardware realisiert. Diese Funktionalität entspricht der folgenden C-Funktion eines RTOS:


The RTOS management functionality of “stacking” task information and priority information in hardware is implemented by the task buffer 201 . This functionality corresponds to the following C function of an RTOS:


Die obige C-Funktion deklariert eine C-Struktur und definiert die Variable stRTVar. Die Variable stRTVar umfasst die Definition des Abschnitts 201a des Task-Buffers 201 mit der Breite uword und Höhe MAXTASK, die Definition des Abschnitts 201b mit der Breite ubyte und mit der Höhe MAXTASK, und des Zeigers (TaskBufferIndex). Z. B. wird MAXTASK = 256, uword = 32 Bit und ubyte = 8 Bit gewählt. In der untersten Programmzeile wird der Zeiger zunächst auf NULL gesetzt. The above C function declares a C structure and defines the variable stRTVar. The variable stRTVar includes the definition of section 201 a of task buffer 201 with the width uword and height MAXTASK, the definition of section 201 b with the width ubyte and height MAXTASK, and the pointer (TaskBufferIndex). For example, MAXTASK = 256, uword = 32 bits and ubyte = 8 bits are selected. In the bottom program line, the pointer is initially set to NULL.

Die Auslegung des Task-Buffers 201 mit der Höhe MAXTASK = 256 ist auf den TriCore-Chip zugeschnitten, da dessen Interrupt- System eine maximale Anzahl von 256 Prioritätsstufen verarbeiten kann. Die Stapelbreite von insgesamt 5 Byte entspricht allerdings nicht dem Datenformat des Befehlssatzes in dem TriCore-Chip, so dass eine Verbreiterung auf 6 oder 8 Byte oder eine Reduzierung auf 4 Byte bei diesem Chip effizienter ist. The design of the task buffer 201 with the height MAXTASK = 256 is tailored to the TriCore chip, since its interrupt system can process a maximum number of 256 priority levels. However, the total stack width of 5 bytes does not correspond to the data format of the instruction set in the TriCore chip, so that a widening to 6 or 8 bytes or a reduction to 4 bytes is more efficient with this chip.

Der Hardware-Zustandsautomat 200 kann ferner einen Sortier- Datenpfad 204 aufweisen. Der Sortier-Datenpfad 204 führt eine automatische Umsortierung sämtlicher Tasks (Task-Informationen plus Prioritätsinformationen) durch, sobald ein neuer Task über den Eingang 202 in den Task-Buffer 201 eingetragen wird. The hardware state machine 200 can also have a sorting data path 204 . The sorting data path 204 automatically re-sorts all tasks (task information plus priority information) as soon as a new task is entered into the task buffer 201 via the input 202 .

Die Funktionalität des Sortier-Datenpfads 204 entspricht den folgenden C-Funktionen:
vINIT_TASK_BUFFER: initialisiert den Task-Buffer 200 und setzt die RT- Verwaltungssteuerung in den Leerlaufzustand ("idle mode")
swADD_TASK_2_BUFFER: trägt einen neuen Task in den Task-Buffer 200 ein
vSORT_TASK_BUFFER: vergleicht die Prioritätsinformation von 2 Tasks miteinander und entscheidet bei jedem Vergleich, ob ein Positionswechsel aktiviert werden soll oder nicht
vSWAP_POSITION: führt einen Positionswechsel durch
The functionality of the sort data path 204 corresponds to the following C functions:
vINIT_TASK_BUFFER: initializes the task buffer 200 and sets the RT management control to the idle state ("idle mode")
swADD_TASK_2_BUFFER: enters a new task in the task buffer 200
vSORT_TASK_BUFFER: compares the priority information of 2 tasks and decides with each comparison whether a change of position should be activated or not
vSWAP_POSITION: performs a change of position

Durch die C-Funktion swADD_TASK_2_BUFFER wird ferner ein Überlaufen des Task-Buffers 201 überwacht und gegebenenfalls durch eine Fehlermeldung angezeigt, und durch vSORT_TASK_BUFFER wird ferner die Zeigerposition nach Vornahme eines Positionswechsels aktualisiert. The C function swADD_TASK_2_BUFFER also monitors overflow of the task buffer 201 and, if appropriate, indicates this by an error message, and the pointer position is also updated by vSORT_TASK_BUFFER after a change of position has been carried out.

Der Sortier-Datenpfad 204 implementiert die C-Funktion vSORT_TASK_BUFFER in Hardware. Die Aktivierung des Sortier- Datenpfads 204 erfolgt ohne Mitwirkung des Controllers 2 immer dann, wenn ein neuer Task-Datensatz in den Task-Buffer 201 eingetragen wird. Sort data path 204 implements the C function vSORT_TASK_BUFFER in hardware. The sorting data path 204 is activated without the involvement of the controller 2 whenever a new task data record is entered in the task buffer 201 .

Die Struktur des Hardware-Zustandsautomaten 200 hängt in der Praxis auch von dem Aufbau und den Fähigkeiten des zugrundeliegenden Basisband-Chips 1 ab, und zwar insbesondere von dessen Interrupt-System und seinem Context-Switching Management. In practice, the structure of the hardware state machine 200 also depends on the structure and capabilities of the underlying baseband chip 1 , in particular on its interrupt system and its context switching management.

Das folgende Beispiel erläutert die Verwendung des Interrupt- Systems des TriCore-Chips durch eine erfindungsgemäße RTOS on-Chip Implementierung anhand der Verwendung der Funktion swMCU_RT_PROCESSING. CPUSRC0/1/2/3 (CPU Service Request Control) bezeichnen die vier im TriCore verfügbaren Register, deren Aufgabe es ist, CPU-Interrupts zu verwalten. Mit ihrer Hilfe werden den Task-Prioritäten entsprechende CPU-Prioritäten zugewiesen. Die Möglichkeit, diese (bereits vorhandenen) Register zur Verwaltung der Task-Prioritäten zu nutzen, bildet einen spezifischen Vorteil der TriCore Architektur für die vorliegende Erfindung.





The following example explains the use of the interrupt system of the TriCore chip by means of an RTOS on-chip implementation according to the invention using the swMCU_RT_PROCESSING function. CPUSRC0 / 1/2/3 (CPU Service Request Control) designate the four registers available in the TriCore, whose task is to manage CPU interrupts. With their help, corresponding CPU priorities are assigned to the task priorities. The ability to use these (already existing) registers to manage the task priorities is a specific advantage of the TriCore architecture for the present invention.





Die C-Funktion swMCU_RT_PROCESSING greift im vollen Umfang auf das TriCore-Interrupt-System zurück. Folgende Schritte werden durchgeführt.

  • 1. Sämtliche Interrupts werden deaktiviert.
  • 2. Der Task mit der höchsten Prioritätsinformation wird mit SRPN = 255 (SRPN: Service Request Priority Number) in das TriCore-Register CPUSRCO eingetragen und nachfolgend wird der entsprechende Software-Interrupt über Software ausgelöst.
  • 3. Der Task mit der zweit höchsten Prioritätsinformation erhält SRPN = 254, wird in das TriCore-Register CPUSRC1 eingetragen und der (Software-)Interrupt wird anschließend ausgelöst.
  • 4. Mit den beiden folgenden Tasks wird in derselben Weise unter Verwendung der verbleibenden zwei TriCore-Register CPUSRC2 und CPUSRC3 verfahren.
  • 5. Nachdem die Verwaltungssteuerung in den Leerlaufmodus zurückgekehrt ist (der Wert 1 wird in das Bit-Feld CCPN (Current CPU Priority Number) des Core-Registers ICR (Interrupt Control Register) des TriCore-Chip geschrieben), werden die Interrupts aktiviert, wodurch die Ausführung der ersten vier Tasks unter Wahrung ihres oberen und unteren Kontextes initiiert wird (die TriCore Architektur bietet die Möglichkeit, separat den unteren und/oder oberen Teil der Registerbank auszulagern).
  • 6. Dieser Prozess wird solange weitergeführt, bis alle Tasks abgearbeitet sind.
The C function swMCU_RT_PROCESSING makes full use of the TriCore interrupt system. The following steps are carried out.
  • 1. All interrupts are deactivated.
  • 2. The task with the highest priority information is entered in the TriCore register CPUSRCO with SRPN = 255 (SRPN: Service Request Priority Number) and then the corresponding software interrupt is triggered via software.
  • 3. The task with the second highest priority information receives SRPN = 254, is entered in the TriCore register CPUSRC1 and the (software) interrupt is then triggered.
  • 4. The following two tasks are carried out in the same way using the remaining two TriCore registers CPUSRC2 and CPUSRC3.
  • 5. After the management control returns to the idle mode (the value 1 is written in the bit field CCPN (Current CPU Priority Number) of the core register ICR (Interrupt Control Register) of the TriCore chip), the interrupts are activated, whereby the execution of the first four tasks is initiated while maintaining their upper and lower context (the TriCore architecture offers the option of outsourcing the lower and / or upper part of the register bank separately).
  • 6. This process continues until all tasks have been processed.

Tasks, die zwischenzeitlich in den Task-Buffer 201 eingetragen wurden, werden in Abhhängigkeit von ihrer Prioritätsinformation umsortiert und dann in gleicher Weise prozessiert. Tasks that have been entered in the task buffer 201 in the meantime are sorted according to their priority information and then processed in the same way.

Für die Aktivierung bzw. Deaktivierung der durch die Funktion swMCU_RT_PROCESSING beschriebenen TriCore-Funktionalität ist in dem Hardware-Zustandsautomaten 200 ein Steuerregister 205 vorgesehen. Das Steuerregister 205 umfasst zumindest einen Speicherplatz für ein Start-/Stop-Bit. Durch einen 1/0 Wechsel dieses Start-/Stop-Bits wird der bereits beschriebene prioritätsorientierte RT-Verwaltungsprozess in dem Hardware- Zustandsautomaten 200 gestartet bzw. beendet. A control register 205 is provided in the hardware state machine 200 for the activation or deactivation of the tri-core functionality described by the swMCU_RT_PROCESSING function. The control register 205 includes at least one memory location for a start / stop bit. The priority-oriented RT management process already described is started or ended in the hardware state machine 200 by a 1/0 change of this start / stop bit.

Zur Steuerung einer Interaktivität zwischen Prozessen des RTOS können ferner Bit-Register 207 als Hardware-Semaphoren im Hardware-Zustandsautomaten 200 vorgesehen sein. To control interactivity between processes of the RTOS, bit registers 207 can also be provided as hardware semaphores in the hardware state machine 200 .

Aufgrund des umfassenden Interrupt-Systems im TriCore-Chip und der Möglichkeit, bestimmte Bitmuster in die Core-Register CPUSRC0/1/2/3 des TriCore-Chip einzutragen, werden ausser der in Fig. 2 dargestellten Hardware für eine prioritätsorientierte RT-Task-Verwaltung im TriCore-Chip keine weiteren zusätzlichen Hardware-Komponenten benötigt. Due to the comprehensive interrupt system in the TriCore chip and the possibility of entering certain bit patterns in the core registers CPUSRC0 / 1/2/3 of the TriCore chip, in addition to the hardware shown in FIG. 2, a priority-oriented RT task Management in the TriCore chip requires no additional hardware components.

Eine weitere Möglichkeit besteht darin, neben oder anstelle der prioritätsorientierten RT-Task-Verwaltung eine zeitorientierte RT-Task-Verwaltung vorzusehen. In diesem Fall umfasst der Hardware-Zustandsautomat 200 einen zusätzlichen Timer 206. Die Ablaufsteuerung (d. h. die Steuerung des Zeigers 203) erfolgt nun über den Timer 206 nach einem bestimmten Zeitschlitzschema, wobei die Prioritätsinformation ignoriert wird. Der Timer 206 teilt jedem abzuarbeitenden Task einen bestimmten Zeitschlitz zu, in welchem dieser für die Dauer des Zeitschlitzes prozessiert, am Ende des Zeitschlitzes ausgesetzt und später, beim nächsten Auftreten dieses Zeitschlitzes, weitergeführt wird. Auf diese Weise können mehrere Tasks in einem gleichen Zeitraum auf ihrem "virtuellen Prozessor" parallel prozessiert werden. Another possibility is to provide a time-oriented RT task management in addition to or instead of the priority-oriented RT task management. In this case, the hardware state machine 200 includes an additional timer 206 . The sequence control (ie the control of the pointer 203 ) is now carried out via the timer 206 in accordance with a specific time slot scheme, the priority information being ignored. The timer 206 assigns each task to be processed a specific time slot, in which it processes for the duration of the time slot, is suspended at the end of the time slot and is continued later when this time slot occurs again. In this way, several tasks can be processed in parallel on their "virtual processor" in a same period of time.

Bei Vorsehen eines Timers 206 können die prioritätsorientierte und die zeitorientierte RT-Task-Verwaltungen auch in geeigneter Weise kombiniert genutzt werden, wodurch sowohl Prioritäts- als auch Zeitinformation bei der Verwaltung der Tasks berücksichtigt wird. If a timer 206 is provided , the priority-oriented and time-oriented RT task administrations can also be used in a suitable manner in combination, as a result of which both priority and time information are taken into account when managing the tasks.

Je nach Basisband-Chip 1 und dessen Interrupt-Fähigkeit kann der Hardware-Zustandsautomat 200 weitere Datenpfade, Register, Timer usw. umfassen. Darüber hinaus sind vielfältige Varianten der vorstehend beschriebenen RT-Verwaltung der Tasks möglich. Beispielsweise kann vorgesehen sein, die Ausführung von Tasks durch externe Interrupts oder sogar externe Interrupt-Gruppen zu unterbrechen ("preemptive RT-scheduling"). Dies kann beispielsweise dadurch erreicht werden, dass die im Task-Buffer 201 zur Ausführung anstehenden Tasks nicht an die höchsten Speicherplätzen bzw. Interrupt-Stufen gesetzt werden sondern stattdessen tiefer liegende Interrupt- Stufen gewählt werden (z. B. SRPN = 200, 199, 198, 197 für die vier zur Ausführung anstehenden Tasks statt SRPN = 255, 254, 253, 252). Depending on the baseband chip 1 and its interrupt capability, the hardware state machine 200 can include further data paths, registers, timers etc. In addition, various variants of the RT management of the tasks described above are possible. For example, provision can be made to interrupt the execution of tasks by external interrupts or even external interrupt groups ("preemptive RT scheduling"). This can be achieved, for example, by not setting the tasks to be executed in the task buffer 201 to the highest storage locations or interrupt levels, but instead choosing lower interrupt levels (e.g. SRPN = 200, 199, 198, 197 for the four tasks to be executed instead of SRPN = 255, 254, 253, 252).

Ein externer Interrupt kann beispielsweise durch eine Anforderung für einen SIM-Card-Datentransfer ausgelöst werden, welcher eine sofortige Reaktion des Controllers 2 erforderlich macht. An external interrupt can be triggered, for example, by a request for a SIM card data transfer, which requires the controller 2 to react immediately.

Claims (17)

1. Basisband-Chip für Mobilfunksysteme, welcher mindestens einen ein Echtzeit-Betriebssystem (RTOS) nutzenden Controller (2) und einen digitalen Signalprozessor (4) beinhaltet, dadurch gekennzeichnet, dass die dem Kernel des Echtzeit-Betriebssystems (RTOS) zugeordnete Funktionalität oder zumindest ein Teil derselben permanent auf dem Basisband-Chip (1) implementiert ist. 1. baseband chip for mobile radio systems, which contains at least one controller ( 2 ) using a real-time operating system (RTOS) and a digital signal processor ( 4 ), characterized in that the functionality assigned to the kernel of the real-time operating system (RTOS) or at least a part of it is permanently implemented on the baseband chip ( 1 ). 2. Basisband-Chip für Mobilfunksysteme nach Anspruch 1, dadurch gekennzeichnet, dass der Kernel des Echtzeit-Betriebssystems (RTOS) zumindest teilweise in einem nichtflüchtigen Speicher (20) auf dem Basisband-Chip (1) gespeichert ist. 2. Baseband chip for mobile radio systems according to claim 1, characterized in that the kernel of the real-time operating system (RTOS) is at least partially stored in a non-volatile memory ( 20 ) on the baseband chip ( 1 ). 3. Basisband-Chip für Mobilfunksysteme nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Basisband-Chip (2) eine Nano-Code-Implementierung ist. 3. baseband chip for mobile radio systems according to claim 1 or 2, characterized in that the baseband chip ( 2 ) is a nano-code implementation. 4. Basisband-Chip für Mobilfunksysteme nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest ein Teil der dem Kernel des Echtzeit-Betriebssystems zugeordneten Funktionalität in Form eines Hardware- Zustandsautomaten (200) auf dem Basisband-Chip (1) implementiert ist. 4. Baseband chip for mobile radio systems according to one of the preceding claims, characterized in that at least part of the functionality assigned to the kernel of the real-time operating system is implemented in the form of a hardware state machine ( 200 ) on the baseband chip ( 1 ). 5. Basisband-Chip für Mobilfunksysteme nach Anspruch 4, dadurch gekennzeichnet, dass der Hardware-Zustandsautomat (200) einen Task-Buffer (201) zur Speicherung von Taskinformationen und den Tasks zugeordneten Prioritätsinformationen umfasst. 5. baseband chip for mobile radio systems according to claim 4, characterized in that the hardware state machine ( 200 ) comprises a task buffer ( 201 ) for storing task information and priority information associated with the tasks. 6. Basisband-Chip für Mobilfunksysteme nach Anspruch 5, dadurch gekennzeichnet, dass der Task-Buffer (201) mit zwei Ports (202, 203) ausgeführt ist. 6. baseband chip for mobile radio systems according to claim 5, characterized in that the task buffer ( 201 ) with two ports ( 202 , 203 ) is executed. 7. Basisband-Chip für Mobilfunksysteme nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass ein Task-Buffer-Zeiger (203) als Hardware-Zähler implementiert ist, der bei Eintrag einer neuen Taskinformation inkrementiert und bei Auslesen einer Taskinformation zur Abarbeitung derselben dekrementiert wird. 7. baseband chip for mobile radio systems according to claim 5 or 6, characterized in that a task buffer pointer ( 203 ) is implemented as a hardware counter, which is incremented when new task information is entered and is decremented when processing task information for processing the same , 8. Basisband-Chip für Mobilfunksysteme nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass der Hardware-Zustandsautomat (200) eine Sortierschaltung (204) umfasst, welche ausgelegt ist, die in dem Task-Buffer (201) enthaltenen Task- und Prioritätsinformationen gemäß den Prioritätsinformationen umzusortieren. 8. baseband chip for mobile radio systems according to one of claims 5 to 7, characterized in that the hardware state machine ( 200 ) comprises a sorting circuit ( 204 ) which is designed, the task and contained in the task buffer ( 201 ) Reorder priority information according to the priority information. 9. Basisband-Chip für Mobilfunkanwendungen nach Anspruch 8, dadurch gekennzeichnet, dass der Hardware-Zustandsautomat (200) ein Ein- oder Mehrbit-Steuerregister (205) zum Aktivieren und Deaktivieren der Sortierschaltung (204) umfasst. 9. baseband chip for mobile radio applications according to claim 8, characterized in that the hardware state machine ( 200 ) comprises a single or multi-bit control register ( 205 ) for activating and deactivating the sorting circuit ( 204 ). 10. Basisband-Chip für Mobilfunksysteme nach Anspruch 9, dadurch gekennzeichnet, dass die Sortierschaltung (204) nicht seitens Anwendungsprogrammen beeinflussbar oder programmierbar ist. 10. baseband chip for mobile radio systems according to claim 9, characterized in that the sorting circuit ( 204 ) can not be influenced or programmed by application programs. 11. Basisband-Chip für Mobilfunksysteme nach einem der Ansprüche 5 bis 10, dadurch gekennzeichnet, dass der Hardware-Zustandsautomat (200) Bitregister (207) aufweist, welche Hardware-Semaphoren realisieren. 11. baseband chip for mobile radio systems according to one of claims 5 to 10, characterized in that the hardware state machine ( 200 ) has bit registers ( 207 ) which implement hardware semaphores. 12. Basisband-Chip für Mobilfunksysteme nach einem der Ansprüche 5 bis 11, dadurch gekennzeichnet, dass der Hardware-Zustandsautomat (200) einen Zeitgeber (206) aufweist, welcher zur Steuerung einer zeitlich ineinandergreifenden Abarbeitung mehrerer Tasks ausgelegt ist. 12. baseband chip for mobile radio systems according to one of claims 5 to 11, characterized in that the hardware state machine ( 200 ) has a timer ( 206 ) which is designed to control the processing of several tasks that interlock with one another in time. 13. Basisband-Chip für Mobilfunkanwendungen nach Anspruch 12, dadurch gekennzeichnet, dass der Controller (2) der TriCore-Chip der Firma Infineon ist. 13. Baseband chip for mobile radio applications according to claim 12, characterized in that the controller ( 2 ) is the TriCore chip from Infineon. 14. Verfahren zum Betreiben eines Basisband-Chips für Mobilfunksysteme, welcher mindestens einen ein Echtzeit- Betriebssystem (RTOS) nutzenden Controller (2) und einen digitalen Signalprozessor (4) beinhaltet, dadurch gekennzeichnet dass bei der Abarbeitung von Anwendungsprogrammen die dem Kernel des Echtzeit-Betriebssystems (RTOS) zugeordnete Funktionalität zumindest teilweise von einem auf dem Basisband- Chip (1) lokalisierten nichtflüchtigen Speicher (20) bezogen wird. 14. Method for operating a baseband chip for mobile radio systems, which contains at least one controller ( 2 ) using a real-time operating system (RTOS) and a digital signal processor ( 4 ), characterized in that when processing application programs the kernel of the real-time Functionality assigned to the operating system (RTOS) is at least partially obtained from a non-volatile memory ( 20 ) located on the baseband chip ( 1 ). 15. Verfahren zum Betreiben eines Basisband-Chips für Mobilfunksysteme, welcher mindestens einen ein Echtzeit-Betriebssystem (RTOS) nutzenden Controller (2) und einen digitalen Signalprozessor (4) beinhaltet, dadurch gekennzeichnet dass bei der Abarbeitung von Anwendungsprogrammen ein auf dem Basisband-Chip (1) angeordneter Hardware-Zustandsautomat (200) Funktionen ausführt, welche zumindest teilweise der Funktionalität eines Echtzeit-Betriebssystems (RTOS) entsprechen. 15. A method for operating a baseband chip for mobile radio systems, which contains at least one controller ( 2 ) using a real-time operating system (RTOS) and a digital signal processor ( 4 ), characterized in that when processing application programs, one on the baseband chip ( 1 ) arranged hardware state machine ( 200 ) performs functions which at least partially correspond to the functionality of a real-time operating system (RTOS). 16. Verfahren nach Anspruch 15, dadurch gekennzeichnet dass eine Funktion ausgeführt wird, welche eine Sortierung von Taskinformationen und Prioritätsinformationen in Abhängigkeit von den den Taskinformationen zugeordneten Prioritätsinformationen vornimmt. 16. The method according to claim 15, characterized that a function is executed which is a sort of task information and priority information in Dependence on the assigned to the task information Priority information. 17. Verfahren nach Anspruch 15 oder 16, dadurch gekennzeichnet dass eine Funktion ausgeführt wird, welche eine Steuerung einer zeitlich ineinandergreifenden Abarbeitung mehrerer Tasks vornimmt. 17. The method according to claim 15 or 16, characterized that a function is executed which is a controller a temporally interlinked processing of several tasks performs.
DE2001158774 2001-11-30 2001-11-30 Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip Ceased DE10158774A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE2001158774 DE10158774A1 (en) 2001-11-30 2001-11-30 Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip
PCT/DE2002/004272 WO2003048965A2 (en) 2001-11-30 2002-11-20 Baseband chip having an integrated real-time operating system functionality and method for operating a baseband chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001158774 DE10158774A1 (en) 2001-11-30 2001-11-30 Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip

Publications (1)

Publication Number Publication Date
DE10158774A1 true DE10158774A1 (en) 2003-06-18

Family

ID=7707518

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001158774 Ceased DE10158774A1 (en) 2001-11-30 2001-11-30 Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip

Country Status (2)

Country Link
DE (1) DE10158774A1 (en)
WO (1) WO2003048965A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106470175B (en) * 2015-08-20 2019-10-18 深圳市中兴微电子技术有限公司 A kind of baseband chip and signal processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923761A (en) * 1996-05-24 1999-07-13 Lsi Logic Corporation Single chip solution for multimedia GSM mobile station systems
US6029000A (en) * 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994015287A2 (en) * 1992-12-23 1994-07-07 Centre Electronique Horloger S.A. Multi-tasking low-power controller
CN100388262C (en) * 1999-10-26 2008-05-14 西门子能量及自动化公司 Re-programmable flash memory micro controller as programmable logic controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923761A (en) * 1996-05-24 1999-07-13 Lsi Logic Corporation Single chip solution for multimedia GSM mobile station systems
US6029000A (en) * 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker

Also Published As

Publication number Publication date
WO2003048965A2 (en) 2003-06-12
WO2003048965A3 (en) 2004-07-22

Similar Documents

Publication Publication Date Title
DE2756768C2 (en) microprocessor
DE4205524C2 (en) Programmable logic controller
DE4215063C2 (en) Device and method for changing pages in a non-volatile memory
DE2854485C2 (en) Data processing system
DE2422802A1 (en) DATA PROCESSING SYSTEM
EP1329816A2 (en) Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like)
DE2801563C2 (en)
CH620779A5 (en)
DE19750662A1 (en) Processor for electronic control system in automobile
EP0333123A2 (en) Modulary structured ISDN communication system
DE1449532B2 (en) Data processing system
DE102013113262B4 (en) trigger routing unit
EP0006164A1 (en) Multiprocessor system with jointly usable storages
DE2944419A1 (en) DIGITAL COMPUTER SYSTEM
DE19842254A1 (en) Data processing unit for controlling operations of functional units in systems
EP0185260B1 (en) Interface for direct information transfer
EP0632668A2 (en) Method for updating a system program in an exchange
DE4429764C2 (en) Timer device for a microcomputer
DE60104848T2 (en) PROGRAMMABLE SINGLE CHIP DEVICE AND CORRESPONDING DEVELOPMENT ENVIRONMENT
DE2539929A1 (en) COMPUTER SYSTEM WITH BUS STRUCTURE
DE10158774A1 (en) Baseband chip with integrated real-time operating system functionality and method for operating a baseband chip
WO2005002145A1 (en) Assembly and method for managing a memory
DE2610428A1 (en) ARRANGEMENT FOR THE CONTROL OF THE INTERMEDIATE STORAGE OF BETWEEN TWO FUNCTIONAL UNITS TO BE TRANSFERRED IN A BUFFER MEMORY
EP1308846B1 (en) Data Transfer Device
DE2756767C2 (en) Microprocessor on a semiconductor chip

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection