In lecture 3, we describe in detail the architecture of FPGAs. .... since Vivado does not support the Spartan-6 device. ISE ... be used for our Spartan-6 FPGA.
Courtesy from: Walden C. Rhines â Mentor Graphics Corporation, DAC 2004 ... S. Furber, âARM System-on-Chip Architectureâ. â P. Panda ... Embedded systems are highly specialisable, often reactive, ... Microcontroller .... Assembly code for: ..
Jan 7, 2014 - How do we build embedded systems? 3 ... Board Assembly .... Choose a MCU and make schematic using Altium ..... (and the Cortex-M3 in particular)?. 29. Page 95. Lots of manufacturers ship ARM products ... C programming.
The ADAMS project aims at promoting the usage of the MARTE standard for the development of ...... Neopost Technologies B.V. (Netherlands). Verhaert New ...
Causes processor to suspend execution and jump to an interrupt service ..... 8051. 12 MHz. 4K ROM, 128 RAM,. 32 I/O, Timer, UART. 8. ~1. ~0.2W. ~10K. $7.
Feb 13, 2004 - Embedded systems is an example of a software development regime in which application of agile methods can be ... improvement, careful consideration is required to achieve the potential benefits. ..... developer. Most software developer
Business Simulation Games and the Learning Experience. A business simulation game offers students the opportunity to learn by doing in as authentic a management situation as possible, to engage .... expect an answer to their questions (although the 2
providing an excellent foundation for subsequent introduction to realtime operating systems. (providing a solid understanding of what is "under the hood"). The material aims to help make introductory embedded systems a serious engineering discipline,
sors in cars, mobile phones, or even coffee machines. Embedded systems are ubiquitous, ...... arbitration mechanism, the decoupled address and read and write lines, a fixed length burst protocol, and a slave ...... processor application implemented a
up a lot of hardware resources) â download the examples and change them. â«. Outcome: ... E.g. : Microchip MPLAB, TI Code Composer, Freescale Code Warrior.
Jun 15, 2010 - program. The main part of this thesis, which contains the documented design patterns, is presented in Chapter 7 to 9. Finally, Chapter 10 summarizes .... hazard2 analysis which is at the heart of any safety-critical system . ......
embedded systems, most designers use low-level programming languages such as C or assembly language for embedded software, and hardware description ...
A major problem causing design delays is the fragmentation of the design process. ... Still manual interaction with the designer is provided by a ... is an optimal decision of which part is more suitable for software and which part is ... On the othe
are keys to efficient co-design of embedded applications. The Model Driven Architecture .... This approach is coherent with the Generative Program- ming [CE00] ...
PDF software engineering for embedded systems chapter 17 multicore software development for embedded · systems this chapter draws on material from the multicore guide mpp from the multicore .... software test attacks to break mobile and embedded devi
Jul 2, 2010 - digital IO sufficient to satisfy the needs of the applications. The device also supports SPI, UART, LIN, IrDA, and I2C communication protocols.
Figure 1. Typical architecture of modern control systems. From the years of the research efforts in the mechatronics engineering field, a design paradigm and an.
Embedded Systems in C. An Embedded Software Engineering Toolkit. Bruce Powel ... Chapter 2 Embedded Programming with The Harmony for Embedded.
not be in the cache has proven difficult, so many real-time sys- tems simply disable .... embedded operating systems that provide virtual memory (for example ...
Jul 2, 2003 - ... B,2000 route des Lucioles Les Algorithmes/ Euclide B,2000 route des Lucioles ...... trol, anti-lock braking, active stability control, cruise con-.
control algorithm and one more as a main microcontroller. The change to FPGA .... soccer is RF data in which is an AI command for controlling robot. The output ...
Embedded systems are application-specific computers that interact with the .... be further aggregated into arrays and structuresâgroups of ... code with different types, namespaces to group objects and avoid accidental name collisions when program
APPLYING EMBEDDED SYSTEMS DESIGN FOR DISTANCE LEARNING Abstract Digital circuits and embedded microcontroller systems are at the heart of twenty-first century life. Today, courses teaching of these systems are essential for engineering and technology students. In order to enhance students’ distance learning experience and improve their hands-on working skills, ceiling mounted robots need to be used. The ceiling robot, controlled by students at remote locations, has vision capability and can travel throughout the lab in order to allow the students to observe faculty giving lecture as well as lab activities and demonstrations. Students could freely move the ceiling robot in the class and clearly see the physical arrangement of tools and experiments through the Internet. The instructor could easily teach and monitor his lab equipment or observe students and his teaching assistant’s performance all at a distance while he is away from his class. In our research laboratory, we are developing such a system. This paper reports our initial findings. Motorola 68HC11 microcontroller single board computer and wireless 802.11b/g were used to implement the ceiling robot control and communication system. Three motors and four wheels were used for the ceiling robot to move the following directions: forward, backward, right, left, up, and down. A webcam and ultrasonic range sensors were used to implement the vision function of the ceiling robot. A video and audio stream server was deployed to facilitate the communication between the ceiling robot with its user through the Internet. The proposed system is different from a traditional webcam which is fixed in place. The ceiling robot can actually be moved throughout the lab for surveillance in addition to distance learning purposes. 1. Introduction Digital circuits and embedded microcontroller systems exist everywhere in our environment. Whether people look at consumer electronics in automotive systems, in their house, or in their office, they will find many small sub-systems which are controlled by a microprocessor and associated peripheral digital circuits.1 Therefore, it is a key requirement that students who study in electrical or mechanical engineering areas should understand digital design and embedded microcontroller system. 1.1 General Statement of the Problem Currently, faculty faces two challenges in the use of the Digital Design and Embedded Microcontroller Environments Lab. First, students need more time to implement and test their designs in the lab. Students want the lab to be open twenty-four hours a day and seven days a week. How to manage the lab and consider security issues are problems faculty have, especially when they cannot stay all day in the lab.
The second challenge is how to connect the Digital Design and Embedded Microcontroller Environments Lab to the Internet in order to provide distance learning courses. According to Making the Grade: Online Education in the United States, 2006 done by The Sloan Consortium, "Nearly 3.2 million students were taking at least one online course during the fall 2005 term, a substantial increase over the 2.3 million reported the previous year".2 In short, online education has become a convenient method to gain knowledge for students. Therefore, a laboratory need to be designed that will benefit the students and be convenient for the instructor. For example, an instructor needs to be able to freely go to any place in the lab to explain an instrument, and students should be able to see what the instructor is talking about. In addition, such a lab would provide the capability for distance learning students to have face-to-face communication with their instructor and classmates and to get hands-on experience. 1.2 The Goal of this Project In order to provide lab surveillance and enhance lab facilities for online education, Ceiling Robots having vision and voice communication capability should be created. It would be controlled by distance students to go throughout the laboratory in order to see any angle or place they want just as if they were there. Therefore, distance students could clearly see the physical arrangement of tools and experiments, and the instructor could easily teach his class and monitor his lab. The main concept of this project is that during the class hours a student can log on to a website to control a vision device that could move six directions: up, down, left, right, forward, and back. Such an Online-Lab could be freely watched and provide real-time communication for users through the Internet. 2. Methodology The methodology for developing this project is Unified Process. 3 Unified Process is a wellknown iterative and incremental software development process framework. The framework includes four different phases: Inception Phase, Elaboration Phase, Construction Phase, and Transition Phase. The first phase is the Inception Phase. The main target of this phase is to define the scope of the project. The second phase is the Elaboration Phase. The goal of this phase is to plan the project such as its specific features and system architecture. The third phase is the Construction Phase. This phase is to actually build the product. The final phase is the Transition Phase. In the Transition phase, all the tests will be completed and the product will be delivered to the users. An important benefit of the process framework is in finding the risks at an early stage and increasing the chance of the product to succeed. 2.1 The System Architecture First, the ceiling structure must be put in place. An acrylic board will be connected to the ceiling. The Ceiling Robot is divided into two different parts. The top part of Ceiling Robot should be placed above the acrylic board. The bottom part of Ceiling Robot will magnetically attach to the top part through the acrylic board. The capabilities of Ceiling Robot include 3-axis direction movement, vision capture, voice transmission, range detection, and Wi-Fi technology
communication. Second, a computer will be programmed to become a Video and Audio Stream Server that can send and receive image and voice data and a Controller Server that can receive commands from users for controlling the Ceiling Robots. The computer has a Wi-Fi interface and an Ethernet interface. The Wi-Fi interface will provide channels to communicate with several Ceiling Robots, and the Ethernet interface will offer a capability for distant users to connect with this system. After a user logs on to the Controller Server, the system will automatically assign a Ceiling Robot to the user who can then control the Ceiling Robot’s movement. The program of the Ceiling Robot will prevent crashing into other Ceiling Robots or humans by using several ultrasonic range sensors. Figure 1 presents the system architecture of the Online-Lab system.
Figure 1. The system architecture of the Online-Lab system
2.2 Hardware architecture of Ceiling Robot The hardware architecture of Ceiling Robot is expressed in figure 2, and the detailed descriptions are addressed below: 1. The top part of Ceiling Robot case. 2. The bottom part of Ceiling Robot case. 3. A tank with four wheels and two tracks is controlled by an embedded system (MC68HC11) in order to move forward, reverse, turn right, and turn left. 4. Two neodymium ring magnets will be bonded with the tank. 5. The MC68HC11 embedded system board.
6. The 802.11g/b to serial port device is connected with the MC68HC11 board to provide wireless communication function. 7. Two neodymium ring magnets in the bottom part of Ceiling Robot. 8. A motor controlling a telescoping arm moves up or down. 9. A telescoping arm. 10. A webcam providing vision function for Ceiling Robot. 11. A microphone receives the voice from the classroom. 12. Two speakers broadcast the voice from a distance user’s talking. 13. Five ultrasonic range sensors, used to avoid bumping into people or objects in the room. 14. Four ultrasonic range sensors, used to prevent Ceiling Robots crashing into each other when several users control them.
Figure 2. The hardware architecture of Ceiling Robot
2.3 Key materials of Ceiling Robot The key materials of Ceiling Robot are described below: 2.3.1. MC68HC11 embedded system: MC68HC11 is an 8-bit MCU with 2 MHz of bus speed. On-chip memory systems include 8K bytes of ROM, 512 bytes of EEPROM, and 512 bytes of RAM. The major peripheral functions include an 8-channel analog-to-digital converter, an asynchronous serial communications interface (SCI), and synchronous serial peripheral interface (SPI). The parallel input/output (I/O) operations in the MC68HC11 include an 8-bit port B and an 8-bit port C. The main free-running
timer system has three input-capture lines, five output-compare lines, and a real-time interrupt function.4 Figure 3 illustrates the block diagram of MC68HC11.
Figure 3. The block diagram of MC68HC11 2.3.2.
Serial to wireless LAN device:
A wireless device server creates a connection between an 802.11 wireless LAN device with a serial port. The unit conveys data between the device with RS-232, RS-422, or RS-485 interface and a wireless LAN. Its purpose is to provide wireless communication capability for the MC68HC11 embedded system. 2.3.3.
Ultrasonic range sensor:
The principle of the ultrasonic range sensor is that the sensor will generate an ultrasonic pulse in a particular direction. If there is an object in the path of this pulse, part or all of the pulse will be reflected back to the sender. The sensor can determine how far away the object is by measuring the difference in time between the pulse being transmitted and the echo being received.5 2.3.4.
A neodymium magnet is a powerful magnet, and it is made by a combination of nearly 25% neodymium, 70% iron, and 5% boron (Nd2Fe14B). 6 Neodymium magnets are very strong in comparison to their mass and recently are used in improving motors and audio technology.
2.4 Software flowchart of system servers and Ceiling Robot The job of the Controller Server is user authentication, receiving commands, and confirming commands. User authentication makes sure a user has authority to login to the Online-Lab system. The receiving command subroutine gets the instructions from users. The confirming command subroutine verifies the command will not cause any harm for people or objects. The task of the Video and Audio Stream Server is to create video and audio channels in order to communicate between users and lab faculty. Figure 4 illustrates software flowchart of system servers.
Figure 4. Software flowchart of system servers The job of the Ceiling Robot program is to initialize all devices, sending image data and voice data to the Video and Audio Stream Server, receiving voice data from remote users and forwarding it to speakers, enabling motors, and sending range information. The detailed software flowchart is describes in figure 5.
Figure 5. Software flowchart of Ceiling Robot
2.5 Ceiling Robot Power System The Wire-Free Electricity technology is based around technology that uses inductive coupling for power transfer. That means no wires, connectors, or contacts between the transmitter and the receiver would be necessary. 7 The principle of this technology is to use electromagnetic induction to transfer power wirelessly via an electromagnetic field from the charging base to the power receiver. A universal wireless charging pad, provided by Splashpower, will be used for the Ceiling Robot's power transfer system.
3. Results In our lab this project is currently in the Construction phase, and the Ceiling Robot prototype has been created. Based on the prototype, the problems and risks can be found in the early stages. This product is, also, the foundation for the final implementation of the project. 3.1 Prototype of Ceiling Robot The 3-axis moving function and the range report function are the main concern for creating this prototype. The materials used are listed below: 1. 2. 3. 4.
One 51x22 ft acrylic board. One toy tank with two motors. One MC68HC11 embedded system board. Two ring neodymium magnets - K&J Magnetics - RY0X04. Dimensions: 2" od x 1" id x 1/4" thick. Magnetization Direction: Axial (Poles on Flat Ends). Weight: 2.55 oz. (72.4 g). Pull Force: 184.60 lbs. Surface Field: 4210 Gauss. Maximum Energy Product: 42 MGOe. Two tube neodymium magnets - K&J Magnetics - RX08X0. Dimensions: 1" od x 1/2" id x 1" thick Magnetization Direction: Axial (Poles on Flat Ends) Weight: 2.55 oz. (72.4 g) Pull Force: 47.50 lbs Surface Field: 5955 Gauss Maximum Energy Product: 42 MGOe One Power Antenna – Legacy – LN46. Weight: 1.88 lbs. One webcam – D-link - DCS-5300W 1/4 inch color CCD sensor. Wireless 802.11b. Built-in omni-directional microphone. Dimensions: 4.0”L x 4.1”W x 4.4 “H. Weight: 12.2 oz. (0.75lb). Four range sensors - The MaxSonar-EZ1. From 0-inche to 254-inches detection. Eight PCB Relays - G5LE For turn on/off motors Contact ratings of 10 A.
Figure 6. The Prototype of Ceiling Robot 3.2 Finding 3-Axis Direction Movement The first experiment verified the 3-axis moving function. A MC68HC11 sample board was placed on a table, and a user controlled a Ceiling Robot to view the sample board in order to observe the placement of the components. Figure 7 shows two different angles captured by the Ceiling Robot. The left picture in the figure could not clearly see the RS232 and RJ12 connectors, so a user controlled the Ceiling Robot to move to the left side of the sample board, as seen in the right picture. After robot changed its position, the user saw the RS232 and RJ12 connectors much clearer. In short, the 3-axis moving function works, and users can control the Ceiling Robot to observe any angles they like.
Figure 7. Two different angles capture by the Ceiling Robot 3.3 Finding Range Detection The second experiment verified the range report function. A block was placed in front of a Ceiling Robot, and people saw the report from a 16X2 LCD display. Figure 8 shows the reported distance of 10 inches on the 16X2 LCD display. The ruler indicated the distance between the block and the Ceiling Robot is close to 10ft. In summary, the range report function works, and the Ceiling Robot can be protected from a crash by knowing range information.
Figure 8. Ceiling Robot reports the range between the block 4. Conclusions In conclusion, the Ceiling Robot can help students to have a twenty-four hour lab with faculty that just needs to do regular checks or record video from the Ceiling Robot system. The Ceiling Robot can also help our university to create an Online-Lab. Distance students can stay at home and log onto the Online-Lab to see or to talk with someone who is working or teaching in the lab. Furthermore, if a distance student can go to an Online-Lab which is close to his or her home, both the student and an instructor can log on to their Ceiling Robot systems. Then they can observe each other and ask each other question. Therefore, a professor can teach an experiment class to regular students, online students, and online students in a remote lab all at the same time. This is also a solution to the problems of teaching hands-on classes to distance students. 4.1 Future Application This ceiling robot also can be implemented on campus, in museums, and in shopping centers. Users can use a webpage controlled 3-axis movable robot at home to move throughout campus, museums, or shopping centers in order to visit, study, or shop.
Barnes, M., Bailey, M., Green, P. R., and Foster, D. A. (2006, Jan). Teaching embedded microprocessor systems by enquiry-based group learning. International Journal of Electrical Engineering Education, Vol. 43, No. 1, pp. 1-14.
Making the Grade: Online Education in the United States. (2006, Nov). The Sloan Consortium. Retrieved December 28, 2006 from http://www.sloan-c.org/publications/survey/survey06.asp
Jacobson, I., Booch, G., and Rumbaugh, J. (1999, Feb). The Unified Software Development Process. Addison-Wesley Professional.
M68HC11 Reference Manual. (2002, Apr). Motorola, Inc. Retrieved December 10, 2006 from http://www.freescale.com/files/microcontrollers/doc/ref_manual/M68HC11RM.pdf
Repas, Robert. (2006, Jan). Ultrasonic sensors. Machine Design. 78-1, 75. Retrieved December 28, 2006 from http://panther.indstate.edu:2048/login?url=http://proquest.umi.com/pqdweb?did=973242651&sid=5&Fmt= 4&clientId=954&RQT=309&VName=PQD
Wida, Sam. (1992, Jan). Neodymium Magnets. The Science Teacher. 59-1, 28-31. Retrieved December 28, 2006 from http://proquest.umi.com/pqdweb?index=11&did=1875261&SrchMode=1&sid=12&Fmt=6&VInst=PROD &VType=PQD&RQT=309&VName=PQD&TS=1172454953&clientId=954
Wire-Free Electricity technology. (2006). SplashPower. Retrieved December 28, 2006 from http://www.splashpower.com/products/technology.html
Biography Dr. Reza Raeisi, California State University, Fresno Dr. Raeisi is an Associate Professor in the Department of Electrical and Computer Engineering at California State University, Fresno. His research interests include Integrated Circuits, VLSI Design, Testing, VLSI-CAD, Embedded Systems Design, and Artificial Intelligence. He is an experimentalist and enjoys hands-on working in the area of computer architecture; FPGA based digital design synthesis and system level modeling using HDL, and application of embedded microcontroller hardware and software as they related to education and laboratory environments. Yi-Te Lee, Apple Computer, California Mr. Lee received a Master’s degree in Computer Networking from National Chung Cheng University in Taiwan in 2002. Currently, he is pursuing another Master’s degree in Electronics and Computer Technology from Indiana State University in Terre Haute. His research interests include robot system, embedded system, and network technology.