Comprehensive Guide to Embedded System Design and Development

Welcome FPGA engineers to join the official WeChat technical group

Clickthe blue textto follow us at FPGA Home – the best and largest FPGA pure engineering community in China

Comprehensive Guide to Embedded System Design and Development

The Background of Changes in Embedded System Design Methods

The evolution of embedded system design methods is generally driven by application demands and IT technology advancements. With continuous innovation and development in microelectronics technology, the integration and process levels of large-scale integrated circuits have been constantly improving. The combination of silicon materials and human intelligence has produced a large number of low-cost, high-reliability, and high-precision microelectronic structural modules, driving the development of a brand new technology field and industry.
Based on this, the concept of programmable devices and microprocessor technology can change and realize hardware functions through software. The extensive application of microprocessors and various programmable large-scale integrated circuits, semi-custom devices has created a brand new application world, which has widely influenced and gradually changed human production, life, learning, and other social activities.
The significant improvement in computer hardware platform performance has made many complex algorithms and user-friendly interfaces achievable, greatly enhancing work efficiency and providing a physical foundation for the auxiliary design of complex embedded systems.
High-performance EDA integrated development tools (platforms) have made significant progress, and their automation and intelligence levels have been continuously improved, providing an integrated, easy-to-learn, and user-friendly development environment for complex embedded system design, including different purposes and different levels of editing, layout, routing, compilation, synthesis, simulation, testing, verification, and device programming.
The development of Hardware Description Language (HDL) has provided a working medium for establishing various hardware models for complex electronic system design. Its strong descriptive and abstract capabilities have brought significant changes to hardware circuits, especially in semi-custom large-scale integrated circuit design. Currently, commonly used HDLs include VHDL, which has become the IEEE STD1076 standard, Verilog HDL under IEEE STD 1364 standard, and AHDL, the corporate standard of Altera.
Due to the development and standardization of HDL, a number of companies specializing in the design of various integrated circuit functional modules using HDL have emerged worldwide. Their task is to describe the functions and structures of integrated circuits using HDL based on common or specialized functions, and to form different levels of IP core modules through verification at various levels for chip designers to assemble or integrate.
IP (Intellectual Property) core modules are pre-designed and even validated integrated circuits, devices, or components with a certain defined function. They come in several different forms. IP core modules can be classified into behavioral (behavior), structural (structure), and physical (physical) levels, corresponding to the three levels of “soft IP core,” which describes functional behavior, “firm IP core,” which completes structural description, and “hard IP core,” which is based on physical description and has passed process verification. This is equivalent to the design technology of integrated circuits (devices or components) in their raw, semi-finished, and finished states.
Soft IP cores are generally submitted to users in some HDL text format. They have undergone behavioral-level design optimization and functional verification, but do not contain any specific physical information. Thus, users can synthesize the correct gate-level netlist and proceed to subsequent structural design, offering maximum flexibility. They can easily integrate with other external logic circuits using EDA synthesis tools to design devices with different performances based on various semiconductor processes. Commercially viable soft IP cores generally have a total gate count exceeding 5000 gates. However, improper subsequent design may lead to total failure of the results. Soft IP cores are also known as virtual devices.
Hard IP cores are based on the physical design of a certain semiconductor process, having a fixed topology layout and specific process, and have been process-verified, ensuring guaranteed performance. They are provided to users in the form of circuit physical structure mask layouts and a complete set of process documents, making them ready for use.
Firm IP cores are designed to be between soft and hard IP cores. In addition to completing all designs of hard IP cores, they also complete gate-level synthesis and timing simulation design phases. They are generally submitted to users in the form of gate-level netlists.
Manufacturers like TI, Philips, and Atmel have developed unique microcontrollers compatible with Intel’s MCS51 by leveraging Intel’s authorization and combining their strengths with MCS51’s IP core modules.
Commonly used IP core modules include various CPUs (32/64-bit CISC/RISC structures or 8/16-bit microcontrollers), 32/64-bit DSPs, DRAM, SRAM, MRAM, EEPROM, Flash memory, A/D, D/A, MPEG/JPEG, USB, PCIe, MIPI, standard interfaces, network units, compilers, encoders/decoders, and analog device modules, etc. A rich library of IP core modules provides a fundamental guarantee for rapidly designing dedicated integrated circuits and single-chip systems to quickly capture the market.
The advancement of software technology, especially the introduction of embedded real-time operating systems (EOS) and RTOS, provides underlying support and high-efficiency development platforms for developing complex embedded system application software.

