Documenting Knowledge to the Undergraduate Education of

advertisement
Documenting Knowledge to the Undergraduate Education of
Professional Engineers:
A Case Study in Microcontroller Education
D. E. Bolanakis1
PhD Student
Dept. of Primary Education, University of Ioannina
Ioannina, Greece
dbolanis@cc.uoi.gr
E. Glavas
Professor
Dept. of Informatics & Telecommunications, Epirus Educational Inst. of Technology
Arta, Greece
eglavas@teiep.gr
G. A. Evangelakis
Professor
Dept. of Physics, University of Ioannina
Ioannina, Greece
gevagel@cc.uoi.gr
K. T. Kotsis
Professor
Dept. of Primary Education, University of Ioannina
Ioannina, Greece
kkotsis@cc.uoi.gr
T. Laopoulos
Associate Professor
Dept. of Physics, Aristotle University of Thessaloniki
Thessaloniki, Greece
laopoulos@physics.auth.gr
Conference Topic: Physics and Engineering Education
Keywords: Microcontrollers, assembly language
1
Corresponding Author
D. E. Bolanakis, dbolanis@cc.uoi.gr
INTRODUCTION
Any type of written documentation is beyond doubt an important tool for every engineer.
While documenting knowledge for professionals (e.g., reference manuals, user guides, etc.)
may be considered a straightforward procedure, the authoring of a book that is intended for
engineering students is certainly much more complicated. It is widely accepted that the
information provided in a book should help readers understand the main ideas easily. In
consideration of the engineering books it is also important to help readers identify what
should be the focus of their attention, in order to support the application of theory to practice.
Moreover, the transfer of knowledge to the undergraduate education of professional
engineers, in an age of rapidly advancing technology, should be provided with more
flexibility. The question is, how is this possible when the writing of a book could last for
years, while in just a few years’ time the technology of today will most commonly be
obsolete?
In this paper the authors share their research experience on the undergraduate engineering
education which was initiated in 2004, and concluded in 2011 with the publication of a book
that involves microcontroller technology [1]. Through an in-depth examination of the subject
matter [2-10], the authors discuss the strategies addressed for surmounting the barriers to
effective learning. A comparative discussion on relevant books [11-17] is addressed, while a
generalized working plan towards the authoring of a well-organized book in microcontroller
education is also recommended.
1
THE PROJECT
1.1 Background information
The authors’ research has been primarily focused on the sophomore students of the
Department of Informatics & Telecommunications, Epirus Educational Institute of
Technology (Greece), in an attempt to reinforce the educational level of the tutees on the
software and hardware design issues for embedded computer systems. Due to the widespread
use of embedded systems nowadays, it is very possible that students with software
engineering orientation will get involved with embedded systems interfacing in their future
career. Considering the increased requirements in the employment market, the professionals
who have a background on embedded systems have a significant advantage over other
engineers without prior experience.
The education of embedded systems interfacing falls somewhere between computer science
and electrical/electronic engineering disciplines [18]. Students with software engineering
orientation take a deep insight into the computer interface mechanisms (in regard to the
features that affect the code development process) through a computer architecture course. On
the other hand, the electrical/electronic engineering students take their first steps towards the
design of a custom computer-based system using simplified microcomputer technology (i.e.,
8-bit microcontroller units). Since microcontrollers constitute complete and single chip
computer systems, the authors initiated in early 2004 an educational research on the
reformation of the traditional Computer Architecture class to Microcomputer Architecture [3],
in regard to a microcontroller-based tutoring system.
1.2 The strategies
There are several books that apply to microcontroller technology and there are two
fundamental types of architecture to choose from: a) the Reduced Instruction Set Computer
(RISC) and b) the Complex Instruction Set Computer (CISC). The RISC architecture has
become a very popular processor unit for engineers and technician because of their high
performance in speed and optimization. However, our research has been focused on a CISC-
based microcontroller unit as the CISC-based assembly programming is proved to facilitate
the learning process [5]. This is because the traditional computer architecture course aims in
familiarizing students with the utilization of the computer’s mechanisms during the software
development process. To this end, the computer architecture course is regularly associated to
an assembly language learning system, as the higher-level languages employ programming
utilities that regularly hide the underlying hardware.
In general, many books in engineering education feature an unfavourable issue. They lack in
addressing teaching approaches/pedagogies for the issues being covered, while sometimes
they also fail to provide a well-organized and easy to follow learning environment. In regard
to the conventional microcontroller books that are related to the assembly-level programming
[11, 12], most of them deviate shortly from the guidebooks provided by the Integrated Circuit
(IC) vendors [13]. They regularly provide an introduction to microcomputers and to the
architecture of the microcontroller being explored by the textbook. They thereafter provide an
overview to the ISA resources and to the context of the software package being used for the
microcontroller programming. Finally, they conclude with some practical examples. For that
reason, those textbooks can be considered a merging of the microcontroller reference manual
to the software operator’s manuals and along with particular applications.
In most of the cases the theories are poor and the practical examples incomplete. In addition,
the learner does not have the opportunity to either experiment with the book’s applications or
implement their own projects. In order to transcend the limitations of the conventional
microcontroller textbooks, our documenting strategies have been emphasized on the
following issues. The theoretical and practical frameworks of our microcontroller-based
tutoring system have been enriched with innovative teaching approaches. The approaches are
addressed to facilitate the learning process [2, 7, 9], to present in innovative practicable
examination issues that are regularly examined theoretically [4, 6], and to provide the solid
fundamental knowledge that is regularly missing in technology related courses [10]. On the
other hand, the practicing framework [7] along with its supplementary material [8] has been
systematically designed in order to assure the reader’s experiential learning. All the research
methods have been addressed in a systematically designed textbook, particularly suitable for
students of software engineering orientation who possibly have inadequate background on the
hardware domain.
1.3 The application & recommendations on the authoring of microcontroller textbooks
Typical microcontroller textbooks consist of several chapters that regularly appear in
unstructured order, which does not help in identifying the fundamental areas of interest. For
instance, one chapter may be referred to a category of assembly instructions and the
subsequent to arithmetical examples [11]. Our tutoring system is organized into 5 generalized
and comprehensive chapters, where each one of them is dedicated to a major topic of
microcomputer education. The proposed organization aims in helping students identify what
should be the focus of their attention in consideration of the essential learning issues in
microcontroller education. In detail, the theoretical part of the working framework consists of
three chapters (i.e., chapters 1-3) and the practical part consists of two chapters (i.e., chapters
4 and 5). Chapter 1 introduces readers to the microcomputers technology. Chapter 2 applies to
low-level programming concepts. Chapter 3 focuses on microcomputer arithmetic. Chapter 4
is dedicated to practical applications in consideration of the MCU interfacing to the outside
world. Chapter 5 concludes the practical applications in regard to the administration of
peripheral (internal and external) subsystems. It is worth noting that every chapter is divided
into 3, 4 subchapters in order to determine the syllabus of the course.
The proposed structure can be adopted by any textbook that applies to microcontrollers.
However, it is advisable that the content of the textbook is enriched with educational
approached that serve particular purposes. Because our work has been focused on students of
software engineering orientation, our emphasis has been placed on the following issues. In
order to surmount the comprehension difficulties related to the hardware domain, our
documentation addresses a significant amount of parts-and-steps illustrations which depict the
interaction between firmware and hardware. The prevailing illustrations in microcontroller
education depict only the interconnection of the input/output (i/o) units to the microcontroller
pins [9]. The proposed examples are attentively designed so as to promote the interpretational
picture function [7, 9], which is recommended for the explanation of difficult-to-follow
passages [19]. It is worth noting that the illustrations are designed in consideration of Tufte’s
suggestions for an improved representation of the depicted information [20]. In order to
overcome the barriers of understanding the low-level unstructured techniques, the book
addresses a pedagogy that draws students’ attention to the parallelism between the assemblylevel and higher level programming [2]. Due to the fact that freshman engineering students (in
several disciplines) regularly attend a compulsory course on high-level sequential
programming, this pedagogy can be proved quite helpful during the assembly language
learning process. Moreover, the most influential arithmetic theories and techniques in
microcomputer systems are addressed in a concentrated working framework [10], which
attempts to enhance the traditional teaching methods on 8-bit microcontroller arithmetic. It is
commonly accepted that the knowledge of performing arithmetic operations in a computer
system is of enormous importance for solving many problems in engineering education [21].
Due to the practicable nature of the proposed working framework, particular theories that are
regularly examined theoretically within the traditional computer architecture class (i.e.,
addressing modes and endianness concepts) have been given in a practicing scheme [4, 6]. In
addition, the authors have designed an efficient educational board with an in-circuit
programming/debugging capability which is addressed for assuring students’ experiential
learning [8]. The board supports a potential number of experiments, it is quite easy to operate,
and provides an upgradeable choice (i.e., an embedded breadboard is designed in the upperleft corner of the board). The board is also of low-cost and easy to assemble (i.e., it is
designed in one layer and employs only through-hole components). The board’s dimensions
are 16cm x 19cm so that it can fit inside a 17cm x 24cm standard book format. The board
cooperates with the freeware ICS08GPGTZ package [22, 23], which can be used for writing,
compiling, simulating and debugging the assembly language code for the HC908GP/GT
family of microcontroller units (which is part of the general HC08 family of units). At this
point it is worth noting that it is particularly important to support technological courses with
the necessary supplementary material that keep students focused on the experimentation
process. To this end, the authors have obtained the permission to distribute ICS08GPGTZ
software package with the book which, along with the educational board system included in
the book, provides learners/students with the ability to totally experiment at home. Three
appendices complement the technical information of the proposed tutoring system in order to
avoid the need for additional literature searches during the learning process.
1.4 Review of relevant textbooks
Contrary to the conventional microcontroller textbooks that deviate shortly from the IC
vendors’ guidebooks [11, 12, 14], there are some carefully designed books in microcontroller
education. Lipovski’s textbook [15] provides a more scientific approach on the arithmetic
operations carried out by the microcontroller as well as the programming topics (such as, the
top-down method of designing programs). However, the overall learning environment of this
book is obscure, while the figure and source code examples are very poor for the education of
beginners and inexperienced undergraduates.
A well-designed textbook that applies to the HCS08 family of MCUs is the Summerville’s
book that is separated into two parts [16, 17]. In both parts, the figure examples and source
codes are appropriately designed and distinguish from the book’s main text, while also some
parallelization between high-level and low-level programming is being performed. However,
the picture examples constitute the prevailing illustrations that depict the interconnection of
the input/output (i/o) units to the MCU pins, and they therefore are inappropriate for students
minoring in the hardware domain. Moreover, the parallelization between high-level and lowlevel programming is inadequate and it is only provided in a few pages at the very end of Part
I [16]. In addition, the arithmetic theory of this book is very poor and only a few examples are
provided (despite the fact that microcomputer arithmetic constitutes a significant topic in
microcomputer education).
REFERENCES
[1] Bolanakis D.E., Glavas E., Evangelakis G.A., Kotsis K.T. and Laopoulos T.,
(2011), Microcomputer Architecture: low-level programming methods and
applications of the M68HC908GP32 (In Greek), Contemporary Education,
Thessaloniki.
[2] Bolanakis D.E., Evangelakis G.A., Glavas E. and Kotsis K.T. (2011), A
teaching approach for bridging the gap between low-level and higher-level
programming using assembly language learning for small microcontrollers,
Computer Application in Engineering Education, Vol. 19, Issue 3, pp. 525537.
[3] Bolanakis D.E., Kotsis K.T. and Laopoulos T. (2010), Switching from
computer to microcomputer architecture education, European Journal of
Engineering Education, Vol. 35, Issue 1, pp. 91-98.
[4] Bolanakis D.E., Kotsis K.T. and Laopoulos T. (2009), Arithmetic operations
in assembly language: educators’ perspective on endianness learning using 8bit microcontrollers, Proc. of the IEEE 5th International Workshop on
Intelligent Data Acquisition and Advanced Computing Systems: Technology
and Applications, Rende Italy, pp. 600-604.
[5] Bolanakis D.E., Kotsis K.T. and Laopoulos T. (2009), Teaching concepts in
microcontroller education: CISC vs RISC assembly-level programming, Proc.
of the International Conference on Information Communication Technologies
in Education, Corfu Greece, pp. 742-750.
[6] Bolanakis D.E., Evangelakis G.A., Glavas E. and Kotsis K.T. (2008),
Teaching the addressing modes of the M68HC08 CPU by means of a
practicable lesson, Proc. of the 11th IASTED International Conference on
Computers and Advance Technology in Education, Crete Greece, pp. 446450.
[7] Bolanakis D.E., Glavas E. and Evangelakis G.A. (2007), An integrated
microcontroller-based tutoring for computer architecture laboratory course,
International Journal of Engineering Education, Vol. 23, No. 4, pp. 785-798.
[8] Bolanakis D.E., Glavas E. and Evangelakis G.A. (2007), A multidisciplinary
educational board system for microcontrollers: considerations in design for
technically accurate custom-made platforms, Proc. of the International
Symposium on Information Technologies and Applications in Education,
Kunming P.R. China, pp 391-395..
[9] Bolanakis D.E., Glavas E. and Evangelakis G.A. (2007), Levin’s approach for
microcontrollers tutoring, Proc. of the American Society for Engineering
Education Global Colloquium on Engineering Education, Istanbul Turkey,
pp. 1-11.
[10] Bolanakis D.E., Laopoulos T. and Kotsis K. T., “Fixed-point Arithmetic for
a Microcomputer Architecture Course”, submitted for publication.
[11] Predko M. (1998), Programming and customizing the PIC microcontroller,
McGraw-Hill, New York.
[12] Ayala K.J. (1991), The 8051 microcontroller: architecture, programming and
applications, West Publishing Company, USA.
[13] M68HC05 family: understanding small microcontrollers (1998), Motorola
Literature Distribution, Denver Colorado.
[14] Pereira F. (2008), Designer’s guide to the HCS08 microcontrollers, F.
Pereira, USA.
[15] Lipovski G.J. (2004), Introduction to microcontrollers: architecture,
programming, and interfacing for the Freescale 68HC12, ELSEVIER
Academic Press Series in Engineering, USA.
[16] Summerville D. (2009), Embedded systems interfacing for engineers using
the Freescale HCS08 microcontroller (Part I): assembly language learning,
Morgan & Claypool Publishers, Southern Methods University.
[17] Summerville D. (2009), Embedded systems interfacing for engineers using
the Freescale HCS08 microcontroller (Part II): digital and analog hardware
interfacing, Morgan & Claypool Publishers, Southern Methods University.
[18] Garside J.D. (2003), A microcomputer interfacing laboratory, International
Journal of Electrical Engineering Education, Vol. 40, pp. 13-26.
[19] Mayer R.E. and Gallini G.K. (1990), When is an illustration worth ten
thousand words?, Journal of Educational Psychology, Vol. 82, No. 4, pp.
715-726.
[20] Tufte E.R. (1990), Envisioning Information, Graphics Press, Cheshire
Connecticut.
[21] Fernandez J.J., Garcia I. and Garzon E.M. (2003), Educational issues on
number representation and arithmetic in computers: an undergraduate
laboratory, IEEE Transactions on Education, Vol. 46, No. 4, pp. 477-485.
[22] M68ICS08 68HC08 In-circuit Simulator Operator’s Manual (2000), P&E
Microcomputer Systems Inc., Woburn MA.
[23] Addendum to the M68ICS08SOM/D for ICS08GPGT (2002), P&E
Microcomputer Systems Inc., Woburn MA.
Download