Embedded Systems Flashcards

1
Q

3 components of an embedded system:

A

Hardware; Application Software; Real Time Operating System (RTOS)

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

What is an RTOS?

A

The Real Time Operating System sets rules of the execution of application software.

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

An embedded system usually does a specific task repeatedly.

A

Single-Functioned

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

Embedded Systems have strict design metrics

A

Tightly Constrained

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

What is a design metric?

A

Design Metrics are used to evaluate a design. Examples are Benchmarks; cost; size; etc.

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

Many embedded systems have to continually do something with precise timing.

A

Reactive and Real Time

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

Embedded systems use a microprocessor (MPU) or microcontroller (MCU) as their core.

A

Microprocessor based

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

Memory

A

Embedded systems must have memory to store programs, usually in read-only memory (ROM).

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

I/O

A

embedded systems need peripherals for input and output.

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

hardware-software system

A

software –> features and flexibility; hardware –> performance and security

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

Advantages

A
  • easily customizable
  • low power consumption
  • low cost
  • enhanced performance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Disadvantages

A
  • high development effort
  • larger time to market
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Sensor

A

Measures a physical quantity and turns it to an electrical signal. This is normally an analog signal.

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

Analog to Digital converter

A

Converts an analog signal to a digital signal

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

Processors and ASICs (custom chips)

A

process data and store it to memory

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

Digital to Analog converter

A

Converts a digital signal to an analog signal

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

Actuator

A

Compares an analog signal with its expected output and stores the output if it is approved

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

Two essential units of a processor:

A
  • Program Flow Control Unit (CU)
  • Execution Unit (EU)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Program Flow Execution Unit (CU)

A

includes a fetch unit –> fetches instructions from memory

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

Execution Unit (EU)

A
  • includes an arithmetic and logical unit (ALU)
  • includes circuits that execute instructions –> interrupt; jump; etc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Types of processors:

A
  • General Purpose Processor (GPP)
  • Application Specific Processor (ASSP)
  • Application Specific Instruction Processor (ASIP)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Types of GPPs:

A
  • Microprocessor
  • Microcontroller
  • Embedded Processor
  • Digital Signal Processor
  • Media Processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Very Large Scale Integration (VLSI)

A

process of using billions of MOS transistors to make a chip

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

Application-Specific Integrated Circuit (ASIC)

A

General purpose customized chip for a particular purpose

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

Microprocessor

A
  • Single VLSI chip
  • has a CPU
  • May have other units (Coaches; floating point processing arithmetic unit; pipelining units for optimized processing; etc)
  • Usually 2GHz clock
  • earlier microprocessors used a ~1MHz clock for the fetch-and-execute cycle
  • Multitasking
  • Components can be added externally
  • Dynamic number of I/O and memory
  • External memory and I/O is costly/heavier
  • External devices –> more space and consume more power
26
Q

microcontroller/microcomputer

A
  • Single VLSI chip
  • limited computational capabilities
  • enhanced I/O capabilities
  • many on-chip functional units (CPU; RAM; ROM; I/O; Timer; Serial COM port)
  • Single-task
  • components cannot be added externally
  • Static number of I/O and memory
  • Cheaper than a microprocessor
  • consumes less power and less space
27
Q

8051 microcontrollers

A
  • 8-bit data bus
  • external data memory up to 64K
  • external program memory up to 64K
  • can address up to 128K external memory
  • 4K ROM
  • 128 bytes RAM
  • 4 register banks
  • 128 user-defined software flags
  • 8-bit bidirectional data bus
  • 16-bit unidirectional address bus
  • 3 internal interrupts
  • 2 external interrupts
  • 4 8-bit GPIO
  • 16-bit program counter + data pointer
  • may have UARTs; ADC; Op-amp; etc
28
Q

Harvard Architecture

A
  • Data and Code lie in different memory blocks
  • separate storage and signal buses for instructions and data
  • data storage is contained within the CPU
  • instruction storage cannot be accessed as data
  • separate memory areas for instructions and data
  • simultaneous access to instructions and data
  • memories do not need to share properties
  • slower speed
  • complex
  • one clock cycle
