Embedded Systems
T/F: Adding 25 to 50 cents to the overall system component cost to use a microcontroller with superior resources (memory size, execution speed, available peripherals, etc.) has only a minor impact on the profit of the system manufacturer
FALSE
T/F: Implementation of the embedded system software and circuitry should be started IMMEDIATELY at the beginning of a project to help make sure that delivery dates are met successfully
FALSE
T/F: The following two C-language statements haves the same outcome: variable = 0x088; and variable |= 0x08;
FALSE
T/F: The main purpose of design is documentation; it should be written after implementation to reflect what the product does
FALSE
T/F: Using a "high-level" programming language (such as C-language) is always preferable over using assembly language
FALSE
T/F: When starting a new project "from scratch", developing modular components and using abstraction layers will ALWAYS help to complete the initial delivery in less time (as compared to just implementing the specific functional requirements of the project)
FALSE
T/F: A brief statement of requirements from the customer is good enough to begin implementation (coding and circuitry) of the product
FLASE
Design answers the question:
HOW
What can developing system functionality in incremental and iterative stages do?
It can help to assure that the most important features (as identified by the customer) are implemented first
RAM vs ROM
RAM-primary-volatile, contents ae maintain only when power is applied ROM-primary-nonvolatile, retains data and memory can never be changed
T/F: A use case is NOT a scenario of interaction that specifies what the system does and how the user reacts to the system
TRUE
T/F: An open-collector output pin and pull-up resistor on the destination input pin may be used for digital interfaces that cover long distances
TRUE
T/F: Developing software with a "layered" architecture helps to isolate the customer specified behavior from the implementation "platform" or "environment" (hardware, microcontroller, operating system, etc.)
TRUE
Requirements answers the question:
WHAT
Define embedded systems
a combination of hardware and software which together form a component of a larger machine
What is the v-model?
a lifecycle process one should follow in software development. It is important because it focuses on verification and validation activities early in the life cycle thereby enhancing the probability of building an error-free and good quality product.
Example of an embedded system
a microprocessor that controls an automobile
Embedded systems often have these constraints
component cost, power consumption, and memory size
Embedded systems often exhibit these characteristics
contain a microcontroller, software is baked in, and the system is self contained
What are layers of abstraction?
defined as tools, classifications and technologies we use to simplify and arrange our interactions into manageable groupings.
In __________, the fan-out of a ______ output is the number of gate inputs it can drive
digital electronics, logic gate
How is RAM and ROM part of an embedded system?
embedded systems need ROM in order to have memory of what the system is programmed to do
High-level/architectural deign
is how the various components of the system interface and interact
Big-Endian/Little Endian
is the Byte order arrangement in memory of multi-byte values
De-bouncing
is the filtering technique for binary input data to account for "chatter" on mechanical contacts of input switches
Detail design
is the implementation details of how individual components in the system function
Masking
is the modification of specific bits in a memory location or register through a write to the entire byte or word
Periodic tasks
is the partitioning operations into "Time Slices" or "Threads" of execution that allows more than one process to run virtually "at the same time"
Decomposition
is the partitioning/breaking-down the product into smaller and smaller components and sub-components
abstraction
is the practice or technique allowing certain details to be considered more closely while ignoring (or "hiding") other details
Product/Software Development Process or "Lifecycle" Model
is the sequence of general phases or steps required to develop a product
What is an embedded system designed to do?
it is designed to run on its own without human intervention and may be required to respond to events in real time
What is the difference between a microprocessor and a microcontroller?
microprocessors only have a CPU while a microcontroller has a CPU, memory, and I?O all integrated into one chip
choice of whether to use a "high-level" or "low-level" programming language often involves trade-offs between _______ of source code between different microcontroller "platform" vs _______ in execution speed and/or memory usage ("size")
portability, optimizations
What are different types of memory?
primary (RAM and ROM) and secondary (hard drives, CD)
Requirements
specifies WHAT a product is to do
Finite State Machine (FSM) representation is a design technique that defines the various _____ that the system/software may be in and the ____ between them
states, transitions
The maximum fan-out of an output measures its load-driving capability: it is__________of gates of the same type to which the output can be safely connected.
the greatest number of inputs
What is hierarchy?
the ranking of one item above another according to their importance. For example, in the waterfall process, requirements is higher up in the ranking than design because it is more important than design. The requirements dictate the design.
What is the point of abstraction?
to simplify complexity
A Schottky transistor is a combination of a _______ and a ________that prevents the transistor from saturating by diverting the excessive input current. It is also called a Schottky-clamped transistor. - TTL Transistor Transistor Logic
transistor, Schottky diode