370 likes | 377 Views
Dive into the critical design review of a project focusing on stereo range finding using a Motorola Dragonball processor. Explore detailed hardware components, microcontroller features, circuit diagrams, and software functionalities. From absolute minimal functionality to above-the-call-of-duty features, this project aims to achieve innovative results with embedded Linux integration, touchscreen functionality, and more. Check out key milestones, division of labor, parts list, costs, and conclusions for a comprehensive overview.
E N D
Project Z: Stereo Range Finding Based on Motorola Dragonball ProcessorCritical Design Review (CDR) Zach Allen Chris Chan Ben Wolpoff Shane Zinner
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 Overview
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.
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
Mechanical Data TQFP (Thin Quad Flat Pack) Pin-out and Dimensions
Graphics Chip TI TVP5145 • Texas Instruments TVP5145 Video Decoder Chip • Accepts NTSC, PAL, and SECAM composite video, S-video • Single 14.31818-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.656 10-/8-bit 4:2:2 with embedded syncs • Programmable host port options including I2C and PHI (3 modes)
Mechanical Data TQFP Package Pin-Out and Dimensions
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 Cameras / Range-finding Devices • Sugarcube • NTSC Standard Output • 5V Powered • Manual Focus • Jamcam 2.0 • 640x480 Image Capture • Powered by 9V Battery • Serial Interface • Ultrasonic Range-finder • Short range – 6Meters • I2C I/O LCDs • Text/ASCII LCD • 4 rows x 20 character lines • 5x8 or 5x10 pixel characters • 5V operation • TFT LCD Display • 320x280 resolution • Backlit • Standard 8 Bit Header
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
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.” Milestones
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 Division of Labor
Conclusion • Stereo Range Finding • Motorola Dragonball VZ Processor • Real Time Embedded Software • Modularity in Design • Sufficient Market Demand