Electronic- and Mobile-Learning in Electronics Courses Focused on FPGA

Distance learning is the practical and cost-effective solution to deliver education and training in places where University classes and professional courses are not offered due to lack of local expertise or low student enrolment. Its potentiality was recognized since Internet spread worldwide and became the main communication channel to reach students and workers at their homes. Therefore, nowadays a lot of lessons, seminars and simulation of experiments are available on the Web and delivered to students and professional figures, so that they can improve their degree of instruction or their competences with no physical and time constraints (Fujii & Koike, 2005; Grimaldi et al., 2005, 2006; Leiner, 2002; Rapuano & Zoino, 2006). Thanks to the evolution of information and communication technologies, we have the chance to combine multiple approaches to learning, i.e. a “blended” use of virtual and physical resources commonly defined as Blended Learning (BL). Although it can be used in a wider sense, in today’s prevalence of high technology the term BL often refers to the provision or use of resources which merge electronic (E-learning) and mobile learning (Mlearning) with other educational resources (classroom, courses, etc.), “combining online and face-to-face instruction” (Bonk & Graham, 2004). The key roles played by both E-learning and M-learning have been also recognized by European Commission, which have been developing several projects (Education Audiovisual Culture Executive Agency [EACEA]; Attewell & Smith., 2004) to promote the inclusion of Information and Communication Technologies (ICT) in all learning systems and environments. As E-learning and M-learning remove the physical, geographical and cultural barriers to the education and enable the learners to choose their own learning path and time, they are suitable to fulfil the main objectives of the mission to improve the education systems in Europe, as officially announced by European Union the with the declaration of Lisbon in 2000. There, basic and high instruction as well as adult training was recognized to be at the centre of the growth, innovation and integration processes in the democratic societies and much effort had to be made:  to give to all citizens the same opportunities to gain an higher degree of instruction;  to promote the institution of a life-long learning system to update the competences and to encourage new specializations of the adult people, thus increasing their capability of finding or changing their work.


