CprE 288 Introduction to Embedded Systems (Project and Platform Overview)

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

Embedded Robotics. Software Development & Education Center

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

2011 Pearson Higher Education, Mazidi, Naimi, and Naimi Pearson Higher Education, 2011 Pearson Higher Education,

Lecture 1. Course Overview and The 8051 Architecture

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Microprocessor Systems

CSE 466 Exam 1 Winter, 2010

MICROCONTROLLER DESIGN MANUAL

IoT Project Proposals

ECE 477 Design Review Team 8 Spring Mike Cianciarulo, Josh Wildey, Robert Toepfer, Trent Nelson

Low-Cost Microcontrollers

AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB

Unlocking the Potential of Your Microcontroller

INDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

ArduCAM CC3200 UNO board

Embedded Systems: Real-Time Operating Systems For Arm Cortex M Microcontrollers PDF

Introduction to L.A.P. 1

EMBEDDED SYSTEMS READY TO USE LECTURE MATERIALS FOR UNDERGRADUATES

Final Exam Study Guide

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Advanced Embedded Systems

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus

Microprocessors/Microcontrollers

Approximately half the power consumption of earlier Renesas Technology products and multiple functions in a 14-pin package

Microprocessors And Microcontroller

Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto

Lab 4: Interrupts and Realtime

PRU Hardware Overview. Building Blocks for PRU Development: Module 1

DESIGN OF A CUBESAT PAYLOAD INTERFACE. Jason Axelson Department of Electrical Engineering University of Hawai i at Mānoa Honolulu, HI ABSTRACT

Chapter 15. ARM MCUs Architecture, Programming and Development Tools

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

Microcontroller: CPU and Memory

CprE WiFi Bridge

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

AlphaBot2 robot building kit for Raspberry Pi 3 Model B

A Sequence of courses using 8, 16, and 32 bit Microcontroller/DSP Boards

Homework 3: Design Constraint Analysis and Component Selection Rationale

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

CprE 288 Introduction to Embedded Systems (Timers/Input Capture) Instructors: Dr. Phillip Jones

Wall-Follower. Xiaodong Fang. EEL5666 Intelligent Machines Design Laboratory University of Florida School of Electrical and Computer Engineering

Introduction to Microcontrollers

Microcontroller Basics

Experiment 1. Development Platform. Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

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

ESET 369 Embedded Systems Software, Fall 2017

Introduction to 8051 microcontrollers

ELC4438: Embedded System Design Embedded Processor

Microcontroller Not just a case of you say tomarto and I say tomayto

ESET 369 Embedded Systems Software, Spring 2018

New modules for the irobot Create platform

Summer 2003 Lecture 21 07/15/03

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

Project Plan. Project Plan. May Logging DC Wattmeter. Team Member: Advisor : Ailing Mei. Collin Christy. Andrew Kom. Client: Chongli Cai

Intel Galileo gen 2 Board

GROUP 23 Military Surveillance Robotic Vehicle. Ryan Hromada - EE John Baumgartner - EE Austin King - CpE Kevin Plaza - CpE

Lecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

Grocery Guard. Paul Santos. Senior Project Description. Western Washington University Electronics Engineering Technology

MICROCONTROLLER AND PLC LAB-436 SEMESTER-5

World s first MEMS ultrasonic time-of-flight sensors

Embedded System Design

Automation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack

Wireless Connectivity Options for IoT. By: MIST Makers John Varela and Nicholas Landy

extended external Benchmarking extension (XXBX)

Husarion CORE2. Husarion CORE2 is a development board for Internet-connected automation & robotic devices.

Embedded Systems. Read pages

Homework 9: Software Design Considerations

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

WIZTECH AUTOMATION SOLUTIONS (P) LTD., An ISO 9001:2000 and IAO certified company

Computer Hardware Requirements for Real-Time Applications

Claus Kuhnel BASCOM. Programming of Microcontrollers with Ease. An Introduction by Program Examples

AVR Microcontrollers Architecture

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

Embedded Training MakeICT Workshop

E-BOOK - TO MICROCONTROLLER PROGRAMMING USER MANUAL DOWNLOAD

BLACK BOX FOR CAR ACCIDENT

Section Objective: Acquaint with specifications of Launchpad Acquaint with location of switches, LEDs, power-on switch, powering the board.

Design Document. May Logging DC Wattmeter. Team Member: Advisor : Ailing Mei. Collin Christy. Andrew Kom. Client: Chongli Cai

