<<

Development processes, lifecycle, V-model

VIMIMA11 Design and integration of embedded

Budapest University of Technology and Economics © BME-MIT 2017 Department of Measurement and Information Systems Lifecycle of a development process

© BME-MIT 2017 2. CMMI process areas connected to development life cycle

© BME-MIT 2017 3. Development life cycle processes

. CMMI describes the objectives and activities to be performed, but it do not specify a lifecycle . Most of the companies are using existing lifecycle models for this purpose o Waterfall o Spiral o V-model

© BME-MIT 2017 4. The V-model

System level

Requirement analysis User acceptance Logical design test

Technical System Int. design & test

Subsystem Subsystem Subsystem design Integration level and test

Modul level Module design Modul test

Implementation

© BME-MIT 2017 5. The V-model in the real world

© BME-MIT 2017 6. V-model in real world

System Level

Subsystem level

Module level Analog I/O Comm Controller Digital I/O

Application

Libraries Hardware független mitmót API Sub module R04 TRM -

- level Math ISO C MIKROP COM DPY

Kernel MCU-ARM API

Hardware I/O kezelés Abstraction Layer Device Drivers

SPI interrupts Serial

I2C Exceptions

Hardware

Implementation

© BME-MIT 2017 7. V-model in real world

Initial Planning Preparation Agreement Confirmation Maturity Mass phase phase phase phase phase phase production 5-6 month 12-16 month 7-8 month 7-8 month 14-16 month 8 month

Software development 4th Iteration

Maintenance Logical system architecture 4rd Iteration

System conception

Technical system design

2nd Iteration SIL determination

System specification

1st Iteration

© BME-MIT 2017 8. The steps of the V-model

© BME-MIT 2017 9. Analysis of user requirements, designing the logical system architecture

System level

Requirement analysis User acceptance Logical design test

Technical System System Int. design & test

Subsystem Subsystem Subsystem design Integration level and test

Modul level Module design Modul test

Implementation

© BME-MIT 2017 10. Analysis of user requirements, designing the logical system architecture

Connection User Test results from user to the Requirements Acceptance or system test testing

Analysis of user requirements

Specification of logical system architecture

Connection Logical System to the Use cases Plan testing

© BME-MIT 2017 11. CMMI process areas of requirement handling

© BME-MIT 2017 12. Requirements development

. SG 1: Develop Customer Requirements o SP 1.1: Elicit Needs . Brainstorming, surveyment, prototype building, demonstrations, User Stories. o SP 1.2: Transform Stakeholder Needs into Customer Requirements . Translate stakeholder needs, expectations, constraints, and interfaces into documented customer requirements. . Establish and maintain a prioritization of customer functional and quality attribute requirements. . Define constraints for verification and validation.

© BME-MIT 2017 13. Requirements development

. SG 2: Develop Product Requirements o SP 2.1: Establish Product and Product Component Requirements Transforming the user requirements into technical form, and explicit values. Example A carryable device: weight <2 kg, Size < 20x30cm, Battery system: voltage of the battey, capacity for 3 days Reliable: availability 99% Example: House of Quality Function Deployment http://www.webducate.net/qfd/qfd.html https://www.youtube.com/watch?v=u9bvzE5Qhjk

o SP 2.2: Allocate Product Component Requirements o SP 2.3: Identify internal and external Interface Requirements

© BME-MIT 2017 14. Requirements development

. SG 3: Analyze and Validate Requirements o SP 3.1: Establish Operational Concepts and Scenarios o SP 3.2: Establish a Definition of Required Functionality and Quality Attributes o SP 3.3: Analyze Requirements: finding the necessary and sufficient requirements. o SP 3.4: Analyze Requirements to Achieve Balance o SP 3.5: Validate Requirements with simulation or prototyping

© BME-MIT 2017 15. Requirements

. SG 1: Manage Requirements o SP 1.1: Understand Requirements o SP 1.2: Obtain Commitment to Requirements o SP 1.3: Manage Requirements Changes o SP 1.4: Maintain Bidirectional Traceability of Requirements o SP 1.5: Ensure Alignment Between Project Work and Requirements

Typical tools are Excel or specific tool like DOORS

© BME-MIT 2017 16.

User Requirements Logical System Architecture Technical System Architecture Subsystem

Software system Requirements Requirements of Function 1 Mechanics A Requirement Module 1 B Requirement Requirement Requirements C Requirement A1 Requirement … Requirements A2 Requirement … Constraints … C1 Requirement … Constraints Constraints C2 Requirement … C3 Requirement X constraint Elektronics Y constraint … Z constraint Hardware … Constraints Module 2 X1 Constraints Requirements Requirements Y1 Constraints … … Y2 Constraints Constraints Constraints A3 Constraints … … …

