buck configuration high-power led driverww1.microchip.com/downloads/en/appnotes/00874a.pdf ·...

16
2003 Microchip Technology Inc. DS00874A-page 1 AN874 INTRODUCTION The circuit and firmware described in this application note demonstrate a minimal parts count driver/controller for a LumiLED™ LED. The circuit is based on a buck topology switching power supply using the on-chip comparator peripheral within the PIC12F675 microcontroller. The switching power supply design ensures efficient power transfer between the system battery and the output LED. Using the attached Flash microcontroller as a control for the driver circuit expands the capability of the circuit to include intensity control, automated intensity compensa- tion for low battery conditions, and the ability to playback preprogrammed Flash sequences. The Flash microcon- troller also allows the creation of a custom PC-based graphical user interface, using the PICkit™ Flash Starter Kit for programming the preprogrammed Flash sequences. The combination of the switching power supply design and the microcontroller results in an efficient circuit with advanced automated features while keeping the circuit simple and inexpensive. High-Power LEDs The new line of high-power LEDs from LumiLED™ represent a significant advancement in LED design. Available in 1-Watt, 3-Watt and 5-Watt power ratings, the Luxeon™ emitters are capable of delivering between 10 and 50 Lumens/Watt of light output. This level of light output is comparable to most incandescent lamps and is even comparable to halogen bulbs in single-color applications. In addition, the three power ratings are available in a variety of colors and pre-built modules for a variety of applications. In the design prototypes, the Luxeon™ Star (1-Watt) and Luxeon™ Star III (3-Watt) modules were used. Both modules operate from a 2.5V-3.5V supply, with the 1-Watt unit drawing up to 350 mA and the 3-Watt drawing up to 700 mA. While the 1-Watt unit was available at the time of this application note release (part number LXHL-MW1D), the 3-Watt units have yet to be released and no part number is currently available. For information concerning the release of the Star III device and a complete description of all other available models, colors and configurations, refer to LumiLED™'s web site at www.lumileds.com or www.luxeon.com. Voltage and Current The 1-Watt Star module requires a typical drive of 2.8V at 350 mA to produce its full output brightness. The maximum current drive for the unit is 500 mA. Exceed- ing the maximum current specification for the module even by short duration pulses may result in damage. Therefore, the drive circuitry for the module must deliver a DC or mostly DC current to the LED module to produce a full brightness output. The drive requirements for the Star III module are similar, with full brightness output at 700 mA and a maximum current drive of 1A. The circuit described in this application note delivers a mostly DC drive current with a small triangular ripple waveform superimposed at the drive level (VDRIVE) (see Figure 1). The triangular waveform is the result of the switching nature of the driver, and if kept small in relation to the DC drive current, will not exceed the instantaneous maximum specification for the LED. In fact, the example designs have been designed with a safety margin, to insure that the instantaneous current delivered to the LED is always less than the maximum rating, even when delivering the full-rated current to the device. FIGURE 1: LED CURRENT Author: Keith Curtis Microchip Technology Inc. VDRIVE LED Drive Time Current Buck Configuration High-Power LED Driver

Upload: lamnguyet

Post on 10-Mar-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

AN874

Buck Configuration High-Power LED Driver

INTRODUCTION

The circuit and firmware described in this application notedemonstrate a minimal parts count driver/controller for aLumiLED™ LED. The circuit is based on a buck topologyswitching power supply using the on-chip comparatorperipheral within the PIC12F675 microcontroller. Theswitching power supply design ensures efficient powertransfer between the system battery and the output LED.Using the attached Flash microcontroller as a control forthe driver circuit expands the capability of the circuit toinclude intensity control, automated intensity compensa-tion for low battery conditions, and the ability to playbackpreprogrammed Flash sequences. The Flash microcon-troller also allows the creation of a custom PC-basedgraphical user interface, using the PICkit™ Flash StarterKit for programming the preprogrammed Flashsequences. The combination of the switching powersupply design and the microcontroller results in anefficient circuit with advanced automated features whilekeeping the circuit simple and inexpensive.

High-Power LEDs

The new line of high-power LEDs from LumiLED™represent a significant advancement in LED design.Available in 1-Watt, 3-Watt and 5-Watt power ratings,the Luxeon™ emitters are capable of deliveringbetween 10 and 50 Lumens/Watt of light output. Thislevel of light output is comparable to most incandescentlamps and is even comparable to halogen bulbs insingle-color applications. In addition, the three powerratings are available in a variety of colors and pre-builtmodules for a variety of applications.

In the design prototypes, the Luxeon™ Star (1-Watt)and Luxeon™ Star III (3-Watt) modules were used.Both modules operate from a 2.5V-3.5V supply, withthe 1-Watt unit drawing up to 350 mA and the 3-Wattdrawing up to 700 mA. While the 1-Watt unit wasavailable at the time of this application note release(part number LXHL-MW1D), the 3-Watt units have yetto be released and no part number is currentlyavailable.

For information concerning the release of the Star IIIdevice and a complete description of all other availablemodels, colors and configurations, refer toLumiLED™'s web site at www.lumileds.com orwww.luxeon.com.

Voltage and Current

The 1-Watt Star module requires a typical drive of 2.8Vat 350 mA to produce its full output brightness. Themaximum current drive for the unit is 500 mA. Exceed-ing the maximum current specification for the moduleeven by short duration pulses may result in damage.Therefore, the drive circuitry for the module mustdeliver a DC or mostly DC current to the LED moduleto produce a full brightness output. The driverequirements for the Star III module are similar, with fullbrightness output at 700 mA and a maximum currentdrive of 1A.

The circuit described in this application note delivers amostly DC drive current with a small triangular ripplewaveform superimposed at the drive level (VDRIVE)(see Figure 1). The triangular waveform is the result ofthe switching nature of the driver, and if kept small inrelation to the DC drive current, will not exceed theinstantaneous maximum specification for the LED. Infact, the example designs have been designed with asafety margin, to insure that the instantaneous currentdelivered to the LED is always less than the maximumrating, even when delivering the full-rated current to thedevice.

FIGURE 1: LED CURRENT

Author: Keith Curtis

Microchip Technology Inc.

VDRIVE

LED Drive

Time

Current

2003 Microchip Technology Inc. DS00874A-page 1

AN874

Buck Topology Switching Power Supply

