Hardware Structure


Basic Hardware Diagram

The Hardware consists of the five following basic parts:

    • Sensors (and the related Analog part)
    • Field Programmable Gate Array Section (FPGA)
    • Central Processor Unit Section (CPU)
    • Peripherals
    • Fault Safe Unit (FSU)


This is the most important part of the system, it provides information that we need in order to calculate the position and the condition of the vehicle. We can split this part in three sections:

  • The sensor section
  • The Analog Filters
  • Analog to Digital Converter

Totally 12 analog sensors have been used in the system in order to implement a complete 7 degree of freedom INS:

  • 3 Rate Gyros (one for each axis XYZ)
  • 3 Accelerometers (one for each axis XYZ)
  • 3 Compass (one for each axis XYZ)
  • 2 Pressure Sensors
  • 1 Temperature Sensor

To be more specific the following sensors have been used:

  • Gyroscopes

The term gyroscope comes from the Greek words γύρος and σκοπός. First used back in 1852 to demonstrate the rotation of the earth. There are many applications based on gyros from 1920 up to today, such as ship navigation, torpedo steering, rocket design, technical horizon display for aircraft and many more.

The ADXRS300 solid state rate gyro from Analog Devices has been selected. The ADXRS300 is a complete angular rate sensor (gyroscope) that uses Analog Devices’ surface-micromachining process to make a functionally complete and low cost angular rate sensor integrated with all the required electronics on one chip. The manufacturing technique for this device is the same high volume BIMOS process used for high reliability automotive airbag accelerometers.

The analog output of the sensor provides a voltage of 5mV/o/sec and the maximum range of the sensor is ±300o/sec (so, the maximum voltage variation at the output will be ±1.5V). The bandwidth of the sensor is 40Hz and the noise density of the sensor is 0.1o/sec/con_hardware_clip_image003 so, for the specific bandwidth the noise will be 0.016o/sec.

2.2 ADXRS300 Block Diagram

  • Acceleration Sensor

A good estimation of the acceleration needed in order to calculate the velocity of the vehicle (by simple integration of the acceleration) and also the traveled distance (by integration of the velocity). For the Acceleration the ADXL103 solid state sensor from Analog Devices has been used. The sensor has high precision, low power, complete single and dual axis accelerometers with signal conditioned voltage outputs, all on a single monolithic IC. The sensor measures acceleration with a full-scale range of ±1.7 g and can measure both dynamic acceleration (e.g., vibration) and static acceleration (e.g., gravity).
Integration of acceleration sensing errors causes INS velocity errors to grow linearly with time. These errors are generally not known.

The typical noise floor is 110 μg/?Hz, allowing signals below 1 mg (0.06° of inclination) to be resolved in tilt sensing applications using narrow bandwidths (<60 Hz).

2.3 ADXL103 Block Diagram

An important point that we must mention is the effect of the earth gravity on the sensor, it is important to have an accurate estimation for the inclination of the vehicle before you use any output of the acceleration sensors because we have to arbitrary submit earth gravity (1g) at all times.

  • Compass Sensor

The HMC1021 magnetic sensor (MR) from Honeywell has been selected in order to detect the magnetic field of the earth. The sensor is configured as a 4-element wheatstone bridge, these magnetoresistive sensors convert magnetic fields to a differential output voltage, capable of sensing magnetic fields as low as 85μgauss.

2.4 HMC1021 Block Diagram

These MRs offer a small, low cost, high sensitivity and high reliability solution for low field magnetic sensing. The range of the sensor is ±6Gauss. The output of the magnetic sensors will give us important heading information about the vehicle that will be very helpful in order to increase the performance of the INS. In order to achieve high accuracy a magnetic switching technique can be applied to the MR bridge that eliminates the effect of past magnetic history. The purpose of the Set/Reset (S/R) strap is to restore the MR sensor to its high sensitivity state for measuring magnetic fields. This is done by pulsing a large current through the S/R strap. The Set/Reset (S/R) strap looks like a resistance between the SR+ and SR- pins. Those pulses are generated and monitored by logic in the FPGA that synchronize this process with the sampling process and automatically provide those pulses when it is necessary.

  • Pressure Sensor

Two pressure sensors have been used for two reasons. First, we need an accurate measurement of atmospheric pressure in order to calculate the real altitude of the vehicle and second, we can calculate the air speed of the vehicle (very important for the navigation in order to prevent vehicle from stalling).

2.5 Pressure Vs Altitude
The MPXA6115A sensor from Motorola has been selected.

2.7 MPXA6115A Block Diagram

