Contribution109

Page 1

Web-based Rapid Prototyping of Digital Systems K. Henke1 and S. Krug2 1

Ilmenau University of Technology, Faculty of Computer Science and Automation, Ilmenau, Germany 2 Ilmenau University of Technology, Master Student in Computer Engineering, Ilmenau, Germany

Abstract — In our contribution we would like to present a concept for a rapid prototyping platform for Digital Systems which can be used via Internet and is therefore suitable for both local and remote tool-based design and laboratory exercises. This solution is intended for the use in lectures dealing with the design of digital control systems – from the basics to complex design tasks. Index Terms — Web-based Education, Web-based design tools, Innovative Software and Hardware Systems for Education and Training, Remote Control via Internet.

I. INTRODUCTION The Department of Integrated Communication Systems at the Ilmenau University of Technology has 10 years of experience in dealing with Internet-supported teaching within the field of digital system design [1, 2]. Students start with the basics of Boolean algebra, combinational logic and simple sequential circuits. They continue with various minimization techniques for logical expressions, dynamic effects in combinational and sequential circuits and the design of digital control systems based on Finite State Machines (FSM). Students in the last semester learn different methods and tool concepts to create, implement and validate Digital Systems to solve complex design tasks. The goal is to introduce methods and technologies for a rapid prototyping of digital (embedded) control systems, especially the hardware oriented part of these systems. Students will learn to handle modern CAD tools, logic simulation and logic synthesis using hardware description languages (e.g. VHDL), design hierarchy, and current generation field programmable gate array (FPGA) technology. With modern logic synthesis tools and large FPGAs, more advanced designs are needed to present challenging laboratory projects. To complete the teaching concept through own experiences, the students have to pass a practical examination in a laboratory. This laboratory part includes e.g. the design, implementation and verification of FSM based control systems, serial communication modules, robot sensors and RISC processor cores. More challenging tasks are the design of digital control systems that control one of various electro-mechanical models, for instance a model of a traffic light, a lift, a positioning table, etc. For the practical part, students will use a rapid prototyping platform that can be used as a stand-alone system as well as part of the remote lab at the Ilmenau University of Technology.

In our contribution we would like to present such a Web-based rapid prototyping platform for Digital Systems, which is dedicated to the tool-based design process via our remote laboratory.

II. DESIGN PROCESS OF DIGITAL SYSTEMS The design process of digital systems (especially for control tasks) usually consists of the conceptual formulation and the design of the control allowing the student to finally achieve a validated control. Figure 1 gives an overview of this process and describes the design phase more detailed. For the functional description, we use different tools and methods, e.g. parallel Finite State Machines (FSM), Hardware Description Languages (AHDL, VHDL) or software notations (Assembler, C) as description techniques [3, 4]. This description method allows a formal optimization, verification and validation of the design.

Figure 1. Design Process of Digital Systems

Simulation and visual prototyping helps to find additional errors. In the run-up to the practical, simulations and animations in “virtual worlds” are often used for verifying the developed solutions. The physical behavior of the actual model, and its environment as well, will be emulated (e.g. as simulation model). The user can influence his “virtual world” and analyze the caused reaction of his control algorithm. Dynamic activities will


be animated and in some cases supported by corresponding engine sounds. These steps have to be executed until faults are detected. Essential disadvantage of this method is that real disruptive factors (e.g. failure of single components, mechanical problems) can’t be recognized by the underlying virtual environmental model. Mostly, only a simulation of predetermined malfunctions is possible. Unconsidered sources of error lead to undetected failures of the control because the corresponding environmental situation was not simulated beforehand [5]. That’s why the fault free design algorithm should be finally tested on a real hardware platform (described in section IV) on existing hardware models in the remote laboratory (rapid prototyping). The partitioning of the control task into a software and a hardware part is an essential step in the design process. During the synthesis phase, code for the processor (software) and/or for the programmable logic (hardware) is generated by common, non-commercial design tools. Both parts (software and hardware) can be executed and evaluated on the hardware platform directly. Assuming real laboratory conditions, disturbances can occur causing the specialty of these situations. Including such real disruptive factors leads – in contrast to simulation – to a distinctly closer relation to practical conditions. Furthermore, it should offer the students a stimulus towards the design of safety critical control systems. Additionally, we would like to concentrate on giving the student the chance to check his prepared control algorithms and to correct or modify the received results.

III.

(of the prototyping board) as well as the communication with the rapid prototyping board.

ARCHITECTURE OF A WEB-BASED PROTOTYPING PLATFORM

