raytheon senior project - usf...final presentation for senior project 2 of 49 may 3, 2012...
TRANSCRIPT
Final Presentation for Senior Project
May 3, 2012 1 of 49
Luis Cintron Michael Kubacki Robert Skinner
Department of Computer Science and Engineering
University of South Florida
Tampa, FL 33620
Raytheon Senior Project
www.cse.usf.edu/raysp/
Final Presentation for Senior Project
May 3, 2012 2 of 49
Acknowledgments
• Jeremiah Schroder – Raytheon – Project supervision and support
• Michael Stillo – Raytheon – Project advisor and evaluator
• Tara Mazzocco – Future Technology Devices Int. – Hard work to acquire a free hardware sample for our group
• Bob Recny – Future Technology Devices Int. – Quick feedback and engineering advice on the feasibility of
hardware implementation using Vinculum-II products
Final Presentation for Senior Project
May 3, 2012 3 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 4 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 5 of 49
Modern smart phones are ‘slave’ devices, they require a
‘host’ device to communicate over their USB port. USB
Mass-storage devices are also ‘slaves’.
Background
Slave Device Slave Device
Host Device
Background
Final Presentation for Senior Project
May 3, 2012 6 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 7 of 49
Problem
As of today, a smart phone user cannot transfer files from a
USB Mass-storage device to his or her smart phone without
the use of a host device, which are currently unsuitable for
use in an increasingly mobile world.
Problem & Requirements
Host is Needed!
Slave Device Slave Device
Final Presentation for Senior Project
May 3, 2012 8 of 49
Problem & Requirements
Final Presentation for Senior Project
May 3, 2012 9 of 49
Possible Solutions
vs. vs.
Arduino Pro-Mini V2DIP2-48 • Dimensions:
o Arduino Mini-Pro Board: 18mm x 33mm x 2mm (w x l x h)
o Arduino Mini USB Host-Shield: 18mm x 45mm x 8mm (w x l x h) x 2
o Total Volume for Board and two(2) USB Host-Shields: 14148mm^3
• Power: 5v - 12v
• Cost: o Arduino Mini-Pro Board:
$18.95 (100+ -> $15.16) o Arduino Mini USB Host-Shield:
$20.00 (100+ -> $19.96)
• Speed: 12 Mbps / 1.5 Mbps Host
• Functionality: A microcontroller that can have USB host shields (additional boards) attached to provide USB hosting functionality.
• Dimensions: 68.56mm x 17.78mm x 26.60mm (lxwxh)
o Total Volume: 32425.31mm^3
• Power: 5v
• Cost: $28.62
• Functionality: The V2DIP2-48 provides a bridge between 2 BOMS (Bulk Only Mass Storage) devices, powered by an outside source.
• Custom firmware can be developed using the Vinculum II development software tool suite.
• For mass storage devices such as USB flash drives, VNC2 transparently handles the FAT file structure.
VF2F2
• Dimensions: 44.8mm x 69.8mm x 11.4mm (lxwxh) o Total Volume:
35648.26mm^3
• Power: On-board DC-DC converter supplies circuitry with 3.3v & 5.5v from 2xAAA cells
• Cost: $37.50
• Functionality: At the push of a button allows all the files on a USB mass storage device to be copied to a unique folder on another USB mas storage device.
• Transparently handles the FAT file structure communicating via UART, SPI or parallel FIFO interfaces via a simple to implement command set
[Web site] [Web site] [Web site]
Problem & Requirements
Final Presentation for Senior Project
May 3, 2012 10 of 49
vs. vs.
Arduino Pro-Mini Vinculum-II
Advantages
•Transparent support for FAT file structure
•Android drivers available using the Android
Open Accessories Initiative that allows the
Vinculum-II to attach to an Android device
•Specifically designed to act as a USB host for
mass storage device to smart phone transfers with
the ability to create custom firmware
Advantages
•Support/documentation widely
available
•Relatively lightweight
Disadvantages
•Relatively heavy (~350g)
•High unit volume
Advantages
•Transparent support for FAT file
structure
•Android drivers available using
the Android Open Accessories
Initiative that allows the
Vinculum-II to attach to an
Android device
•Specifically designed to act as a
USB host for mass storage
device to mass storage device
transfers
•Programmable firmware
VF2F2
Disadvantages
•High unit volume
•Difficulty to customize firmware
unknown
Advantages/Disadvantages Problem & Requirements
Disadvantages
Primary Disadvantage:
1 board + 2 shields
•Few example of USB hosting exist
•High unit cost
•High unit volume size
•Relatively heavy
•USB host documentation scarce
Final Presentation for Senior Project
May 3, 2012 11 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 12 of 49
ume
Device (umed)
User
ume Solution
System Architecture
USB Mass
Storage
Device
ume
Android
Application
Our Approach
V2DIP2-48 Programmable
USB Host
Controller
5 Volt DC
Up-
Converter
Final Presentation for Senior Project
May 3, 2012 13 of 49
System Design/Overview Our Approach
Final Presentation for Senior Project
May 3, 2012 14 of 49
Android
App
USB Host
Controller
Flash Drive
File Sending
Application
User Controls
File look up and
transfer File look
up and
transfer
To
recipient
Attach
file(s)
System Design/Overview Our Approach
Final Presentation for Senior Project
May 3, 2012 15 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 16 of 49
Physical Interfaces Compatibility
5v
5v gnd 5v 500ma
V2DIP2-48
USB Host Controller
Android 2.3.4+ Phone
USB Mass Storage Device
5V DC Up Converter + & - terminals connected to
vdd/gnd inputs on V2DIP2-48
USB Type-A Inputs
Hardware Design
Final Presentation for Senior Project
May 3, 2012 17 of 49
Power (Adafruit’s Mintyboost based)
• MintyBoost schematic and
Adafruit's PCB circuit
• 5V Output
• 500mA
• 2 x AA Batteries in series
• Uses 5V DC converter
• Originally a USB-based
charger, repurposed to provide
power to our device’s VDD
and GND pins.
Hardware Design
Final Presentation for Senior Project
May 3, 2012 18 of 49
Current Power Module Schematic Hardware Design
Final Presentation for Senior Project
May 3, 2012 19 of 49
Current Case Design Hardware Design
• ON/OFF rocker switch
• LED power indicator
Final Presentation for Senior Project
May 3, 2012 20 of 49
Software Design – Libraries/Interfaces
Android
Open Accessory
Protocol
Files
Stream to
USB Host
Controller
Overview
Software Design
Final Presentation for Senior Project
May 3, 2012 21 of 49
Android Application Architecture Software Design
Final Presentation for Senior Project
May 3, 2012 22 of 49
Android Application Flowchart Software Design
Final Presentation for Senior Project
May 3, 2012 23 of 49
VOS Kernel
USB Host Hardware
Raytheon Firmware Code
Device Manager
Device Drivers
Android Open
Accessory Protocol
LFAT
API
Firmware Model Software Design
Final Presentation for Senior Project
May 3, 2012 24 of 49
High-Level Firmware Flowchart Software Design
Final Presentation for Senior Project
May 3, 2012 25 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 26 of 49
Android App Architecture Android App Architecture
Document of ume architecture to port to other mobile operating systems
available at:
http://www.cse.usf.edu/raysp/
Final Presentation for Senior Project
May 3, 2012 27 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 28 of 49
Implementation Implementation
• Ume Android app and the ume device communicate by passing
commands
• Data is transferred in packets of 16,384 bytes
• Commands for activity control and data request
Final Presentation for Senior Project
May 3, 2012 29 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 30 of 49
Solution Solution
USB Mobile Explorer
Final Presentation for Senior Project
May 3, 2012 31 of 49
Android Application (ume) Screenshots Solution
Home Screen USB File Browser
Final Presentation for Senior Project
May 3, 2012 32 of 49
Android Application (ume) Screenshots Solution
USB File Browser Transferring File
Final Presentation for Senior Project
May 3, 2012 33 of 49
Android Application (ume) Screenshots Solution
Contact Review Screen E-mail Screen
Final Presentation for Senior Project
May 3, 2012 34 of 49
Solution Solution
Final Presentation for Senior Project
May 3, 2012 35 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 36 of 49
Production Cost and Approach Production Cost & Approach
Pricing (assuming purchase of 1,000 units)
Item Unit Price Quantity Needed Price * Quantity Need Hyperlink
V2DIP2-32 17.76252 1,000 17,762.52 http://parts.digikey.com/1/parts/1891897-mod-
vinculum-ii-dev-2-port-32dip-v2dip2-32.html
PolyCase 1.24000 1,000 1,240.00 http://www.polycase.com/ts-1741p
PolyCase Machining 1.07000 1,000 1,070.00 http://www.polycase.com
Bag of 100 Screws 3.50000 40 140.00 http://www.polycase.com/mounting-boss-screws
MintyBoost 15.60000 1,000 15,600.00 http://www.adafruit.com/products/14
Switch 1.10510 1,000 1,105.10 http://search.digikey.com/us/en/products/SLS121RA0
4/450-1599-ND/1202218
Resistor 220 Ohms, +/- 5% 0.014 1,000 14.00
http://www.mouser.com/Search/ProductDetail.aspx?R
=293-220-RCvirtualkey21980000virtualkey293-220-
RC
LED 0.12 1,000 120.00
http://www.mouser.com/ProductDetail/Kingbright/WP
710A10QBC-
D/?qs=jBF9H7RTBaStWbYh222yPQ%3d%3d
Total 37.05162 1,000 37,051.62
Final Presentation for Senior Project
May 3, 2012 37 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 38 of 49
Verification of General Requirements Verification of Requirements
Final Presentation for Senior Project
May 3, 2012 39 of 49
Verification of General Requirements Verification of Requirements
Final Presentation for Senior Project
May 3, 2012 40 of 49
Verification of System Requirements Verification of Requirements
Final Presentation for Senior Project
May 3, 2012 41 of 49
Verification of System Requirements Verification of Requirements
Final Presentation for Senior Project
May 3, 2012 42 of 49
Verification of Test Requirements Verification of Requirements
Final Presentation for Senior Project
May 3, 2012 43 of 49
Results Verification of Requirements
0
2000
4000
6000
8000
10000
0 10000 20000 30000
File
Siz
e(K
B)
Time(ms)
Transfer Rate
Weight:
118.647 grams
Volume: 101.60 x 44.45 x 25.40 mm
Transfer Rate: 0.36 MB/s
Max File Size Transfer: 9.1 MB
Final Presentation for Senior Project
May 3, 2012 44 of 49
Results Verification of Requirements
Performance Requirement Result
The smart phone shall have a
manufacture date after December 2009
(Android 2.2 or greater)
Compatible with Android 2.3.4+
The system interface between the USB
storage device and smart phone shall
be self-powered
The SYSTEM is powered by 2 AA
batteries
Interface between the smart phone and
USB storage device shall be established
in less than 5 seconds from initiation
Umed attaches to the Android device
within 5 seconds
System shall be capable of loading a file
from the USB storage device in less
than 5 seconds
The SYSTEM can transfer a files in less
than 5 seconds but the time is ultimately
dependent upon file size
The SYSTEM shall be capable of
handling files at least 3 MB
The SYSTEM has transferred files up to
9MB
The SYSTEM shall be capable of
processing standard image, video, and
music files
The SYSTEM has been tested to
transfer all file types from each media
category in SYS09
Final Presentation for Senior Project
May 3, 2012 45 of 49
Results Verification of Requirements
Performance Requirement Result
Send a file to a standard email address The SYSTEM is capable of sending a
file to a standard email address
The SYSTEM shall be capable of
interfacing with standard USB connector
plugs
The SYSTEM has USB Type-A ports
that can interface with other types using
adapters
The interface between the USB device
and smart phone shall be able to
communicate over a distance of greater
than two meters
The SYSTEM uses USB 2.0 which
specifies a maximum distance of 5
meters
The SYSTEM shall operate at less than
6 volts DC
The SYSTEM operates at 5 volts DC
The SYSTEM shall have a single user
interface for standard operation
The SYSTEM user interface is a single
Android app, “ume”
A non-engineering student shall be
capable of installing and using the app
within 5 minutes
A sample of non-engineering students
have successfully installed and used the
app within 5 minutes
Final Presentation for Senior Project
May 3, 2012 46 of 49
Agenda
• Background
• Problem and Requirements
• Our Approach
• Design
• Android App Architecture
• Implementation
• Solution (Demonstration)
• Production Cost and Approach
• Verification of Requirements
• Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 47 of 49
Summary
USB Mobile Explorer • ume allows a user to transfer
files from a USB mass storage
device to their Android phone
• ume enables a user to send files
via their preferred email and
messaging client to recipients
Summary and Future Work
Final Presentation for Senior Project
May 3, 2012 48 of 49
Future Work Summary and Future Work
• Additional Mobile Platforms
• BlackBerry
• iOS
• Windows Phone
• Increased Data Transfer Rates
• NTFS Support
• Error detection code to ensure successful data
transfers
Final Presentation for Senior Project
May 3, 2012 49 of 49
Questions?