IEEE 1999 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Return to Table of Contents

Evolution and Enhancements of a Microprocessor Systems Course

Naraig Manjikian, Member, IEEE, and Stan Simmons, Member, IEEE

Abstract - This paper discusses and evaluates the core third-year microprocessor systems course in Electrical and Computer Engineering at Queen's University. To aid students in acquiring a solid understanding of hardware/software systems design and implementation, we have developed what we believe is an integrated, practical, and student-centered approach for teaching this important subject. We combine a popular commercial microcomputer board with our own custom-designed interface board in a kit that students retain for the duration of the course for both in-lab and at-home assignments. We supplement the microcomputer kit with a graphical software simulator that accurately models all facets of the hardware; machine code for the hardware runs directly under the software simulator with no modification. Finally, we have written our own textbook that reflects what we believe to be the most suitable sequence and organization of hardware and software topics for our course. In this paper, we outline the motivation for our approach, discuss its evolution, relate the course materials to our approach, provide an assessment of our approach including feedback from a student survey, and discuss the recent acquisition of new equipment and future plans.

I. Introduction

A microprocessor systems course is commonly viewed as an essential component of computer engineering programs, as well as many electrical engineering programs. Such a course is often a student's first real initiation into a ``systems'' type course, where emphasis is not on analysis and formulas, but on understanding the design and operation of a real system at many levels of abstraction. The style and format of such a course represents a challenge for instructors.

The purpose of this paper is to relate our views on this type of course, to describe how we offer the course at our institution, and to assess the effectiveness of our course. Key aspects of our approach include:

Section II outlines our teaching philosophy and the content of our microprocessor systems course. Section III describes the evolution of the hardware used in teaching our course. Section IV describes the evolution and features of our detailed software simulator. Section V provides an assessment of our approach based on student feedback and our own observations of student performance in the course. Section VI describes recent developments that have allowed us to acquire a large amount of new hardware, and outlines our intention to provide each individual student with a microcomputer kit in future offerings of our course. Finally, Section VII concludes our paper with a summary.

II. Teaching Philosophy and Course Content

There are many challenges in designing a microprocessor systems course. The following questions are a sample of the considerations that must be addressed:

The choice of solutions to address the questions listed above must consider the learning objectives for the course, which will then determine the specific underlying philosophy or approach for the course. The remainder of this section addresses each of these issues in more detail.

A. Desired Learning Objectives

The learning objectives that we have for our students in this course may be divided into both general and specific categories. The general learning objectives are for skills that are transferable to other courses and ultimately into the future careers of our students, whereas the specific objectives are related more closely to the technical contents of our microprocessor course. A breakdown of our objectives is as follows:

B. Teaching Philosophy

We feel that much of the operational awareness and design ability described above is best developed with a detailed study of an actual microprocessor system, rather than solely through a description of abstract design procedures. We have therefore taken an approach that is centered around the use of ``take-home'' laboratory kits that incorporate an 8-bit commercial microcomputer board, a custom companion board for interfacing and clocking control, and a software simulator that accurately models the operation of the microcomputer board. We believe it is important for students to come to grips with a real (and complete) microcomputer system at this level in order to meet our general learning objective of mastering technical complexity. It allows students to see and practice the application of basic ideas in circuits, electronics, digital systems, and computer architecture in order to meet our specific learning objectives for the course. The content of our course strives to provide a balance between fundamental concepts and practical implementation details on the target hardware.

Our take-home kits are based on the Motorola 68HC11EVB microcomputer. The 68HC11EVB is a complete system with a 68HC11 microcontroller [1], external RAM and ROM, and serial and parallel I/O interfaces. It is, however, simple enough for students to grasp in its entirety over the course of a single academic term. It illustrates all the fundamental ideas in computer systems, at least to the third-year level. This use of a commercial board plus a less-expensive custom companion board has provided a low-cost solution, and the creation of a take-home kit and simulator gives students unfettered access to the target system, allowing ample time for individual exploration, experimentation, and (importantly) debugging.

We have resisted the temptation to go to a 16-bit (or larger) processor. We feel the inherent simplicity of an 8-bit system is a significant advantage for a first course in microprocessors. Even a consideration as simple as the ability of students to more easily recognize 16-bit address or 8-bit data patterns favours such an approach. Our emphasis is on a solid understanding of the sequencing and internal steps for instruction execution, cycle-by-cycle bus and memory interface timing of the microprocessor, hardware/software interaction, and differences in the time scales for I/O and processor activities. Once students have mastered these basic concepts on a complete 8-bit system, they can extend their understanding to larger 16, 32, and 64-bit computers.