The buck topology switching power supply is anefficient voltage regulator that translates a high-sourcevoltage into a lower output voltage. It accomplishes thisby rapidly switching the input of an inductor/capacitor(LC) network between source voltage and ground, andthen back to the source voltage (see Figure 2). Whilethe PWM switch is in position 1, L1 is connected to thesource voltage, the power supply is in its chargingphase, and an increasing current flow (IL) passes fromthe source, through the inductor, to the load and COUT.While the charging current is flowing through theinductor to the load, part of its energy is stored in theinductor as a magnetic field. When the PWM switchchanges to position 2, the power supply enters itsdischarge phase and the magnetic field around theinductor collapses, continuing the current flow to theload. See the graph of the inductor current in Figure 2.When IL drops to zero, the PWM switch is switched toposition 1 and the charge/discharge cycle starts over.The result of this switching cycle is an inductor currentthat ramps up and down over the course of a cycle.

The capacitor (COUT), in the LC network, acts tosmooth IL into a DC current flow to the load. When IL isgreater than the load current (part B of the capacitorcurrent graph in Figure 2), the load current is suppliedby IL and any surplus current (IC) flows into COUT,charging the capacitor. When IL falls below the loadcurrent requirement (part A of the capacitor currentgraph), the current flow to COUT reverses and ICsupplements IL to make up the difference between ILand the required load current.

When describing the operation of the switch control ina switching power supply design, it is typically thecharge time and total switching time which arespecified. The charge time is specified as a percentageof the total switching time and is referred to as the dutycycle of the system, or D in the design equations.

EQUATION 1:

The total switching time (represented by T in theequations) can either be specified directly or by itsreciprocal, the switching frequency (FSWX).

EQUATION 2:

FIGURE 2: BUCK TOPOLOGY SWITCH

CYCLE

A feedback circuit regulates the switching in the switch-ing power supply. This circuit monitors the load voltageand compares it to a stable reference. Based on theresult of the comparison, the circuit adjusts the switch-ing duty cycle to compensate for any discrepancies.The feedback circuit cancels out any errors in the loadvoltage due to component or timing tolerance and itadjusts the duty cycle to compensate for changes in theload current. The result is a self-regulating step-downvoltage regulator that produces a stable load voltageover a variety of load currents.

DCharge Time

Charge Time Discharge Time+-----------------------------------------------------------------------------=

Fswx1

Charge Time Discharge Time+-----------------------------------------------------------------------------

1

T---= =

Note: A more in-depth explanation of switchingpower supplies can be found in thereference materials listed at the end of thisapplication note.

L1

COUT

Source

Load

PWM

InductorCurrent

Charge Discharge Charge

A B A B

A = COUT supplies current to the load.

B = The inductor supplies all of the load current and any

surplus current charges COUT.

IL IC

IC

IL

0

Voltage

1

2

Ground

+

-

CapacitorCurrent

DS00874A-page 2 2003 Microchip Technology Inc.

AN874

Driver Theory of Operation

One switching power supply design concept, notpreviously mentioned, is the idea of continuous versusdiscontinuous inductor current. In a discontinuousdesign, the current flow in the inductor drops to zero atthe end of each discharge cycle as previouslydiscussed. However, in a continuous current design,the inductor current does not drop to zero. Instead, theinductor maintains a DC current flow throughout theswitch cycle. The resulting inductor current has bothAC and DC components to its waveform. The DCcomponent equals the average current flow during thecycle and is determined by the reference voltageVDRIVE. The AC component is a triangular shapedwaveform super-imposed on the DC component and iscaused by the switching action of the driver. Theadvantage of continuous current design is that theinductor current flows to the output continuously, whichreduces the charge storing requirements on COUT.

The driver presented in this application note isdesigned to take advantage of the DC component of acontinuous inductor current design. See Figure 3 forthe block diagram of the driver. Notice that the circuit isvery similar to the buck topology switching powersupply in Figure 2. The MOSFET (Q1) and Schottkydiode (D) form the switch, the inductor is the same asthe buck topology switching power supply, and the LEDis the load connected to the output. The onlydifferences are the lack of an output capacitor (COUT),and feedback is based on the load current instead ofload voltage.

The Buck topology LED driver also has a similarcharge/discharge cycle to the buck topology switchingpower supply. The charge phase of the cycle starts byturning on MOSFET, Q1. This starts an increasingcurrent flow from the battery, through Q1, the inductor,the LED, and R8 (see Figure 3). When the currentthrough R8 generates a voltage greater than theVDRIVE reference voltage, the comparator turns Q1 off,ending the charge phase and starting the dischargephase. During the discharge phase, current flowsthrough the Diode D, the inductor L1, and R8. Theinductor current ramps down until the current flowingthrough R8 generates a voltage less than VDRIVE.When this occurs, the comparator turns Q1 back onand the next charge phase begins. The resultingcurrent flow through the LED/inductor is a DC level witha small triangular waveform, super-imposed on top,that is synchronized to the charge/discharge cycle (seeFigure 4).

Because the current through R8 generates a voltagethat toggles about the VDRIVE level, controlling VDRIVE

controls the current output to the LED, making it thecontrol input to the driver circuit.

FIGURE 3: BUCK CONFIGURATION

LED CURRENT CONTROL

FIGURE 4: INDUCTOR/LED CURRENT

FLOW

If the driver is built as described above, it will operate ata frequency determined by the switching speed of theMOSFET and the propagation delay of the comparator.Unfortunately, this will switch the MOSFET so rapidlythat the switching time of the MOSFET will be asignificant percentage of the switch time, resulting inincreased switching losses in the transistor. Therefore,an RC low-pass filter (R6 and C3) is added to thefeedback path to introduce a time delay. The resultinglow-pass filter does two things for the driver circuit:

1. It reduces the amplitude of any fast voltagetransients generated by switching Q1.

2. And, it increases the charge and dischargeperiods of the switch cycle, such that theinductor/LED current will over and undershootthe VDRIVE level.

In fact, if the time delay introduced by the R6/C3 filter issufficiently large enough, it will dominate the feedbackresponse time of the driver and determine the switchingfrequency of the driver.

D

VBATT

Comparator

VDRIVE

P ChannelMOSFET

LED

R8

Q1

L1

R6

C3

LED

Time

TimeQ1

offoff

on

AC

DC Component

Over shoot

Under shoot

on

Component

Current

2003 Microchip Technology Inc. DS00874A-page 3

AN874

Driver Component Selection

The design of the buck topology driver requires theselection of 6 components critical to the operation ofthe driver. These components are:

• MOSFET Q1

