Final Design Project ECE2031 Spring 2012 Final project You have now built an entire computer within the DE2 board Now, we will Implement a new I/O peripheral, Choose and create an application for it Demonstrate it The new ECE2031 Robot In Summer 2010, our commercial robots were gutted, adding a new internal controller board and a connected DE2 on top Beginning Fall 2010, capabilities were added each semester Past ECE2031 Robot Projects Velocity/position feedback from wheels Open loop velocity control Sonar obstacle sensors Wall following The Spring 2012 project – I2C Things in green are “done” Several of the remaining unimplemented peripherals have an I2C serial interface SCOMP needs an I/O device that “talks” I2C As it turns out, this can be done with JUST the DE2 (no robot needed) Goal for a completed I/O subsystem What exactly is I2C? Slides from DesignCon 2003 TecForum Many processors include dedicated I2C pins, for accessing a bus of one or more devices We want to ADD such pins, as a dedicated I/O device connected to SCOMP Interconnection of Audio Codec Jacks on DE2 Analog audio SCOMP I/O lines Your I2C Controller I 2C Audio Codec (WM8731L) Digital audio TBD Simple configuration done with I2C Analog audio patching (pick a source, provide minimal analog amplification before output) SCOMP I/O lines Your I2C Controller Jacks on DE2 Analog audio I 2C Audio Codec (WM8731L) Digital audio (not needed) Another configuration done with I2C Decode and play a digitally encoded music stream Jacks on DE2 Analog audio SCOMP I/O lines Your I2C Controller D/A I 2C Audio Codec (WM8731L) Digital audio Digital music source Details about the audio codec Will be provided on web site Time is limited today But the most significant part of the grading is based on the I2C interface itself Not so much what you do with the codec Although that may distinguish the “high A’s” Project requirements – I2C Develop a general-purpose I2C controller with a STANDARD SCOMP I/O INTERFACE Demonstrate (midway through project) that you can talk to the audio codec chip on the DE2 board (more information to be provided) There is no need to modify any other existing I/O peripherals It must respond to standard I/O commands (IN, OUT) at one or more IO addresses that you choose (beginning at 0x10) It must be able to send arbitary 8-bit commands to arbitary 7-bit addresses on the I2C bus (should not be tailored specifically to the Audio Codec chip) Some of those commands will be write commands, so it must also be able to send following data from SCOMP Some of those commands will be read commands, so it must also be able to read and relay the response back to SCOMP But you may consider improving the display peripherals (7-segment, LCD, LEDs) to give a better user interface Create a demonstration SCOMP program (ASM) Do something with the audio codec on the DE2 Projects will be judged for features, effectiveness of I2C controller SCOMP interface Project starting point Start with SCOMP that is provided to you (after spring break) it will implement all instructions it will have an additional DE2 I/O device working (LCD) it will implement an 8-level subroutine call stack it will have a ROUGH starting point for your I2C controller Modify as needed, but as a minimum… finish the I2C controller consider user interface enhancements develop your application program Project “Decision Space” You can choose what the I/O bus interface looks like You can enhance the LCD and 7-segment outputs, as well as use LEDs Number and function of registers Number of instructions required to do a read or write on I2C bus Support for I2C multiple-byte data commands(must support twobyte writes and one-byte reads, as a minimum) Do not consider video input/output or other complex DE2 features – you will run out of time Because you will know something about the audio codec, it is POSSIBLE (but difficult) to use it as part of your interface Your SCOMP application program can do anything As long as it interacts with the audio codec in some meaningful way You may wish to bring microphone and/or headphones as you develop, if analog input and/or output is part of your plan Project phases and key dates Introductory exercises (March 27-29, in your regular lab section) Brainstorm your approach and turn in proposal on April 9, in lab section At some point, demonstrate communication with the audio codec on I2C bus (given a particular set of commands to issue) Investigate project starting point provided for you Sooner means more points for this “core demo” Complete your design Final demonstration – April 24-26 Make a PowerPoint presentation, explaining what worked & what didn’t. Demonstrate your solution. Points for your demo will factor into your grade. Turn in formal report the following Monday, April 30! (To Instructor Bourgeois by noon!) Project Schedule Sunday Monday Tuesday Wednesday You are here Thursday Friday Saturday Mar. 15 Project background in lecture 16 Project background in lecture 17 LAB CLOSED 18 LAB CLOSED 19 Spring Break 20 Spring Break 21 Spring Break 22 Spring Break 23 Spring Break 24 LAB CLOSED 25 LAB CLOSED 26 OPEN HOURS 27 Pre-project Exercises & Brainstorming 28 Pre-project Exercises & Brainstorming 29 Pre-project Exercises & Brainstorming 30 Design Proposal lecture (Thursday, too 31 OPEN HOURS April 1 LAB CLOSED 2 OPEN HOURS 3 Project work 4 Project work 5 Project work 6 Presentation and communication tips (Thursday, too) 7 OPEN HOURS 8 LAB CLOSED 9 OPEN HOURS & PROPOSALS DUE to Instructor Bourgeois 10 Project work 11 Project work 12 Project work 13 Exam 2 (Thursday, too) 14 OPEN HOURS 15 LAB CLOSED 16 OPEN HOURS 17 Project work 18 Project work 19 Project work 20 Design Report Tips 21 OPEN HOURS 22 LAB CLOSED 23 OPEN HOURS 24 Project Demos and presentations 25 Project Demos and presentations 26 Project Demos and presentations 27 LAB CLOSED REPORTS DUE MONDAY NOON! Project Demo Your demo will be separate from your oral (PowerPoint) presentation Both done in last day of lab Compete head-to-head with other teams in the class All section results compiled to rank teams for 500-point demo score Details later Brainstorming / proposal after break Review these slides Get with your project team (groups of four or five) Use collaborative process described in the “Design Logbook” and other information provided on the UPCP (watch for email!) Come up with a technical approach and management plan Write proposal in the format described on the UPCP and in the workbook Your proposal will be graded like any other report for style, formatting, content, etc. Your proposal should be detailed! Your proposal should explicitly describe how you address each of the items in the earlier “Decision Space” slide Should describe how it will be programmed in SCOMP Include some figures, such as a statechart, block diagrams Do not show lots of code – that comes later Again, include relevant figures, such as a flowchart Should describe problems likely to be encountered, with ways to address them Include backup plans if a high-risk task fails Experiment before proposing! During your first project day in the lab, conduct these activities Investigate the design file template provided Drill down into the details of the devices I/O decoder SCOMP (with 8-level stack, all commands) Rough I2C starting point Watch for posted exercises on project download page after break Thoughts for proposal It is never too early to prototype some ideas for your approach What might be too hard? Assign task responsibilities as you decide what is most interesting to each team member Understanding I2C serial protocol Understanding the audio codec Understanding the DE2 board interconnection of I2C devices SCOMP programming Unique features that could be implemented Prelab activities (for last Prelab Quiz) Last Prelab Quiz will cover Chapter 15 of textbook These slides DesignCon 2003 TecForum slides on I2C There are NO prelab exercises Clarifications Additional clarifications will be posted on the web site, or as direct answers to email When a general question is asked, everyone gets copied on the response