Software Hardware system Requirements … Constraints …

© BME-MIT 2017 17. Requirements management

User Requirements Logical System Architecture Technical System Architecture Subsystem

Software system Requirements Requirements of Function 1 Mechanics A Requirement Module 1 B Requirement Requirement Requirements C Requirement A1 Requirement … Requirements A2 Requirement … Constraints … C1 Requirement … Constraints Constraints C2 Requirement … C3 Requirement X constraint Elektronics Y constraint … Z constraint Hardware … Constraints Module 2 X1 Constraints Requirements Requirements Y1 Constraints … … Y2 Constraints Constraints Constraints A3 Constraints … … …

Software Hardware system Requirements … Constraints …

© BME-MIT 2017 18. Logical System Design

© BME-MIT 2017 19. Specification of logical system architecture

. is to divide the device into components o What are the main logical components, blocks? o What is the connection between the main logic blocks? . Analyzing the data path between the input and the output o How is the output created from the input? o What are the main stages? . There are many types of Logical architecture representation o Static view: functions and their interconnections o Dynamic view: Data flow of an incoming data . There are no strict restriction for creating the logical architecture, mainly this is some kind of art requiring much experience

© BME-MIT 2017 20. Specification of logical system architecture

© BME-MIT 2017 21. Specification of logical system architecture

. Most widespread technics and tools o design technique o Functional Flow Block Diagrams o UML, SysML diagram

© BME-MIT 2017 22. Designing of Technical System Architecture

© BME-MIT 2017 23. Analyzing logical system architecture, specification of the technical system architecture

Function 3 Function 4 Logical System Architecture

Function 3 Function 3.2 Function 3.4

Function 3.1

Function 3.3 Function 3.5

Technical System Node 2 Architecture Microcontroller SW Signal Cond. interface

ADC Processing Sensor Comm

Calibrations Communication Actuator Analogoutput

© BME-MIT 2017 24. Analyzing of Logical System Arch. Specification of Technical System Arch.

Logical System Plan Connection (functions, interfaces, Test Results to the testing requirements)

Analyzing the Logical System Architecture

Specification of Technical System Architecture

Technical System Connection Test Cases Plan to the testing

© BME-MIT 2017 25. Analyzing of Logical System Arch. Specification of Technical System Arch.

Logical System Plan Connection (functions, interfaces, Test Results to the testing requirements)

Analyzing the Logical System Architecture Analyzing Control loops

Specification of Technical System Architecture

Technical System Connection Test Cases Plan to the testing

© BME-MIT 2017 26. Analyzing Control loops

User Control Environment

System

Control Setpoint Actuator Sensor algorithm

© BME-MIT 2017 27. Analyzing Control loops information can be gathered

. Types of internal and external interfaces . The required precision and granularity of signals . Prediction on timing . Prediction on required processing capability . Prediction on physical constraints and layout

© BME-MIT 2017 28. Analyzing of Logical System Arch. Specification of Technical System Arch.

Logical System Plan Connection (functions, interfaces, Test Results to the testing requirements)

Analyzing the Logical System Architecture Analyzing the Analyzing Real-time Control loops requirements Specification of Technical System Architecture

Technical System Connection Test Cases Plan to the testing

© BME-MIT 2017 29. Predictions and requirements on Real-time characteristics . Determining system level real-time requirements . Allocating timing requirements to functions

Trigger or activation Activation rate Trigger or activation

execution time

Process or function Process or function

response time

Deadline

© BME-MIT 2017 30. Analyzing of Logical System Arch. Specification of Technical System Arch.

Logical System Plan Connection (functions, interfaces, Test Results to the testing requirements)

Analyzing the Logical System Architecture Analyzing the Analyzing Analyzing Real-time System Control loops requirements distribution Specification of Technical System Architecture

Technical System Connection Test Cases Plan to the testing

© BME-MIT 2017 31. Analyzing Distributed System Functions

. What functions need to be encapsulated into one device, or separated into different devices? o Processing capacity o Timing o Physical layout . What type of communication connection needed between devices o Bandwidth o Range o Communication Technology . Designing of the communication matrix o Messages o Signals and their encodings

© BME-MIT 2017 32. Signal example

Speed Engine RPM

Gear state Cooling Water Temp Transmission Control Motor Control

Signal name Min-max Unit Speed 0 – 250 km/h Gear state -1 – +5

Engine RPM 0 – 10000 RPM Cooling Water Temp -20 – 100 C degree

© BME-MIT 2017 33. Signal, example

Speed Engine RPM

Gear state Cooling Water Temp Transmission Control Motor Control

Signal name Min-max Unit Conversion Data size Speed 0 – 250 km/h y = x * 4 10 bit Gear state -1 – +5 y = x + 1 3 bit Engine RPM 0 – 10000 RPM y = x 16 bit Cooling Water Temp -20 – 100 C degree y = (x+20) * 2 8 bit

© BME-MIT 2017 34. Messages and signals

Engine parameters message, ID=0x280

11 64

0x280

ID Data field

Data field

Engine RPM Cooling Other Signals Water Temp

© BME-MIT 2017 35. Communication matrix

. Vector CANdb editor o 4 message o 5 signals

© BME-MIT 2017 36. Analyzing of Logical System Arch. Specification of Technical System Arch.

Logical System Plan Connection (functions, interfaces, Test Results to the testing requirements)

Analyzing the Logical System Architecture Analyzing the Analyzing Analyzing Real-time System Safety analyzis Control loops requirements distribution Specification of Technical System Architecture

Technical System Connection Test Cases Plan to the testing

© BME-MIT 2017 37. Safety analysis

Logical System Plan (functions, requirements, interfaces)

Reliability and Safety Analysis Risk, Failure Type, Hazard Hazardous System Specific Reliability Failure rate and Safety Situation analysis (SIL)

Safety Relevant Identification of Relevant components Components and Subsystems and subsystems

Specifications for safety relevant components and subsystems

Specification of Safety relevant requirement Requirement specifications Verification and specification for components for the development process Validation methods and subsystems

Verification and Hardware Specific Safety Software Specific Development Process Validation methods Requirements Safety Requirements Requirements

© BME-MIT 2017 38. Safety Integrity Levels

© BME-MIT 2017 39. Affects of SIL layers to the development

. SIL layers, or other Safety Levels give restictions for every step of development process o Design o Implementation o Testing

Activity SIL0 SIL1 SIL2 SIL3 Independent review of functional requirements + + ++ ++ Prototyp 0 0 + ++ Simulation + + ++ ++ FMEA (Failure Mode and Effect Analysis) + + + ++ Statement Coverage + ++ ++ ++ Decision Coverage + + + ++

© BME-MIT 2017 40. Analyzing of Logical System Arch. Specification of Technical System Arch.

Logical System Plan (functions, interfaces, Test Results requirements)

Analyzing the Logical System Architecture Analyzing the Analyzing Analyzing Real-time System Safety analyzis Control loops requirements distribution Specification of Technical System Architecture Specification Specification of Specification for Safety assurance of Real-Time Networks, and Control Loops specifications Requirements messages

Technical System Connection Test Cases Plan to the testing

© BME-MIT 2017 41. Branching to subsystem paths

© BME-MIT 2017 42. Branching to subsystem paths – Electronics (Hardware – Software) path

System Design, Technical System specification System design System level

Mechanical Hardware Software Subsystem Subsystem Subsystem Design Design Design

Subsystem Level

Module Module Component design design level

Implementacion

© BME-MIT 2017 43. Hardware Design Path

© BME-MIT 2017 44. Hardware Architecture Design

Hardware Requirements Test results Connection to the testing Alaysis of Hardware Requirements Analysis of, boundaries, Dimensions, connection points, environmental conditions Specification of Hardware architecture Selections of Connectors and Enclosures

Connection Hardware to the testing architecture Test Cases

© BME-MIT 2017 45. Analysis of boundaries, dimensions, connection points, environmental conditions . Mostly there are predetermined mechanical constraints o Dimensions o Weight o Usable areas, and usable component type (for example because of vibrations) . Selection of Enclosure and Connectors o Determines the dimension and useable areas of the PCB o Environmental conditions should be taken into account: IP protection, enclosure type

© BME-MIT 2017 46. . Properties of Enclosures and Connectors . Enclosure o IP (Ingress Protection) o Protection against physical impacts o UV radiation protection o Chemical protection o RF, and magnetic shielding o Heat conductance o PCB mounting positions o Enclosure mounting options . Connectors o Voltage, and current limits o Number of connections o Vibration protection o Shielding o IP (Ingress Protection)

© BME-MIT 2017 47. IP (Ingress Protection) . IP 65