• Schottky Diode D

• Inductor L1

• Current-sensing resistor R8

• Time-delay components R6 and C3

THE MOSFET TRANSISTOR

The selection of the MOSFET transistor is determinedby 4 factors:

Current Rating

The transistor must handle the maximum current out-put of the driver. Therefore, the minimum current ratingfor the transistor (ID) is determined by the combinedpeak value of the DC and AC components of the LEDcurrent waveform.

From the LumiLED™ data sheet for the Star module,the current drive for maximum normal output is 350 mAand the absolute maximum current is 500 mA. For theStar III module, the maximum normal drive is 700 mAand the absolute maximum is 1A. Therefore, aMOSFET transistor with an ID rating of 1A or morewould handle the maximum possible charge-phasecurrent for both the Star and Star III modules.

On-resistance RDSON

The on-resistance will determine the transistor's powerdissipation during the charge phase of the cycle.Therefore, RDSON should be minimized to limit thepower dissipation of the transistor to less than 3% to5% of the total power for the driver. To drive the 1-WattStar module, a maximum drive current of 350 mA isrequired.

Therefore, the RDSON of the transistor should notdissipate more than 50 mWatts (1 Watt x 5%). Thisyields an upper limit on RDSON of 408 milli-ohms (50mWatt/(350 mA x 350 mA)). To drive the 3-Watt Star IIImodule, the maximum drive current is 700 mA,subsequently the RDSON of the transistor should notdissipate more than 150 mWatts (3 Watts x 5%). Thisyields an upper limit on RDSON of 306 milli-ohms (150mWatts/(700 mA x 700 mA)).

Total Gate Charge

The total gate charge (Qg) and the drive capability of thepin driving the gate determine the upper-frequency limitof the MOSFET switching speed. Therefore, the lowesttotal gate charge possible is preferred. The pin drivingthe gate of the MOSFET is a standard I/O pin, which cansource and sink 20 mA. The transistor switching timeshould be limited to less than 5% of the total switchperiod to keep the transistor switching efficiently. Thus,for a switching frequency of 100 kHz, Qg for theMOSFET must be less than 10 nC (nano-Culombs)(nanoamp – seconds) (20 mA x 5% x 1/(100 kHz)).

Cost

As with any design, the lowest possible cost ispreferred and a consideration in the transistor’sselection. For this design, an arbitrary cost limit of$0.75 is chosen for a 1000-piece quantity.

A transistor which meets the requirements of thedesign is the International Rectifier IRF7524D1.

ID = 1.7A

RDSON = 270 milli-ohms

Qg = 8.2 nC

Cost < $0.70 (Digi-key, 1000-count, cut reel)

THE SWITCHING DIODE D

The selection of the switching diode is determined by 3factors:

Speed

The diode should switch quickly to prevent high reversecurrents, when Q1 turns on, and the switching speed ofa diode is largely determined by the physicalconstruction of the diode. Therefore, the selection for Dshould be limited to Schottky or FRED (Fast RecoveryDiode) type diodes.

Power Dissipation

Because the diode will have to carry the inductor/LEDcurrent during the discharge phase of the switchingcycle, it should be able to dissipate the heat generatedduring conduction. The capability of the diode todissipate power should be sufficient for a 50%duty-cycle current of 1A (maximum Star III currentdrive) without additional heat sinking. Assuming aSchottky diode with a forward voltage of 0.5V, then thediode should be able to dissipate 0.25 Watt(0.5V x 50% x 1A).

DS00874A-page 4 2003 Microchip Technology Inc.

AN874

Cost

As with any design, the lowest possible cost ispreferred. Therefore, this factor should be consideredin the diode’s selection. For this design, an arbitrarycost limit of $0.30 is chosen for a 1000-piece quantity.

The diode chosen is the on-chip Schottky diode in theIRF7524D1 FETKEY transistor. The diode has aforward voltage of 0.39V, for a total power dissipation of0.195 Watt. Together with the power dissipation of theMOSFET results in a total power dissipation for thepackage of 0.327 Watt, which is well below thepackage rating of 0.800 Watt.

Power Dissipation of the diode

0.39V x 1000 mA x 1000 mA x 50% = 0.195 Watt

Power Dissipation of the MOSFET

0.27 ohms x 1000 mA x 1000 mA x 50% = 0.135 Watt

Because the diode is included in the cost of theMOSFET, the cost is $0.00.

THE INDUCTOR L1

The selection of the inductor is determined by multiplefactors.

• Switching frequency (FSWX)

• Saturation current (ISAT)

• Cost

• System battery voltage (VBATT)

• LED forward voltage (VFOR)

• Peak-to-peak amplitude of the maximum AC component of the current flow (IRP)

The first parameters to determine are:

• Inductance

• Switching frequency

• Peak-to-peak AC component (IRP)

The battery voltage for this design is VBATT = 6V.

From the LumiLED data sheet, the Star has a typicalVFOR = 2.85V and the Star III has a VFOR = 4.28V.

Recall that the maximum current for the Star module is350 mA, with an absolute maximum of 500 mA. Themaximum current for the Star III is 700 mA, with anabsolute maximum of 1000 mA. Thus, for the Starmodule, a current with a DC component of 350 mA andan IRP = 100 mA peak-to-peak will still limit themaximum instantaneous current to 400 mA (350 mA +(100 mA/2)). This gives a 100 mA safety marginbetween the maximum driver current and the 500 mAabsolute maximum rating for the LED.

For the Star III, a DC component of 700 mA and anIRP = 200 mA peak-to-peak will limit the maximuminstantaneous current to 800 mA (700 mA + (200mA/2)). This gives a 200 mA safety margin betweenthe maximum driver current and the 1000 mA absolutemaximum rating for the LED.

The switching frequency (FSWX) is determined byseveral factors, both subjective and quantitative:

• Size of the inductor

• Weight of the inductor

• Availability from a specific supplier or multiple suppliers

• Limiting ultrasonic sound emissions

• The series resonant frequency (SRF) of the available inductors

• Trade-off of inductance versus size/cost

For this design, a frequency between 50 kHz and100 kHz was chosen. The frequency range is reason-able for two manufacturers’ families of smallsurface-mount inductors and it is above the hearingrange of most animals, and is also well below the SRFrating for both families of inductors.

Given the information above, a range of inductor values(L) can be determined using Equation 3.

EQUATION 3:

