BEST EMBEDDED DESIGN PRACTICES
- Necessary Requirements:
- Prepare a well thought off list requirement specifications.
- This is the most crucial bit to keep your focus on.
- Whether you are working for a company or as an individual, it always helps to know WHAT you are trying to achieve.
- Make a rough draft and then probe your customer if that is what they exactly need.
- If you have the required environment and the infrastructure to complete the entire project management life cycle,then that would be the best option.
- Otherwise just create a simple document that captures all the basic requirements.
Design of system:
- A lot of variables and dependencies arises here. Figure out the most important one which is obviously the selection of the microcontroller or the microprocessor.
- But even before one can get to that part, one has to take a holistic approach to the entire project. For example are there any sensors involved? How will I be able to handle the signal conditioning and noise issues?
- Make an estimate of all the analog and digital inputs as well as output, then be focused on the selection of the microcontroller/processor.
- If at any moment you feel that you have no control over that aspect due to some reasons or if another person has already made that decision for you, then study the microcontroller thoroughly.
- Then do the matching of resources of the controller to the requirements. It becomes a piece of cake from this point onwards.
- You will have to just trust your instinct and go with that which follows which take a lot of time and hard work to harness.
Reviews:
- Have your designs reviewed by peers or seniors. If you are part of a project management environment, there will be regular reviews instituted by the process itself. If not, you need to make a conscious effort to do that.
- The Americans invented a phrase known as ‘“cognitive dissonance”. This is like a bug or essentially a flaw you have overlooked It is sitting right there in front of you, right under your nose.
- Therefore it pays off to get your personal design reviewed by at least one independent party or individual not directly associated with the project.
Testing:
- Finally testing which is basically he glue to this whole process and a fundamental part of the whole process.
- The designer needs to analyze each and every aspect of the design simultaneously as it arises.
- For each block and every section of the design it must be checked thoroughly and then again after each individual piece is done.
- Finally when all the pieces are assimilated and your individually designed processor is born.