Hardware Design Process
1. requirement analysis and preparation
A) document first line: a document is created at the beginning of the project, with the name 09020.myprj _xm.doc. The date is placed in front of the document, which can be easily sorted by the order generated by the file for ease of searching. myprj is the project name and can be more; XM is your name and is useful in team design. Any content related to this project can be recorded by date in this document. If necessary, some topics can be separated to form relevant documents;
B) Requirement Analysis and functional block division;
C) select an implementation circuit for each function block, and select a mature circuit with low cost, easy to purchase components, and high reliability;
D) simulate a circuit that you are not familiar with and debug it with a bread;
E) a written plan should be prepared in advance for debugging according to the predefined plan; if the plan needs to be changed, it should also be implemented in writing, and then debugged according to the changed plan; detailed records of the test process and results. The advantage of doing so is that the experiment will not be aimlessly or repeat useless tests. All the tests are the most effective tests based on thinking and analysis; second, the test process and results recorded in writing can be used as a strong objective basis and can be used as a reference for anyone at any time. We may have had the experience of using words such as "possible" and "maybe" to describe a test result because we cannot remember the experiment process and result;
F) single hardware circuit simulation generally uses multisim; protues can be used for CPU usage;
G) when creating a circuit with a bread, pay attention to the line specification and clarity. After completing the circuit, check carefully and start debugging after confirmation. If conditions are met, use the red line for the power supply and black for the ground, different colors are used for the input, output, and intermediate connections. If you need to change the input signal, the input signal must be arranged in a location that is easy to operate;
H) Then you can start to draw the schematic diagram;
2. Draw a schematic diagram
A) document first. Confirm the circuit of each part according to the function block, the selected components, the reasons for selecting such components, precautions, reference circuit, and signal passage, start to draw the schematic diagram. If there is anything you need to modify during the drawing process, write it clearly here and start to modify it;
B) if there is a CPU, You need to allocate the CPU pins first, and then start to draw the schematic diagram. The allocated pins must also have written records, describe the allocation location, function, allocation principles, and reasons for such allocation (for example, the c8051f interrupt pin can only be placed on the P0 port;
C) Draw a schematic diagram of each functional block on the schematic, and connect different parts with network labels. advantages of this: easy to divide each functional block, easy to view, and easy to transplant.
D) Use the dotted line on the schematic to separate different functional blocks and make necessary comments, such as functions, precautions, and default jumper settings;
E) Check the schematic to ensure that there are no errors. Common Errors include: VCC is written as VDD; + 5 V is written as 5 V; Gnd And Gnd appear at the same time; the Network label is not connected with the corresponding wire; although different shapes are used, but the same network label does not actually act as isolation. To avoid these errors, you can use some simple methods, such as placing a network label. If the network label already exists, do not enter it again, instead of resetting an existing network label, you can directly select from existing labels;
F) element sequence number (Designator): If there are 30 capacitors, two of them are 15pf, 15 are 0.1 UF, 5 are 1 UF, and the remaining 10 UF, can we name 15pf ca ?, 0.1uf is named cb ?, 1uf is named CC ?, 10uf is named CD ?, It is easy to find the capacitance of the corresponding value during welding. For connection plug-ins with similar structures, they can also be named as jusb, jcan, jpw, etc., rather than J1, J2, J3, etc;
G) after the schematic check is correct, determine the encapsulation for each component. When determining the encapsulation, you must first buy the components to be encapsulated. If you cannot buy the components, you need to adjust the encapsulation.
3. Draw a PCB diagram
A) package the components in the schematic diagram Into the PCB, and check whether the designed PCB size can be enough to put all the components down and wiring. If it is difficult, it is best to redesign the PCB shape or size;
B) simply arrange the components. do not overlap each other and print them out on a piece of paper. Print it, check whether the package of each component is consistent with the actual device, and check whether the PCB shape or size is compatible with the designed box;
C) Some components are encapsulated. The number of pins in the SMD and direct plug-in is the same, but the pin definition is different and needs to be carefully confirmed. The width and width of some packages are different and need to be confirmed; some SMD Package pins stretch out too short, welding quality cannot be checked after welding, so we need to expand some of the pins in advance; the size of the pad also needs to be checked;
D) Start layout: first place the pad at the position where the holes are to be punched, set the position, and then lock it. I usually copy the pad from the template, such as the PC104 template. If it is a slot, draw another Internal Frame of the keepoutlayer to place components, so as to avoid interference in installation of components;
E) First Place components that require mechanical positioning, such as power plugs, USB ports, and indicator lights;
F) Place the components of each functional block in one unit, and arrange the components based on the principle of convenient connection;
G) the position of each functional block is arranged on the PCB Board for detailed adjustment, such as the adjacent resistance position alignment;
H) classify the network labels based on the wiring width;
I) Develop wiring specifications according to the netclass mentioned above;
J) manually arrange key components, such as crystal oscillator, decoupling capacitor, star grounding in the same chip, and so on;
K) You can draw a polygon on the keepoutlayer for the parts that do not want to be laid. After the other parts are laid, delete the polygon;
L) in the case of Automatic wiring, the device may fail to be deprecated in many cases. The simplest way is to adjust the layout and arrange the components in a location that is easy to deploy, rather than consider the appearance first. Like martial arts, it is practical and beautiful. It can be referred to as kung fu. If it is put upside down, it will be spent on shelves. Of course, it is absolutely necessary to make the Board more beautiful while meeting the requirements of functions and easy cabling;
M) after the Automatic wiring is completed, use the DRC check. If no errors are found, check the wiring one by one on the network to adjust the wiring that Affect Functions and beautiful wiring;
N) after the check, modify the position of the component label for easy display. The font of the component label is generally set to 1mil in width and 40mil in height;
O) labels on the test port, such as the 40-Pin test point and the p00, p04, P10, and p14 labels at the next interval, which is mainly used to locate the pins during debugging, otherwise, it will start with the number of headers, which is both troublesome and error-prone;
P) Generally, "xmp0000090104" is marked at the bottom, so that when the circuit board of the same function is modified, it is easy to locate the version;
Q) if the dual panel is used, copper should be covered on the top and bottom layers and connected to the ground. (possible) This can improve the anti-interference capability;
R) the PCB can be sent out;
S) after the completion, an important task is to back up the PCB File and schematic file of the board, and clearly comment it into the PCB file of a year, month, day, so that it is easy to view during debugging. This file is the baseline for future modification. All modifications must be performed in copies. These two files should not be moved any more. Of course, setting it to the "read-only" attribute is a good solution.