Download Embedded System Design Process and more Lecture notes Microprocessors in PDF only on Docsity!
>>> Embedded System Design Process
Name: Neil Robert Membreve, M.Eng. Date:
Department of Electrical Engineering
[~]$ [1/23]
>>> Introduction
■ Electronic products involving microcontrollers are most efficiently developed using an orderly approach to the process, using a progression of steps, from conception through accomplishment, that virtually always results in success.
[1. Introduction]$ [2/23]
>>> Project Development Process Steps
The steps you should follow in the process of developing a project are as follows:
- Definition phase
- Design phase
- Test definition phase
- Build and test the prototype hardware phase
- System integration and software development phase
- System test phase
- Celebration phase
>>> Definition Phase - Inputs
- Objective: To clearly state what the project is to accomplish
- Specify what the device is to do
- Test definition phase
- Is the project feasible?
- Develop a list of specifications that fully describe the function of the project
- Provide a formal proposal to go ahead with the project
- This step is also know as the feasibility study phase
- The early portion of this research will result in a coarse or macro-level block diagram
>>> Requirement Analysis
- Requirements: informal description of what customer wants.
- Specification: precise description of what design team should deliver.
- Requirements phase links customers with designers.
>>> Types of Requirements
- Functional: What the device will do. This include the input/output relationships.
- Non-functional:
- timing
- power consumption
- manufacturing cost
- physical size
- time-to-market
- reliability
>>> Setting Requirements
- Customer interviews.
- Comparison with competitors.
- Sales feedback.
- Mock-ups, prototypes.
- Next-bench syndrome (HP): design a product for someone like you { very bad.
>>> Project Proposal Outline
>>> Design Phase
- Goal: Translate the definition phase into actual circuitry and plan out, in flowchart form, the project firmware
- This phase takes 40-50% of the total project time
- The design phase of the project does not involve any prototyping of hardware or writing of any software.
>>> Hardware Development
- STEP #1 - Start with the basic block diagram developed during the definition phase. The objective of this step is to provide a starting point in the form of blocks that you know will provide the desired results if you can fill in the blocks with appropriate circuitry.
- STEP #2 - Thoroughly research both relevant components and circuits to determine what sort of circuitry and components could be used to fill each block.
- The objective is to break each block into the smallest pieces that you plan to individually test.
- When complete, each block should be labeled with its input and output voltage levels and/or signals.
>>> Hardware Development
- STEP #3 - Using your research as a basis, develop a tentative circuit schematic for each of the blocks that contain electronic circuitry.
- Use a circuit simulator such as Spice or Proteus to simulate the operation of your circuitry.
- Modify your circuitry as required until the simulator says it works correctly to fulfill the purpose of the block
- STEP #4 - Use the individual block circuits to create an overall schematic for the project.
>>> Software Development Steps
- List the tasks to be completed by the software.
- Prioritize the tasks and determine which are critical and will need to be handled on an interrupt basis and which are less critical.
- Create a software flowchart or outline for each interrupt function.
- Create a software flowchart or outline of the program code to complete the project’s entire task.
>>> Build and Test the Prototype Hardware Phase
- In this step, you should construct and thoroughly test the hardware for the prototype project.
- At the completion of this step, you should be absolutely sure that the correct input signals are being applied to the microcontroller from each sensor and that the correct output signals from the microcontroller will drive the output circuitry in the expected manner.
>>> System Integration and Software Development Phase
- This step is the software corollary to the hardware step above.
- In this step, you are to write and test of each of the functions that you flowcharted or outlined when you designed the project.
- Use a simple main() function to exercise each of the individual input device functions and output device functions so that, as with the hardware steps above, you are absolutely sure that each of the individual input and output functions works correctly.
- Again, this step is to remove the uncertainty that will occur later when things do not work as you expect them to.
- The goal of this step in the process is to have a fully working project using the real or simulated inputs and outputs.