Water Protection Solid particle protection Level Protection against Level sized Effective against Description 0 None No protection against contact 0 — and ingress of objects 1 Dripping water 2 >12.5 mm Fingers or similar objects Dripping water when 3 2 >2.5 mm Tools, thick wires, etc. tilted at 15°

Most wires, slender screws, 4 >1 mm large ants etc. 3 Spraying water Ingress of dust is not entirely prevented, but it must not enter 5 Dust protected in sufficient quantity to interfere with the satisfactory operation of 4 Splashing of water the equipment. No ingress of dust; complete protection against contact (dust 5 Water jets 6 Dust tight tight). A vacuum must be applied. Test duration of up to 8 6 Powerful water jets hours based on air flow.

© BME-MIT 2017 48. Hardware Architecture Design

Hardware Requirements Test results Connection to the testing Alaysis of Hardware Requirements Analysis of, boundaries, Analysis of Dimensions, Analog, Digital functions connection points, Power electronics environmental conditions Specification of Hardware architecture Selections of Separation of functions Connectors and in hardware Enclosures architecture

Connection Hardware to the testing architecture Test Cases

© BME-MIT 2017 49. Separating the analog, digital and power electronics functions . No necessary to different PCB . Identifying the hardware and PCB blocks, and designing the interconnection between them.

Ground coupling

© BME-MIT 2017 50. Hardware Architecture Design

Hardware Requirements Test results Connection to the testing Analysis of Hardware Requirements Analysis of, boundaries, Analysis of Analysis of required Dimensions, Analog, Digital functions Power and connection points, Power electronics Ground domains. environmental conditions Specification of Hardware architecture Selections of Separation of functions Designing the power Connectors and in hardware and ground domains Enclosures architecture Galvanic isolation EMC

Connection Hardware to the testing architecture Test Cases

© BME-MIT 2017 51. EMC Electomagnetic Compatibility

. The EMC Gap is closing

Immunity

Emission

1940 2010

© BME-MIT 2017 52. Emission and Immunity

. Emission: more and more load to the environment o Harmonic emission o Conducted emission o Radiated emission . Immunity: the ability of the device to resist the environmental noise o Conducted and radiated RF o Burst, Surge o Power supply line problems: voltage changes, voltage drop, period error o Magnetic field: sinus like change, non sinus like change o ESD Electro Static Discharge

© BME-MIT 2017 53. Immunity classes

. Class A: The device keeps its measurement and functional specifications under the effect of environmental noises.

. Class B: The device is operational under the effect of environmental noises, but its measurement precision is effected by the noises.

. Class C: After the environmental noise an interaction from an operator is needed to make the device operational again.

. Class D: Data loss, functional problem or damage of the equipment is happen by the effect of the environmental noise

© BME-MIT 2017 54. Inter or Intra system problems

. Inter System EMC o The noises emitted from the device to the environment o There are regularizations for this

. Intra System EMC o Noises that generated inside of the enclosure o Not regulated, but highly effects the operational ability of the device

© BME-MIT 2017 55. Power supply architectures Power bus . Simplest, and the most problematic o Common impedance

PSU Device Device Device 1 2 3

© BME-MIT 2017 56. Power supply architectures Power bus . Simplest, and the most problematic o Common impedance

Z1 Z2 Z3

PSU Device Device Device 1 2 3

Z6 Z5 Z4

© BME-MIT 2017 57. Power supply architectures Power bus . Simplest, and the most problematic o Common impedance

Z1 Z2 Z3

PSU Device Device Device 1 2 3

Z6 Z5 Z4

© BME-MIT 2017 58. Power supply architectures Power bus . Simplest, and the most problematic o Common impedance

Z1 Z2 Z3

PSU Device Device Device Ube 1 2 3

Z6 Z5 Z4

© BME-MIT 2017 59. Power supply architectures Star point . Much better solution, but harder to wire

PSU Device Device Device 1 2 3

© BME-MIT 2017 60. Power supply architectures Star point . The critical point is the common path of the star

PSU Device Device Device 1 2 3

© BME-MIT 2017 61. Power supply architectures Star point with separated PSU . Costly, but highly reduce to the common mode noises

PSU Device 1 1

PSU Device 2 2

PSU Device 3 3

© BME-MIT 2017 62. Power supply architectures Star point with separated PSU . Grounding can cause common impedance problems

PSU Device 1 1

PSU Device 2 2

PSU Device 3 3

© BME-MIT 2017 63. Power supply architectures Star point with isolated PSU . Independent power domain . Only differential signals can be used for communication

PSU Device 1 1

PSU Device 2 2

