CSCE 313 - Embedded Systems Design & Programming
68KMB Laboratory
1. The 68KMB Lab Apparatus
The exploration of embedded systems is done through a set of laboratory exercises using the 68KMB motherboard and its associated external peripheral boards. The 68KMB board has a separate power supply (wall adapter plug) and connects to a host PC using a serial cable.
Fig 1. 68KMB motherboard and a peripheral daughter board.
There is a set of daughter boards that connect to the 68KMB motherboard using "ribbon cables" that attach to "input/output ports" on this board. One of the connecting pins through this cabling is a power line, that provides current to the daughter board.
Fig 2. Detail of the 68KMB motherboard.
The large VLSI chip on the motherboard is the 68000 processor, in an old-style dual in-line packaging (newer packaging is more square, with pins all over the underside, not in two rows along the side, as here). As part of the lab exercises, you and your lab partner will be using the set of 68KMB development tools that run on the host PC attached at every lab station. You and your partner will download the compiled program code onto the board over the connected serial cable. Each lab will have a set of tasks which you do, along with a set of results that you should see. Each lab has a set of questions to be answered as part of the Lab Handout.
2. The Embedded Systems Laboratory in Swearingen 3A16
We have a small lab room set-up for hands-on access to the lab apparatus. We have each lab station set up with a PC, the 68KMB boards, and a grounding mat. Any time you touch the boards directly, you must make sure you are electrically "grounded" (or else you could short out the board through static electric charge, thereby ruining it!)
We generally don't have enough stations as we have students enrolled in the classes. These machines are different from those in the well-equipped labs in 1D11 and 1D14. Because the 68KMB board requires that you run with Admin privileges (as it is DOS-based for the tools and the terminal emulator software), we can't use the larger lab of machines on the first floor, nor can we connect these 313 lab machines the the Engineering network (for obvious security reasons).
Therefore, there will be signup sheets for the lab stations, set aside in hour increments. When we get to the point in the course where we need to meet in this lab, we will gather around stations to see demos, or I will bring a board to class, connect to my laptop, and use the projector to display screens in the classroom. Then, after we have discussed the lab and its background in lecture, you and your partner should set aside specific times when you can meet as a team to work on the labs at a station you reserve on the sign-up sheets on the door. NOTE: the later exam(s) in the course are based on the contents and results of these labs. If you don't participate in doing the labs, you will likely not pass this exam (usually Exam #2 or 3) for the course. Don't be a slackard! Do your own work as a team.
3. The Embedded Systems Lab Assignments
The CSE Undergraduate Committee has selected the use of the MacKenzie text and Lab package for this course. While the 68000 architecture is dated (after all, it is 25 years old), it still provides "hands on" interaction with the basic elements of embedded systems still used today. We focus on writing assembler code that controls the interfacing of the microprocessor to external peripherals through a set of interface devices. These device interfaces (accessed under software control via Motorola's memory mapped I/O mechanism to send/receive data and set/check control words) are archetypical (i.e., are "representative patterns") of interfacing work done with even the most advanced embedded systems interfaces.
We'll be writing code that controls peripherals that support inputting ASCII characters via a Hex keypad, and outputting characters via a set of switched and character LED displays. If you consider the basic interface elements of modern PDAs and cell phones, the interfacing from a keypad (such as on your cell phone) and the display of data to the LED or LCD display (also on your cell phone), the work you'll be doing in this set of lab exercises is directly transferable. Why is this? Because the way that we do this activity today is based on the patterns set down 25 years ago!! It's just like the effects of evolution observed in nature: once we have a basic pattern for doing something that continues to work, we continue to use it in our designs. This is clearly true for input/output interfacing to embedded systems: what we do with the M68KMB lab apparatus and its add-on boards will easily allow you to do it with your future employer for the latest technology-based embedded systems-based product.
The MacKenzie lab manual is posted here in PDF form. I think it is ridiculous to require students to purchase this manual, so I post the various labs we will be using to the web as PDF files.
MacKenzie Labs: Lab #6 (PDF), Lab #7 (PDF), Lab #8 (PDF), Lab #11 (PDF).
MacKenzie Labs for getting started: Lab #1 (PDF), Lab #2 (PDF), Lab #3 (PDF), Lab #4 (PDF).
We focus on these core embedded systems interfacing patterns, namely I/O interfacing, and programming to the interfaces to support chips tied to the 68000 across its bus structure, by working MacKenzie's labs #6, 7, 8, and 11. You will have already worked the MacKenzie lab #5 as a homework set using WISM68.
But, in order to be able to use the lab apparatus properly, you will need to work MacKenzie's labs #1, 2, 3, and 4, which are posted below. I don't require you to work these labs as an individual submission because they are really trivial. But, you need to allow for lab time to work through the use of the tools and the lab boards so that you can properly work the graded labs. Please keep this in mind as you work out a lab schedule with your lab partner. However, NOTE: Your team will be responsible for turning in this lab assignment BEFORE you start the other labs. We will be taking time in Thursday lectures to discuss the lab assignments.
Again, if you have not selected a lab partner in this class, please see me ASAP.