To keep a common inductor selection, a value of220 uH was selected, assuming a switching frequencyof 75 kHz. For the Star III, this will result in a slightlylower IRP value than the IRP value for the Star module.

FSWX = 75 kHz

L1 = 220 µH

ISAT = 2.4A

IRP = 100 mA

The inductor is a DO5022-22P-224 from Coilcraft™, ora PM5022-221M-B from J.W. Miller.

LVBATT VFOR–

IRP FSWX 2××

-----------------------------------------=

The resulting values are shown below.

Star Star III

50 kHz 315 uH 86 uH

100 kHz 158 uH 43 uH

2003 Microchip Technology Inc. DS00874A-page 5

AN874

CURRENT SENSING RESISTOR R8

Resistor R8 is used to measure the current flowing inthe inductor/LED combination, as a result, it has twoconflicting requirements. It should be large enough togenerate a reasonable feedback voltage, but it shouldalso be small enough to limit its power dissipation.

For the Star module, a resistance of 1 ohm waschosen. At 350 mA, a 1-ohm resistor generates a350 mV signal and only dissipates 123 mWatts (11% ofthe total power). The 1-ohm resistor will also generatea 100 mV peak-to-peak voltage, corresponding to the100 mA IRP for the Star module.

For the Star III module, a resistance of 0.5 ohm waschosen. At 700 mA, a 0.5-ohm resistor generates a350 mV signal and only dissipates 123 mWatts (4% ofthe total power). The 0.5-ohm resistor will generate a100 mV peak-to-peak voltage for the 200 mA IRP of theStar III.

Both resistors should have 0.25 Watt power ratingswith carbon composition elements to limit inductiveeffects.

TIME DELAY COMPONENTS R6 AND C3

Selection of R6 and C3 is now simple, the switchingfrequency FSWX is known, so a suitable combination ofvalues can be determined from Equation 4.

EQUATION 4:

A value of 1000 pF for C3 and a value of 5.1K for R6produce a switching frequency of approximately89 kHz, which is close to the desired value of 75 kHz.Because the actual frequency is higher than 75 kHz,the resulting peak-to-peak AC current waveform (IRP)will be slightly smaller than 100 mA.

OTHER IMPORTANT COMPONENTS

Resistor R2 (see Figure 8) is important to the properoperation of the driver during power-up. It keepstransistor Q1 off until the microcontroller can configurethe on-chip comparator. Without R2, any chargepresent on the gate of Q1 could turn the transistor on,creating a high current level that could permanentlydamage both the MOSFET transistor and the LED.

Because the gate of Q1 is capacitive, Resistor R7 isneeded as a current limiter to prevent abnormally hightransient currents when the transistor is switched onand off. If the switching frequency of the driver isincreased, R7 may need to be reduced to allow fasterMOSFET switching times.

Thermal Considerations

Due to the amount of heat dissipated by the LED, it iscritical that the LED have the proper substrate forcooling the device. In the designs presented here, theStar and Star III modules were used for the mountingand cooling of the LED's individual emitters. While theemitters are available from LumiLED™, it isrecommended that prototyping be conducted with themodules due to the stringent mounting and coolingrequirements for the individual emitters (seewww.lumileds.com).

The Star and Star III modules include the LED emitterand an appropriate aluminum substrate for cooling.They are mounted to the design PCB by 4-40 screwsand a short length of hook-up wire. If the final design isintended to use the 3-Watt devices, an additionalheatsink may be required for cooling the module.Consult LumiLED™'s “Thermal Considerations”

Application Note, listed on their web site(www.lumileds.com), for guidance concerning the sizeof an appropriate heatsink or PCB substrate material.

Firmware

The microcontroller firmware is responsible for severalaspects of the system's operation.

1. Generating the VDRIVE reference voltage for thedriver circuit (see Figure 2).

2. Monitoring the battery voltage and adjusting theVDRIVE reference voltage to prevent dimmingduring low battery conditions.

3. Disabling the LED drive when the batteryvoltage falls below the minimum safe operatingvoltage for the circuit.

4. Decoding and executing the various systemcommands input from the push button.

5. Decoding and executing the user selectedpre-programmed Flash sequences.

6. Enabling and disabling the driver circuit inresponse to power on and off commands fromthe user.

The firmware is designed using a multi-tasking statemachine design methodology that allows the system toaccomplish the five separate tasks simultaneously.

Note: This equation was derived empiricallyfrom the performance of the circuit andassumes a 100 mV peak-to-peak feed-back signal.

FSWX2.2

R6 C3×

----------------------=

DS00874A-page 6 2003 Microchip Technology Inc.

AN874

MULTI-TASKING

Each task is implemented as a separate state machinewith a system of variables to provide communicationsbetween the tasks. Figure 5 shows the various taskstate machines and the main communications paths.The state machines are called from a central controlloop, which interleaves their execution, allowing eachstate machine execution time to perform its function.

KEY TASK

This task monitors the push button for the system,debouncing the switch and decoding three differentkey-press durations. These virtual key presses are theSHORT_KEY, the LONG_KEY, and the HOLD_KEY.The SHORT_KEY is entered by a push button press ofless than 1.5 seconds. The LONG_KEY is entered bya push button press of less than 3.0 seconds, butlonger than 1.5 seconds. The HOLD_KEY is entered bya push button press greater than 3.0 seconds. TheHOLD_KEY also automatically repeats every 3seconds after the initial 3-second hold.

The debounce algorithm uses a counter with hystereticopen and close limits to filter the raw input from thebutton and remove any mechanical bounce. Once thedebounced state of the push button is known, the taskthen decodes the input into the three virtual keys.Decoding of the push button input is based on theelapsed time that the push button is held. The decodingof the virtual keys is performed when the push button isreleased and the duration of the button press isdetermined. The one exception is the HOLD_KEY,which generates a virtual key press when the pushbutton has been held for the first 3 seconds. Every 3seconds after the first HOLD_KEY is decoded, anotherHOLD_KEY output is generated until the push button isreleased.

COMMAND TASK

The system has been designed to operate in fivedifferent modes. These modes determine the behaviorof the system and identify the commands available tothe user. Mode 1 is a continuous intensity mode and isanalogous to a standard incandescent flashlight.Modes 2 through 5 select and execute one of the fourpreprogrammed Flash sequences programmed intothe EEPROM.

The Command task interprets the virtual key input fromthe Key task and executes the appropriate systemcommands based on which mode is currently active.There are five possible commands:

• Increment Intensity Command

• Decrement Intensity Command

• Increment/Decrement Toggle Command

