Cellular modem processing

A cellular mobile station including a modem processor and memory. The memory includes instructions for the modem processor to perform layer 1 processor operations, layer 2 processor operations, and layer 3 processor operations. The modem processor executes the instructions to perform processor operations for the cellular mobile station to communication data as per a cellular communications protocol. In one example, the mobile station includes different levels of memory to provide different deterministic access times.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates in general to a cellular mobile station and in particular to cellular modem processing in a cellular mobile station.

2. Description of the Related Art

Cellular mobile stations such as e.g. cellular phones and wireless PDA's typically include modem circuitry for performing modem operations for cellular communications. These operations typically are classified by communications protocol layers. Examples of communication protocol layers include a physical layer, a data layer, and layers above the data layer such as (with the Open Systems Interconnect (OSI) model) a network layer, a transportation layer, a session layer, a presentation layer, and an application layer.

Cellular mobile stations typically perform the modem operations of these different layers with multiple processors. For example, one processor may perform modem operations of the physical layer and/or data layer and another processor may perform modem operations of higher layers. In one example, a cellular mobile station uses a digital signal processor for the physical layer operations and a microcontroller unit processor for the higher layer operations.

What is desired is an improved cellular mobile station.

The use of the same reference symbols in different drawings indicates identical items unless otherwise noted.

DETAILED DESCRIPTION

FIG. 1is a block diagram of a cellular mobile station according to the present invention. Mobile station101may be e.g. any one of a cellular phone, wireless PDA, or wireless modem. Mobile station101includes an antenna105for transmitting and receiving wireless signals as per a cellular communications protocol. Antenna105is coupled to RF interface107which is coupled to analog to digital (A/D) and digital to analog (D/A) circuitry109. In the embodiment ofFIG. 1, mobile station101includes an integrated circuit103having both a microcontroller unit (MCU) processor145and a digital signal processor (DSP)127. In the embodiment shown, MCU processor145is utilized to perform applications of the mobile station101such as e.g. games, video, and word processing applications.

DSP127is utilized in mobile station101as a cellular modem processor. DSP127is utilized to perform modem operations that enable station101to communicate encoded data (e.g. voice and/or information) over a cellular phone network as per a cellular communications protocol. As will be explained later, DSP127can perform processor modem operations of layer1(physical layer), layer2(data layer), and layer3of a cellular communication protocol (SeeFIG. 2).

Cellular mobile station101includes a control interface113, an RF I/Q data interface115, and a layer1(L1) timer117coupled to DSP bus125, circuitry109, and RF interface107. In the embodiment shown, integrated circuit103also includes hardware accelerators123, audio serial interface121, and a subscriber identification module (SIM) card interface127coupled to DSP bus125. Mobile station101includes audio circuitry104, speaker108, and microphone106for providing audio input and output to mobile station101. In other embodiments, at least some of audio circuitry104may be implemented in integrated circuit103.

In the embodiment ofFIG. 1, DSP127is operably coupled to DSP bus125via level1cache131and bridge133. Integrated circuit103also includes a level1memory129, a level2memory135, a level2cache137, and an external memory interface139. Level1memory129and level2memory135may include non volatile and/or volatile memory.

In one embodiment, data is encoded by DSP127as per a cellular communications protocol and provided via bridge133, DSP bus125, RF I/Q data interface115, and circuitry109to RF interface107to be transmitted over antenna105. Encoded data is received by DSP127from antenna105via RF interface107, circuitry109, RF I/Q data interface115, bus125, and bridge133. Layer1timer117and control interface113provide the requisite timing and control information for the data to be communicated according to the cellular communications protocol.

In the embodiment ofFIG. 1, integrated circuit103includes MCU processor145. MCU processor145is coupled to memory151, peripherals149, and external memory interface139. MCU processor145and DSP127are each coupled to messaging unit147for exchanging messages there between. MCU processor145and DSP127also can exchange data in shared level3memory141. In some embodiments, memory141may be located in integrated circuit103.