02

Changes in Embedded System Design Methods

In the past, programming personnel skilled in software design generally kept a distance from hardware circuit design, considering hardware and software design to be completely different technical fields.
With the development of electronic information technology, designers from an electronic engineering background have gradually ventured into software programming. The primary form is through the application of microcontrollers (commonly referred to as single-chip microcontrollers in China), learning the corresponding assembly language programming. When designing larger distributed control systems, it is essential to use the now-popular PC as an upper machine, further learning to use high-level programming languages such as C, C++, and Python to develop system programs and design system interfaces, establishing multi-machine communication with front-end machines controlled by single-chip microcontrollers to form centralized distributed control systems.
Design personnel with a background in software programming rarely show interest in learning circuit design applications. However, with the rapid development of computer technology, especially the invention of Hardware Description Language (HDL), the methods for designing system hardware have changed. The hardware composition and behavior of digital systems can now be fully described and simulated using HDL. In this context, designing hardware circuits is no longer the exclusive domain of hardware design engineers; those skilled in software programming can use HDL tools to describe the behavior, functionality, structure, data flow, signal connections, and timing relationships of hardware circuits, designing hardware systems that meet various requirements.
EDA tools allow for two types of design input tools, catering to the needs of hardware circuit designers and software programming personnel from different backgrounds. Hardware-background designers can use the schematic input method they are accustomed to, while software-background designers can use the hardware description language input method. Since HDL descriptions are closer to system behavior descriptions, they are more convenient for synthesis, timing transfer, and modification, and can establish design files independent of the process. Therefore, once software programming professionals master HDL and some necessary hardware knowledge, they can often design better hardware circuits and systems than engineers accustomed to traditional designs. Thus, engineers used to traditional designs should learn to use HDL for description and programming.

Why do most graduates believe that only embedded systems, microcontrollers, ARM, and FPGA are technology? Nowadays, almost all universities offer programs in this area, and while there are many high-level talents and high-paying jobs, this field is not suitable for everyone. Most people starting from a low level or older students should not engage in these areas. Today’s embedded systems are like fast food; with the continuous influx of university students, their value decreases. Most of these groups can produce things, but they often lack stability, leading to a situation where they cannot sell their products even at a low price. The root cause lies in the neglect of production, quality, after-sales, testing, and simulation fundamentals. After years of development in China, the truth is that the real money is made by those who focus on production, quality, and sales, not by R&D technical personnel. However, technical personnel often elevate technology, while neglecting the processes that turn technology into products for sale, leaving them to work for others for a lifetime. Conversely, if they focus on other aspects, they could develop into bosses and hire technical personnel themselves. To this day, very few companies go bankrupt due to technical issues; most do so for other reasons, such as market, production, quality, etc. Making money is a system, and R&D is just one part of it. It can be said that for most domestic companies today, the trade, industry, and technology route is far easier to succeed than the technology, industry, and trade route.

03

Three Levels of Embedded System Design

