ECE 477 Final Presentation Group ?? Fall 2004

Download Report

Transcript ECE 477 Final Presentation Group ?? Fall 2004

ECE 477 Final Presentation
Group 05  Fall 2004
Outline
•
•
•
•
•
•
•
•
Project overview
Block diagram
Professional components
Design components
Success criteria demonstrations
Individual contributions
Project summary
Questions / discussion
Project Overview
• Classic Video Game Console
– NTSC Video Output
– Video Game
– USB Interface
– 2 Nintendo Controllers
• Game:
– Pong
Project Overview
• Project Success Criteria: Ability to~
– Generate NTSC video output signal
– Create and run games
– Control game functions via two controllers
– Load game code from a USB Memory Stick
– Generate sounds synchronized with game
functions
Block Diagram
BDM &
RS232
5/3.3 V
Power
Supply
Microprocessor
NTSC
Video
Output
Audio
Output
USB
Interface
User
Interface
(Nintendo)
Professional Components
• Constraint analysis and component selection
rationale
• Patent liability analysis
• Reliability and safety analysis
• Ethical and environmental impact analysis
Professional Components
• Constraint analysis and component selection
rationale
• Patent liability analysis
• Reliability and safety analysis
• Ethical and environmental impact analysis
Constraint Analysis
• Computational Constraints
– Imaging timing
• Complete TV image @ 30 Hz
• Buffer 2 times TV sync rate @ 60 Hz
• Micro 25 MHz => 2.3 mil operations
– Controller timing
• Delay from input to display
• Interrupt rate @ 16 us
Constraint Analysis
• Power Supply Constraints
– “Wall-wart” supplying 12 VDC
– Step-down regulators
Circuit Block
Voltage
Requirements (V)
Microprocessor
5
Video Circuit
5
USB Interface
3.3
User Interface
5
Constraint Analysis
Part
Qty
Max Required
Current per
Chip (mA)
MC9S12A256
1
65
65
XC95108
1
200
200
AD724
1
42
42
SL811HS
1
25
25
CY7C109
3
90
270
74VHC573
2
75
150
Max Required
Current (mA)
752
Current requirements
Max Required Current = 752 mA
Power Supply = 12 V DC @1500 mA
Constraint Analysis
• Cost Constraints
– Pricing
• Target cost of US$55.00
• Retail price of US$65.99
– Prices subject to change
Constraint Analysis
PART NAME
Qty.
Price/
Unit ($)
Vendor
6.26
Newark
InOne
AD724JR Prodn 16 ld SOIC - Wide 16 Comm
1
74VHC573M-ND (SOIC/D-Type Latch/High
Speed with 3-State Outputs)
4
Newark
InOne
MAX233AEPP (20-DIP/RS232 driver)
1
Newark
InOne
MAX233AEWP (20-SOIC Wide/RS232 driver)
1
XC95108-10PC84C
1
CY7C109B-12VC
MC9S12A256PV
4
2
6.26
Total
Cost
($)
33.96
Newark
InOne
20.45
4.4
23
20.45
Newark
InOne
4.4
Newark
InOne
23
Newark
InOne
88.07
Component Justification
Main Components:
Part
Manufacturer
Function
MC9S12A256
Motorola
Microprocessor
XC95108
Xilinx
Video Display
AD724
Analog Devices
RGB to NTSC
Converter
SL811HS
Cypress
USB Host Controller
CY7C109
Cypress
SRAM/Video RAM
74VHC573
Fairfield
High-Speed Latches
MC9S12A256 Motorola
Product
Memory
Operating
Frequency
Packaging
ATmega64
64K Flash
2K bytes
EEPROM
4K bytes SRAM
8/16 MHz
64-pin
RCM3000
512K Flash
512K bytes
EEPROM
28.4 MHz
52-pin
MC9S12A256
256K Flash
4K bytes
EEPROM
12K bytes SRAM
25 MHz
112-pin
MC9S12A256 Motorola
– Fast I/O pins
– Large number of potential I/O pins: 112
pins
– Multiplexed data/address bus
– Maximum bus speed: 25 MHz
– Easy access to development interface
• CodeWarrior
• Via BDM header and RS-232 protocol
– Many modes of operation
– Used in reference design
XC95108 Xilinx
–
–
–
–
In-circuit programmable
Fast pin-to-pin logic: 7.5 ns
5.0 V or 3.3 V I/O capability
Development board is available
• ECE 477 Lab owns one
• Code already compiled
– Preferred part in video display reference
design: Elm-Chan
AD724 Analog Devices
– 5.0 V operation
– Minimal external components
• Saves PCB layout space
– Compact 16-pin design
– Used in reference design
SL811HS Cypress
– Supports dual-speed USB transfer:
• Full-speed (12 Mbps) @ 48 MHz
• Low-speed (1.5 Mbps)
– Does not require DMA Controller
– Requires no glue-logic to sync with
microprocessor
– Available reference design
CY7C109 Cypress
–
–
–
–
High speed: tAA = 12 ns
TTL compatible I/O
Low active power (at 12 ns): 495 mW
Used in reference design
74VHC573 Fairfield
– High speed: tPD = 5.0 ns (typ) @ 5.0 V
– High noise immunity: VNIH = VNIL = 28%
VCC (min)
– Low noise: VOLP = 0.6 V (typ)
– 8-bit address latch required for design
– Reference design uses variant: 74VHC373
• Same function
• Different pin-outs
Professional Components
• Constraint analysis and component selection
rationale
• Patent liability analysis
• Reliability and safety analysis
• Ethical and environmental impact analysis
Patent Liability Analysis
• Analysis divided into 2 sections:
– Software
– Hardware
• Software patent search results:
– Games
• Patents for “Pong” and “Cannon
Fodder” not found
• Copyright/Trademark issues
Patent Liability Analysis
– USB-Interface
• Copyrighted by manufacturer—Cypress
• No existing patent found
– Video Circuit
• Freeware
• No existing patent for code found
– Other software codes
• Referenced from “Sparky”
• No existing patent found
Patent Liability Analysis
• Hardware patent search results:
– Power Supply
• 12 VDC + 2 MAXIM regulators
• MAXIM has patents for voltage regulator
circuits, but none for simple 3 component
device
• Unlikely that patent exists
– USB Controller Circuit
• Circuit from Cypress Application Note
• Not copyrighted/patented
• USB power protection (for hub though)
Patent Liability Analysis
– Video Output Circuit
• Elm-Chan.org
• Too many similar patents governing video
output in NTSC format (2k – 20k)
• Requires more extensive search by “legal
team”
– “USB Video Game Console”
• No existing direct patent, others expired
• Patent #4112422—Atari
• Patent #4053740—Older & un-named
• Patent #4824106—Nintendo
Patent Liability Analysis
• Summary of Patent Liability Analysis
– No real patent violation
– While USB software in C copyrighted, no
software patented
– Patents governing hardware mostly
expired
– Therefore, no patent infringement
Professional Components
• Constraint analysis and component selection
rationale
• Patent liability analysis
• Reliability and safety analysis
• Ethical and environmental impact analysis
Reliability/Safety Analysis
• Performed using MTTF and FMECA
• 5 Functional Blocks most likely to fail:
– Voltage Regulator Block
• MAX831/SO
• MAX832/SO
• MBR350
– RGB-to-NTSC Conversion Block
• AD724
Reliability/Safety Analysis
– Microprocessor Block
• MC9S12A256B
– Xilinx CPLD Block
• XC95108-PC84
– USB Controller Block
• SL811HS
Reliability/Safety Analysis
• FEMCA Worksheet
Lambda
MTTF (hrs)
MTTF (yrs)
Odds
Extremely
High
0.0000000001
10,000,000,000
11,114,155
1:10000 mil
Very High
0.000000001
1,000,000,000
1,114,155
1:1000 mil
0.00000001
100,000,000
11,416
1:100 mil
0.0000001
10,000,000
1,142
1:10 mil
0.000001
1,000,000
114
1:1 mil
0.00001
100,000
11
1:100000
High
Medium
Low
Very Low
Criticality Levels
Reliability/Safety Analysis
Possible
Causes
Failure
Effects
Method of
Detection
Bad
Fuse
F1
- Black/
Fried
Board
Power
Supply
Overload
Output
Shorted
Bypass
Capacitors
Power
Supply
WallWart
Failure
Power
Supply
Regulator
Failure
Block
Mode
Power
Supply
Criticality
Remarks
- Smoke
- Heat
- Flames
- Visible
Damage
Very high
Unlikely but possible. Bad fuse
That doesn’t trip can lead to
game console total and
permanent failure. Current
limitations form wall-wart may
Save the console.
- Fried
Components
- Total
Console
Failure
- Smoke
- Bad odor
Very high
Unlikely but possible. Can
protect system by putting larger
caps to GND.
VCC
- Fried
Components
- Total
Console
Failure
- Smoke
- Bad odor
- Heat
- Flames
Very high
Unlikely but possible. If wallwart fails, the input to the DCDC regulators goes up to
40VDC, if leakage voltage is
greater than this the power
Regulator block will burn.
U104,
U105
- Fried
Components
- Total
Console
Failure
- Smoke
- Bad odor
- Heat
- Flames
Extremely
high
Unlikely but possible. If DC-DC
regulators fail, everything fails.
FMECA Shortlists - 1
Reliability/Safety Analysis
Possible
Causes
Failure
Effects
Method of
Detection
Bypass
Caps
Failure
C49, C50,
C51, C52
- OverVoltage
Input to DCDC
regulators
Micro
Failure
9S12A
- Total
Collapse of
Console
Block
Mode
Power
Supply
Micro
Criticality
Remarks
- DC-DC
Regulator
Failure
- Smoke
- Bad Odor
High
If the bypass input capacitors
Fail, there is a chance of
Failure in the regulators as
Well due to the input of a
Greater voltage than the max
Handled by them.
- Console
Will not
Operate
High
This kind of failure can
Generate all kinds of random
Signals and voltages within
The system. Console will
Crash. The effects are
unknown.
FMECA Shortlists - 2
Reliability/Safety Analysis
• Summarized Reliability Analysis:
– USB Controller Block lowest MTTF
• Worst case: ~16 years
• Best case: ~80 years
• Typical: ~31 years
– To increase durability, increase quality
– Possible use of heat sink
Reliability/Safety Analysis
• Other areas of potential improvement:
– Voltage Regulator: Smaller chipsets with
fewer pins, heat sink
– Microprocessor: Smaller package, heat
sink
– Xilinx CPLD: Heat sink
Professional Components
• Constraint analysis and component selection
rationale
• Patent liability analysis
• Reliability and safety analysis
• Ethical and environmental impact analysis
Ethical/Environmental Analysis
• Ethical Analysis
– Ethics: “A set of professional guidelines
that governs the safe practice of
engineering and also to ensure product
safety.”
• Environmental Analysis
– “Going green to save Mother Earth.”
Ethical/Environmental Analysis
• Ethical Impact – Product Safety
– Design
• Hardware – Fuse, Decoupling Caps
• Software – Xilinx, Micro
• Packaging – Plastic, Non-angular, USB,
Air vent
– Production
• Shielding of exposed wires,
warning labels
Ethical/Environmental Analysis
– Testing
• Hardware claims
• Performance under adverse conditions
– Documentation
• User’s manual
• ISO, for example:
Ethical/Environmental Analysis
• Environmental Impact – Production, Disposal
– Printed Circuit Board (PCB)
• Sources of waste in mass production:
– Cleaning & surface preparation
– Catalyst application & electroless
copper plating
– Pattern printing & masking
– Electroplating
– Etching
Ethical/Environmental Analysis
• Some potential solutions:
– Use solvent process-able resists
– Reuse/Recycle echants by
electrolytic recovery
• Disposal
– Major Pollutants:
»Lead, Chemicals
– Recover for reuse
» Companies, e.g. BFI
Ethical/Environmental Analysis
– Plastic Casing
• Production not as much a problem as disposal
• 3 distinct approaches:
– Reuse
– Physical reprocessing
– Chemical reprocessing
• Recycling Services:
– United Plastics Recycling
– Connecticut Metal Industries
Design Components
•
•
•
•
Packaging design considerations
Schematic design considerations
PCB layout design considerations
Software design considerations
Design Components
•
•
•
•
Packaging design considerations
Schematic design considerations
PCB layout design considerations
Software design considerations
Packaging Design
Reference Designs
Packaging Design
• Analysis:
– Excessive CPU computing power
– Excessively powerful graphics engine
– Console bodies bulky
– Controllers uncomfortable to hold
Packaging Design
• Packaging Constraints
– Cylindrical main body
– Outlets for the following:
• USB port
• Audio vent
• RCA jack
• 2 controllers
– 1.5 kg target weight
Packaging Design
Main Body Design
Packaging Design
External Components
Packaging Design
Final Design
Design Components
•
•
•
•
Packaging design considerations
Schematic design considerations
PCB layout design considerations
Software design considerations
Schematic Design
• Functional Blocks
– Power Supply
– Microprocessor
– Latches, RAM
– Video Circuit 1,2
– USB Interface
– Miscellaneous
• Audio Circuit
• Controllers
• RS232
Schematic Design
Power Supply
Schematic Design
Microprocessor
Schematic Design
Latches, RAM
Schematic Design
Video Circuit 1
Schematic Design
Video Circuit 2
Schematic Design
USB Interface
Schematic Design
Miscellaneous
Design Components
•
•
•
•
Packaging design considerations
Schematic design considerations
PCB layout design considerations
Software design considerations
PCB Layout Design
External
RAM
Power Supply
USB
Interface
Micro
(HC12)
Video Circuit (Xilinx)
NTSC Video Output
Latches
RS232 & BDM
Audio
Circuit
General Layout
User Interface
(Nintendo)
PCB Layout Design
• Specific Layout Considerations
– Main PWR/GND traces @ 50 mils
– Only USB Interface powered @ 3.3V
– Minimum trace width @ 8 mils for tight spots but
@ 12 mils where possible
– Micro oscillator @ 16 MHz
– Xilinx oscillator @ 14.13 MHz
– Decoupling Capacitors
– Spatial constraints: RAM removed
– 74VHC373 layout used by mistake
PCB Layout Design
Layout Design
PCB Layout Design
Top Layer
Design Components
•
•
•
•
Packaging design considerations
Schematic design considerations
PCB layout design considerations
Software design considerations
Software Design
• Design Considerations:
– Micro: 256KB Flash + 128KB External RAM
Memory Allocation
Space / KB
USB Driver
61 (in C)
Pong Game
28 ( in C/asm)
Sound/Controller
4 (C/asm)
Start-up Code
8 (asm)
102 / 10 (S19)
Software Design
– Xilinx: CPLD + 128KB External RAM
• Code referenced from Sparky
• 38.4K Image
Software Design
• Design Narrative:
– Port mapping and initialization
• PORT A/B = Memory/Address Bus
• PORT H/K/T = Video, Controllers
• PORT M = USB Interface
• PORT S = RS232
• PWM = Audio
Software Design
– Controller “Driver”
NES Controller Timing Chart
Software Design
• Design Documentation:
Power on
Loading the Game
Port mapping
and
initialization
Yes
USB
Memo
ry
Stick?
No
Prompt user to
insert USB
Memory Stick
Load game
from USB into
micro memory
Execute
Game
Software Design
Game Executed
Initialize
headers,
function
prototypes and
global variables
Game
stopped?
Move paddles
as directed by
player
Player
hit Start?
Ball remains at
wall
Compute new
ball coordinates
Ball hit
top/btm wall?
Ball will resume
motion next
time through
loop
Bounce it in
new direction
Ball hit
paddle?
Stop game, beep
Write new
image to
memory
Ball hit back
wall?
Read data from
controllers
Advance ball
Pong Game
Success Criteria Demonstrations
1.
2.
3.
4.
5.
Project-specific success criteria #1 - demo
Project-specific success criteria #2 - demo
Project-specific success criteria #3 - demo
Project-specific success criteria #4 - demo
Project-specific success criteria #5 - demo
Individual Contributions
•
•
•
•
Team Leader – Peter Salama
Team Member 2 – Jorge Marcet
Team Member 3 – John Mastarone
Team Member 4 – Zhixiang Zhang
Team Leader – Peter Salama
•
•
•
Documentation
–
Constraints Analysis and Component Selection Rationale
–
Packaging Design
Hardware
–
Assisted in circuit debugging
–
Assisted in prototyping
Software
–
Assisted in debugging of game code
–
Assisted in debugging of user interface code
–
Designed and developed USB interface source code.
•
USB driver
•
USB controller to external device interface
•
USB to Microcontroller interface
Member 2 – Jorge Marcet
• Schematic Design
– Schematic Analysis
• Hardware
– Soldering of components to PCB
– Noise and circuit debugging
– Electrical Troubleshooting
– Prototyping
– Packaging
• Documentation
– Reliability Analysis
• Software
– Assisting in program initialization
Member 3 – John Mastarone
• Software Design
– Verification of source codes:
• Video Driver
• User Interface
– Development and debugging of game
• Hardware:
– Debugging of Video Circuit & Microcontroller
– Assisted in prototyping
• Documentation:
– Software Design Analysis
– Patent Liability Analysis
Member 4 – Zhixiang Zhang
• Presentation slide preparation
– Mid-term review
– Final
• Documentation
– Final design report
– Ethical/Environmental Impact Analysis
• Software:
– Audio circuit
• Assistance in hardware:
– Prototyping
– Soldering
– Packaging
– Product testing
Project Summary
• Important lessons learned
– Do NOT solder PWR to GND (even if by accident)
– Do NOT power a 5 V circuit with a 12 V source
– Connect decoupling capacitors NEXT TO circuit
component they are intended for
– Double check that the right pin-out for the
component is used
– Timing constraints are extremely crucial when
dealing with circuits operating at different
frequencies
– Don’t assume ported code works
– Among others…
Project Summary
• Second iteration enhancements
– Test the USB component of the console
– Integrate external memory into the circuit
for larger game storage
– Make controllers detachable
– Implement more sophisticated audio
circuit, possibly with its own audio driver
– Make body cylindrical
– Optimize game
Questions / Discussion
Block Diagram
Back
Power Supply
Block Diagram
Back
Microprocessor
Block Diagram
Back
User Interface
Block Diagram
Back
Video Circuit
Block Diagram
Back
USB Interface
Success Criteria Demonstrations
Back