Embedded Systems Flashcards

(61 cards)

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
Microprocessor
- 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
microcontroller/microcomputer
- 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
8051 microcontrollers
- 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
Harvard Architecture
- 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
Von Neumann architecture
- 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
Databus
Something used to transfer data between components in a computer
31
Complex Instruction Set Computer (CISC)
- 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
Reduced Instruction Set Computer (RISC)
- 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
pipelining
process of storing and prioritizing instructions
34
Compiler
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
Cross-Compiler
A compiler that compiles a program so that it can run on a different CPU
36
Decompiler
Converts a program from a low level programming language to a high level programming language
37
Language converter
Converts a program from one high-level programming language to another.
38
Compiler operations:
- preprocessing - parsing - semantic analysis - code generation - code optimization
39
Assembler
- 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
Object code
product of a compiler
41
Operation code (Opcode/Opstring)
- also called: instruction machine code/instruction code/instruction syllable/instruction parcel - part of instruction that declares the operation that is to be done
42
Debugging
- get rid of bugs or make something work
43
Tools for debugging
- Simulators - Microcontroller evaluation board - Emulators
44
Simulators
- 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
throughput
Amount of information passing through a system
46
Microcontroller evaluation board
- 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
Emulators
- 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
Peripherals in embedded systems:
- 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
Choosing a Microcontroller
- 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
Variations of the 8051:
- 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
8051 GPIO
- 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
8051 P0
- 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
Pullup/Pulldown resistor
- 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
8051 P1 - P3
- 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
8051 P0 & P2 Dual Role
- 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
Vcc
- Pin 40 - Provides +5V to chip
57
Gnd
- Pin 20 - Provides ground
58
XTAL1; XTAL2
- 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
Reset (RST)
- Pin 9 - Digital high (at least 2 machine cycles) = termination of all activities --> Power-On Reset - Register memory gets lost - Program counter = 0
60
Machine cycle
Minimum frequency required required for a single instruction
61
External Access (EA)
- Pin 31 - Input pin - Active low pin - 8051/52: EA connected to Vcc - 8031: EA indicates if external ROM is available