In our course, pairs of students share a take-home kit, and receive the same mark for all laboratory assignments. These assignments constitute only 15% of the overall course mark, hence it is necessary for students to individually achieve the specific learning objectives for the course in order to perform well on the midterm and final examinations. Where necessary, we provide support to aid students in overcoming learning challenges, but we do have the normal expectation for students to take the primary responsibility for their own learning in a university environment.

We view laboratory assignments as a vehicle for students to use in achieving our general and specific learning objectives. In solving hardware and software design problems, students work together and can therefore promote synergistic learning. We aid students in their endeavors by providing instruction in useful design procedures, particularly for software, that they can combine with their own creativity. Later in the paper, we comment on the effectiveness of this approach based on the sharing of hardware, and the possibility for more individualized learning made possible by the acquisition of a large amount of new microcomputer hardware as part of a prize won by two of our students in a Motorola-sponsored design contest.

C. Current Sequence of Topics and Lecture Format

For the most part, topics in our course progressively build on one another in a manner that is similar to equivalent courses elsewhere (e.g., [2]). We begin with an overview of microcomputer organization in a general sense, as well as the organization of our 68HC11EVB target system. The architecture and programming model for the 68HC11 microcontroller come next, with an overview of its assembly language. Based on their prerequisite course in basic computer architecture and programming, students are expected to master the relevant aspects of 68HC11 assembly language through examples and practical work. The first half of the course continues through detailed instruction execution and sequencing, bus and memory interface timing, and parallel port design and operation. The latter half of the course then deals with interrupts, serial ports, other subsystems (e.g., timer) and applications, and finally software organization with embedded system applications. Throughout the course, we strive to balance the technical details of our target system with fundamental concepts in microprocessor systems.

Our academic term is 12 weeks long, hence with three 50-minute lectures per week, there are a total of 36 lectures available. The sequence of topics and the lectures dedicated to each one are as follows:

We reserve one or two lectures for review prior to the midterm and final exams.

Lecture Demonstrations: In the Fall 1998 term, one lecture at least every two weeks was dedicated to presenting demonstrations of microcomputer system behavior using the actual hardware or the detailed software simulator. A recently-acquired Tektronix TLA704 logic analyzer on a cart, shown in Fig. 1, was wheeled into the lecture hall for this purpose. The logic analyzer consists of a PC-compatible hardware platform that may be connected to an external display device, which in this case was the large-screen video projection system in the lecture hall (Fig. 2 and 3). The logic analyzer was connected to the actual microcomputer hardware to display waveforms on the projection system for the purpose of explaining system behavior. The detailed software simulator was also installed on the logic analyzer, and could be demonstrated easily in the lecture setting.

Fig. 1. Tektronix TLA704 Logic Analyzer with cart used for hardware/software demonstrations during lectures.

Fig. 2. A view of the Searle Lecture Theatre in Walter Light Hall where our microprocessor systems course lectures are conducted.

Fig. 3. Position of logic analyzer and microcomputer hardware during lecture demonstrations.

Case Studies: For the Fall 1998 version of our course, we also introduced case studies of embedded microprocessor systems at the end of the course to integrate all of the material covered during the term. The first case study centered on a space-borne 68HC11-based system that flew on board the NASA Space Shuttle mission STS-95 on October 29, 1998. Developed by a local company in Kingston, Ontario, called Millenium Biologix, the system consisted of a microgravity bone cell growth experiment called OSTEO that required tight temperature control and periodic event recording in non-volatile memory. For this purpose, a 68HC11-based computer control system was developed. This shorter case study primarily compared the hardware organization of this system with the 68HC11EVB used in our course and demonstrated an interesting use of a simple 8-bit processor.

The second and longer case study centered on a 68HC12-based vehicle cruise control and radio-telemetry system developed by two Electrical and Computer Engineering students at Queen's University for the Queen's Solar Vehicle. This case study examined both the hardware organization and the software organization, relating the course material on serial/parallel interfaces, timer interrupts, and embedded system software structure to the specifics of the case study. Later in this paper, we discuss how this system was successful in winning a Motorola-sponsored design contest.

Student reception of these case studies was generally positive; meaningful applications helped place the concepts of the course into proper perspective. It is logical for the case studies to be done at the end of the course so that students understand the integration of all relevant concepts. The only difficulty is that student attention leading into the final examination period at the end of the term may be on the wane.

D. Development of Customized Course Material

