Production problems with microcontrollers

Keysight Technologies Australia Pty Ltd
Wednesday, 02 December, 2009


Microcontrollers are commonly considered by designers to be one of the easiest products to use due to their simple programming language, wide peripheral set and price/performance value. They are heavily used in products from washing machines to motor vehicles.

A microcontroller (also MCU or µC) is a small computer on a single integrated circuit, consisting of a relatively simple CPU combined with support functions such as timers, serial and analog I/O etc.

Nowadays program memory is mainly in the form of NOR Flash which is normally included on chip.

There are three main families of MCUs, 8, 16 and 32 bit. So by far the most used family is still the 8-bit one, but more and more the most powerful 16- to 32-bit MCUs are used.

As MCUs are a key component from simple and inexpensive toys to advanced motor vehicle power train controllers, the MCU market has continuously grown over the last 10 years and will continue to grow due to new developments in 32-bit architectures which are making them less expensive. Also, 8-bit devices will continue to grow (even if modestly) as their features continue to improve.

MCUs are used in all major semiconductor segments for a variety of functions including motor control, driving displays, performing calculations and other simple repeatable programs. The motor vehicle market, despite losing considerable market share from 2008, is predicted to continue to lead consumption of MCUs in 2009 with 30% of the available market.

Microcontrollers operate in a number of applications including the dashboard modules, window openers, seat and door module, sun roof, climate control and exhaust-gas recycling control. Even cheaper cars have at least 30 MCUs.

Different studies predict that shipments of MCUs will increase, reaching 14 billion of units by the end of 2010.

The packages used for MCUs vary from DIP8 to FC-CBGA with more than 1000 pins, so nothing is different from what is already available. If you’re able to solder these kinds of packages on your board, then you have almost everything to deal with MCUs.

The real problem is in programming the firmware. Without this, every MCU is just like a connector or a dummy component.

There are different methods to accomplish this job.

Diagram 1 displays the four solutions that can be implemented in production to program MCUs.

 
  Diagram 1.

The first method could be to program the device before the SMD placement. This can be done on the production floor using dedicated tools to program your device and then package it to be managed by pick and place.

The next method could be ‘masked software’ where silicon vendors offer the option to program the devices in their factory. In this case nothing needs to be done in production. However, this technique is not as flexible as the modern electronic business requires.

Nowadays a single EMS supplier can produce boards for the entire world, and the differences between a product sold in the US from one in Europe or Asia can be only the firmware. Managing parts with different firmware can increase the complexity on the production floor and dramatically reduce flexibility.

As modern MCUs have flash on board, more and more the on board programming is becoming the right choice. But where is the right place to program is the question.

The onboard programming (OBD) can be done in different areas. Generally we can have up to three different phases in which the OBP phase can be performed.

The first one is at the in-circuit test. In general the great parts of the boards produced have an in circuit test. Only for boards with limited accessibility is this not true.

During this phase, via the fixture, there will be the best scenario to get access to the MCU on board and to program. The only limitations could be the programming time and the ability of the ICT test system to handle the specific MCU.

In many cases there could also be a dedicated flashing station. This is special hardware with a special fixture and a dedicated operator that executes only the OBP phase.

The last option is to program the MCU at the functional test stage.

Each option has advantages and disadvantages.

Agilent believes that the ICT stage is the best fit for this process because at this stage the fixture is already available. The ICT is, in most of the cases, a mandatory phase. So the only limitation at this stage is to program the MCU in a time which is just a small fraction of the overall ICT test time. If this condition can be accomplished then the ICT is the best phase where the OBP can take place.

For this reason, the company has invested a lot of resources to develop a fast MCU integrated programming solution that is able to handle all the MCUs available and is able to program them in the fastest way possible.

The solution developed by the company for its ICT system i3070 is a dedicated programming pin card, able to program at least eight devices in parallel. If the devices to be programmed use a single wire programming interface (BDM,SWIM etc), the number of devices that can be programmed in parallel can grow up to 96.

This is especially useful as great numbers of products which use an MCU are produced in panels. This can be considered an ICT ‘Gang programmer’ and will not require any special hardware to be added in the fixture. This means that the fixture is just standard without extra costs related to the OBP process.