In the following we describe the main components of our rapid prototyping platform that are necessary to guarantee the features “Web-based” and “reconfigurable”. Because of the special conceptual design of this platform, students can test all the taught topics of the given lectures in the field of digital system design, e.g. basics of Boolean algebra, combinational logic and simple sequential circuits. Furthermore, they can apply and compare different functional specification techniques (e.g. logical equation, truth table, schematic diagram, hardware description languages) with the ability for both local and Web-based remote access. Figure 2 gives an overview of the complete platform. It consists of the following main components:  The Students PC, on which all the design work is done locally and  The Web-based laboratory (part of the remote lab of the Integrated Communication Systems Group), that will allow the student to test his design on real hardware, without direct access to a laboratory. To utilize this, the student can use a common Webbrowser running a Java applet, which provides the access to the prototyping hardware via the Internet. Besides the hardware to be tested, another component (the so called LAN processor) is required in the laboratory to manage the user access, the programming of the CPLD

Figure 2. Client-Server Architecture of the Prototyping System

The communication between the applet and the LAN processor board is done via a customized protocol over a TCP connection. The LAN processor handles all the requests from the applet and manages the communication with the rapid prototyping board using another protocol. The project’s present state of realization allows access to the prototyping platform for only one student at a time (single user mode). Future steps will offer cooperative work features for several students, for instance to handle a complex design via different parallel automata of a distributed control simultaneously. To provide a trouble free one user access, a kind of “locking” has to be implemented. It is also required to restrict the access time on the server. This has to be implemented to give as many students as possible the chance to work with the “Web-based” laboratory. Regarding these problems the following mechanisms will be examined in the future:  Locking using a file,  Locking using a background process,  Interactive locking,  Authentication.


A. Rapid Prototyping board To fulfil all the mentioned design tasks for the design of digital systems, we have developed – in cooperation with the “University of Cooperative Education Thuringia” in Gera – a special rapid prototyping board, shown in Figures 3 and 7 [6]. Over the last years, a number of interesting and challenging rapid prototyping boards were developed for educational purposes, e.g. the UP 1 and UP 2 from Altera [6] or the hardware development board from the University of Limerick [7].

connection to the outputs of the LAN processor board, which will set all input signals according to the user’s input via the user interface at the student’s client PC. The generated outputs of the prototyping board can be directly read by the LAN processor board without removing any LEDs. B. LAN processor board for a Web-based access An additional hardware component is required to allow the Web-based access to the rapid prototyping board. The LAN processor Board, developed at the Ilmenau University of Technology, was chosen for this task, because it already provides a Web-interface and various I/O interfaces to connect external hardware such as sensor modules or other boards [9]. Figure 4 shows the board.

Figure 4. LAN processor board

Figure 3. Rapid prototyping board block diagram

Our rapid prototyping board consists of the following components:  Main component is the Altera CPLD MAX7128S15 chip with a gate count of over 2.500.  Input buttons: o 2 pushbuttons:  PB_0 (active low)  PB_1 (active high) o 2 hex coding switches (active low) o 8 slide switches  LED outputs: o 3 7-segment displays (active low) o 1 LED bar display with 8 LED (active low)  Other components: o 10,24 MHz crystal oscillator for sequential designs o Frequency synthesizer (200 Hz .. 8 kHz) o Piezoelectric oscillator (for “sounds”) o PS/2 connector (to connect a mouse or a keyboard) o 25-pin SUB-D connector (to connect additional hardware models) For a Web-based use of the rapid prototyping board, all inputs of the board (buttons, synthesizer and oscillator) have to be removed from the PCB and replaced by a direct

The firmware includes an adaptive protocol, which supports the communication with each group of external hardware. Requests from the applet are passed to this firmware and the appropriate subroutines are triggered to handle the access of the rapid prototyping board. Depending on certain settings, the results of manipulations are sent on request only or updates are sent automatically, based on given status changes of the prototyping board outputs.

Figure 5. Programming the student’s design