As is the case in most courses, existing textbooks are never perfect from the viewpoint of the instructor. For a microprocessor systems course, published textbooks (e.g., [3], [4], and [5]) cover a spectrum ranging from specific details on usage of a single product such as the 68HC11, to the most generic discussion of microcomputer-related topics. Furthermore, the content and organization of an existing textbook may not match the instructor's perspective and lecture format. In past years, our microprocessor systems course had utilized different published textbooks ([3] and [5]) as recommended references for students to purchase, but instructor lecture notes and handouts had served as the main material for the course.

For the Fall 1998 offering of our course, it was decided to expand the lecture notes and transform them into a custom textbook to better present hardware/software principles in a manner that reflects our particular sequence and organization of topics. This approach avoids the need for students to sift through differing reference texts in a course that is already demanding of their time. It also has the benefit of providing an appropriate balance for the instructor between treatment of fundamental (generic) microcomputer concepts, and the practical implementation of those concepts in our target hardware.

A detailed paragraph-level outline for the chapters of our textbook was developed beginning in June 1998. From mid-July through August, the body of the document was written and figures were generated. In the first week of September 1998, the final product was sent out for photocopying and binding through our university printing services and made available in our bookstore for students to purchase. The result is a 220-page textbook containing explanations and discussion of microprocessor system principles, examples based on the 68HC11, memory technology and implementation, parallel and serial port hardware, and software design principles. The discussion in the text is supplemented with block diagrams, annotated logic analyzer screen dumps, and exercises and review questions.

The table of contents for our textbook may be viewed to see our particular organization of the material. An excerpt of our textbook may also be viewed on our public Web site.

III. Microcomputer Hardware and Evolution

Our current take-home kit is shown in Fig. 4. The components of the kit are packed in a plastic case for transport and storage. Fig. 5 shows a typical setup of the components during at-home or laboratory use. The remainder of this section discusses the evolution of the hardware for our course to the point at which it is today, and describes the various components of the kit.

Fig. 4. The current take-home kit used in our microprocessor systems course.

Fig. 5. Typical setup of kit during operation.

A. Early Microprocessor Laboratory Hardware

The equipment used in our course is a result of evolution over many years. Our department first began offering a microprocessor course in the late 1970's using Motorola MEK6809D4 kits. The hardware in each kit was structured as multiple cards plugged in to a proprietary multi-slot backplane. In the laboratory, each kit was housed in an enclosed box with an integral power supply, weighing in at over 20 pounds, and occupying more than a cubic foot of space. All stations were served off a Sun 3/160 computer beginning in 1986 in order to allow students to maintain files and assemble programs on the server. Experience showed that lack of sufficient time for students to use the in-lab hardware limited the educational benefit of the laboratory work. To increase the exposure of students to microcomputer hardware, the ideal situation would be take-home hardware. It would be necessary, however, to wait until microcomputer hardware had been reduced in size to fit onto a single board, and also for it be common for students to own a more powerful personal computer for developing and assembling programs.

B. First Version of a Take-Home Kit (1992-1997)

In the Fall of 1991, take-home kits were created containing an MC68HC11EVB board, a companion wire-wrap board, a wall adapter power supply, wire-wrap supplies and tools, and various discrete logic chips. Each 68HC11EVB was enclosed in a metal case with a plexiglass cover. The components of the kits were packaged in a low-cost plastic container for transport and storage. Signed out by students at the start of each academic term, the kit could be kept and used by the students at home. The kit was sufficiently compact and lightweight that it was not difficult for students to bring it to the laboratory once a week for their assigned laboratory work period. In the laboratory, they could then complete the requisite work that they initiated at home, obtain assistance when required, and demonstrate their final working products.

The original companion board, illustrated in Fig. 6, provided a ribbon cable connector to the 68HC11EVB, a set of LEDs for output, a set of DIP switches and pushbuttons for input, two 555 timer chips, a DAC08 D/A converter, and a few sockets for logic chips. A wall adapter provided the 5V supply for logic and +12V/-12V supplies for RS-232. While some connections to LEDs, DIP switches, and pushbuttons were permanent wire traces on the board, wire-wrapping pins on the underside of the board allowed for custom wiring between the 68HC11EVB ribbon cable connector and the logic chip sockets. This custom hardware enabled students to design, construct, and test simple hardware for various interfacing tasks. These included a parallel printer interface using handshaking, single-stepping clock control of the 68HC11, and voice recording with delayed playback by using a telephone handset with the 68HC11 on-chip A/D converter and the companion board DAC08 D/A converter.

Fig. 6. Original companion board for 68HC11EVB (1992-1997).

