Download Detailed Design Review Presentation (SD I)

Document related concepts

Stray voltage wikipedia , lookup

Control system wikipedia , lookup

Buck converter wikipedia , lookup

Alternating current wikipedia , lookup

Control theory wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Voltage optimisation wikipedia , lookup

Tektronix analog oscilloscopes wikipedia , lookup

Power electronics wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Mains electricity wikipedia , lookup

Analog-to-digital converter wikipedia , lookup

Time-to-digital converter wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Opto-isolator wikipedia , lookup

JTAG wikipedia , lookup

Pulse-width modulation wikipedia , lookup

Transcript
Detailed Design Review
MSD Project 10236
Configurable Control Platform
for Unmanned Vehicles
Joe Pinzone
Alex Mykyta
Roberto Stolfa
Robert Ghilduta
Jason Stanislawski
System Overview
System Overview
Control Code Processor (CCP)
Gumstix: TEXAS INSTRUMENTS
OMAP3530
• ARM Cortex-A8 GP CPU
• C64x DSP
• Store/execute Simulink control code
• 256MB flash (OS / Control Code)
• 256MB RAM
• Power management IC
• High-speed serial bus to I/O Controller
System Overview
Input/Output Controller (IOC)
XILINX SPARTAN 3E FPGA w/ PLASMA uC CORE
•Arbitrates sensor and actuator input/output
•Provides sensor data to CCP in common
format through shared, dual-port memory
•Provides analog and digital I/O interface
connectors, broken out on I/O Breakout Board
System Overview
I/O Breakout Board (IOB)
• The only vehicle-specific hardware
•Breaks out IOC header to individual
sensors and actuators
• Physically separate package from
Controller Platform
• Generally no processing done here
System Overview
Power, Control Code Processor, I/O Controller are physically:
–
–
–
separable
stacked
enclosed
System Overview
Power, IOC, CCP = Vehicle Controller Platform, separate from IOB
Power
*All values are worst case
Power
Rail
Current Required
Power Required
1.2 V
0.088 A
0.106 W
2.5 V
0.045 A
0.113 W
3.3 V
0.322 A
1.060 W
4V
0.400 A
1.600 W
5V
0.129 A
0.643 W
*All values are worst case
Power
TPS43000-Based
5V/0.25A
IOB, ADC, DAC
4V/0.5A
CCP
SW-MODE PSU
OUTPUT 5V/1.5A
3.3V/0.5A
Battery Pack
IOC
2.5V/0.1A
1.2V/0.1A
Power
FRONT END CONDITIONING
TEXAS INSTRUMENTS TPS43000
• SEPIC (buck/boost) configuration
• 1.8 – 9V Input
• 6A output with proper FET switches
• Synchronous Rectification (+eff)
TPS43000 (PSU FRONT END)
Power
SECONDARY STAGE
LINEAR REGULATORS
LM317 ADJ. LDO
• Low-drop-out
• Vout 1.25 –> 5+ volts
• Use for 5V, 4V
• Up to 1.5A output
TLV70012 for 1.2V/200mA
TLV70025 for 2.5V/200mA
TPS73733 for 3.3V/0.50A
Power Summary
Max
Nom
Units
Total Useful Pwr
3.524
2.890
Watts
Total Current
0.984
0.792
Amps
Power to LDOs
4.918
3.958
Watts
Efficiency of SM
0.900
0.900
Total Reqd. Pwr
5.464
4.398
Watts
Supply Voltage
4.800
4.800
Volts
Supply Current
1.138
0.916
Amps
Battery Capacity
2.700
2.700+
A-h
Est. Time
2.372
2.947
Hours
Est Efficiency
0.645
0.657
Nomenclature
Firmware:
– Program code that runs on the embedded processors. This does not
include the Control Code, which will always be referred to specifically.
Rigidware:
– The HDL containing the “image” of the FPGA gate configuration. This
may contain RAM/ROM initialization images and basic boot loader to
initialize and load the stored firmware. This term generally pertains only
to the IOC, since it is the only programmable-logic device in the system.
Software:
– Any program that runs on the user PC for the purpose of programming,
configuring, compiling, or monitoring the embedded system.
IO Controller Module
• Arbitrates IO from the CCP
• Physically separable from CCP
– Can be used as independent data logger or used
in future projects.
• Implemented using a Xilinx Spartan 3E FPGA
(XCS500E-PQ208)
FPGA Selection
• FPGA chosen for highest gate & largest pin count
• BGA is not desirable due to board routing complexity
Package
Device
VQ100
CP132
TQ144
XC3S100E
X
X
X
XC3S250E
X
X
X
XC3S500E
X
X
XC3S1200E
XC3S1600E
PQ208
FT256
FG320
FG400
X
X
X
X
X
X
X
X
X
X
FG484
X
IOC Rigidware
SPI Bus:
PM Storage & SD Card
To CCP
High Speed Serial
IRQ
IRQ
Tx
DO
Serial
Controller
Rx
CK
DI
CE
A
Dedicated
UART
D
Dual Port RAM
1kB
~40kB RAM
NOTE: All IO Ports, ADC Controller, Dedicated UART and
SD/PM SPI module are capable of generating interrupts.
SPI Master
System Clock
Counter
D
A
Plasma Core
CK
SO
SI
ADC
Controller
CS-ADC
CS-DAC
PWM Reader
8
PWM
Generator
8
IO Port
8
IO Port
8
IO Port
8
IO Port
8
Main RAM
SPI Bus:
PM Storage & SD Card
RQ
IRQ
DO
CK
DI
CE
~40kB RAM
SPI Master
D
A
Plasma Core
System Clock
Counter
• XC3S500E has 45KB of
Block Memory
• Approximately 40 KB
will be used for Plasma
CPU
• RAM preloaded with
boot loader
SPI FLASH & MMC
• Application code is
stored on SPI Flash
SPI Bus:
PM Storage & SD Card
– Boot loader loads
application into RAM
RQ
IRQ
DO
CK
• Same SPI bus is used for
an SD card for logging
DI
CE
~40kB RAM
SPI Master
D
A
Plasma Core
System Clock
Counter
– All typical SD cards
support standard MMC
protocol
System Clock Counter
SPI Bus:
PM Storage & SD Card
RQ
IRQ
DO
CK
DI
CE
~40kB RAM
SPI Master
D
A
Plasma Core
System Clock
Counter
• Provides timing
information
• Sourced from 50 MHz
clock which allows for
integer division to
decade increments of
time.
Dedicated UART
To CCP
High Speed Serial
IRQ
IRQ
Tx
Rx
Serial
Controller
A
Dedicated
UART
D
Dual Port RAM
1kB
All IO Ports, ADC Controller, Dedicated UART and
SPI module are capable of generating interrupts.
• Hardwired
to USB-UART
SPI Bus:
PM Storage & SD Card
transceiver
• Load new application
code
DO
• Debug system
CK
DI during
CE
operation
~40kB RAM
D
SPI Master
System Clock
Counter
CCP Communication
To CCP
High Speed Serial
IRQ
IRQ
Tx
Rx
Serial
Controller
A
Dedicated
UART
D
Dual Port RAM
1kB
All IO Ports, ADC Controller, Dedicated UART and
SPI module are capable of generating interrupts.
• Dual port
ram allows for
SPI Bus:
PM Storage & SD Card
independent
operation
• High speed serial
interface used
to access
DO
shared RAM
CK
DI
CE
• Interrupt
signals
provided to and from
System Clock
~40kB RAM
SPI
Master
CCP
Counter
D
Dedicated
UART
Dual Port RAM
1kB
~40kB RAM
SPI Master
System Clock
Counter
Analog Controller
NOTE: All IO Ports, ADC Controller, Dedicated UART and
SD/PM SPI module are capable of generating interrupts.
D
• Finite state machine
responsible for
acquiring analog data
from ADC
A
Plasma Core
CK
SO
SI
ADC
Controller
CS-ADC
CS-DAC
PWM Reader
8
PWM
Generator
8
– Data available for direct
access from CPU address
IO Port
IO Port
space IO Port
• Configures reference
voltage DAC
8
8
8
Dedicated
UART
Dual Port RAM
1kB
~40kB RAM
SPI Master
System Clock
Counter
PWM Controller
NOTE: All IO Ports, ADC Controller, Dedicated UART and
SD/PM SPI module are capable of generating interrupts.
D
• FSM that arbitrates
servo PWM generation
and reading
• Generator is
configurable to provide
servo format or full
range duty cycles
A
Plasma Core
CK
SO
SI
ADC
Controller
CS-ADC
CS-DAC
PWM Reader
8
PWM
Generator
8
IO Port
8
IO Port
8
IO Port
8
Configurable IO Ports
A
D
A
I2C
Core
SPI Core
CE
CK
DO
D
DI
SDA SCL
A
D
UART
Tx
Rx
A
D
GPIO
8
Special Function
Select
• Each pin can be
configured as input,
output, or special
function
• Special functions
include configurable
SPI, I2C and UART
modules
• IP provided by
OpenCores
d
D
A
Configurable IO Ports
Plasma Core
• MAV peripheral set only
requires 1 port
• Preliminary logic estimates show that 5 ports should
be possible
WM
nerator
8
IO Port
8
IO Port
8
IO Port
8
IO Port
8
IOC Hardware
Header to CCP
High Speed
Serial
(or future GPMC)
Rx Tx
USBàDual
UART
FT2232
USB
USB Mini-B
JTAG Header
EEPROM
AT93C46E
IRQ
IRQ
Rx
SD/MMC
Card
socket
SPI FLASH
PM Storage
SST25VF032B
Tx
SPI
JTAG
JTAG
FPGA Config. IC
XCF02S
JTAG
Config.
14.7456 MHz Clock
Xilinx Spartan 3E
XC3S500E-4
PQ208
50.0000 MHz Clock
SPI
8 Channel 16-bit
ADC
ADS1178
[-]
Voltage
Reference
DAC
TLV5623C
IO Ports
Bidirectional
Voltage
Translator
TXB0108
[+]
8
8
PWM In
8
Analog Header
Bidirectional
Voltage
Translator
TXB0108
Bidirectional
Voltage
Translator
TXB0108
Bidirectional
Voltage
Translator
TXB0108
PWM Out
8
8
Bank
Vref
8
Bank
Vref
Digital IO Header
8
Bank
Vref
8
Bank
Vref
Programming Interface
• USBàUART converter does most of the work for us
• PM FLASH is programmed from UART
• Second UART is provided for CCP configuration
Header to CCP
Rx Tx
USBàDual
UART
FT2232
USB
USB Mini-B
EEPROM
AT93C46E
AG Header
High Speed
Serial
(or future GPMC)
SPI FLASH
PM Storage
SST25VF032B
IRQ
IRQ
Rx
Tx
SD/MMC
Card
socket
SPI
JTAG
JTAG
FPGA Config. IC
JTAG
14.7456 MHz Clock
FLASH & SD Card
• SST’s 4MB FLASH stores application program
• Shares SPI Bus with SD Card for data logging and
removable storage
Header to CCP
Rx Tx
USBàDual
UART
FT2232
USB
USB Mini-B
EEPROM
AT93C46E
AG Header
High Speed
Serial
(or future GPMC)
SPI FLASH
PM Storage
SST25VF032B
IRQ
IRQ
Rx
Tx
SD/MMC
Card
socket
SPI
JTAG
JTAG
FPGA Config. IC
JTAG
14.7456 MHz Clock
CCP Interface
• High speed serial interface to CCP along with
interrupt requests
• Pins on FPGA and header are reserved specifically for
implementing GPMC in the future
Header to CCP
Rx Tx
USBàDual
UART
FT2232
USB
USB Mini-B
EEPROM
AT93C46E
AG Header
High Speed
Serial
(or future GPMC)
SPI FLASH
PM Storage
SST25VF032B
IRQ
IRQ
Rx
Tx
SD/MMC
Card
socket
SPI
JTAG
JTAG
FPGA Config. IC
JTAG
14.7456 MHz Clock
(or future GPMC)
USBàDual
UART
FT2232
FPGA Configuration
USB
USB Mini-B
JTAG Header
EEPROM
AT93C46E
IRQ
IRQ
Rx
Tx
JTAG
JTAG
FPGA Config. IC
XCF02S
JTAG
Config.
Xilinx Spartan 3E
XC3S500E-4
PQ208
• On power-up, FPGA is automaticallySPIconfigured by
the XCF02S which stores rigidware.
Voltage
8 Channel 16-bit
Reference
IO Ports
• Rigidware can be changed
interface
ADC via JTAG
DAC
ADS1178
TLV5623C
Bidirectional
G
USBàDual
UART
FT2232
USB
EEPROM
AT93C46E
IRQ
IRQ
Rx
Tx
Analog to Digital Converter
JTAG
FPGA Config. IC
XCF02S
JTAG
Config.
Xilinx Spartan 3E
XC3S500E-4
PQ208
SPI
8 Channel 16-bit
ADC
ADS1178
[-]
Voltage
Reference
DAC
TLV5623C
IO Ports
Bidirectional
Voltage
Translator
TXB0108
[+]
8
SPI
8
PWM In
8
Analog Header
14.7456 MHz Clock
• Simultaneous samples of 8
channels
• Supports differential inputs
• Adjustable sampling range
50.0000 MHz Clock
– Range is digitally controlled
Bidirectional
Bidirectional
Bidirectional
by adjacent
Voltage
Voltage DACVoltage
Translator
TXB0108
Translator
TXB0108
Translator
TXB0108
PWM Out
8
8
Bank
Vref
8
Bank
Vref
Digital IO Header
8
Bank
Vref
8
Bank
Vref
onfig. IC
02S
JTAG
Config.
14.7456 MHz Clock
Xilinx Spartan 3E
XC3S500E-4
PQ208
Digital IO
50.0000 MHz Clock
SPI
el 16-bit
DC
1178
Voltage
Reference
DAC
TLV5623C
IO Ports
Bidirectional
Voltage
Translator
TXB0108
[+]
8
Header
• PWM signals connected
directly to IOB (3.3v levels)
• Configurable IO Ports have
adjustable logic levels.
PWM In
8
Bidirectional
Voltage
Translator
TXB0108
PWM Out
8
8
Bank
Vref
8
Bank
Vref
– User supplies voltage
Bidirectional
Bidirectional
reference
Voltage
Voltage
Translator
Translator of
– TXB0108
detects direction
TXB0108
TXB0108
communication without the
need for direction control
Digital IO Header
8
Bank
Vref
8
Bank
Vref
Logic Cost Analysis
LUTs
Plasma Core
3306
CCP Interface
300
PWM IO Controller
300
Analog Controller
230
Configurable IO Port
710
Number of IO Ports:
5
Total LUTs Used: 7686
Available LUTs
9312
Remaining LUTs 1626
• Design with 5 IO ports
uses approximately 80%
of available logic
– 20% for uncertainty in
estimates and potential
overhead for PAR of
large designs.
Throughput Estimation
• Dummy DAQ program written for MAV set of
peripherals
– Single sample can be executed in ~420 clock cycles
@ 25 MHz
– Assuming SPI communication to IMU is done
without interrupts, CPU must stall for duration of
transfer (~200 cycles @ 2 MHz)
– Results in theoretical sample rate of 30 kHz
I/O Breakout Board
I/O Breakout Board
DEVICE LIST FOR UAV IOB
Analog Devices IMU
Tyco Electronics GPS
Airspeed Differential Pressure Sensor
Altimeter Absolute Pressure Sensor
Thermistor
I/O Breakout Board
TI ADS1178
Diff V_IN max.
V_IN max.
V_IN min.
( V+) - ( V-)
V+ or VV+ or V-
+/- 3.1 V
5.1 V
- 0.1V
Sensor
Vout Max
Vout Min
V-
Vref
Airspeed
4.7
0.2
2.45
2.25
Altitude
4.5
0.5
2.5
2.0
Temperature
4.986
0.229
2.493
2.38
V- Calculation
Airspeed Sensor:
(4.7V + .2V)/2 = 2.45V
Altitude Sensor:
( 4.5V + .5V)/2 = 2.5V
Temperature Sensor:
(4.986V + .229V) / 2 = 2.493V
Vref Calculation
Airspeed Sensor:
(4.7V - .2V)/2 = 2.25V
Altitude Sensor:
( 4.5V - .5V)/2 = 2.0V
Temperature Sensor:
(4.986V -.229V) / 2 = 2.38V
I/O Breakout Board
Digital Peripherals:
Tyco Electronics GPS – UART (NMEA)
Analog Devices IMU – SPI
Telemetry (P10231) – I2C, SPI, UART
I/O Breakout Board
MUX IC Manual Override:
2 – Quad 2 to 1 multiplexers
I/O Breakout Board
Molex 24 position connector
Pitot-Static Probe (Airspeed)
Ram Air Pressure
Stagnation (Static)
Standard DSUB Connectors
Control Code Processor
CCP Overview
• OMAP
– ARM
• Linux
– Fixed point TI DSP
• DSP/BIOS
– running RT workshop Control System
• Sensor data is memory mapped with DMA
from the IO controller over a dedicated link
Incremental Design
• Gumstix (target for MSD 2)
– Ready-to-run system on a module
– Self-sustained (low to no dependency count)
– Readily available, non-existent lead time
• Topedo SOM
– Smaller + lower power consumption than Gumstix
– Higher throughput achievable
• Custom Board
– Cheapest, fastest, most efficient yet most complicated
solution
• An implementation meeting every need marked
“HIGH” has to be met before proceeding
Gumstix
•
•
•
•
Board requires nothing power
2 expansion slots breakout McBSP and GPMC
Board lacks DMA support for GPMC
Implementation will use DMA with McBSP
– DMA will be configured to routinely read data from
McBSP and copy to a location in memory without
interrupts
– Slower than GPMC, uses less pins
• Interface is well known
• Target development time: 4 weeks
Torpedo
• Second revision
– Motivations: smaller board, GPMC with DMA
becomes possible
• Uses OMAP3530 (just as the Gumstix)
• Product comes with verified schematics and
layouts
• Release date - late December
• Expected price - $150
• Target development time: 4 weeks
Custom board
• Reasons to improve on Torpedo
– OMAP3525 is cheaper than the 3530
– TPS65920 consumes less power, requires less
layout area (fewer discrete components are
required)
• Development time
– Software and interface overlaps with Torpedo
– Schematics and layout can mostly be reused
McBSP with DMA
McBSP cont’d
• Multi-channel Buffered Serial Port
– (High speed serial)
– Asynchronous Synchronous supported
• DMA would be used to limit the use of the
ARM processor
• Maximum clock speed (bit speed) can use L4
clock (96MHz)
– FPGA may not be able to reach this
• Bit speed may need to be halved and channel count
double
GPMC
GPMC cont’d
• General Purpose Memory Controller (Interface)
– Typical SRAM interface
• Asynchronous/Synchronous supported
• Allows external memory devices to be mapped
into OMAP’s memory address space
• Burst speeds (where Row address is latched) of
400MB/s supported
– in reality speed is limited by FPGA’s IO buffers
• Gumstix cannot use this interface because DMA
pins that would be used to notify L2 Memory of
outdated data are not accessible
Control Code Processor - Software
•
Matlab Integration