In some embodiments, integrated circuit103includes security features for DSP127. For example, in one embodiment, integrated circuit103includes a hardware accelerator (e.g.123) which generates a digital signature for a section of DSP127instructions for authentication. In another embodiments, integrated circuit103includes a hardware accelerator (e.g.123) that encrypts and decrypts key variables and stores them in a volatile memory of the hardware accelerator. These security features protect the operation of DSP127from malicious instructions which could interfere with normal modem operation.

Information to be transmitted as per cellular communications protocol may be provided to DSP127from MCU processor145for transmission. Furthermore, information received as per a cellular communication protocol may be provided from DSP127to MCU processor145. In one embodiment, the information to be transmitted and the information received may be exchanged between DSP127and MCU processor145by one of the processors writing the information to a portion of shared memory141and the other processor accessing the information from the shared memory. A pointer may be exchanged between processors that points to the shared memory location of the data. In one embodiment, station101implements an interprocessor communication protocol for managing the communications between processor145and DSP127. The use and management of a shared memory is abstracted by the interprocessor communication protocol. Examples of interprocessor communication protocols may be found in U.S. patent application Ser. No. 10/610,746, entitled “An Interprocessor Communication Protocol,” filed Jul. 1, 2003 and U.S. patent application Ser. No. 10/643,327, entitled “Method and Apparatus for Providing Interprocessor Communications Using Shared Memory,” filed Aug. 19, 2003, both of which are hereby incorporated by reference in their entirety.

In some embodiments, other types of processors may be utilized in place of DSP127. Also in other embodiments, mobile station101may have other configurations. For example, other embodiments may not include SIM card121or hardware accelerators123. Still in other embodiments, MCU processor145and DSP127may be implemented on separate integrated circuits. Still further in other embodiments, a mobile station may only include a DSP and no MCU processor.

FIG. 2shows a stack205of cellular communication protocol layers and how they correspond to OSI reference model stack201. Operations of a cellular communication protocol layer are operations for performing the functions designated to the layer. Layer1of stack205corresponds to the physical layer of the OSI model. Layer1operations may include (depending upon the particular cellular communications protocol) modulation operations, demodulation operations, interleaving operations, deinterleaving operations, channel encoding operations, channel decoding operations, channel equalization operations, synchronization operations, automatic gain control operations, and automatic frequency control operations.

Modulation operations include operations to place encoded channel data into a carrier signal for transmission. These operations may change either the amplitude, frequency, or phase of a carrier signal wave in a way that represents the original signals. Some examples of digital modulation techniques that may be implemented by station101include: ASK

Demodulation operations include operations to recover the encoded channel data from a carrier which has been used to transmit the signal over a transmission medium. Demodulation operations may include operations for the coherent detection of the received signal to accurately estimate the channel phase and attenuation to allow for separation of the transmitted signal from the carrier.

Interleaving operations include operations utilized to scramble the order of data symbols to be transmitted over a channel in such a way that, when they are descrambled (at the receiver), any burst of channel errors will be spread out in time and thus appear as random errors to the decoder.

Deinterleaving operations include operations utilized to unscramble the symbols that were scrambled by the interleaving operations. Deinterleaving is performed on the received symbols, prior to channel decoding.

Channel encoding operations include operations for adding redundant data into a transmitted bit stream before transmission, in order to protect the bit stream from errors that may occur. An example of one encoding technique that may be implemented by station101is convolutional encoding.

Channel decoding operations include operations for inverting the channel encoding process and for attempting to identify and correct any transmission errors. In one embodiment, a Viterbi algorithm may be used to decode convolutional codes.

Equalization operations include operations used to extract the desired signal from the unwanted reflections. Equalization operations maybe used to find out how a known transmitted signal is modified by multi-path fading, and constructing an inverse filter to extract the rest of the desired signal.