Introduction
Distance learning is the practical and cost-effective solution to deliver education and training in places where University classes and professional courses are not offered due to lack of local expertise or low student enrolment.Its potentiality was recognized since Internet spread worldwide and became the main communication channel to reach students and workers at their homes.Therefore, nowadays a lot of lessons, seminars and simulation of experiments are available on the Web and delivered to students and professional figures, so that they can improve their degree of instruction or their competences with no physical and time constraints (Fujii & Koike, 2005;Grimaldi et al., 2005Grimaldi et al., , 2006;;Leiner, 2002;Rapuano & Zoino, 2006).Thanks to the evolution of information and communication technologies, we have the chance to combine multiple approaches to learning, i.e. a "blended" use of virtual and physical resources commonly defined as Blended Learning (BL).Although it can be used in a wider sense, in today's prevalence of high technology the term BL often refers to the provision or use of resources which merge electronic (E-learning) and mobile learning (Mlearning) with other educational resources (classroom, courses, etc.), "combining online and face-to-face instruction" (Bonk & Graham, 2004).The key roles played by both E-learning and M-learning have been also recognized by European Commission, which have been developing several projects (Education Audiovisual Culture Executive Agency [EACEA]; Attewell & Smith., 2004) to promote the inclusion of Information and Communication Technologies (ICT) in all learning systems and environments.As E-learning and M-learning remove the physical, geographical and cultural barriers to the education and enable the learners to choose their own learning path and time, they are suitable to fulfil the main objectives of the mission to improve the education systems in Europe, as officially announced by European Union the with the declaration of Lisbon in 2000.There, basic and high instruction as well as adult training was recognized to be at the centre of the growth, innovation and integration processes in the democratic societies and much effort had to be made:  to give to all citizens the same opportunities to gain an higher degree of instruction;  to promote the institution of a life-long learning system to update the competences and to encourage new specializations of the adult people, thus increasing their capability of finding or changing their work.
Early web-based learning environments are grounded on fundamental instruction models that might result in out-of -date pedagogical approaches where learners play only a passive role (Batatia et al., 2002).More up-to-date pedagogical approaches, instead, are based on models of collaboration used in modern working life (Batatia et al., 2002;Blumenfeld et al., 1991), where teaching is provided through the development of projects that also involves the learners' performance and application of gained theoretical knowledge.
To pursue this goal, practical training is absolutely essential to ensure a good knowledge transfer from teacher to students and hence to educate good professionals.Thus, laboratory activity related to on-line teaching applied to scientific domains and remote control of instrumentation and the execution of real experiments via Internet have been becoming topics of interest for many researchers (Albu et al. 2004;Arpaia et al., 1996Arpaia et al., , 2000;;Bagnasco et al., 2002Bagnasco et al., , 2003;;Benetazzo et al., 2000Benetazzo et al., , 2002;;Canfora et al., 2004;Daponte et al., 2002Daponte et al., , 2004a)).
The need of remote laboratories must be mostly met in teaching of electric and electronic measurement topics, both in academic courses and in industrial training industry, where learners should achieve an accurate practical experience by working in real conditions and on real instruments.Indeed, mainly due to their costs, both public and private electric and electronic measurement laboratories are not so widespread, thus complicating the life-long learning of specialized technicians especially in the field of process control, quality control and testing engineering.
In the case of university classes, for example, creating, maintaining and using an efficient laboratory in an undergraduate curriculum could become an unfeasible task (Cmuk et al., 2006).The main drawbacks are:  the high cost of measurement equipments and, in general, of the experimental laboratories;  the growing number of students;  the reduced number of laboratory technical staff;  the continuous evolution of measurement instrumentation involved, that makes it difficult and very expensive to keep the technical staff up-to-date.As compared to remote lessons, seminars and simulation of experiments, interactive remotely controlled experiments have diffused more slowly, but there has been an increase in developments in this field since 2000.Projects for sharing real laboratories on the Internet have been realized and validated in different contexts.As an example, in the field of biochemistry, where access to an electron microscope provided to remote users offers them control over the only instrument features that they need to undertake their tasks.Therefore, they cannot damage the equipment (Cooper, M. 2005).In the field of electronic measurement learners are made able to remotely practice with measurement methods and electronic instruments, executing real experiments on analogue and digital circuits by using multimeters, function generators, and oscilloscopes (Rapuano & Zoino, 2006;Chirico et al., 2005).Also, in digital electronics learning environments provide simulated experiments at distance.A developed example of this type contains simulators that cover combinational and sequential logic networks, finite state machine design, and, being fully integrated together, they allow design and simulation of complex networks including standard logic, state machines and microcomputers (Donzellini & Ponta, 2003).An interesting application of remote laboratory experiments is the hardware implementation of projects on Field Programmable Gate Arrays (FPGA), large-scale integrated circuits that can be programmed after they are manufactured rather than being limited to predetermined, unchangeable hardware functions (Pellerin & Thibault, 2005).Owing to their flexibility, their possibility to be programmed several times in phase of design and low development cost, FPGAs are excellent alternatives to custom ICs (Quintans et al., 2005).They are commonly used in applications that are traditionally in the domain of Application-Specific Integrated Circuits (ASICs), even if they are slower and more power consuming.FPGAs constitute the base of many complex electronic systems with different applications ranging from automotive to multimedia market.Control engineers draw advantage from use of FPGA in automation applications that must be continuously adapted to new requirements and to different operating conditions.The flexibility of programmable logic reduces time, cost and risk of reconfiguration, done with specific software tools that allow to simulate, to test and to validate the project before leaving it to run on real machines.Software designers, instead, can obtain benefit from FPGA-based hardware implementation of computational intensive algorithms and the use of FPGA is considered as a good trade-off between flexibility of software and speed of custom ICs.Hardware implementation with VLSI design, in fact, represents a faster solution, but the long VLSI design time and its lack of flexibility lead to a fast obsolescence of such systems and, hence, to a less widespread use.In the literature, no effective remote teaching and execution of FPGA applications have been performed yet.Other distance digital electronics courses propose tutorials on FPGA and VHDL (VHSIC Hardware Description Language), but there is lack of complete learning environments, including on-line experiments, where users don't need any other resources but an Internet connection.Similar examples of remote experiments either allow control of FPGA based applications only from local network (Extebarria et al., 2001;El-Medany, 2008], or do not provide real-time interaction with hardware (Zuver et al., 2003;Sanchez Pastor et al., 2004.In this latter case, the remote learners have only the possibility to upload their placed and routed designs to a server, which batches together the jobs coming from d i f f e r e n t u s e r s , a n d s e q u e n t i a l l y p r o g r a m s a n F P G A b o a r d , i n p u t s t e s t v e c t o r s , a n d generates a report that details the results.In this chapter we show how to implement a complete web-based remote course (both Elearning and M-learning) on FPGA theory and laboratory practice.The course is based on an E-learning system, and its extension for M-learning operation, that includes a geographically distributed laboratory.This system is based on a thin client-server computing architecture, where a remote user can design, simulate, execute FPGA-based applications and have access to all of the resources of the distributed laboratory, by using a Personal Computer (PC) or a Mobile Device (MD) equipped only with an internet connection, a standard web browser and a Java Virtual Machine.The development software for FPGA hardware, in fact, is located on the server and no installation on client's PC is needed.As a result, we have a complete web-based educational environment, where remote students can take familiarity with all the steps of FPGA-based project design by easily performing practical experiences requiring software tools and repeatedly interacting with hardware instruments.To this aim, the course is structured as follows:  as a first step, students are taught the fundamental theoretical concept, about FPGA technology and VHDL language, using lessons available on the Web and accessible under the control of a Learning Management System (LMS) (Rapuano & Zoino, 2006) Savastano", a remote didactic laboratory distributed over a geographic area whose features will be described in the next section.The chapter describes all the aspects of the developed didactical environment and is organized as follows.In Section 2 the main characteristics, services and architecture of the remote laboratory LA.DI.RE.realized at University of Sannio are presented.Section 3 describes how to develop a distance e-learning FPGA course: a few details of the theoretical elements are given, before considering use of Quartus II software and experiments (Persiano et al., 2007) on devices in FPGA-based applications.In this case, examples of distancecontrolled binary to decimal converter, two-wheel vehicle and robotic arm are shown.The functionalities of the LA.DI.RE.have been extended to allow operation form a MD.The new functions along with an experiment of mobile control (Persiano et al., 2010) of a FPGA-based traffic control system of a railway station are described in Section 4.

