Modular Design of Embedded Software for Distributed Robot Control
|
|
- Theodora Franklin
- 6 years ago
- Views:
Transcription
1 Modular Design of Embedded Software for Distributed Robot Control Nicolas Champagne-Williamson, Computer Science, Cornell University Jason Cortell, Lab Manager, Mechanical and Aerospace Engineering, Cornell University Prof. Andy Ruina, Mechanical and Aerospace Engineering, Cornell University Dec. 16, Funded by Semiconductor Research Corporation with Support from Intel Foundation
2 Abstract Cornell s bipedal robot, Ranger, is going through brain surgery. In an effort to increase power efficiency and walking distance, all of its electronics and software have been redesigned and implemented in a modular way to allow for greater adaptability. We have created a simple operating system for our boards, and numerous modules which add extra functionality as needed. The data nexus provides the linkage between all of these modules, and allows the modules themselves to be more abstract. The projects for each microcontroller on the robot now take only a couple of hours to program and test, and future robots will take advantage of this distributed computer system for quick and easy design. Introduction The previous iteration of Cornell s bipedal robot, Ranger (figure 1), had one main microcontroller which controlled the entire robot. However, this caused many problems when updating or adding features to the robot, because of the number of wires that had to be routed to the main board and the limited number of ports available. Therefore a new distributed control system was designed which employs a number of smaller satellite microcontrollers to manage many lower level aspects of the robot, such as motor control and reading input from sensors. These controllers all communicate with each other and the high level controller main brain over a Controller Area Network (CAN) bus. However, each of these boards requires a separate software project yet share similar functionality, so it was decided that software should be implemented as modular and independent of the specific board as possible. figure 1. Cornell s Ranger Robot The result is a multitude of modules, each encapsulating some functionality of the robot, such as controlling current to a motor or scheduling tasks for the microprocessor. These modules can be grouped into system (the core of the software) versus module (extra functionality) code, and board independent (same on every board) versus board specific (setup required on each board) code. These modules allow us to create new projects quickly, and are both adaptable and powerful enough to implement additional functionality when and where we need it. Materials and Methods The current electronics on Ranger are built around generic boards, which themselves have hardware modules. The microcontroller used on each board is an LPC2194/01 ARM7, chosen because of its low power consumption. All the programming is done in C using the Keil uvision IDE, and programs are flashed to each board using Keil s ULINK2. Every board has a project unique to it (because no board has exactly the same function) and these projects all link to the same modules, to limit copying code and updating files in multiple places. The module files are kept in a Subversion repository on the Ruina Lab server. The software for each board is split up into modules, each encompassing some small, but not necessarily simple, functionality. For example, the motor controller module
3 uses proportional-integrative-derivative (PID) control of the current going to the motor, which itself uses an external analog to digital converter (ADC) module to read in the current. In our architecture, there are two distinctions in the types of modules: board specific/board independent, and module code/system code. The board specific modules are low level programs that have to be configured for each specific project. One of the problems we ran into was how to link the modules together. For example, the motor controller needs to get the motor current in order to work properly, but it doesn t care from where; on one board it might be the external ADC and on another it might be the internal ADC. Our solution was the Data Nexus, a board specific module whose purpose was to create the linking function between modules, as well as perform unit conversions. In our example, the data nexus would define a get_motor_current() method that uses whatever module has access to the motor current on that specific board, converts this value into amps, and passes this function to the motor controller to be called as needed. The board independent modules are the same on every board. All of the configurations for these modules are done through the board specific modules. The board independent modules are designed to be as abstracted as possible, and to be reusable both in different boards and with different microprocessors. However, the latter was mostly undoable because so much of the algorithms design was based around how the board worked. For example, many of the modules depended on hardware communication protocols, such as Serial Peripheral Interface (SPI) or Universal Asynchronous Receive Transmit (UART) to talk to needed peripherals, but the registers used had very specific orders and methods of doing things, that to try and abstract it all out would create unnecessarily complex code. The system code is included with every project and forms the core of the software. It includes both specific and independent files, and provides basic functionality such as error handling, function scheduling, hardware and software setup, and the data nexus. The module code adds extra functionality as needed to each board s project, based on the desired job of the board. Results The following is an overview of the files that were implemented to satisfy the design constraints. See figure 2 for a graphical look at how they all fit together. 1. System Code: The Core code on the microcontroller 1.1. Board Independent: Same code on every board Scheduler: This program uses a schedule defined in software setup to decide what tasks should be run when. It has the ability to be synced from the main brain, but will continue to run in error mode if it becomes unsynchronized with the main brain. Includes: This file contains links to all necessary header files of all possible modules, regardless of whether they are used or not within the project. It is included with every module and allows linking to any other modules. Error: Code from this module is called from modules when any sort of error occurs. It has different levels of priority, and relays the error messages over CAN to the main brain Board Specific: Different versions on each board
4 Hardware Setup: This code sets up all the necessary hardware for the project, including configuring communication protocols, input/output pins, and timers. Software Setup: This code sets up all the necessary software for the project, including passing specific parameters to the software modules such as which encoders to read from, or how often to blink LEDs. Interrupts: Configures the vectored interrupts and fast interrupts. Data Nexus: This board specific system code ties all of the board independent modules together, allowing the modules themselves to be abstract. For example, it defines functions to read in sensor input, and passes that to modules which need that sensor info, converting units or data types if necessary. It also defines CAN wrapper methods for transmitting data to the main brain. Local Headers: This board specific system code provides board specific access to some modules, such as modules that are being debugged or that are in progress, and whose inclusion in the standard includes.h file would break other projects. 2. Module Code: Adds additional functionality to a board 2.1. Board Independent: Same code on every board Absolute Encoder: Reads input from the magnetic absolute encoder over SPI. Internal ADC: Reads and stores input from the internal analog to digital converters (4 of them). External ADC: Reads and stores input from the external analog to digital chip, communicating over the Synchronous Serial Port (SSP). Button: Finds the state of buttons. Buzzer: Controls the frequency and amplitude of a buzzer. CAN: Receives and transmits packets over the CAN busses. Song: Controls for playing songs using the buzzer. Purely for fun, it can play the Mario theme song and the Cornell Alma Mater. Heartbeat: Some sort of heartbeat for the board to let us know it s on and working properly, usually accomplished by blinking an LED. LCD: Controls for displaying text using the 16 character LCD display. Limit Switch: Simulates a limit switch, which is on if the value on some pin has occurred for a given number of time counts. Microstrain IMU: Communicates with the Microstrain Inertial Measurement Unit (IMU) to get information about acceleration and angles. Motor Controller: Controls the DC motors using PWM and PID current control. Also has support for PID position control. Quadrature Encoder: Analyzes input from the quadrature encoder on motors to find position and velocity. Radio Control: Finds the frequency of the radio control signal. UART: Prints characters of Universal Asynchronous Receive Transmit.
5 UI LED: Code to specifically control the tricolor LEDs on the user interface board. Hardware Software Sensors Registers System Code Setup and Configuration Data Nexus Modules Figure 2. Overview of the different parts of a board. All of the modules are referenced through the data nexus. Setup and configuration on the software level give modules access to hardware, including sensors and microcontroller registers. Discussion The current software for the robot is nearing completion. Left to be done are a few more modules, such as Bluetooth communication, and the high-level control code, which is currently being designed around hierarchical finite state machines. Additionally, all of the boards projects need to be assembled using the modules described above. The ease of configuration means that this will take a fraction of the time it would otherwise have taken to design separate code for each microcontroller. However, there are a few problems I d like to address with our current code, and some possible solutions. 1) We ran into problems when anyone updated or changed the header to a module. Because we began testing boards and complete projects in parallel with the modules, a change in a module often resulted in the breaking of most other projects due to compilation errors. These were often caused by mismatched function signatures or type definitions. Our quick solution to this was the local headers file, which allowed in progress modules or debugging modules to only be used by the one board it was being debugged on. This was only a temporary fix, because when the module was complete and working, it would still cause the same issues with projects that were previously working fine when the main file was finally updated. A better solution would be having working versions of the code, so that projects that other people use aren t affected by updates and fixes unless they want to update to a later version. 2) The purpose of our modules was to make it much easier to design new robots because we simply add boards as we need them. The boards and software were made to be flexible and versatile, so that they could work in a variety of situations. However, I believe we could abstract the code even more, so that some modules could work regardless of the microcontroller or hardware. Code like the PID algorithm used in the motor controller and the method for finding velocity using the Quadrature Encoder can, and probably should, be separate from commands and functions which
6 access the hardware directly. Instead we could design and use drivers for each aspect of the hardware we need to interface with, so instead of the motor controller setting the pulse width modulation (PWM) directly in its code, it would defer to some function passed to it by the data nexus, which would have direct access to the PWM registers on the board. These drivers would be unique to the microcontroller, but independent of the board, and would form the interface between the hardware and the software. Additionally, this would allow software to be run on a wider range of hardware without always having to be rewritten, although the drivers themselves would still need to be implemented. 3) Thought has been given to open-sourcing this project and allowing others who develop robots to have access to our modular boards and software, but currently putting a project together requires too much high-level knowledge of the whole process. To make this more accessible, some user interface must be designed that simplifies the whole process, allowing users to drag and drop modules into place and connecting them as they need. The automation of configuration needed for this process will also enforce conditions of the code that are often missed by handbuilding projects, such as certain settings and orderings that aren t explicit in the code. Conclusion We set out to create a system for quickly building future robots using modular systems for both software and hardware, allowing us to add what we need to an arbitrarily complex robot. We found that for the most part, the modules were able to be the same on every board, with only parameters and hardware setup needed to make them work. Additionally we designed a simple operating system that works with the modules, and a data nexus that ties all of the modules together, allowing the modules themselves to be abstract. Future robots are now able to be constructed much more quickly, and more freedom can be given to their mechanical design. As more robots are developed, the software itself will also change, updating current modules, adding new modules, and further abstracting and automating the process to make implementing electronics and programming robots easy enough for any person.
Advanced Embedded Systems
Advanced Embedded Systems Practical & Professional Training on Advanced Embedded System Course Objectives : 1. To provide professional and industrial standard training which will help the students to get
More informationEmbedded Systems. Software Development & Education Center. (Design & Development with Various µc)
Software Development & Education Center Embedded Systems (Design & Development with Various µc) Module 1: Embedded C Programming INTRODUCTION TO EMBEDDED SYSTEM History & need of Embedded System Basic
More informationHOURS SYLLABUS
8051 40 HOURS SYLUS Introduction of 8051 Pin configuration of 8051, Register structure of 8051. Hardware and software part of Embedded Systems, s in 8051 Assembly level programming, Embedded C programming
More informationEmbedded Technosolutions
We Are India s one of the Leading Trainings & Jobs Providing Organization Government of India Registered & ISO Certified Organization Embedded Technosolutions is a Professional Training Institute & a
More informationFinal Exam Study Guide
Final Exam Study Guide Part 1 Closed book, no crib sheet Part 2 Open book, open notes, calculator (no laptops, phones, devices with screens larger than a TI-89 calculator, devices with wireless communication).
More informationComputer Hardware Requirements for Real-Time Applications
Lecture (4) Computer Hardware Requirements for Real-Time Applications Prof. Kasim M. Al-Aubidy Computer Engineering Department Philadelphia University Real-Time Systems, Prof. Kasim Al-Aubidy 1 Lecture
More informationEMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015
EMBEDDED SYSTEMS: INTRODUCTION TO THE MSP432 MICROCONTROLLER Volume 1 First Edition June 2015 Jonathan W. Valvano ii Jonathan Valvano First edition 3 rd printing June 2015 The true engineering experience
More informationGoal: We want to build an autonomous vehicle (robot)
Goal: We want to build an autonomous vehicle (robot) This means it will have to think for itself, its going to need a brain Our robot s brain will be a tiny computer called a microcontroller Specifically
More informationUnlocking the Potential of Your Microcontroller
Unlocking the Potential of Your Microcontroller Ethan Wu Storming Robots, Branchburg NJ, USA Abstract. Many useful hardware features of advanced microcontrollers are often not utilized to their fullest
More informationEmbedded Technosolutions
We Are India s one of the Leading Trainings & Jobs Providing Organization Embedded Technosolutions is a Professional & Corporate Training Institute & a Company which Working for Indian MNCs & Medium/Small
More informationINDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD
MODULE-1 C Programming Language Introduction to C Objectives of C Applications of C Relational and logical operators Bit wise operators The assignment statement Intermixing of data types type conversion
More informationAli Karimpour Associate Professor Ferdowsi University of Mashhad
AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar
More informationDiploma in Embedded Systems
Diploma in Embedded Systems Duration: 5 Months[5 days a week,3 hours a day, Total 300 hours] Module 1: 8051 Microcontroller in Assemble Language Characteristics of Embedded System Overview of 8051 Family
More informationQuick Start Guide for the Turbo upsd DK3300-ELCD Development Kit- RIDE
Contents: Circuit Board upsd DK3300-ELCD Development Board with a upsd3334d-40u6 MCU with Enhanced Graphic LCD RLINK-ST, a USB-based JTAG adapter from Raisonance for debugging with Raisonance Integrate
More informationMicrocontrollers. Principles and Applications. Ajit Pal +5 V 2K 8. 8 bit dip switch. P2 8 Reset switch Microcontroller AT89S52 100E +5 V. 2.
Ajit Pal Microcontrollers Principles and Applications +5 V 2K 8 8 bit dip switch P2 8 Reset switch Microcontroller AT89S52 100E +5 V +5 V 2.2K 10 uf RST 7 Segment common anode LEDs P1(0-6) & P3(0-6) 7
More informationAVR MICROCONTROLLER PROJECT TUTORIAL E-PUB
14 May, 2018 AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB Document Filetype: PDF 151.29 KB 0 AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB Premium source of Projects Tutorials Code Ebooks Library for Atmels
More informationWIZTECH AUTOMATION SOLUTIONS (P) LTD., An ISO 9001:2000 and IAO certified company
WIZTECH AUTOMATION SOLUTIONS (P) LTD., An ISO 9001:2000 and IAO certified company #102, W Block, 2nd and 3rd floor, 2nd Avenue, Anna nagar Roundtana, Chennai-40 E-mail: wiztech4automation@gmail.com web:
More informationLab 1 Introduction to Microcontroller
Lab 1 Introduction to Microcontroller Feb. 2016 1 Objective 1. To be familiar with microcontrollers. 2. Introducing LPC2138 microcontroller. 3. To be familiar with Keil and Proteus software tools. Introduction
More informationEmbedded Robotics. Software Development & Education Center
Software Development & Education Center Embedded Robotics Robotics Development with 8051 µc INTRODUCTION TO ROBOTICS Types of robots Legged robots Mobile robots Autonomous robots Manual robots Robotic
More informationAli Karimpour Associate Professor Ferdowsi University of Mashhad
AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar
More informationacret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.
acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.) Module 0 Introduction Introduction to Embedded Systems, Real Time
More informationMT2 Introduction Embedded Systems. MT2.1 Mechatronic systems
MT2 Introduction Embedded Systems MT2.1 Mechatronic systems Mechatronics is the synergistic integration of mechanical engineering, with electronics and intelligent computer control in the design and manufacturing
More informationMicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor
1 2 A microprocessor is a single, very-large-scale-integration (VLSI) chip that contains many digital circuits that perform arithmetic, logic, communication, and control functions. When a microprocessor
More informationEMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG
EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG Adam Lindberg github.com/eproxus HARDWARE COMPONENTS SOFTWARE FUTURE Boot, Serial console, Erlang shell DEMO THE GRISP BOARD SPECS Hardware & specifications
More informationDepartment of Electronics and Instrumentation Engineering Question Bank
www.examquestionpaper.in Department of Electronics and Instrumentation Engineering Question Bank SUBJECT CODE / NAME: ET7102 / MICROCONTROLLER BASED SYSTEM DESIGN BRANCH : M.E. (C&I) YEAR / SEM : I / I
More informationUSER MANUAL ARDUINO I/O EXPANSION SHIELD
USER MANUAL ARDUINO I/O EXPANSION SHIELD Description: Sometimes Arduino Uno users run short of pins because there s a lot of projects that requires more than 20 signal pins. The only option they are left
More informationRobotics Training Module ABLab Solutions
Robotics Training Module ABLab Solutions www.ablab.in Table of Contents Course Outline... 4 Introduction to Robotics... 4 Overview of Basic Electronic... 4 Overview of Digital Electronic... 4 Power Supply...
More informationKeil uvision development story (Adapted from (Valvano, 2014a))
Introduction uvision has powerful tools for debugging and developing C and Assembly code. For debugging a code, one can either simulate it on the IDE s simulator or execute the code directly on ta Keil
More informationMicroprocessors/Microcontrollers
Microprocessors/Microcontrollers A central processing unit (CPU) fabricated on one or more chips, containing the basic arithmetic, logic, and control elements of a computer that are required for processing
More informationDESIGN OF A CUBESAT PAYLOAD INTERFACE. Jason Axelson Department of Electrical Engineering University of Hawai i at Mānoa Honolulu, HI ABSTRACT
DESIGN OF A CUBESAT PAYLOAD INTERFACE Jason Axelson Department of Electrical Engineering University of Hawai i at Mānoa Honolulu, HI 96822 ABSTRACT Typically, a complete satellite will be designed around
More informationChapter 15. ARM MCUs Architecture, Programming and Development Tools
Chapter 15 ARM MCUs Architecture, Programming and Development Tools Lesson 2 ARM Microcontrollers 2 ARM CPUs/MCUs CPUs ARM-7 and ARM-9 CPUs PowerPC 750,ColdFire, TigerSHARC MCUs ST72x, LPC21xx, ARM Cortex
More informationBolt 18F2550 System Hardware Manual
1 Bolt 18F2550 System Hardware Manual Index : 1. Overview 2. Technical specifications 3. Definition of pins in 18F2550 4. Block diagram 5. FLASH memory Bootloader programmer 6. Digital ports 6.1 Leds and
More informationIntroduction to L.A.P. 1
Introduction to L.A.P. 1 Corrado Santoro ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it L.A.P. 1 Course
More informationARM Embedded Development Using Oberon-07
ARM Embedded Development Using Oberon-07 Chris Burrows Oberon Day 2011, ETH Zurich 27th May 2011 1 Overview Background ARM Microcontrollers Embedded Software Astrobe Aim Why NXP LPC2000 Microcontrollers?
More informationRobotic Systems ECE 401RB Fall 2006
The following notes are from: Robotic Systems ECE 401RB Fall 2006 Lecture 13: Processors Part 1 Chapter 12, G. McComb, and M. Predko, Robot Builder's Bonanza, Third Edition, Mc- Graw Hill, 2006. I. Introduction
More informationEmbedded Systems. Read pages
Embedded Systems Read pages 385-417 Definition of Embedded Systems Embedded systems Computer dedicated to serve specific purposes Many physical systems today use computer for powerful and intelligent applications
More informationEECS 388 Embedded Systems Introduction. Gary J. Minden January 22, 2013
EECS 388 Embedded Systems Introduction Gary J. Minden January 22, 2013 1 Embedded Systems 2 Embedded Systems -- Automobiles the modern car is a computer on wheels, but it s more like 30 or more computers
More informationModule Introduction. CONTENT: - 8 pages - 1 question. LEARNING TIME: - 15 minutes
Module Introduction PURPOSE: The intent of this module is to introduce a series of modules that explain important features of Motorola s i.mx applications processors. OBJECTIVES: - Explain the need for
More informationEE4390 Microprocessors. Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System
EE4390 Microprocessors Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System 1 Overview 68HC12 hardware overview Subsystems Memory System 2 68HC12 Hardware Overview "Copyright of Motorola,
More informationThe industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.
EMBEDDED ARM TRAINING SUITE ARM SUITE INCLUDES ARM 7 TRAINER KIT COMPILER AND DEBUGGER THROUGH JTAG INTERFACE PROJECT DEVELOPMENT SOLUTION FOR ARM 7 e-linux LAB FOR ARM 9 TRAINING PROGRAM INTRODUCTION
More informationLab Course Microcontroller Programming
Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Robotics and Embedded Systems Lab Course Microcontroller Programming Michael Geisinger geisinge@in.tum.de
More informationDEVELOPMENT OF USER FRIENDLY DATA ACQUISITION AND ACTUATION SYSTEM ON EMBEDDED PLATFORM
DEVELOPMENT OF USER FRIENDLY DATA ACQUISITION AND ACTUATION SYSTEM ON EMBEDDED PLATFORM 1 Moolya Ashwar Shankar, 2 Mr. Sukesh Rao M. 1 PG Scholar, 2 Assistant Professor, NMAMIT Nitte Email: 1 moolya.ashwar@gmail.com,
More informationFreescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their
S08 Highlighted Features Why Do I Need a Slave LIN Interface Controller (SLIC)? Design Challenges Slave synchronization Slave synchronizing to LIN messaging requires a cost versus resource trade-off. Your
More informationEmbedded Systems. Embedded Programmer. Duration: 2 weeks Rs Language and Tools. Embedded System Introduction. Embedded C programming
Embedded Systems Embedded Programmer Duration: 2 weeks Rs.7000 Embedded System Introduction ü PLDs ü Microprocessors ü Signal processing and Data processing ü Micro controllers ü 8051 Microcontroller ü
More information1.0. Presents. techathon 3.0
1.0 Presents techathon 3.0 Course Content - techathon techathon 3.0 is a Robotics and Embedded systems Workshop designed by team Robo-Minions. It is a 2 days workshop with each day divided into two sessions
More informationTEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!
Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer
More informationIntroduction to 8051 microcontrollers
Introduction to 8051 microcontrollers Posted on May 7, 2008, by Ibrahim KAMAL, in Micro-controllers, tagged This tutorial is specially tailored to electronics and robotics hobbyists that have already realized
More informationAlphaBot2 robot building kit for Arduino
AlphaBot2 robot building kit for Arduino SKU 110060864 Description This AlphaBot2 robot kit is designed to use with an Arduino compatible board UNO PLUS. It features rich common robot functions including
More information3.3V regulator. JA H-bridge. Doc: page 1 of 7
Digilent Cerebot Board Reference Manual Revision: 11/17/2005 www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The Digilent Cerebot Board is a useful tool for
More informationPrototyping Module Datasheet
Prototyping Module Datasheet Part Numbers: MPROTO100 rev 002 Zenseio LLC Updated: September 2016 Table of Contents Table of Contents Functional description PROTOTYPING MODULE OVERVIEW FEATURES BLOCK DIAGRAM
More informationEE 354 Fall 2015 Lecture 1 Architecture and Introduction
EE 354 Fall 2015 Lecture 1 Architecture and Introduction Note: Much of these notes are taken from the book: The definitive Guide to ARM Cortex M3 and Cortex M4 Processors by Joseph Yiu, third edition,
More information88 Dugald Campbell. Making Industrial Systems Safer Meeting the IEC standards
88 Dugald Campbell Making Industrial Systems Safer Meeting the IEC 60730 standards Introduction With the introduction of the International Electrotechnical Commission s IEC 60730 standards series, household
More informationAdvance Robotics with Embedded System Design (ARESD)
Advance Robotics with Embedded System Design (ARESD) LEARN HOW TO: Use Arduino hardware &Arduino programming for microcontroller based hobby project development Use WinAVRcross compiler formicrocontroller
More informationIntel Galileo gen 2 Board
Intel Galileo gen 2 Board The Arduino Intel Galileo board is a microcontroller board based on the Intel Quark SoC X1000, a 32- bit Intel Pentium -class system on a chip (SoC). It is the first board based
More informationDeveloping Reusable Device Drivers for MCU's
Embedded Systems Conference East 2012 Page 1 of 20 Developing Reusable Device Drivers for MCU's By Jacob Beningo www.beningo.com http://www.linkedin.com/in/jacobbeningo twitter : Jacob_Beningo EDN Blog
More informationUniversity of Florida EEL 4744 Spring 2014 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering 1 April Apr-14 9:03 AM
Page 1/15 Exam 2 Instructions: Turn off cell phones beepers and other noise making devices. BEAT UCONN! Show all work on the front of the test papers. If you need more room make a clearly indicated note
More informationDoc: page 1 of 6
Nanocon Reference Manual Revision: February 9, 2009 Note: This document applies to REV A-B of the board. 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The Nanocon board is
More informationAlireza Mousavi Brunel University
Alireza Mousavi Brunel University 1 Two Distinct Section» Real-Time Control and Embedded Systems» Systems Theory» Modern Real-Time Control based on Event Modelling 2 Objectives of using computer control»
More informationIntroduction to ARM LPC2148 Microcontroller
Introduction to ARM LPC2148 Microcontroller Dr.R.Sundaramurthy Department of EIE Pondicherry Engineering College Features of LPC2148 in a Nut Shell CPU = ARM 7 Core Word Length = 32 Bit ROM = 512 KB RAM
More informationSERVOMOTIVE MC Three Axis PC Based Servo Motion Controller. Features
SERVOMOTIVE MC-3628 Three Axis PC Based Servo Motion Controller Features Closed-loop servo motion control for three axes, with position and velocity control 32-bit position, velocity, and acceleration
More informationMicrocontroller: CPU and Memory
Microcontroller: CPU and Memory Amarjeet Singh January 15, 2013 Partly adopted from EE202A, UCLA Slides by Mani Srivastava Logistics Programming EVK1100 Guidelines for programming using AVR32 Studio on
More informationAn Ethernet Based Control and Monitoring System Using ARM Processor
An Ethernet Based Control and Monitoring System Using ARM Processor Pingale Vaishali S, Nikalje komal M, Chavan Snehal S, Prof. B.C.Kulkarni Department of Electronics And Telecommunication Engineering
More informationDoc: page 1 of 8
Minicon Reference Manual Revision: February 9, 2009 Note: This document applies to REV C of the board. 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The Minicon board is a
More informationImplementation of an Automated Sorting System with a 2-Link Robotic Arm
Implementation of an Automated Sorting System with a 2-Link Robotic Arm Thomas Carlone, Frederik Clinckemaille, Raymond Short Worcester Polytechnic Institute, Worcester, MA, USA E-mail: tomcarlone@wpi.edu,
More informationComputer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers
Lecture (4) Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers Prof. Kasim M. Al-Aubidy Philadelphia University-Jordan DERTS-MSc, 2015 Prof. Kasim Al-Aubidy 1 Lecture Outline:
More informationCN310 Microprocessor Systems Design
CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor
More information1 Microprocessors 2 Microcontrollers 3 Actuation sensing, process control
1 Microprocessors 2 Microcontrollers 3 Actuation sensing, process control 1 Microcontrollers, microprocessors -what are microprocessors, microcontrollers? -what is the difference between them? -what are
More informationMSP430 Microcontroller Basics
MSP430 Microcontroller Basics John H. Davies AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of Elsevier N WPIGS Contents Preface
More informationEMBEDDED Systems. Functions. MODULE- 1 C programming with data Structure Introduction to C. Array and String. Control Flow Statements In C
EMBEDDED Systems MODULE- 1 C with data Structure Introduction to C Objectives of C Applications of C Relational and logical operators Bit wise operators The assignment statement Intermixing of data types
More informationAN LPC1700 secondary USB bootloader. Document information. LPC1700, Secondary USB Bootloader, ISP, IAP
LPC1700 secondary USB bootloader Rev. 01 8 September 2009 Application note Document information Info Keywords Abstract Content LPC1700, Secondary USB Bootloader, ISP, IAP This application note describes
More informationCPE 323 Introduction to Embedded Computer Systems: MSP430 System Architecture An Overview
CPE 323 Introduction to Embedded Computer Systems: MSP430 System Architecture An Overview Aleksandar Milenkovic Electrical and Computer Engineering The University of Alabama in Huntsville milenka@ece.uah.edu
More informationUnderstanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,
Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, CISC and RISC processors etc. Knows the architecture and
More informationSYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET
1 SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET Intel 8086/8088 Architecture Segmented Memory, Minimum and Maximum Modes of Operation, Timing Diagram, Addressing Modes, Instruction Set,
More informationLecture 6: Embedded Systems and Microcontrollers
Lecture 6: Embedded Systems and Microcontrollers Bo Wang Division of Information & Computing Technology Hamad Bin Khalifa University bwang@hbku.edu.qa 1 What is Embedded System? Embedded System = Computers
More informationGetting to know the Arduino IDE
Getting to know the Arduino IDE I ve heard about Arduino, what the heck is it? Arduino is a development environment Combination of hardware and software Hardware based on Atmel AVR processors Software
More informationModules For Six Months Industrial Training On WIRELESS EMBEDDED SYSTEM DESIGN
Modules For Six Months Industrial Training On WIRELESS EMBEDDED SYSTEM DESIGN 1 st Week Introduction to Embedded System a) Tool Hardware tool and Software tool b) Embedded designing, course study c) Board
More informationRaspberry Pi - I/O Interfaces
ECE 1160/2160 Embedded Systems Design Raspberry Pi - I/O Interfaces Wei Gao ECE 1160/2160 Embedded Systems Design 1 I/O Interfaces Parallel I/O and Serial I/O Parallel I/O: multiple input/output simultaneously
More informationGrowing Together Globally Serial Communication Design In Embedded System
Growing Together Globally Serial Communication Design In Embedded System Contents Serial communication introduction......... 01 The advantages of serial design......... 02 RS232 interface......... 04 RS422
More informationEmbedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad
Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,
More informationComputer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM
i SYLLABUS UNIT - 1 CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS Computer Types, Functional Units, Basic Operational Concepts, Bus Structures, Software, Performance, Multiprocessors and Multicomputers, Historical
More informationA New Application of Zigbee Based Wireless Automation System for Safety of Municipal Workers
A New Application of Zigbee Based Wireless Automation System for Safety of Municipal Workers Mr. Balaji. v. phad 1, Dr. H. K. Naidu 2, Prof. Pratik Gutke 3 1,2,3 Integrated Power System Dept., Tulsiramji
More informationTHE AVR MICROCONTROLLER AND EMBEDDED SYSTEMS. Using Assembly and С
THE AVR MICROCONTROLLER AND EMBEDDED SYSTEMS Using Assembly and С Muhammad AH Mazidi Sarmad Naimi Sepehr Naimi Prentice Hall Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam
More informationustepper S Datasheet Microcontroller, stepper driver and encoder in an ultra-compact design! By ustepper ApS
ustepper S Datasheet Microcontroller, stepper driver and encoder in an ultra-compact design! By ustepper ApS Product: ustepper S Document revision: 1.1 Author: MGN Approved by: THO Approval date: January
More informationEmbedded System Project (521423S) - Specifications
Embedded System Project (521423S) - Specifications Design phases power consumption, environment etc. partitioning, basic solutions System requirements Sketch of hardware Sketch of software operation procedures
More informationWhat functional safety module designers need from IC developers
What functional safety module designers need from IC developers Embedded Platforms Conference Microcontrollers and Peripherals Nov 9 th 2016 14:50 15:30 TOM MEANY Introduction This presentation gives a
More informationEL6483: Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo
: Basic Concepts of Embedded System Modeling and Hardware-In-The-Loop Simulation Spring 2016 : Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo 2016 1 / 26 Overall system : Basic
More informationCourseContents: 1.Introduction to MATLAB. 2. Handling data and data flow in MATLAB. 3. Editing and Debugging M-FILES
CourseContents: 1.Introduction to MATLAB Historical Background Demo & Applications Scope of MATLAB Importance to Engineers Features Vectors & Arrays Accessing MATLAB Help MATLAB Environment Workspace &
More informationPIC Microcontroller and
PIC Microcontroller and Embedded d Systems Muhammad Ali Mazidi, Rolin McKinlay and Danny Causey Eng. Husam Alzaq The Islamic Uni. Of Gaza The PIC ucs 1-1 Chapter 1: The PIC Microcontrollers: History and
More informationAutomation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack
Automation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack Course Syllabus: Chapter# Topic Covered Duration MODULE 1 INTRO TO EMBEDDED SYSTEMS 2-1
More informationpcduino V3B XC4350 User Manual
pcduino V3B XC4350 User Manual 1 User Manual Contents Board Overview...2 System Features...3 Single-Board Computer Configuration......3 Pin Assignments...4 Single-Board Computer Setup...6 Required Hardware...6
More informationKinetis EA Ultra-Reliable Microcontrollers. Automotive and Industrial Applications
Kinetis EA Ultra-Reliable Microcontrollers Automotive and Industrial Applications Agenda Introducing Kinetis EA Proposition Value Features Overview Application Examples Enablement Useful Links 1 Kinetis
More informationDSP MICROCONTROLERS ARE BLURRING THE BORDER BETWEEN INTELLIGENT SENSORS AND SOPHISTICATED INSTRUMENTS
DSP MICROCONTROLERS ARE BLURRING THE BORDER BETWEEN INTELLIGENT SENSORS AND SOPHISTICATED INSTRUMENTS Josif Kosev, Vladica Sark Faculty of Electrical Engineering, SS. Cyril and Methodius University, Karpos
More informationArchitecture of Computers and Parallel Systems Part 6: Microcomputers
Architecture of Computers and Parallel Systems Part 6: Microcomputers Ing. Petr Olivka petr.olivka@vsb.cz Department of Computer Science FEI VSB-TUO Architecture of Computers and Parallel Systems Part
More informationARM Cortex core microcontrollers 3. Cortex-M0, M4, M7
ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 Trends of 32-bit microcontrollers
More informationGUJARAT TECHNOLOGICAL UNIVERSITY
GUJARAT TECHNOLOGICAL UNIVERSITY BRANCH NAME: INSTRUMENTATION & CONTROL ENGINEERING (17) SUBJECT NAME: EMBEDDED SYSTEM DESIGN SUBJECT CODE: 2171711 B.E. 7 th SEMESTER Type of course: Core Engineering Prerequisite:
More informationPreliminary Design Report
EEL 4924 Electrical Engineering Design (Senior Design) Preliminary Design Report 31 Jan 2012 Project Title: Keyboard Jockey Team Members: Name: Jeffrey Kaufman Name: Jacob Meacham Project Abstract Our
More informationWorkshop on Microcontroller Based Project Development
Organized by: EEE Club Workshop on Microcontroller Based Project Development Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com
More informationMicroBolt. Microcomputer/Controller Featuring the Philips LPC2106 FEATURES
Microcomputer/Controller Featuring the Philips LPC2106 FEATURES Powerful 60 MHz, 32-bit ARM processing core. Pin compatible with 24 pin Stamp-like controllers. Small size complete computer/controller with
More informationP89V51RD2 Development Board May 2010
P89V51RD2 Development Board May 2010 NEX Robotics Pvt. Ltd. 1 P89V51RD2 Development Board Introduction: P89V51RD2 Development Board P89V51RD2 Development Board is a low cost development board which have
More informationustepper S-lite Datasheet Microcontroller, stepper driver and encoder in an ultra-compact design! By ustepper ApS
ustepper S-lite Datasheet Microcontroller, stepper driver and encoder in an ultra-compact design! By ustepper ApS Product: ustepper S-lite Document revision: 1.1 Author: MGN Approved by: THO Approval date:
More information