C. Second Version of Companion Board (1998)

In 1998, it was deemed an appropriate time to upgrade the hardware in the take-home laboratory kits. Because we felt that the use of an 8-bit microprocessor such as the 68HC11 was still an appropriate choice, our focus turned on replacing the original companion board that relied on wire-wrapping. Although the exercise of wire-wrapping to construct digital circuits is useful for demonstrating a form of prototyping and the importance of being meticulous, it is also time-consuming and error-prone for inexperienced wire-wrappers. With the improvements in technology for custom digital circuits, it was felt that using programmable logic chips would make design, implementation, and revision of custom circuitry both faster and more enjoyable. It would also reinforce students' programmable logic skills acquired in an earlier logic course.

A redesign of the companion board was undertaken during the first half of 1998. Many useful features from the original companion board were retained, including LEDs, pushbuttons, DIP switches, 555 timers, and the D/A converter. The primary enhancements consisted of a dual-digit 7-segment LED display, and two in-system programmable Altera logic chips. The new board also uses only a single-voltage 9V wall adaptor; on-board regulation and voltage inversion provides 5V for logic as well as the required positive and negative RS-232 voltages. The resulting product is illustrated in Fig. 7; actual size is 17.5cm by 14cm. The new board has a lower profile with no wirewrapping pins underneath, and a more professional look and feel. It was fabricated by arrangement with Technological Arts in Toronto, Ontario. Further details on the new companion board are available on our public Web site.

Fig. 7. New companion board for 68HC11EVB (1998).

The inclusion of programmable logic chips in the redesigned board recognizes the fact that modern logic design is often implemented in programmable devices. It also has the important benefit of making the functioning of the companion board student-programmable. The new board therefore incorporates one Altera EPM7064SL-44 chip that can be reprogrammed in-system for a wide variety of functions (the other chip is used for the 7-segment display). It may be used for single-stepping clock control, for clock division, to create pulsed waveforms for the digital inputs of the 68HC11 ports, or to emulate a variety of serial or parallel input or output devices attached to (fixed) corresponding ports the 68HC11.

D. Interface to the MC68HC11EVB

In addition to the companion boards, our microcomputer kits also contain the Motorola 68HC11 Evaluation Board (EVB). Fig. 8 illustrates how we have encased the EVB in a protective metal enclosure with a plexiglass cover to allow viewing of the internal components. The connection to our companion board is made with the 60-pin ribbon cable and power cable that are visible on the left. The enclosure is also used to protect a custom piggyback daughterboard that picks up the 16 external address bus and 8 data bus signals for display on LEDs (these signals are not available on the 60-pin ribbon cable header from the EVB.) The daughterboard is plugged into the spare memory socket of the EVB. This feature has several uses. At full clock speed, the pattern on the address LEDs provides a visual cue as to what address region the program is spending most of its time in, and system resets or hangups can be easily detected by the resulting static address patterns. In addition, this bus display allows students to directly observe the cycle-by-cycle execution of the 68HC11 by using the pushbutton single-stepping capability that will be described shortly. For example, the stacking of register values and vector fetch during an interrupt can be clearly traced by observing the address and data LEDs in each cycle. The static CMOS design of the 68HC11 microcontroller is certainly useful in allowing the processor execution to be halted in order to view address and data values.

Fig. 8. Motorola 68HC11EVB in metal case.

The ability to single-step the processor clock under pushbutton control has educational advantages. It is an excellent method of understanding how the processor sequentially executes instructions while monitoring the bus values (the software simulator allows a similar, if ``softer,'' experience). To implement this feature, we use two 555 timers called FAST and SLOW, and a clock-select toggle switch on the companion board. The EVB's 8MHz crystal is selected during downloading of programs. By flipping the clock-select toggle switch, the crystal circuit is overdriven from the companion board to allow clock control from one of the two 555 timers and the pushbutton. The FAST timer runs at 100-200 KHz, and allows rapid entry to the user program from the monitor. At the point at which single-stepping control is desired, it is only necessary for the user program to flip one output line on 68HC11 port A to select the debounced pushbutton as the single-step clock source. Until the pushbutton is pressed, the 68HC11 is held at a fixed point during the bus cycle. An early assignment in the course has students design additional control logic to advance the 68HC11 by one bus cycle (4 EXTAL clock periods) for each push of the button, as shown in Fig. 9. Continuously depressing the pushbutton allows the SLOW clock, whose rate is resistor-programmable (typically to 1 Hz), to advance the 68HC11's execution at a controlled rate. Execution at the rate of the FAST clock is restored either within the program by changing the port A control line in software, or by pressing the reset button.

