Embedded System Design Class: International graduate student Instructor: Wei, Chao-Huang ( 魏兆煌...

Preview:

Citation preview

Embedded System Design

Class: International graduate student

Instructor: Wei, Chao-Huang (魏兆煌 )Office: S706-3E-Mail: drwei@mail.stut.edu.twMobile Phone: 0930-937-932Skype: drwei06

Course Schedule

Hardware Design (VHDL & Schematic Entry) Software Design (Microprocessor & C) HW & SW Co-design Small Real Time Operating System Ethernet NetworkEthernet Network Final Project

Reference Books & Webpage

"Digital Design with CPLD Applications and VHDL", Robert K. Dueck, Thomson.

Any book about "C Language and 8051 Microprocessor".

Design Entry and Synthesis Tools (Quartus II):

http://www.altera.com/products/software/quartus-ii/subscription-edition/design-entry-synthesis/qts-des-ent-syn.html

Embedded System Design :http://www.cs.ucr.edu/~vahid/courses/122a_f99/index.html

Content

What are embedded systems History and development of embedded systems Composition of embedded systems Characteristic of embedded systems Embedded system hardware development Embedded system software development

1. What are embedded systems?

Definition: Embedded system : any device that includes a

programmable computer but is not itself a general-purpose computer.

Data processing systems except PCs and mainframe computers.

Embedded systems are application dedicated computing system.

A More Detailed Definition

Embedded system are application oriented devices, which should be optimized with hardware and software resources. A special computing system with demand of functionality, reliability, cost, size, and power consumption.

Generally, an embedded system consists of 4 parts -- embedded microprocessor, peripheral hardware equipment, embedded operating system and user's application program , used for realizing the functions , such as control on other equipment , monitoring or management.

Embedding a computer

Example: Digital camera

Microcontroller

CCD preprocessor Pixel coprocessorA2D

D2A

JPEG codec

DMA controller

Memory controller ISA bus interface UART LCD ctrl

Display ctrl

Multiplier/Accum

Digital camera chip

lens

CCD

Input interface

Output display

Digital signal processor

Central processor

Software Architecture

Application Software

Hardware

PDA: Handspring Visor Hardware Specs:

Operating System: Palm OS version 3.5.2H

Processor: 33 MHz Motorola Dragonball VZ (16-bit)

Memory: 8 MB RAM, 2M ROM Display: 160x160 pixel, High-Res B&W,

4-bit (16 shades of gray) . Touch Panel Battery: 2 AAA batteries PC Connection : USB, IrDA, UART Expansion Slot: PCMCIA  

High-End Embedded System

Examples

Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, air condition, etc. Audio Video Recorder/Player. Household appliances. PC Keyboard/Mouse.

Reference Interpretation (1)

An "embedded system" is any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application.

Embedded systems may use a ROM-based operating system or they may use a disk-based system, like a PC. But an embedded system is not usable as a commercially viable substitute for general purpose computers or devices.

Reference Interpretation (2)

A specialized computer system that is part of a larger system or machine. Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Virtually all appliances that have a digital interface -- watches, microwaves, VCRs, cars -- utilize embedded systems. Some embedded systems include an operating system, but many are so specialized that the entire logic can be implemented as a single program.

Reference Interpretation(3)

The embedded system can be divided into chip, board, and system level.

System on chip - Processor including the procedure or the algorithm in one chip.

System on board - board contains some core module.

System on system - in main computing system.

1.2 History and development of embedded systems

First microprocessors was presented in 1971, it marks the beginning of the embedded system.

View history of embedded systems from 4 respects: Hardware Software Products System architecture

History of embedded hardware

1971: Intel 4004, 4-bit microprocessor TI, TMS1000, 4-bit microcontroller

ROM, RAM, CPU + I/O port 1980: Intel MCS-51, 8microcontroller 16-bit, 32-bit microprocessor … 1990’s, DSP

TMS320C30

Classification and term of the embedded processor (1)

Micro-Controller Unit (MCU) i.e. Single chip. The early processor that integrated the whole

computer in a chip, the inside has a certain processor unit as the core, and program in ROM. Some essential peripheral hardware such as RAM, bus, bus logic, timer / counter, I/O, serial port, A/D, D/A converter, etc. are also integrated.

Intel 8051 Micro-Processor Unit (MPU)

The MPU must be assembled with other essential peripheral hardware together on a circuit board to carry out the embedded function.

ARM series , MIPS

Classification and term of the embedded processor (2)

Digital Signal Processor (DSP) The system structure and instructions are special des

igned, that makes it suited to carrying out high speed digital signal processing algorithm.

TI TMS320C30 -> System-on-Chip (SoC)

Mix the important processor kernel and various peripheral together on a chip, can reduce the consumption power and chip size further.

Intel PCA architecture: PXA 255

Microprocessor varieties

Microcontroller: includes I/O devices, on-board memory.

Digital signal processor (DSP): microprocessor optimized for digital signal processing.

Typical embedded word sizes: 8-bit, 16-bit, 32-bit.

History of embedded software

Procedure control and monitoring Operating system

1981, Embedded real time kernel VTRX32 1990’s, QNX-4 pSOS, VxWorks, Palm OS, WinCE, Embedded

Linux, LynxOS, uCOS, Nucleus…

Architecture develops of embedded system

Hardware system 4-bit single chip 8-bit/ 16-bit single chip 32-bit special purpose m

icroprocessor 32-bit DSP SoC SoPC

Software system Real-time control/

monitoring procedure Dedicate system General purpose

system

IA & Embedded System

Information Appliance An appliance specializing in information :

Knowledge, facts, graphics, images, video, or sound. An information appliance is designed to perform activity, such as music, photography, or writing. A distinguishing feature of information appliance is the ability to share information among themselves. (Don Norman)

IA & Embedded System (cont’d)

The core of the IA machine is an embedded system

The cost of a IA machine is depends on cost of embedded system

The usability of a IA machine is depends on software of embedded system

The development of the IA machine is followed with the trend of embedded system

1.4 Basic construction of an embedded system

Processor I/OI/O

Software

Storage

Input Output

Fundamental hardware and software elements

Hardware Embedded processor Memory/Storage Circuits and power

supply Interface controller

and connector

Software Real time operating

system (RTOS) Board Support

Package ( BSP ) Device Driver Protocol Stack Application programs

Typical embedded system hardware architecture

Chip Board Circuit

CPU Core

External Devices

USB LCD Pen Keyboard IRDA Others

Connection for DebuggingPorts

ResetCircuit

OscillationCircuit

PowerSupply

DMA

Timer

Prescaler

A/D

I/O Port

InterruptControler

ConnectingDRAM

ConnectingSRAM

ConnectingFlash

ConnectingROM

CPUBCU

Small Web enabled embedded system

Typical embedded system software architecture (VxWorks)

Software tools,application programs

VxWorks LibrariesTCP/IP I/O System

Wind kernel

BSP

File System

SCSI DriverNetwork Driver

Hardware dependent Software

EthernetController

SerialController

ClockTimer

SCSIController

Hardware

Hardware Independent Software

Embedded Operating System Where to use

Multi-Task Convenient user's interface Network function Upgrade and advance development

Basic functions of operating system Scheduling of multi-task Memory management Hardware resource management

Embedded Linux

Basic components: Boot loader Linux kernel

Further: Hardware drivers Application programs File systems based on ROM or RAM TCP/IP stack GUI

Real-time operation

Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in

degraded performance. Many systems are multi-rate: must handle operations

at widely varying rates.

Experiment board of this course

Expansion Connectors

Microprocessor8051 family

UART to PC

Programable Logic chip

Non-functional requirements

Many embedded systems are mass-market items that must have low manufacturing costs. Limited memory, microprocessor power, etc.

Power consumption is critical in battery-powered devices. Excessive power consumption increases system

cost even in wall-powered devices.

Design teams

Often designed by a small team of designers. Often must meet tight deadlines.

6 month market window is common. Can’t miss back-to-school window for calculator.

1.6 Embedded system software development

Programming Languages Assemble, C, Java… Cross compiler

A kind program, which compiles the execution code of target machine on another host machine.

Procedure of development

Debug

Target Board

System ImageFile

.obj File

C/AssembleSource Code

Library Linker

Cross Compiler

Reset & Download

OS kernel Device Driver

Download and Debugging of execution code

Development Platform

Target Platform

Download execution code

Return debug information

Debugging method of embedded systems

LED Simulator ICE (In-Circuit Emulator) Embedded ICE based on Jtag interface Logic analyzer

Simulator

Simulator A Software based on host computer totally, Simulate

functions and instructions of target machine. Characteristic

Simple and executable Lack online function debug and real-time emulation Can imitate the target processor only, it is unable to i

mitate the function about I/O of the processor Common used as primary debugging tool.

ICE ICE: In-Circuit Emulator

The tradition method for testing the printed circuit board.

ICE is a special device. It has special clips or connectors to touch each pin of the specific CPU chip, and can monitor the logic level on this CPU chip.

Because the integrated level of the IC is improving constantly, the pin of the chip is increasing also. In addition, the surface mount technology reduces the chip size. So, it is ddifficult to use routine online emulation way…

Embedded ICE Embedded ICE: a set of debugging registers

IBCR (Instruction Break Control Register) DBAR (Data Break Address Register) …

JTAG Interface JTAG (Joint Test Action Group) has defined a standard of boundary scan,

need only 5 pins to realize the function of online emulation . ARM architecture processors have embedded ICE unit, which

can be connected with the JTAG interface. Meanwhile, in order to trace the function in real time, ARM processor embedded a tracing unit implicitly that enables real time debug through a logic analyzer.

ARM debugging system

Embedded System Design

Top-down design: start from most abstract description; work to most detailed.

Bottom-up design: work from small components to big system.

Real design uses both techniques.

Levels of abstraction

requirements

specification

architecture

componentdesign

systemintegration

Structure of this course

Not covered in this course, Embedded OS will be in next semester

Classification of embedded processors

Microprocessor (MPU) Microcontroller (MCU) Digital Signal Processor (DSP) System on Chip (SoC)

Storage

ROM PROM , EPROM , EEPROM Flash ROM

Flash ROM will be used in embedded system as boot ROM and hard disk.

RAM SRAM DRAM

1.5 Characteristic of embedded systems

Dedicate for special application The embedded system is a specia

l-purpose system, while the PC is for general applications.

Technology integration Soft-/Hardware, computing and

network communication integration

Constrain of real-time Use RTOS commonly

Constrain of power consumption

Usually no difference of system software and application software, Software in ROM.

Small system kernel High reliability Resources much less then PC Requirement of special

development tools Not market monopoly

Characteristics of embedded systems

Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams.

Functional complexity

Often have to run sophisticated algorithms or multiple algorithms. Cell phone, laser printer.

Often provide sophisticated user interfaces.

PXA255 Architecture

USB Host controller

PXA250 Application processor

IrDA FF UART

MMC/SD Card

BT UART

Touch Screen

SPI to Touch Screen

USB Client

LCD Toshiba

LTM04C380K

SDRAM

Flash Memory

Boot ROM

CPLD & Board level Registers

Driver and Transceiver

Compact Flash

AC97 Codec CS4201

Audio Jack

Debug Leds

Accelerometer sensor

HEX-encoding switches

Expansion-card slot

Power System

Ethernet Controller

Recommended