One area that is receiving close attention is the programming of microprocessors and memories on PCBs. This is a time-consuming task, as the lines must wait for each programming cycle to finish before moving onto the next one.
A board containing a Freescale MC68HC908LJ24 processor typically takes 14 seconds to programme using a normal in-system programmer (ISP). That is a long time on a production line, and time equals cost.
This problem has been growing over the past decade, particularly in the automotive sector, where more electronics are being used in not just high-end cars, but in the low-end mass market where price is a critical factor. And with an increased focus on using electronics for car safety and infotainment features, the situation is likely to become worse rather than better.
The norm for a production line is to use an in-system programmer, but in the past many of these have been inflexible in their approach by being linked to only a small number of manufacturers of electronics components. They are also typically limited in that they only programme one board at a time.
There is thus a need to carry out parallel programming. This is becoming common in not only production environments, but also in home appliances and other major industrial manufacturing. Many of these still programme a board at a time but if they use panels of boards, the timesavings can be dramatic. Even a small four-board ISP quarters the programming time and reduces the positioning and connection time on top of that. This positioning and connection time is cut even further for eight and 16 panel programmers.
In fact, the latest in-system programmers are not only faster when it comes to programming (and can programme multiple boards in one go), but can also handle devices from multiple manufacturers.
Put into a real application, the financial savings can be large. As mentioned previously, the board containing a Freescale MC68HC908LJ24 processor typically takes 14 seconds to programme, but this is cut to 3.6 seconds using, for example, a FlashRunner ISP from SMH Technologies.
If there are 12,000 boards that need programming at a production cost of about $60 per hour, this can result in a saving of over $2000 for the whole batch.
The speed for each cycle depends on the complexity of the programming protocols. The machine can adjust itself to any programming protocol supported by the device. Typically a cycle can be anything from three seconds for a simple device up to a minute for more complex parts. However, the FlashRunner ISP can achieve the highest speed that can be handled by the device itself and thus there is no other programmer that can do this task more quickly.
For example, it is 7.4 times faster in an erase, programme and verify cycle on a Freescale MCF5211 processor than other products. Likewise, a programme and verify test on an ST Microelectronics ST72F324J6 is 6.1 times faster. On top of that, the recently introduced Quattro model has the ability to programme four boards simultaneously. As some production lines use panels containing eight or 16 boards, Quattro ISPs can handle these in one batch, programming them in blocks of four.
The model that can handle eight boards will run though two programming cycles of four boards each. Likewise, the model that can hold panels of sixteen boards will run through four cycles to complete the job.
Because of the increased use of electronics in automotive and other industries, manufacturers are finding themselves having to source microprocessors from more than one chipmaker.
The growing complexity as well can mean that even a single board can have microprocessors and microcontrollers from multiple manufacturers. This can create a serious bottleneck on a production line, as many in-system programmers are limited in how many different types of microprocessors they can handle.
As such, often a board will have to go through two, three or more different ISPs for all the chips to be properly initialised. Recent developments though have seen ISPs that can handle products from a growing number of chip companies. The FlashRunner programmers, for example, work with all the major silicon producers. About 3000 different microprocessors and other devices are supported. There could even be four microprocessors on a board all from different manufacturers.
FlashRunner is one of the few that can programme all four in one run, although this would be done sequentially because of differences in voltage and other characteristics of each MCU. If the devices are the same, then they are programmed simultaneously.
Making the connection
Most production lines use some form of automatic test equipment (ATE) and a good in-system programmer needs to be able to be controlled by this to streamline the production process. By allowing a programmer to be controlled by general-purpose digital connections from the ATE, the manufacturers can configure the production line so that only one system (the ATE itself) handles the testing and programming. This reduces time by eliminating extra steps, and therefore reduces the chance of errors in manufacturing.
FlashRunner models usually come with both an RS232 and/or Ethernet connection. This allows the programmer to be controlled by a host PC that contains testing software and the specifications for setting up the production line and programmer for a specific job. However, FlashRunner also has a proprietary Control Connector that will link with any system that can write across digital lines. This includes the ATE that controls the programmer through these lines. These lines can be used to start an operation or monitor the status of the programmer, even checking if the last operation passed or failed.
The user can also run script files comprising sequences of commands for programming specific parts. These scripts can be entered through any of the connection methods. With Ethernet and RS232 connections, eventual error codes can also be fed back if failures should happen. And they can be used to transfer files from the PC to the programmer.
The RS232 and Ethernet connection channels feature opto-isolation, so if the ground reference of the system is different to that of the host PC, they can be safely connected without causing any damage. This allows connection to the unit under test (UUT) without damage.
Another challenge that arises from using microprocessors from multiple manufacturers is storing all the files used for programming a specific microprocessor or other device.
A programmer with an SD card connector can solve this problem. An SD card can store up to 2Gbyte and this can contain the licence file for the parts and the serial number of the instrument. An algorithm file would contain all of the specific programming instructions. The card can also store the script file and a log file for monitoring and recording what has been happening during the programming phase. This logging capability may be particularly useful for resolving eventual trouble-shooting issues or to store and track some parameters during the programming.
The FlashRunner programmer communicates with the UUT through a combination of six digital IO lines; two IO lines can be digital or analogue, two programmable output voltage lines can be used to power the UUT, and there is a programmable clock output line. Some models have additional lines for controlling the voltage levels.
Protection of IP is an increasing concern in manufacturing. Protecting IP ensures trade secrets are secured and makes it very difficult for counterfeiters to copy the product. This is becoming increasingly prevalent in some regions of the world and IP protection has become one of the main challenges in many areas of manufacturing. By providing security, a programmer can stop users from accessing or reading the content of the UUT’s firmware during programming unless they have administrators’ rights; thus protecting the IP.
Evolution of FlashRunner
The FlashRunner Quattro is the fourth generation of FlashRunner in-system programmer from SMH, and it shares many features in common with the older members of the family.
Automotive is a major market and a good illustrator of the benefits of using ISPs. For example, the parking sensor of a car comprises of a small board containing a microprocessor. Previously, they used microprocessors pre-programmed with the firmware to control the board. These would then be subject to a lot of manual handling, bringing with it electrostatic discharge problems that could corrupt the data. Also, they were not very flexible for changes to the programming. With SMH’s range of ISPs and test systems, the boards receive a functional test and at the same time the microprocessor is programmed while on the board. Memories too can be programmed on the board in the production line.
The three Quattro models are the FR04-A04, FR04-A08 and FR04-A16, capable of handling four, eight and sixteen boards at once, respectively. Software libraries are available for calling up specific test functions. The programmers are compatible with ATE systems from the likes of Agilent and Teradyne. Each FlashRunner Quattro consists of one carrier board, four programming engines, four de-multiplexing modules, two ISP connectors, Ethernet and RS232 connectivity, and control lines. It is 55mm high on a footprint of 155mm x 165mm.
Manufacturers in automotive and other industries are facing intense competition and pressure to reduce prices. At the same time, designers are using a wider range of programmable products. Additionally, manufacturers have to meet an increasing range of demands from quality to securing IP.
In-system programming is needed to keep many production lines running. Add to this the type of parallel programming mentioned, and the ISP becomes an essential tool in a modern manufacturing line. In fact, the right programmer can significantly increase a manufacturer’s competitiveness.
The image shows an eight panel board: FlashRunner Quattro FR04A08 eight ISP channel system (four parallel channels, each demultiplexed to two channels), panel of eight boards with same device on each. This provides for multiple programming of up to eight devices in two programming cycles.
Single board with multiple devices: FlashRunner Quattro FR04A04 with four ISP channels (four true parallel channels), no ISP demultiplexing. Multiple devices may be programmed, but it is recommended that they are programmed in sequence due to differences in the voltage of each device and other factors.