• Power Off Command

• Change Mode Command

FIGURE 5: FIRMWARE BLOCK DIAGRAM

CommandKey Task ADC Task PWM Task

AutoSeqEEPROM

Driver

Circuit

LED

Task

Task

2003 Microchip Technology Inc. DS00874A-page 7

AN874

Increment Intensity Command

The Increment Intensity command, only available inMode 1, is selected by a SHORT_KEY input when thesystem is in Mode 1 and the increment direction isselected. The SHORT_KEY input will increment thecurrent intensity by one step each key press. The rangeof intensity settings is 0 to 15, with 0 corresponding tono light output and 15 corresponding to full brightness.Once full brightness has been reached, however,additional Increment Intensity commands will beignored until the brightness setting is reduced below fullbrightness.

Decrement Intensity Command

The Decrement Intensity command, only available inMode 1, is also selected by a SHORT_KEY input whenthe system is in Mode 1. However, the decrementdirection must be selected using the Increment/Decre-ment Toggle command prior to the Decrement Intensitycommand. As with the Increment Intensity command,the decrement in intensity will occur with the decodingof each SHORT_KEY input. The range of intensity isthe same as the Increment Intensity command, and theDecrement Intensity command cannot decrement theintensity below 0.

Increment/Decrement Toggle Command

The Increment/Decrement Toggle command, onlyavailable in Mode 1, is selected by a LONG_KEY inputwhen the system is in Mode 1. The Increment/DecrementToggle command reverses the direction of anysubsequent intensity commands (increment versusdecrement). If the current direction for intensitycommands is increment, an Increment/Decrement Togglecommand will make all subsequent intensity commandsdecrement. If the current direction is decrement, theIncrement/Decrement Toggle command will toggle thedirection to increment. As there is no visible indication ofthe current direction (increment or decrement) thedirection is always reset to increment at power-up andany mode changes.

Power Off Command

The Power Off command, available in all modes, is aspecial condition of the Increment/Decrement Togglecommand. Entering two Increment/Decrement Togglecommands in series, without another command inbetween, will select the Power Off command. Onceexecuted, the driver circuit will be disabled, and themicrocontroller will be put to Sleep. To cancel a PowerOff command, the user must press the system pushbutton.

Change Mode Command

The Change Mode command, available in all modes, isselected by a HOLD_KEY input. The first ChangeMode command will turn off the LED, increment thesystem mode by 1, and display the new mode. After 3seconds, the next Change Mode command willincrement the system mode again and display the newmode. The Change Mode command will repeat thisuntil the push button is released. If a Change Modecommand is executed when the current mode is Mode5, the system will roll over to Mode 1 and continueincrementing modes until the push button is released.

At each mode change, the system will Flash the LED toindicate the current active mode. The LED will Flashonce for Mode 1, twice for Mode 2, and so on. The lastmode change prior to the release of the push button isselected and will remain active until it is changed withanother Change Mode command. The selected modeis also retained through a Power Off command, and willreset the system to the intensity or preprogrammedFlash sequence active prior to power-down, upon thenext power-up.

Note: The current intensity setting is retainedthrough power-down and any modechange. The intensity setting will not affectany preprogrammed Flash sequence, butthe intensity will be reset to the last validsetting upon return to Mode 1.

Note: Decoding is not performed on the firstpush button press used to wake thesystem. This prevents inadvertentchanges to the system intensity or modeon power-up.

DS00874A-page 8 2003 Microchip Technology Inc.

AN874

ADC TASK

This task performs three functions; it monitors thebattery voltage, compensates the VDRIVE PWM outputfor any reduction in the supply voltage, and shuts downthe system when the microcontroller supply voltagedrops below 3.5V. The Battery voltage is determined bymeasuring the voltage drop across a silicon diode withthe on-chip ADC. The voltage drop across the diode isfixed, however, the reference for the ADC is the supplyvoltage. As a result, as the supply voltage drops, thevalue measured for the voltage drop across the diodeincreases giving an inverse reading of the supplyvoltage.

The battery monitoring circuit is composed of R1, D,and the appropriate software (see Figure 6). Tomeasure the battery voltage, the ADC task drives theVDRIVE PWM output high, momentarily. While theoutput is high, diode D is forward biased and the volt-age across D is measured by the on-chip ADC. TheVDRIVE PWM output is used to bias D so that duringpower-down, the VDRIVE output can be disabled andthe current draw through the diode eliminated from thecircuit.

The resulting ADC conversion value is then used tocalculate a compensation constant. The compensationconstant scales the duty cycle value presented to thePWM task. The result is a VDRIVE PWM output from thePWM task that does not change with power supplyvoltage shifts. The ADC task performs a conversion onthe power supply 10 times a second. Each conversiongenerates a new compensation constant and thecurrent duty cycle is scaled using the compensationconstant. Changes in the intensity, either through apreprogrammed sequence or manual intensity change,can also trigger the ADC task to scale the duty cyclewith the compensation constant.

The final function of the ADC task is to determine whenthe battery voltage falls below the 3.5V minimumoperating voltage and shut down the system. To insurethat a momentary drop in voltage due to switching inthe driver circuit does not shut down the system, aminimum of 32 low battery events must be in sequenceto cause the shutdown.

FIGURE 6: BATTERY MONITORING

CIRCUIT

PWM TASK

The PWM task performs two functions for the system.It generates the VDRIVE reference voltage for the drivercircuit, and it controls the timing of the other tasks in thesystem. The VDRIVE reference voltage is generated bythe combination of software Pulse Width Modulation(PWM) routine and an external RC low-pass filter (seeFigure 6). The timing for the system is determined bythe roll over of TMR0 and a group of software timers(skip timers) which gate the execution of the other statemachines.

The following list is a time-line of the PWM task'sexecution.

1. The task begins by waiting for the TMR0interrupt flag T0IF (TMR0 rollover) and clearingit when it is set.

2. When TMR0 rolls over, the software PWMsection of the task generates the appropriatewidth output pulse.

3. The task then decrements the various task skiptimers, one for each of the other tasks in thesystem.

4. If the skip timer for a specific task decrements tozero, the skip timer is then reset to its defaultvalue and the associated task state machineenable flag is set.

5. The PWM task returns to the calling loop soother state machines can execute.