PSU Device 3 3

© BME-MIT 2017 64. Power supply hierarchy

. There are many voltage levels needed, but it is a design decision how to create them

. Linear Voltage Regulator o Cheap o Low noise emission o Bad efficiency

© BME-MIT 2017 65. Power supply hierarchy

. There are many voltage levels needed, but it is a design decision how to create them

. DC/DC converter o Costly o Noisy o Good efficiency

© BME-MIT 2017 66. Galvanic isolation

. Protecting against ground loops . Life protection

© BME-MIT 2017 67. Devices for galvanic isolation

. Transformator o For power supply and other signal isolation

. Opto coupler o Fast digital communication

. Condensator o AC coupling

. Special purpose single chip isolators o CAN transciever etc.

© BME-MIT 2017 68. Power Supply protection

. One type of protection is nearly never enough

© BME-MIT 2017 69. TVS, Zener diode . Zener diode o Enery in joule o Operation and Zener Voltage o Reaction time • N x ns o Capacity

© BME-MIT 2017 70. Varistor . Variable resistor o Energy in joule o Operational Voltage o Reaction time • N*10 ns o Maximum current o Breakdown or clamping voltage o Energy class • 8/20 ms • 10/1000 ms o Passive resistance • N*10 Mohm

© BME-MIT 2017 71. Polyswitch . Recovering Fuse o Serial resistance • Ohm o Operational current o Breakdown current o Maximum current o Recovery time

© BME-MIT 2017 72. I/O pin protection . Fast . Cheap . A reference voltage is needed

© BME-MIT 2017 73. I/O pin protection . Fast . Cheap . A reference voltage is needed

© BME-MIT 2017 74. Output load switching architectures . Typical switching architectures

© BME-MIT 2017 75. High side vs Low side

© BME-MIT 2017 76. Power line filtering . Capacitive filtering . LC filtering . Ꙥ or T filter . Power supply filter

© BME-MIT 2017 77. Hardware module design

© BME-MIT 2017 78. Hardware module design

Hardware architecture specification Test results Connection to testing Analysis of hardware architecture and module spec

Hardware module design

Module connectors and components selection

Connection Hardware module to testing Test Cases plan

© BME-MIT 2017 79. Board – to Board connectors

. Size and number of connection points o Voltage rating o Power rating . Type of connection material o Current limit and impedance o Thin, or gold . Mechanical stability o Insertion force

© BME-MIT 2017 80. Hardware module design

Hardware architecture specification Test results Connection to testing Analysis of hardware architecture and module spec

Hardware module design

Module connectors Component and placing components (Thermal issues) selection

Connection Hardware module to testing Test Cases plan

© BME-MIT 2017 81. Component placing

. Make easier or harder the PCB wiring . Must cant with the thermal properties too

Tjunction = Tambient + Rthermal(j-a) * P

© BME-MIT 2017 82. Example for thermal conducting

© BME-MIT 2017 83. Hardware module design

Hardware architecture specification Test results Connection to testing Analysis of hardware architecture and module spec

Hardware module design

Module connectors Component Wiring and placing (EMC components (Thermal issues) Problems) selection

Connection Hardware module to testing Test Cases plan

© BME-MIT 2017 84. Wiring problems (EMC)

. Capacitive coupling o Very easy to create such during wiring

o Example: Two wire with the width of0.5mm (20mil) in a 5cm path with the distance of 3mm means: ~ 0,5 - 1 pF (ADC input impedance is ~10pF)

© BME-MIT 2017 85. Wiring problems (EMC)

. Capacitive coupling o Very easy to create such during wiring

o Example: Two wire with the width of0.5mm (20mil) in a 5cm path with the distance of 3mm means: ~ 0,5 - 1 pF (ADC input impedance is ~10pF) I’m cheating we never measure like this!!!

© BME-MIT 2017 86. Wiring problems (EMC)

. Protecting against capacitive coupling o Grounding

o With good wiring strategy

© BME-MIT 2017 87. Wiring problems (EMC)

. Inductive coupling o Protection: make the loop smaller o Extra attention to the wires with significant current change o U = M*di/dt

© BME-MIT 2017 88. Typical PCB layers

. The price of the PCB is rise significally with the number of layers o Place more then one ground layer if it is needed o Layer above each other should be wired perpendicular

Signal or clock rate

Power layer

Ground layer

Signal or clock rate

© BME-MIT 2017 89. Recommended book

. EMC for Product Designers, Fourth Edition 4th Edition o Tim Williams o ~500 pages

© BME-MIT 2017 90.