Zach Allen Chris Chan Ben Wolpoff Shane Zinner Project Z: Stereo Range Finding Based on Motorola Dragonball Processor Critical Design Review (CDR)
Overview Quick Overview Baseline vs Desired Functionality Block Diagram Hardware Microcontroller: Features and Mechanical Data Graphics Chip Flash & SDRAM Peripherals LCDs & Cameras Circuit Diagrams Memory Map Timing Diagrams Routed PCB Software Boot monitor LCD Drivers Range-finding RTOS Schedule Comprehensive Milestones Division of Labor/Responsibilities Parts Parts List Cost Conclusion
Functionality Absolute Minimal Functionality: Laid out functioning PCB. Boot monitor working and running code. Processor is able to read data from an input device and store it in SDRAM. The Plan: Graphics chip streaming data from NTSC sugarcube cameras over i2c bus. The Backup Plan: Jamcam 2.0 digital camera with serial interface. The Absolute Worst Case Scenario Ultrasonic Rangefinder over i2c bus. Range finding based on data read in from hopefully the graphics chip. Above the Call of Duty Functionality: Run Embedded Linux Integrate Touch Screen Functionality – Touch the object and range appears. Display ranges on a PC terminal.
Block Diagram
Microcontroller Data Motorola MC68VZ328 Dragonball Processor 24 Bit External Address Bus 8 Built in Chip Selects 16 Bit Data Bus 33 Mhz Operation (5.4 MIPS) SDRAM Controller Glueless Interface to Flash/SRAM/EPROM 2 UARTs 2 Serial Peripheral Interface Ports LCD Controller for 640*512 LCD Boot Strap Mode Function (Allows execution to run program stored in system memory) 7 Priority Levels For Interrupt Control 3.0V +/- 10% Operation
DC Electrical Characteristics DC Electrical Characteristics
Mechanical Data TQFP (Thin Quad Flat Pack) Pin-out and Dimensions
Graphics Chip TI TVP5145 Graphics Chip TI TVP5145 Texas Instruments TVP5145 Video Decoder Chip Accepts NTSC, PAL, and SECAM composite video, S- video Single MHz or 27-MHz reference crystal for all standards Standard programmable video output formats: 20-/16-bit 4:2:2 YCbCr 10-/8-bit 4:2:2 YCbCr ITU-R BT /8-bit 4:2:2 with embedded syncs Programmable host port options including I2C and PHI (3 modes)
DC Electrical Characteristics DC Electrical Characteristics
Mechanical Data Mechanical Data TQFP Package Pin-Out and Dimensions
Flash and SDRAM Flash and SDRAM Flash 3.0 – 3.6 V read, erase and program operations. 64 Megabit(4Mx16bit) CMOS Ultra Low Power Consumption Sector Protection SDRAM 3.3V +-.3V operation 4Meg x 16 bit x 4 Banks Self Refresh Mode Fully Synchronous – All signals registered on positive edge
Peripherals Peripherals Cameras / Range-finding Devices 1. Sugarcube NTSC Standard Output 5V Powered Manual Focus 2. Jamcam 2.0 640x480 Image Capture Powered by 9V Battery Serial Interface 3. Ultrasonic Range-finder Short range – 6Meters I2C I/O LCDs 1. Text/ASCII LCD 4 rows x 20 character lines 5x8 or 5x10 pixel characters 5V operation 2. TFT LCD Display 320x280 resolution Backlit Standard 8 Bit Header
Power and Reset Power and Reset
Processor Processor
Memory Memory
Serial RS-232 Ports Serial RS-232 Ports
LCDs LCDs
Video Decoder Video Decoder
Headers Headers
Memory Map Memory Map
SDRAM Timing (write) SDRAM Timing (write)
SDRAM Timing (read) SDRAM Timing (read)
Flash Timing (read) Flash Timing (read)
TFT LCD Timing TFT LCD Timing
Routed PCB Top Layer Routed PCB Top Layer
Routed PCB Bottom Layer Routed PCB Bottom Layer
Routed PCB The One Routed PCB The One
Boot Monitor Initialize the Processor Registers Clocks Serial Interface Setup Memory Map User Interface Terminal interaction User Menu Download Code Execute Code Input is a Motorola S-Record
LCD Drivers ASCII LCD Initialization Code User Defined Characters Write A Character Write a String Clear Screen Go to Specific Location TFT LCD Use Internal Dragonball TFT Controller. Possible Touchscreen Interface.
Range-Finding Separate Memory into 2 Arrays for data From Each Camera and Store Video RGB Data Into Memory Find The Common Pixels Between 2 Cameras Utilizing Red Laser Pointer Find the Offset between the two arrays of pixels. Use a trigonometric relation to calculate the distance from the laser origin to the object being distanced.
RTOS (uCLinux) uCLinux uClinux is a derivative of Linux 2.0 kernel intended for microcontrollers without Memory Management Units (MMUs). Common Linux API uCkernel < 512 kb uCkernel + tools < 900 kb Successfully Run On the Motorola Dragonball EZ Processor and Other 68k Derivatives
Milestones Milestone 1 Board designed around Dragonball VZ processor, laid out, fabricated and populated. Boot monitor designed, tested and working. Design, test, and run RAM interface and be able to run simple instructions (nop). Milestone 2 Boots internally. Rangefinder built, and code developed for video chip interface, range finding, and LCD display.
Milestones Expo Get system to run embedded Linux. Linux interfaces with graphics chip. Modify code to run on Linux. Final Debugging. Magical Demonstration and working project. It will be “the one.”
Division of Labor Allen Boot Monitor Initialization Range Finding Algorithm Chan User Interface Code Range Finding Frame Grabbing and Dumping Wolpoff Boot Monitor Serial Code LCD Display Code Zinner Populate Board Burn Flash and Basic Program All Embedded Linux Build Test Board
Parts List/Expenses Parts List/Expenses
Conclusion Stereo Range Finding Motorola Dragonball VZ Processor Real Time Embedded Software Modularity in Design Sufficient Market Demand