The VDRIVE signal is generated by a combination ofsoftware and hardware. Following the TMR0 roll over,the software determines whether the required dutycycle is greater or less than 50% and generates theshorter portion of the pulse. The output of the pulse isthen passed through an RC filter formed by R4, R5, andC1. The filter smooths the PWM output into a DC volt-age and attenuates the voltage to a level appropriatefor the driver. Because the start of the pulse is tied tothe TMR0 roll over, the period of the pulse is equal tothe period of TMR0. In addition, because the softwarealways generates the shorter portion of the pulse, thetime remaining for the execution of the other tasks iscertain to be at least 50% of the cycle.

The external hardware for the PWM task is composedof R4, R5, and C1, which act to smooth and attenuatethe VDRIVE signal. The attenuation of the VDRIVE signalis necessary to reduce the VDD to VSS range outputdown to the expected feedback voltage from the driver.The supply voltage to the microcontroller, typically3.5V-5.5V determines the maximum PWM outputvoltage. The maximum feedback voltage from thedriver for the Star and Star III system is 0.35V.Therefore, a variable attenuation of 15.7:1, down to10:1, is required to reduce the PWM output to thefeedback level of the driver.

VDRIVE

D

R1

GP5

(VDRIVE PWM

GP4

(ADC Input

5.6K

R5

R4

100K

10K 0.47 µFC1

Output)

AN3)

2003 Microchip Technology Inc. DS00874A-page 9

AN874

The resistor ratio of R5 to R4 generates an attenuationof 11:1, this ratio is not quite high enough for the supplyof 5.5V and it is too high for a supply voltage of 3.5V.The discrepancies in the attenuation ratios are deliber-ate. For a supply of 3.5V to 5.5V (VBATT = 4V to 6V),the 11:1 attenuation ratio leaves room for some of theattenuation to be accomplished in software by scalingthe PWM value.

The ADC task performs the scaling based on thecurrent battery voltage. By scaling the PWM value upas the battery voltage drops, the design can producenearly constant output intensity for the life of thebattery.

Because the 11:1 ratio is too high for the 3.5V supply,the software compensation of the intensity will reach itslimit at a battery voltage of 4.3V, causing the intensityto dim during the last portion of the battery life. Thedimming is an indication to the user that the batteriesare nearly exhausted.

The other function that the PWM task performs is toregulate the execution rate of the other task statemachines. It accomplishes this through a group ofsoftware timers called skip timers. The skip timers aredecremented on each pass through the PWM task.When a skip timer reaches zero, it is reset to its defaultvalue and a flag enabling the associated state machineis set.

Because the skip timers run at fixed intervals, andbecause the default value for the skip timers aremultiples of a common value, it is possible to limit thenumber of state machines that execute in a given passby offsetting the initial values at Reset. Starting eachtimer with a 1-count, 2-count, or 3-count differencefrom each other, ensures that only one of the skiptimers will reach zero on a specific pass through thePWM task. This type of priority control is referred to aspassive, due to the automatic nature of the offset.

AUTOSEQ TASK

This task is responsible for decoding and executing alluser selected preprogrammed Flash sequences (seethe next section).

Automated Flash Sequences

The system has the ability to execute up to 4 auto-mated Flash sequences stored in the on-chipEEPROM storage area. The sequences are stored aslists of 8-bit commands in the EEPROM memory andinclude commands to set intensity, delay fixed timeperiods, repeat a group of commands, jump to aspecific command in the list, and power-down thesystem. Table 1 lists the values required for configuringan automated sequence in the microcontroller’sEEPROM storage.

TABLE 1: EEPROM MEMORY MAP

The next section discusses each command in greaterdetail and outlines any limitations on the design of anautomated Flash sequence.

Note: For a passive priority system to operate,the default value for the skip timers mustbe multiples of a common value. Forexample, the default values of 25, 55, and75 are all multiples of the common value 5.

Address Value

0x00 Default Intensity

0x01 Current Mode (1 to 5)

0x02 Number of Modes (max = 5) 1 = Flashlight mode2 to 5 = sequences 1through 4

0x03 Start address of sequence 1

0x04 Start address of sequence 2

0x05 Start address of sequence 3

0x06 Start address of sequence 4

0x07 First command of sequence 1

DS00874A-page 10 2003 Microchip Technology Inc.

AN874

AUTOSEQUENCE LANGUAGE

The autosequence language is comprised of 4 basiccommands:

1. Intensity set: Sets the LED intensity to 0 of 63levels, (0 = off and 63 = full brightness).

The Intensity Set command is a 0x00 plus thedesired intensity (0x00 – 0x3F).

2. Time Delay: Delays the execution of the nextcommand for up to 6.3 seconds, in 0.1-secondincrements.

The Time Delay command is a 0x40 plus thedesired delay in 1/10th’s of a second(0x01 – 0x3F).

3. Repeat/Return: The commands create a loop inthe sequence that repeats all instructionsbetween the start (Repeat) and the end(Return). The enclosed sequence of commandscan be repeated 1 to 63 times.

The Repeat command is a 0x80 plus the desirednumber of execution cycles (0x01 – 0x3F).

The Return command is a 0x80.

4. GOTO/Shutdown: Forces the system to startexecuting commands at line numbers 1 to 63.Executing a GOTO 0 command will cause thesystem to shutdown.

The GOTO command is a 0xC0 plus the linenumber of the destination command(0x01 – 0x3F).

The Shutdown command is a 0xC0.

Any combination of the commands can be used tocreate an automated sequence (see Tables 2, 3,and 4). However, several system limitations must beobserved or the system will execute erratically.

1. No command sequence may be over 63commands in length (note the Repeat commandrequires two commands).

2. The total for all 4 sequences must be less than120 commands because of the on-chipEEPROM limitations.

3. Repeat commands can be nested no more than4 levels deep. Nesting additional Repeatcommands will result in the loss of the highestlevel command.

4. GOTO commands must jump to valid linenumbers in their own preprogrammedsequence. GOTO commands must not try tojump to another sequence.

5. It is recommended that any unused sequencesshould contain a Shutdown or GOTO command(GOTO 0) on the chance that the sequence isexecuted due to a system error.

TABLE 2: FLASH ON AND OFF AT A

RATE OF 1-FLASH/SECOND

TABLE 3: FLASH 3 TIMES AT

1-FLASH/SECOND, THEN

DELAY 2 SECONDS

TABLE 4: FLASH S-O-S 4 TIMES A

MINUTE

Line Instruction Data Opcode

1 INTENSITY 63 0x3F

2 TIME DELAY 0.5 0x45

3 INTENSITY 0 0x00