According to 21ic, there are three different levels of embedded system design:
Level 1: Design methods primarily using PCB CAD software and ICE
This has been the method used by single-chip microcontroller application system designers in China from the past to the present, where the steps are to abstract first and then specify.
Abstract design mainly involves refining the functional requirements that the embedded application system needs to achieve, dividing them into several functional modules, drawing the system functional block diagram, and then allocating hardware and software functionalities to these functional modules.
Specific design includes hardware design and software design. Hardware design primarily involves selecting and combining components needed for each functional module based on performance parameter requirements, with the basic principle being to choose the most cost-effective universal components available on the market. If necessary, each uncertain part must be tested, functionally verified, and performance tested to find a relatively optimized solution from module to system and draw the circuit schematic. A key step in hardware design is to use PCB CAD software to layout and route the components of the system and then proceed to PCB fabrication, assembly, and hardware debugging.
The most labor-intensive part is software design. Software design runs throughout the entire system design process, mainly including task analysis, resource allocation, module division, process design and refinement, coding, and debugging. The workload of software design is primarily concentrated on program debugging, so debugging tools are critical. The most commonly used and effective tools are in-circuit emulators (ICE).
Level 2: Design methods based on EDA tool software and EOS as the development platform
With the development of microelectronics technology, various general-purpose programmable semi-custom logic devices have emerged. During hardware design, designers can use these semi-custom devices to gradually create dedicated integrated circuits (ASICs) from several standard logic devices that were previously interconnected through PCB wiring, thus transforming the complexity of PCB layout and routing into the complexity of configurations within semi-custom devices.
However, the design of semi-custom devices does not require designers to have knowledge and experience in semiconductor processes and integrated circuit layout and routing. As semi-custom devices grow larger and more devices can be integrated, the costs of interconnecting devices on the PCB, assembly, and debugging decrease significantly, not only greatly reducing the area of the PCB and the number of connectors, lowering overall system costs, and increasing the flexibility of programmable applications, but also importantly reducing system power consumption, improving system operating speed, and greatly enhancing system reliability and safety.
Thus, hardware designers have gradually shifted from choosing and using standard general-purpose integrated circuit devices to designing and producing some dedicated integrated circuit devices, supported by various EDA tool software.
Level 3: Design methods based on IP core libraries, using hardware-software co-design technology
Since the 1990s, there has been a shift from “integrated circuit” level design to “integrated system” level design. We have now entered the single-chip system (SoC) design phase, which has begun to enter the practical stage. This design method does not simply integrate all the integrated circuits required by the system into one chip; achieving a single-chip system in this way is impossible to meet the high density, high speed, high performance, small volume, low voltage, and low power consumption requirements, especially the low power consumption requirements.
Single-chip system design must start from the overall performance requirements of the system, tightly integrating the design of microprocessors, model algorithms, chip structures, peripheral circuits, and device designs at all levels, completing the entire system’s functionality on a single chip through a new concept-based collaborative design of system software and hardware. Sometimes, the system may also be implemented on several chips because not all systems can be realized on one chip; it may also be that the process cost of implementing a certain single-chip system is too high, losing commercial value. Currently, practical single-chip systems are still simple single-chip systems, such as smart IC cards. However, several well-known semiconductor manufacturers are actively developing complex single-chip systems like single-chip PCs.
Designing a single-chip system from scratch is neither realistic nor necessary. Besides being immature and untested, the system’s performance and quality cannot be guaranteed, and the design cycle may be too long, losing commercial value.
To accelerate the design cycle of single-chip systems and improve system reliability, the most effective approach currently is to authorize the use of mature, optimized IP core modules for design integration and secondary development, utilizing Glue Logic Technology (GLT) to embed these IP core modules into the SoC. IP core modules form the foundation of single-chip system design; the choice of which level of IP core modules to purchase must be weighed against existing foundations, time, funds, and other conditions.
Purchasing hard IP core modules carries the least risk but incurs the highest cost, which is inevitable. However, in general, purchasing IP core modules can not only reduce development risks but also save development costs since the fees for purchasing IP core modules are usually lower than the costs of designing and verifying them individually. Of course, not all required IP core modules can be purchased from the market. To monopolize the market, some companies develop key IP core modules that they are unwilling to authorize for transfer at least temporarily. In such cases, one must organize efforts to develop them independently.
These three levels have their respective application scopes. From the perspective of application development, the first two methods will be adopted for a considerable period. The third-level design method can only be used for designing simple single-chip systems by general application personnel. Only some of the larger semiconductor manufacturers can design and implement complex single-chip systems, and the single-chip systems realized using this method are only worth developing if they are widely used and of a certain scale. Some application systems may not be suitable for single-chip implementation due to technical or commercial value issues. Once they are launched in the market, application personnel only need to know how to select them.
Therefore, the three design methods will coexist and will not simply replace the former. Entry-level application designers will primarily adopt the first method; experienced designers will primarily adopt the second method; and very specialized designers will use the third method for designing and applying simple single-chip systems. However, all designers can apply dedicated single-chip systems designed using the third method launched by major semiconductor manufacturers.

04

Embedded Hardware System Design

Embedded design is a vast project. In terms of software, embedded ARM has been introduced multiple times, and specific details can be found in the article “In-depth: Software Architecture Design of Embedded Systems!” In terms of hardware circuit design, 21ic has learned several points to note. First, let’s understand the hardware structure of embedded systems.
We know that the CPU is the soul of this system, and all peripheral configurations are associated with it, highlighting a characteristic of embedded design: hardware can be tailored. In embedded hardware design, the following points need attention.

First, Determine the Power Supply
Comprehensive Guide to Embedded System Design and Development
The power supply in an embedded system can be likened to the role of air for the human body, or even more important: the air we breathe contains oxygen, carbon dioxide, and nitrogen, but its composition is stable, which is similar to the various noise in the power supply system. We hope to obtain pure and stable power that meets the requirements, but due to various constraints, it remains a dream. This needs attention in two aspects:
a. Voltage
Embedded systems require various levels of power supplies, such as the common 5V, 3.3V, 1.8V, etc. To minimize power supply ripple, LDO devices are used in embedded systems. If DCDC is used, not only is it larger, but its ripple can also be a headache.
b. Current
Normal operation of embedded systems requires not only a stable and sufficient power supply but also adequate current. Therefore, when selecting power supply devices, one must consider their load, generally leaving a 30% margin in design.
If it is a multilayer board, the power supply section should be split during layout, paying attention to the splitting paths and placing a certain amount of power supply together. If it is a double-sided board, the trace width needs attention, and it should be widened as much as possible within the board’s allowance. Appropriate decoupling capacitors should be placed as close as possible to the power pins.

Second, Determine the Crystal Oscillator
Comprehensive Guide to Embedded System Design and Development
The crystal oscillator is equivalent to the heart of the embedded system, and its stability directly affects its operating state and communication performance. Common oscillators include passive and active crystal oscillators. First, the oscillation frequency must be determined, and then the type of crystal oscillator must be established.
a. Passive Crystal Oscillator
The selection of its matching capacitors and resistors is generally based on the reference manual. In microcontroller design, plug-in crystal oscillators are often used in conjunction with ceramic capacitors. In ARM designs, to save space and facilitate wiring, four-corner passive crystal oscillators are often used with surface mount capacitors. Although we are familiar with the matching circuits for fixed crystal oscillators, to ensure everything is perfect, we still need to consult the reference manual to determine capacitor sizes and whether matching resistors are needed, etc.
b. Active Crystal Oscillator
It provides a better and more accurate clock signal but is comparatively more expensive than passive crystal oscillators, which is also a cost consideration in hardware circuit design.
When designing circuit boards, it is essential to keep the crystal oscillator traces as close to the chip as possible, keeping critical signals away from clock traces. If conditions allow, add grounding protection rings. If it is a multilayer board, keep critical signals away from the crystal oscillator traces.

Third, Reserve Testing IO Ports
Comprehensive Guide to Embedded System Design and Development
During the embedded debugging phase, when pin resources are abundant, I usually reserve an IO port to connect to an LED or a buzzer, laying the groundwork for the next software development. During the operation of the embedded system, appropriate control of this IO interface can help determine whether the system is functioning normally.