Fig. 9. Timing diagram to illustrate halting of 68HC11 clock.

E. Speech Board

In February 1998, at the same time that the new companion board was being designed, an interesting commercial product was identified, namely a chip from Integrated Storage Devices for recording and playing back up to 60 seconds of speech. The sampled speech is stored directly in nonvolatile on-chip memory. Only a few external components are necessary, such as a microphone, speaker, and some resistors and capacitors.

Because the ISD chip has been designed with an interface suitable for connection to microcomputer systems, it was apparent that such a chip could be effectively used in interfacing experiments with the 68HC11 microcomputer board and the new companion board. Students could write software to control the recording and playback of voice messages on the speech chip through a parallel port. This experience would have significant educational benefits, and the use of a product such as the speech chip would make the experience interesting. The upgrade of our take-home kits was therefore expanded to permit fabrication of a small speech board along with each new companion board.

In March 1998, a prototype circuit with the ISD speech chip was tested successfully with the original companion board and the 68HC11EVB. The design of a small add-on speech board for the new companion board was then developed. The resulting board after fabrication is shown in Fig. 10; actual size is 5cm by 5cm. The jack on the right-hand side is for headphones or an external speaker. The microphone is located at the bottom right-hand corner. The connector on the left-hand side of the board is for a cable that permits the speech board to be connected to the new companion board; Fig. 5 shows this connection.

Fig. 10. Speech board.

F. Sample Assignments Using Hardware

The following is a list of sample assignments that have used the hardware features of the 68HC11 and companion board:

Other possibilities include:

IV. Software Simulator for Microcomputer Hardware

Use of real hardware in a microprocessor systems course is essential for achieving the learning objectives we outline in Section II. It is, however, useful to provide additional tools for more in-depth exploration of system behavior. A logic analyzer is one such tool, but it is expensive and not practical for individual student use outside of the laboratory. A more appropriate alternative for individual student use is a detailed software simulator.

A simulator for the 68HC11EVB in our microprocessor systems course emerged from two 4th-year student projects in 1994 and 1996. The second project migrated the simulator developed by the first project from a DOS-based interface to Windows 3.11. The initial version had several useful features: a graphical representation of the EVB buses, accurate modelling of CPU execution, a memory window for viewing and editing memory contents, cycle-by-cycle animation and stepping, display of 68HC11 PRU, and ACIA register contents, user-specification of external input events, and a built-in assembler.

In addition to the shared hardware in the take-home microcomputer kits, students had the option of obtaining a copy of the simulator for individual experimentation at home on a personal computer. There were no assignments that strictly required the use of the simulator, but it served as a useful learning aid for many students by visualizing the cycle-by-cycle operations and changes in register values for instructions in short code segments. Although the original simulator did provide many features, it was not a complete model of the hardware, and as such, it had a more limited role in our course in the period 1995-1997 than the actual hardware.

Beginning in 1997, significant enhancements were made to the simulator by one of the authors (S. Simmons, with suggestions from N. Manjikian). The primary intent of these enhancements was to make the simulator agree as closely as possible with the real hardware so that any program could run on both the hardware and the simulator without modification. The integral assembler was abandoned in favour of use of Motorola's AS11 cross-assembler, with the ability to download machine code in Motorola's S-record format. Motorola's EVB-resident BUFFALO monitor program was added to the simulator's EPROM for accurate modelling of actual EVB operation, along with terminal windows for user communication through either the ACIA or SCI serial interfaces. Modelling of 68HC11 subsystems was extended to include the port A timer systems and port D serial subsystems, and windows were added for display of serial subsystem waveforms and register contents. Provision was made for specifying breakpoints and watchpoints independently of the BUFFALO monitor so that the user may completely bypass use of the monitor when executing programs (the reset vector is user-selectable). Finally, a bus-display capability was added to provide a logic-analyzer-like waveform window in which bus values may be monitored as the program is executed. With all of these features, the simulator is now a faithful model of the actual hardware, and it is also easy to use. In fact, downloading 68HC11 machine code into the simulator is much faster than the equivalent procedure for the hardware.

The main EVB schematic window is shown in Fig. 11. As code is executed, the register contents are displayed. There is also the option of displaying two additional internal temporary registers that are necessary for constructing 16-bit addresses and data. Double-clicking on various components such as the external bus, memory, or serial interfaces brings up a window dedicated to displaying that specific component. For example, the bus display with waveforms for the address, data, and control lines is shown in Fig. 12. This feature helps students understand bus timing in order to meet our specific learning objective related to bus and memory interfaces. More examples of the features of the simulator are available on our public Web site.