Besides the user’s input/output interaction during the lab procedure, the LAN processor board will be used to transmit the student’s design to the CPLD of the prototyping board. This process is shown in Figure 5. As described earlier, the student will prepare his design task with common non-commercial development tools (e.g. MaxPlus+, QuartusII from Altera [10]). The synthesized code (a JTAG file) is uploaded via the Webinterface (our Java applet) to the LAN processor board, which will use the uploaded file to program the connected CPLD on the prototyping board. This also includes feedback for the student in case of errors during the programming process. Once the CPLD is programmed successfully the student can begin his actual lab work. C. Web-based User Interface For the Web-based rapid prototyping ability we have developed a Java applet as Web-interface. By using this Web-interface, the student is able to  Upload his/her design,  Program the FPGA,  Handle the lab procedure. The applet allows the student to manipulate all the inputs of the rapid prototyping board (slide switches, hex coding switches, and pushbuttons). He/she can observe the outputs of the board (7-segment displays, row of LEDs) virtually inside the Java applet. Figure 6 gives an impression of the applet’s Web-interface including a “photo” (image) of the rapid prototyping board. The manipulation of the input and output signals of the board are done virtually in the following way: For the look-and-feel of the applet, we use an “photo” of the board as background. All the inputs are realized as Java control elements and can be manipulated via the mouse interactively. Changes are immediately sent to the rapid prototyping board and the corresponding results are displayed inside the applet. There are two general options to display the output results within the Web-interface:  Representation by Java components The graphical outputs are represented directly inside the “photo” using read-only Java components. Updates of the display only require information about the current state of the corresponding output signal. This enables students without fast internet access to use the applet.  Webcam based feedback Another option is the use of a webcam to monitor the rapid prototyping board inside the lab room. The webcam image is replacing the background “photo” of the applet. This allows the user to watch the results of his/her actions directly as if present in the lab. The overlaying Java display components are not used in this option and therefore invisible. Both options can be configured using custom user settings in the corresponding tab of the applet. All actions are documented in a separate Log Tab.

Figure 6. Web-interface of the Rapid Prototyping board

IV. FIELDS OF APPLICATION In this section possible fields of application of the developed rapid prototyping platform will be discussed. In any scenario, the Web-based user interface will be automatically configured according to the desired working mode (see next subsections B to D), which will be described in the following section. A. Stand-alone Rapid Prototyping System The simplest way to use the designed hardware platform is a stand-alone solution for the rapid prototyping of digital systems (without internet connectivity), shown in Figure 7. This application is not the focus of this article and therefore not discussed in detail.

Figure 7. Stand-alone Rapid Prototyping board


B. Web-based Rapid Prototyping of Digital System By using common design tools (e.g. MaxPlus+, Quartus II from Altera [11]), the student is able to specify his design via  Text based design methods, Here the student can enter his design by means of logical equations, truth tables or hardware description languages (AHDL, VHDL or Verilog).  Graphically based design methods, The student can use block or schematic diagrams to input his design.  Integrated FSM editors. In case of sequential design tasks he can directly enter the derived automaton graph (or graphs of parallel automata) with the built in FSM editor. The editor itself generates VHDL code for the further design steps. Finally, students will specify, describe, implement and verify different digital systems using “self-made” IP core libraries, e.g.  Digital control systems (traffic light, lift, vending machine, …),  Serial communication modules,  Robot sensors,  Model of a RISC processor.

include such real disruptive factors for a closer correspondance to practical conditions. Furthermore the remote lab should offer the students stimulus with regard to the design of safety critical control systems. Principally, we would like to concentrate on giving students the chance to check their prepared control algorithms  Via web-based simulation,  Via web-based remote control of the existing models (that means before the tutorial course),

 In real environmental conditions (which can be interactively influenced by themselves) and to correct or modify the received results. In this case the student can handle hardware models, connected via the 25-pin SUB-D connector to the prototyping board, as shown in Figure 8. All input and output signals will be transferred through the LAN processor to the user’s Web-interface.

Once the design is completed and error free, the student can test his solution using the described platform. C. Web-based Verification of Digital Systems Another use case of the rapid prototyping board is to identify the function of a given design (black box) or to find malfunctions of a well-known design. The CPLD will be programmed by the teacher, but the student has no ability to reprogram the device. By manipulating the inputs of the unknown black box in order to find the malfunction (e.g. to enter all the input sets of a truth table or special input sequences), the student attempts to analyze the response (the real output signals of the board) to find out the function of the given design. The student has to enter his test vectors based on truth tables or input sequences one by one using the provided controls and observe the results on his PC. Later versions of the platform will support the upload of the whole truth table or input sequence as a text file to the LAN processor. In this case the student will be able to record the responses corresponding to the specified inputs creating a waveform file. This file can then be used for further investigation of the current design.

Figure 8. Control of additional hardware models

By using this functionality of the rapid proto-typing platform the student is able to  Download the synthesized CPLD design – generated and already validated by the design tools – to test his/her control algorithm on the real electro-mechanical model,  Handle the laboratory procedure (start, stop, reset),  Change environmental variables if necessary and

D. Web-based control of hardware models With the control of real hardware models in the remote lab we want to offer the students an environment that is as close as possible to a real world laboratory. Assuming real laboratory conditions, disturbances can appear and lead to failures of the control algorithm that cannot be detected under virtual lab conditions. Therefore, it is important to

 Watch the laboratory procedure by supervising the model and environmental variables inside an I/O monitor or by observing the electro-mechanical model directly via a Webcam. At any time the student has the chance to adjust his/her algorithm in case of fault. Therefore, he is able to achieve