29
Q

Von Neumann architecture

A
  • Data and Code lie in the same memory blocks
  • Proposed by John von Neumann
  • One path exists for both information and data
  • Single-task –> CPU either fetches information or does read/write operations (fetch and data operations are mutually exclusive)
  • supports simple hardware
  • single sequential memory
  • usually small cache
  • higher speed
  • simple
  • two clock cycles
30
Q

Databus

A

Something used to transfer data between components in a computer

31
Q

Complex Instruction Set Computer (CISC)

A
  • can address a large number of instructions
  • easier to program
  • simple compiler
  • many addressing modes
  • complex instruction format
  • instruction length is variable
  • Higher clock frequency
  • higher emphasis on hardware
  • Control unit has large instruction set via micro-program unit
  • Slower execution –> instruction are read and decoded
  • pipelining not possible
32
Q

Reduced Instruction Set Computer (RISC)

A
  • Use fewer instructions to save time
  • Harder to program
  • Complex compiler
  • Few addressing formats
  • Fix instruction format
  • Instruction length varies
  • Lower clock frequency
  • Higher emphasis on software
  • Each instruction is executed by hardware
  • Faster execution –> instructions are executed via hardware
  • pipelining possible if single clock cycle
33
Q

pipelining

A

process of storing and prioritizing instructions

34
Q

Compiler

A

Transforms source code (written in the source language) into a different programming language (normally binary). Most commonly to make a program executable. Compiler transition code to low level programming languages from high level programming languages.

35
Q

Cross-Compiler

A

A compiler that compiles a program so that it can run on a different CPU

36
Q

Decompiler

A

Converts a program from a low level programming language to a high level programming language

37
Q

Language converter

A

Converts a program from one high-level programming language to another.

38
Q

Compiler operations:

A
  • preprocessing
  • parsing
  • semantic analysis
  • code generation
  • code optimization
39
Q

Assembler

A
  • takes instructions in assembly language and converts them into bits for the processor to use
  • creates object code by turning assembly language into opcode
40
Q

Object code

A

product of a compiler

41
Q

Operation code (Opcode/Opstring)

A
  • also called: instruction machine code/instruction code/instruction syllable/instruction parcel
  • part of instruction that declares the operation that is to be done
42
Q

Debugging

A
  • get rid of bugs or make something work
43
Q

Tools for debugging

A
  • Simulators
  • Microcontroller evaluation board
  • Emulators
44
Q

Simulators

A
  • simulates a MCU on a (host) computer
  • run code on a virtual MCU
  • Defines processor and others in the family of the microcontroller
  • Monitors information in source code on every step
  • Gives status of RAM and simulated ports on every step
  • Monitors system response and finds throughput
  • Provides stack trace of output against the processor registers
  • Provides explanation of a command at a step
  • Monitors commands from computer keyboard
  • Allows breakpoints in code and semantic conditions (normally up to 8/16/32)
  • Helps with synchronizing delays and internal peripherals
45
Q

throughput

A

Amount of information passing through a system

46
Q

Microcontroller evaluation board

A
  • consists of:
    • hardware board (evaluation board)
    • in-system programmer
    • software tools (compiler; assembler; linker; etc)
    • Maybe an IDE
  • Work in real-time
  • Easy I/O verification
  • cheapest option for simple MCU projects
47
Q

Emulators

A
  • can be hardware and/or software
  • emulates functions of guest computer onto a host computer
  • shows replicated behavior of the guest computer
  • helps a user to work on any application or OS on a similar platform from the original
48
Q

Peripherals in embedded systems:

A
  • Serial Communication Interfaces (SCI) –> (RS232; RS422; RS485; etc)
  • Synchronous Serial Communication Interface (I2C; SPI; SSC; ESSI; etc)
  • Universal Serial Bus (USB)
  • Multi Media Cards (SD Cards; Compact Flash; etc)
  • Networks (Ethernet; LonWorks; Zigbee; etc)
  • Fieldbuses (CAN-Bus; LIN-Bus; PROFIBUS; etc)
  • Timers (PLL; Capture/Compare and Time Processing Units; etc)
  • IO (GPIO)
  • Analog to Digital (ADC); Digital to Analog (DAC)
  • Debugging interface (JTAG; ISP; ICSP; BDM; BITP; DP9)
