Upload
miranda-ginger-jenkins
View
236
Download
1
Embed Size (px)
Citation preview
Embedded System Design
Class: International graduate student
Instructor: Wei, Chao-Huang (魏兆煌 )Office: S706-3E-Mail: [email protected] 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