1 / 13

GPS Flight Computer concepts SiRFStar2e/LP Block Diagram Flight Computer Concepts

A GPS Flight Computer – Michael Castle AIAA Responsive Space Conference – Redondo Beach, CA April 2003. GPS Flight Computer Overview. GPS Flight Computer concepts SiRFStar2e/LP Block Diagram Flight Computer Concepts SiRFStar2e/LP System overview Flight computer system diagram

akio
Download Presentation

GPS Flight Computer concepts SiRFStar2e/LP Block Diagram Flight Computer Concepts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A GPS Flight Computer – Michael CastleAIAA Responsive Space Conference – Redondo Beach, CA April 2003

  2. GPS Flight Computer Overview • GPS Flight Computer concepts • SiRFStar2e/LP Block Diagram • Flight Computer Concepts • SiRFStar2e/LP System overview • Flight computer system diagram • Test Flights • Trajectory Simulation • Sub-orbital Repeater / Imaging application • Applications for GPS flight computer • Future Developments

  3. GPS Flight Computer Concepts • SiRF GPS has enough processor power to act as a flight computer for sounding rockets (50MHz) • Controls vehicle attitude with fins • Logging, Flight Termination and recovery • 1Hz/10Hz update rate requires new type of steering algorithm vs. typical 50Hz rate • Small sounding rockets improved performance from subsonic trajectory and GPS attitude corrections • New applications for sounding rockets • Reduces costs of expendable stages I/O lines SiRF GPS Flight control code Servo Control

  4. SiRFStar2e/LP System Diagram 2Kx32 Cache System Timer 32Kx32 SRAM Bus Interface Unit ARM7TDMI 50MHz ASB 16/32 GPS Engine Track Accelerator WAAS Beacon Battery Backed RAM Bridge Unit UART x 2 SPI port

  5. GPS Flight Computer System Diagram Up to 40 I/O lines Telemetry Transceiver Servo Control SiRF GPS RTC + SRAM Flash Memory +extra RAM Attitude Sensors Serial Port IIC/ADC

  6. Test Flights • Oscillating flight as GPS • updating at 1Hz • Damped oscillations • When launch rail canted • GPS recovers to vertical • Future flights will • improve control loops, • and add mid-flight • corrections

  7. SiRF GPS User Interface simplifies implementation of flight computer • Structured s/w for easy design • User Interface into GPS code, no need to write GPS code etc. • User tasks can be real time, as user can control interrupts, and task scheduling • User task scheduler, 10Hz interrupt rate • Allows easy code migration, multiple tasks running • Ground support code available • 2 UARTs, SPI bus for high speed telemetry • GPIOs to control telemetry/AtoDs/etc • Spare RAM for user code, and a complex lookup tables, matrix manipulation • Guidance Navigation and Control system (GN&C) does not use gyros/accelerometers

  8. Software Overview

  9. Adding a New User Protocol 103 13 /* If GPS is stopped, output no position */ if (LPQueryGPSStopped()) { strcpy(buf,"0,N,0,0,0,0"); umPuts(bufHandle, buf); } /* If GPS is active, get the time and ECEF position and send them out! */ else { CHAR TimeBuff[15], XBuff[15], YBuff[15], ZBuff[15]; /* Note the use of these Module Interface routines to obtain data from */ /* the GPS Core. Check MI_ICD.H for prototype details */ MI_GetTimeGPS (&timegps); MI_GetPositionECEF (&ecef); /* Note that this function is in UI_NMEA.H and we must declare */ /* as an external */ Float2Ascii(timegps.TOW,1,TimeBuff); /* note that Float2Ascii will not handle more than one */ /* decimal point here */ Float2Ascii(ecef.X,1,XBuff); Float2Ascii(ecef.Y,1,YBuff); Float2Ascii(ecef.Z,1,ZBuff); sprintf(buf,"0,Y,%s,%s,%s,%s", TimeBuff, XBuff, YBuff, ZBuff); /* Use the default Put string function to transfer to buffer */ umPuts(bufHandle, buf); } /* Send the whole message, commit to transmit queue */ return (hComm->send (hComm, bufHandle)); } /* OutputUSER1()*/ /* We must register the start/stop characters, and the new message handlers. */ /* Note that we also override the default deliver, send, and allocbuffer */ Attitude Correction code • Attitude Control • If ((VelNed.Vn>1)||(VelNed.Vn<-1) • steern=(VelNed.Vn)*8; //scale to servo range 10-150 • If ((VelNed.Vn>1)||(VelNed.Ve<-1) • steere=(VelNed.Ve)*8; • Provides flight termination capability • drift=(Ltp.Lat-latzone); //0.1 degree lat is 11.1km at 53N • if ((drift>0.1) || (drift<-0.1)) count1s=ALARM; • drift=(Ltp.Lon-lonzone); //0.2 degree lon is 13.2km at 53N • if ((drift>0.2) || (drift<-0.2)) count1s=ALARM;

  10. Trajectory Simulation for GPS Flight Computer • Lightweight top stage completes task • Fire top stage, (possibly separate from fins) • Re-orient for top stage firing, then separate from steering inter-stage coupler • Coast with GPS attitude corrections when subsonic • Separate stages,Recovery of bottom stage • Accelerate to supersonic, stage separation at 50km • Sub-sonic through lower atmosphere to 30km, with GPS attitude corrections • Booster lift-off or air-launched depending on application.

  11. Sub-Orbital Repeater / Imaging beneath cloud cover Application • GPS recovery of lower stages • Top stage flies to destination using GPS at high altitude • Provides high altitude repeater for data • Glide to destination, deploy balloon under clouds and relays images. Glide to destination 1st stage to 60km

  12. Adding a New User Protocol 103 13 /* If GPS is stopped, output no position */ if (LPQueryGPSStopped()) { strcpy(buf,"0,N,0,0,0,0"); umPuts(bufHandle, buf); } /* If GPS is active, get the time and ECEF position and send them out! */ else { CHAR TimeBuff[15], XBuff[15], YBuff[15], ZBuff[15]; /* Note the use of these Module Interface routines to obtain data from */ /* the GPS Core. Check MI_ICD.H for prototype details */ MI_GetTimeGPS (&timegps); MI_GetPositionECEF (&ecef); /* Note that this function is in UI_NMEA.H and we must declare */ /* as an external */ Float2Ascii(timegps.TOW,1,TimeBuff); /* note that Float2Ascii will not handle more than one */ /* decimal point here */ Float2Ascii(ecef.X,1,XBuff); Float2Ascii(ecef.Y,1,YBuff); Float2Ascii(ecef.Z,1,ZBuff); sprintf(buf,"0,Y,%s,%s,%s,%s", TimeBuff, XBuff, YBuff, ZBuff); /* Use the default Put string function to transfer to buffer */ umPuts(bufHandle, buf); } /* Send the whole message, commit to transmit queue */ return (hComm->send (hComm, bufHandle)); } /* OutputUSER1()*/ /* We must register the start/stop characters, and the new message handlers. */ /* Note that we also override the default deliver, send, and allocbuffer */ Sub-Orbital Trajectory

  13. GPS Flight Computer Applications • Sub-orbital applications • Rapid response imaging • Search and Rescue • Atmospheric/Weather research • Research/Educational payloads • Rocket development • Data relay/ bandwidth fill-in • Very low cost (<$1M!) • Proving sub-systems for space Have sounding rockets been forgotten?

More Related