4 TIME DELAY 0.5 0x45

5 GOTO 1 0xC1

Line Instruction Data Opcode

1 REPEAT 3 0x83

2 INTENSITY 63 0x3F

3 TIME DELAY 0.5 0x45

4 INTENSITY 0 0x00

5 TIME DELAY 0.5 0x45

6 RETURN — 0x80

7 TIME DELAY 2.0 0x54

8 GOTO 1 0xC1

Line Instruction Data Opcode

1 REPEAT 3 0x83

2 INTENSITY 63 0x3F

3 TIME DELAY 0.5 0x45

4 INTENSITY 0 0x00

5 TIME DELAY 0.5 0x45

6 RETURN — 0x80

7 TIME DELAY 0.3 0x43

8 REPEAT 3 0x83

9 INTENSITY 63 0x3F

10 TIME DELAY 1.5 0x4F

11 INTENSITY 0 0x00

12 TIME DELAY 0.5 0x45

13 RETURN — 0x80

14 TIME DELAY 0.3 0x43

15 REPEAT 3 0x83

16 INTENSITY 63 0x3F

17 TIME DELAY 0.5 0x45

18 INTENSITY 0 0x00

19 TIME DELAY 0.5 0x45

20 RETURN — 0x80

21 TIME DELAY 2.0 0x54

22 GOTO 1 0xC1

2003 Microchip Technology Inc. DS00874A-page 11

AN874

Programming the System

Because of the very limited user interface for thesystem, a PC based Graphical User Interface, or GUI,has been developed to aid in the programming of thepreprogrammed Flash sequences. The GUI operateswith the Microchip PICkit™ 1 Flash Starter Kit toprogram the EEPROM within the microcontroller in thesystem.

To program a new Flash sequence:

1. Load the GUI interface program on a PC withWindows 98SE or latter loaded.

2. Connect the PICkit programmer to the PC usinga USB cable.

3. Create the desired Flash sequence using theinterface buttons and windows.

4. Remove jumper 1 from the demo board.

5. Insert the board into the 14-pin header on theright side of the PICkit programmer.

6. Program the board using the simboost.asmsource file.

7. Remove the board and replace jumper 1.

8. Power-up the system.

Memory Usage

The total amount of memory used by the project’sfirmware is 800 words (1400 bytes) of program memoryand 48 bytes of RAM. The amount of EEPROMrequired depends of the number and size ofpreprogrammed Flash sequences included in thefirmware, minimum usage is 10 bytes.

Power Usage

In Sleep mode (Flashlight off), the microcontrollercurrent draws less than 5 µA. If 4 alkaline AAAbatteries are used, this means the shelf life of the circuitis equal to the shelf life of the batteries. Operating at fullintensity, the life of 4 AAA batteries is 6-1/2 hours.

Efficiency

In operation at 0% light output, the circuit draws lessthan 800 µA. At full intensity, the circuit draws anaverage current of 190 mA, with a DC LED current of285 mA and a forward average voltage of 3.3V. Thisresults in a driver efficiency of 82%.

EQUATION 5:

CONCLUSION

The system described in this application note shows aminimal part count control for a LumiLED™ high-powerLED driver based upon a simple buck regulatortopology. Using the on-chip comparator in themicrocontroller decreases cost and adds the ability toimplement custom features.

REFERENCES

[1] LumiLED™'s Star Module data sheet DS23,http://www.lumileds.com/products

[2] LumiLED™’s “Thermal Considerations” Applica-tion Brief AB05, http://www.lumileds.com/products

[3] J.Neil Ross, “The Essence of Power Electronics”,ISBN 0-13-525643-7, Pearson PTP, 1st edition,January 1997

[4] Ron Lenk, “Practical Design of Power Supplies”,ISBN 0-07-134324-5, McGraw-Hill Professional,July 31, 1998

[5] Abraham I. Pressman, “Switching Power Supply

Design”, ISBN 0-07-052236-7, McGraw-HillProfessional, 2nd edition, November 1, 1997

Note: Creating a preprogrammed Flashsequence with the GUI is reasonablysimple. However, a description of the GUIprogram's purpose is beyond the scope ofthis application note. Individuals inter-ested in learning more should down loadthe GUI program and review the user'smanual for a description of operation.

Efficiency285 mA 3.3V×

190 mA 6V×

-----------------------------------= = 82%

DS00874A-page 12 2003 Microchip Technology Inc.

AN874

FIGURE 7: BUCK LED DRIVER BOARD LAYOUT

2003 Microchip Technology Inc. DS00874A-page 13

AN874

FIGURE 8: BUCK LED DRIVER SCHEMATIC

DS00874A-page 14 2003 Microchip Technology Inc.

Note the following details of the code protection feature on Microchip devices:

• Microchip products meet the specification contained in their particular Microchip Data Sheet.

• Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the

intended manner and under normal conditions.

• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our

knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip's Data

Sheets. Most likely, the person doing so is engaged in theft of intellectual property.

• Microchip is willing to work with the customer who is concerned about the integrity of their code.

• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not

mean that we are guaranteeing the product as “unbreakable.”

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our

products. Attempts to break microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts

allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.

Information contained in this publication regarding device

applications and the like is intended through suggestion only

and may be superseded by updates. It is your responsibility to

ensure that your application meets with your specifications.

No representation or warranty is given and no liability is

assumed by Microchip Technology Incorporated with respect

to the accuracy or use of such information, or infringement of

patents or other intellectual property rights arising from such

use or otherwise. Use of Microchip’s products as critical com-

ponents in life support systems is not authorized except with

express written approval by Microchip. No licenses are con-

veyed, implicitly or otherwise, under any intellectual property

rights.

2003 Microchip Technology Inc.

Trademarks

The Microchip name and logo, the Microchip logo, Accuron,

dsPIC, KEELOQ, MPLAB, PIC, PICmicro, PICSTART,

PRO MATE and PowerSmart are registered trademarks of

Microchip Technology Incorporated in the U.S.A. and other

countries.

AmpLab, FilterLab, microID, MXDEV, MXLAB, PICMASTER,

SEEVAL and The Embedded Control Solutions Company are

registered trademarks of Microchip Technology Incorporated

in the U.S.A.

Application Maestro, dsPICDEM, dsPICDEM.net, ECAN,

ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,

In-Circuit Serial Programming, ICSP, ICEPIC, microPort,

Migratable Memory, MPASM, MPLIB, MPLINK, MPSIM,

