Monday, September 27, 2010

Product Development Life Cycle of an Embedded System

Introduction

Embedded Systems are a large segment of the computing sphere.  They are becoming more uniquitous and span all aspects of modern life. Embedded devices are used in a wide variety of systems such as aircraft, automobiles, appliances and consumer electronics devices.

This white paper discusses the product life cycle of an Embedded System. It also attempts to provide some insights into challenges of developing a advanced embedded OR consumer product. In order to deliver a consumer electronics at a competitive price, every electronics company is incorporating electronics and software together into their consumer products.

Consumer Electronics Product Life Cycle

Following diagram represents the typical product life cycle and key functional areas of a Consumer Electronics OR Embedded Product

Figure 1. Product Life Cycle of a Embedded System

1.       Concept Phase:
A comprehensive analysis of the market trends is done here in the concept phase. The phase involves brainstorming of innovative ideas driven by technology trends and customer inputs. The customer here could be strategic partners for an established company OR end- users of similar product in the market.

Expected Deliverables: Concept Paper
Participants: Idea Initiators (include VPs, Directors, Product Managers), Product Architecture Teams, Product Marketing and Management.

2.       Requirements Gathering Phase:
A critical stage for Embedded Product as it determines what kind of hardware and software support is required to satisfy the scenarios identified for the customer. The number of requirements will eventually determine the scope of the product and what problem areas are being addressed by your new version of the product. A detailed feasibility (technical and business) is done by soliciting feedback from all critical stake holders of this project.

Expected Deliverables: Requirements Functional Spec OR PRDs, System Specifications.
Participants: Idea Initiators (include VPs, Directors, Product Managers), Product Management and Systems Engineering.

3.       Design Phase:
During this phase, the product owner and design team will identify the relationship between input and output.  A System Specification is written after investigating the overall behavior of the embedded system. All the required components to build the embedded product are identified and also how these components interact with each other. A functional design document is written to compile the findings of all the above components. A detailed Hardware and Software partitioning is determined. Rapid Prototyping is done in order to validate the identified and proposed design.

Architecture viz. target processor architecture and Host O.S is also identified for the implementation purposes. 

Expected Deliverables: Architecture Doc, High Level Design, Low Level Design for HW & Software.
Participants: Idea Initiators Limited Set (include VPs, Directors, Product Managers), Product Engineering Team (Development & Quality Assurance).

4.       Development & Implementation Phase:

Based on the specification of embedded system regarding functionality & power consumption and  cost all the different hardware add on components are chosen and hardware ( viz. ASIC )  implementation will start in the first sub-phase of implementation.  Then the software component, which deals with code running on a microcontroller running together on a RTOS is done as a next step in the development process. Some new development approaches recommend both the hardware implementation viz. VHDL programming & Software Implementation using C programming is done in parallel so that integration becomes easier.  

Expected Deliverables: Implemented Hardware & Software Components
Participants: Product Engineering Team (Development & Quality Assurance).

5.       Integration Phase:

The next step in the implementation process is the testing of the entire embedded system.  This will ensure whether the embedded system is complying with entire system specification defined above.

Expected Deliverables: Implemented Embedded System – Beta and Working
Participants: Product Engineering Team (Development & Quality Assurance), Systems Engineering

6.       Verification and Validation Phase :

The Validation phase is to ensure that the entire system is implemented as against the design and eventually against the requirements. Emulation based approaches can be followed for verification. Compliance testing and certification testing are carried on the target embedded system OR consumer device.

Expected Deliverables: Implemented Embedded System – Beta and Working
Participants: Product Engineering Teams (Development & Quality Assurance), Systems Engineering, Partner Teams and Beta Customers

7.       Maintenance and Retire Phase :

The Maintenance phase includes changes and additions as required by the users and also fixing bugs to keep the product up and running at the customer site.

Expected Deliverables: Implemented Embedded System – Working
Participants: Field Engineering, Product Engineering Teams (Development & Quality Assurance), Systems Engineering, Partner Teams and Beta Customers





Challenges in developing an Embedded Product


1.       Predicting product behavior with existing set of fuzzy requirements.

2.       Difficulty in understanding the design change and implication across all disciplines.

3.       Handling Distributed Software and Hardware Teams - Early identification of system level problems becomes challenging because of distributed teams.

Summary

Embedded Systems have widely different requirements. The demands of the specific technical application dominate the system design. Wide varieties of tools are becoming available to understand the scope and help accurately design the embedded system.

2 comments: