Comprehensive Guide to Embedded System Design and Development

01

Background of Changes in Embedded System Design Methods

The evolution of embedded system design methods is largely driven by application demands and propelled by IT technology. With continuous innovation and development in microelectronics technology, the integration level and process quality 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, fostering the development of a brand new technical field and industry.
Based on this, the idea of programmable devices and microprocessor technology has emerged, allowing software to change and realize hardware functions. The extensive application of microprocessors and various programmable large-scale integrated circuits and semi-custom devices has opened up a brand new application world, significantly affecting and gradually changing 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 comprehensive development tools (platforms) have made great strides, and their automation and intelligence levels continue to rise, providing an integrated and easy-to-learn development environment for complex embedded system design, including editing, layout, routing, compilation, synthesis, simulation, testing, verification, and device programming for different purposes and levels.
The development of Hardware Description Language (HDL) has provided a working medium for establishing various hardware models in 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 functional design of various integrated circuit modules using HDL have emerged worldwide. Their task is to describe the functions and structures of integrated circuits using HDL according to common or specialized functions, and to form different levels of IP core modules through various levels of verification for chip designers to assemble or integrate.
IP (Intellectual Property) core modules are pre-designed and even verified integrated circuits, devices, or components with certain defined functions. They come in several different forms. IP core modules have three levels of design: behavior (behavior), structure (structure), and physical (physical), corresponding to the soft IP core that mainly describes functional behavior, the firm IP core that completes structural description, and the hard IP core based on physical description and process verification. This is equivalent to the design technology of integrated circuits (devices or components) in rough, semi-finished, and finished states.
Soft IP cores are typically submitted to users in some HDL text, having undergone behavioral design optimization and functional verification, but containing no specific physical information. Based on this, users can synthesize the correct gate-level netlist and proceed with subsequent structural design, offering maximum flexibility and ease of integration with other external logic circuits using EDA synthesis tools, designed to have different performances based on various semiconductor processes. Commercially viable soft IP cores generally have a total gate count exceeding 5000 gates. However, if subsequent design is improper, it may lead to a complete failure of the final result. Soft IP cores are also known as virtual devices.
Hard IP cores are based on the physical design of a specific semiconductor process, having fixed topological layouts and specific processes, and have undergone process verification to ensure guaranteed performance. The form provided to users is a complete set of circuit physical structure mask layouts and all the necessary process documents, ready to use.
The design depth of firm IP cores lies between soft and hard IP cores. In addition to completing all designs of hard IP cores, it also completes gate-level synthesis and timing simulation. Generally, it is 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 IP core module through Intel’s licensing.
Commonly used IP core modules include various CPUs (32/64-bit CISC/RISC structure CPUs 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 basic guarantee for the rapid design of dedicated integrated circuits and single-chip systems, as well as for quickly capturing the market.
Advancements in software technology, especially the introduction of Embedded Operating Systems (EOS) and Real-Time Operating Systems (RTOS), provide underlying support and high-efficiency development platforms for developing complex embedded system application software.

02

Changes in Embedded System Design Methods

In the past, software designers who excelled in programming generally kept a distance from hardware circuit design, viewing hardware and software design as entirely different technologies.
With the development of electronic information technology, designers from electronic engineering backgrounds have gradually ventured into software programming. The main approach 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 inevitable to use widely popular PCs as the upper-end machines, further learning to use high-level languages such as C, C++, and Python for system programming, designing system interfaces, and establishing multi-machine communication with front-end machines controlled by microcontrollers to form centralized distributed control systems.
Designers with a background in software programming are usually less interested in learning circuit design. However, with the rapid advancement of computer technology, especially the invention of Hardware Description Language (HDL), the methods of hardware design have changed. The hardware composition and behavior of digital systems can be completely described and simulated using HDL. In this case, designing hardware circuits is no longer the exclusive domain of hardware design engineers; designers skilled in software programming can use HDL tools to describe the behavior, function, structure, data flow, signal connection relationships, 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 professionals from different backgrounds. This allows hardware-background designers to use the schematic input method they are accustomed to, while software-background designers can use hardware description language input methods. Since inputting with HDL description is closer to system behavior description, it is easier for synthesis, temporal transfer, and modification, and it can establish design files independent of the process. Therefore, once software programming experts master HDL and some necessary hardware knowledge, they often can design better hardware circuits and systems than engineers accustomed to traditional design. Thus, engineers accustomed to traditional design should learn to use HDL for description and programming.

Why do most graduates only see embedded systems, microcontrollers, ARM, and FPGA as technology? Nowadays, almost all universities offer majors 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 those who are older should not engage in these technologies. Currently, embedded systems are treated as fast food; with the continuous influx of college students, their value is decreasing, and most of these individuals can produce results but are unable to ensure stability. In the end, they may not be able to sell their products even at low prices due to a lack of understanding of production, quality, after-sales, testing, and simulation fundamentals. After so many years of development in China, the reality is that those who make money are the ones who focus on production, quality, and sales, not the R&D technicians. Yet, technicians always elevate technology, while neglecting the critical link of turning technology into products and selling them, which leads to a lifetime of working for others. Conversely, if one focuses on other aspects, they can easily develop into a boss and hire technicians themselves. To this day, few company failures are due to technical issues; most arise from other reasons such as market, production, quality, etc. Making money is a system, and R&D is just a part of it. For most domestic companies today, the trade, industry, and technology route is much easier to succeed than the technology, industry, and trade route.

21ic quotes a standard technician’s words: Now what I teach my colleagues is mostly factory-related knowledge: look, think, do, check. Secondly, I base my reasoning and analysis on facts, encouraging them to abandon so-called high technology and utilize common sense effectively. By doing these two things, we can accomplish various tasks, not just limited to technology. At the same time, we should try to avoid areas where everyone is engaged; if everyone likes embedded systems, we should focus on supporting devices for embedded systems or devices that the embedded community cannot create. Only in this way can we achieve high profits.

03

Three Levels of Embedded System Design

21ic has learned that there are 3 different levels of embedded system design:
Level 1: Design Methods Mainly Using PCB CAD Software and ICE
This is the method that system designers in China have been using for single-chip applications up until now, which involves abstracting before specifying.
Abstract design mainly involves refining the functional requirements of the embedded application system, dividing it into several functional modules, drawing the functional block diagram of the system, and then allocating hardware and software functions to the functional modules.
Specific design includes hardware 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 use the most cost-effective general-purpose components available on the market. If necessary, tests, functional checks, and performance tests should be conducted on any uncertain parts, finding relatively optimized solutions from module to system, and drawing the circuit schematic. A key step in hardware design is using PCB CAD software to layout and route the components of the system, followed by PCB processing, assembly, and hardware debugging.
The most labor-intensive part is software design. Software design runs through the entire system design process, mainly involving task analysis, resource allocation, module division, flow design, refinement, coding, and debugging. The workload of software design is mainly concentrated on program debugging, so software debugging tools are key. The most common and effective tool is the in-circuit emulator (ICE).
  
Level 2: Design Methods Based on EDA Tool Software and EOS Development Platforms
With the development of microelectronics technology, various general-purpose programmable semi-custom logic devices have emerged. During hardware design, designers can utilize these semi-custom devices, gradually replacing several standard logic devices that originally needed to be interconnected through printed circuit board wiring with dedicated integrated circuits (ASIC). This shifts the complexity of PCB layout and wiring into the configuration complexity of semi-custom devices.
However, the design of semi-custom devices does not require designers to have knowledge and experience in semiconductor processes or integrated circuit layout and routing. As the scale of semi-custom devices increases and the number of devices that can be integrated grows, the costs of interconnecting devices on printed circuit boards, assembly, and debugging decrease significantly, not only greatly reducing the area and number of connectors on the PCB but also lowering system integration costs, increasing the flexibility of programmable applications, and more importantly, reducing system power consumption, enhancing system speed, and significantly improving system reliability and safety.
As such, hardware designers have gradually shifted from selecting and using standard general-purpose integrated circuit devices to designing and producing some dedicated integrated circuit devices, supported by various EDA tool software.
  
Semi-custom logic devices have evolved through programmable logic arrays (PLA), programmable array logic (PAL), generic array logic (GAL), complex programmable logic devices (CPLD), and field-programmable gate arrays (FPGA). The trend is toward increasing integration and speed, enhancing functionality, optimizing structure, and making usage more flexible and convenient.
Designers can use various EDA tools and standard CPLDs and FPGAs to design and create user-specific large-scale integrated circuits. They can then use a bottom-up design approach to layout and route the integrated circuits designed with semi-custom devices, programmable peripheral devices, and selected ASICs with embedded microprocessors or microcontrollers on the printed circuit board to form a system.
  
Level 3: Design Methods Based on IP Core Libraries Using Soft and Hardware Co-Design Techniques
After the 1990s, there has been a continuous shift from “integrated circuit” level design to “integrated system” level design. We have now entered the design phase of single-chip systems (SoC) and have begun to enter the practical stage. This design method does not simply integrate all the integrated circuits required by the system onto one chip; achieving a single-chip system this way is impossible to meet the high density, high speed, high performance, small size, low voltage, and low power consumption requirements demanded of single-chip systems, especially the low power consumption requirement.
Single-chip system design must start from the performance requirements of the entire system, tightly integrating the microprocessor, model algorithms, chip structure, and peripheral device circuits down to the device level, and completing the entire system’s functions on a single chip through the co-design of system software and hardware built on a new concept. Sometimes, the system may be implemented on several chips because not all systems can be realized on a single chip; it may also be that the process cost of implementing a certain single-chip system is too high, rendering it commercially unviable. At present, practical single-chip systems are still simple ones, such as smart IC cards. However, several well-known semiconductor manufacturers are intensively developing complex single-chip systems, such as single-chip PCs.
  
If a single-chip system design starts from scratch, this is neither realistic nor necessary. Besides being immature and untested, its system performance and quality cannot be guaranteed, and the design cycle may be too long, leading to a loss of commercial value.
  
To accelerate the design cycle of single-chip systems and improve system reliability, the most effective approach currently is through licensing, using 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 are the foundation for single-chip system design, and the choice of which level of IP core module 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, overall, purchasing IP core modules can not only reduce development risks but also save development costs, as the cost of purchasing IP core modules is generally lower than that of designing and verifying them independently. Of course, not all necessary 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 license for use (at least temporarily). Such IP core modules must be developed in-house.
  

These three levels each have their own application scope. From the perspective of application development, for a considerable period, the first two methods will be adopted. The third-level design method can only be used by general application personnel for simple single-chip systems. Complex single-chip systems can only be designed and realized by certain large semiconductor manufacturers, and those single-chip systems achieved through this method are only worth investing in for widely used, large-scale application systems. Some application systems may not be suitable for single-chip realization due to technical issues or commercial value considerations. Once launched in product form, application personnel only need to know how to select them.

Therefore, the three levels of design methods will coexist and will not simply replace one another. Junior application designers will primarily use the first method; experienced designers will mainly use the second method; and highly specialized designers will use the third method for simple single-chip system design and applications. 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 massive project. In terms of software, embedded ARM has been introduced multiple times; specific details can be found in the article “In-depth: The Software Architecture Design of Embedded Systems!” In terms of hardware circuit design, 21ic has learned several points of attention. First, let’s understand the hardware architecture of embedded systems.
We know that the CPU is the soul of the system, and all peripheral configurations are associated with it, which also highlights a characteristic of embedded design: hardware can be trimmed. When designing embedded hardware, the following points need to be focused on.

First, Determine the Power Supply
Comprehensive Guide to Embedded System Design and Development
The power supply plays a role in embedded systems akin to air for the human body, and is even more critical: the air we breathe contains oxygen, carbon dioxide, and nitrogen in stable amounts, which is analogous to the various noise in the power supply system. We hope to obtain a pure and stable power supply that meets requirements, but due to various constraints, this remains a dream. This requires attention to 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 DC-DC is used, not only is the size larger, but the ripple is also a significant concern.
b. Current
Normal operation of embedded systems not only requires stable and sufficient power supplies but also adequate current. Therefore, when selecting power supply devices, the load must be considered, and I typically leave a 30% margin in my designs.
If it is a multilayer board, the power supply part needs to be split during layout, paying attention to the splitting paths and placing a certain amount of power supply components together. If it is a double-sided board, the wire width needs to be considered, and if the board allows, it should be widened as much as possible. Appropriate decoupling capacitors should be placed as close to the power supply pins as possible.

Second, Determine the Crystal Oscillator
Comprehensive Guide to Embedded System Design and Development
The crystal oscillator is akin to the heart of an embedded system, and its stability directly affects its operational state and communication performance. Common types include passive and active crystal oscillators. First, the oscillation frequency must be determined, followed by the type of crystal oscillator.
a. Passive Crystal Oscillator
Its matching capacitance and resistance are typically selected based on reference manuals. In microcontroller designs, 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-mounted capacitors. Although we are familiar with the matching circuits for fixed crystal oscillators, it is still essential to consult reference manuals to determine capacitor sizes and whether matching resistors are needed, among other details.
b. Active Crystal Oscillator
Active crystal oscillators provide better and more accurate clock signals, but they are more expensive compared to passive crystal oscillators, which is a cost consideration in hardware circuit design.
When designing circuit boards, it is important to keep the crystal oscillator traces as close to the chip as possible, with critical signals kept away from clock traces. If conditions allow, ground protection rings should be added. In multilayer boards, critical signals should also be kept away from crystal oscillator traces.

Third, Reserve Test IO Ports
Comprehensive Guide to Embedded System Design and Development
During the debugging phase of embedded systems, when pin resources are abundant, I typically reserve an IO port for connecting an LED or a buzzer to lay the groundwork for subsequent software development. During the operation of the embedded system, this IO interface can be appropriately controlled to determine whether the system is functioning normally.

Fourth, External Storage Devices
Comprehensive Guide to Embedded System Design and Development
If an embedded system has power supply, crystal oscillator, and CPU, then this constitutes our familiar minimum system. If the embedded system needs to run a larger operating system, not only must the CPU have an MMU, but it also needs to connect to SDRAM and NAND FLASH. If the CPU has SDRAM and NAND FLASH controllers, then hardware design does not need to consider the use of address lines too much. If there are no related controllers, then attention must be paid to the use of address lines.
This part is a key focus during layout, as it is crucial to ensure that relevant signal lines are of equal length to guarantee equal signal delays, with clock and DQS differential signal lines routed accordingly. Various wiring techniques must be used comprehensively, such as symmetrical distribution relative to the CPU, daisy chain wiring, T-shaped wiring, etc., depending on the number of memory units. Generally, the more units there are, the more complex the wiring becomes, but knowing the critical points can simplify everything.
Fifth, Functional Interfaces
Comprehensive Guide to Embedded System Design and Development
The most important aspect of an embedded system is controlling peripheral modules through various interfaces to achieve the designer’s intended objectives. Common interfaces include serial ports (which can connect to Bluetooth, Wi-Fi, and 3G modules), USB interfaces, network interfaces, JTAG interfaces, audio/video interfaces, HDMI interfaces, etc. Since these interfaces connect with external modules, ensuring good electromagnetic compatibility design is crucial. Additionally, during layout, attention should be paid to the use of differential pairs.

Sixth, Screen
Comprehensive Guide to Embedded System Design and Development
This function is listed separately because it is optional. If an embedded system is merely a connector to peripheral devices, connecting to a computer host or directly to the network, then a screen is unnecessary. However, if the product being developed is a consumer product that frequently interacts with users, it is necessary to mention it.
Capacitive screens are the preferred choice for embedded displays. During circuit design, attention should be paid to the layout of touch screen connection lines and display screen connection lines. During wiring, keep these lines as short as possible and close to the main control CPU, while ensuring that paired signal lines are routed as differential pairs and RGB control signal lines are of equal length. The spacing between various signal traces should adhere to the 3W rule to avoid mutual interference. In screen design, it is crucial to ensure power supply integrity and prevent interference to avoid screen flickering and distortion.

06

Embedded Product Development Process

Embedded products, like ordinary electronic products, require adherence to some basic processes during development, which involve 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, and the development of embedded hardware and software is not typically involved in the development process of ordinary electronic products. 21ic has learned that the R&D process for embedded products is illustrated below:
Comprehensive Guide to Embedded System Design and Development
Next, we will discuss each stage of the embedded product development process in detail.
Stage 1: Product Requirements
In this stage, we need to clarify where the product requirements come from. For a successful product, we need to meet specific demands. Only when the requirements are clear can our product development goals be defined. In the product requirements analysis stage, we can obtain product requirements through the following avenues:
1) Market analysis and research, primarily looking at 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 to obtain the most accurate product requirements from a broad customer base (pay attention to analyzing the market, product lifecycle, and ease of upgrades);
3) Profit orientation (cost budgeting);
4) If it is an outsourced 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 severely delay your project cycle, dramatically increase costs, and potentially require retesting of the entire product. The original design may no longer meet current requirements, so it is best to confirm requirements with the client beforehand and sign an agreement; otherwise, no matter how hard you work, you will end up with an unmanageable mess!
Stage 2: Product Specification
In the previous stage, we gathered all product requirements. In the product specification stage, our task is to refine all requirements into specific product specifications. For instance, for a simple USB to serial port cable, we need to determine the product specifications, including:
1) Product appearance;
2) Supported operating systems;
3) Interface types and supported standards;
And so on. It is crucial that once the product specifications are established, we must strictly adhere to them throughout the subsequent development process. Without a 200% justification, product requirements should not be changed arbitrarily. Otherwise, the product development process will 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, aesthetics and portability must also be considered to determine board size requirements and whether it should be waterproof;
3) Product cost requirements;
4) Description of product performance parameters (for example, for switches, if the speed is 100Mbps, it is suitable for home and general companies; if it is for an entire province’s switch, the design speed must be above tens of thousands of Mbps). The different product performance parameters will influence our design considerations, and thus the product specifications will naturally differ;
5) Compliance with national standards, international standards, or industry standards;
Stage 3: Overall Product Design Plan
Once the product specifications are completed, we need to understand what feasible solutions currently exist for this product and compare several solutions based on cost, performance, development cycle, development difficulty, and other aspects to ultimately select the most suitable overall product design plan.
In this stage, in addition to determining the specific implementation plan, we also need to comprehensively consider the product development cycle, the workload in person-months, the resources or external assistance needed, and the risks and countermeasures that may be encountered during development, forming a project plan that guides our entire development process.
Stage 4: Product Outline Design
The product outline design primarily involves further refining the overall design plan, specifically addressing both hardware and software aspects:
Hardware Module Outline Design
Hardware module outline design starts from the hardware perspective, confirming the overall system architecture and dividing various modules by function, determining the general implementation of each module. First, we need to select the CPU based on what peripheral functions we want and what work the product must accomplish (note: once the CPU is determined, the surrounding hardware circuits must refer to the circuit schemes provided by the CPU manufacturer). Then, based on the product’s functional requirements, we select chips, such as whether to use external AD or internal AD, what communication methods to adopt, what external interfaces to have, and, most importantly, to consider electromagnetic compatibility.
Generally, the lifespan of a CPU is 5-8 years, so when selecting, be careful not to choose a CPU that is about to be discontinued to avoid scenarios where the product has been developed for 1-2 years, and once it is ready for market, the CPU is no longer available, necessitating a complete redesign. Many companies fail due to this issue.
Software Module Outline Design
The software module outline design phase involves dividing the entire system into functional modules based on system requirements, defining the interfaces between each functional module, and outlining the main data structures within the modules.
Stage 5: Product Detailed Design
Hardware Module Detailed Design
This involves specific circuit diagrams and requirements, including the mutual design of PCB and casing dimensions. Next, we need to complete the entire hardware design based on the guidance of the hardware module detailed design document, including schematic and PCB layout.
Software Module Detailed Design
Defining the functional function interface, which completes the function, data structure, global variables, and the calling process of various functional function interfaces when completing tasks. Once the software module detailed design is completed, we enter the coding phase, completing the entire system’s software coding under the guidance of the software module detailed design.
It is essential to ensure that the detailed design document is completed before entering the actual design steps for both hardware and software to consider comprehensively from the design outset, avoid repeated modifications during the design process, and improve development efficiency. Do not rush into actual design steps without completing detailed design.
Stage 6 & 7: Product Debugging and Verification
This stage mainly involves adjusting hardware or code to fix existing issues and bugs, ensuring normal operation and striving to meet product requirements as specified.
Hardware Part:
1) Visually inspect the PCB to check for shorts, incorrect component placements, or soldering issues;
2) Test the resistance of each power supply to ground to ensure normal operation;
3) Power on and test whether the power supply is functioning properly;
4) Debug hardware modules by section, using oscilloscopes, logic analyzers, etc., as necessary.
Software Part:
Verify whether individual software functions are implemented and whether the entire product functionality is realized.
Stage 8: Testing
Functional testing (failure to pass may indicate bugs);
Stress testing (failure to pass may indicate bugs or unreasonable parameter design);
Performance testing (the product’s performance parameters should be documented for future reference by customers, 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-temperature and low-temperature tests (some products may not function properly or may stop working under extremely high or low temperatures). In some cases, electronic components may exhibit abnormal parameters under specific temperatures, leading to product malfunctions or failures. Some devices may not even power on at extremely low temperatures, while others may experience physical changes in capacitors or resistors at high temperatures, affecting product quality. This raises a topic: what is the difference between industrial-grade products and consumer-grade products? Industrial-grade products must avoid these anomalies and special issues. Some products operate in deep-sea conditions, extreme cold mountain caves, hot deserts, or on bumpy equipment like vehicles; they may even need to withstand lightning strikes. This is the distinction between industrial-grade and consumer-grade products; consumer products do not require such extensive testing.
Stage 9: Product
Having completed thorough testing and verification in the previous stage, we now arrive at the product we have successfully developed. At this stage, we can compare the actual product against the initial product specifications to determine whether the product fully meets the original specifications after a complete development process, or how many modifications were necessary along the way.
Appendix: Embedded Hardware Development Process
Previously, we detailed the R&D process for embedded products. In this section, we will specifically examine the hardware aspect of embedded product development to enhance understanding and improve development skills in a more standardized manner. The embedded hardware development process generally follows the diagram below, divided into 8 stages:
Comprehensive Guide to Embedded System Design and Development
Embedded products vary widely in hardware form, from simple 4-bit/8-bit microcontrollers to 32-bit ARM processors and other dedicated ICs. Additionally, depending on different product needs, peripheral circuits also vary. Each hardware development process must consider various factors based on actual requirements to select the most suitable solution.
Hardware Stage 1: Hardware Product Requirements
Like ordinary embedded products, this begins with Stage 1: Product Requirements.
Hardware Stage 2: Hardware Overall Design Plan
A hardware development project may have requirements arising from various aspects, such as market needs or performance improvement demands. Therefore, as a hardware designer, it is essential to proactively understand and analyze all aspects of the requirements and select the most suitable hardware plan based on the functions the system must accomplish.
In this stage, we need to analyze the feasibility of the overall system design, including the availability of major components in the plan, the investment needed for product development, the expected project development cycle, and an assessment of development risks. We should also proactively choose countermeasures for potential issues that may arise during development to ensure the smooth completion of the hardware.
Hardware Stage 3: Hardware Circuit Schematic Design
Once the system plan is determined, we can proceed with the relevant design work. The schematic design mainly involves overall system design and detailed design, resulting in detailed design documents and hardware schematics.
Schematic design and PCB design are two of the primary tasks for designers. During the schematic design process, we need to plan the internal resources of the hardware, such as system storage space, and the implementation of each peripheral circuit module. Additionally, careful consideration should be given to major peripheral circuits like power supply and reset. In high-speed designs or special application scenarios, EMC/EMI considerations are also crucial.
The power supply is fundamental to ensuring that the hardware system operates correctly. The design must analyze in detail: the power input that the system can provide; the power output required by the board; the current needed for each power supply; the efficiency of the power supply circuit; the 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 vital. It must ensure that the system does not reset abnormally under external disturbances, that it can reset promptly during system anomalies, and how to manage the reset process reasonably to guarantee the system is completely reset.
Similarly, the design of the clock circuit is also a critical 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 adopt a principle of “borrowing”! Currently, chip manufacturers often provide reference design schematics, so it is essential to leverage these resources, making some adaptations based on a thorough understanding of the reference design.
Hardware Stage 4: PCB Design
The PCB design stage involves converting the schematic design into an actual PCB layout. The mainstream PCB design software includes PADS, Cadence, and Protel.
PCB design, especially for high-speed PCBs, requires consideration of EMC/EMI, impedance control, signal quality, etc., placing high demands on PCB designers. To verify whether the designed PCB meets requirements, simulations may be necessary, and PCB layout adjustments may be made based on simulation results.
Hardware Stage 5: PCB Fabrication File Creation and PCB Prototyping
Once the PCB layout is complete, we need to generate fabrication files recognizable by the fabrication plant, commonly referred to as photoplot files, and submit them to the fabrication plant for PCB prototyping. Generally, prototypes for 1-4 layer boards can be completed within a week.
Hardware Stage 6: Hardware Product Soldering and Debugging
After receiving the PCB prototypes from the fabrication plant, we need to check whether they match our design expectations, whether there are visible shorts or broken traces, and after inspection, we need to have the previously procured components soldered onto the PCB by the manufacturer (if the circuit is not complex, components can also be soldered manually to speed up the process).
Once the PCB has been soldered, before debugging, it is crucial to check for visible shorts and soldering issues, ensuring there are no incorrect component placements or missing parts. Then, measure the resistance from each power supply to ground to check for shorts, avoiding potential damage to the board by powering it on prematurely. During debugging, maintain a calm mindset; encountering problems is entirely normal. The key is to compare and analyze to gradually eliminate potential causes until successful debugging is achieved.
During hardware debugging, common tools include multimeters, oscilloscopes, and logic analyzers, which are used to test and observe signal voltages and qualities, ensuring that signal timing meets requirements.
Hardware Stage 7: Hardware Product Testing
After successfully debugging the hardware product, we need to compare it against the product requirements specification, testing each item to confirm whether it meets the expected requirements. If it does not meet the requirements, the hardware product must be debugged and modified until it conforms to the product specifications (generally, the requirements specification document serves as the benchmark, excluding obvious errors in the requirements specification).
Hardware Stage 8: Hardware Product
The hardware we have developed successfully is complete. A complete hardware product that meets product requirements does not alone signify a successful product development process; we must also complete the project on time and with high quality to consider it a success.

-END-

| Article organized for the dissemination of related technologies, copyright belongs to the original author |

| If there is any infringement, please contact for deletion |

Comprehensive Guide to Embedded System Design and Development

融创芯城(www.digiic.com) ,专业服务小批量的采购和配单要求, 提供一站式电子元器件,PCB,PCBA购买服务; 并提供项目众包、方案共享平台、商家免费入驻、工程师交流论坛、共享电子圈、行业最前沿、人才招聘!

客服QQ:3130730239

邮箱:[email protected]

欢迎联系下单~~

扫码关注我们

Comprehensive Guide to Embedded System Design and Development
Comprehensive Guide to Embedded System Design and Development

来,试试最新的“分享”键

Leave a Comment

Your email address will not be published. Required fields are marked *