Transcript 2/01/2012
Team Scribacious Rabble
Design Constraint Analysis
Paul Rosswurm
Mitch Erdbruegger
Ben Kobin
William Hess
Project Description
Adaptation of the board game SCRABBLE®
Maintains the traditional physical tile interface...
augmented by ..
Sensing tile location and value
Automatically calculating and displaying scores
Maintaining player profiles
Validating words in the event of a 'challenge'
Exposing game stats over an external interface
Computational Constraints
Not much, just pushing data around
Store player info
–
Very Small
–
Can be slow
–
Simple metrics
Search dictionary for a word
–
1 MByte of data
–
~200-300 lookups for a binary search
–
Can be slow (external EEPROM speed is fine)
Computational Constraints (cont.)
USB Communications
–
USB module or UART w/ external USB logic
–
Response latency is not critical
–
Not hosting
–
Libraries exist (48MHZ, 256 bytes RAM min.)
Game logic
–
Large state machine
–
Can be slow (but preferably not)
Computational Constraints (cont.)
Board sensor data
–
Scanning row/column logic
–
Time response to a voltage change
–
Calibration – simple arithmetic with parameters
–
Upper bound 1 second to scan entire board
External I/O
USB connection
–
Published libraries use 2 dedicated pins
•
–
Must have USB module on-board
UART to USB chip (e.g. FT232R)
•
•
3.3V – 5.0V I/O
Internally clocked
Internal I/O : User Input
Rotary Pulse Generator
–
2 digital inputs
Challenge buttons
–
4 digital inputs
Internal I/O : Displays
4 LCD Screens (probably TG12864H3-05A)
–
At least 128x64 for required text
–
3.3V max voltage @ max 1mA
–
SPI interface
–
Minimum 6 pins (for all 4)
–
Maximum 16 pins (for all 4)
–
1 KByte of RAM to fully buffer
RGB LED backlights
–
Voltages of B:2.0V, R,G:3.1V @ 18mA
–
Need 12 PWM channels!
–
Will need an external chip
Internal I/O : Capacitive Sensors
Measure the time constant of a circuit
–
Drive pin and input pin on a timer module
Logic to isolate the correct circuit
–
Minimum 1 pin (clock with external logic)
–
Ideally 8 pins (4 each for row and column
select)
Internal I/O : Memory
I2C EEPROM
–
At least 1MB
–
e.g. CAT24M01XI-T2
–
3.3V logic levels
–
400KHz max
–
I2C communications
Peripherals: On-Chip
1 – USB Module OR UART
1-2 – I2C (PWM / EEPROM)
1-4 – SPI (Displays)
1 – Input Capture Timer Module
6 – Digital Inputs
9-16 – Digital Outputs
Potential Microcontrollers
Freescale MC9S08JE128CMB
Minimal
Little bloat
Cheaper
Microchip PIC24EP256GU810
Fulfills maximum requirements and more
More expensive
Peripherals: Off-Chip
External LED Driver
–
e.g. MAX6965
–
Open drain outputs – set correct voltages
–
3.3V input logic
–
I2C interface
–
8 bit PWM outputs
UART to USB bridge (if not a module)
–
e.g. FT232R
Level translator / Optical isolation
–
Sensor package and micro
Power Constraints
•
ICs are all 3.3V
•
Sensors may be better with higher voltage
•
Can use unregulated AC->DC wall wart
•
Reduce to 3.3V for ICs
•
Plenty of room in packaging, low risk of
overheating
Costs
•
•
Competition
–
Most expensive physical board - $175
–
Electronic hand-held units - $30
Target MSRP of $200