Fig. 11. Main EVB schematic for software simulator to animate cycle-by-cycle execution (click on figure for full-size view).

Fig. 12. Bus display in software simulator showing waveforms and data values.

A further important enhancement of the simulator is in performance. The on-screen animation features can be turned on or off with a single keystroke. With animation turned off, the simulator can execute 68HC11 code with a slowdown factor of less than 80 on a 300 MHz PC-compatible computer when compared to the actual 68HC11EVB running at 2 MHz. This simulator performance is quite adequate for most compute-intensive code that is of interest in our course. For programs with character input/output on serial ports, the simulator provides the option to increase the simulated serial clock rate to compensate for the slowdown.

With all of the enhancements that have now been incorporated into the simulator, it can replace the actual hardware for much of the programming required for the laboratory assignments. As a result, our current plans are to integrate the use of the simulator more formally into the course. For example, it may no longer be necessary for students to use a take-home hardware kit for the first half of our course. The simulator can be used at home to develop and test software, and the software can then be demonstrated on the actual hardware in the laboratory. Even for the assignments that rely on the hardware located on the companion board (i.e., the programmable logic chip and the 555 timers), initial preparation of the necessary software can largely be done with the aid of the simulator.

V. Assessment of Our Approach

A. Student Feedback

A student survey was conducted at the end of the Fall 1998 term in our course with the particular aim of obtaining feedback on the new microcomputer hardware and student experiences with it. Because donations to a student-administered equipment fund covered part of the costs of fabricating new hardware, it was also important to determine student satisfaction with how their donations were used. Of the 140 students registered in the course, 80 students completed and returned the survey form. The survey presented students with several statements for which they could choose one of five responses: strongly agree, agree, neutral, disagree, strongly disagree.

