3. Definition
An embedded system is a special-purpose
computer system built into a larger device.
An embedded system is required to meet
very different requirements than a general-
purpose personal computer.
– From Wikipedia
3 Yu-Cheng Lin 11/04/04
4. Overview
Computing systems embedded within
electronic devices
Hard to define. Nearly any computing
system other than a desktop computer
Embedded system everywhere
4 Yu-Cheng Lin 11/04/04
7. Hardware Architecture (2/2)
Input interface
Signal processor
Central processor
Output interface
7 Yu-Cheng Lin 11/04/04
8. Example
Digital camera chip
CCD Central processor
CCD preprocessor Pixel coprocessor D2A
A2D
lens
JPEG codec Microcontroller Multiplier/Accum
Input interface
DMA controller Display ctrl
Digital signal processor
Memory controller ISA bus interface UART LCD ctrl
Output display
8 Yu-Cheng Lin 11/04/04
11. CPU & Programming Tools
Many different CPU architectures used
in embedded designs
– Intel/AMD x86
– Apple/Motorola/IBM PowerPC
Programming tools
OpenBlockS266
– Compilers
– Assemblers
– Debuggers
11 Yu-Cheng Lin 11/04/04
12. Various OS System
Palm OS
– Ex: Palm, Sony PDA
Windows CE
– Ex: Compaq, Leo, Casio PDA
EPOC
– Ex: Psion Series
RTxc
– Sharp’s Synergy, 中環的 CyberBoy
12 Yu-Cheng Lin 11/04/04
13. Characteristics (1/3)
Single-functioned
– Executes a single program, repeatedly
– Ex: 悠遊卡讀卡機
Tightly-constrained
– Low cost
– Low power
– Small
– Ex: mp3 player
13 Yu-Cheng Lin 11/04/04
14. Characteristics (2/3)
Low cost
– Tens of thousands to millions of units
– Using a (relatively) suitable processor
and small memory size
Low power
– Ex: 計算機
Slow speed
– Fulfilling the requirement is OK
14 Yu-Cheng Lin 11/04/04
15. Characteristics (3/3)
Reactive and real-time
– Continually reacts to changes in the
system’s environment
– Must compute certain results in real-time
without delay
– Ex: 微波爐
Firmware
– Software embedded in hardware devices
15 Yu-Cheng Lin 11/04/04
18. Design Issues (1/2)
Real time/reactive operation
– Worst case design analyses without undue
pessimism
Small size, low weight
– Non-rectangular, non-planar geometries
– Packaging and integration of digital,
analog, and power circuits to reduce size
18 Yu-Cheng Lin 11/04/04
19. Design Issues (2/2)
Safe and reliable
– Low-cost reliability with minimal
redundancy
Harsh environment
– Design components depending on
operating environment
Cost-sensitive
– Variable "design margin" to permit tradeoff
between product robustness and
aggressive cost optimization
19 Yu-Cheng Lin 11/04/04
26. Reference
ICCD ’96 Embedded Tutorial: Embedded
System Design Issues
– http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html
Web site:
– http://
www.cs.ucr.edu/content/esd/slide_index.html
– http://en.wikipedia.org/wiki/Embedded_system
– http://playstation2.idv.tw/iacolumns/jl000013.html
26 Yu-Cheng Lin 11/04/04
Editor's Notes
Embedded system From Wikipedia, the free encyclopedia. An embedded system is a special-purpose computer system built into a larger device. An embedded system is required to meet very different requirements than a general-purpose personal computer . http://en.wikipedia.org/wiki/Embedded_system
Embedded computing systems Computing systems embedded within electronic devices Hard to define. Nearly any computing system other than a desktop computer Billions of units produced yearly, versus millions of desktop units Perhaps 50 per household and per automobile http://www.cs.ucr.edu/content/esd/slide_index.html
Tools Like a typical computer programmer, embedded system designers use compilers , assemblers and debuggers to develop an embedded system. http://en.wikipedia.org/wiki/Embedded_system#Characteristics
當今熱門的嵌入式作業系統我們可以從 PDA 產品上發現,以前如果我隨便拿一台個人電腦問你上面裝的是什麼作業系統,你一定可以正確地回答,但是如果我隨便拿一台市面上的 PDA 來問你上面跑的是什麼作業系統,可能很少人可以答的出來囉!這件事情明顯的反映了兩件事實,首先作業系統百家爭鳴已經非獨大者可以一手蓋天,加上目前 PDA 的要求功能並非很強大,可適用的 OS 可說是信手拈來一拖拉庫,像是 Palm 、 Sony PDA 用的 Palm OS , Compaq 、 Leo 、 Casio PDA 用的 Windows CE , Psion Series 用 EPOC , 甚至 Sharp 的 Synergy 和中環 CyberBoy 用 RTxc ,還有草根性最強的資策會 Avis 和互慧科技的 Penbex… 等;其次是在後 PC 資訊家電時代消費者不想也不需要知道什麼叫做作業系統,他只重視產品的功能與穩定度,更重要的不管是什麼 OS 有對外通訊的能力一定是必要條件之一。也正因為這兩個原因,系統設計者必須設法把 PDA 做的人性化並且強調便利性以滿足消費者需求,而其中除了硬體必須做的精簡省電、外殼美觀外、軟體更需要穩定有效率且程式碼小。這裡強調的軟體就是所謂嵌入式作業系統( Embedded OS )與架在其上的應用軟體。 http://playstation2.idv.tw/iacolumns/jl000013.html
Single-functioned Executes a single program, repeatedly Tightly-constrained Low cost, low power, small, fast, etc. http://www.cs.ucr.edu/content/esd/slide_index.html
Reactive and real-time Continually reacts to changes in the system’s environment Must compute certain results in real-time without delay http://www.cs.ucr.edu/content/esd/slide_index.html
3.1. Real time/reactive operation Real time system operation means that the correctness of a computation depends, in part, on the time at which it is delivered. In many cases the system design must take into account worst case performance. Predicting the worst case may be difficult on complicated architectures, leading to overly pessimistic estimates erring on the side of caution. The Signal Processing and Mission Critical example systems have a significant requirement for real time operation in order to meet external I/O and control stability requirements. Reactive computation means that the software executes in response to external events. These events may be periodic, in which case scheduling of events to guarantee performance may be possible. On the other hand, many events may be aperiodic, in which case the maximum event arrival rate must be estimated in order to accommodate worst case situations. Most embedded systems have a significant reactive component. Design challenge: Worst case design analyses without undue pessimism in the face of hardware with statistical performance characteristics ( e.g., cache memory [9] ). 3.2. Small size, low weight Many embedded computers are physically located within some larger artifact. Therefore, their form factor may be dictated by aesthetics, form factors existing in pre-electronic versions, or having to fit into interstices among mechanical components. In transportation and portable systems, weight may be critical for fuel economy or human endurance. Among the examples, the Mission Critical system has much more stringent size and weight requirements than the others because of its use in a flight vehicle, although all examples have restrictions of this type. Design challenges: Non-rectangular, non-planar geometries. Packaging and integration of digital, analog, and power circuits to reduce size. http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html#conclusions
3.3. Safe and reliable Some systems have obvious risks associated with failure. In mission-critical applications such as aircraft flight control, severe personal injury or equipment damage could result from a failure of the embedded computer. Traditionally, such systems have employed multiply-redundant computers or distributed consensus protocols in order to ensure continued operation after an equipment failure ( e.g. , [10] , [11] ) However, many embedded systems that could cause personal or property damage cannot tolerate the added cost of redundancy in hardware or processing capacity needed for traditional fault tolerance techniques. This vulnerability is often resolved at the system level as discussed later. Design challenge: Low-cost reliability with minimal redundancy. 3.4. Harsh environment Many embedded systems do not operate in a controlled environment. Excessive heat is often a problem, especially in applications involving combustion ( e.g., many transportation applications). Additional problems can be caused for embedded computing by a need for protection from vibration, shock, lightning, power supply fluctuations, water, corrosion, fire, and general physical abuse. For example, in the Mission Critical example application the computer must function for a guaranteed, but brief, period of time even under non-survivable fire conditions. Design challenges: Accurate thermal modelling. De-rating components differently for each design, depending on operating environment. 3.5. Cost sensitivity Even though embedded computers have stringent requirements, cost is almost always an issue (even increasingly for military systems). Although designers of systems large and small may talk about the importance of cost with equal urgency, their sensitivity to cost changes can vary dramatically. A reason for this may be that the effect of computer costs on profitability is more a function of the proportion of cost changes compared to the total system cost, rather than compared to the digital electronics cost alone. For example, in the Signal Processing system cost sensitivity can be estimated at approximately $1000 ( i.e. , a designer can make decisions at the $1000 level without undue management scrutiny). However, with in the Small system decisions increasing costs by even a few cents attract management attention due to the huge multiplier of production quantity combined with the higher percentage of total system cost it represents. Design challenge: Variable "design margin" to permit tradeoff between product robustness and aggressive cost optimization. http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html#conclusions