Embedded systems course 2006
OVERALL DESIGN PROCESS

In this course you will design an electronic device and create a prototype of it. The overall design process goes as follows:

  1. You create an initial block diagram of the system, which covers all the functionality of a system. You may use UML or SA/SD or some other notation in this phase. When you have an overall understanding of how the system should work, you will then decide, what is done with software and what is done with hardware. At this point you should get familiar with the available hardware. In this course you are given the MCU, so you only need to familiarize yourself of its capabilities. For example, if you need to create a precisely timed square wave pulse, you may use the PWM/TIMER peripheral of the MCU. Or if you need analog to digital conversion, the MCU has AD-converters. So, the required functionalities in mind, see through the datasheet of the MCU, as well as other recommended components. When you have done this, you may revise your diagram to show, how each functionality will be carried out. In this phase you may also need to do some calculations to see whether you need, for example, amplification for some signals, or faster clock frequency for the MCU.

  2. After completing the HW/SW partitioning, you can start making your software along with hardware development process.

  3. Next in hardware part is the schematic diagram of your system, i.e. you draw out all the components and their connections. For this you need to use some schematics program, and get familiar with the datasheets of the components. For more information about this, see the basic design guide.

  4. You generate a list of needed components i.e. Bill Of Materials (BOM), and order them. Ordering takes time, so as soon as you know what you need, it is good to do this list. Usually, this list can be automatically generated from the schematic program.

  5. Based on your schematics, you create the PCB layout i.e. place the components on a PCB and draw the tracks to connect the correct pins together. The layout is usually based on the netlist, which is generated by the schematics program.

  6. When the layout design is finished, you must make it. Hobbyists tend to print out the layers and do the PCB by etching. In companies you usually generate some special files containing milling and drilling information, which can be directly used by milling or phototooling devices. Most common format for these files is Extended Gerber. In this course you will create the Extended Gerber files based on your layout, and send them for milling process to our work shop.

  7. When you have components and PCB, the components are soldered to the PCB and the connections are tested. Then the board is ready to be tested with software. Usually it is good to start with very simple LED blinking or other simple code to test wheter your hardware is working at all.

  8. Finally you try to succesfully make the system work with actual software. This phase usually brings out many problems, and sometimes it is difficult to know, whether the problem is in hardware or software. In this phase you should utilize the debugging tools to your best ability. Mere guessing does not work well, you must measure whether things actually work as they should. Learn to use the debugging tools right from the beginning, it will most certainly save your time a lot.