Embedded Systems. Octav Chipara. Thursday, September 13, 12

Basic Components of Digital Computer

Carl Peto. 10th August 2017 SWIFT FOR ARDUINO

ARM Architecture and Assembly Programming Intro

Kevin Meehan Stephen Moskal Computer Architecture Winter 2012 Dr. Shaaban

Lab 1 Introduction to Microcontroller

THE LPC84X MCU FAMILY A MULTI-TESTER TOOL OFFERING FEATURES FOR YOUR NEXT IOT DESIGN

1.0. Presents. techathon 3.0

Homework 9: Software Design Considerations

NXP Cortex-M0 LPC1100L Design with a Cortex-M0 in a DIP package ASEE Tech Session. Sergio Scaglia (NXP Semiconductors) August 2012

Microprocessor or Microcontroller Not just a case of you say tomarto and I say tomayto

Workshop on Microcontroller Based Project Development

TI SimpleLink dual-band CC1350 wireless MCU

Laboratory Hardware and Tools

Embedded Systems: Architecture

Choosing a Micro for an Embedded System Application

Teaching the ARM Microcontroller to Keep Up with the Embedded Industry Technology Change

Technical Specification for Educational Robots

WHICH MICRO? What does MCU needs to do in my system? What are the tasks? Dr. Adriana Becker-Gomez

Transcription:

CprE 288 Introduction to Embedded Systems (Project and Platform Overview) Instructor: Dr. Phillip Jones http://class.ece.iastate.edu/cpre288 1

Overview of Today s Lecture Announcements What are Embedded Systems Project Timeline Platform Overview http://class.ece.iastate.edu/cpre288 2

Announcements Find an article on an embedded system application you are interested. (will be part of Homework 1) What needs does the User have? How does the application help meet the User s needs? http://class.ece.iastate.edu/cpre288 3

EMBEDDED SYSTEMS http://class.ece.iastate.edu/cpre288 4

What are Embedded Systems? Your Definition? Quadcopter Micro SD Card? What are some properties of an Embedded System? Blu-Ray / Remote Programmable Thermostat Roomba http://class.ece.iastate.edu/cpre288 5

What are Embedded Systems? Your Definition? Quadcopter Micro SD Card? What are some properties of an Embedded System? Blu-Ray / Remote Programmable Thermostat Roomba http://class.ece.iastate.edu/cpre288 6

LAB PROJECT http://class.ece.iastate.edu/cpre288 7

Project Timeline Your Interest Real World ES Apps Platform Overview Submit Proj Ideas & ID Users Project Teams Assigned Project Proposal Code Review 1 Code Review 2 Project Documentation Thanksgiving WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Dev Tools Move Interrupts Time Digital I/O Sensor Processing Lab5 Lab6 Lab7 ADC Sensor I/F Communications Lab8 Timer Sensor I/F Project Integration Testing Timer Servo Motor Project Demo http://class.ece.iastate.edu/cpre288 8

Project Lab Summaries (Lab 1) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 1: Getting to know your Development Tools: Verify your home drive setting are working correctly Become familiar with the Code Composer Dev. Environment Write your first Embedded program to have the Cybot platform display information to a human according to a given specification. http://class.ece.iastate.edu/cpre288 9

Project Lab Summaries (Lab 2) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 2: Moving the platform: Become familiar with how commands get sent to/from Cybot Move the platform based on interactive User commands Develop an Embedded System application for simple pattern navigation, and simple object avoidance http://class.ece.iastate.edu/cpre288 10

Project Lab Summaries (Lab 3) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 3: Simple interactions with the Outside World: Learn how the Cybot platform receives General Purpose Input. Process General Purpose Input Analyze sensor data http://class.ece.iastate.edu/cpre288 11

Project Lab Summaries (Lab 4) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 4: Asynchronous interactions/events: Make use of Polling to detect events for which your program does not explicitly know when will occur Make use of Interrupts to detect events for which your program does not explicitly know when will occur Start to learn about how time is used within the Cybot platform http://class.ece.iastate.edu/cpre288 12

Project Lab Summaries (Lab 5) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 5: Communications (Sending/ Receiving commands): Learn the detailed mechanisms used to communicate to the Cybot platform from a device such as a Desktop computer UART (Universal Asynchronous Receive and Transmit) Develop an Embedded system application to enable Cybot communications. Leverage processing command experience from Lab 2 http://class.ece.iastate.edu/cpre288 13

