Chapter 4: Embedded Systems Flashcards

1
Q

What is the motivation for embedded systems?

A
  • pervasive computing means connected computational devices become interwoven with things in our everyday life
  • computation unit should be unnoticed by users
  • > They need to be small and embedded and may not have classical input / output possibilities
  • they got cheaper and increased in power
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The definition of embedded systems

A
  • Is a computer system with dedicated function that is physically embedded within a larger physical object
  • Everything that includes a microprocessor (but not a general purpose computer)
  • It is optimized for specific tasks and scenarios (huge variety)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Give some examples for embedded systems

A

Peripherals (small and simple): Key Finder
Transportation (large and complex): Car computer
Robotics (reliable): Moon car
Medical Devices(safety critical): pace maker

  • Routers
  • GPS receivers
  • MP3 Players
  • Fridge
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the requirements on an embedded system?

A
  • Depends on the physical host object in which it is embedded
  • Price, weight, form factor (state of the art i9 too expensive?). We need hardware customly build for the application domain.
  • Mobility (wireless communication / charging possible?)
  • Accessibility (deeply embedded -> hard to repair)
  • Human-Computer-Interaction (may not have a screen or only small one)
  • Expected Lifetime (possible to run on battery for years)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How is an embedded system operated in the real world context?

A
  • Host object & embedded system are located in a specific physical context
  • System is influenced by the context and may influence it in return

Reallife context sets very hard requirements on the system:

  • Real-time
  • Safety
  • Security
  • Flexibility
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What sources of restricitons exist for embedded systems

A
  • Restrictions by the host object

- Restrictions by the physical world (very hard requirements)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the challenges that come along with the characteristic of “dedicated function” in an embedded system ?

A
  • It is tailored and optimized for an exact task
  • This means that the system is much more restricted with respect to compute power, memory, energy
  • Need to develop / adapt SW & Hardware for each new device
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What kind of design approach exist for embedded system?

A
  • Classical Approach

- Modern Approach

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explain the classical approach to design an embedded system.

A
  • Tailored devices
  • Specialised engineers only doing this
  • Design new HW; SW for each application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explain the modern approach to design an embedded system.

A
  • Generic devices adapted as needed
  • Wider developer base
  • Focus on SW design, only basic HW design
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the difference between developing desktop apps and embedded systems ?

A
  • Many target platforms (HW/OS)
  • Other programming languages
  • Other programming abstractions and APIs
  • Other development tools (cross-compilers)
  • Different development process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Name three Embedded OS

A
  • Linux
  • eCos
  • LynxOS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Name the three most relevant languages for embedded system

A

1) Python
2) C++
3) C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the challenges for programming abstractions for embedded system development

A
  • We may have restricted or no OS support
  • Device drivers may be available as C library that need to be used in the application code directly

If we are lucky: Hardware Abstraction Layer available
Often: lower level programming with access to HW

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the difference between a Desktop app and embedded system in terms of architecture

A

Desktop Components:

  • Application Software
  • Middle Layer
    • OS
    • Device Drivers
  • Hardware

Embedded Components:

  • Application Software
  • Hardware

Desktop has a higher programming abstraction for application software!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the challenges of cross-platform development

A
  • Software is developed on one platform (host system) but runs on another (target system)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the host system in regards to cross-platform development

A
  • The system on which the embedded software is developed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the target system in regard to cross-platform development

A
  • The embedded system that is under development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the cross compiler in regard to cross-platform development

A
  • A compiler that runs on one type of processor architecture but produces code for a different type of processor architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What different hardware does an embedded system have

A
  • Processing Unit (low computational power, highly specialized)
  • Memory
    • Internal on-chip memory (very fast, cache)
    • Internal off-chip memory (not in circuit, slower, main memory)
    • External memory (flash drives, removable)
  • Communication
    • Different I/O standards
    • Low Power Networks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the challenge with inputs for embedded systems?

A
  • User seldomly has a keyboard
  • But we can measure physical state with sensors (many sensors exist)
  • Modern sensor technology is main driving force for designing smart embedded systems
22
Q

What is the challenge with outputs for embedded systems?

A
  • Screens are often small or cumbersome
23
Q

What is a typical output for embedded systems

A
  • Actuators (Computer controls Output through a physical device) - can affect the real world

Digital Output: setting digital output PIN to HIGH
Analog output: applying voltage to analog output PIN

24
Q

Name some sensors and actuators for a laundry machine

A

Sensors:

  • Temperature
  • Pressure
  • Water level

Actuators (A device that can affect the real world):

  • Motor
  • LED
  • Buzzer/Bell
25
Q

What is an Information Appliance?

A
  • Appliance (App) specialized in information (knowledge, graphics, sound)
  • designed to perform a specific activity (music, photography)
  • Ability to share information among themselves
26
Q

What are the key characteristics of an information appliance?

A
  • Limited purpose and functionality (to a specific task)
  • May be not extensible or upgradeable
  • Replacement expectation (User needs to replace)
  • Perceived as less expensive
  • No expectation of expert users

For those two points: Take functionality threshold into account!

  • Perceived as less complicated to run and maintain
  • Very easy to learn and use
27
Q

What are thee Axioms for Information Appliances?

A
  • Simplicity: easy to use as possible
  • Flexibility: enables creativity
  • Fun: when using it
28
Q

What is the key when designing information appliances?

