As we all know, PCB is the board without installing components, and PCBA is the board with assembled components. So after completing the production of the PCB light board, PCB component assembly, and other processes, the core hardware part of an electronic product is ready. Then how is it going to realize the function of the design? For a person who will not use it, it is simply installed component boards only. Who is responsible for activating it?
After successfully completing detection and testing of its hardware functionality, it is necessary for software engineers and the team to perform coding, program programming, and debugging and other processes. Only then is the core body of the electronic product complete, ready to be loaded with a mechanical enclosure and external components to create the finished product.
This PCBA coding program is one of the core functions of a finished product and therefore has strong confidentiality. After the software engineering team completes the program, how is it imported into the PCBA? This is done through “programming.”
What is Programming?
Programming refers to the process of “carrying” the program to the IC chip's internal storage space. It is generally divided into off-line programming and in-system programming.
Off-line programming connects the IC chip to an adapter based on its specific packaging, using the adapter to program the IC chip. The nature of the adapter is similar to a precision fixture, and different IC chip packages require different adapters. If there is an error in production testing and correction is needed, the IC chip must be removed from the adapter, and reprogrammed according to the prescribed process, which consumes a large amount of manpower and material resources, making it costly. In PCBA processing, unexpected conditions may arise, such as insufficient circuit board temperature tolerance that can cause the IC chip to deform when removed, thus increasing the risk of scrap.
In-system programming uses the IC chip's standard communication bus, such as USB, SWD, JTAG, UART, etc. The interface is generally fixed, requiring a small number of pins for programming. Because the interface communication rate is not high, standard wiring is sufficient, and does not produce high consumption. In-system programming is done by connecting the IC chip through wires to program it. If errors are detected during production testing, it is possible to immediately address and reprogram the specific PCBA without needing to remove the IC chip. This approach not only saves production costs but also increases programming efficiency.
In terms of cost and fault tolerance, in-system programming is more advantageous than off-line programming.
IC chip
How to Improve the Stability of In-system Programming?
Reduce the Communication Frequency: Communication frequency is an important parameter for information transmission. Higher frequency allows faster transmission speed, but signal attenuation increases with frequency. If instability occurs during programming and high speed is not required, reducing the communication frequency can improve stability.
Shorten the Signal Line Length: High-frequency signal transmission is greatly affected by distance. The farther the signal travels, the greater the attenuation, leading to instability. Placing the programmer interface close to the fixture signal input port can help shorten the entire signal line length.
Select Conductive Signal Lines: The integrity of signal transmission depends on the line material, length, and thickness. Choosing a thicker, more conductive line can reduce internal resistance and signal loss, such as pure copper, gold-plated, or silver-plated wire.
Add a Shielding Layer to the Signal Line: The high-frequency signals used in programming are sensitive to electromagnetic interference. Since the programming environment is typically a factory floor with high-power equipment, electromagnetic interference can be significant. Adding shielding to the signal line or using shielded cables can reduce such interference.
Add Pull-up or Pull-down Resistors on Key Signal Lines: Sometimes the programming interface itself may lack sufficient driving capacity, causing instability. Adding pull-up or pull-down resistors to the signal lines can enhance the driving ability.
Replace with a More Stable Programmer: If the programmer’s internal circuitry lacks strong anti-interference capabilities or if the interface circuit driving ability is insufficient, programming instability may occur. In this case, it is best to choose a more stable programmer.
iPCB is committed to providing every customer with excellent PCB and PCBA hardware production, solving hardware module issues before the software programming process for you.