290 likes | 393 Views
ECE 477 Design Review Team 9 Spring 2006. Eric Tarun Craig Dave. Galamback Chawla Noble Kristof. Outline. Project overview Project-specific success criteria Block diagram Component selection rationale Packaging design Schematic and theory of operation PCB layout
E N D
ECE 477 Design Review Team 9 Spring 2006 Eric Tarun Craig Dave Galamback Chawla Noble Kristof
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 • Motion Tracking System • Low resolution camera takes images and detects differences • Servo motors aim laser pointer at moving target • Stores timestamps of motion events • Events are viewable on an LCD screen • On startup, users have the option to calibrate the system and set the current time
Project-Specific Success Criteria • An ability to analyze successive stored images for changes/movement in field-of-view. • An ability to calibrate laser-aiming platform relative to camera field-of-view. • An ability to aim laser at a torso 10 feet away. • An ability to timestamp and log motion events. • An ability to configure/control system operation and view event logs via pushbuttons/LCD.
Component Selection Rationale • Camera Chip selection • Needed a low resolution, small, inexpensive digital camera • Investigated cameras from Kodak and Omnivision • Decided on the OV6620 color camera • Comes on a module for simplicity (C3088)
Component Selection Rationale • About the OV6620/C3088 • Low resolution, 16 bits of data per pixel (CIF=352x292 or QCIF=176x146) • C3088 module includes 17.73 MHz oscillator (can be clocked down to 70 KHz) • I2C interface to set registers • Data is clocked by PClk signal • 5V operation • Analog Video Output • Only need to use Y data (8 bits)
Component Selection Rationale • Speed Issues QCIF Resolution Clock (MHz) FPS (frames/sec) .070 2.72 1 38.9 10 389.16 17.73 689.99 • Space Concerns (Image) [Difference Data] CIF: 352x292 pixels (102,784 B) [644 B] QCIF: 176x146 (25,696 B) [322 B] 1/3 from CIF: 118x98 (11,564 B) [216 B] 1/2 from QCIF: 88x73 (6,424 B) [161 B]
Component Selection Rationale • Microcontroller Selection (MC9S12DP512) • Fast enough to acquire images, pinpoint center of motion and output PWM signals to track motion in real time (25MHz) • Plenty of RAM to store one image and difference data (14k) • I2C interface • Plenty of I/O (91 pins on 112 pin LQFP package) • ATD, PWM, RTI systems
Component Selection Rationale • Servo motors • Pushbuttons – setting time, event scrolling, LCD backlight • Laser pointer • Potentiometers - camera calibration, LCD contrast adjust • LCD display - timestamp display
Packaging Design • Designed to be as small for maximum concealability. • 4.3” x 3.2” Serpac Electronic Enclosure holds PCB • A dome on top of the enclosure contains the laser and a servo motor for tilt control. • Designed to operate with either AC or DC power for user flexibility.
Schematic/Theory of Operation • Camera has a 24 pin connection to the microcontroller; two 8-bit data buses, I2C data and clock, and six control signals • VTO pin usable for analog video output • Only using Y (luminance) data, one byte per pixel • Scaled down PCLK allows for data manipulation as pixels are read in to the microcontroller • PCLK connected to interrupt pin, pixel data read on rising edge
Schematic/Theory of Operation • LCD module has an 11 pin connection to the microcontroller; one 8-bit data bus and 3 control signals • Contrast adjust potentiometer connected through power • LED backlight pushbutton connected through power
Schematic/Theory of Operation • Servo motors controlled by PWM signals • 16-bit signals will be used for increased accuracy, 8 channels available • Each motor has its own calibration potentiometer • Calibration pots connected to ATD channels on the microcontroller
Schematic/Theory of Operation • Laser pointer will be sourced directly from the microcontroller but also has an external switch to disable it • Up/Down push buttons wired to interrupt pins so there is no polling required • Programming header connected to BKGD and RESET pins • Extra PLD and headers available for easy expansion • Ceramic resonator has built in capacitors, 25MHz crystal • PLL circuit designed for 25 MHz
PCB Layout • Physical Considerations • Hard Constraints • Minimize overall area • 112 pin 22mm2 LQFP uC package • Headers: 2x17, 2x8, 1x6, 2x3, 1x3’s • 0.1” pin spacing, near PCB edge • Voltage regulator: TO-220 package • Power circuit separate from rest
PCB Layout • Physical Considerations • Soft Constraints: Component locations • Camera header fixed to minimize clock traces into interrupt port pins • LCD header near LCD location opposite of camera location • Remaining parts not as critical, placed near convenient port pins
PCB Layout • Electrical Considerations • Hard Constraints • Freescale recommended PCB layout • Capacitor, oscillator, PLL circuit • Copper pour under microcontroller • Bypass capacitors at each power pair • Camera/LCD module already covered • Isolation of oscillator/PLL circuit • PCB Manufacturer size limitations
PCB Layout • Electrical Considerations • Soft Constraints • Sizes used: 60mil power, 12mil signal • Short clock traces, far from others • 45 degree trace turns, no loops • Power circuit far from digital circuit • Signals cross perpendicular • Connectors close to modules
PCB Layout • Camera Module • Two 8-bit parallel data buses • Three clock signals, I2C communication • LCD Module • 8-bit parallel data bus, (3) control signals • Servo Motors • Use PWM outputs to determine position • Potentiometers • Bottom mounted, traces into ADC pins
Software Design/Development Status • Most interfacing will be interrupt driven • Interrupts: • PCLK – Highest Priority • Push Buttons • RTI for updating the clock • ATD for potentiometers • PWM signals for servo motors
Software Design/Development Status • PCLK ISR (for reference frame): RefFrame[row][col] = Y[7:0] Col++ if (Col > NUMCOLS) Col = 0 Row++ if (Row > NUMROWS) Row = 0 Ref_Frame_Acquired = 1
Software Design/Development Status • PCLK ISR (normal frame): if (abs(Y[7:0]-RefFrame[row][col]) > Difference_Threshold) ColDiffData[col]++ RowDiffData[row]++ Col++ if (Col > NUMCOLS) Col = 0 Row++ if (Row > NUMROWS) Row = 0 Find_Center()