A
  • You need to think about it as an appliance
  • You don’t design a computer
  • Customers do not want to use a computer
29
Q

What are the design considerations for information appliances?

A

1) Account for the target domain
2) Dedicated user interfaces
3) Allocate functions appropriately
4) Simplify
5) Design for responsiveness

30
Q

Which target domains exist for which you need to account for?

A
  • Entertainment (long interactions, less structured interaction, not very directed tasks)
  • Information Access and Communication (short interactions, structured interaction, directed tasks)
  • Assistant Devices (similar to information access and communication)
31
Q

What is an example for dedicated user interfaces?

A
  • Leverage the different possibilities of a device for user interface
  • Email Client on phone needs to be more compact / less information
  • Email client on pad can show more information due to larger display
32
Q

What is an example for a design failure?

A
  • Allocating not enough space for buttons in touch-based apps
33
Q

How can you allocate functions appropriately?

A

1) Frequency
- Functionalities that are used more often should be allocated to visible and accessible controls (e.g. Search Bar)

2) Importance
- Most important functionalities should be allocated to visible and accessible controls (installation / configuration)

Both aspects need to be considered separately

34
Q

How can you simplify information appliances?

A

1) Functionality Threshold

2) Choice Reduction

35
Q

Explain the functionality threshold in regard to the information appliance design

A
  • The sweet spot between functionality and simplicity
    • Device should be as simple as possible but also to have enough functionality to be of interest to user
    • Too little functionality: appliance not appealing / useful
    • Too much functionality: appliance too complicated

It can also change over time depending on users previous knowledge

36
Q

How can you design an information appliance responsive?

A
  • Interruptibility (don’t block the user but allow to interrupt activities naturally)
  • Continuous Feedback (even if product is functioning normally, feedback on successful operations)
    • On a pc users often expect to get feedback if something is not working
37
Q

What are wearables?

A
  • Computers attached to a humans body (specifically designed for mobile scenarios)
38
Q

What are challenges for wearables

A
  • Should not interfere with work
  • No traditional I/O
  • Not always online
  • Ergonomics
39
Q

What are the seven principles of Universal design for wearables

A

1) Equitable use
2) Flexibility in use
3) Simple and intuitive
4) Perceptible information
5) Tolerance for error
6) Low physical effort
7) Size and space for approach and use

40
Q

What are the design approaches for wearables?

A
  • Monolithic structure / design
    • Central computing unit with peripherals
    • applications with high performance requirements
  • Distributed Wearables
    • Task distribution amongst small specialized units
    • for applications with high level of integration and flexibility
  • Hybrid Wearable
    • Combines benefits of the two approaches
41
Q

How are modern wearables designed?

A
  • Monolithic or Hybrid structure
  • Most wearables communicate via smartphone (powerful and central part of system)
  • Output via small screens on some devices (smartwatch)
    • More desirable directly in viewing area (augmented reality)
42
Q

What is augmented reality?

A
  • Augment = Make greater
  • Overlay and extend the reality
    • This is the point behind wearables
    • Increase humans cognitive functionalities
43
Q

What AR approaches exist?

A

Two approaches:

  • Augmentation of the devices -> Ubiquitous Computing
  • Augmentation through personal device(s) -> Wearables
44
Q

What is the purpose of augmented reality?

A
  • Overlay information (bridge real and virtual world)

- Enhance perception (night vision, biometric parameters)

45
Q

What are the benefits of augmented reality?

A
  • Usability (direct link to reality)

- I/O anywhere (without infrastructure)

46
Q

Explain the two types of head-mounted display in terms of AR (video-based and see-through, above)

A
  • they combine real and virtual images

Video based:

  • Real world is indirect
  • Simple linkage of real and virtual image
  • delayed perception of real world , lower resolution

See-through, above

  • Display overlays view
  • complex linkage of real and virtual image
  • immediate perception
  • -> Safety-critical applications
47
Q

Explain how information can be displayed in AR

A
  • Head stabilized (information anchored to the head, UI elements)
  • Body-stabilized (Information anchored to the body)
  • World - Stabilised (Information anchored to the world, i.e. at the position of the object like further information on those objects)
48
Q

How can you track the objects that should be overlaid in AR

A
  • Active Tracking: infrared senders, requires much infrastructure
  • Passive/ Vision-based Tracking: Using computer vision (markers), computationally intensive, little to no infrastructure)
  • Inertial Tracking: Determine position using motion sensors (accelerometers and rotation sensors gyroscopes); inaccurate through drifts
49
Q

How can you track the viewpoint of the user in AR

A
  • Relative to the object that should be overlaid: using orientation markers
  • Relative to the environment: Position of the user, Viewing direction
  • > Position of object to be overlaid is static and known
  • > Additional data needed to link position to viewed objects
50
Q

What are tangible user interfaces?

A
  • Direct control of electronic or virtual objects through physical handles for control
51
Q

What are the characteristics of tangible user interfaces?

A
  • Physical representation is computationally coupled to digital information
  • Physical representations embody mechanisms for interactive control
  • Physical representations are perceptually coupled to digital representations
  • Physical state embodies key aspects of the digital state of a system
52
Q

Why are embedded system important in the context of pervasive computing ?

A
  • They create a seamless experience as envisioned in pervasive computing
  • Richer functionality can arise from high interconnection
  • To make all these heterogeneous devices interact there is need for interoperability