Software Design - Purdue College of Engineering
Download
Report
Transcript Software Design - Purdue College of Engineering
iDine
A Camera based Multi-touch Dining table
Tejas D Kulkarni
Abhisheyk Gaur
Himanshu Raghav
Ankur Mishra
Outline
•
•
•
•
•
•
•
•
•
•
Project overview
Project-specific success criteria
Block diagram
Component selection rationale
Packaging design
Schematic and theory of operation
PCB layout
Software design / development status
Project completion timeline
Questions / discussion
Project Overview
A multi-touch interface for a dining table which supports
menu browsing, order placement, music and / or game
selection.
A handheld device which acts as a centralized control for
an array of multi-touch enabled dining tables.
Wireless medium of exchange between the controlling
handheld device and the multi-touch enabled table
Change / update of menu supported through a SD Card
interface
Success Criteria
An ability to wirelessly exchange information between the Intel
Atom and External Managing device via Bluetooth interface
An ability to read/write data such as menu items, items ordered,
statistics, feedback and other preferences from a SD card
interface
An ability to display information obtained from the touch
interface such as the food item ordered, billing information and
other data on a Graphical LCD on the External Managing
Device
An ability to detect and process multiple fingers and gestures
on the touch table via a Intel Atom board
An ability to charge the battery of the External Managing Device
and monitor its status on the LCD
BLOCK DIAGRAM
Component selection rationale
• Microcontroller: PIC24FJ128GA010
• C Compiler Optimized Instruction Set
• Great debugging support (development board available)
• Satisfies our peripherals requirements: 2 SCI and 1 SPI
• Can handle medium to high computations (required for
display on graphical LCD)
• Has sufficient memory for graphics and other drivers (128 KB
flash and 8 KB RAM)
Component selection rationale
• Bluetooth Modem: BlueSMiRF Gold
• Required for consistent communication with the Atom board
• Provides flexible configurations (via command set) over wireless
transmission
• Low power consumption (25mA Avg. current draw)
• Small size (suited for a handheld device)
• SD/MMC Breakout Board
• Required for memory
• Easily configurable
• Supports push-push type socket for SD Card
Packaging Design
• EMD will be compromised of 5” by 3” by 1” box
–
A 2.4” graphical LCD is mounted on of the faces of this
box
–
Three color LED's to indicate the mode of operation of
EMD
–
A SD card slot on of the side
–
An outlet to charge the Li-Ion battery
• PCB will be compromised of size 4” by 2.5”
Packaging Design : Front View
5
1
3
Packaging Design : Reverse View
Theory of Operation and Schematic
Theory of operation
• Microcontroller : PIC24FJ128GA010
– Operating voltage is 3.3 V at 32 MHz
– Drives Bluetooth (UART), SD Card
(SPI), Coulomb counter (GPIO) and
Graphical LCD (UART)
– PCB provides pinouts for programming
the microcontroller (3 pins – serial clock,
serial data and program enable)
Theory of operation
• Power and Battery management
– A 7.2 V rechargeable Li-Ion battery
– LTC-1731 IC charger circuit for charging
via a AC/DC adapter (9V, 2 A)
– LTC-4150 Battery coulomb counter
which generates interrupts as a means to
measure battery life
– A 5V and 3.3V voltage (1 A current)
regulators to power the main circuit
Theory of operation
• Graphical LCD (DX 160)
– Operates at 5 V and requires 45mA to
drive the LCD at 100% backlight
– LTC-1129 voltage regulator to translate
TTL logic between 5V and 3.3V to
communicate with the microcontroller
– Operates at 115k baudrate, no parity and
1 stop bit
Theory of operation
• SD Card
– Operating at 3.3V in SPI Mode (16 MHz)
• Bluetooth (BlueSmirf module)
– Operating at 5V at 2.5 GHz
– An Intersil CD401 low-to-high voltage
shifter to interface the module with the
microcontroller
– Runs at 115k baudrate, no parity and 1
stop bit
PCB Layout
PCB Layout
Considerations:
-Two major section – Microcontrollers (Peripherals) and Power
supply system.
-Separation due to Analog Circuit Noise.
-Separate GND planes tied together
-Trace width of 40 mils for power circuit, 12 mils for digital circuit.
Digital Section:
PIC24 Microcontroller, Bluetooth module, SD-Card module,
LTC4150 Coulomb counter, LCD DX-160, Push buttons.
PCB Layout
Analog Section:
LT1510 battery charger, two DE-SW0XX switching voltage
regulators, input from 9V wall adaptor.
Microcontroller Layout considerations:
-4 decoupling capacitors for power supply.
-Placed on reverse side of PCB to save space.
-GND plane to provide easy access to GND signals for these
capacitors
-Headers placed close to MCU for debugging.
-Peripherals laid out on PCB so that they are closet to respective
pins on microcontroller to avoid crossing.
PCB Layout
Power supply Layout considerations:
-Power provided using 7.2 Li-ion rechargeable battery
-9V DC input from wall adaptor for recharging and direct supply
-100 mils trace for 9V input.
-Use of bulk decoupling capacitor to remove noise
-LT1510 charger consists of high freq. circulating GND path,
hence GND plane would be used beneath charger to keep
traces to GND minimum
-Inductor required for high freq. circuit (no GND plane beneath it)
-Two DE-SW0XX voltage regulator. Would be kept away to reduce
RF noise they might cause.
-GND plane would act as heat sink. External heat sink might be
added if required later on.
Top Level
Microcontroller
Power Circuit
Software Design
• Multi-touch table Software
– A Kalman filter to predict the movement
of blobs in video frames with Background
subtraction
Here xk = new position
Vuk = change due to velocity
yk = position with noise tolerance
Software Design
• “Time To Live” learning algorithm to quickly
diminish stationary objects and other
background objects
Stationary blobs
Touch Table
TTL= 4 sec
Touch Table
Software Design
• Bluetooth Module – Able to interface it with the
Intel Atom board (receive and send data at 115k
baud)
Software Design
• Graphical LCD – Able to draw ASCII characters
and developed an API to draw custom shapes
such as : Circles, lines and rectangles
Software Design
• SD Card: An API to read and write data to SD
Card. Until now, the read function and
initializing functions work flawlessly. FAT16 API
in progress.
Project completion timeline
TASK
TIMELINE
Final PCB layout
11th March, 2010
Initial circuit testing (breadboard)
10th March, 2010
Bluetooth protocol
24th March, 2010
SD Card API
29th March, 2010
Graphical LCD drivers
31st March, 2010
Multi-touch table hardware
25th March, 2010
Multi-touch table software testing
1st April, 2010
PCB testing
10th April, 2010
Packaging
1st April, 2010
Question ?