Patent ID: 7808428

Claim:
A method of operating a GNSS signal processing system, for processing GNSS signals from multiple satellite sources received by a receiver including a digital signal processor (DSP) and a general purpose central processing unit (CPU), which method comprises the steps of: providing said CPU with USB host hardware; providing said CPU with a USB serial interface; providing the CPU with random access memory (RAM); providing the receiver with nonvolatile memory; providing said receiver with a real-time operating system (RTOS) including a hardware abstraction layer (HAL) and upper-level USB software enabling USB host capability; interfacing the USB host controller hardware and the USB software with the HAL; embedding USB host software in said CPU and including interrupt service routines (ISRs) and delayed service routines (DSRs) in said USB host software; handling USB activities between the upper-level USB software and the HAL with the ISRs; handling with the DSRs USB activities not handled by the ISRs; executing the DSRs on a time slice basis as dictated by the RTOS; providing the GNSS receiver software with a PC compatible file system; and receiving raw analog GNSS ranging and timing signals; downconverting the raw analog GNSS signals to digital signals with an AD converter; correlating the digital signals with the digital signal processor (DSP); closing code and carrier tracking loops with the CPU on a fixed time interval (interrupt) basis; calculating a GNSS solution and communicating the GNSS solution with a user interface; providing output signals representing the GNSS positioning solution on a USB; providing compatibility for the RTOS and the files read from or written to the external USB storage device; processing said output signals in real-time; transferring said output signals over a mass storage interface between said USB host hardware and said storage device; storing said output signals on an external USB storage device; and post-processing said externally stored data with an external computer.