The statements provided on the survey form, along with a summary of results, are given in Table I. For each question, the percentage of responses of `strongly agree' and `agree' are summed together for conciseness. Similarly, `strongly disagree' and `disagree' responses are summed together for each question. The detailed breakdown into all five response categories is provided on our public Web site.

Summary of Student Responses for Survey Conducted by Instructors (Fall 1998)
1. Overall, I am satisfied with my laboratory experiences using the microcomputer kit. 89%2%9%
2. Lab assignments helped me learn more about microcomputer hardware systems. 90%4%6%
3. Lab assignments helped me learn more about software development. 85%10%5%
4. The time I spent on preparing designs for interesting applications was reasonable. 47%18%35%
5. Student equipment fund donations partially paid for hardware. It was a worthwhile expenditure. 95%4%1%
6. LEDs, pushbuttons, and DIP switches on the companion board were helpful features. 95%3%2%
7. A programmable logic chip on the companion board is an interesting, educational feature. 85%11%4%
8. The speech board is a valuable addition to the hardware. 90%9%1%

The results clearly show that the overwhelming majority of respondents were satisfied with their experiences using the new hardware and felt that the expenditures were worthwhile. The response to question#4 indicates that students may have felt at times that they were facing a somewhat heavier workload in our course, but this did not detract from their overall positive assessment. Although the respondents constitute only 57% of the registered students in the Fall 1998 term, the strength of the positive responses provides a degree of confidence that the opinions are likely to reflect the views of a majority of students in the course.

B. Assessment by Instructors

In providing our students with resources such as a custom textbook, a take-home hardware kit, and a software simulator, we expect that they take on a significant role in their learning of the material. Aided by the lectures and assistance provided during their weekly laboratory sessions, it is expected that they rise to the challenges presented by our course. Although some students flourish in this environment, others flounder. The best students always do well, but many students may not have adequate skills to manage and extract information from multiple sources, and to plan their learning time appropriately.

Midterm and final examinations have typically accounted for 85% of the final mark in our microprocessor course in recent years. The remaining 15% is for laboratory assignments. The heavy weight placed on examinations should serve as incentive to learn as much from the assignments as possible. Experience has shown, however, that when working in pairs, some students may rely too much on their partners and as a result do not learn the material as effectively. Bimodal distributions for examination results provide some supporting evidence for this contention.

In seeking to ensure that all students obtain the most educational benefit from our course, our responsibility as instructors is, in part, to present the material and its application in a manner that motivates student learning. For an important practical course such as ours, the provision of take-home kits with interesting assignments is an important factor in our approach. If, however, sharing of hardware between pairs of students prevents some students from achieving the full benefit of our course, then it is appropriate to consider ways of focusing more on individual student learning. The next section discusses recent developments that will enable us to effectively address this issue with enough hardware to provide students with individual microcomputer kits.

VI. Recent Developments and Future Plans

In the past offerings of our course, we have relied on students sharing take-home kits for laboratory assignments. Recent events have allowed us to acquire a large amount of new equipment that now makes it feasible to permit the allocation of a microcomputer kit to each individual student. This section describes how the new equipment was acquired and how we intend to use it along with our existing microcomputer equipment.

A. Success in the Motorola University Design Contest

In July 1998, two undergraduate students in Electrical and Computer Engineering at Queen's University, Milos Popovic and Ken Koo, were awarded first place in the 1998 Motorola University Design Contest for their design of a microcontroller-based cruise control and radio telemetry system in a solar electric vehicle. Milos and Ken are members of the Queen's University Solar Vehicle Team, a self-managed interdisciplinary group of engineering students who develop solar-powered electric vehicles and participate in competitive races in North America and Australia. In fact, the Queen's Solar Vehicle finished in second place in the biennial North American Sunrayce competition held in June 1999.

The two students, Milos and Ken, were enrolled in the microprocessor systems course that is the subject of this paper during the Fall 1997 term. They began work on their winning design in the Winter of 1998 after Motorola announced their University Design Contest based on their 68HC12 microcontroller. The students had already had some experience using the 68HC11 in earlier efforts for the Queen's Solar Vehicle Team. Aided by their formal coursework in ELEC371, they were well-prepared to pursue the complex task of integrating a variety of control and monitoring functions for the solar vehicle into one microcontroller. The students completed the design and implementation in May 1998 to meet the deadline for submissions for the Motorola University Design Contest. Within three months, Motorola announced that their design had been awarded first-place honors.

In addition to awarding the two students with a cash prize, Motorola awarded the Department of Electrical and Computer Engineering at Queen's University with the option to select from a large collection of hardware and software for microcontroller systems from Motorola as well as third-party vendors. Consequently, our students did Queen's University a tremendous service by winning the Design Contest.

B. Selection of New Hardware

Selections for the Motorola component of the prize could be made from a list that included 68HC12-based evaluation boards, 68HC11-based modular hardware development kits, and various software tools. Two different 68HC12-based boards were offered: the smaller 68HC912B32 board and the larger 68HC12A4 board. The two boards are illustrated in Fig. 13. Due to the large enrollment of at least 200 students per year anticipated in Electrical and Computer Engineering at Queen's University, it was decided to strike a balance between equipping laboratories and retaining the advantages of a take-home microcomputer kit. A total of 26 68HC12A4 boards were selected for in-lab use, while 190 68HC12B32 boards were selected for inclusion in take-home kits for individual students. As needs dictate, more 68HC12B32 boards for individual student use can be purchased later due to their relatively low cost.

Fig. 13. 68HC12-based evaluation boards from Motorola.

We feel that the provision of take-home boards for individual students, complemented with appropriate individual exercises on this hardware, will substantially improve student programming skills and general understanding of microcontroller-based systems. We have already prepared an initial set of individual exercises for our next offering of the course with the aid of one of the top students from the Fall 1998 offering of our course. We will evaluate the effectiveness of this approach and make appropriate adjustments where necessary.

The newer 68HC12 microcontroller is upward-compatible with the older 68HC11 at the assembly-language source level; ideally, only reassembly of code is required to generate new machine code. There are, however, differences in the parallel ports, timers, and other microcontroller features that do require modification of code. Furthermore, the location of code and data in RAM and ROM differs for the different 68HC11 and 68HC12 evaluation boards. Fortunately, it is possible to limit the impact of such details with appropriately defined constants and modular code. The attention given by Motorola to providing a significant degree of compatibility between the 68HC11 and 68HC12 will prove beneficial to the future plans for our course. The compatibility will be exploited effectively to allow different hardware to be used for teaching the same core material.

C. Continued Use of Existing Hardware

The existing 68HC11-based kits, having only been recently upgraded, will still be available in future offerings of our course. The current plan is to rely on individual at-home use of the new 68HC12-based hardware throughout the course as a target for 68HC11-compatible code. The laboratory assignments for the course will utilize the existing 68HC11-based equipment in the laboratory with at-home preparations using the simulator or the 68HC12 hardware during the first half of the term. During the second half of the term, we will assign more substantial projects where the 68HC11-based kits will again be signed out and shared by pairs of students for at-home use as they have been in the past.

We plan to continue using the 68HC11EVB for our course in the near-term not only because of our investment in upgrading the hardware, but also because of its board-level completeness as a system and relative simplicity for illustrating the fundamental concepts in our course. The 68HC12, in contrast, is a somewhat more sophisticated processor and the 68HC12 microcomputer board we plan to provide to each student is somewhat less interesting because most of the functionality (i.e., memory) is integrated onto a single chip. We can, however, migrate increasingly towards the 68HC12 in the future, relying on its compatibility with the 68HC11 in order to enable a smooth transition, and there are 68HC12-based systems that include external memory and other components to illustrate board-level designs.

VII. Summary and Conclusions

In this paper, we have described the evolution of our approach to teaching a microprocessor systems course, and the hardware and other materials used in teaching. We have described the advantages of relying on take-home kits that allow students to explore concepts in more detail than in a time-limited laboratory session, and we have described how the hardware used in our take-home kits has been upgraded recently. We have indicated how a detailed software simulator is another means for exploring system behavior. We have also outlined our motivation for developing a custom textbook for our course. Finally, we have indicated that sophisticated equipment such as logic analyzer can play a role in aiding understanding.

Student feedback on our approach is positive. The practical hands-on nature of such a course and interesting hardware contribute to a positive student attitude. Student performance, however, can reveal in some cases the drawback to having students work in pairs, despite their awareness of the importance of individual learning. When sharing the take-home kits in our course, it is possible for one student in a pair to contribute more towards the work and hence learn more.

With the acquisition of a large amount of new microcomputer hardware for use in individual student take-home kits, it should be possible ensure a more even educational benefit for all students in future offerings of our course. With compatible hardware for laboratory usage and a compatible software simulator, the overall environment for student learning will be significantly enhanced.


Funding for the fabrication of the new companion board and speech board in 1998 was provided in part by the Better Equipment Donation Fund administered by the Queen's University Engineering Student Society. The boards were fabricated by arrangement with Technological Arts in Toronto, Ontario, Canada, with the assistance of Carl Barnes. Altera Corporation provided, at no cost through their University Program, the MAX+plusII design software, the ByteBlaster programming cables, and the EPM7064SL-44 chips used on the companion boards. The EVB simulator would not have come to fruition without the initial efforts made by two fourth-year student project groups that included Tom El-Maraghi, Christopher Williams, and Steven Woods of Science '94, and John Adams, Chris Langdon, and Chris Moore of Science '96. The extensive contribution of Tom El-Maraghi is especially acknowledged. We would also like to acknowledge the assistance of our own technical support staff (D. Gray, S. Babcock, S. Humphrey, S. Dering) in assembling and maintaining the kits over the years that our course has been taught.


[1] J. M. Sibigtroth. Motorola's 68HC11: Definition and Design of a VLSI Microprocessor. IEEE Micro. February, 1984, pp. 54-66.

[2] M. Hedley and S. Barrie. ``An Undergraduate Microcontroller Systems Laboratory.'' IEEE Transactions on Education, November 1998, Rapid Publication Supplement on CD-ROM.

[3] J. D. Greenfield. The 68HC11 Microcontroller. Saunders College Publishing, Fort Worth, TX, 1992.

[4] G. H. Miller. Microcomputer Engineering. Prentice Hall, Englewood Cliffs, NJ, 1993.

[5] Z. G. Vranesic and S. G. Zaky. Microcomputer Structures. Saunders College Publishing, New York, 1989.

Author Contact Information

Naraig Manjikian
Department of Electrical and Computer Engineering, Walter Light Hall
Queen's University
Kingston, Ontario, Canada K7L 3N6
Phone: (613) 533-6000 x75128
Fax: (613) 533-6615

Stan Simmons
Department of Electrical and Computer Engineering, Walter Light Hall
Queen's University
Kingston, Ontario, Canada K7L 3N6
Phone: (613) 533-6292
Fax: (613) 533-6615

Author Biographies

Naraig Manjikian is an Assistant Professor in the Department of Electrical and Computer Engineering at Queen's University. He obtained his B.A.Sc. and M.A.Sc. from the University of Waterloo and his Ph.D. from the University of Toronto. His research interests include computer architecture and compilation techniques for parallel processing.

Stan Simmons is an Associate Professor in the Department of Electrical and Computer Engineering at Queen's University. He obtained his B.Sc., M.Sc., and Ph.D. from Queen's University. His research interests center on the development of reduced-computation decoding algorithms and VLSI architectures for digital communications.

Return to Table of Contents