-
- News
- Books
Featured Books
- smt007 Magazine
Latest Issues
Current IssueBox Build
One trend is to add box build and final assembly to your product offering. In this issue, we explore the opportunities and risks of adding system assembly to your service portfolio.
IPC APEX EXPO 2024 Pre-show
This month’s issue devotes its pages to a comprehensive preview of the IPC APEX EXPO 2024 event. Whether your role is technical or business, if you're new-to-the-industry or seasoned veteran, you'll find value throughout this program.
Boost Your Sales
Every part of your business can be evaluated as a process, including your sales funnel. Optimizing your selling process requires a coordinated effort between marketing and sales. In this issue, industry experts in marketing and sales offer their best advice on how to boost your sales efforts.
- Articles
- Columns
Search Console
- Links
- Events
||| MENU - smt007 Magazine
STEP 1: Board Design
December 31, 1969 |Estimated reading time: 6 minutes
Programmable device manufacturers often tout the ability to program a device after it has been mounted onto the board. This article highlights the seven steps to in-system programming success.
By Dave Beecher
Visit the Website of any manufacturer of programmable devices, and the ability to program the device after it has been mounted onto the circuit board is an often-touted feature. This process, called in-system programming (ISP), has been done for years. Most design engineers are familiar with the process through experience with emulation and debug tools for target devices. ISP speeds code debugging and finalizing a new product design to prepare for manufacturing. There also can be real advantages to using ISP in manufacturing. When implemented successfully, ISP can reduce the cost of device programming. The most common alternative is pre-programming devices with purchased programming equipment or by paying a distributor or programming center to pre-program the devices. The use of ISP can increase flexibility - enhancing the ability to reprogram in the line or do multi-step programming on the board without rework or scrap. ISP eliminates inventory tracking efforts related to pre-programmed devices. A board once built with ISP capability can be upgraded or serviced in the field.
When board design is complete, design engineers sometimes are faulted for throwing it over the wall into production. The design engineer, or the prototype or new product introduction (NPI) team, is in a unique position to consult with manufacturing to reap the benefits of ISP. The resulting set of decisions can affect the overall success of a new product transition into manufacturing.
How can an engineer optimize PCB design to allow ISP to occur in the manufacturing line? There are several design aspects to ease the transition.
- Identify programmable devices on the board. Not all devices on the board will be in-system programmable. Parallel devices, for example, generally are not. Make serial ISP programming capabilities a requisite for programmable devices in the design to preserve flexibility.
- Review device-programming specifications for each device to determine which pins are needed. These are published by the device manufacturer and are available for download online. The field applications engineer (FAE) who has supported your device and design questions is also a good resource.
- Route programming pins to allow pin access on the board. Be sure the design brings the needed programming pins to connectors or test points on the board. The in-circuit tester (ICT) or ISP programmer used in production will need them.
- Avoid contention. Make sure signals required for ISP are not connected to other hardware that will conflict with the programmer. Look at line loading. Some processors can drive LEDs directly, however most programmers cannot. If I/O is shared, this could be an issue. Pay attention to watchdog timers or reset generators. If a random signal from a watchdog timer or reset generator occurs, it may result in improperly programmed devices.
- Determine how programmable devices will receive power during the manufacturing process. The target board must be powered for in-system programming. Some issues to determine include:
- What voltages are required? Parts often require a different voltage range for programming than normal operating mode. If the voltage is greater for programming, care must be taken to ensure that the higher voltage will not damage other components.
- Some devices must be verified at both high and low levels to ensure the device was programmed properly. If this is true, provisions must be made to vary the voltage. Be sure to check the reset generator if one is present, as it may attempt to reset the device when performing low-voltage verification.
- If the device requires a VPP voltage, generate this voltage on the board or have an extra supply in manufacturing. Processors that require a VPP share it with a digital I/O line. Be sure other circuitry connected to the VPP can handle the higher voltage.
- Are monitors required to assure that voltage stays within device specifications? Be sure safeguards are in effect to keep these supplies in calibration.
- Understand what equipment manufacturing prefers to use for programming, and design accordingly. If the board is to be programmed in a test fixture at the time of the test, make contact to pins through the bed-of-nails fixture. Alternatively, if a rack tester and custom-test program will be run, an edge connector or cable attached to the board will be ideal.
- Think creatively about information tracking. Adding configuration-specific data late in the manufacturing line is become increasingly common. Programmable devices can be made “smart” throughout their life. Configuring a board with information about the product, such as a serial number, MAC address, or the manufacturing date can make a product more useful, easier to maintain and upgrade or provide warranty service, and gives the manufacturer the ability to collect useful information over the life of the product. Many “smart” products accomplish this tracking ability by adding a simple, inexpensive EEPROM programmed with unique data on the line or in the field.
Figure 1. A circuit well designed for the end-application still may present obstacles for ISP in manufacturing.
Figure 1 shows a typical design for a simple sump-pump controller. U1 is a general-purpose, flash-based programmable microcontroller. The pins needed for programming are PA0, PA1, and PA2 (Program CLK, Program Data In, and Program Data Out). Test points TP1-TP5 are connected to the lines used for programming, and may be useful for ICT. The design is workable for the end-application, but this circuit will not be adequate for performing ISP. There are three problem areas:
The reset line is not connected to a test point. On smaller processors, reset has a pull up/down resistor keeping the device in the non-reset state. Not having it connected in a final design is acceptable. This line, however, can be important for ISP. Many device-manufacturing algorithms rely on this pin to put the part in programming mode, or at least bring all output pins used for programming to a known state. Otherwise, code executing in the processor may contend with I/O lines shared with the attached programmer.
D1 connected to PA1 (Program Data In) presents contention. LEDs can draw considerable current in relation to most programmer-pin drivers. If the programmer connected to PA1 cannot overcome the current consumed by the LED, the data on this pin is unlikely to make it to the target device. The same can be true of the opto-isolator on PA2. However, the device may be able to drive the current to reach valid logic levels.
PA0 is problematic. It is common to use resistor capacitor (RC) circuits to protect against electrostatic discharge (ESD) on input lines that extend outside of the product enclosure. Capacitor C2 is connected to PA0 directly, which will cause contention and slow clock edges when the programmer tries to drive the line.
Three modifications were made to the same design to make it optimal for ISP in the manufacturing line (Figure 2).
Figure 2. The same circuit design has been modified to remove contentions and optimize in-system programming.
All test points were replaced with a connector. This is useful if this connector has the same footprint as an engineering tool, such as an emulator or programmer. The connector does not have to be stuffed on the board during final manufacturing. The connector often remains intact for service and upgrades.
The reset line is hooked to the connector. D1 has been moved to an I/O line not used for programming. If this is not an option, add a driver to reduce the load.
A series resistor was added in front of the capacitor. The capacitor is shielded from the programmer and does not affect its intended purpose. It would have been desirable to move the float-switch input to another I/O pin not used for programming, but the device has insufficient pins.
Conclusion
By moving one circuit to another pin on the processor, adding a single resistor, and another test point, the circuit is ready for ISP in manufacturing. When something happens, the board allows for the attachment of an emulator to debug a failed sump pump.
Designing a PCB for ISP capability takes some time upfront, but it is the ounce of prevention that will reduce board turns, speed time-to-market, and forge friendships between design engineers and manufacturing test engineers.
Dave Beecher, ISP engineering manager, Data I/O, may be contacted at (425) 867-6970; e-mail: beeched@dataio.com.