49
Q

Choosing a Microcontroller

A
  • has to meet task at hand while being cost efficient
  • 8-bit/16-bit/32-bit –> pick best one to handle computing needs
  • Speed
  • Packaging (space; assembling; prototyping)
  • Power Consumption (important for battery-powered embedded systems)
  • RAM/ROM amount
  • I/O and Timer count
  • Cost per Unit (contributes to final cost)
50
Q

Variations of the 8051:

A
  • 8051: RAM: 128 bytes; ROM: 4K; 2 timers; 1 serial port; 4 8-bit GPIO
  • 8052: RAM: 256 bytes; ROM: 8K; 3 timers; 1 serial port; 4 8-bit GPIO
  • 8031: RAM: 128 bytes; ROM: 0K (up to 64K external); 2 timers; 1 serial port; 4 8-bit GPIO (external I/O supported)
51
Q

8051 GPIO

A
  • Ports numbered 0-7 for each 8-bit GPIO
  • 4 GPIO ports labeled from P0-P3
  • RESET pin resets all GPIO as inputs
  • After RST, 0 as input changes it to an output
  • After 1 as input, output changes into an input
52
Q

8051 P0

A
  • Connected to 10K pullup resistors
  • pins sometimes addressed as AD0 - AD7 –> address and data
  • ALE = 1 ? A0 - A7 : D0 - D7
  • connected to 10K pullup if no external memory
53
Q

Pullup/Pulldown resistor

A
  • Used to prevent a floating state for GPIO
  • Pullup: Resistor is connected between VCC and the GPIO pin
  • Pulldown: Resistor is connected between GND and the GPIO pin
  • Pullup resistors are more common
  • Strong pullup uses a low resistance
  • Weak pullup uses a high resistance
  • The resistor restricts the input voltage; resistance has to be goldilocks
  • MCU input pins have an impedance: resistor connected to opposite terminal from GPIO
  • large resistance = slower response –> unintentional RC filter
  • Pullup calculation: R = (Vcc)/(current over Resistor)
54
Q

8051 P1 - P3

A
  • Pullup resistors are internal
  • P2 is always used with P0 as a 16-bit address line for external memory
  • P2 is sometimes designated as A0 - A7
  • P3.0 = receiver (RxD); P3.1 = Transmitter (TxD) –> serial communication
  • P3.2 & P3.3 –> external interrupts
  • P3.4 = T0 & P3.5 = T1 –> timers
  • P3.6 = Write (WR) & P3.7 = Read (RD)
  • P3 has active low pins (active when 0)
  • P3 is for reading and writing external ROM in the 8031
55
Q

8051 P0 & P2 Dual Role

A
  • P0 can do both address and data
  • 8051 multiplexes external memory via P0
  • P0 - P2 address bus is labeled as A0 - A15
  • P0 is A0 - A7
  • P2 is A8 - A15
  • 8051 can access max of 64Kb ROM
56
Q

Vcc

A
  • Pin 40
  • Provides +5V to chip
57
Q

Gnd

A
  • Pin 20
  • Provides ground
58
Q

XTAL1; XTAL2

A
  • Pins 18 & 19
  • External clock
  • 12MHz Quartz crystal connected between 18 and 19
  • Needs 2 30pF capacitors from 18 to Gnd and 19 to Gnd
59
Q

Reset (RST)

A
  • Pin 9
  • Digital high (at least 2 machine cycles) = termination of all activities –> Power-On Reset
  • Register memory gets lost
  • Program counter = 0
60
Q

Machine cycle

A

Minimum frequency required required for a single instruction

61
Q

External Access (EA)

A
  • Pin 31
  • Input pin
  • Active low pin
  • 8051/52: EA connected to Vcc
  • 8031: EA indicates if external ROM is available