EmbLab - A Laboratory for Teaching Embedded Systems
by Amund Skavhaug, Trygve Lunheim and H. Skinnemoen
EmbLab is a new large-scale modern teaching laboratory designed to increase Norwegian IT-industry to compete in the future.
NTNU was quite recently created from two very different university systems in the same city, one traditional run-of-the-mill university for the 'soft' sciences, and the other being the technological university for the whole country, NTH. Much of the Norwegian industry has been fathered by students graduating from NTH, and NTH has always been the institution from where Norwegian industries have recruited their most qualified engineers. Due to this strong relationship with the industry, one can argue that at NTNU, there has traditionally always been a healthy activity related to the study and training for embedded and industrial computer systems.
In the design of embedded systems it is necessary to make a number of technologies play together. For a number of reasons, faculties are often hedging 'their' areas, extending them into overlapping areas, and as a result, they are often duplicating others' efforts and achieving less. NTNU is no exception here. To overcome such departmental boundaries we have tried to create a laboratory facility with enough capacity and with such a variety of SW/HW resources that it can be of interest for several departments, thus lessening the amount of redundant work, and easing the growth of this cross-boundary discipline. As everyone working with embedded systems knows: We need real-time and operating system theory, low-level software design and development, know-how for specialized electronics, design methodologies and so on.
Based initially on work in the Departement of Engineering Cybernetics, a large effort has been made to collect and integrate all the necessary resources needed to be able to present a complete and up-to-date environment. Today we have a laboratory where 40-50 students can work concurrently with state of the art tools and equipment for embedded and real-time systems.
The most important commercial players in the embedded- and real-time software world have made significant contributions. We see it as important that the graduate students are allowed to run the complete, 'professional' versions of any software, without limitations often associated with the 'student' or 'academic' versions. As an example, the QNX RTOS (version 6.2) is freely available for non-commercial use, but only in a limited version lacking support for several hardware platforms. Through the qnx-in-education program our embedded lab has been equipped with the latest version of the professional distribution. And just to name a few others:
Rational Software has contributed licenses and support for Rational Rose Real-Time. And as rapid development will become increasingly important also for the smallest embedded systems in the future, VisualState from IAR Systems, an UML based graphical code generator for small microcontrollers has been a welcome complement.
Wind River has contributed licenses for their RTOS VxWorks/AE and development environment Tornado, in almost any configuration possible regarding host/target systems. And for the Windows world: The most recent addition of sponsors is Microsoft, which have given all relevant tools and operating systems for practically unlimited use at the lab without any cost at all, while VenturCom has provided licenses for RTX, a real-time extension for Windows NT.
On the hardware side, Atmel Norway has made available a really generous amount of equipment for their AVR parts.
A fast growing Scandinavian company, DataRespons, who is a definite marked leader in commercial consulting, sales and development of embedded/real-time systems in Norway, has recently agreed to further supply new equipment for larger systems, where we today has been using PC/104 (or just old pc's).
It is important to have hands on experience with assignments that demonstrate the theory taught for example in real-time programming courses. The software-only simulation often used might be accurate, but not really seen as motivational by the students. Since, by definition, an embedded system is linked to a physical system, there really should be an external system connected to any computer system used for teaching topics in this domain.
With the aid of assigned persons from both an electrical- and a mechanical lab, we have designed an elevator model, of course duplicated on each working station, complete with 4 floors, buttons, sensors and lights mimicking a real elevator from both the inside and the outside. This has been a huge success when it comes to motivate student groups for practicing rapid development with state diagrams and code generation.
To run this software, we use both ordinary PCs as targets, but also micro-PCs, depending on the choice of OS. Due to design of interface logic that can be switched from 5v to 24v 'high' level, these models are also used with another very different type of embedded computers, namely the PLC. Common practice for industrial control is, of course, to use PLCs. Rugged, relatively low-cost and actually also easy to program with modern tools. We were therefore very pleased that Siemens donated a modern PLC with necessary IO and software for every seat in the lab. Logic control may not be the most fashionable topic around, but invaluable for most industries.
A recent addition to our inventory of physical systems is a ping-pong game. To achieve the goal of controlling the game with a joystick, the students have to build a control system consisting of two microcontrollers connected together via CANbus. The complete system also features A/D and D/A conversion, Human-Computer Interaction through an LCD-display, 7-segment LEDs and a matrix-keyboard, optical sensors and various inter-IC buses (memory-mapping, SPI and I2C). A third microcontroller-based node with a PC/104 interface is planned, the goal being to demonstrate how to integrate microcontroller-based embedded systems with (micro-)PC systems.
Most educational institutions have some sort of laboratories where aspects of real-time and/or embedded systems development are studied. In my opinion, it seems that these are quite often limited in both functionality and size. We believe that the possibility of handling more than 200 students a week, each receiving a full day of work, together with the extent of available modern SW and HW is quite unusual. The comments from Norwegian industry has been very encouraging, and signals further growth in quality, size and importance.
Amund Skavhaug, NTNU
Tel: +47 7359 4396