The MPXA6115A series piezoresistive transducer is a state-of-the-art, monolithic, signal conditioned, silicon pressure sensor. This sensor combines advanced micromachining techniques, thin film metallization, and bipolar semiconductor processing to provide an accurate, high level analog output signal that is proportional to applied pressure.

  • Analog Filters

We have used 12 low pass active filters to limit the bandwidth of the signal before the input of the ADC. The salen key topology has been used for the implementation of the filters with the cut of frequency of 80Hz (the sampling frequency is 250Hz). The filter components have been selected for a Butterworth filter since we want linear phase with no variations in the filter pass band.
In the following schematic diagram we can see the filter topology with the components values as well as the filter frequency response.

2.8 Filter Schematic Diagram

2.9 Frequency Response of the Active Analog Filter

  • Analog To Digital Converter

The ADC converter we have used is the AD974 from Analog Devices. The AD974 is a four-channel, data acquisition system with a serial interface. The part contains an input multiplexer, a highspeed 16-bit 200Ksps sampling ADC and a +2.5 V reference (in our application we will use an external reference voltage source for better accuracy and in order to have all ADC with absolutely the same reference voltage). All of this operates from a single +5 V power supply. The part will accommodate 0 V to +4 V, 0 V to +5 V or ±10 V analog input ranges but we will use only the 0 to 5V input range. The interface is designed for an efficient transfer of data while requiring a low number of interconnects. The AD974 is comprehensively tested for ac parameters such as SNR and THD, as well as the more traditional parameters of offset, gain and linearity. The AD974 is fabricated on Analog Devices’ BiCMOS process, which has high performance bipolar devices along with CMOS transistors.

AD974 Block Diagram





FPGA Block Diagram

In the FPGA we have implement the following parts:

  • Interface to ADC: this part has the responsibility of collecting the data from the three ADC (12 channels) each time the sampling timer ticks. The interface with the three, quad-channels ADC is serial and uses a serial DATA, a serial Clock and three synchronization signals. In the following picture we can see a graphical description of the serial interface.


AD974 Timing Diagram

  • Data filtering: a first low pass comm filter and down sampling has implement in the FPGA in order to decrease CPU utilization.
  • UART: two more UART (RS-232) channels have been implemented in the FPGA for the communication with the two GPS.
  • IO Controller: 16 memory mapped IO provided from the FPGA basically for providing status information.
  • Compass Set/Reset Controller: This part is important in order to achieve high accuracy for the magnetic sensor. This part controls an embedded demagnetizer in the magnetic sensors and provides ‘degaussing’ to the sensors by applying high current pulses. The controller synchronizes its output with the sampling frequency of the ADCs and provides the appropriate pulses to a current driver that feed the embedded demagnetize coils of the compass sensors. The functionality of the block is very simple and also very essential for the appropriate functionality of the compass sensors. In the following simulation snapshot we can see the output of the controller.


2.13 Compass Reset Timing

  • SERVO Interface: This part is the interface for the servo motor. The servo motors can be controlled by Pulse Width Modulation (PWM) so applying pulses with specific duty cycle in the servo input we will have the desired angle in the servo axis. At least four servos needed in order to control an aircraft (one for aileron, one for rudder, one for elevator and one for throttle). The PWM frequency used is 50Hz (20mSec period). In the following picture we can see the PWM input to the system.


SERVO IF Timing Diagram

  • SPI Interface: For communication with the digital thermometer. The SPI interface used for communication with the DS1626 digital temperature sensor of DALLAS Semiconductors is a three wire serial interface based on a Data, a Clock and a Reset signal. In the following picture we can see the timing description of the protocol:


DS1626 Timing Diagram

  • Global System Base Timer: a 32 bit timer that keeps the real time from the initialization of the system. All the modules refer to this timer in order to synchronize their functionality. The time base of the timer is 1/65536 Sec = 1000 CPU ticks (the system clock is 65,536MHz).


We use a ALTERA Cyclone Device in the Board that can be operated with a clock frequency up to 250MHz (in our application we use a clock of 66MHz for the FPGA). The implementation of the FPGA design has been done in the Quartus II development software and most of the parts have been developed in VHDL language.
The following diagram describes the top level design of the FPGA.

FPGA Top Level Design

The specific device has about 6000 logic elements (we use the 2500 of them in the current design, also the board can support devices with up to 12000 logic elements), 92Kbyte of RAM (we use the 12KByte) and we can have up to 185 input output pins (we use the 119 of them).

Also, the device has two embedded PLLs (we only use one of them) in order to make a clock stabilization, in order to reduce the jitter from the crystal oscillator and also give us the ability to multiple or divide the main system clock.



