View
219
Download
0
Embed Size (px)
Citation preview
GPS Waypoint NavigationGPS Waypoint NavigationTeam M-2:Team M-2:
Charles Norman (M2-1)Charles Norman (M2-1)Julio Segundo (M2-2)Julio Segundo (M2-2)
Nan Li (M2-3)Nan Li (M2-3)Shanshan Ma (M2-4)Shanshan Ma (M2-4)
Design ManagerDesign Manager: Zack Menegakis : Zack Menegakis
Presentation 2: Architecture ProposalJanuary 30, 2006
Overall Project Objective:Design a chip that navigates an aircraft to pre-determined waypoints.
StatusStatus
Design ProposalDesign Proposal Project chosenProject chosen
Architecture ProposalArchitecture ProposalMATLAB simulatedMATLAB simulatedBehavioral Verilog writtenBehavioral Verilog written Behavioral Verilog simulatedBehavioral Verilog simulated
FloorplanFloorplan Schematic DesignSchematic Design LayoutLayout SimulationsSimulations
Application DescriptionApplication Description
We are designing a GPS based waypoint navigation We are designing a GPS based waypoint navigation system for use in an aircraft.system for use in an aircraft.
The system will be able to autopilot the craft through a The system will be able to autopilot the craft through a series of user specified GPS coordinates in 3 dimensions.series of user specified GPS coordinates in 3 dimensions.
Why Use a Chip?Why Use a Chip?
Our system would be perfect for an Unmanned Aerial Vehicle (UAV) Our system would be perfect for an Unmanned Aerial Vehicle (UAV) due to its light weight, low power consumption, low cost, and specific due to its light weight, low power consumption, low cost, and specific capabilitiescapabilities
The system is designed to do exactly what UAVs are best at: flying The system is designed to do exactly what UAVs are best at: flying over an area in order to observe it. The UAV has many military and over an area in order to observe it. The UAV has many military and civilian applications.civilian applications.
System FlowSystem Flow
Inputs will consist of GPS waypoint coordinates for the Inputs will consist of GPS waypoint coordinates for the vehicle itself taken from a satellite or given by a user.vehicle itself taken from a satellite or given by a user.
The system will continually sample the position of the The system will continually sample the position of the aircraft while holding the previous and current positions in aircraft while holding the previous and current positions in memorymemory
Calculate and output the course corrections that must be Calculate and output the course corrections that must be made in order to proceed toward the next destination.made in order to proceed toward the next destination.– Angle needed to hit next waypoint within 1 second (~106 feet)Angle needed to hit next waypoint within 1 second (~106 feet)– Difference in current and destination altitudes needs to be within 15 Difference in current and destination altitudes needs to be within 15
feet.feet.– Maximum speed must always be achieved.Maximum speed must always be achieved.
Block Description FSM Controller – Controls state flow in systemFSM Controller – Controls state flow in system
– Setup modeSetup mode– Navigation modeNavigation mode– Arrival modeArrival mode
SRAM – Stores up to 5 GPS waypoint coordinate setsSRAM – Stores up to 5 GPS waypoint coordinate sets Waypoint Reached Comparator – Decides whether the aircraft is Waypoint Reached Comparator – Decides whether the aircraft is
sufficiently close to the next waypointsufficiently close to the next waypoint Altitude Comparator – Compares current altitude to next Altitude Comparator – Compares current altitude to next
waypoint’s altitudewaypoint’s altitude Speed Comparator – Compares current speed to max speedSpeed Comparator – Compares current speed to max speed Speed Calculator – Calculates current speed at which the Speed Calculator – Calculates current speed at which the
aircraft is travelingaircraft is traveling Distance Calculator – Calculates distance between current Distance Calculator – Calculates distance between current
position and next waypointposition and next waypoint Sexagesimal Degrees to Decimal Degrees Converter – Converts Sexagesimal Degrees to Decimal Degrees Converter – Converts
Degrees/Minutes/Seconds to Decimal DegreesDegrees/Minutes/Seconds to Decimal Degrees ““Black Box” – Used to calculate arctan’s and squares for angle Black Box” – Used to calculate arctan’s and squares for angle
and speed calculationsand speed calculations
Block Level System DiagramBlock Level System Diagram
Behavioral VerilogBehavioral Verilog module FSMmodule FSM (output reg control, output reg [2:0] counter,(output reg control, output reg [2:0] counter, input [1:0] rw, input range, clk);input [1:0] rw, input range, clk); reg [1:0] state, nextState;reg [1:0] state, nextState; parameter A = 2'b00, //Navigate/readparameter A = 2'b00, //Navigate/read B = 2'b01, //Setup/writeB = 2'b01, //Setup/write C = 2'b10, //No OpC = 2'b10, //No Op D = 2'b11; //ResetD = 2'b11; //Reset
always @ * beginalways @ * begin case (state)case (state) A: beginA: begin nextState = rw;nextState = rw; if (range == 0) //not within rangeif (range == 0) //not within range control = 1; //turn on all functionscontrol = 1; //turn on all functions else //within rangeelse //within range control = 0; //turn off all functionscontrol = 0; //turn off all functions endend B: beginB: begin nextState = rw;nextState = rw; control = 0; //turn off all functionscontrol = 0; //turn off all functions counter = counter + 1;counter = counter + 1; endend C: beginC: begin nextState = rw;nextState = rw; endend D: beginD: begin nextState = rw;nextState = rw; control = 0; //turn off all functionscontrol = 0; //turn off all functions counter = 0;counter = 0; endend default: nextState = D;default: nextState = D; endcase // case(state)endcase // case(state) endend always @(posedge clk)always @(posedge clk) state <= nextState;state <= nextState; endmodule // FSMendmodule // FSM
module Distance_calmodule Distance_cal (output [11:0] result,(output [11:0] result, input [5:0] lat, lon);input [5:0] lat, lon); result = lat*lat+lon*lon;result = lat*lat+lon*lon;endmodule // Distance_calendmodule // Distance_cal
module wp_comp( output result , [22:0] lon_dif , [22:0] lat_dif, input [22:0] curlon, [22:0] curlat, [22:0] lat2, [22:0] lon2);
[22:14] lat_dif = [22:14] lat2 - [22:14] curlat; [13:7] lat_dif = [13:7] lat2 - [13:7] curlat; [6:0] lat_dif = [6:0] lat2 - [6:0] curlat;
[22:14] lon_dif = [22:14] lon2 - [22:14] curlon; [13:7] lon_dif = [13:7] lon2 - [13:7] curlon; [6:0] lon_dif = [6:0] lon2 - [6:0] curlon;
if ( ([21:14] lat_dif == 0) && ([12:7] lat_dif == 0) && ([21:14] lon_dif == 0) && ([12:7] lon_dif == 0) ) result = 1; else result = 0;
endmodule // wp_comp
Inputs / OutputsInputs / Outputs InputsInputs
– Latitude & Longitude Coordinates : 46 bitsLatitude & Longitude Coordinates : 46 bits Latitude : -180˚ to 180˚, Longitude : -90˚ to 90˚Latitude : -180˚ to 180˚, Longitude : -90˚ to 90˚ Degrees : 9-bit 2's complementDegrees : 9-bit 2's complement Minutes : 7-bit 2's complementMinutes : 7-bit 2's complement Seconds : 7-bit 2's complementSeconds : 7-bit 2's complement
– Speed :10-bit signed magnitudeSpeed :10-bit signed magnitude– Altitude : 15-bit unsignedAltitude : 15-bit unsigned– Mode : 2-bit unsignedMode : 2-bit unsigned
OutputsOutputs– Angle Correction : 9-bit signed magnitudeAngle Correction : 9-bit signed magnitude– Speed Correction : 11-bit signed magnitudeSpeed Correction : 11-bit signed magnitude– Altitude Correction : 16-bit signed magnitudeAltitude Correction : 16-bit signed magnitude
TotalTotal– 109 bits109 bits
Rough Transistor EstimateRough Transistor EstimateComponentComponent Number of TransistorsNumber of Transistors
FSMFSM 100100
SRAMSRAM 35503550
RegistersRegisters 25002500
Comparators (Waypoint Comparators (Waypoint Reached, Altitude, Speed)Reached, Altitude, Speed)
23752375
Heading CalculatorHeading Calculator 12801280
Angle CalculatorAngle Calculator 300300
Distance CalculatorDistance Calculator 26502650
Speed CalculatorSpeed Calculator 950950
Sexagesimal/Second Sexagesimal/Second ConverterConverter
30003000
TotalTotal 16,70516,705
Design DecisionsDesign Decisions
Merge groups M2 & M3 since 3 people in each group leftMerge groups M2 & M3 since 3 people in each group left Use a “black box” for the arctan and square functionsUse a “black box” for the arctan and square functions
– Each of these functions are projects by themselvesEach of these functions are projects by themselves– Increased accuracyIncreased accuracy
Implement speed and altitude calculatorImplement speed and altitude calculator Decrease number of GPS waypoint coordinate inputs from Decrease number of GPS waypoint coordinate inputs from
10 to 5 to reduce SRAM by a factor of approximately 210 to 5 to reduce SRAM by a factor of approximately 2 Use 2’s Complement for representation for coordinates & Use 2’s Complement for representation for coordinates &
Signed Magnitude for everything elseSigned Magnitude for everything else Sample current position every one second which allows for Sample current position every one second which allows for
up to 16.99 seconds (distance) of changeup to 16.99 seconds (distance) of change
AssumptionsAssumptions
Latitude & Longitude are always constantLatitude & Longitude are always constant– In reality, longitude is not constant (ranges from 0 – 69 miles per In reality, longitude is not constant (ranges from 0 – 69 miles per
degree) while latitude is usually 69 miles per degreedegree) while latitude is usually 69 miles per degree– This is really not a factor anyway because, we usually doing This is really not a factor anyway because, we usually doing
computations on the seconds aspect of the coordinatescomputations on the seconds aspect of the coordinates
Altitude is independent of speedAltitude is independent of speed– The speed we are calculating refers to latitude and longitudinal The speed we are calculating refers to latitude and longitudinal
directionsdirections– The plane will rise by a proportional amount determined by avionicsThe plane will rise by a proportional amount determined by avionics
Achieve maximum speed at all timesAchieve maximum speed at all times
Alternate Projects ConsideredAlternate Projects Considered
Parking garage management systemParking garage management system Guitar tuner/effects processorGuitar tuner/effects processor Swimming pool monitorSwimming pool monitor Smart sensor systemSmart sensor system Smart RefrigeratorSmart Refrigerator PID ControllerPID Controller Smart WatchSmart Watch
What’s Next…What’s Next…
Here’s what’s on our agenda for next week…Here’s what’s on our agenda for next week… Complete Verilog simulationsComplete Verilog simulations Decide types of adders, subtractors, etc. would be best for Decide types of adders, subtractors, etc. would be best for
our designour design Better estimate the size of our project and decide if we are Better estimate the size of our project and decide if we are
able implement one or both of the operations of the “black able implement one or both of the operations of the “black box”box”
Implement countdown until arrival at next waypoint?Implement countdown until arrival at next waypoint? Additional functionality?Additional functionality? Structural Verilog & Initial FloorplanStructural Verilog & Initial Floorplan
Questions???Questions???