Introduction to Embedded Systems Semicon Solutions
Computing Systems Desktop Servers Embedded Systems PC, Workstations, Laptops Servers Tier-0: network appliance Tier-1: webserver Tier-2: application/database server File servers, Storage-area-network Embedded Systems PDA Cellphone Routers Microcontrollers
Embedded? Computing system embedded within electronic devices. Combination of computer hardware and software designed to performance a specific function. Any computing system that is not a desktop computer nor a server.
Area of Applications General purpose Control systems Signal processing PDA Control systems Electronics, Automotive Signal processing Media player, Camera Communication Cellphone, switch
Market Average household uses ~225 embedded processors; about 35 for automobile Estimated 5 billion embedded processors in use 94% share of world market 6%: Pentium, PowerPC, etc. [Source: World Semiconductor Trade Statistics Bluebook]
Key Issues User’s Point of View Single function/application Dedicated to specific type of tasks Tight constraints Size Power Cost Time-to-market Real-time Respond to environment in real time Safety/Reliability Failure can result in critical damages
Key Issues Developer’s Point of View Concurrent development of HW and SW, i.e. HW/SW codesign Wide selection of uP’s. Wide selection of OS, mostly real time (RTOS) Few system resources Specialized development tools Debugging skills important Robust HW/SW
Example
Elements
Trends High level of integration HW/SW co-design Design flow System-on-chip (SoC) Multiprocessor System-on-Chip (MPSoC) HW/SW co-design Concurrent development Optimization Design flow Design tools Experiences
Microcontroller Usually a simple uP plus peripheral support devices integrated in a single package
SoC A uP plus peripheral support devices integrated in a single chip E.g. Intel StrongARM SoC vs uController?
SoC Design Intellectual Property (IP) Circuits or cores pre-deisgned/pre-verified for certain functions Implications: Lower design cost Fast time-to-market
Requirements Functional Non-functional Functions I/O Performance Cost Power consumption Size/weight
Architecture How to implement the specifications Components System structure Hardware/software partitioning HW/SW work together to solve a problem Partitioning decided by Performance Flexibility Cost
Architecture Design
Designing An Embedded System Understand the big picture Understand the details Design SW with Real time constraints Low power Small code size Domain-specific knowledge