cpre 288 introduction to embedded systems (project and...

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

Upload: others

Post on 11-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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

http://class.ece.iastate.edu/cpre288 1

Instructor:

Dr. Phillip Jones

Page 2: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Overview of Today’s Lecture

• Announcements

• What are Embedded Systems

• Project Timeline

• Platform Overview

http://class.ece.iastate.edu/cpre288 2

Page 3: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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

Page 4: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

EMBEDDED SYSTEMS

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

Page 5: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

What are Embedded Systems?

• Your Definition?

• What are some properties of an Embedded System?

http://class.ece.iastate.edu/cpre288 5

Blu-Ray / Remote

Programmable Thermostat Roomba

Micro SD Card? Quadcopter

Page 6: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

What are Embedded Systems?

• Your Definition?

• What are some properties of an Embedded System?

http://class.ece.iastate.edu/cpre288 6

Blu-Ray / Remote

Programmable Thermostat Roomba

Micro SD Card? Quadcopter

Page 7: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

LAB PROJECT

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

Page 8: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Timeline

http://class.ece.iastate.edu/cpre288 8

WW1 WW2 WW3 WW4

Your Interest Real World ES Apps Platform Overview

WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1

Dev Tools

Lab2

Move

Lab3

Digital I/O Sensor Processing

Lab4

Submit Proj Ideas & ID Users

Interrupts Time

Project Teams Assigned

Lab5

Communications

Lab6

ADC Sensor I/F

Lab7

Timer Sensor I/F Timer

Servo Motor

Project Proposal

Lab8

Code Review 1

Code Review 2

Project Integration Testing

Project Documentation

Project Demo

Thanksgiving

Page 9: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 1)

http://class.ece.iastate.edu/cpre288 9

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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.

Project Integration & Testing

Page 10: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 2)

http://class.ece.iastate.edu/cpre288 10

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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

Project Integration & Testing

Page 11: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 3)

http://class.ece.iastate.edu/cpre288 11

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• Lab 3: Simple interactions with the Outside World:

– Learn how the Cybot platform receives General Purpose Input.

– Process General Purpose Input

– Analyze sensor data

Project Integration & Testing

Page 12: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 4)

http://class.ece.iastate.edu/cpre288 12

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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

Project Integration & Testing

Page 13: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 5)

http://class.ece.iastate.edu/cpre288 13

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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

Project Integration & Testing

Page 14: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 6)

http://class.ece.iastate.edu/cpre288 14

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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.

Project Integration & Testing

Page 15: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 7)

http://class.ece.iastate.edu/cpre288 15

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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.

Project Integration & Testing

Page 16: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Lab 8)

http://class.ece.iastate.edu/cpre288 16

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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.

Project Integration & Testing

Page 17: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Project | Lab Summaries (Project integration)

http://class.ece.iastate.edu/cpre288 17

WW1 WW2 WW3 WW4 WW5 WW6 WW7 WW8 WW9 WW10 WW11 WW12 WW13 WW14 WW15 WW16

Lab1 Lab2 Lab3 Lab4 Lab5 Lab6 Lab7 Lab8

• 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.

Project Integration & Testing

Page 18: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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

Page 19: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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

Page 20: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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

http://class.ece.iastate.edu/cpre288 20

Omnidirectional IR sensor

Power button / Power LED

Left & Right bump sensor

Page 21: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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

Page 22: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

22

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

Page 23: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

•64 package pins

http://class.ece.iastate.edu/cpre288 23

Page 24: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

•64 package pins

http://class.ece.iastate.edu/cpre288 24

Allows Software to access the world outside of the chip

Page 25: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 25

Page 26: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

PORT A

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 26

Page 27: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports P

OR

T B

PORT B

PO

RT

B

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 27

Page 28: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

PO

RT

C

PORT C

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 28

Page 29: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

PO

RT

D

PORT D

PORT D

PORT D

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 29

Page 30: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

PO

RT

E

PORT E

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 30

Page 31: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

TM4C123 I/O Ports

PORT F

PORT F

•64 package pins

• 6 GPIOs Ports(A – F)

–Each 8-bits

http://class.ece.iastate.edu/cpre288 31

Page 32: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

Microcontroller / System-on-Chip (SoC)

http://class.ece.iastate.edu/cpre288 32

CPU Data Memory

Program Memory

Microcontroller Outside World

NVIC

UART

ADC

Timers

Private Peripheral Bus

CFG|DATA|STATUS

CFG|DATA|STATUS

CFG|DATA|STATUS

GPIO

Page 33: CprE 288 Introduction to Embedded Systems (Project and ...class.ece.iastate.edu/cpre288/labs/Lab0/Lab0.pdf · Lab8 Code Review 1 Code Review 2 Project Integration Testing Project

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