BACKGROUND OF THE INVENTIONPosition determination may be performed using a global positioning system (GPS). In a GPS system, a plurality of satellites may transmit GPS signals on a code division multiple access (CDMA) channel. A GPS mobile unit may receive the GPS signals, decode the signals from three or more satellites and derive the distance to these three or more satellites from the decoded signals. According to the distances, the GPS mobile unit may calculate its position. The signals transmitted from the satellites may generally include the identity and position of the satellite transmitting the signals. In addition, the transmitted signals may include the time at which the signals were transmitted, such that the receiving mobile unit can determine the distance between the mobile unit and the satellite.[0001]
The Telecommunication Industry Association/Electronics Industry Association (TIA/EIA) IS-801 standard, entitled “Position Determination Service Standard for Dual Mode Spread Spectrum Systems”, describes a GPS system in which the calculations are performed in conjunction by a GPS mobile unit and a base station of a cellular network. According to the standard, the mobile unit may receive signals from one or more satellites, determine the distances from Me mobile unit to the one or more satellites, and pass these distances to the base station. The base station may calculate the position of the mobile unit from the supplied distances and may notify the cellular unit accordingly. In addition, the base station may supply the mobile unit with coding information which may simplify the identification and decoding of the satellite signals by the mobile unit.[0002]
Mobile units which operate in accordance with the IS-801 standard may include two separate communication modules. A first module may receive the GPS signals and a second module may communicate with the base station. It has been suggested to use shared radio frequency (RF) to intermediate frequency (IF) and analog-to-digital (A/D) converters for signal reception modules. Another suggestion is to use a single processor to manipulate the transmitted and received signals of both the modules.[0003]
BRIEF DESCRIPTION OF FIGURESThe subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages hereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which;[0004]
FIG. 1 is a schematic block diagram of a mobile unit which operates as both a cellular phone and a GPS unit, in accordance with an exemplary embodiment of the present invention;[0005]
FIG. 2 is a schematic diagram of the software and hardware operational units of a processing unit of a mobile unit, in accordance with an embodiment of the present invention;[0006]
FIG. 3 is a flowchart of the actions performed by a mobile unit in determining its location, in accordance with an embodiment of the present invention; and[0007]
FIG. 4 is a flowchart of the acts performed in using a bus of a mobile unit, in accordance with an embodiment of the present invention.[0008]
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements,[0009]
DETAILED DESCRIPTION OF EMBODIMENTSIn the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the, invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.[0010]
The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the inventions as described herein.[0011]
Turning flow to FIG. 1, there is shown a schematic block diagram of a[0012]mobile unit20, in accordance with an embodiment of the present invention.Mobile unit20 may operate as both a cellular communication device (e.g. cell phone) and as a GPS unit, sharing some of the hardware resources of the mobile unit for both cellular communications and position, determination.Mobile unit20 may have aGPS RF receiver22 coupled to an antenna, which may receive satellite signals used for location determination, and acellular RF transceiver30 coupled to an antenna, which may communicate, for example, with a cellular base station. The cellular base station may be, for example, a code division multiple access (CDMA) base station or a time division multiple access (TDMA) base station. The antenna may be a dipole antenna, a shot antenna, a dual antenna, an omni-directional antenna, a loop antenna or any other suitable antenna type, although the scope of the present invention is not limited in this respect.
A base-[0013]band processing unit28 may perform processing of transmitted and received signals passing throughtransceiver30. In some embodiments of the invention,processing unit28 may be located on asingle chip29. The use of asingle chip29 for hosting all the components ofprocessing unit28 may reduce the production costs ofmobile unit20. In addition,processing unit28 may perform location calculations based on satellite signals received byreceiver22.
[0014]Processing unit28 may comprise an external bus interface unit (EBIU)50, through whichprocessing unit28 may transfer cellular data signals (e.g., telephone signals) to, and may receive telephone signals from, audio apparatus57 (e.g., speaker, microphone) ofmobile unit20. Optionally, the signals to and fromaudio apparatus57 may be passed through aflash buffer memory34. In some embodiments of the invention,mobile unit20 may have a large memory unit, for example, a static random access memory (SRAMI)32 in which satellite signals received byreceiver22 may be stored for processing. Optionally, SRAM32 may have at least 4 Mbytes of storage space for storing the satellite signals. The use ofSLAM32 external tochip29, may reduce the cost of production ofmobile unit20, since including a large memory unit within a single chip withprocessing unit28 may make the size of the chip exceed the economical size of chips.Audio apparatus57 may be an audio/video apparatus with a visual display.
In some embodiments of the invention, PBIU[0015]50 is used both for accessingflash memory34 and SRAM32. In some embodiments of the invention, a combinedbus36 connects base-band processing unit28 to SRAM32 and to flashmemory34. Te use of a combined bus and bus interface reduces the size, weight and cost ofmobile unit20.
Base-[0016]band processing unit28 may comprise standard elements included in processing units of cellular phones. These elements include, asignal converter38 which performs analog to digital and digital to analog conversion of signals passing throughtransceiver30, a digital signal processing (ASP)processor44, acontroller46, and a dual port register (DPR)48 for transferring data toDSP processor44.Controller46 may be, for example, a handset controller commercially available from ARM Ltd. of Cambridge, England. A host interface (I/F)49 is optionally used to communicate betweencontroller46 and DSP44.
In addition,[0017]processing unit28 may have asignal preprocessor24 which may include an analog-to-digital (A/D) converter (not shown) and which may convert the satellite signals fromreceiver22 to digital form. Optionally,signal preprocessor24 may also perform automatic gain control (AGC) and direct current (DC) removal. The preprocessed signals may be provided to aGPS hardware unit26 which may perform initial digital processing of the GPS signals.
In addition to performing tasks for cellular communication,[0018]DSP processor44 andcontroller46 may perform some tasks for position or location determination In some embodiments of the invention,mobile unit20 may have a hardware calculation unit, such as a butterfly fast Fourier Transform (FFT)hardware accelerator52. The use ofhardware accelerator52 may reduce the load on DSP44 and may be particularly useful when DSP44 performs processing tasks relating to both GPS signals and to cellular communication signals.
A GPS hardware[0019]external interface56 may mediate between EBIU50 andGPS hardware26, as described hereinbelow In some embodiments of the invention, GPS hardwareexternal interface56 may have anaddress controller60, anaccess controller62 and adata controller64. Optionally,data controller64 may have a double read write (Rd/Wr)buffer66 for storing the data while waiting whenbus36 is busy, as described hereinbelow. In some embodiments of the invention, the size ofbuffer66 is sufficient to store the satellite signals received during a period in which the bus is used for transferring signals for cellular transmission or reception. In an exemplary embodiment of the present invention,buffer66 may have room for 16 words of 16 bits.
Turning now to FIG. 2, there is shown a schematic diagram of the software and hardware operational units of[0020]processing unit28, hi accordance with an embodiment of the present invention.DSP44 may run one or morecommunication DSP tasks84 which handle communication signals transmitted or received bytransceiver30.Tasks84 may perform signal detection, equalization, decoding and/or any other tasks as or known in the art. In addition,DSP44 may run a position location (PL)task86 which determines the pseudo ranges of the satellites, optionally, with the aid ofhardware accelerator52. Optionally,DSP44 also may run a position location (PL)manager88 which may receive the data used byPL task86 and operational instructions, and accordingly may initiate the operation ofPL task86. A DSP operating system (OS)82 may distribute the processing time ofDSP44 betweenDSP tasks84 andDSP PL manager88.
[0021]Controller46 may run a base-band manager94 and a call processing engine (CPE)96 which may transmit and receive control messages to/from a cellular base station and accordingly controlmobile unit20. In some embodiments of the invention,controller46 may run a position location (PL) protocol90 (e.g location protocol STI) which may communicate with a GPS server of the base station throughCPB96.Controller46 may also run a PLmain manager92 which manages the operation of position location ofmobile unit20. In some embodiments of the invention,PL manager92 controlsGPS RF receiver22,preprocessor24 andGPS hardware unit26. Optionally,PL manager92 may also control the position location tasks ofDSP44, for example, by transmitting commands toPL manager88 throughBB manager94 and host I/F49. In some embodiments of the invention,PL protocol90 may receive the calculation results ofDSP PL task86 through host I/F49 and may prepare them for transmission throughCPE96 andBB manager94. In some embodiments of the invention,PL manager92 may be capable of preventing transmissions ontransceiver30, such that whilereceiver22 is operating in receiving signals,transceiver30 does not transmit signals which may interfere with the reception of the satellite signals.
Turning now to FIG. 3, there is shown a flowchart of the actions performed by mobile[0022]20 in determining its location, in accordance with an embodiment of the present invention. In response to a command to determine the location,controller46 operates (100)GPS RF receiver22 andsignal preprocessor24 which may receive satellite signals for a predetermined period, e.g., 1 second. The command to determine the location may be received through a user interface of mobile20 and/or from the base station servicing mobile20.Controller46 may also instruct (102)GPS hardware unit26 to operate in a signal receiving mode in which the signals are received fromsignal preprocessor24 and are passed for storage to SRAM32 viaEBIU50 and combinedbus36. Optionally,controller46 may instruct (104)transceiver30 not to transmit signals during the GPS signal reception period, so as not to interfere with the received signals which may have a relatively low amplitude. It is noted that during the GPS signal reception period,transceiver30 may receive signals which are decompressed and/or decoded byDSP44 and may transfer these signals toflash memory34. Also, signals fromflash memory34 may be passed toDSP44 for processing, for example in preparation for transmission. The distribution of the use of combinedbus36 betweenGPS hardware unit26 andDSP44 may be governed bycontroller46 as described in further detail below.
After the GPS signals received during he predetermined period are stored in[0023]SRAM32,controller46 may instructGPS hardware unit26 to move to a processing mode (106). The following exemplary description of the operations performed during processing mode (106) relate to the elements ofmobile unit20 which perform the various tasks of the processing mode and do not relate to the calculations themselves which are known in the art. In the processing mode (106),controller46 may retrieve (108) sets of GPS signals fromSRAM32. The retrieved signals may be added (110) to each other byGPS hardware unit26 and the resulting sums (referred to as accumulated frames) may be passed (112) toDSP44 viaDPR48 for further processing.DSP44 may perform farther processing (114) of the sums in which pseudo distances from GPS satellites are determined. In some embodiments of the inventor, some of the Fixer processing (114) is performed byhardware accelerator52 In some embodiments of the invention, the farther processing (114) of the satellite signals may be performed byDSP processor44 concurrently with calculations performed on transmitted and/or received cellular signals.
The pseudo ranges may then be transmitted ([0024]116) bytransceiver30 to a cellular base station where the location ofmobile unit20 may be calculated responsive to the pseudo ranges. The base station may transmit the location back tomobile unit20.
[0025]Mobile unit20 may then receive (118) a message which includes the location of the mobile unit from the cellular base station. The location of the mobile unit may then be displayed (80) to a user ofmobile unit20.
In an exemplary embodiment of the invention, when[0026]receiver22 andhardware unit26 operate in the signal receiving mode,hardware unit26 may generate about 4 Mbits of data which may be stored inSRAM32. If, for example,bus36 has a maximal bus load of 10 MHz the storage of the data inSRAM32 may use about 2.5% of the bus capacity. During processing mode (106), reading of data fromSRAM32 may use about 6.5% of the bus capacity. Thus, during the read and write operations ofhardware unit26,bus36 may be used for transmission of data betweenprocessing unit28 andflash memory34.
Turning now to FIG. 4, there is shown a flowchart of the acts performed in using[0027]bus36 byGPS interface56, in accordance with an embodiment of the present invention. GPS interface may receive (130) instructions fromPL manager92 oncontroller46 regarding the operation state of the GPS interface. In an exemplary embodiment of the present invention,GPS interface56 may be in au off mode, a satellite signal reception mode in which the interface stores signals inSRAM32, and a GPS processing mode in whichGPS interface56 retrieves data fromSRAM32. In the signal reception mode and/or the processing mode, PLmain manager92 also optionally instructs (132)address controller60 on the addresses to be accessed inSRAM32. In some embodiments of the invention, addresscontroller60 keeps track of a current storage address to be used in storing the satellite data toSRAM32.
In some embodiments of the invention, one or more times during the satellite signal receiving state,[0028]PL manager92 may provideaddress controller60 with beginning and ending addresses of the area inSRAM32 in which the signals provided byGPS hardware unit26 are to be stored. Optionally, the addresses may be provided once for an entire satellite signal receiving state. Alternatively, the addresses are provided periodically for predetermined data chunks. After a data word is stored, the current storage address is optionally immediately incremented for preparation for a next storage cycle. Alternatively, the current storage address may be updated at any other time, for example, before the address is to be used. Optionally, whenever a data word is ready for storage inSRAM32, the data word may be provided to buffer66 and may be stored at a location instructed bydata bus controller64.
During the GPS processing mode, when data is used for processing, PL[0029]main manager92 may provideaddress controller60 with a list of the addresses for a current calculation.Address controller60 may pass consecutively over the list of addresses retrieving the contents of the address until the contents of the addresses are provided toGPS hardware unit26. Alternatively, address controller may receive the addresses fromGPS hardware unit26 one at a time, optionally after the data from the previous address may be stored inbuffer66.
When[0030]buffer66 has data to be stored during the satellite signal reception mode and/or whenaddress controller60 has one or more addresses from which it did not read data yet,access controller62 ofGPS interface56 may determine (134) whetherbus36 is being used byprocessor46 for communication withflash memory34. If (134)bus36 is busy handling a data transfer fromflash memory34,GOS interface56 may wait (136) until the end of the current cycle of the bus. If (140) at the end of the current cycle, bothGPS interface56 andcontroller46 request control of the bus, an arbitration method may be executed to determine which module is to receive control over the bus during the next bus cycle. IfGPS interface56 does not receive control ofbus36,GPS interface56 may wait for the next bus cycle and again contend for control ofbus36.
If the bus is not in use, or[0031]GPS interface56 receives control ofbus36 in accordance with the arbitration method, addresscontroller60 may provide (138) EBIU50 with the current access address,data bus controller64 may provide EBIU50 with a current word to be stored, frombuffer66 andaccess controller62 may indicateEBIU50 whether a read or write operation is desired.
Many arbitration methods may be used in determining which module receives control of[0032]bus36 during a specific bus cycle. In some embodiments of the invention, the arbitration method depends on the amount of room inbuffer66 and/or whetherGPS interface56 is performing a read or write operation.
In some embodiments of the invention, during the satellite reception mode, precedence is given to[0033]GPS interface56 when more than a predetermined percent (e.g., between 50-75%) ofbuffer66 is full with data which needs to be stored. Alternatively or additionally,GPS interface56 receives precedence when it has not received the bus for over a predetermined number of cycles. Generally, communication data takes priority over GPS related data.
It is noted that although the above description shows[0034]mobile unit20 as including separate RF units for the satellite signals and for the cellular signals, e.g.,receiver22 andtransceiver30, in some embodiments of the invention a single transceiver may be used for both the satellite signals and the cellular signals. Furthermore, in some embodiments of the invention, the tasks ofsignal preprocessor24 and ofconverter38 may be performed by a single unit.
It will be appreciated that the above described methods may be varied in many ways, including, changing the order of steps, and the exact implementation used. It should also be appreciated that the above described description of methods and apparatus are to be interpreted as including apparatus for carrying out the methods and methods of using the apparatus.[0035]
The present invention has been described using non-limiting detailed descriptions of embodiments thereof that are provided by way of example and are not intended to limit the scope of the invention. Variations of embodiments described will occur to persons of the art. It is, therefore, to be understood that the appended claims are intended to cover al such modifications and changes as fall within the true spirit of the invention.[0036]