Synchronization operations include operations used to bring two signals or the wideband components of two signals into time alignment. For example, a Delay Locked Loop (DLL) may be used to bring two signals into closer alignment and keep them aligned.

Automatic gain control (AGC) operations include operations used to automatically adjust the gain in a specified manner as a function of a specified parameter, such as received signal level.

Automatic frequency control (AFC) operations include operations utilized to maintain the frequency of a receiver's reference oscillator within the specified limits with respect to a reference frequency such as the base station transmitter.

Layer2corresponds to the data layer of OSI model stack201. Examples of layer2operations may include (depending upon the particular cellular communications protocol) medium access control (e.g. multiple access control) operations and logical link control (e.g. link access control) operations.

Medium Access Control operations include operations related to the management of the shared transmission resources, such as multiplexing of the packet data physical channels and the radio link connections associated with the packet data physical channels.

Logical Link Control operations include operations associated with the sequence and validity of data packets. Logical Link Control operations are utilized, for example, for maintaining sequence order of frames across one or more connections; for the detection of transmission, format, and operational errors on a logical link connection; for recovery from detected transmission, format, and operational errors; and for notification to upper layers of the stack of unrecoverable errors.

Layer3of stack205corresponds to any or all (depending upon the particular cellular communications protocol) of the network layer, the transportation layer, the session layer, the presentation layer and the application layer of OSI model stack201. Examples of layer3operations may include (depending upon the particular cellular communications protocol) call control (CC) management operations, mobility management (MM) operations, subnet convergence protocol (SNDCP) operations, and radio resource (RR) management operations.

Call Control (CC) management operations include operations to manage call routing, call establishment, call maintenance, and call release functions. These operations may be analogous to ISDN call control operations.

Mobility Management (MM) operations include operations to support the mobility of user terminals, such as informing the network of the mobile station present location and providing user identity authentication and confidentiality.

Sub Network Dependent Convergence Protocol (SNDCP) operations include operations used in a number of different technologies. These operations may be used to provide services to the higher layers which may include connectionless and connection-oriented modes, compression, multiplexing, and segmentation.

Radio Resource (RR) management operations include operations to establish, maintain, and release radio resource connections that allow a point-to-point dialogue between the network and a mobile station. Examples of radio resource management operations include call processing operations, radio channel control operations, mobile station control operations, call setup operations, call handoff operations, power control operations, and mobile station lockout operations.

In one embodiment, mobile station101is configured to communicate over a cellular communications network as per the Global System for Mobile communications (GSM). In other embodiments, mobile station101may be configured to communicate as per other cellular communications protocols such as the code division multiple access (CDMA) protocol, the Universal Mobile Telephone Service (UMTS) wide band CDMA (W-CDMA) protocol, the CDMA2000 protocol, the Time Division—Synchronous Code Division Multiple Access technology (TD-SCDMA) protocol, the Time Division Multiple Access (TDMA) protocol, the Integrated Digital Enhanced Network (iDEN) protocol, the Terrestrial Trunked Radio (TETRA) protocol, the General Packet Radio Services (GPRS) protocol, the Enhanced Data Rate for GSM Evolution (EDGE) protocol, the iDEN protocol, and the WiDEN protocol. Operations of each layer of stack205may vary with each of the different protocols.

FIG. 3shows one embodiment of a partitioning of program instructions for execution by DSP127for performing processor operations. In one embodiment, the instructions whose partitioning is represented by block301are stored in a non volatile memory located on integrated circuit103(e.g. level1memory129and/or level2memory135) and/or in off chip (level3) memory141. In some embodiments, at least some of the instructions are stored in a compressed format in a non volatile memory, wherein the instructions are decompressed and stored in volatile memory for execution by DSP127. In one embodiment, some instructions are stored in memory129and others are stored in memory135.