End User Workflow
Software Required:




Matlab/Simulink
Real-time Workshop
TI C6x DSP Toolchain
Code Sourcery
ARM Toolchain
Vehicle Profiler
Control Code Uploader
Control Code Processor OS

Linux


OpenEmbedded
Framework
TI DSP-Bridge
Control Code Loader Daemon
Control Code Wrapper
Budget
Controller Platform
ITEM
Power Controller
Linear Regulators
Switching Components
Spartan 3E FPGA
FPGA Config IC
FLASH Boot Memory
Oscillator
Oscillator
USB to dual RS232
EEPROM for FT2232
8ch 16-bit ADC
Bidirectional Voltage
Translator
8-bit DAC
Gumstix
Gumstix Dev Board
Board to Board Conex
Misc Passives
External Connectors
Enclosures
PCB FAB
Control Platform Total
PRODUCT COST
EST
$4.50
$2.80
$7.00
$24.90
$4.25
$2.56
$2.63
$2.63
$6.99
$0.37
$25.42
$2.00
$2.48
$170.00
$0.00
$25.00
$30.00
$50.00
$20.00
$116.00
$499.53
OUR COST EST
$0.00
$0.00
$7.00
$24.90
$4.25
$0.00
$2.63
$2.63
$6.99
$0.37
$0.00
$0.00
$0.00
$170.00
$50.00
$25.00
$30.00
$50.00
$20.00
$248.00
$641.77
Budget
UAV I/O Breakout
24 pin, 0.1" Header Pins
Dual Flip-Flop
Quad 2 to 1 Multiplexer
10k POT
Airspeed Sensor
Altitude Sensor
Temperature Sensor
Analog Devices IMU
GPS
Pitot Static Probe
Mounting Chuck
6.84
1.00
0.40
6.68
11.70
5.80
34.00
$527.44
61.50
160.00
35.00
$6.84
1.00
0.40
$6.68
$0.00
$0.00
$0.00
$0.00
$0.00
$0.00
$0.00
UAV IOB Total
$527.44
$13.52
Budget
Total
Final Product
This Project
$1,026.97
$655.29