Modular Design of Embedded Software for Distributed Robot Control

Size: px
Start display at page:

Download "Modular Design of Embedded Software for Distributed Robot Control"

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 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 information

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc)

Embedded 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 information

HOURS SYLLABUS

HOURS 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 information

Embedded Technosolutions

Embedded 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 information

Final Exam Study Guide

Final 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 information

Computer Hardware Requirements for Real-Time Applications

Computer 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 information

EMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015

EMBEDDED 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 information

Goal: We want to build an autonomous vehicle (robot)

Goal: 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 information

Unlocking the Potential of Your Microcontroller

Unlocking 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 information

Embedded Technosolutions

Embedded 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 information

INDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

INDUSTRIAL 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 information

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Ali 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 information

Diploma in Embedded Systems

Diploma 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 information

Quick Start Guide for the Turbo upsd DK3300-ELCD Development Kit- RIDE

Quick 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 information

Microcontrollers. Principles and Applications. Ajit Pal +5 V 2K 8. 8 bit dip switch. P2 8 Reset switch Microcontroller AT89S52 100E +5 V. 2.

Microcontrollers. 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 information

AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB

AVR 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 information

WIZTECH 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 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 information

Lab 1 Introduction to Microcontroller

Lab 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 information

Embedded Robotics. Software Development & Education Center

Embedded 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 information

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Ali 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 information

acret 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. 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 information

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

MT2 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 information

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

MicroProcessor. 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 information

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

EMBEDDED 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 information

Department of Electronics and Instrumentation Engineering Question Bank

Department 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 information

USER MANUAL ARDUINO I/O EXPANSION SHIELD

USER 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 information

Robotics Training Module ABLab Solutions

Robotics 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 information

Keil uvision development story (Adapted from (Valvano, 2014a))

Keil 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 information

Microprocessors/Microcontrollers

Microprocessors/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 information

DESIGN 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 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 information

Chapter 15. ARM MCUs Architecture, Programming and Development Tools

Chapter 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 information

Bolt 18F2550 System Hardware Manual

Bolt 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 information

Introduction to L.A.P. 1

Introduction 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 information

ARM Embedded Development Using Oberon-07

ARM 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 information

Robotic Systems ECE 401RB Fall 2006

Robotic 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 information

Embedded Systems. Read pages

Embedded 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 information

EECS 388 Embedded Systems Introduction. Gary J. Minden January 22, 2013

EECS 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 information

Module Introduction. CONTENT: - 8 pages - 1 question. LEARNING TIME: - 15 minutes

Module 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 information

EE4390 Microprocessors. Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System

EE4390 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 information

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

The 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 information

Lab Course Microcontroller Programming

Lab 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 information

DEVELOPMENT OF USER FRIENDLY DATA ACQUISITION AND ACTUATION SYSTEM ON EMBEDDED PLATFORM

DEVELOPMENT 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 information

Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their

Freescale 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 information

Embedded Systems. Embedded Programmer. Duration: 2 weeks Rs Language and Tools. Embedded System Introduction. Embedded C programming

Embedded 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 information

1.0. Presents. techathon 3.0

1.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 information

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

TEVATRON 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 information

Introduction to 8051 microcontrollers

Introduction 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 information

AlphaBot2 robot building kit for Arduino

AlphaBot2 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 information

3.3V regulator. JA H-bridge. Doc: page 1 of 7

3.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 information

Prototyping Module Datasheet

Prototyping 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 information

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

EE 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 information

88 Dugald Campbell. Making Industrial Systems Safer Meeting the IEC standards

88 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 information

Advance Robotics with Embedded System Design (ARESD)

Advance 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 information

Intel Galileo gen 2 Board

Intel 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 information

Developing Reusable Device Drivers for MCU's

Developing 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 information

University of Florida EEL 4744 Spring 2014 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering 1 April Apr-14 9:03 AM

University 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 information

Doc: page 1 of 6

Doc: 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 information

Alireza Mousavi Brunel University

Alireza 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 information

Introduction to ARM LPC2148 Microcontroller

Introduction 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 information

SERVOMOTIVE MC Three Axis PC Based Servo Motion Controller. Features

SERVOMOTIVE 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 information

Microcontroller: CPU and Memory

Microcontroller: 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 information

An Ethernet Based Control and Monitoring System Using ARM Processor

An 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 information

Doc: page 1 of 8

Doc: 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 information

Implementation of an Automated Sorting System with a 2-Link Robotic Arm

Implementation 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 information

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

Computer 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 information

CN310 Microprocessor Systems Design

CN310 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 information

1 Microprocessors 2 Microcontrollers 3 Actuation sensing, process control

1 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 information

MSP430 Microcontroller Basics

MSP430 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 information

EMBEDDED Systems. Functions. MODULE- 1 C programming with data Structure Introduction to C. Array and String. Control Flow Statements In C

EMBEDDED 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 information

AN LPC1700 secondary USB bootloader. Document information. LPC1700, Secondary USB Bootloader, ISP, IAP

AN 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 information

CPE 323 Introduction to Embedded Computer Systems: MSP430 System Architecture An Overview

CPE 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 information

Understanding 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, 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 information

SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET

SYLLABUS 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 information

Lecture 6: Embedded Systems and Microcontrollers

Lecture 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 information

Getting to know the Arduino IDE

Getting 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 information

Modules For Six Months Industrial Training On WIRELESS EMBEDDED SYSTEM DESIGN

Modules 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 information

Raspberry Pi - I/O Interfaces

Raspberry 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 information

Growing Together Globally Serial Communication Design In Embedded System

Growing 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 information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded 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 information

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Computer 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 information

A 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 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 information

THE AVR MICROCONTROLLER AND EMBEDDED SYSTEMS. Using Assembly and С

THE 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 information

ustepper 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 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 information

Embedded System Project (521423S) - Specifications

Embedded 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 information

What functional safety module designers need from IC developers

What 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 information

EL6483: Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo

EL6483: 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 information

CourseContents: 1.Introduction to MATLAB. 2. Handling data and data flow in MATLAB. 3. Editing and Debugging M-FILES

CourseContents: 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 information

PIC Microcontroller and

PIC 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 information

Automation 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 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 information

pcduino V3B XC4350 User Manual

pcduino 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 information

Kinetis EA Ultra-Reliable Microcontrollers. Automotive and Industrial Applications

Kinetis 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 information

DSP MICROCONTROLERS ARE BLURRING THE BORDER BETWEEN INTELLIGENT SENSORS AND SOPHISTICATED INSTRUMENTS

DSP 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 information

Architecture of Computers and Parallel Systems Part 6: Microcomputers

Architecture 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 information

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

ARM 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 information

GUJARAT TECHNOLOGICAL UNIVERSITY

GUJARAT 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 information

Preliminary Design Report

Preliminary 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 information

Workshop on Microcontroller Based Project Development

Workshop 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 information

MicroBolt. Microcomputer/Controller Featuring the Philips LPC2106 FEATURES

MicroBolt. 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 information

P89V51RD2 Development Board May 2010

P89V51RD2 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 information

ustepper 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 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