In yet another embodiment, at least some of the DSP127instructions are stored in memory151(in compressed or uncompressed format). MCU processor145transfers the instructions from memory151to DSP127through either the messaging unit147or level3memory141during system initialization. Upon receipt, DSP127validates the authenticity of the memory contents and places the instructions in a memory (level1memory129, level2memory135, and/or level3memory141).

In some embodiments, the instructions represented by block301are executed from a non volatile memory. In other embodiments, the instructions are executed from volatile memory. The instructions represented by block301are implemented using the instruction set for DSP127.

Block301represents instructions for performing modem processor operations. Modem processor operations are operations performed by a processor of a mobile station to facilitate communication as per a cellular communications protocol. Layer3instructions305are instructions for performing layer3processor operations. Layer3processor operations are processor operations performed by a processor of a mobile station to facilitate layer3operations of a cellular communications protocol. Examples of Layer3processor operations may include (depending upon the particular cellular communications protocol) call control (CC) management processor operations, mobility management (MM) processor operations, subnet convergence protocol (SNDCP) processor operations, and radio resource (RR) management processor operations.

Layer2instructions307are instructions for performing layer2processor operations. Layer2processor operations are processor operations performed by a processor of a mobile station to facilitate layer2operations of a cellular communications protocol. Examples of layer2processor operations may include (depending upon the particular cellular communications protocol) medium access control processor operations and logical link control processor operations.

Layer1instructions309are instructions for performing layer1processor operations. Layer1processor operations are operations performed by a processor of the mobile station to facilitate layer1operations of a cellular communications protocol. Examples of layer1processor operations may include modulation processor operations, demodulation processor operations, interleaving processor operations, deinterleaving processor operations, channel encoding processor operations, channel decoding processor operations, channel equalization processor operations, synchronization processor operations, automatic gain control processor operations, and automatic frequency control processor operations.

Block301also includes instructions311for performing audio processing processor operations and instructions315for performing scheduler processor operations. Some of these operations may be unrelated to operations of a cellular communications protocol.

In one embodiment, instructions for DSP127to perform all of the layer3, layer2, and layer1processor operations for mobile station101are stored in a memory (129,135, and/or141) of mobile station101. For example, instructions for DSP127to perform all of the processor operations for the modem operations described above with respect to a particular cellular communications protocol (e.g. GSM) are stored in a memory of mobile station101. In another embodiment, instructions for DSP127to perform all layer2processor operations and layer1processor operations and some of the layer3processor operations of a particular cellular communications protocol are stored a memory of mobile station101. Accordingly, DSP127executes those instructions to perform the processor operations for mobile station101to communicate as per the particular cellular communications protocol.

Performing all or substantially all modem processor operations by a single processor may reduce system cost in that only a single processor may perform modem processor operations and may reduce system complexity in that only one processor instruction set may be utilized for modem functionality. Further, using one processor to perform all or substantially all of the modem processor operations may reduce or eliminate the amount of messaging between processors of a mobile station due to modem operations. Furthermore, such a configuration may save power in that only one processor needs to be operable during modem operation. For example, if only a cellular phone function of mobile station101is being utilized, MCU processor145may be placed in a low power mode in that the modem processor operations needed for the cellular phone function are performed by DSP127.

Furthermore, a mobile station where all or substantially all of the modem processor operations are performed by DSP127may allow for increased security in that “untrusted” applications running on MCU processor145would not have access to modem processor operations performed by DSP127. With such an embodiment, a cellular network may be protected while allowing untrusted applications to be run on MCU processor145. In some embodiments, untrusted applications may include applications which have not been validated to be nonmalicious.