Fourth, External Storage Devices
Comprehensive Guide to Embedded System Design and Development
If an embedded system has a power supply, crystal oscillator, and CPU, then we have the familiar minimal system. If this embedded system needs to run a larger operating system, not only must the CPU have an MMU, but it also needs to connect external SDRAM and NAND FLASH. If the CPU has SDRAM and NAND FLASH controllers, then hardware design does not require excessive consideration of address line usage. If there are no related controllers, then attention must be paid to address line usage.
This part is a key focus during layout, as it requires ensuring that related signal lines are of equal length to ensure equal signal delays, with clock and DQS differential signal lines routed. During wiring, various wiring techniques need to be comprehensively used, such as symmetrical distribution with respect to the CPU, daisy-chain wiring, and T-type wiring, all of which need to be chosen based on the number of memory components. Generally, the more components there are, the more complex the wiring, but knowing the key points can make everything easier.
Fifth, Functional Interfaces
Comprehensive Guide to Embedded System Design and Development
The most important aspect of an embedded system is to control peripheral modules through various interfaces to achieve the designer’s preset objectives. Common interfaces include serial ports (which can connect to Bluetooth, WiFi, 3G modules), USB interfaces, network interfaces, JTAG interfaces, audio and video interfaces, HDMI interfaces, etc. Since these interfaces connect with external modules, ensuring good electromagnetic compatibility design is crucial. Additionally, attention should be paid to the use of differential lines during layout.

Sixth, Display Screen
Comprehensive Guide to Embedded System Design and Development
This function is listed separately because it is optional. If an embedded system only serves as a connector to peripheral devices, connecting to a computer host or directly to the network, then a screen is unnecessary. However, if the product is a consumer item with frequent user interactions, it must be mentioned.
Capacitive screens are the first choice for embedded screens. In circuit design, attention must be paid to the layout of touchscreen connection wires and display connection wires. During routing, these should be kept as short as possible and close to the main CPU, while ensuring paired signals follow differential routing, with RGB control signals following equal lengths. The spacing between various signal lines should follow the 3W rule to avoid mutual interference. In screen design, it is essential to ensure power and prevent interference to avoid flickering and display issues.

06

Embedded Product Development Process