a fault free solution (a validated control algorithm) step by step. For more details see [11, 12, and 13].

[7] [8]

V. CONCLUSION A universal hardware platform has been discussed, which can be used for rapid prototyping of Digital Systems, from the basics to complex control design tasks including the ability for both local and web-based remote access. Within several new European Master Degree Programs in the area of “Remote Engineering” (e.g. [14]) it is increasingly necessary to allow and organize a shared use of equipment. That’s why the main focus is a Web-wide usage of design tools and remote-labs for the design of Digital Systems. Using both, online tool support and laboratories, has the potential of removing the obstacles of cost, timeinefficient use of facilities, inadequate technical support and limited access to design and laboratory resources. This would also benefit students and researchers with special needs and students/researchers working from home, so they do not have the need to travel to their companies’ facilities to perform their work. Even students/researchers working at their university’s facilities can use remote specialized equipment at another university without travelling. Students will learn more about the possibilities and limits of remote control and observation via Internet on practical examples. The student – besides knowledge consolidation by executing design and practical experiments using these new Internet technologies – is forced to estimate the technologies critically. ACKNOWLEDGMENT The authors would like to acknowledge the work of Dipl.-Ing. Steffen Ostendorff in the development of the LAN processor board. The authors would also like to thank Paulo Bezerra from the Instituto Federal de Santa Catarina, Brazil for his work on the firmware of the LAN processor board during his internship at the Department of Integrated Communication Systems of the Ilmenau University of Technology. REFERENCES [1]

[2]

[3] [4] [5]

[6]

S. Sire, F. Geoffroy and D. Gillet, “A virtual assistant for sending hints and perturbations to students based on an electronic laboratory journal”, Information Technology Based Higher Education and Training - ITHET’03, Marrakech, Morocco, July 79. K. Henke and H.-D. Wuttke, Web-based educational tool access, IASTED International Conference Computers and Advanced Technology in Education - CATE 2003, Rhodes, Greece, June 30 – July 2. E. Hopcroft, R. Motwani and J.D. Ullman, “Introduction to Automata Theory,” Addison-Wesley, 2001. J.O. Hamblen, and M.D. Furman, “Rapid Prototyping of Digital Systems”, Kluwer Academic Publishers, 2001. K. Henke, H.-D. Wuttke and S. Hellbach, “Laboratory via internet - new ways in education and research”, International Journal of Computers and Applications, ACTA Press, Vol. 25, No. 3. St. Ulbrich, and S. Franke, “Case studies for a rapid prototyping development board (in German)”, Study thesis, Ilmenau University of Technology, Germany, 2007.

[9]

[10] [11]

[12]

[13]

[14]

Altera, “Altera UP2 Education Board”, http://www.altera.com, 2011. I.A. Grout, “Undergraduate/postgraduate student project work to support the teaching and learning of remote laboratory design”, Proceedings of the Remote Engineering and Virtual Instrumentation Conference – REV2008, Düsseldorf, June 5-8, 2008. St. Ostendorff, “A LAN processor board for Web-based remote engineering applications”, Technical Report, Ilmenau University of Technology, 2001. QuartusII, “Design Software QuartusII”, Project homepage, Altera Corp., from: www.altera.com, 2011. K. Henke and H.-D. Wuttke, “A mixed-reality environment for digital control systems”, International Conference on Remote Engineering and Virtual Instrumentation - REV2005, Brasov, Romania, June 29-July 1, 2005. K. Henke and H.-D. Wuttke, “IASTED International Conference on Computers and Advanced Technology in Education - CATE07, Kauai, Hawaii, USA, August 16 -18, 2007. K. Henke, H.-D. Wuttke and T. Braune, “Virtual and remote labs in the educational process”, International Conference on Remote Engineering and Virtual Instrumentation - REV2007, Porto, Portugal, June 25-27, 2007. M.E. Auer, I. Grout, K. Henke, R. Safaric, and D. Ursutiu, “A joint master program in remote engineering”, International Journal of Online Engineering (iJOE), Vol. 2, No. 3, from: http://www.online-journals.org/index.php/i-joe.

AUTHORS K. Henke is with the Ilmenau University of Technology, Faculty of Computer Science and Automation, Integrated Communication Systems Group, 98684 Ilmenau, Germany, POB 10 05 65 (e-mail: karsten.henke@tu-ilmenau.de). S. Krug is with the Ilmenau University of Technology, Master Student in Computer Engineering at the Faculty of Computer Science and Automation, 98684 Ilmenau, Germany, POB 10 05 65. She obtained her BSc. in Computer Science in 2010 at the University of Applied Sciences Darmstadt (e-mail: silvia.krug@tu-ilmenau.de).


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.