This pin card needs one empty slot in the i3070 module. The card will be powered by one external supply. A single pin card is the best fit for the greatest part of productions available. In theory a four module i3070 can hold up to 32 of this programming pin card allowing controlling 256 programmers in parallel.

The pin card can be equipped with a maximum of eight programming modules which might be used in parallel.

Each module position can be switched to a maximum of three other positions (in this case not all modules are placed).

In addition:

  • 48 external signals can be routed through the card;
  • DUT can be powered through the card with a maximum of eight sources at one time and not more then a total of 3 A. Voltage may be between 0 and 8. Each source cannot have more than 600 mA permanent power with a short time maximum of 1.5 A;
  • 24 relays are available on board which can be used inside the fixture for general purpose connections, able to switch up to 5 A at 220 V;
  • Four CAN channels;
  • Four LIN channels;
  • Two FlexRay channels;
  • The card can be controlled via RS232 or in alternative via TCP/IP;
  • Flexible ICT run time testplan software routines available to manage programming;
  • Code is 100% cross compatible - no new code is required;
  • Fixture wiring tools allow simple wire additions for integration into ICT fixture build process.

The programming modules which can be installed on the programming card are considered to be the fastest and most powerful available.

FlashProgFR is the smallest (the size of a credit card) and most advanced in-circuit programming available. Based on a 132 MHz PowerPC it has four resident MCUs, 72 M high speed multi-plane image RAM, 1 M of new Magneto RAM and storage media up to 1 TB of eMMC or SSD.

It has 12 available resource channels capable of up to 11 A peak current and 400 MHz signals with programmable output characteristics to clean signals and avoid components in the fixture.

It can program up to 4.5 GB/min (4.4 MB/s) depending on the target performances. It supports LIN, CAN and FlexRay motor vehicle protocols.

The combination between the power of this module and the i3070 short wire fixturing technology, allows the use of high speed digital signals without any problem. This is one of the key points in achieving high speed during the OBP.

Signal integrity is definitely an area that would affect most ICT platforms fixture solutions - but the use of the short wire fixture means that twisted pair wiring is not necessary. But in many cases if we want to program fast then we have to use fast clock rates.

As an example, Diagram 2 represents an SPI signal used to program a simple memory 25P64. In this case the clock used is not the highest possible speed for this kind of device, but is the best compromise to achieve the datasheet programming time, as these devices may require up to 5ms to program a single byte. The signals have been captured at the pins of the components through a standard i3070 fixture.

 
  Diagram 2: 2.5 MHz clock on SPI through i3070 short wire fixture.

Programming speed is the key factor to include the OBP at the ICT stage.

As a real-life example we can use the one related to the MCP555 programming algorithm that was introduced in 2004. At that time the solution implemented by our user was based on a dedicated programming station at the end of the line. To reach the right beat rate the programming station was programming four boards in parallel in 56 s.

Introducing the MCU programming with a single programmer directly at the ICT stage had a huge impact, saving four dedicated programming stations:


Diagram 3.

The list of devices which can be programmed is quite long and is increasing continuously as new devices are introduced.

The programming pin card and the FlashProgFR module, have also CAN, LIN and FlexRay buses available on board. This means that this solution can be used quite extensively by motor vehicles.

Following requests from different users operating in this market, the company has implemented these buses to give a chance to use them as a preliminary functional test just after the board has been programmed.

One big advantage of this solution is again the ability to work in parallel. As minimum configuration, the card holds 4 CAN buses, meaning that four tests can be performed in parallel.

The i3070 testmain includes everything needed to carry on the setup of CAN bus and to execute in parallel up to four tests. The card can then multiplex the four available CAN buses up to 20 giving enough flexibility to handle big panels.

Furthermore, the motor vehicle buses are available on the FlashProgFR modules as well and, depending on the configuration chosen, the number of CAN tests that can be performed in parallel can go up to 12 per card.

Related Articles

Unlocking next-gen chip efficiency

By studying how heat moves through ultra-thin metal layers, researchers have provided a...

Ancient, 3D paper art helps shape modern wireless tech

Researchers have used ancient 3D paper art, known as kirigami, to create tuneable radio antennas...

Hidden semiconductor activity spotted by researchers

Researchers have discovered that the material that a semiconductor chip device is built on,...


  • All content Copyright © 2024 Westwick-Farrow Pty Ltd