PICkit, PICDEM, PICDEM.net, PowerCal, PowerInfo,

PowerMate, PowerTool, rfLAB, rfPIC, Select Mode,

SmartSensor, SmartShunt, SmartTel and Total Endurance are

trademarks of Microchip Technology Incorporated in the

U.S.A. and other countries.

Serialized Quick Turn Programming (SQTP) is a service mark

of Microchip Technology Incorporated in the U.S.A.

All other trademarks mentioned herein are property of their

respective companies.

© 2003, Microchip Technology Incorporated, Printed in the

U.S.A., All Rights Reserved.

Printed on recycled paper.

DS00874A-page 15

Microchip received QS-9000 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona in July 1999 and Mountain View, California in March 2002. The Company’s quality system processes and procedures are QS-9000 compliant for its PICmicro® 8-bit MCUs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, non-volatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001 certified.

DS00874A-page 16 2003 Microchip Technology Inc.

AMERICAS

Corporate Office2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-792-7200 Fax: 480-792-7277Technical Support: 480-792-7627Web Address: http://www.microchip.com

Atlanta3780 Mansell Road, Suite 130Alpharetta, GA 30022Tel: 770-640-0034 Fax: 770-640-0307

Boston2 Lan Drive, Suite 120Westford, MA 01886Tel: 978-692-3848 Fax: 978-692-3821

Chicago333 Pierce Road, Suite 180Itasca, IL 60143Tel: 630-285-0071 Fax: 630-285-0075

Dallas4570 Westgrove Drive, Suite 160Addison, TX 75001Tel: 972-818-7423 Fax: 972-818-2924

DetroitTri-Atria Office Building 32255 Northwestern Highway, Suite 190Farmington Hills, MI 48334Tel: 248-538-2250Fax: 248-538-2260

Kokomo2767 S. Albright Road Kokomo, IN 46902Tel: 765-864-8360Fax: 765-864-8387

Los Angeles18201 Von Karman, Suite 1090Irvine, CA 92612Tel: 949-263-1888 Fax: 949-263-1338

Phoenix2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-792-7966 Fax: 480-792-4338

San Jose2107 North First Street, Suite 590San Jose, CA 95131Tel: 408-436-7950 Fax: 408-436-7955

Toronto6285 Northam Drive, Suite 108Mississauga, Ontario L4V 1X5, CanadaTel: 905-673-0699 Fax: 905-673-6509

ASIA/PACIFIC

AustraliaSuite 22, 41 Rawson StreetEpping 2121, NSWAustraliaTel: 61-2-9868-6733 Fax: 61-2-9868-6755

China - BeijingUnit 915Bei Hai Wan Tai Bldg.No. 6 Chaoyangmen Beidajie Beijing, 100027, No. ChinaTel: 86-10-85282100 Fax: 86-10-85282104

China - ChengduRm. 2401-2402, 24th Floor, Ming Xing Financial TowerNo. 88 TIDU StreetChengdu 610016, ChinaTel: 86-28-86766200 Fax: 86-28-86766599

China - FuzhouUnit 28F, World Trade PlazaNo. 71 Wusi RoadFuzhou 350001, ChinaTel: 86-591-7503506 Fax: 86-591-7503521

China - Hong Kong SARUnit 901-6, Tower 2, Metroplaza223 Hing Fong RoadKwai Fong, N.T., Hong KongTel: 852-2401-1200 Fax: 852-2401-3431

China - ShanghaiRoom 701, Bldg. BFar East International PlazaNo. 317 Xian Xia RoadShanghai, 200051Tel: 86-21-6275-5700 Fax: 86-21-6275-5060

China - ShenzhenRm. 1812, 18/F, Building A, United PlazaNo. 5022 Binhe Road, Futian DistrictShenzhen 518033, ChinaTel: 86-755-82901380 Fax: 86-755-8295-1393

China - ShundeRoom 401, Hongjian BuildingNo. 2 Fengxiangnan Road, Ronggui TownShunde City, Guangdong 528303, ChinaTel: 86-765-8395507 Fax: 86-765-8395571

China - QingdaoRm. B505A, Fullhope Plaza,No. 12 Hong Kong Central Rd.Qingdao 266071, ChinaTel: 86-532-5027355 Fax: 86-532-5027205

IndiaDivyasree Chambers1 Floor, Wing A (A3/A4)No. 11, O’Shaugnessey RoadBangalore, 560 025, IndiaTel: 91-80-2290061 Fax: 91-80-2290062

JapanBenex S-1 6F3-18-20, ShinyokohamaKohoku-Ku, Yokohama-shiKanagawa, 222-0033, JapanTel: 81-45-471- 6166 Fax: 81-45-471-6122

Korea168-1, Youngbo Bldg. 3 FloorSamsung-Dong, Kangnam-KuSeoul, Korea 135-882Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934

Singapore200 Middle Road#07-02 Prime CentreSingapore, 188980Tel: 65-6334-8870 Fax: 65-6334-8850

TaiwanKaohsiung Branch30F - 1 No. 8Min Chuan 2nd RoadKaohsiung 806, TaiwanTel: 886-7-536-4818Fax: 886-7-536-4803

TaiwanTaiwan Branch11F-3, No. 207Tung Hua North RoadTaipei, 105, TaiwanTel: 886-2-2717-7175 Fax: 886-2-2545-0139

EUROPEAustriaDurisolstrasse 2A-4600 WelsAustriaTel: 43-7242-2244-399Fax: 43-7242-2244-393

DenmarkRegus Business CentreLautrup hoj 1-3Ballerup DK-2750 DenmarkTel: 45-4420-9895 Fax: 45-4420-9910

FranceParc d’Activite du Moulin de Massy43 Rue du Saule TrapuBatiment A - ler Etage91300 Massy, FranceTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79

GermanySteinheilstrasse 10D-85737 Ismaning, GermanyTel: 49-89-627-144-0 Fax: 49-89-627-144-44

ItalyVia Quasimodo, 1220025 Legnano (MI)Milan, Italy Tel: 39-0331-742611 Fax: 39-0331-466781

NetherlandsP. A. De Biesbosch 14NL-5152 SC Drunen, NetherlandsTel: 31-416-690399 Fax: 31-416-690340

United Kingdom505 Eskdale RoadWinnersh TriangleWokingham Berkshire, England RG41 5TUTel: 44-118-921-5869Fax: 44-118-921-5820

07/28/03

WORLDWIDE SALES AND SERVICE