Embedded products, like ordinary electronic products, require adherence to certain basic processes during development, which include a progression from demand analysis to overall design, detailed design, and finally product completion. However, compared to ordinary electronic products, the development process of embedded products has its peculiarities. It encompasses both embedded software and embedded hardware, which do not need to be involved in the development process of ordinary electronic products. 21ic has learned that the R&D process for embedded products is as follows:
Comprehensive Guide to Embedded System Design and Development
Next, we will discuss each phase of the embedded product development process in detail.
Phase 1: Product Requirements
In this phase, we need to clarify the source of product requirements. For a successful product, we need to meet certain demands. Only when the requirements are clear can our product development objectives be defined. In the product requirement analysis phase, we can obtain product requirements through the following channels:
1) Market analysis and research, mainly to see what demands exist in the market and what the cutting-edge technologies are (from the perspective of developing a product);
2) Customer research and user positioning, obtaining the most accurate product requirements from a wide range of market customers (paying attention to analyzing the market, product lifecycle, and upgrade convenience);
3) Profit orientation (cost budget);
4) If it is an outsourcing project, our client needs to provide the product requirements (directly obtaining from the client and having them sign an agreement);
When a project is completed, if the client suddenly adds requirements or features, it will lead to severe delays in the project cycle and a sharp increase in costs, and tested products may need to be retested completely, potentially rendering the original design inadequate for current requirements. Therefore, before starting a project, it is best to confirm the requirements with the client and sign an agreement; otherwise, no matter how hard you work, the result will be a mess!
Phase 2: Product Specification
In the previous phase, we gathered all the product requirements. In the product specification phase, our task is to refine all requirements into specific product specifications. For example, for a simple USB-to-serial cable, we need to determine the product specifications, including:
1) Product appearance;
2) Supported operating systems;
3) Interface types and supported standards;
4) And so on. It is crucial that once the product specification is formed, we must strictly adhere to it during subsequent development; unless there are 200% reasons, product requirements cannot be changed at will. Otherwise, the product development process will inevitably become an endless cycle.
The “Product Specification” mainly considers the following aspects:
1) What hardware interfaces the product needs;
2) In what environments the product will be used, its size, and power consumption. If it is a consumer product, considerations for aesthetics and portability must also be made to determine board size requirements and waterproofing;
3) Product cost requirements;
4) Explanation of product performance parameters (for example, for switches, if it is a hundred megabit rate for home and general company use; if it is for an entire province’s switching, the design rate must be tens of thousands of megabits or more), thus differing product performance parameters will affect our design considerations, and naturally, product specifications will differ;
5) National standards, international standards, or industry standards that need to be adapted and complied with;
Phase 3: Overall Design Plan
After completing the product specifications, we need to understand what feasible plans are available for this product and compare several plans across multiple aspects, including cost, performance, development cycle, and difficulty, ultimately selecting the most suitable overall design plan for our product.
In this phase, we not only determine the specific implementation plan but also consider the product development cycle, the number of person-months required, the resources or external assistance needed, and the risks and countermeasures that may be encountered during development, forming a project plan that guides the entire development process.
Phase 4: Product Outline Design
The product outline design mainly refines the overall design plan, focusing on both hardware and software:
Hardware Module Outline Design
The hardware module outline design primarily starts from the hardware perspective, confirming the overall architecture of the system and dividing various modules by function, determining the rough implementation of each module. First, we must consider what peripheral functions we need and the work the product needs to accomplish to select the CPU (Note: Once the CPU is determined, the surrounding hardware circuit must refer to the circuit design provided by the CPU manufacturer). Then, based on the product’s functional requirements, we select chips, such as whether to use external A/D or internal A/D, what communication method to use, what external interfaces to have, and most importantly, to consider electromagnetic compatibility.
Generally, a CPU’s lifecycle is 5-8 years. When considering the selection, avoid choosing CPUs that are about to be discontinued to prevent situations where the product has been developed for 1-2 years and, upon completion, the CPU is discontinued, necessitating a complete redesign. Many companies have failed because of this.
Software Module Outline Design
In the software module outline design phase, the entire system is divided into functional modules according to system requirements, defining the interfaces between each functional module and the main data structures within the modules.
Phase 5: Detailed Product Design
Detailed Hardware Module Design
This primarily involves specific circuit diagrams and certain requirements, including mutual design of PCB and casing dimensions. Next, we need to complete the entire hardware design based on the guidance of the detailed hardware module design document, including schematic design and PCB layout.
Software Module Detailed Design
Defining the functional function interface, which accomplishes functionality, data structures, global variables, and the calling process of various functional function interfaces during task completion. After completing the software module detailed design, we enter the actual coding phase, completing the entire system’s software coding based on the guidance of the software module detailed design.
It is essential to ensure that the module detailed design document is completed before the software enters the actual coding phase, and the hardware enters the schematic and PCB implementation phase. This way, we can consider everything comprehensively from the start of the design, avoiding repeated modifications during the design process, improving development efficiency, and not rushing into design steps without completing detailed designs.
Phase 6 & 7: Product Debugging and Verification
This phase mainly involves adjusting hardware or code, fixing existing problems and bugs to ensure normal operation, and striving to meet the product requirements specified in the product specification.
Hardware Part:
1) Visually inspect whether the PCB has short circuits or incorrect or missed soldering of components;
2) Test whether the resistance of each power supply to ground is normal;
3) Power on and test whether the power supply is normal;
4) Debug hardware modules by parts, using oscilloscopes, logic analyzers, etc., as needed.
Software Part:
Verify whether individual software functions are implemented and whether the entire product’s functionality is achieved.
Phase 8: Testing
Functional testing (if not passed, there may be bugs);
Stress testing (if not passed, there may be bugs or unreasonable parameter designs);
Performance testing (extracting product performance parameters for future customer reference, which is part of the product’s features);
Other specialized tests: including industrial-grade tests, such as anti-interference tests, product lifespan tests, moisture-proof tests, high and low-temperature tests (some products may not operate normally or even stop working at very high or low temperatures). Some electronic components may exhibit abnormal parameters under specific temperatures, leading to product failures; others may fail to start or power on at very low temperatures; and some components may change physically at high temperatures, affecting product quality. This brings up the topic of the difference between industrial-grade products and consumer products. Industrial-grade products must avoid these anomalies and special issues, while consumer products do not require such extensive testing.
Phase 9: Product
After completing the verification and testing in the previous phase, we obtain our successfully developed product. At this stage, we can compare the actual product with the initial product specification to see whether the product fully meets the original specifications after a complete development process and how many modifications were made along the way.
Appendix: Embedded Hardware Development Process
Previously, we detailed the R&D process for embedded products, and in this section, we will specifically explain the development process for the hardware part of embedded products, hoping to provide a deeper understanding of the embedded hardware development process, making it more standardized and improving development skills in future learning and work. The embedded hardware development process typically includes the following phases:
Comprehensive Guide to Embedded System Design and Development
Embedded products come in various hardware forms, from simple 4-bit/8-bit microcontrollers to 32-bit ARM processors and other dedicated ICs. Additionally, depending on the product’s different requirements, peripheral circuits vary. Each hardware development process must consider multiple factors based on actual needs to choose the most suitable solution.
Hardware Phase 1: Hardware Product Requirements
Similar to ordinary embedded product requirements. Phase 1: Product requirements.
Hardware Phase 2: Overall Hardware Design Plan
A hardware development project may have requirements arising from various aspects, such as market needs or performance enhancement requirements. Therefore, as a hardware designer, we need to actively understand and analyze the various requirements and select the most suitable hardware solution based on the functions the system must accomplish.
In this phase, we need to analyze the feasibility of the entire system design, including the procurement availability of major components in the plan, product development investment, estimated project development cycle, and risk assessment during development. We must also select countermeasures for potential problems that may arise during development to ensure the smooth completion of hardware.
Hardware Phase 3: Hardware Circuit Schematic Design
Once the system plan is confirmed, we can start the relevant design work. Schematic design mainly includes overall design and detailed design, ultimately producing detailed design documents and hardware schematics.
Schematic design and PCB design are among the primary tasks for designers. During schematic design, we need to plan internal hardware resources, such as system storage space and the implementation of various peripheral circuit modules. Additionally, we must carefully consider the main peripheral circuits of the system, such as power supply and reset circuits. In high-speed designs or special applications, EMC/EMI considerations are also necessary.
The power supply is fundamental to ensure the normal operation of the hardware system, and we need to analyze in detail: the input power supply the system can provide; the output power supply required by the single board; the current needed for each power supply; power circuit efficiency; allowable fluctuation range for each power supply; and the power-up sequence required for the entire power system.
To ensure stable and reliable system operation, the design of the reset circuit is also crucial. We must consider how to ensure the system does not reset abnormally under external interference, how to ensure timely resets during system operation anomalies, and how to perform reasonable resets to guarantee complete system resets. All these factors must be considered during schematic design.
Similarly, the design of the clock circuit is also a very important aspect. A poorly designed clock circuit may lead to data loss in communication products, generate significant EMI, or even cause system instability.
Schematic design should embrace the principle of “borrowing”! Most chip manufacturers provide reference design schematics, so we should leverage these resources as much as possible while fully understanding the reference designs to add our own innovations.
Hardware Phase 4: PCB Diagram Design
The PCB design phase involves converting the schematic design into an actual manufacturable PCB layout. Currently, mainstream PCB design software includes PADS, Cadence, and Protel.
PCB design, especially high-speed PCB design, requires considerations for EMC/EMI, impedance control, signal quality, etc., placing high demands on PCB designers. To verify whether the designed PCB meets requirements, some may require PCB simulation. Based on simulation results, PCB layout and routing are adjusted to complete the design.
Hardware Phase 5: PCB Fabrication Files and PCB Prototyping
Once the PCB layout is completed, we need to generate fabrication files that are recognizable by the manufacturer, commonly known as Gerber files, and submit them to the fabrication plant for PCB prototyping. Generally, 1-4 layer boards can be completed within a week.
Hardware Phase 6: Hardware Product Assembly and Debugging
After receiving the PCB prototypes from the fabrication plant, we need to check whether the PCBs conform to our design expectations, whether there are visible short circuits or incorrect soldering of components. After passing inspection, we need to send the previously procured components and PCB prototypes to the manufacturer for soldering (if the PCB circuit is not complex, components can also be directly hand-soldered for speed).
Once the PCB is soldered, before debugging, it is crucial to thoroughly check for visible short circuits and solder bridges, check for incorrect component placements, and measure the resistance from each power supply to ground to check for short circuits, preventing damage to the board from premature powering on. During debugging, maintaining a calm mindset is essential, as encountering problems is very normal. The goal is to compare and analyze progressively to eliminate potential causes until successful debugging is achieved.
Common debugging tools used during hardware debugging include multimeters, oscilloscopes, logic analyzers, etc., to test and observe signal voltages and qualities, ensuring signal timing meets requirements.
Hardware Phase 7: Hardware Product Testing
Once the hardware product passes debugging, we need to test it against the product requirements specification, checking each requirement to confirm compliance. If requirements are not met, the hardware product will require debugging and modification until it aligns with the product requirements specification (typically evaluated against the specification document, except for obvious specification errors).
Hardware Phase 8: Hardware Product
We have successfully developed the hardware. A complete hardware product that meets the requirements does not alone signify a successful development process. We also need to complete the project on time and with high quality as per the predetermined plan to consider it a successful product development process.
The above is the content brought by 21ic. If you have not had enough, you can check out the embedded design column on the 21ic China Electronics Network.

