14
7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee [email protected] Brickyard 552 (480) 727-7507

7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

Embed Size (px)

Citation preview

Page 1: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

7/23

CSE 325 Embedded Microprocessor System Design

Fall 2010

Computer Science & Engineering DepartmentArizona State University

Tempe, AZ 85287

Dr. Yann-Hang [email protected] 552

(480) 727-7507

Page 2: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 2

Course Syllabus (1)

To focus in the integration of hardware modules to construct embedded systems, the programming models and characteristics of various input/out

interfaces. Use either assembly language or any high-level languages

Course Goals: Develop an understanding for using a CPU core as a component in

system-level design. Ability to integrate CPU core with various interface units in embedded

controllers. Skills for programming and debugging I/O operations to manage

peripherals for embedded applications. Pre-requisites:

Assembly language, microprocessor organization, and experience of C programming language

Page 3: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 3

Course Syllabus (2)

Major topics covered: Introduction and review of instruction set and assembly

language programming (3 lectures) Interfacing between C and assembly languages (2 lectures) Coldfire processor and IO multiplexing (2 lecture) Interrupt and exception (2 lectures) Timers and counters (2 lectures) Serial communication: UART, SPI, and I2C (5 lectures) Parallel I/O interface and signal handshaking (2 lectures) Keyboards and LCD (3 lectures) A/D-D/A converters (2 lectures) Memory devices, SRAM, DRAM, flash memory, and SDRAM

controller (4 lectures)

Page 4: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 4

Course Syllabus (3)

Office hours: 3:45pm – 5:30pm, Monday and Wednesday

Evaluation Midterm exams (20%)  (during the class periods on March 10) Lab assignments (50%) Final exam (30%) (during the final exam period scheduled by

the University, i.e. 9:50-11:40am, Dec. 15)

You can bring in a set of manuals (to be specified), calculator, and a 3x5 note card to the exams.

Page 5: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 5

Target Environment

Freescale Project Board Student Learning Kit and Coldfire 5211SLK

Development Software CodeWarrior IDE (editor, compiler, assembler, debugger, etc.)

Page 6: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 6

Embedded Systems

Computer (general) PC on desk top

Windows, email, instant message, Microsoft word, power point, games

computation and communication

Embedded system the software and

hardware component

that is an essential

part of an application

systemPlantsensor actuator

Control andcomputation

Reference input

Embedded Controller

Page 7: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

Embedded Systems -- Examples

Page 8: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 8

Applications of Embedded Systems

They are everywhere How many CPUs in your PC The average new car has a dozen microprocessors

in it. The Mercedes S-class has 65. How many microprocessors in average household

microwave oven washer, dryer, dishwasher garage opener HDTV

Page 9: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 9

Hardware Platform

Organization buses to connect

components – PCI, ISA, PC104+

Package standard chips on PC processor + ASIC SOC

CPU(micro-

processor)

I/O

I/O

I/O

I/O

Timer

memory

Page 10: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 10

Embedded Processors

Must be optimized for applications performance, speed power I/O peripherals

Processor cores + peripheral interfaces x86 processor + PCI bus

SoC (system on a chip) architecture integrate CPU core and peripheral interfaces on one chip with some internal RAM and external boot memory extendable with an external bus HC11 micro-controller

SoC platforms configurable IP blocks and software support Applications: handheld computing, cellular phone, infotainment,

automobile, etc.

Page 11: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 11

Simple SW Structure for Embedded Systems

To write the control software (program) for a smart washer initialize read keypad or control knob read sensors take an action

System current state state transition diagram external triggers via

polling or ISR

Threads for concurrent operations

initialization

external trigger?

Take actions

Change system state

ISR: to set/clearevents

Page 12: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 12

Software Structure of Periodic Tasks

Invoke computation periodically Adjust pressure valves at a 20 Hz rate

wait for the interrupt event

Task initialization(set up periodic timer interrupts)

computation

start_time=time( )

Task initialization

computation

Sleep(period - ( time( ) -start_time) )

Page 13: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 13

Embedded System Development

Development process integrate HW components develop programs Test

Development environment

Requirements

Test/verificationImplementation(HW and SW)

Ethernet

Simulated signal source

(Workstation, embedded system development tools)

(workstation, interface cards, & test harness)

Development workstation Embedded systems

Page 14: 7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang

set 1 -- 14

Development Environment

Use the host to edit, compile, and build application programs configure the target

At the target embedded system, use tools to load, execute, debug, and monitor (performance and timing)

Target

X.cX.cpp

X.sMakefile

GNU

X.oX.out

vxWorks

CrossWind

WindSh

BrowserWindView

TornadoTools

VxWorksRTOS &

Target agent

WDBAgent

TargetServer

Applications(text, data)

Host Target