The following are some of my experiences and feelings based on my experience in circuit design and Debugging Over the past 10 years. Let's just call it "circuit schematic design review specifications, the excerpt is for your reference only.
1) understand the design requirements in detail and clarify the functional modules and performance indicators of the circuit from the requirements.
2) Formulate the overall design scheme based on the functional and performance requirements, and select the CPU. The CPU selection has the following requirements:
A) Cost Effectiveness;
B) Easy development: There are many types of hardware debugging tools, many reference designs, rich software resources, and many successful cases;
C) good scalability.
3) for the selected CPU chip, select a successful reference design that is close to our needs, generally, CPU manufacturers or their partners will verify several development boards for each CPU chip. For example, AMCC's ppc440ep has two development editions: Yosemite and bamboo. The reference design drawing that the manufacturer finally discloses to users should be strictly verified, even though it is not at the product level. Otherwise, it will affect the promotion and application of their chips. Even if there is a place where the peripheral circuit can be tapped, the usage of the CPU pin connection is absolutely trustworthy, of course, if there are multiple reference designs with Different Pin Connection Methods, we can read the CPU chip manual and error table carefully or contact the manufacturer for confirmation. In addition, before the design, it is best to borrow or purchase a selected reference board for software verification. If the software verification is no problem, then the hardware reference design can also be trusted. Note that many CPUs now have several startup modes. We need to select one of the most suitable startup modes or make them compatible.
4) select components for the peripheral functional modules as needed. The following principles should be observed for component selection:
A) principle of universality: If the selected components have been widely used and verified, try to use as few unpopular and eccentric chips as possible to reduce development risks.
B) Cost-effective principle: when the functions, performance, and usage are similar, try to choose components with better prices to reduce costs.
C) Principle of convenient procurement: select components that are easy to buy and have a short supply cycle.
D) Principle of Sustainable Development: Try to choose components that will not be discontinued within the foreseeable period of time.
E) Alternative principle: Try to select components with many brands compatible with pin to pin chips.
F) upward compatibility principle: select components used in old products as much as possible.
G) Resource Saving Principle: use all the functions and pins of components whenever possible.
5) modify the peripheral circuit of the selected CPU reference design schematic. At the time of modification, we need to find at least three successful reference designs with the same peripheral chip for each function module. If the reference design connection methods are the same, we can refer to the design with confidence, however, even if there is only one reference design that is different from others, we cannot simply follow the majority principle. Instead, we need to read the chip data manual carefully to understand the meaning of the pins and discuss them from multiple parties, contact the technical support of the chip factory to determine the scientific and correct connection method. If you still have doubts, you can design compatibility. This is the most important part of the schematic design process. We must do the following:
A) try to find more successful reference designs for each function module. The harder it is, the more successful reference designs are the experience and wealth of the "Predecessors, we should learn from it and stand on the shoulders of our predecessors, thus improving our starting point.
B) Consult and learn from authoritative experts, but do not trust the authority because everyone has cognitive errors, it is difficult to ensure that the most scientific understanding and judgment can always be made for things that you know best. Developers must make the most scientific and correct decisions on the basis of extensive investigation, study, and discussion.
C) if you refer to existing old product designs, you should pay attention to the issues left over from old products and the functional modules related to the hardware, when designing these related modules, we should pay more attention to the scrutiny and not mechanically copy the original design. For example, the IDE in our old products often has problems. After careful consideration, we will discuss and refer to other successful designs, we found that our ide interface has two pin connection methods which are indeed nonstandard. In addition, for the problem of video synchronization signal loss in the fgpi channel, the hardware synchronization signal pin can be introduced in the hardware design for further verification and better identification of the nature of the problem.
6) some basic principles should also be observed in the hardware schematic design. These basic principles should be implemented throughout the design process. Although these principles are also reflected in the successful reference design, however, because it is a "fight" schematic, we need to design a review schematic at any time based on these principles, including:
A) digital power supply and analog power supply are separated.
B) digital ground and analog ground separation, single point of ground, digital ground can be directly connected to the shell (EARTH), the chassis must be grounded to protect the personal safety.
C) Ensure that resources in each module of the system cannot conflict. For example, the device addresses on the same I2C bus cannot be the same.
D) read the manuals of all chips in the system (generally the design reference manual) and check whether the unused input pins need to be processed externally. Do they need to be pulled up, pulled down, or left blank, if you need to pull up or pull down the chip, you must handle it accordingly. Otherwise, it may cause internal oscillation and the chip may not work properly.
E) Ensure convenient software development without increasing the difficulty of hardware design, or exchange more convenient, reliable, and efficient software design with smaller Hardware Design difficulties, this requires hardware designers to understand the underlying software development and debugging, with high requirements.
F) power consumption problems. minimize power consumption during design.
G) Product heat dissipation problems, you can increase the heat sink or fan in the power consumption and fever of the larger chip, the product chassis should also consider this problem, do not make the chassis into a heat preservation box, the circuit board caught a cold in the greenhouse. We also need to consider the product placement location, preferably in a relatively large space, the air flow is smooth, is conducive to heat distribution out.
7) after the design of the hardware schematic, the designer should first perform self-audit according to the above steps and requirements. After the self-audit, the designer should have more than 95% confidence and confidence, and then submit it to others for review, other reviewers also strictly review the schematic diagram in accordance with the above requirements. If any problem is found, they should discuss and analyze it in a timely manner. The analysis and solution process also follows the above principles and steps.
8) as long as developers and reviewers are able to design and review circuits in strict accordance with the above requirements, we have reason to believe that the success rate of the first Board Version designed by all hardware developers will be high, therefore, I propose the following points:
A) The design personnel should ensure the correctness and reliability of the schematic diagram. To achieve the design, the design should be review and strict self-review should not pin their hopes on the reviewers, any design problems shall be borne by the design personnel, and other reviewers shall not be jointly and severally liable.
B) although other reviewers are not jointly and severally liable, they should also carry out a strict review in accordance with the above requirements. Once a design problem occurs, it also reflects the level, style and attitude of reviewers.
C) general schematic design, including the upgrade and modification of old products. In principle, the principle diagram 1 is required to be successful, and a maximum of two sealing boards are required. performance penalty will be imposed if more than two editions are used.
D) for a brand-new design with complicated functions and many doubts, in principle, the two versions of the schematic diagram should be successful. A maximum of three versions of the block should be used. performance penalty should be imposed if more than three versions are used.
E) schematic board sealing standards: the circuit board does not have any principles flying line and other processing points.
9) the purpose and starting point of formulating the above specifications are to cultivate a rigorous and pragmatic work style and a serious and serious working attitude of hardware developers, and to enhance their sense of responsibility and mission, improve work efficiency and development success rate to ensure product quality. We hope that our young hardware developers can grow up quickly.
For complex PCB design, such as high-frequency multi-board layout, dedicated cabling is generally required, because the complex PCB involves electromagnetic compatibility and electromagnetic interference problems, this is a profound learning, in addition to some basic precautions, there are also some special protection measures, such as using specialized electromagnetic compatibility chips during design. Interested readers can read some books on electromagnetic theory.
This article is excerpted from Wang honghui's book "Practical Guide for Linux kernel development in embedded systems (ARM platform.