The CPU is the brain of the system, we have used a powerful 32bit little-endian, ARM base CPU @66MHz that , also we have expanded the single clock access 256KByte of internal memory with 1MByte more using a fast external SRAM memory and we have placed a 4Mbyte of flash memory. There is also a voltage supervisor circuit for system voltage monitoring; we use 3,3V for the IOs and 1,7V for the core of the CPU. The CPU has direct access to FPGA using a 16bit wide bus.
Also, the CPU has two UART channels that we use in order to communicate with the base station.



An embedded In Circuit Emulation Channel gives us the ability to use tools such as the ARM Developer Suite for on chip debugging, this reduces the developing time and increases the quality of the software. In our application we have used the wiggler hardware interface in order to connect the board with the ADS and the H-Tag software driver.

Also, the specific processor provided us with many useful peripherals devices embedded in the same chip. The most important of them are the following:

  • Dual channel asynchronous receiver-transmitter (UART)
  • Programmable watchdog timer
  • Three 16bit general purpose timers
  • Advanced interrupt controller
  • Advanced power saving unit



The main peripheral components of the system are the following two:
a. GPS

  • GPS


The GPS is an important part of the system. The GPS will provide us we position information that we will use in order to correct the error from the sensors. The following data will be used from the GPS:

  • Latitude
  • Longitude
  • Altitude
  • East Velocity
  • North Velocity
  • Up Velocity
  • GPS Time Output
  • Position Dilution of Precision (DOP)


Typically, that information arrives every second but the accuracy of data depends on the signal of the receiver. We will use two GPS receivers, the software will decide from which of the two GPS receivers will be the master from the Position Dilution of Precision (DOP) parameter.
DOP is the measurement of the error caused by the geometric relationship of the satellites used in the position solution. The satellite set which is tightly clustered or aligned in the sky will have a high DOP and will contribute to a lower position accuracy.


GPS Receiver


GPS Antenna

The GPS receiver will be used is the Lassen iQ GPS Module Low-power, high-quality GPS from Trimble. The Lassen iQ GPS receiver is a full featured, ultra low power receiver on a miniature form factor, suitable for a variety of mobile, embedded applications. The Lassen iQ GPS receiver incorporates Trimble’s FirstGPSTM architecture in the form of two ASICS: Colossus RF down converter and IO-C33 baseband chip.

The IO-C33 integrates Trimble’s IO digital signal processor with the Epson C33 RISC processor, real-time clock, UART, and 1Mbit memory. Together with the colossus RF, this implementation of FirstGPS technology makes possible one of the smallest (26 mm x 26 mm x 6mm) and lowest power (less than 89 mW) GPS modules available.

The Lassen iQ GPS receiver outputs a complete position, velocity, and time (PVT) solution in the NMEA Version 3.0 ASCII protocol, the Trimble ASCII Interface Protocol (TAIP), and the Trimble TSIP binary protocol. A Pulse-Per-Second signal is available for very accurate timing applications.

Lassen iQ Block Diagram


The XStream 2.4 GHz – Long Range OEM RF Modules by MaxStream, Inc. we will be used for communication with the vehicle. This is important especially for the development and the testing of the system in order to have real time access to the system parameter while the vehicle flies.


XStream Module

The communication is half duplex in the baud rate of 19,2Kbps and the outdoor line of sight range of the modem using 2.1db antenna can be up to 5Km (we do not plan to fly more than 1Km from the base station). The frequency range of the receiver is ISM 2.4000 – 2.4835 GHz and also we have frequency hopping with 7 channels. The module can be used not only for Point to Point connections but also in Point to Multipoint Networks or in Multidropp Networks (this can be useful if we have many UAVs flying at the same time and exchanging information real time with each other).

PCB  Design

The board is consisting of four layers PCB with thickness of 18μm each. The overall thickness is 1.7mm and the dimensions are 134mm x 62mm. The weight of the main board is about 120gr. The supply voltage of the board is 7 to 12V and the current is about 450mA (including the digital MODEM and the two GPS receiver).

Most of the components have fine pitch SMD packages and that is the main reason for achieving such a small dimension of the board.

Four Layers Main Board PCB

Fault safe unit

This unit is a complete autonomous switch that monitors the system and the state of a specific channel of the RC, it is able to switch the full control of the vehicle to the user if it decides to take over full control of the vehicle. The hardware consists of an independent board that has a PLD (ALTERA MAX EPM7128) that contains all the necessary logic to switch the full control of the vehicle to the user if required.

Futaba R147F Receiver & S3003 Servos
Plugged in Fault Safe Unit

Next: Software