Resource Management of an E-learning System for the Design of HardwareSoftware Applications A. Videnie, C. G. Haba, C. Hutanu “Gh. Asachi” Technical University of Iasi, Romania E-mail:
[email protected] Abstract We present an e-learning system based on a set of webbased tools created to permit the remote access to XESS prototyping boards in order to implement and test simple hardware-software applications. Students can use the system to remotely access the equipment in the laboratory of digital measurement and instrumentation. We focus mainly in the resource (users and boards) management of the system, proposing a solution which tries to combine security, simple implementation, low costs and highly manageability.
1. Introduction Rapid technological development challenges education by providing increased opportunities. However, they can be of great help in developing of modern educational tools, designed for local access or web-delivery [1, 2]. These tools can provide interactivity and animation offering a flexible, faster and friendlier learning. The increased use of computers into laboratory brought important benefits among which we point: out-of-class assignments, extending to use of the computers in the classroom and to making the computer an integral part of the educational process (replacement of traditional laboratories with virtual or remote laboratories). We present an e-learning system denoted INDIPHASO consisting of a set of web-based tools permitting remote configuration and test of hardware-software applications implemented using XESS prototyping boards (XSBs). The tools denoted as Remote XSTools (RXST) provide a set of web-based interfaces to the XESS XSTools. Using RXST students have access to the 4 XSBs, each one equipped with a XILINX programmable integrated circuit (FPGA or CPLD) and an 8031 microcontroller (µC) [3]. They can configure remotely the programmable circuit and load an executable file for the microcontroller in order to implement different digital designs and test their operation. RXST consists of a set of web-based interfaces for the XESS XSTools providing similar look and functionality. Mixed hardware-software designs can be experimented remotely by partitioning the application into modules that are either hardware implemented (FPGA/CPLD) or software implemented as a program loaded into the memory of the µC.
The obtained e-learning system is a remote laboratory where students can replay or continue their laboratory work from outside the laboratory, at convenient hours, using a PC connected to the Internet.
2. Equipment and software The central focus of the laboratory is to teach digital design and has the necessary equipment to support multiple sets of student experiments. For our set of tools, we have allocated PCs, four XESS prototyping board types (XS40-005XL, XS40-010E, XS95-108 and XSA-50) and one µC based development board. The XS40-005XL (XS40-010E) board has as main components a Xilinx FPGA programmable circuit XC4005XL (XC4010E) and an 8031 microcontroller. They also contain 32 (128) Kbytes SRAM, 100 MHz programmable oscillator, parallel port, mouse/keyboard PS/2 port, VGA monitor port, 7-segment LED, 84-pin breadboard interface, serial EEPROM socket, 9V DC power jack and 5V/3.3V regulators. The XS85-108 board has the same components, except the programmable circuit which is the Xilinx CPLD programmable circuit XC95108. The CPLD circuit stores its configuration in a flash memory so this is retained even after interrupting the power supply. The XSA-50 circuit has two programmable circuits, both from Xilinx, one XC2S50 Spartan-II FPGA and a XC9572XL CPLD. It has an additional push-button and two storage devices, one volatile 16MB SDRAM and a non-volatile 256 Kbytes flash memory device. There is no microcontroller on the XSA-50 board. Student laboratory works require some software tools for their successful completion. The software can be used for designing the hardware part to be implemented in the programmable circuit, writing and debugging software part, configuration of the onboard programmable circuits, loading microcontroller program into memory, testing the design by sending by sending test vectors to the board. Software installed on the computers to be used with systems includes: Xilinx Foundation for hardware design and for generating the configuration files for the programmable FPGA and CPLD circuits; XESS XSTools [4]; Franklin Software for programming the 8031/51 ? C including also a C compiler. XESS XSTools is the
software provided by the manufacturer of the prototyping boards and consists of the following tools: xsload – the tools used for downloading both the hardware and software designs into the XSB, xstest – used for testing the correct operation of the board, xssetclk – used to set the on-board programmable clock, xsport – used for applying test signals to XSBs using the PC parallel port. As we will see, every prototyping board is connected via the parallel port to a PC. One central server is running the web based applications. For this server, we have configured a PC with RedHat Linux version 9.0 and installed the Apache HTTP server version 2.0.46 and PHP version 4.3.8. The database server is running version 3.23.57 of the Mysql database server.
Java applet implementing the XSB view reads the serial port and changes the color of the segments in the view accordingly. In this way, students can use both the FPGA and µC, without supplementary restrictions to those given in the XSB manual.
Database Client
Web Server Configuration and control
Web browser Internet
3. Implementation XS40-005
The RSXTools have been created as a set of html forms that have the same control elements as the GXSTools interfaces (the graphical version of the XSTools). They look almost the same, so they are easy to use by those that have previously used GXSTools. The html forms give students and system users the possibility of setting the type of the XSB, the PC parallel port to which the board is connected, the bits of the test vector etc. We are developing our tools in order to work on a network architecture like the one depicted in Fig.1. For the moment, the web server and the XSB configuration and control software run on the same computer. The system works as follows: The user accesses the RXST web page. He has the possibility to choose one of the tools: RXSTest, RXSSetclk, RXSLoad and RXSPort (most often will be the last two ones). Accordingly, student's browser will load the corresponding html form. Using for example the RXSLoad form, the student will first upload the configuration .bit/.svf file for the FPGA/CPLD and the .hex file containing the program for the 8051 µC. Subsequently, he will configure the downloading parameters (board type, parallel port, file format, etc.) and finally will post the form to a CGI script on the web. The script will run XESS xsload program with the uploaded files and the posted parameters. The user will get back the RXSPort html form by which he can send stimuli to the XSB. A new browser window will also be opened showing the image of the XSB. The operation of the implemented design can be observed if, by design, the outputs or some of them are connected to the segments of the seven-segment LED digit on the XSB. Every change in the led segments status will be reflected in the window showing the XSB. In order to achieve this capability we have provided two solutions. In the first one, signals driving the seven LED segments are read by an 8051µC based system and sent to the computer via a serial connection. A script run by a
XS40-010
XSA50
XS95-108
uC Board
(a)
Database Web Server Configuration and control
Client Web browser Internet
XS40-005
XS40-010
XS95-108
XSA50
(b) Fig. 1. Connection of XESS Boards to the network: a) feedback through µC; b) direct feedback. The second solution uses the µC on the XSB and some extra circuitry for sending the status of the LED segments via the serial connection. This solution save the extra µC system but imposes additional restrictions to the implemented design. Both set-ups offer students the possibility to replay or continue their experiments, imagine and test new experiments outside the laboratory. This gives them the opportunity to test digital and mixed hardware-software design using a set of tools that are between real testing and simulation.
4. Resource Management There are a number of modules working together for implementing the resource management of the e-learning system: Configuration and control server – a PC running Apache web server and the PHP server-based hypertext preprocessor. It runs all the web-pages and the necessary
two kinds of users for the moment, regular users, who only use the system, and administrator users, who have all the rights of managing the system. The e-learning system is implemented using template system, so that the HTML code is completely separated by the PHP code [5]. Because of this, the visual display of the system can be easily changed, without changing the core system.
Fig.2. E-learning system entry page auxiliary scripts for implementing the user and prototyping boards’ management system, the reservation system, the reports section and the tutorials, manuals and examples section. Database server – a PC running Mysql database server, provides the backend for running the system and most of the times can be the same PC as the instrument configuration and control server. PCs running the Apache web server software, running the RXSTools web-tools. These tools run locally, on every PC having a prototyping board attached to it, because of the need to access the communication ports, the serial and the parallel one. The user management system is based on a very powerful tool offered by the PHP hypertext preprocessor: sessions. The sessions are used for storing and displaying user information and for implementing user rights. There are
One of the main goals in designing the system was high manageability. Next to the user management system, the board management system has come to fulfill this goal. The system is easily extendable through the admin area. After installing the new board and connecting the attached PC to the network, a few settings of the scripts location for the new boards permit the system to become aware of the new board and it is automatically included in the reservation system. The system can be accessed from any PC connected to Internet. To work with the system the student need a valid account and password which can be obtained from the automated registration procedure. Using the provided login and password, student can access the main web page which shows the four available XSBs, links to documentation, manuals, design examples and exercises (Fig.2).
An administrator user can set the way the user logs in. The registration procedure can be automated, can be activated by e-mail or can be set to require administrator’s confirmation before being able to use the system. For privacy and security, all the passwords are encrypted into the database. For that reason a module for automated reset of the lost passwords has been implemented. Access time to the system is restricted to a limited interval (1 hour by default), which can be set by an administrator from the admin area, so that as many students as possible can use the system. One important part of the e-learning system is the
the reservation system and the “Not available” message is displayed in the main page. For easier administration of the system, the administrator has a report section from where he can extract information about system utilization. The user management module keeps tracks of the user sessions, how long the user has used the system during one session, the load on the system and the load on the reservation system. The reports can help the system administrator to decide if
Fig.3. E-learning system reservation page. reservation system (Fig. 3). Students can reserve one XSB in advance for a convenient date and hour. If the student who has made the reservation does not logs in and gets identified in 10 minute from the start of his time slot, the reservation is cancelled and the XSB becomes available for the others. The same happens, after the start of the working session, if the student remains inactive for more than 10 minutes. This behavior is implemented using a timer which is started once a user logs in and monitor all the user activity. The reservation system also permits the setting of the way the system behaves during the normal laboratory hours. The administrator can set the daily interval when the access is only permitted only from local laboratory. During these hours, the boards appear as “Reserved” in
the system can handle all the needs of the users and taking the right measures by expanding the period the server is available to online users or increasing the number of prototyping boards for example. We are currently working in extending the reservation systems by a series of notifications method of the reservations. The main method is by e-mail. The user can chose to be notified by email to log in into the same short before it time slot begins. The next two methods are SMS notifications via a SMS gateway and the option to add the reservation to Microsoft Outlook. Manageability, ease of use and installation, offering the best e-learning experience were the primary goals in designing the system. There are a couple of advantages as a results of the current implementation: portability – the
Apache web server , the PHP hypertext preprocessor, the Mysql database server are all cross-platform, capable of running on a multitude of operating system and low costs – because of use of free software. Being a web-based system, we have to offer our services to a multitude of users running different web-browsers on different operating system. Because of the XHTML compla int HTML code generated by the PHP hypertext preprocessor and the limited use of Javascript, every recent graphical browser we have tested were capable of proper visualization of the system.
- Implementation of features allowing interactions between boards. - Access permission to multiple boards for a single user.
5. Conclusions
[1] Aktan B., Bohus C.A., Crowl L.A.,. Shor M.H, "Distance Learning Applied to Control Engineering Laboratories", IEEE Trans Education, vol. 39, no. 3., pp. 320-326, 1996.
We have presented our work aiming to design efficient tools for long-distance education. Using RXST, students can replay or continue their experiments, imagine and test new experiments outside the laboratory using a remote computer with Internet access. In order to improve the e-learning system, future work can address many different aspects: - Implementation of a power saving procedure so that the boards can be powered down when not accessed and powered up when an access requests is initiated. - Enhance the possibility of observing the operation of the implemented design by increasing the number of feedbacked signals from XSB.
6. Acknowledgements This research is partly supported under the CNCSIS grant No. 33371/29.06.2004.
7. References
[2] McCormack C., Jones D., Building a Web-Based Education System, John Wiley &Sons Inc., 1997. [3] Van den Bout D., The Practical Xilinx Design Lab Book, Prentice Hall, 1999. [4] ***, XSTOOLs V4.0 User Manual. GUI-Based and Command Line-Based XS Board Utilities, X Engineering Software Systems Corporation, 2001.
[5] Lerdorf R., Tatroe K., Programming PHP, O’Reilly, 2002.