MPD 575 Design for (Embedded Systems) Integration

advertisement
MPD 575
Design for (Embedded Systems) Integration
Kyle Post
George Walley
An Integration Analogy
 Missing or overlooked pieces
Incorrect interfaces 
MPD575 Weaver
2
…but when done well…
MPD575 Weaver
3
Development History
December 2008 – Initially developed by K.Post & G.Walley (Cohort 9)
Hopefully not headed here
MPD575 Weaver
4
Design for (Embedded Systems) Integration
•
•
•
•
•
•
•
•
Introduction
Motivations for DfI
Key Points & Principles
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
5
Introduction
•
Introduction
–
–
–
–
–
•
•
•
•
•
•
•
Scope
Definitions
Relation to other disciplines
Stakeholders
Characteristics
Motivations for DfI
Key Points & Principles
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
6
Scope
Design for (Embedded Systems) Integration, or DfI, is about how to overcome the
challenges of integrating complex electronic systems or larger systems that include
them, to reduce costs and the time it takes to assemble, test, and tune a product.
By way of pushing these development considerations earlier in the design process,
DfI may also significantly reduce development time. However, until such process
changes are accepted and personnel are trained, development time may increase.
It is worth noting that much of the material covered is naturally also applicable to
systems that do not contain embedded electronic elements.
Exhaust Gas Oxygen Sensor
Electronic Control Module
References:
http://www.auto-diagnostics.info/images/ford_eec_iv.jpg
http://www.imagecows.com/uploads/_71ec-ford-engine.jpg
http://fordfuelinjection.com/images/hego.jpg
MPD575 Weaver
Internal Combustion Engine
7
Scope
Product development
steps largely
influenced by DfI
Mission
Statement
Product
Planning
Concept
Development
System-Level
Design
Detail
Design
Testing and
Refinement
Production
Ramp-Up
Product
Launch
Reference: Product Design and Development. Ulrich & Eppinger. 2004
MPD575 Weaver
8
Definitions
System Engineering:
A systematic, disciplined approach to define, cascade, link, and manage stakeholder-driven
requirements, functions and interfaces, and to satisfy those with the development of
functionally driven, synergistic, innovative alternatives.
Visteon 1999
MPD575 Weaver
9
Definitions
Systems Integration:
The progressive physical linking together of the parts of a system or component.
Hatley, Derek. Process for System Architecture & Requirements Engineering. p410
The merger or combining of two or more components or configuration items into a higher
level system element, and ensuring that the logical and physical interfaces are satisfied and
the integrated system satisfies its intended purpose.
Kossiakoff, Alexander. Systems Engineering, Principles and Practice. P449
System integration is the bringing together of components into one system and ensuring that
the subsystems function together as a system. possible because of interactions between
subsystems.
Wikipedia (http://en.wikipedia.org/wiki/System_integration)
Kossiakoff and
Sweet's Systems
Engineering
Phases
Needs Analysis
Stakeholder
Requirements
Requirements
Analysis
Definition
INCOSE Technical
Process
Process
Process
Concept Concept
Advanced
Exploration Definition Development
Architectural Design Process
Engineering
Design
Integration and
Evaluation
Production
Operation and support
Implementation Integration Verification Transition Validation Operation Maintenance Disposal
Process
Process
Process
Process Process Process
Process
Process
MPD575 Weaver
10
Definitions
Embedded Systems:
A special-purpose computer system designed to perform one or a few dedicated functions,
often with real-time computing constraints and embedded as part of a complete device
including hardware and mechanical parts.
Since the embedded system is dedicated to specific tasks, design engineers can optimize it,
reducing the size and cost of the product, or increasing the reliability and performance. Some
embedded systems are mass-produced, benefiting from economies of scale.
Wikipedia (http://en.wikipedia.org/wiki/Embedded_system)
A system that is installed within a larger system and which, from the user’s or operator’s point
of view, is part of the larger system.
Hatley, Derek. Process for System Architecture & Requirements Engineering. P408
Real-Time Systems:
Hardware and software systems that are subject to … operational deadlines from event to
system response.
Wikipedia (http://en.wikipedia.org/wiki/Embedded_system)
As fast as required. A real-time system must respond to a signal, event or request fast
enough to satisfy some requirement. Real time often refers to process control and embedded
systems.
PC Magazine Online
(http://www.pcmag.com/encyclopedia_term/0%2C2542%2Ct%3Dreal+time&i%3D50259%2C00.asp)
MPD575 Weaver
11
Relation to Other Disciplines
DfI comes at the intersection of many other DfX disciplines and, luckily for
the diligent engineer, equally benefits from many of the practices already
in-place for these other disciplines, and vice-versa.
DF Assembly
o DF Commonality
o DF Export
o DF Geometric Compatibility
o DF Globalization
o DF Modularity
o DF Package
o DF Reuse
o DF Robustness
o DF Reliability
o DF Quality
o DF Serviceability
o DF Testability
o
MPD575 Weaver
12
Stakeholders
•
Primary Stakeholders:
– System Owner
– System Architects/Engineers
– Hardware and/or Software Integrators
•
Secondary Stakeholders:
–
–
–
–
•
Test Engineers
Component & Subsystem Engineers
Finance & Purchasing Controllers
Business & Project Leaders
Other Stakeholders:
– Customer
– Customer Service / Parts & Repair
– Company stakeholders
MPD575 Weaver
13
Motivations for DfI
•
•
Introduction
Motivations for DfI
–
–
–
–
–
–
–
–
–
–
•
•
•
•
•
•
Unique Challenges to Embedded Systems
Proliferation of Embedded Systems
Increasing Complexity of Electronic Systems
Standards & Regulations
Globalization & In/Out-Sourcing
Pressure to Reduce Development Time
Pressure to Reduce Costs
Insurance Against Loss of People-Assets
Marketability of Products
Varying Operating Environments
Key Points & Principles
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
14
Motivations for DfI
Unique Challenges to Embedded Systems
•
Engineering Domains
–
•
Coordinating information and elements across several domains
(typically need competency across domains - mechanical, electrical, software, etc…)
Physical Aspects
–
Characterizing the system’s hardware in the software
(developing & translating accurate system transfer functions into embedded controls)
–
Trading-off adjusting system functionality through software or hardware
(changing software is often easier/cheaper but not always, or not always the best way)
–
Actively adapting for changes to physical characteristics of the system
(maintaining performance during break-in, wear, environmental conditions, abnormal use)
•
Timing Aspects
–
Interactions occurring on the order of milliseconds or faster
–
Coordinating events and communication
(how to integrate and troubleshoot things you can’t see)
(e.g. engine spark/air/fuel, automated manufacturing & assembly, TCP/IP)
•
Complexity Aspects
–
The same flexibility embedded systems afford also adds complexity
(infinitely adjustable/tunable, but finite time to actual calibrate)
–
Managing this complexity while hiding it from end users
(e.g. plug-and-play computer devices)
MPD575 Weaver
15
Motivations for DfI
Proliferation of Embedded Systems
•
“Consumer products” and “consumer electronic devices” are almost
synonymous these days, with even toasters and egg timers containing
‘smart’ embedded systems, both for safety and added functionality.
•
In the automotive domain, the industry has watched electronic content
(software and the controllers in which they reside) increase dramatically
(100+) over the past three decades. At the beginning, separated or “silo”
architectures were common, requiring little interaction between electronic
systems due to the complexities involved and not yet well-established
interfacing standards.
•
Now with the experience and expertise gained over this period and
increasing pressure to reduce piece costs, the industry is seeing 60-80
controller modules on average at the top end in many vehicles, with the
average between 35-40, and targets to reduce this much further.
MPD575 Weaver
16
Motivations for DfI
Increasing Complexity of Electronic Systems
•
The increasing consumer demand and regulations for safety, fuel
efficiency, and emissions keep pushing the complexity of tomorrows
automobiles. This has materialized into multiple embedded controllers
managing the engine system, brake system, air bag system, and others.
The communication architecture between these is essential for the
integration of the system. As complexity increases, the principles of DfI
become increasingly more important.
MPD575 Weaver
17
Motivations for DfI
Increasing Globalization
•
Many companies are expanding beyond original borders, whether just
locally or to outside counties, states, and even countries.
•
Debates on out-sourcing or in-sourcing of systems, parts, and services
have increased as companies compete people/knowledge/time costs.
•
In both of these cases, the increased distances between interfacing
groups and differences in time-zones, languages, and cultures present
unique challenges to successful integration efforts along the way.
MPD575 Weaver
18
Motivations for DfI
Pressure to Reduce Development Time
•
Reducing the development time reduces the time to market of products
which is important in competitive markets. DfI reduces development time
by enabling the system to be integrated successfully the first time instead
of the find and fix approach to integration.
MPD575 Weaver
19
Motivations for DfI
Pressure to Reduce Costs
•
Customers are only willing to pay for value-add operations.
Troubleshooting interfaces is not value-add to the product and should be
avoided.
•
When the designing of each component is done in a vacuum the
integration will not likely be successful the first time through, simply due
to mismatched poor interfaces. This then turns into a find and fix
approach. This fix increases cost as interfaces are redesigned causing
incremental costs that would not be needed if the interfaces were setup
correctly in the initial design.
MPD575 Weaver
20
Motivations for DfI
Standards & Regulations
•
Industry standard hardware and software interfaces, connectors, and pinouts used by suppliers and competitors
• PC expansion card interfaces in computers
• Common voltage/power ratings on devices (i.e. 3.3v, 5v, 9v, 12v)
• Ex: Suppliers developing components to AUTOSAR specs
•
Commodity prices and sourcing for common components
•
FAA, FCC, NHTSA, EPA, CARB, etc… regulations for monitoring,
controlling, reporting …
MPD575 Weaver
21
Motivations for DfI
Insurance Against Loss of People-Assets
•
With well-documented interfaces and standards for defining and
integrating systems, events like losing a knowledgeable/experienced
employee will not carry the same risk or negative impact.
•
A well-established and documented process for architecting and
engineering systems, and for defining their interfaces, will provide easier
training for new employees
MPD575 Weaver
22
Motivations for DfI
Marketability of Products
•
The cost and time of integrating a standards-compliant component can
be much reduced over a proprietary one, and it also allows easier dualor multi-sourcing of a component or system
•
If OEM A decides to support and buy only AUTOSAR-compliant seat
controller modules…then suppliers who also support this
interface/architecture are more marketable to OEM A.
MPD575 Weaver
23
Motivations for DfI
Varying Operating Environments
•
Products need advance planning to properly support the unique
procedures, monitoring & adjustment tools, and environmental conditions
during testing and prove-out phases – including desktop simulations,
Software-in-the-Loop (SIL), Model-in-the-Loop (MIL), Hardware-in-theLoop (HIL), and prototype vehicle testing.
•
Designing these into the product later can disrupt the balance of the
system’s design and/or require large amounts of time.
MPD575 Weaver
24
Key Points & Principles
•
•
•
Introduction
Motivations for DfI
Key Points & Principles
–
–
–
–
–
–
•
•
•
•
•
Design for Integration View of the Systems Engineering V
Project Planning for Integration Activities
Architecture Considerations
Simulation & Testing Considerations
Hardware Considerations
Software Considerations
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
25
Key Points & Principles
Design for Integration View of the Systems V
Architecture - Modular or Integrated
Integration
Integration / Test Plan
Validation
Architecture - Partitioning
Integration
Integration / Test Plan
Verification
Interface Definitions / Requirements
Integration
Integration / Test Plan
Verification
Interface Negotiation across Boundaries
Integration
Integration / Test Plan
Verification
Detailed Design
MPD575 Weaver
26
Key Points & Principles
Design for Integration View of the Systems V
Generic basics from the INCOSE Systems Engineering Handbook v3…
4.6 Integration Process
4.6.1 Purpose
The purpose of the Integration Process is to realize the system-of-interest by
progressively combining system elements in accordance with the architectural design
requirements and the integration strategy. This process is successively repeated in
combination with the Verification and Validation Processes as appropriate.
4.6.2. Description
The Integration Process includes activities to acquire or design and build enabling
systems needed to support the integration of system elements and demonstration
of end-to-end operation. This process confirms all boundaries between system
elements have been correctly identified and described, including physical, logical,
and human-system interfaces; and confirms that all functional, performance, and
design requirements and constraints are satisfied. Interim assembly configurations
are tested to assure correct flow of information and data across interfaces to reduce
risk, and minimize errors and time spent isolating and correcting them. Figure 4-6 is
the context diagram for the Integration Process.
SEHandbookV3.pdf pg 4.11
MPD575 Weaver
27
Key Points & Principles
Design for Integration View of the Systems V
SEHandbookV3.pdf pg 4.11
MPD575 Weaver
28
Key Points & Principles
Design for Integration View of the Systems V
4.6.5 Process Activities:
Activities in the Integration Process include:
• Schedule Integration Testing Tools and Facilities
• Assemble system elements according to the integration plan
• Validate Interfaces – confirm correct flow of information across internal interfaces
through “black box testing” at each successive level of assembly
• Test and analyze Assemblies – confirm correct functionality of assembled products
through integration testing and analysis at each successive level of assembly
• Document integration testing and analysis results
• Document and control the architectural baseline – this includes capturing any
modifications required during this process
Common approaches and tips:
• Keep the Integrated Product Team engaged to assist with configuration issues and
redesign.
• Maintain configuration control over including drawings, specifications, interface
control drawings, and published analyses.
• Define an integration strategy that accounts for the schedule of availability of
system elements, including human operators, and is consistent with fault
isolation and diagnosis engineering practices.
SEHandbookV3.pdf pg 4.11
MPD575 Weaver
29
Key Points & Principles
Project Planning for Integration Activities
To best support the early integration activities just shown, as well as the
traditional right-hand-side activities, project objectives, responsibilities, and
resource planning play critical roles to enabling successful integration.
o
Product Life Cycle
o
o
Resources
o
o
o
o
Component & Platform Commonization
Time
Personnel
Capital
Organizational & Process Considerations
o
o
o
Reporting Structure
Globally Dispersed Teams vs. Localized Teams
Reward Systems
MPD575 Weaver
30
Key Points & Principles
Project Planning for Integration Activities
Product Life Cycle
Like any other whole product or sub-system/sub-component, the expected
duration and timed progression through an embedded system’s life cycle
should be considered early to avoid under- or over-building. With the rapid
changes in electronic hardware and software systems of today, this
become all the more important.
Example automotive
architecture where all of the
subcomponents shown are
specifically built for the core
vehicle ‘platform’ at the center
MPD575 Weaver
31
Key Points & Principles
Project Planning for Integration Activities
Resources
Capital is very closely tied to time and personnel. The ideal situation is to
design the system so that integration happens once while minimizing the
resources needed to achieve system requirements.
When working with outside organizations, defining the integration
boundaries and testing time involved depends on what level of
decomposition the system is split between organizations.
When moving down the branches of decomposition the more system
integration time (requirements negotiation, integration planning, integration
testing) is needed. The increase in boundaries is exponential while
moving down the decomposition.
MPD575 Weaver
32
Key Points & Principles
Project Planning for Integration Activities
Organizational/Globalization Considerations
Reporting Structure
How an organization is organized will determine what objectives and priorities
various engineering roles will have. For example, an organization that has several
dozen integrators and testers, but only a handful of engineers, communicates that
the primary objective is to get product into integrators’ and testers’ hands so that
gaps can be found and fixed as quickly as possible.
MPD575 Weaver
33
Key Points & Principles
Project Planning for Integration Activities
Organizational/Globalization Considerations
Globally Dispersed Teams vs. Localized Teams
As companies grow to intra- & inter-city, state, national, international size, there are
important workforce considerations to be made with regard to where to place, what
size to make, and how to organize product development and manufacturing teams.
Challenges in these situations include:
–
–
–
–
–
Communication is harder
Coordination and resolution of issues is harder
Often multiple languages
Multiple time-zones
Cultural differences in working norms
MPD575 Weaver
34
Key Points & Principles
Architecture Considerations
The success of DFI is dependent on the system architecture. The architecture acts
as the foundation of the system and thus cannot be ignored. A well defined
architecture will lead to faster development times at lower costs. A lack of a proper
architecture can lead to excess workload in the form of troubleshooting which
directly relates to higher costs, longer development times, and a reduction in
quality. This could lead to failure to realize the system.
Successful embedded systems integration relies on the architecture of the
complete system not only the software architecture (which is usually the main
architecture focus for imbedded systems)
o
o
o
o
o
Systems Engineering & Systems Architecting Principles
Integrated vs. Modular
System Decomposition
Open vs. Closed
Interfaces
MPD575 Weaver
35
Key Points & Principles
Systems Engineering & Systems Architecting Principles
•
Reduce coupling as much as possible
"The coupling between modules should be – in order of preference – data,
data structure, control, common, and content."
Maier, Mark. The Art of Systems Architecting. p170
A
A
C
C
B
B
Low Coupling
High Coupling
Key Points & Principles
Systems Engineering & Systems Architecting Principles
•
Minimize the number of interfaces
"Module fan-in should be maximixed. Module fan-out should generally not
exceed 7+/-2." Pg 170 The Art of Systems Architecture”
Maier, Mark. The Art of Systems Architecting. p170
A
A
Many Interfaces (fan out)
Few Interfaces (fan in)
Key Points & Principles
Systems Engineering & Systems Architecting Principles
•
Maximize internal complexity and minimize external complexity
"The cohesion of the functions allocated to a particular module should be –
in order of preference – functional / control, sequential, communicational,
temporal, periodic, procedural, logical, and coincidental.”
Maier, Mark. The Art of Systems Architecting. p170
A
E
W
C
B
X
Y
D
V
Z
Key Points & Principles
Architecture Considerations
System Decomposition
The system should be decomposed functionally and physically to determine the
best way to organize the system.
Exponential Growth of System Partitions
2500
Parts
2000
Number of Partitions
•
Example of exponential
complexity of integration while
moving to lower decomposition
levels (7 per level).
1500
1000
500
0
Sub-Component
Sy stem
Sub-sy stem
C omponent
1
2
3
System Partition Level
4
5
Key Points & Principles
Architecture Considerations
Integral vs. Modular
http://www.shopping.hp.com
Modular Architecture
http://www.shopping.hp.com
Integral Architecture
• The level of modularity should be decided based on the product
life cycle, level of in-house design, and percentage of parts bought.
• It also influences the product integration and testing
Key Points & Principles
Architecture Considerations
Integral vs. Modular (Continued)
The product life cycle must be considered when developing the architecture
for embedded system integration. A modular approach is more efficient for
multiple, concurrent, and/or short product life cycles which can benefit from
reusing the modules.
Long product cycles for functions requiring a high level of performance lend
themselves to an integrated architecture.
Key Points & Principles
Architecture Considerations
Open vs. Closed
Open architectures allow everyone to see within the boundaries of each sub-system
for easy determination of how the interfaces are designed. In closed architectures
the sub-systems are “black boxes” so the interface requirements must be complete
and detailed since the detailed design is not shared.
As you move from an open to closed architecture the need for well defined
interfaces increases. A lack of very well defined interfaces, can easily lead to
misunderstanding of how the interfacing system works.
A
E
Black Box
C
B
D
Open Architecture
Closed Architecture
Key Points & Principles
Architecture Considerations
Interfaces
o
Number
The number of interfaces is dependent on the type of architecture
implemented, but the general want is to keep them simple and minimal. The
interfaces for modular architectures must be managed more actively than
for integrated architectures.
o Example: Ten different signals for different diagnostic or trouble
messages vs. a single (well-defined, well-documented) parameter
o
Types
The four primary types of interfaces - Material Flow, Energy Flow, Physical
Connections, Information/Control - but further helpful breakdowns often
exist as well.
o
Embedded System Specific Types of Interfaces
o Memory Interfaces
o Port Interfaces
o Timer Interfaces
o Power Electronics Interfaces
o Analog Interfaces
o Binary Interfaces (Switches and LEDs)
o Stepper Motor Interfaces
o AC / DC Motor Interfaces
Stiffler, Kent. Design with Microprocessors for Mechanical Engineers
Key Points & Principles
Architecture Considerations
Hardware-Related Interfaces
Where software I/O is more easily changed (relatively), the hardware I/O for an
embedded system can have huge cost impacts if changes are needed, even if they
are found early-on if prototype hardware has already been produced.
One approach is develop a small portfolio of a range of more generic and reprogrammable control systems/modules. However, even in doing this, care must be
taken to properly account for the right number and types of inputs and outputs for
the system.
For example: PWMs, digital vs. analog inputs and outputs, low-level driver
availability for reading & interpreting these on your platform, interrupt-driven lines,
etc…
Key Points & Principles
Architecture Considerations
Software-Related Interfaces
The Inputs and Outputs of embedded control systems are the way the software
interfaces with the outside world. They are the boundary between software and
hardware or other networked devices.
Inputs and Outputs must be coordinated to ensure the system performance and
reliability. Integrating the hardware and software requirements are essential. One
effective method of capturing these requirements is within an interface contract.
The interface contract captures the details of the hardware including any limitations
that the software must account for so that the hardware is not damaged. An example
would for an actuator would be which pins are connected to the controller, what kind
of hardware filter is used, EMC requirements, current requirements, and detailed
performance requirements.
Key Points & Principles
Simulation & Testing
• Design Simulation & Analysis
• Integration Methods
Key Points & Principles
Simulation & Testing
Design Simulation & Analysis
At the core of solid, upfront designing for integration and high quality products is a
model-based approach. Though this is often inferred to mean the use of complex
modeling & simulation software packages, the truth is that engineers use a modelbased approach (mental models, drawing on-paper, etc…) regardless of the level of
technology involved. Concerted effort to develop, validate, and begin using these
models early in concept exploration phases can have tremendously positive effects
on downstream development and integration activities.
The following describes model-based engineering (MBE) in more detail.
o
o
o
Types of MBE
Benefits & Challenges of MBE
Model Fidelity Requirements
Key Points & Principles
Simulation & Testing
Design Simulation & Analysis
Types of MBE
For non-electronic systems, engineered models can be as simple as static objects
like a clay or foam model of a new cell-phone – just enough to convey the desired
product attributes and get feedback, either directly in response to tests or from a
sample pool of others like focus groups.
For embedded systems, however, the models are typically more complex though
this may only mean they are a handful of transfer function equations in a
spreadsheet that update output values based on perturbed inputs.
Because integration is not just something that happens at the end of development,
but often many times through-out, building-in model architectures and interfaces that
speed integration tests can greatly reduce integration time, and thus improve a
team’s ability to even try out more concepts using the various models available.
Key Points & Principles
Simulation & Testing
Design Simulation & Analysis
Benefits & Challenges of MBE
Computer-enhanced or computer-facilitated Model Based Engineering has gained
considerable ground, particularly over the past decade, as improvements in computer
performance and modeling software have enabled more accurate modeling of systems without
the need for CRAY supercomputers – particularly those systems with complex interactions,
those that naturally occur at very high-speeds, and/or are time-varying – all elements that can
be difficult to capture or capture accurately in traditional models.
Thus the draw to the MBE carrot is a (purported) promise of reduced development costs by
allowing engineers to test out designs for performance, serviceability/assembly, and
conformance to regulations (EMC, etc…) on virtual hardware, before having any actual parts
manufacturing or assembled.
MBE is not without its unique challenges and pitfalls however. Even with the capabilities
afforded by these software packages, accurate modeling of real-world components and their
operating environments often can take more time to develop and tune than would be the cost
to manufacture several actual systems.
Key Points & Principles
Simulation & Testing
Design Simulation & Analysis
Model Fidelity
–
Simple, directionally-correct models: for early system feasibility and sizing
–
More advanced models: for system interaction, timing, and performance studies
–
Mature, validated models: for testing and refinement before hardware is ordered or
arrives, OR to supplement testing resources (i.e. only so many real prototypes)
There are a couple lines of thought with regard to modeling systems –
1. We cannot model new products that contain embedded systems with enough confidence
to significantly reduce physical prototypes. Simple models are helpful early on, and later
models are refined based-on physical prototype performance, in order augment testing
resource availability.
2. If we can’t model it, how can we purport that our design is expected to really work?
Key Points & Principles
Simulation & Testing
Integration Methods
Depending on factors like the size of the project, resources available, time
deadlines, degree of reuse from past projects, and complexity/number of pieces to
integrate, teams may approach integration at different points along the continuum
from all-at-once to a piecemeal/incremental approach.
For most complex systems involving embedded systems, an all-at once approach –
particularly on new projects - introduces too much variation to make sense of all of
the integration points and adequately test all the interfaces, even though this
approach would, if fairly well designed and integrated, save on integration and
testing resources.
On the flip-side, components of embedded systems often cannot be tested in a
complete vacuum but rather require complicated testing systems to do so because
of the need for things like communication buses and series of hand-shaking or
synchronization signals to be exchanged just to a system to initialize properly.
Sometimes this is simply easier with more pieces of the system pre-integrated.
MPD575 Weaver
51
Key Points & Principles
Simulation & Testing
Integration Methods
It’s for these reasons that early architecting and design decisions can play a critical
role in defining the possible integration and testing methods later in the process.
Take for example a highly coupled & integrated (vs. modular) system design. The
tight coupling will make it difficult for subsystem/subassembly testing to be brokendown as far as for a more modularly design system, where a minimized set of
interfaces signals and other interfaces may be able to be ‘stubbed-out’.
It is also important to recall from earlier that integration is not something that only
happens on the right-hand-side of the Systems Engineering Vee, as early integration
of models (of varying fidelity) during concept exploration and selection should also
be planned-out.
MPD575 Weaver
52
Key Points & Principles
Hardware Considerations
Hardware for embedded systems includes a wide range of components and
subsystems. These range from individual circuit board components like resistors
and capacitors to entire electronic control modules complete with all accompanying
sensors, casings, and external connector harnesses.
However, many integration problems can be avoided through purposed effort and
analysis behind the following areas
Processing Capability & Memory Size
Packaging
Operating Environment
Power
MPD575 Weaver
53
Key Points & Principles
Hardware Considerations
Processing Capability & Memory Size
Like any other piece of hardware in a system, when these items are not quantified or
properly considered the solution is either expensive or a compromise on system
configurability, performance, or operating robustness & reliability.
This affects integration because the final size or processing power, if not properly
estimated, bounded, or otherwise specified, if often determined late or by default at
the time of integration – which flexibility in time and financial resources is typically
most limited.
Key Points & Principles
Hardware Considerations
Processing Capability & Memory Size
Determining and specifying the amount and type of processing power and memory
required is a function of several items including:
• Speed of the fastest process the software must execute
• Expected S/W size + growth over the project & product life cycle
– Noting this can be very different for hand- vs. autogenerated-code
•
•
•
•
•
•
•
•
•
Required read/write ability & access speed
Existing or desired programming (flashing) tools & interfaces
System volatility on power-loss
Upgradability of modules (for service or for improvements)
Power requirements
Packaging space & external connectors
Operating environment (e.g. heat, vibration, humidity robustness)
Chipset & base operating system compatibility
Cost
Key Points & Principles
Hardware Considerations
Packaging
Though mentioned previously with regard to processor and memory sizing, the overall
packaging of hardware often has a large play in the trade-off period of embedded system
design.
Ex: iPod – extremely trimmed down physically, as the cost of a better antennae, larger battery,
physical keyboard…and thus functionality was adapted and/or reduced to accommodate
higher level requirements.
Packaging also plays a key integration role in integration’s close relationship with both
serviceability and assembly. Placing connectors at particular angle may make them shed
water from the environment, for example, but in testing assembly, service, and final assembly
these physical considerations may make them much more difficult to work with. This can lead
to increased integration time, and the chance for misassembled or damaged-during-assembly
parts.
There are also other opportunities with embedded system packaging, such as using a
component’s own packaging as a heat sink or purposely locating the system close to another
system to reduce wiring, separate heating elements, power, etc…
Key Points & Principles
Hardware Considerations
Power
Power requirements for products with embedded systems are another critical area
for taking a system-wide approach to requirements capture, analysis, and trade-off.
Highly complex embedded systems can have a seemingly limitless number of
combinations of devices active, all using varying levels of power at the same or
different times than other devices. Simply adding up and over-specifying the system
to support the ‘worst case’ scenario – however unlikely or even impossible - may
sound convenient and straight-forward, but is rarely a viable option for reasons of
cost alone.
Key Points & Principles
Software Considerations
Software for embedded systems control various functions. This includes the Real
Time Operating System (RTOS), hardware drivers, and application code. The
software not only has to interface with the system it is controlling but also the
computer hardware it resides in. The computer memory, processing speed, and
hardware layout all must be considered.
•
•
•
•
Memory Footprint & Allocation
Chronometrics / Processing Requirements
Physical Partitioning to Available Hardware
Calibration & Tunable Parameters/"Hooks"
MPD575 Weaver
58
Key Points & Principles
Software Considerations
Memory Footprint & Allocation
Random Access Memory (RAM) & Read Only Memory (ROM)
The memory allocation is an important and difficult aspect of embedded controls.
The amount of software needed to perform a function varies by the design, style,
and compiler used to create the imbedded software. The exact size of the memory
needed for the system with various sources of code varies greatly. This does not
mean it should not be done though. Specifying more than is needed raises the piece
price of the system. Not enough memory and the system will not function. This ends
up costing even more to add more memory later, optimize the code for memory. Not
to mention the time lost to implement these.
Key Points & Principles
Software Considerations
Memory Footprint & Allocation
•
•
•
•
•
DFI will only be successful if the software fits in the embedded controller.
The memory should be allocated for each software architecture chunk.
Memory size requirements need to be identified in the requirements.
The requirements need to be tracked to ensure the ability to integrate the total
application into the processor. This information should be tracked so as future
programs are developed the memory estimates will become more accurate.
The optimization of memory size can come as a cost to system upgrades. An
optimal memory system would have exactly the amount of memory needed to
complete the system function. New requirements to the system would require
upgraded hardware to handle the new amount of memory needed for the
additional software. Future expansions should be considered when specifying
the memory to include planned and unplanned software expansions. As
memory prices decrease the tradeoff for optimizing memory space becomes
less important.
Key Points & Principles
Software Considerations
Chronometrics / Processing Requirements
•
•
•
The processor speed selected for the imbedded controller must be sized to
execute the code in the processors loop time.
There must be enough excess capacity designed in to handle external requests
from the system. One example of this is the CAN communication network on an
automobile where other modules (i.e. ABS, Cluster, Transmission, Service
Tools) request information from the engine control unite (ECU).
Whenever possible use the system clock to track time instead of loop time. An
example of this is a controller that monitors equipment for faults. A loop timer
might wait for 100 software loops of confirmed errors before setting a
diagnostic code. The processor loop time might be 10ms so a fault is detected
in 1000ms (1 second). When the software is placed in a new processor with a
5ms loop time, the fault will now be detected in 500ms (0.5 seconds) which will
change the test and could falsely set a code. If real time was used from a clock
then the 1000ms detection would be the same for either processor.
Key Points & Principles
Software Considerations
Physical Partitioning to Available Hardware
For systems with more than one processing unit or memory store facility, software
partitioning is an activity that, even when done early in the process, can take large
amounts of time.
At the core of this challenge is that there is often no single, best partitioning of a
system across all stakeholders for meeting various functional performance targets –
or sometimes even for one stakeholder.
Techniques using Pugh matrices and other concept-selection to determine a
weighted/scored basis for decision making often overlook integration implications of
each option. For example, a system where software for a particular function or
feature is spread across control modules or processors makes for an integrated
product that is harder to verify for correctness until all the disparate pieces are fully
assembled – or complex systems to stub/fake-out these interfaces until the actual
subcomponents are online.
Key Points & Principles
Software Considerations
Calibration & Tunable Parameters/"Hooks“
•
There is a limit to the amount of calibrateable values that should be used.
There is a trade off as calibrateable parameters are added to the software. The
more calibrateable parameters that are added decrease the software
development time, but they increase the calibration time.
•
Calibration parameters should be designed to be as uncoupled as possible.
Too many coupled calibration parameters will cause excess calibration time to
the point that optimization is not obtainable in the development time or is to
costly.
•
Using adaptive logic is a good way to reduce the number of calibrateable
parameters. Dynamically adapting to the changes of hardware as it wears and
ages gives an advantage over the fixed calibrateable parameter. A common
automotive example is adapting the fuel control using an exhaust oxygen
sensor to maximize the catalytic converter efficiency to reduce emissions.
Key Points & Principles
Software Considerations
Calibration & Tunable Parameters/"Hooks“ (Continued)
•
Make sure calibration recommendations are captured in calibration plan.
•
A key to flexibility are calibrateable (tunable) parameters which can be updated
in the software after or before the system is integrated. This allows the system
to be customized easily to multiple applications without requiring a software
change. A typical example of this would be the calibrateable parameters in a
ECU for engine displacement and number of cylinders. By making these values
calibrateable the same software can be used for an inline 4 cylinder or a large
V12 cylinder engine.
Processes & Tools
•
•
•
•
•
•
•
•
Introduction
Motivations for DfI
Key Points & Principles
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
65
Processes & Tools
•
•
•
System Design & Architecture Reviews
Change Control Processes
Modeling & Simulation Toolkits:
• Excel, Matlab/Simulink/Stateflow, LabView, etc…
•
Development Process Guides:
• Capability Maturity Model Integrated (CMMI)
• Software Process Improvement and Capability dEtermination (SPICE)
•
Version & Configuration Management Tools
• ClearCase, CVS, & many others
•
•
•
•
•
•
Process for System Architecting & Requirements Engineering
(PSARE)
Work Breakdown Structure (WBS)
Interface Matrices (e.g. 4-quadrant analysis matrix)
Boundary Diagram
Systems Vee
Design Structure Matrix (DSM)
Heuristics
•
•
•
•
•
•
•
•
Introduction
Motivations for DfI
Key Points & Principles
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
67
Heuristics
•
In partitioning choose the elements so that they are as independent as
possible, that is, elements with low external complexity and high internal
complexity. (Pg 170 The Art of Systems Architecting)
•
Test what intermittent signals will do to the system response. Usually it is
unexpected.
•
Do not route wires where they can be pinched.
•
Be aware that a nominal calibration is only nominal to the part used for
calibration. Take into account the variability.
•
Test the region outside the nominal calibration to make sure you aren’t on the
edge of instability.
Heuristics
•
The software does not age over time but the hardware does.
•
Pay close attention to the transient response of the system.
•
Test everything even if it does not seem like a rational customer will try it,
because they will.
•
Design the electrical system to be robust to extremely low voltage, otherwise
unexpected results will occur.
•
Avoid overlapping prototype phases
Examples
•
•
•
•
•
•
•
•
Introduction
Motivations for DfI
Key Points & Principles
Processes & Tools
Heuristics
Examples
Summary
References
MPD575 Weaver
70
Examples
•
•
•
•
•
Mars Climate Orbiter
Power-Up Power-Down Sequencing in a Vehicle
Butterfly Valve Control
Magnetic Stripe Card-Reader Application
Electronic Throttle Body Supplier Integration
MPD575 Weaver
71
Examples
Mars Climate Orbiter
Following the heuristic that “software doesn’t fail, but software designs do”, the
Mars Climate Orbiter was lost in September of 1999, after it properly executed a
propulsion command to enter Mars orbit after a 286 day, 461 million mile journey.
Unfortunately, due to a failure to clearly specify, check, and test the command
interface NASA’s JPL unit used to command the Lockheed Martin-designed
spacecraft, the spacecraft expected English units and JPL provided the command
in metric units.
This example demonstrates failure to specify, plan, and test at multiple levels –
long before even touching a single piece of hardware.
http://www.cnn.com/TECH/space/9909/30/mars.metric.02/
MPD575 Weaver
72
Examples
Power-Up Power-Down Sequencing in a Vehicle
How long does a typical automotive vehicle system have once a key is turned to
“start” to power-up, initialize, check communication bus readiness – including all
attached modules, check system status, and command an engine crank according
to current targets?
Given that it takes most people about 300-400 milliseconds to blink, if you blink
you’ll probably miss it.
For more recent Hybrid-Electric vehicles with an electric motor, high-voltage
battery, and internal combustion engine, this is even more challenging of a target
because that same time interval must include a preceding command to the highvoltage DC/DC converter to close high-voltage contactors (to provide proper
system bus voltage to power the starter motor) so that that system can respond
accordingly in the same interval.
This example is to illustrate the potential challenges of integrating even a welldesigned system, when so much happens in such a short period of time.
MPD575 Weaver
73
Example
Butterfly Valve Control
This is an example of an electronic butterfly valve that interfaces with a digital
controller. The position is fed back to the controller through an encoder and a
DC motor is driven by the controllers H-bridge. The hardware consists of a
circular plate attached to a shaft that has two springs applied in either direction
to keep a spring balance on either side of the plate.
Interface Changes
A new butterfly valve which integrates the spring balance into a single coil spring
was introduced to reduce the cost of the valve. All other aspects of the valve
were carryover, so there were no changes to the digital controller.
MPD575 Weaver
74
Example
Butterfly Valve Control (Continued)
Integration Testing
The new valve was hooked up to the controller and cycled through the full range of
motion. It was noted that halfway through the cycle the valve would oscillate
rapidly overshooting the desired position. The valve was examined and did not
have any defects, but it would always oscillate mid range.
Root Cause of Integration Issue
When the valve was redesigned to have one spring instead of two, there was a
known region in the middle of the valve travel that would not have any spring
force on it due to the design. This was not communicated to the software group
so no changes were made to the digital controller which always expected a
spring force. The controller would overshoot current in the region with no
spring force since it expected a constant torque on the shaft. The digital
controller was then updated to account for a region with no spring force without
causing oscillations. If the hardware performance change was captured in the
interface requirements between the two groups, the software could have been
redesigned upfront and on time.
MPD575 Weaver
75
Examples
Magnetic Stripe Card Reader Application
In late 2001, one of this DFX’s authors was involved in an undergraduate project to
design and build a embedded system to read, write, and process information from
student ID cards to provide improve a variety of student services such as quick
access to email, student cash-card balance, and similar services. Some of there
services required data submission or retrieval over the campus Ethernet.
Writing their own minimal (26 kilobyte) TCP/IP stack to support this, the team
decided to purchase a commercial off-the-shelf (COTS) embedded network
interface board, designed specifically for such embedded projects.
However, the network card purchased operated at a standard system voltage of 03.3 volts vs. the other common embedded system voltage of 0-5 volts. Having
overlooked this detail, the team decided to try and avoid reverse shipping charges
and replacement delays of 3 weeks by using “level translator” chips. Not only did it
take 2.5 weeks to get these level translator acquired, wired-in, and working, but
because of the further unanticipated delay, however small, that these translator
chips introduced into the system, communication across the system was never
achieved. It pays to pay attention to “minor” details.
MPD575 Weaver
76
Example
New Electronic Throttle Body Supplier Integration
Customer Need
The electronic throttle body on a car controls the torque produced by the engine. In
cold climates condensation can build up on the throttle plate which can freeze
when the engine is turned off. On older mechanical throttle’s the customer
would have to break the ice by firmly pressing on the accelerator pedal. In an
electronic system the Engine Control Unit (ECU) must break the ice, since the
accelerator pedal is not directly linked to the throttle body, by applying a large
current to open and close the throttle until the ice is cleared before allowing the
engine to start.
Electronic Throttle Body Icing Interface Requirement
The system design requires that the throttle body can withstand maximum voltage
(14 volts) alternating open and closed without wearing the throttle end stops by
X.X mm over 1000 cycles.
MPD575 Weaver
77
Example
New Electronic Throttle Body Supplier Integration (Continued)
Integration Test
The new electronic throttle body is cycled by the ECU +/- 14 Volts for 1000 cycles.
After the first four cycles an audible “crack” was heard and the throttle sticks
closed. The cover was removed and a number of broken gear teeth fell out of
the gear box.
Root Cause of Interface Issue
The supplier electronic throttle body was not designed to withstand motor torques
over 9 Volts. When the supplier agreed to the interface requirements they did
not test their part to determine if it was capable of running at 12 volts into the
stop. The supplier then had to redesign the thickness of the geartrain to
withstand the 12 Volts. The small oversight in voltage requirements cost 4
months delay in development.
MPD575 Weaver
78
Summary
If you get nothing else from this presentation –
remember considering, negotiating, specifying, and testing
interfaces is key.
References
Kossiakoff A., & Sweet W. "Systems Engineering Principles and Practice." Hoboken, NJ: John
Wiley & Sons, Inc., (2003).
Haskins C. "INCOSE Systems Engineering Handbook, version 3." International Council on
Systems Engineering (2006): INCOSE-TP-2003-002-03
Maier M., & Rechtin E. “The Art of Systems Architecting.” Boca Raton, FL: CRC Press LLC,
(2002).
Ulrich K., & Eppinger S. “Product Design and Development. Third Edition.” New York, NY:
McGraw-Hill/Irwin, (2004).
Stiffler K., “Design With Microprocessors for Mechanical Engineers.” Hightstown, NJ: McGrawHill, Inc., (1992).
Murray, Charles J. “Automakers: Electronic Content Still Rising”, Periodical
http://www.designnews.com/article/48839-Automakers_Electronic_Content_Still_Rising.php.
Design News. (October 2008)
Niggemann, Otterbach, Fleischer, & Jogi. “Using Software Architecture Models in
Automotive Development Processes”. SAE Technical Paper Series. 2008-01-2664
Other references cited throughout
Download