The Remote Didactic Laboratory LA.DI.RE. "G. Savastano"
The topic of distance learning has been raising a growing interest in last years.It is often perceived as a group effort where content authors, instructional designers, multimedia technicians, teachers, trainers, database administrators, and people from various other areas o f e x p e r t i s e c o m e t o g e t h e r i n o r d e r t o s e r v e a c o m m u n i t y o f l e a r n e r s ( O n g & Hawryszkiewycz, 2003).In order to reduce the complexity of their joint work, specific software systems have been developed to manage teachers and students activities (Learning Management Systems, LMSs) and, at a higher level, general contents (Learning Content Management Systems, LCMSs).A LMS provides a support to teachers and learners involved in distance didactical activities.Its main role is to manage learners, keeping track of their progress and performance across all types of training activities.The LMS manages and allocates learning resources such as registration, user access control, classroom and instructor availability, instructional material fulfilment (such as publication of content), and online learning delivery.The LCMS usually includes an LMS and adds an authoring system, providing an infrastructure that can be used to rapidly create, modify, and manage content for a wide range of learning to meet the needs of rapidly changing business requirements.The LCMS can retrieve detailed data on learner scores, question choices, navigation habits and use them to give content managers crucial information on the effectiveness of the content when combined with specific instructional strategies, delivery technologies, and learner preferences.
These software systems also provide support for interaction among learning space participants, a mechanism to deliver course materials over the Web, administrative components to allow instructor to tracks student records and to monitor their progress, and collaborative components like Bulletin Board, Chat, E-mail etc. (Ong & Hawryszkiewycz, 2003).Most of the early proposals of didactic laboratories for electric and electronic measurement did not include the noticeable advantages that a LMS could give to teachers using a learnercentric approach.In these cases, students could not self-design their own learning process, nor could they carry out a collaborative or project-based learning; teachers, instead, could not track the activity of the students, nor could they carry out an interactive experiment in a virtual classroom.These hindrances were overcome in the distributed platform based on a LMS proposed in (Grimaldi et al., 2005(Grimaldi et al., , 2006;;Rapuano & Zoino, 2006).This platform integrates the advantages of an off-the-shelf LMS, which is compliant with international standards for web-based training, and an approach for providing remote experiments on measurement instrumentation.This approach, which is based on web services and the thin client paradigm, relies on Virtual Instruments (VIs) developed in LabVIEW and ensures that the students access the instrumentation without downloading heavy plug-ins.Based on these fundamental aspects, the Laboratorio Didattico Remoto-LA.DI.RE.(Remote Didactic Laboratory), which is dedicated to the memory of "Prof.G. Savastano", has been designed, then financed by the Italian Ministry of Education and University (M.I.U.R.) within the National Operating Program (P.O.N.) 2000-2006, and at last realized.This geographically distributed E-learning laboratory provides the students of electric and electronic measurement courses with access to remote measurement laboratories, delivering different teaching activities related to measurement experiments.The activity carried out over the years led to a further project, financed by the Italian Space Agency and aimed to design a distance learning system that uses satellite networks as a backbone for providing web-based training to mobile as well as home/office learners located in the whole Europe (Daponte et al., 2004b) The initial infrastructure of the LA.DI.RE. was composed of the laboratories at the University of Sannio in Benevento and at the University of Reggio Calabria "Mediterranea" under the patronage of the National Research Association on Electric and Electronic Measurement (G.M.E.E.standing for Gruppo Misure Elettriche ed Elettroniche) and the collaboration of about 20 Italian universities and specialized instrumentation, E-learning, and publishing companies such as National Instruments, Tektronix, Agilent Technologies, Yokogawa, Keithley, Rockwell Automation, Didagroup, Augusta publishing.Afterwards, several universities in Croatia, Greece, Slovakia and Ukraine joined (or are about to join) the LA.DI.RE. to develop common projects (Borsic et al., 2006).

Services delivered by LA.DI.RE.
The distance learning course in FPGA is delivered by the remote didactic laboratory LA.DI.RE."G.Savastano".As said above it is a virtual learning environment devoted to the teaching of electric and electronic measurement that integrates an off-the-shelf LMS and a geographically distributed laboratory, accessible from the web by using a simple browser.The distributed laboratory is accessed through the LMS executed on a central server that delivers such functionality to users by means of a thin client-based software architecture (Grimaldi et al., 2005(Grimaldi et al., , 2006;;Rapuano & Zoino, 2006), virtual instruments (VIs) controlling the instrumentation, and Java applets constituting a remote interface of LabVIEW VIs.In such a way it is possible to reuse already developed VIs for integrating existing instrumentation in a remote laboratory without developing new software (Rapuano & Zoino, 2006).Content consumed by learners and created by authors is commonly handled, stored, and exchanged in units of Learning Objects (LOs).Basically, LOs are units of study, exercise, or practice that can be consumed in a single session, and they represent reusable granules that can be authored independently of the delivery medium and accessed dynamically, e.g., over the Web (Vossen & Jaeschke, 2003).LOs are also used to enable remote users to get control of a measurement instrument transparently and to display the measurement results within the normal learning activities.To do this, specific LOs have been developed to add VIs written in LabVIEW to the LMS Inform@ from Didagroup.At present, the measurement instruments of the LA.DI.RE are distributed in four laboratories belonging to as many universities (Sannio and Mediterranea in Italy, Zagreb in Croatia and Kosice in Slovak Republic).Access can be done at the web address: http://www.misureremote.unisannio.it.The access to the measurement instruments is handled by a scheduling system which, transparently through specific scheduling policies, connects the user to a specific physical laboratory in which the required measurement instruments are available.Different user profiles are managed by the system: administrator, teacher, and student (Rapuano & Zoino, 2006).The administrator is responsible for the correct working of the overall distributed system and of handling the user profiles.The services delivered to the teacher are related to the remote handling of the available experiments (remote creation, modification, and removal of experiments, etc.).The services delivered by the remote measurement laboratory module to the student are mainly the following:  Synchronous virtual laboratory -this service allows the student to follow online laboratory activity held by the teacher.The student can see on his/her display the desktop of the server used by the teacher to control the measurement instruments involved in the experiment.The experiment is carried out by operating on the front panel of the LabVIEW VI controlling all the involved instrumentation.In Fig. 1 the control panel of a VXI oscilloscope is connected to the Measurement Server (MS) by means of an MXI-2 interface card.Of course, the students should be logged in the system during the scheduled lab session.The data stream from the physical laboratory to the students can be sent in multicast mode.No automated scheduling policy is foreseen for such kind of activity;  Experiment visualization -this service allows the student to observe the automatic execution of the experiment to take practice with the experiment procedure (see Fig. 1).This kind of service can be delivered to the students at each time of the day and all the times they need it without supervision;  Experiment control -this service allows the student to perform an experiment controlling remotely one or more instruments and, in some cases, observing them by means of a camera.The student can choose a specific experiment in a set of predefined ones and he/she can run it only if the required measurement instruments are currently available (see. Experiment creation -this service allows the student to create remotely an experiment by interacting directly with specialized software executed on the servers used to control the measurement instruments.This feature enables the adoption of Project-Based Learning (PBL) pedagogy (Batatia et al., 2002;Blumenfeld et al., 1991), as didactic model.Under the supervision of the teacher, the students can develop a specific project producing, in an individual or collaborative manner, the VI to control a set of real instruments (see.Fig. 3).3. displays on his/her desktop the VI front panel on the Measurement Server which he/she is connected to.If the chosen service is Experiment Visualization, the student is connected to the Laboratory Server where the teacher is performing the experiment.The Bridge Service of the Laboratory Server finds the Measurement Server that is currently used by the teacher, and allows the student to connect to the related Terminal Server in order to watch the experiment on his/her own computer.On the other side, if the chosen service is Experiment Control or Experiment Creation, the student chooses one of the available experiments and connects to the Laboratory Server, whose Bridge Service of the Laboratory Server finds the Measurement Server connected to the required measurement instruments.Thus, the student is allowed to connect to the related Terminal Server in order to view, manage or develop a new VI from his/her own computer.The student interested in the FPGA course enters the system and is enabled to follow learning activities (Fig. 5) and to get transparently the remote control of real Programmable Logic devices and display the results by a web cam sending real-time images to a VI.Details on how to manage real-time visualization of the measurement instrument during experiment sessions are given in the next subsection.

Software and hardware architectures of the LA.DI.RE.
The remote access to the distributed environment is enabled by a Web-based multi-tier distributed architecture, centred on the LMS that, managing the list of available instruments, schedules the user requests and redirects them to one of the partner laboratories, in which the selected instrument is currently available.The multi-tier architecture consists of the following three tiers: 1. the presentation-tier: it manages the experiment visualization on client-side.It is based on standard Web browsers, with no need of specific software components (no specific operating system is required).The only software component needed is the Java 2 Runtime Environment, which is used in order to employ the Java Applet technology for the experiment visualization and control on the client machine; 2. the middle-tier: it manages the system logic on server-side.It is composed of the following distributed server components (Fig. 6): The LMS is executed on a central server of the overall distributed laboratory, called Laboratory Portal.The LMS interfaces to the users through a Web Server, that is hosted on the same machine;  A Laboratory Server (LS) is used to interface a real measurement laboratory with the rest of the distributed architecture.There is a LS for each measurement laboratory of the universities involved in the project.It delivers the access and the control to the laboratory measurement equipments through a service, called Bridge Service.
Moreover, the LS is the only machine in a measurement laboratory directly accessible through the Internet, while the other server machines are not accessible and typically constitute a private local network.For this reason the LS can also be used for security purposes in order to monitor the accesses to the measurement laboratory and to protect it against malicious accesses;  A Measurement Server (MS) is a server located in a measurement laboratory that enables the interaction with one or more instruments.A MS is physically connected to a set of different electronic measurement instruments through an interface card.
The GPIB interface has been used to connect the MS to the instruments.The used VIs are stored in a database of the MS, where the LabVIEW environment is installed.No adjustment is needed to include a VI in the virtual learning environment and, therefore, the wide number of existing VIs can be reused without requiring additive work; 3. the storage-tier: it performs the data management, related for example to the management of the user profiles and the distributed management of the data related to the available experiments at the different measurement laboratories.It is based on a series of geographically distributed databases, managed using the relational database management system (RDBMS).To overcome the well known security weakness of Microsoft-based networks, each laboratory is protected by a Linux-based gateway machine that operates as firewall and Network Address Translation (NAT).

Structure of the E-learning FPGA course
Like in any other web-based course in engineering and science disciplines, typical teaching material could be given by: i. lectures and seminars, sometimes interactive, provided by hardware or software producers, mainly directed to professionals that want to reduce the time to market for a new application; ii.support to University courses, including slides of lectures and exercises; iii.simulation of actual experiments to be executed either remotely or on student's PC; iv.remotely accessible laboratories, where the learners can access real instrumentation using Internet.In our course, theoretical lessons, computer-aided design (CAD) and laboratory practise are intended to provide tools for studying hardware design of digital circuits based on FPGA.The FPGA course interface of Fig. 5 is shown on the client PC to the student entering the home page, where he/she finds a menu of the available learning activities.Besides following theoretical lessons, he uses ALTERA Quartus II CAD to cope with design, synthesis and simulation of FPGA-based projects.Finally, he/she is acquainted with a programmable core integrated in an evaluation board UP1X produced by ALTERA.This choice was due to the easy-to-use and highly educational characteristics of the UP1X board.However, other manufacturers like Xilinx, Actel, Lattice Semiconductors etc., could be taken into consideration.

Theoretical course
The tutorial structure provides an introduction to hardware and software features of programmable logic devices.In particular, remote students entering the LA.DI.RE are enabled to access to the theoretical lessons providing following contents: i. notions of FPGA architecture, analysis of hardware available characteristics (UP1X board); ii.presentation of software development environment (Quartus II) and its tools for FPGA projects; iii.definition of VHDL language and its properties.As far as the FPGA architecture is concerned, the meaning and description of basic concepts and topologies such as logic gate density, configurable logic blocks, routing channels, look-up tables, switch box and connect box are given.Also, details of both the FPGA chips and the additional components on the UP1X demo board used in remote experiments, are presented.Then, learners are introduced to ALTERA ® Quartus II, a software environment used to design, develop and simulate projects based on the UP1X board.Fundamental concepts like hierarchical approach, design entry, floorplanning, technology-mapped netlist, logic synthesis, place-and-route process, and timing analysis are thoroughly explained.Among the several design entry methods (graphic editor, waveform editor, floorplan editor, text editor), the text editor approach based on Hardware Description Language (HDL) is the most widely used, thanks to its powerfulness, flexibility and portability.Thus, a general introduction to definition of VHDL languages, their features as compared to other software languages (C, C++, System C) and use of the main VHDL commands are developed in the last section of theoretical lessons.Afterwards, remote students are ready to interact with CAD design tools and FPGA-based applications available in the remote laboratory.Before doing this, however, they are encouraged to execute a test to estimate their achieved degree of competence.

Computer aided design and simulation of FPGAs
In this section remote students log on to the server from their client PC and via RDP and uses Quartus II to create their own experiments, edit their projects, and check programming errors.This software environment allows managing the design complexity using a hierarchical approach that enables one to shorten its design cycle and improve its design performance and utilization.The remote designers come across the steps of design entry, synthesis and simulation.
Once the project has been developed (design entry) and no programming errors are found, a technology-mapped netlist is generated and, using a place-and-route process, is mapped into the actual ALTERA FPGA architecture (synthesis).Then, the map and the place-and-route results can be validated via timing analysis, waveform analysis, and other verification methodologies (simulation).Once the design and validation process is complete, a binary file generated is used to (re)configure the ALTERA FPGA devices.

Laboratory practice
A key part of the course is the laboratory experience, where the students are actively involved in learning the differences between simulations and experiments.To this scope, FPGA devices are made remotely accessible and monitored by means of LabVIEW VIs and Java applets.By his/her client PC, a student can access from anywhere through Internet, manage the hardware device programmed for a specific application, modify the digital value at the input pins, and obtain the corresponding outputs via a front panel, a Graphic User Interface (GUI) formed by a control panel and a web-cam based LabVIEW VI.

FPGA board
Hardware benches used in remote experiments are UP1X boards, delivered by ALTERA, a leader in the production of programmable logic devices.These boards are equipped with two FPGA chips (Fig. 8): the EPM7128SLC84-7 (from MAX7000S family), located on the left side, has a gate count of over 2.500 and EEPROM internal memory, and the EPF10K70RC240-4 (from FLEX 10K family), on the right side, a SRAM based FPGA device with over 70.000 gates (Hamblem & Furman, 2001).

www.intechopen.com
The former component is used in remote experiments for its non-volatile memory.The UP1X board is also equipped with several additional components.The most important are: 1. a power input module, that receives either a regulated DC power supply between 7 and 9 V (DC_IN) or an unregulated supply (RAW Input), that is regulated on the board by a LM340T before feeding the internal circuitry; 2. a crystal oscillator, operating at 25 MHz, which provides a clock signal to both FPGA devices; 3. four chip select jumpers (TDI, TDO, DEVICE and BOARD), that are used to choose one of the following actions: program EPM7128SLC84-7 device only, program EPF10K70RC240-4 device only, program both FPGA devices, connect multiple boards together; 4. three green LEDs (POWER, TCK, CONF_D), which give to the designer information on board status.The POWER light is on when the supply voltage feeds the board, the TCK LED goes on during the board programming, the CONF_D LED switches on when FLEX and/or MAX devices have been programmed; 5. three switches (MAX_SW1, MAX_SW2, FLEX_SW), three pushbuttons (MAX_PB1, MAX_PB2, FLEX_PB), two digit display (MAX DIGIT and FLEX DIGIT) and sixteen red LEDs (D1-D16), which are all used to check the design results.In detail, the switches and pushbuttons settle the inputs of the FPGA devices, whereas the red LEDs switch on or off depending on the expected output results.Either or both FPGA devices are programmed using a JTAG ByteBlaster cable attached to the MS printer port.Each step of the project on UP1X board has been supported by Quartus II.
The key part of the course is the laboratory experience, in which the students are actively involved in learning the differences between simulations and real experiments.To this scope, FPGA devices are made remotely accessible and monitored by means of VIs.Remote access is possible from anywhere through Internet, and interaction with hardware is based on the idea of using the parallel port of the MS physically connected to the FPGA device.The operation of setting the voltage of parallel port pins connected to I/O pins of the UP1X board is performed by VIs.

The FPGA-based experiments
Three different experiments of application control on FPGA have been carried out.For each experiment the same Block Diagram of the LabVIEW VI is used, setting the voltage of parallel port pins and managing the video stream coming from a web-cam.The web-cam is connected to the same MS and is used to show to the student the result of his/her remote commands.The first example is a simple binary-to-decimal digit converter, whose VI front panel is shown in Fig. 9.The GUI is formed by five horizontal LEDs which represent, from left to right, the most significant bits that are converted into a decimal value.A remote user sets the LED values by a mouse click: a light coloured turned-on LED button means a programmed "1", a darker turned-off led button means "0".The binary sequence in Fig. 9 is "01011" and the corresponding decimal value "11" is shown on the on-board display, monitored by the web-cam.The second and third experiments implemented for the remote laboratory are automation applications (Fig. 10): the former drives a two-wheel vehicle based on MAX7000S chip, the latter controls movements and actions of a robotic arm prototype (Lynxmotion Lynx5 Satellite Arm without electronics) (LINOXMOTION).The hardware realizing the two-wheel prototype consists of the UP1X board, two servos Futaba S3003, a 7.2 Volt battery and an infrared sensor.The control algorithm, written in VHDL for the MAX7000S FPGA, allows the remote students to drive the robot in all of the four perpendicular directions (ahead, behind, left and right).The VI control panel (Fig. 11) is formed by six vertical LEDs which, when are on, operate as follows (from the top to the bottom): 1. supply voltage to the UP1X board is switched off.The default state (LED off) is UP1X board turned on; 2. supply voltage to the two servos Futaba S3003 is switched on.This LED is usually on, in order to let the vehicle wheels to move.Its main goal is to have distinguished supply voltages to the UP1X board and to the servos, so the MAX7000S can be reprogrammed when the vehicle is not moving; 3. Marcia in Avanti (i.e., ahead march) is selected; 4. Marcia in Dietro (behind march) is selected; 5. Rotazione Destra (right march) is selected; 6. Rotazione Sinistra (left march) is selected; When they select "Rotazione Sinistra" on the VI, Pin 7 turns on and the vehicle goes to the corresponding direction counter-clockwise by blocking the left wheel while the other starts to rotate back.The right direction movement is obtained in a similar way.The user commands on the VI operating on the LEDs from Pin 4 to Pin 7, which enable the movements in different directions, are mutually exclusive.To detect obstacles, the vehicle is equipped with infrared sensors that can be used to realize different experiments, in phase of development, by reconfiguring the FPGA board with new applications.The circuit top-level design, that is synthesized to generate the gate-level circuit and to be mapped into the FPGA chip, is shown in Fig. 12.The module clk_div reduces the clock of the FPGA device (25 MHz) to the operating frequency (1 kHz) of each of the modules dietro (i.e., behind march), giradestra (right march), girasinistra (left march) and avanti (ahead march) driving the pins 5, 6, 7 and 4 of the VI control panel, respectively.The module CONTROLLO (control) is a finite-state machine and rules the correct operation of the circuit.Its Moore finite-state machine representation is shown in Fig. 13.When two inputs are erroneously both set to 1, the circuit sets to the default steady-state (rest position).

Extension for M-learning operations
In the previous sections we have dealt with the extension from a local to a remote E-learning designer of all the facilities available for the development of FPGA-based applications.As schematically resumed in Fig. 15 in the example of robotic arm prototype, this operation is done by inserting an Internet connection (no wireless) and a server system to the local path from the User to the Experiment.In this section we describe how to extend the design of FPGA-based application to remote M-learning user.

M-learning vs. E-learning
M-learning has been around for longer than E-learning, with the paperback book and other portable resources, but technology is what shapes its usage today.Technology now allows one to bring in his/her pockets portable devices, such as and-held PCs and smartphones, and to access them wherever he/she finds it convenient.With the advent of broadband connections also working habits have changed and, hence, it is usual to see a manager outside his/her office that is working and using a Personal Digital Assistant (PDA) as mobile terminal connected to Internet.
As E-learning took learning away from the classroom or campus to the home PC, M-learning is taking learning away anytime and anywhere.Therefore, E-learning can be seen as an alternative to classroom learning, but M-learning is a complementary activity to both Elearning and traditional learning (Holzinger et al., 2005).It is gaining appeal among younger generations who have grown up using portable video game devices and wireless technology.
While the opportunities provided from the use of portable devices for M-learning are new, the challenges to overcome the limitations of the technical characteristics of the MDs are quite old.These challenges mean that adapting existing E-learning services and didactic contents to M-learning is not a trivial task.Three different kinds of problems can affect MDs remote operations (Daponte et al., 2010):  Hardware -Small displays, no touch screen and limited processor power are the main drawbacks.The reduced display size without any standard format requires an adaptive run-time environment and specific Graphical User Interfaces (GUIs); absence of touch screen in most smartphones (most PDAs have instead this feature) makes the navigation control harder; finally, due to the limited processor power, applications must be very "light," consuming memory as little as possible in order to reduce the response time of the applications running on the device;  Software -Differently from traditional and laptop PCs, MDs have a wide variety of installed software from different producers and with different versions that are sources of huge interoperability problems for developers.Also depending upon the MD operating system (OS), the JavaTMPlatform, Micro Edition (Java ME) varies greatly in versions and in terms of built-in packages from device to device.The same problem exists concerning the browser capabilities of supporting JavaScript and other web-based languages;  Bandwidth -As a wireless LAN is not always available to the potential user, the system should be able to work over UMTS, EDGE, or GPRS connections.In particular, GPRS has high latency and restricted bandwidth, which is a major drawback for applications or services requiring to be always connected, like those controlling the instrumentation in real time.In order to extend the functionalities of the LA.DI.RE. to MDs and, thus, to deliver services in a BL environment, the primary target is to enhance the software platform to allow remote students to display, control, and create experiments from smartphones, PDAs, etc.This last aspect makes the major difference from the common M-learning systems.

Enhancement of LA.DI.RE. services for M-learning delivery
Due to the hardware, software and bandwidth limitations of MDs, Synchronous virtual laboratory is hard to be delivered to remote students.On the other side, the three asynchronous services (namely Experiment visualization, Experiment control, and Experiment creation) can be integrated in MDs operating as follows:  Experiment visualization -as the thin client paradigm used for E-learning is born for the MDs, it is inherently suited also for M-learning applications.The presentation logic runs on the server, while the thin client has the only task of showing the GUI that often reproduces a window of the application running on the server.A system based on a modified ProperJavaRDP client is used to connect to a server delivering the experiment and running Windows terminal services.The client grabs the image of a VI front panel and, by means of XMLHTTPRequest, handles it dynamically to a "lightweight" web page that provides the front panel presentation on the MD screen.Since the image dimensions are very small on MDs, some cashing algorithms would be just consuming processor power of the sever disabling it to be highly scalable, while handheld devices would lose their limited resources on cashing and compression, with small benefit in bandwidth usage.Therefore, no caching has been adopted in the application;  Experiment control -it is based on a Javascript, which "catches" mouse coordinates and key pressed from the device keyboard and transfers them to an intermediate web server, realized for such task, which passes the data through the ProperJavaRDP client to the RDP server.Web pages are also dynamically loaded with JavaScript reducing the start-up time of the experiments;  Experiment creation -a traditional approach is based on the implementation of all the functionalities of the measurement instrumentation (MI) into the VIs (i.e., a complete mapping of the MI into the VI) and, hence, is too heavy for MD memory.As shown in (Grimaldi & Lamonaca, 2007), a feasible approach is given by splitting up the traditional VI of the MI in several modules which contain only the functionalities required by the measurement procedure and are able to exchange data by using a virtual bus.In this case a remote user downloads only the modules employed in the measurement procedure and has therefore a reduced occupancy of his/her PDA memory.

Remote control of a FPGA-based traffic control in a railway station
The proposed experiment is an example of a FPGA-based traffic control system of a railway station.Depending on the inputs entered by the user, the control system generates signals that rule 4 railway switches (points) to a position corresponding to a shift of the train from one track to another.Moreover, traffic signals system governs rail traffic, so that the simultaneous presence of two or more trains is managed by the common rules of precedence in order to avoid possible collisions.A sketch of the station under test, consisting of 5 tracks, is shown in Fig. 16 (left).The track marked as 1 is reserved for trains coming from North and going Southward, track 2 is for trains coming from South and moving Northward, while the track 3 is a "deposit" track that allows both the input and output trains.The tracks marked as 4 and 5 link the tracks 1-2 and 2-3, respectively.All points are marked with the following identification letters: S1, S2, S3 and S4 (see Figure 16, left).Being a simple dynamic system that evolves with time depending on the user's input signals, it can be modelled as a finite state machine.The inputs are the incoming trains that lead the system to a specific state, which is recognized by the user by means output signals.
The main precedence rule is that each train that no need to change its track has precedence over a train that is about to change its track.As an example, in the case represented in The set-up realized to remotely control the FPGA application described previously is shown in Fig. 17 and can be seen as the evolution to M-learning of the scheme of Fig. 15.

Fig. 4
Fig.4shows what happens when a remote student working on his/her PC enters the LA.DI.RE.using the thin-client model, a client-server architecture where application execution and data management are performed on the server (Terminal Server).His/her PC interacts with a lightweight client (Presentation Client), usually a web browser which connects to the Terminal Server and is responsible only for handling user input and output, such as sending user input back to the server and receiving screen display updates over a network connection.Therefore, the client needs few resources and has a simple configuration, thus reducing support and maintenance costs.This solution also extends the class of possible learners to mobile users, owning a smart phone, a personal data assistant or a notebook equipped with a modem or a wireless LAN adapter.A remote student can watch and control a device in the LA.DI.RE. in the following steps(Grimaldi et al., 2005(Grimaldi et al., , 2006;;Rapuano & Zoino, 2006): 1. executes the authentication phase on the LMS platform using a login and password, interacting with the Web Server used by the LMS platform; 2. chooses a service (Experiment Visualization, Experiment Control, Experiment Creation);

Fig. 6 .
Fig. 6.The structure of the remote didactic laboratory.The real-time visualization of the measurement instruments during each experiment session is managed by remote users by means of a video acquisition device connected to the MSs.As shown in(Ranaldo et al. 2007), a client-server architecture developed in Java and an Axis 207 IP camera with an integrated MPEG-4 encoder are used to remotely set the video capture parameters and acquire videos from each instrument of the measurement laboratory.The video transmission relies on the Real-Time Protocol (RTP) instead of the Remote Desktop Protocol (RDP) used for remote access to the VIs.In fact, RDP is neither effective nor flexible for video transmission since it does not permit modification of parameters such as codec, video formats, and frame rate and involves a very high bandwidth occupation.In more detail, the architecture presents the following software components: 1. RTPProxy: This component is the core of the system.In fact, it represents the LS interface interacting with the LMS to receive the authentication information.This component checks the authentication phase status and manages all user accesses; 2. AppletClient: This component is delivered to the student.It acquires connection permission from the LMS, sets up an encrypted connection with the RTPProxy module, allows the student setting up some camera parameters (codec compression factor, frame rate, frame sizes, bit rate) by means of the user interface, and enables MPEG-4 players; 3. ManagerUsers: This application controls the access permission, forwards the parameters to set up on the video device, estimates the available bit rate, and enables the forwarding permissions of the visualization request; 4. TCPProxy: This component sets the codec and camera parameters as they come from the ManagerUsers component; 5. PortRedirector: This application forwards the video stream to the clients and includes the BridgeUDP functions of the first architecture.Then, the LS starts a direct communication with the client, delivering both the instrumentation access through the VI front panel and the video-stream transmission coming from the IP camera associated with the chosen experiment.In this case, the video stream has an independent part from the MS.No application runs on the MS.Before starting the experiment, the student can choose among different displaying options such as no visualization, photo displaying with different resolutions, visualization of 1 frame/s with different resolutions,

Fig. 11 .
Fig. 11.VI front panel of the two-wheel vehicle.

Fig. 12 .
Fig. 12. Top level design of the two-wheel vehicle.

Fig. 13 .
Fig. 13.Moore finite-state machine representation of the two-wheel vehicle.The VI front panel of the robotic arm prototype is shown in Fig. 14.

Fig. 14 .
Fig. 14.VI front panel of the robotic arm prototype.The VI control panel delivers commands for base rotation, shoulder, elbow and wrist motion, and for driving a functional gripper.The remote user can interact with this application moving the arm through different angular positions and driving it to take and to release objects.The five horizontal LEDs in the control panel, when are on, activate the following actions: 1. Set the robotic arm in position 1 (right); 2. Set the robotic arm in position 2 (middle); 3. Set the robotic arm in position 3 (left); 4. Put the robotic arm is lowered position.The default state (LED off) means robotic arm in raised position.For a safe operation, the robotic arm can move to a new position (right, middle or left) only when the arm is up; 5. Close the gripper and pick-up objects.For a safe operation, the robotic arm can pick-up and release objects only when the arm is steady in the lower position.

Fig. 15 .
Fig. 15.Evolution from local to remote E-learning development of the robotic arm prototype.
Fig. 16 (middle) the train B (which does not change its track) has priority over train A, which has to go northward but it is still on track 1.In fact, before to change the S2 and S3 points, the train A must await the departure of train B. The main precedence rule is no more valid when the train B arrives as the train A is already on track 4, moving to track 2, as shown in Fig 16 (right).In this case, the point generates a red signal waiting to train B.
Fig. 17.M-learning configuration scheme.The remote user executes the developed program on the FPGA board by connecting a common PDA to Internet.Then, after an authentication phase on the LMS, he/she is routed to the user interface of the program running on the FPGA board by means of a communication hardware interface.The remote control of the FPGA application has been performed by a VI which contains only the functionalities required by the experiment.The VI processes data coming from Internet in bit strings form and routes them to the register of the parallel port connected to the FPGA board.As shown in Fig.18, a couple of text boxes were also considered in developing the VI, to account for local displaying of the input/output data flow between the FPGA and the network.

Fig. 18 .
Fig. 18.VI front panel.The PDA thin client works as follows: 1. when the application starts, a full screen image is displayed (Fig. 19 left), showing the application logo; 2. straight afterwards, an interactive graphical user interface representing the railway station, is shown (Fig. 19 tight).The remote user has a continuous monitoring of the trains position and can also manage the train station incoming traffic.The remote user can select the incoming traffic and its destination while the FPGA application routes the traffic automatically.