In one embodiment, level3memory141is shared between MCU processor145and DSP127. To protect cellular modem processor instructions from corruption by malicious instructions running on MCU processor145, level3memory is subdivided into at least two regions. The first region is accessible only by DSP127and is used for holding instructions and data related to modem processor operations. This region is inaccessible by the MCU processor145, and is therefore secure from malicious instructions being executed by it. The second region is shared between the DSP127and MCU processor145. Data and commands are passed between the processors in this region of the level3memory141. Since both processors have access to this region, instructions and data critical to the cellular modem operations are not stored in this region. In other embodiments, other memory regions of mobile station101could be defined with other access protections or restrictions depending on security requirements.

Referring back toFIG. 1, mobile station101includes multiple hierarchal levels of memory with each level having a different manufacturing cost and access time. In one embodiment, level1memory129may include volatile and/or non volatile memory having a relatively fast deterministic access time, but at typically a relatively higher cost. In one embodiment, level1memory contains instructions and/or data for performing modem processor operations requiring fast deterministic access according to a cellular communications protocol. Level1cache131is utilized to decrease the average access time to instructions and data stored in level2memory135and level3memory141.

In one embodiment, level2memory135may include volatile and/or non volatile memory having a relatively slower deterministic access time (compared to level1memory), but at typically a relatively lower cost. In one embodiment, level2memory135contains instructions and or data for performing modem processor operations having determinism and access time requirements that are less restrictive than those whose instructions and/or data are stored in level1memory129. Level2cache137is utilized to decrease the average access time to level3memory141.

In one embodiment, level3memory141may include volatile and/or non volatile memory having relatively the slowest deterministic access time (compared to level1and level2memory), but at typically the lowest cost. In one embodiment, level3memory141contains instructions and/or data for performing modem processor operations having the least restrictive determinism and access time requirements.

In other embodiments, mobile stations may have other memory configurations. In some embodiments, some modem operations (e.g. layer1operations or layer2operations) may be performed by hardware accelerator123. In addition, some layer3processor operations may be performed by MCU processor145. In other embodiments, the memories of a mobile station may contain instructions for DSP127to perform modem processor operations for more than one cellular communications protocol. In other embodiments, other types of processors (e.g. MCU processors) may be utilized to perform the modem processor operations. Furthermore, mobile stations of other embodiments may have other configurations.

In another embodiments, DSP127can perform multimedia acceleration functions such as decompressing or compressing music or video information. DSP127can access multimedia information in shared memory141written by MCU processor145. In other embodiments, the DSP127can process information written to memory141by a direct memory access (DMA) (not shown) coupled to MCU bus150. The processing of multimedia information may include compressing information received from a camera (not shown) or microphone (e.g.106which in some embodiments is also coupled to MCU bus150). The compressed information can be stored by DSP127into shared memory141and accessed by MCU processor145.

In one embodiment, a cellular mobile station includes communication interface circuitry and a cellular modem processor operably coupled to the communication interface circuitry. The cellular modem processor executes instructions from an instruction set. The cellular mobile station further includes at least one memory coupled to the cellular modem processor. The at least one memory stores instructions. The instructions include instructions that when executed by the cellular modem processor perform a layer1processor operation of a cellular communication protocol by the cellular modem processor, instructions that when executed by the cellular modem processor perform a layer2processor operation of the cellular communication protocol by the cellular modem processor, and instructions that when executed by the cellular modem processor perform a layer3processor operation of the cellular communication protocol by the cellular modem processor.

In another embodiment, a method of performing cellular modem operations includes performing a layer1processor operation in accordance with a cellular communication protocol by a cellular modem processor, performing a layer2processor operation in accordance with the cellular communication protocol by the cellular modem processor, and performing a layer3processor operation in accordance with the cellular communication protocol by the cellular modem processor.

In another embodiment, a method of operating a cellular mobile station includes communicating data as per a cellular communications protocol, storing instructions in at least one memory, and performing a layer1processor operation in accordance with the cellular communications protocol by a cellular modem processor. The method also includes performing a layer2processor operation in accordance with the cellular communications protocol by the cellular modem processor and performing a layer3processor operation in accordance with the cellular communications protocol by the cellular modem processor.