-END-

Comprehensive Guide to Embedded System Design and Development

Welcome FPGA, embedded, signal processing, and other engineers to follow our public account

Comprehensive Guide to Embedded System Design and Development

National Largest FPGA WeChat Technical Group

We welcome everyone to join the national FPGA WeChat technical group, which has tens of thousands of engineers, a group of technology enthusiasts where FPGA engineers help each other and share knowledge, creating a strong technical atmosphere!Hurry and bring your friends to join!!

Comprehensive Guide to Embedded System Design and Development

Press and hold to join the national FPGA technical group

FPGA Home Component City

Advantageous component services, please scan the code to contact the group leader: Jin Juan Email: [email protected] Welcome to recommend to procurement

ACTEL, AD part advantages ordering (operating the full series):

Comprehensive Guide to Embedded System Design and Development

XILINX, ALTERA advantages in stock or ordering (operating the full series):

Comprehensive Guide to Embedded System Design and Development

(The above components are part of the models; for more models, please consult group leader Jin Juan)

Service philosophy: FPGA Home Component City aims to facilitate engineers in quickly and conveniently purchasing components. After several years of dedicated service, our customer service has spread across large domestic listed companies, military research units, and small and medium enterprises. Our biggest advantage is emphasizing a service-oriented philosophy and ensuring quick delivery at favorable prices!

Directly operated brands: Xilinx, ALTERA, ADI, TI, NXP, ST, E2V, Micron, and over a hundred other component brands, especially skilled in components subject to US embargo against China.We welcome engineering friends to recommend us to procurement or consult us directly!We will continue to provide the best service in the industry!

Comprehensive Guide to Embedded System Design and Development

FPGA technical group official thanks to brands: Xilinx, Intel (Altera), Microsemi (Actel), Lattice, Vantis, Quicklogic, Lucent, etc.

Leave a Comment