CROSS REFERENCE TO RELATED APPLICATIONS This application claims priority under 35 U.S.C. 119(e) of U.S. Provisional Patent Application No. 60/306,620, filed Jul. 18, 2001, entitled “TRACKER ARCHITECTURE FOR GPS SYSTEMS,” by Nicolas Vantalon et al., which application is incorporated by reference herein.
This application is also related to U.S. Pat. No. 5,901,171, by Sanjai Kohli et al., entitled “TRIPLE MUTIPLEXING SPREAD SPECTRUM RECEIVER,” and related to U.S. Pat. No. 6,278,403, by Leon Kuo-Liang Peng et al, entitled “AUTONOMOUS HARDWIRED TRACKING LOOP COPROCESSOR FOR GPS AND WAAS RECEIVER,” both of which applications are hereby incorporated by reference herein.
BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates in general to Global Satellite System (GSS) receivers, and in particular to a tracker architecture for Global Positioning System (GPS) systems.
2. Description of the Related Art
Currently, there are many GPS systems available that can acquire, track, and navigate using GPS signals. However, the navigation and tracking architectures for these systems vary widely. Many of these systems are not optimized for tracking or navigation, and are designed to work with only one type of GPS system.
SUMMARY OF THE PRESENT INVENTION To minimize the limitations in the prior art described above, and to minimize other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses, a tracker architecture for Global Positioning System (GPS) receivers. An architecture in accordance with the present invention comprises a bus structure, a Central Processing Unit (CPU) core, cache, RAM, and ROM memories, and a GPS engine that comprises a receiving, tracking, and demodulating engine for GPS and Wide Area Augmentation Service (WAAS) signals. The GPS architecture can couple to at least two different protocol interfaces via the bus structure, where the protocol interfaces are commonly used in different applications.
The present invention is a member of digital signal processors used for a GPS navigation architecture. The present invention is built on a state-of-the-art, low power, 0.18 micron CMOS process. This highly integrated design includes a compatible GPS/WAAS (wide area augmentation signal) Digital Signal Processor (DSP) engine, Satellite Signal Tracking Engine (SSTE), BEACON DSP, ARM microprocessor, real time counter (RTC), dual UART, interrupt controller, ROM, SRAM, on-chip ADC, Multiple serial interfaces (including I2C, USB, CAN, J1850 and SPI), two-way associate cache, and bus interface unit (BIU).
The present invention provides the architecture flexibility to support all GPS market segments: Cellular Phone, Car Navigation, GPS Hand-helds, Consumer Electronics, PC accessory and others, because the present invention integrates the CPU core, memory, GPS engine and other system peripherals. As a minimum system configuration, a receiver can comprise an RF front-end, and the present invention, which is used as a backend digital component. The present invention also has extra computing power to run applications other than GPS tracking and navigation. The present invention is fully compatible with many types of tracking and navigation software.
BRIEF DESCRIPTION OF THE DRAWINGS Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 illustrates an architecture in accordance with the present invention.
DETAILED DESCRIPTION OF THE DRAWINGS In the following description of the preferred embodiment, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration a specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
Overview
When integrating GPS components and receivers with other electronics, e.g., cellular telephones, automotive systems, etc., the GPS components must be readily compatible with such systems and still retain the ability to acquire and track the GPS satellites under the conditions presented by each of the environments that the GPS components will be introduced into. The present invention combines the systems typically present in a GPS baseband tracker architecture, and provides a single, multi-function interface that is compatible with several different protocols, such that a baseband processor made using the tracker architecture of the present invention can be used in several different applications.
A baseband processor used in the tracker architecture of the present invention typically is manufactured using a 0.18 micron low power CMOS process. This allows for smaller die sizes, as well as low power consumption.
The present invention allows for different operating voltages, typically 3.3 volts, 2.5 volts, or 1.8 volts dc. These voltages are used not only for the baseband processor, but also for the Real Time Clock (RTC) and for the I/O drivers used with the architecture of the present invention. To conserve power, the internal core typically operates at 1.8 volts, so that the processor and other integrated portions of the present invention use as little power as possible. Further, the present invention operates over a wide range of temperatures, typically −40 to +85 degrees Centigrade, and also meets the QS9000 standard for semiconductor circuit manufacture.
Block Diagram
FIG. 1 illustrates a block diagram of the present invention. Appendix A illustrates some sample terms used throughout this disclosure and inFIG. 1. Appendix B illustrates the input/output description of the present invention.
Architecture100 of the present invention is shown with several components described below.
ARM7TDMI
The ARM7TDMI102 is a member of the Advanced RISC Machines (ARM) family of general purpose 32-bit microprocessors, which offer high performance for very low power consumption. Although described herein as an ARM7 or an ARM7TDMI102, it can be appreciated by one knowledgeable in the art that other microprocessors can be used in lieu of or in conjunction with the ARM7TDMI102 without departing from the scope of the present invention. The ARM7TDMI102 is intended to run at the maximum speed of 50 MHz to deliver an approximate maximum 40 Million Instructions per second (Mips).
Cache
A 9Kbyte RAM cache104 is typically used for the cache module. It can function as a local RAM for timing critical code loops, or as a cache memory. When the cache is disabled, the 9 k byte of memory can be used as an on chip memory if desired. In cache mode, a total of 8K bytes are used as code/data cache106 and 1 K byte is used astag memory108. A two-way set associated cache can be activated, as shown withdata cache110 andtag cache112, TheCache104 can be used for both instruction code and data. A LRU and write through logic can also be activated if desired.
Processor Memory
Thearchitecture100 also incorporates an on-chip low power 4K×32SRAM114 for data and 16K×32Boot ROM116 for code. TheROM116 is typically programmed in the prototype stages for supporting the tracker only code and the other program code is typically contained in external memory (not shown). TheROM116 code can have several versions, and may be changed depending on which version of the architecture or which revision of the chip is used. The BIU118 can access the external memory as needed, and supports byte, Hword, and word accesses to the external memories. Thearchitecture100 is able to boot from internal or external memory regarding a power up configuration.
Internal ROM
Thearchitecture100 of the present invention includesinternal ROM116 code that provides at least two primary functions and one or more secondary functions. The primary functions include a boot loader program to load user code into theinternal memory114 and/orcache104 of thearchitecture100 and a receiver interface program to control the SSTE and WAAS channel demodulator. This receiver interface program will report data and provide control to the user via one of the built in serial interfaces. The receiver interface program also optionally includes an autonomous mode, which enables thearchitecture100, along with autonomous code stored in theROM116, when coupled to a RF front end, to acquire, and track the GPS signal without any external intervention by the user. The user can selectively choose the use of the autonomous mode, and the autonomous code stored in theROM116, either automatically or manually. The secondary functions include built-in-test functions, and functions to allow insertion of new code into theinternal RAM114 and/orcache104. The inserted code can incorporate itself into and expand the functions of the receiver interface function. Additional optional secondary functions include a program to perform automatic detection of externally interfaced memory chips to allow expansion or replacement of the computer instructions resident in theROM116.
ADC
The Analog-to-Digital Converter (ADC)module117 is typically a 14 bit module that comprises a sinc3 filter and the filter's interface to theCPU102. The Sinc3 filter processes the single bit over-sampled output from the sigma-delta modulator, and outputs the 16-bit wide data, at a 50 Hz sample rate, to four separate registers corresponding to the input channels.
Peripheral Bridge
An internalperipheral bridge120 is used as the bridge between theARM7TDMI102,CPU bus122, and the IP bus (Also called the SiRF IP Bus, or SIPB). The SIPB provides an adaptive connection to various types of peripherals for ease of future system expansion. The SIPB protocol is synchronous to the CPU clock. The fundamentals of the protocol take a minimum of three clock cycles to access all the peripherals. Thebridge120 also adds the wait state insertion capability for the DSP engine and other peripherals, which may take more clock cycles to access. Twobridges120 are designed into the present invention, and both bridges can be either 32-bit or 16-bit. Onebridge120 is AMBA1D compatible and the other is AMBA1E compatible.
GPS/WAAS Engine
The present invention incorporates a GPS/WAAS engine124 that tracks, receives, and demodulates both GPS and WAAS satellite signals. To accelerate the initial acquisition, theengine124 uses a multiple frequency bin correlator, which performs a correlation on the 4 coherently integrated samples for each of 240 taps, and generates 8 frequency bins as an output. Multiple frequency bin correlator outputs are non-coherently integrated and the final result will be peak detected to locate the two largest values. The coherent and non-coherent integration counters are independently programmable in the resolution of segment. The coherent integration and non-coherent integration start point can be set at a user time ms boundary and at a half ms boundary for WASS data. The multi-path mitigation and early-late hardware runs in parallel with the tracking channels. When using the multi-path mitigation and neatly-late modes, the tape of the multi-path correlator provides an improved restoring force for the code tracking. To support the WAAS channel demodulation, the convolution decoder is added for WAAS channel demodulated data. All the satellite channels are configurable for either CPU or SSTE. The shared memory micro-architecture also provides a low power solution, as well as providing a low gate count.
SSTE
In initial acquisition mode, the tracker (also called the SSTE) 125 autonomously steps through the code, frequency search windows, and histogram to perform strong side lobe rejection and sync verification.
In track mode, theSSTE125 executes pull-in, narrow track, and bit sync, data demodulation. Functional blocks include code/Costas lock detect, Costas/AFC loop filter, code loop filter, bit sync histogram, sample normalization, SNR measurement, bit demodulation. When code lock is lost, reacquisition executes resume normal, stay modes, 10 Hz track status and demodulated data output to software include code, carrier, bitsync status, demodulated data bits, accumulated |I|, |Q|, code, carrier phase. TheSSTE125 handles all mode transitions autonomously with software override capability.
Beacon Processor
Thebeacon processor126 uses the frequency discriminator approach chosen over coherent QPSK demodulation or FSK non-coherent demodulation as the best trade off between performance and implementation complexity. The signal interface is via a 10 bit external A/D on the synchronous serial interface. The hardware performs downconversion, decimation, filtering, discriminator calculation, bit sync, and data demodulation. The software programs the data rate and downconversion frequency. The hardware outputs the data at a HW/SW interface at 50 Hz rate. The ADC peak clipping scheme is used to combat strong pulse jamming. A 3-pole cascaded Butterworth low pass filter is used before the frequency discriminator.
Power Management
Thepower management block128 provides the controlling software, and optimizes the power for all the major blocks in the design of the present invention. The wake-up interrupt logic in the interrupt controller facilitates the wake-up on any interrupt as selected by the controlling software. The minimum power configuration of the chip is used to apply the power to theRTC module130, and battery back-up RAM is typically then active. The rest of circuit is in a power down mode. The target power consumption of the power down is around 5 uA. During the standby, the chip typically uses less than 100 uA.
RF Interface
As part of the standard interface for thearchitecture100, connections to the RF portion of the GPS receiver are required. Signal wires ofPWM132 AGC protocol are implemented for a 1 kHz automatic gain control (AGC) interface. A single ended PECL physical interface is used for two GPS clock lines and two GPS/WAAS data lines. UART
Both the transmit and receive sides of eachUART port134 contain a 16-byte deep FIFO with a selectable bit rate from 1200 to 115.2 Kbps. The parity, data bits and stop bits are also configurable. Each receive resister also provides error signals for frame error, parity error, overrun error, and break interrupt.
Timer
The present invention incorporates atimer function136 whereby a free-running counter may be used to raise interrupts when the count value reaches programmable thresholds. The clock for thistimer function136 block may be sourced from either the 49.107 MHz clock, the 38.192 MHz clock, an external user-defined clock as shown inFIG. 1, or from the 32 KHz input (default), with the source selection programmable by software. Furthermore, 1, 8, 32, 128 or 2048 may divide the selected source clock for this block.
Watch-Dog
The present invention provides awatchdog function138 whereby a free-running counter requires a regular service by the controlling software; otherwise a watchdog reset is issued which in turn causes a full system reset to the device excluding theRTC130.
RTC
TheRTC130 is used to maintain seconds, minutes, hours and days for thearchitecture100 while requiring extremely low power. It has a separated power input so that the rest of core logic can be shut down but time maintained at theRTC130 for the next power on. ThisRTC130 enables a low power state, and other power management features, to significantly reduce power consumption during normal operation. TheRTC130 of the present invention contains a 1024×16 memory backup RAM for the critical information. TheRTC130 of the present invention is typically clocked by a 32.784 KHz signal with an on-chip oscillator.
Interrupt Controller
The interrupt controller manages all possible sources of interrupts from within the Peripheral Bus. These include the GPS/WAAS engine, SSTE, Beacon, DSP, UART, CAN, USB, SPI, J1850 and up to three external user interrupts.
Bus Interface Unit
The Bus Interface Unit (BIU)118 provides simple and direct memory-mapped access to the external peripherals. The present invention memory interface block allows direct connection to a variety of 8-bit, 16-bit RAMs or ROMs on the system interface. The chip of the present invention generates the needed control signals for external RAMs and ROMs. The programmable wait state control registers set by the software to support wide range of speed of the external memory. It also supports the wait state insertion protocol to add the additional wait states. TheBIU118 also can support the parallel interface protocol to allow the external host CPU to access theinternal memorys114,104, and116, and other registers of the present invention.
Timer/PWM
The present invention also provides a Pulse Width Modulated (PWM output signal via thePWM block132. The frequency and duty cycle is programmable. In addition, the present invention optionally provides a timer function whereby a free-running counter may be used to raise interrupts when the count value reaches a programmable threshold. Similarly, the present invention provides a watchdog function whereby a free-running counter requires a regular service by the controlling software.
Programmable Interface of the Present Invention
The architecture of the present invention comprises a multiple-protocol interface that can be connected to several different types of standard interfaces. For example, I2C, SPI, CAN, USB, J1850, MOST, Parallel, and Address/Data Bus interfaces can connect to thearchitecture100 via a single input as described below. The architecture can either be programmed a priori to accept a given input, e.g., USB inputs, or can automatically detect a specific type of signal or the presence of a signal on a given signal line, and self-program to accept and transmit data using that protocol. Several types of interfaces compatible with thearchitecture100 of the present invention are as follows:
I2C
The presentinvention I2C interface140 is capable of both master and slave modes of operation in the multi-master environment as defined in the I2C standard protocol that is incorporated by reference herein. There are two pin bi-directional signals in theI2C interface140.
SPI
TheSPI block142 is a standard 4-pin serial peripheral interface for inter-IC control communication. It contains a 10 word×24-bit receive buffer for message buffering in order to reduce the frequency of interrupt of theARM processor102.
CAN
The CAN 2.0144 interface is compatible with both class A (11-bit identifier) and class B (29-bit identifier) interfaces. The data/message rate for FMEA (position fix data) is about 4 Kbit/sec including 5-6 FMEA messages of approximately 60 Bytes each. The rate for Dead Reckoning (DR) would need about 50-100 Kbit/sec. TheCAN144 supports both 10 Kbit/sec and 1 Mbit/sec message rates. The physical transceiver interface is typically outside of the chip.
USB
The device of the present interface contains a highspeed USB interface146 including an on-chip physical transceiver. TheUSB interface146 is compliant with revision 1.1 of the USB standard, giving an interface transfer rate of 12 Mbits−1. TheUSB interface146 supports a control channel endpoint and 2 interrupt-type endpoints, each with a minimum of 16 bytes of local storage. It also supports 2 bulk transfer points with 64 bytes each of local storage.
J1850.
The present invention also comprises data link and protocol layers that support the J1850 Class IIVPW protocol interface148 for Chrysler, Toyota, and GM J1850 networks. The physical link is a single wire and single ended at 7V. The speed is 10.4 Kbps with CRC & message filtering in software and hardware.
GPIO
The device of the present invention provides a number of general purpose Input/Outputs (GPIO) atinterface150, accessible by the embedded processor. The status of the general purpose inputs way be determined by polling.
These general purpose I/Os150 are multiplexed with other functions where possible to increase the number of GPIO pins without increasing the pin budget. The exact number available depends upon which version of the die is being bonded out.
MOST, and Other Supported Interfaces
The interface of the present invention also comprises aMOST interface152, aparallel port interface154, and an address/data bus interface156. TheMOST interface152 is capable of carrying MPEG level data on an automotive optical bus, and is used to control various peripherals in an automotive environment.Parallel port interface154 is typically used to connect thetracker architecture100 to a computer other than theARM102.
IO Specification
A typical Input/Output specification for the present invention is shown in Appendix B.
Last Segment
Access to thememory RAM1158,RAM2160,RAM3162, andRAM4164, when the engine locked the memory, typically generated an abort instruction to the CPU. This ERROR generation has been removed for the present invention and replace by a WAIT function. Every time the CPU will access theengine RAM1158 throughRAM4164 when the engine locked them the SBU bridge will keep BWAIT High until the engine release the memory, and execute the access to the memory.
Synchronous Memories
Allinternal memories104,114,116, and158-164 are synchronous. All DSP memories are connected to ENGCLK_N.
Operation of the Interface
Theinterface166, which comprises all of the protocols mentioned herein, allows thetracker architecture100 of the present invention to connect to various input and output signals that are present in the environments that thearchitecture100 will typically reside in. Theinterface166 can be pre-programmed by the chip manufacturer, prior to shipment to a specific customer, to accept a given protocol, in essence, enabling one or more of the protocols, or disabling one or more of the protocols, as desired. Further, thearchitecture100 can be auto-detecting in nature, where the architecture senses the presence or absence of certain signals, and through the detection or absence of certain signals, determines which protocol thearchitecture100 is connected to. The architecture then responds in the given protocol.
As an example, and not meant to be a limitation of the present invention, the architecture can be a priori programmed to accept only theJ1850 interface148 inputs and theGPIO150 inputs, and reject inputs from anI2C interface140. In an alternative of this example, again not by way of limitation, once thearchitecture100 is connected toJ1850 interface148 input signals, thearchitecture100 can automatically detect which of the protocols is present and accept theJ1850 148 signals, and respond in kind.
Manual programming after delivery is also possible, as is changing of the protocol that interface166 andarchitecture100 will accept.
Conclusion
This concludes the description of the preferred embodiment of the invention. The following paragraphs describe some alternative methods of accomplishing the same objects. The present invention, although described with respect to GPS systems, can be utilized with any Satellite Positioning System (SATPS) without departing from the scope of the present invention. Further, other CPU processors can be used without departing from the scope of the present invention.
In summary, a tracker architecture for Global Positioning System (GPS) receivers in accordance with the present invention comprises a bus structure, a Central Processing Unit (CPU) core, cache, RAM, and ROM memories, and a GPS engine that comprises a receiving, tracking, and demodulating engine for GPS and Wide Area Augmentation Service (WAAS) signals. The GPS architecture can couple to at least two different protocol interfaces via the bus structure, where the protocol interfaces are commonly used in different applications.
The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention not be limited by this detailed description, but by the claims appended hereto.