Difference between revisions of "Lisa"

From PaparazziUAV
Jump to navigation Jump to search
Line 53: Line 53:
SPI1 :  IMU/baro high speed sensor communications, STM32 is mater
SPI1 :  IMU/baro high speed sensor communications, STM32 is mater
         pin 21 (SCK), 22(MISO), 23(MOSI)   
         pin 21 (SCK), 22(MISO), 23(MOSI)   
         accel/gyro 16bitsADC (DRDY)   (SS)
         accel/gyro 16bitsADC   9(DRDY) 8(SS)
         mag                  (DRDY)   (SS)   (RESET)
         mag                  24(DRDY) 10(SS) 25(RESET)
         eeprom                        (SS)
         eeprom                        53(SS)
         baro                  (DRDY)   (SS)
         baro                  40(DRDY) 39(SS)


SPI2 :  overo, STM is slave
SPI2 :  overo, STM is slave
Line 89: Line 89:


ADCs : 1 for battery 2/3 for extansion
ADCs : 1 for battery 2/3 for extansion
 
     
LED :  
LED :  
      3(LED_CLK), 4(LED_DATA)


=== Pressure sensors ===
=== Pressure sensors ===

Revision as of 03:20, 16 January 2010

Lisa ( the Lost Illusions Serendipitous Autopilot) is a STM32/Overo board designed to run Paparazzi

TODO

List of files currently being edited:

  • Lisa Schematic
  • booz.lbr


Antoine:

  • check JTAG on STM32
  • work with Piotr on connecting the missing wires on the STM
  • I2C on STM32:
  • SPI on STM32:
  • USB for gumstix : does 5V need to be switchable ? (to allow reset from the gumstix)
  • Todo's from sheet 3
  • Check's from sheet 5
  • Pressure sensor instruction to gany (redo airspeed computation), so he can finish the schematic for that (or finish it directly in the schematic)
  • Check the routing rules below and add if planned on routing a certain part in a specific way


Esden:

  • STM32 spelling and connection check
  • Fix STM32 footprint pad sizes
  • Routing rules that have to be followed
  • Add specification of external pressure sensor ADC
  • howto for STM32 gcc gdb toolchain (blinking LED or similar) (started writing one on openhardwarewiki.org)


Gany:

  • Check FT2232 footprint hw/lbr/booz.lbr qfn-64 size & pinout
    • -> Changed pad size from 0.6 x 0.4 to 0.75 x 0.25 and moved pin1 indicator outside the chip.
  • Make sure STM32 can interrupt overo
    • -> connected omap pin 176 with stm pin 11 via level shifter
  • Place components
  • Route board
  • Send for production 4pcb/pcbcard(china)/sunstone


Hardware

The hardware is still in development. The current CAD files are maintained in savannah svn in the paparazzi4/trunk/hw/lisa directory. Software development is done on a Overo/Summit + Olimex STM32-H103 dev board

Lisa proto.jpg

STM32

STM32-F103 ( esden can you write the name of the actual chip we're using ? 64 pins the most ram and flash ? )

pinout

SPI1 : IMU/baro high speed sensor communications, STM32 is mater

       pin 21 (SCK), 22(MISO), 23(MOSI)  
       accel/gyro 16bitsADC   9(DRDY)  8(SS)
       mag                   24(DRDY) 10(SS)  25(RESET)
       eeprom                         53(SS)
       baro                  40(DRDY) 39(SS)

SPI2 : overo, STM is slave

       pin 33 (SS), 34(SCK), 35(MISO), 36(MOSI),  11(interrupt for OMAP)

I2C1 : motorcontroller

       pin 58(SCL), 59(SDA)

I2C2 : extension

      pin 29(SCL), 30(SDA) 

UART1 : GPS or IMUxsense

      pin 42(TX), 43(RX) 

UART2 : Modem

      pin 16(TX) ,17(RX)

UART3 : RC24

      pin 51(TX), 52(RX)

CAN : motor controller

      pin 42(TX), 43(RX)

SERVO_out: driving 3 servos

      37(TIM3CH1), 38(TIM3CH2), 26(TIM3CH3) 

RC_in: analog RC

      27(TIM3H4)

JTAG : flash and debug

      46(TMS), 49(TCK), 50(TDI), 55(TDO), 56(TRST), 7(RESET)

ADCs : 1 for battery 2/3 for extansion

LED :

      3(LED_CLK), 4(LED_DATA)

Pressure sensors

The board will be equipped with a pair of pressure sensors, one absolute to measure altitude and one differential to measure airspeed.

Absolute Pressure

The proposed absolute pressure sensor is the freescale MPXh6115 The following plot displays the output of the sensor versus altitude

Absolute pressure.png

Differential Pressure

The proposed differential sensor is the MPXV5004DP

Differential pressure.png

Because of high resolution requirements in the pressure sensor circuit there is an external ADC needed with the following features:

  • 16bit resolution minimum, 20bit would be awesome
  • Two channels (multiplexed or not) each at least 100Hz sampling rate
  • I2C or SPI interface (I2C preferred)
    • We used the MAX11040 as ADC for a meteo payload, some (SPI) code is there. It samples 4 channels simultaneously in 24 bits (less "in real"). Slowest conversion speed is 250.1 samples/second.

Software

STM32 drivers for paparazzi

UART : done without DMA, so got datalink, telemetry and RC24 working

I2C : not done, needed for motor controllers

SPI : not done, needed for IMU ( big works as we share with mag and baro) and for overo

CAN : not don, needed for motor controller and CSC

PPMin: not done, needed for analog radio control and windvane

PPMout: not done, needed for servos ( 3 servos ? )

STM32 toolchain

You can use the summon-arm-toolchain script to build the required toolchain. For the default values of the Paparazzi Makefile to work, you should set

PREFIX=/opt/stm32/toolchain/arm-elf and LIBSTM32_EN=1

Open Embedded

Open Embedded is the linux distribution used on the overo. You can follow the instructions on gumstix's website to build a complete cross development environment. Paparazzi's Makefile will default to look for it in /overo-oe


Status

Routing Rules

  • 6mil traces/spacings for signals
  • 12mil traces/spacings for power traces (this is min value, otherwise as wide as possible or even planes if possible)
  • 6mil layout grid
  • Layer stacking:
    • Top: Signal + Ground plane
    • Route2: Ground plane(s) (Separate analogue and digital ground)
    • Route15: Power plane(s)
    • Bottom: Signal + Ground plane
  • 0.4mm vias with 0.1mm restring