Project Lab Summaries (Lab 6) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 6: Measuring the outside world: Learn the detailed mechanisms used by Cybot to interface to sensors using an Analog to Digital Converter (ADC) Implement ADC functionality Leverage sensor analysis work from Lab 3, to help verify the correctness of you implementation. http://class.ece.iastate.edu/cpre288 14

Project Lab Summaries (Lab 7) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 7: Using time to help understand your Environment Learn the detailed mechanisms used by Cybot to measure the time at which event occur Develop functionality to allow the Cybot platform to determine how far an object is using a Ultrasonic sensor. http://class.ece.iastate.edu/cpre288 15

Project Lab Summaries (Lab 8) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 8: Using time to control the outside world Learn the detailed mechanisms used by Cybot that allow application developers to define the time events occur Develop functionality to allow the Cybot platform to control a servo motor. http://class.ece.iastate.edu/cpre288 16

Project Lab Summaries (Project integration) WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16 Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8 Project Integration & Testing Lab 8: Using time to control the outside world Learn the detailed mechanisms used by Cybot that allow application developers to define the time events occur Develop functionality to allow the Cybot platform to control a servo motor. http://class.ece.iastate.edu/cpre288 17

Course Overview Example Problem Mars Exploration: NASA needs a way to investigate the surface of Mars. ESI solution: The Cybot platform will be used to develop a prototype of a Mars Rover that can: 1) Avoid obstacles 2) Collect data about the Martian terrain 3) Stay within a radiation safe zone 4) Navigate to a communication rely station to send findings back to Earth Prototype: Fully Autonomous Mars Rover http://class.ece.iastate.edu/cpre288 18

Project Platform CyBot: is the codename for ESI s embedded systems platform. It is a programmable mobile system composed of various sensors for solving embedded system problems http://class.ece.iastate.edu/cpre288 19

Course Overview irobot Create List of Sensors Omnidirectional IR sensor Left & Right bump sensors Four cliff sensors along the front Wall sensor All three wheels have drop sensors 2 wheels for movement Students program the MCU on the LaunchPad Communication between the MCU and irobot Create 2 occurs over a serial interface We will use an API (Application Programming Interface) called Open Interface to communicate Omnidirectional IR sensor Power button / Power LED Left & Right bump sensor http://class.ece.iastate.edu/cpre288 20

Course Overview TI LaunchPad TI s LaunchPad (EK-TM4C123GXL) Break-out board for the microcontroller (µc) ARM-based microcontroller (Cortex-M4) http://class.ece.iastate.edu/cpre288 21

Microcontroller Essentially a microprocessor with on-chip memories and I/O devices Designed for specific functions All in one solution - Reduction in chip count Reduced power consumption Reduced cost Examples MC68332, MC68HC11, PPC555, Atmel family (e.g. Atmega128) More details of components later A/D converters, temperature sensors, communications, timing circuits, many others 22

TM4C123 I/O Ports 64 package pins http://class.ece.iastate.edu/cpre288 23

TM4C123 I/O Ports 64 package pins Allows Software to access the world outside of the chip http://class.ece.iastate.edu/cpre288 24

TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits http://class.ece.iastate.edu/cpre288 25

TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits PORT A http://class.ece.iastate.edu/cpre288 26

PORT B TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits PORT B PORT B http://class.ece.iastate.edu/cpre288 27

PORT C TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits PORT C http://class.ece.iastate.edu/cpre288 28

PORT D TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits PORT D PORT D PORT D http://class.ece.iastate.edu/cpre288 29

TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits PORT E PORT E http://class.ece.iastate.edu/cpre288 30

TM4C123 I/O Ports 64 package pins 6 GPIOs Ports(A F) Each 8-bits PORT F PORT F http://class.ece.iastate.edu/cpre288 31

Microcontroller / System-on-Chip (SoC) Program Memory CPU Microcontroller Data Memory Outside World Private Peripheral Bus NVIC UART CFG DATA STATUS ADC CFG DATA STATUS Timers CFG DATA STATUS GPIO http://class.ece.iastate.edu/cpre288 32

Reflection Question Take 2 minutes to think about and respond these questions: What is your view of the role of CPRE 288 in your curriculum objectives? What do you believe will be the biggest challenge in this class for you? http://class.ece.iastate.edu/cpre288 33