AVR498: Sensorless control of BLDC Motors

AVR498: Sensorless control of BLDC Motors
using ATtiny261/461/861
Features
•
•
•
•
•
BLDC Motor Control in Sensorless Mode
Timer 1 Waveform Generator Use
Hardware Implementation
External speed reference
Code Example
8-bit
Microcontrollers
Application Note
References
[1] ATtiny261/461/861 datasheet.
[2] AVR496: Brushless DC Motor Control using ATtiny861.
[3] AVR430: MC300 Hardware User Guide.
[4] AVR469: MC301 Hardware User Guide.
[5] AVR172: Sensorless Communtation of Brushless DC Motor (BLDC) using
ATmega32M1 and ATAVRMC320
1 Introduction
0B
This application note describes how to implement a brushless DC motor control in
sensorless mode using the ATtiny861 AVR® microcontroller.
In this document, we will give a short description of brushless DC motor theory of
operations, we will detail how to control a brushless DC motor in sensorless mode
and we will also give a short description of the ATAVRMC301 and ATAVRMC300
boards used in this application note.
Sensorless commutation saves the cost of position sensors, wiring, and connectors
compared to BLDC motors driven in sensor mode using Hall sensors. Without Hall
sensors, the assembly of the motor is simplified. This reduces the motor and
system costs.
The high performance AVR core a long with the Timer 1 of the ATtiny861 allows
designing high speed brushless DC motor applications.
The ATtiny261/461/861 devices are all pin and source code compatible. The only
difference is memory sizes. This application note is written with ATtiny861 in mind,
but any reference to ATtiny861 in this document also applies to ATtiny261/461.
Rev. 8192A-AVR-04/09
2 Theory of operation
1B
This document does not explain the theory behind brushless DC motors in detail.
Instead, it focuses on the aspects that are important to sensorless control. For an
introduction to three-phase brushless DC motors control in Sensorless Mode, please
consult application note [5].
2.1 Block Commutation
The polarities of two coil currents with one coil left unconnected define six different
positions for the rotor. Switching the currents in a way that the currents pull the rotor
from the current position to the next position makes the rotor turning. Each position of
the rotor is associated with a configuration of coil currents by a switching sequence.
The coils are powered through fast switches (power MOSFETs...) which are
controlled by a PWM block to provide the effective voltage value.
The block commutation scheme is outlined by Figure 1. For each commutation step
there is one terminal connected to ground (ground symbol), one terminal is connected
to the power supply (circle), and one terminal is left open (terminal name U, V, W).
Permanent connection to ground and power supply drives the maximum current
through the coils of the motor and will turn it with the maximum speed that is possible
for a given motor load with a given supply voltage.
X
X
Figure 1. Commutation Sequence
step 3
step 1
step 5
step 4
step 6
step 2
+V
Coil U
-V
+V
+V
Coil V
-V
+V
Coil W
-V
011
+U
+U
co il U
010
001
W
-W
c oil W
co il W
101
-V
-
110
c oil V
V
co il V
100
Step 1
Step 5
U
c oil V
-U
co il U
-W
W
co il W
c oil W
+
+V
+V
c oil V
co il V
Step 3
c oi l U
-U
+W
+W
c oil W
c oi l W
c oi l V
Step 2
U
c oil U
V
-
-V
c oil V
Step 6
Step 4
Note: The step number are defined according to the value delivered by the Hall sensor outputs
2
AVR498
8192A-AVR-04/09
AVR498
For the block commutation, each sector of the rotor is mapped to the successive
sector concerning current switching. So, commutation via interrupts becomes simple
if each change of a Hall sensor signal forces an interrupt. Then, the actual set of Hall
sensor signals defines the commutation sector. In other words, the block
commutation can be described as a periodic sequence of 0Z11Z0 where 0 is
connection to ground, Z represents an open terminal, and 1 is connection to the
supply voltage source. This sequence is delayed by two steps for each successive
terminal. The sequence 123456 of commutation steps is for U = Z00Z11, V = 11Z00Z,
W = 0Z11Z0. For revolution into the opposite direction 654321 it is U = 11Z00Z, V =
Z00Z11, W = 0Z11Z0.
The coils of the motor can be connected in star (Y connection) or triangle (Delta
connection). Whatever the connection, the idea is to get an access to the null point to
be able to measure the BEMF. Some motors allow this access via an additional wire.
Direct access to the null point N enables direct measurements of the BEMF. The
voltage of the null point N depends on the supply voltage and on the switching PWM
scheme. If needed, the voltage of the null point N over ground can be electrically
reconstructed by hardware or, for different switching PWM schemes, it is possible to
calculate it.
2.2 BEMF vs Hall Sensors
The generally accepted definition of a BLDC motor is a permanent magnet motor with
trapezoidal back-EMF, as opposed to the sinusoidal back-EMF found in permanentmagnet synchronous motor. This application note applies to BLDC motors with
sinusoidal back-EMF.
The typical sinusoidal back-EMF waveforms and corresponding driving voltages of a
3-phase BLDC are shown in Figure 2. In every commutation step, one phase winding
is connected to positive supply voltage, one phase winding is connected to negative
supply voltage and one phase is floating. The back-EMF in the floating phase will
result in a “zero crossing” when it crosses the average of the positive and negative
supply voltage. The zero crossings are marked as ZC in Figure 2.
X
X
X
X
The zero crossing occurs right in the middle of two commutations. At constant speed,
or slowly varying speed, the time period from one commutation to zero-crossing and
the time period from zero-crossing to the next commutation are equal. This is used as
basis for this implementation of sensorless commutation control.
3
8192A-AVR-04/09
Figure 2. Comparison between Hall Sensor signals and zero crossing of BEMF
Zc
Zc
Zc
Zc
Zc
Zc
The floating phase, where the zero crossing must be detected, changes for every
commutation step. One ADC channel for each phase winding is needed to detect
zero crossings.
2.3 Ramp Up
The magnitude of the back-EMF is directly proportional to the motor speed. This
makes it extremely difficult to detect zero-crossings at low speed, since the signal to
noise ratio is very small. The sensorless commutation scheme presented in this
application note will thus not work during startup and at very low speeds. A number of
strategies for sensorless startup of brushless DC motors have been proposed over
the years. These differ in complexity and computational complexity, and there does
not seem to be one solution that fits all. Furthermore, many of these startup methods
are patented.
The method adopted in this application is described on the application note [5]. A
table of inter-commutation delays for the first few commutation is stored in flash. This
sequence is executed without attention to the back-EMF feedback. The control is then
passed over to the sensorless commutation controller. This rather simple method
works very well when the motor load is known in advance.
The inter-commutation delays are generated using the commutation timer
(Timer/counter1) in the function ‘delay_us’. See included source code documentation
for usage if needed for other startup methods.
4
AVR498
8192A-AVR-04/09
AVR498
3 ATtinyx61 microcontroller
2B
3.1 Generating PWM signals with dead-time with ATtiny261/461/861
The Timer/Counter1 (TC1) module of the ATtinyX61 family is very well suited for
driving three-phase motors. It can be run from a 64MHz PLL, and has a resolution of
10 bits. Six PWM outputs can be generated from this timer, grouped into three
complementary output pairs with configurable dead-time. The “PWM6” mode is
perfect for block commutation of brushless DC motors. For a maximum safety, a
hardware fault protection unit can disable the PWM drivers without any intervention
from the CPU.
To control a triple half-bridge driver stage, the “Phase and frequency correct PWM
mode” of TC1 is used. In this mode, three pairs of complementary PWM outputs with
hardware dead-time insertion can be generated. This is exactly what is needed to
generate three-phase sinusoidal drive waveforms with a triple half-bridge driver stage
and chosen in the PWM generation.
The operation of one of the three complementary output pairs can be seen in Figure
3. The counter counts in an up-down counting mode. The OCR1x register specifies
the current duty cycle. An intermediate waveform, labeled as OCW1x in the figure, is
generated by clearing the output on a compare match when up-counting and setting
the output on compare match when down-counting. This intermediate waveform
feeds the dead time generator, which in turn generates two outputs from this
waveform. The non-inverted output, OC1x, follows OCW1x, except it will not go high
until a specified dead-time period, DT1H, has elapsed after OCW1x goes high. The
inverted output, OC1x, follows the inverted OCW1x signal, except it will not go high
until a specified dead-time period, DT1L, has elapsed after OCW1x goes low. The
result is a pair of complementary outputs with dead-time.
X
X
To control the duty cycle of one half-bridge, only one register, OCR1x needs to be
changed. The average voltage output of the half-bridge will be proportional to its
value.
5
8192A-AVR-04/09
Figure 3. Generating PWM signals
PWM cycle
OCR1x
TOP
TCNT1
OCW1x
OC1x
DT1L
DT1H
OC1x
3.2 ADC Triggering
The Analog to Digital Converter (ADC) module of the ATtinyX61 has a resolution of
10 bits and a 0-Vcc input voltage range. The three phases U, V and W are measured
through three channels on the ADC. The voltage reference input can be selected
through the REFSx fields in the ADMUX register. This block is perfectly adapted for
motor control as the triggering source can be selected through the ADTSx fields in the
ADCSRB register: it is possible to synchronize ADC measure with PWM signals.
Indeed, Figure 4 shows that an overflow event occurs when the timer reaches zero.
This event can be used to automatically trigger an ADC sample. Unless the duty cycle
is very low, this is a point where the PWM output has been stable for a long time. This
is used to make sure that the ADC sample of the floating phase voltage occurs when
the PWM switching noise is low.
X
6
X
AVR498
8192A-AVR-04/09
AVR498
Figure 4. ADC trigger source on TC overflow
Compare
value
(OCR1x)
TCNT1
PWM output
Overflow event
Start ADC conversion (U,V,W)
3.3 PWM Base frequency
The PWM base frequency is controlled by the Timer/counter resolution and clock
frequency.
The Timer/Counter1 resolution can be controlled by setting the TOP value in OCR1C.
When operated in phase and frequency correct PWM mode, the counter counts up to
the TOP value and down to zero during each PWM cycle. In this application note, the
full 10 bit resolution of Timer/Counter1 is utilized, giving a PWM cycle period of 2046
timer clock cycles.
Timer/Counter1 is clocked from the system clock or the fast peripheral clock running
at a nominal speed of 64 or 32MHz. In this application note, a clock frequency of
64MHz has been used to ensure a PWM frequency well above the audible frequency
spectrum. The frequency of the Timer/counter1 clock will be referred to as fCLK,T/C1
in the following.
The PWM frequency as a function of Timer/Counter1 clock frequency can be
calculated from Figure 5.
X
X
Figure 5. PWM base frequency as a function of timer clock frequency
f PWM =
f CLK , TC1
2.TOP − 2
The PWM frequency with a Timer/Counter1 clock frequency of 64 MHz and 10 bit
resolution is thus 31,28kHz.
7
8192A-AVR-04/09
4 Hardware Description
3B
This application has been developed and tested with ATAVRMC300 and
ATAVRMC301 boards.
The ATAVRMC300 board is the power board which embeds the bridge while the
ATAVRMC301 is the processor board built around the ATtiny861 processor.
Refer to the ‘AVR430: MC300 Hardware User Guide’ and ‘AVR469: MC301 Hardware
User Guide’ in depth descriptions of these two boards. The schematics are also
available with these application notes.
Figure 6 shows a hardware assembly using the ATAVRMC301used with an
ATAVRMC300 board.
X
X
Figure 6. ATAVRMC301 & ATAVRMC300 connection
The power bridge (Q1 to Q6) is controlled through 6 signals UL, UH, VL, VH, WL, WH
which are modulated by the PWM signal to adjust the motor DC voltage.
The speed reference can be adjusted with a potentiometer.
Figure 7. Sensorless control setup
Motor power
stage
Voltage
Used
Speed
reference
Current
measurement
Back-EMF
signal conditioning
8
AVR498
8192A-AVR-04/09
AVR498
4.1 Voltage divider/low pass filter circuit
One circuit is used several times throughout the design: the passive voltage divider
and low pass filter (VD/LPF). The layout of this circuit is shown in Figure 8.
X
X
Figure 8. ADC voltage divider and low pass filter circuit
VIN
R1
VOUT
R2
C
The component values in this circuit depend on the desired DC gain and low pass
filter cut-off frequency. The following observations should assist the choice of
components:
•
At low frequencies, the circuit behaves as a normal voltage divider. VOUT =
(R2/(R1+R2)) x VIN. In other words, the DC gain equals that of the voltage
divider made up by R1 and R2.
•
For high frequencies, the capacitor C behaves as a short to ground, filtering
away these frequencies.
•
The cutoff frequency of the filter is given by the equation:
fc= 1/(2*PI*Req*C) : fc should be lower than PWM frequency in order to reject
commutation noise
with
Req = (R1R2)/(R1+R2)
For example:
With a PWM frequency of 10Khz:
R1 = 2.2K , R2 = 10K and C1 = 22nF, the fc = 4.01Khz < PWM frequency
9
8192A-AVR-04/09
4.2 ADC reference voltage
The zero-crossing happens when the floating phase crosses the average voltage of
the two supply rails. In this application note, it is assumed that the negative supply is
at ground level, which makes the zero-cross voltage half the motor supply voltage.
This dependence on motor supply voltage makes it impractical to use a fixed zero
cross voltage threshold. Instead, the motor supply voltage (or scaled down version) is
used as ADC reference voltage, connected to AREF input. The motor supply voltage
needs to be low pass filtered before it is fed to the ADC. The VD/LPF of Figure 8
should be used for this purpose.
X
By referring the AVR430 document, the Vmotor’ is used as a reference of ADC. The
maximum voltage reference should be on the range 0-2.56V.
In the current application, the power bridge used is powered by 12V.
So
R1 = 10k
R2 = 2.2k (To be mounted on schematic)
C = 22nF
VOUT = 0.180 .VIN or Vm’ = 0.180 .Vm
10
AVR498
8192A-AVR-04/09
X
AVR498
4.3 Back-EMF signal conditioning
6B
The three-phase voltages should be connected to the ADC through 3 VD/LPFs. The
filters should have the same DC gain as the ADC reference in order to utilize the full
ADC voltage range. The low pass filter should be designed to filter out as much high
frequency noise as possible without introducing notable delay to the back-EMF signal.
For voltage measurement, the values are:
R1 = 33k
R2 = 5.6k
C = 22nF
VOUT = 0.145 .VIN
For example, in case the U signal is measured:
U’ = 0.145.U
4.4 Speed reference
An analog signal has been used as speed reference in this application note. The
speed reference could be any signal, e.g. a temperature sensor reading. In this
application note, a simple potentiometer circuit has been used. A VD/LPF like Figure
8, using a potentiometer as R2 resistor, with motor supply voltage as input and same
voltage division as AREF ensures that the full ADC range is used.
X
X
4.5 Zero crossing threshold
7B
The ADC has a 10-bit resolution. During zero crossing detection, the threshold is
detected in the middle of the range of ADC resolution.
This value could be detected as:
Measured voltage: U’ = 0.145.U
Reference voltage: Vm’ = 0.180 .Vm
Zero crossing threshold = ((U’/ Vm’)*1024)/2 = 412
4.6 ATtiny861 connections
The connections between the AVR and the different hardware subsystems are listed
in Table 1. All signals on PORTB can be interchanged with each other. The same
goes for ADC channels.
X
X
Table 1. ATtiny861 connections
ATtiny861 pin
Connected to
Direction
AREF
Motor supply reference (Vm’)
In
PB5
WH
Out
PB4
WL
Out
PB3
VH
Out
PB2
VL
Out
11
8192A-AVR-04/09
PB1
UH
Out
PB0
UL
Out
PA1
Phase U ADC input (U’)
In
PA4
Phase V ADC input (V’)
In
PA5
Phase W ADC input (W’)
In
PA2
Speed reference
In
4.7 Peripheral usage
The following on-board peripheral units are used:
Table 2. Peripheral usage
12
Peripheral unit
Usage
Timer/counter1
PWM generation
ADC sample triggering
Timer/counter0
Commutation timing
Analog to digital converter
Zero-cross detection
Speed reference input
AVR498
8192A-AVR-04/09
AVR498
5 Software
5.1 Preamble
Html documentation is delivered with the AVR498 software package. It can be
opened thanks to the readme.html file located in the source directory.
The software implementation is divided into three main parts:
• Initialization and startup
• Sensorless commutation control
• Speed control
13
8192A-AVR-04/09
5.2 BLDC Motor Control Implementation
ADC
BLDC
Motor
Figure 9. Hardware Block Diagram
W'
2
ZCV
ZCW
Detection
Overflow
interrupt
ISRC
ADC
AREF
Vm'
ADC2
Cycle
Duty
PWM
Current Measurement
Timer 1
Zero Crossing
timer 0
WL
WH
OC1C
/OC1C
VL
VH
OC1B
/OC1B
UL
Switch
OC1A
/OC1A
UH
ZCU
Vm
Enable
0
1
W
V
U
V'
U'
The Timer 1 is used to generate PWM outputs. The ‘timer 1 compare match unit’ and
the ‘dead time generators’ provide the 6 PWM signals to drive the 6 power switches.
The ‘Overflow interrupt on Timer 1’ is used to detect zero crossing on phase U,V and
W.
14
AVR498
8192A-AVR-04/09
AVR498
The ADC measures the potentiometer to set a duty cycle and measure the current
which can be monitored by a regulation loop or sent through the TWI communication
port.
The Timer 0 is used to determine the period of thirty degrees.
5.3 Initialization and startup
The initialization and startup part initializes all peripherals and runs the motor startup
sequence in open loop. During the startup sequence, an alignement should be done
between the mechanical position of the rotor and the electrical field during a time slot.
When the ramp-up sequence is over, the application switches in sensorless
commutation control. At the same time, an external loop is entered that runs all noninterrupt based tasks. The only such task in the included example is the speed
control. Figure 10 shows the flowchart for the Initialization and startup. The block
labeled ‘Enable interrupts’ marks the point where sensorless commutation control is
handed over to the interrupt-driven commutation controller.
X
X
Figure 10. Initialization and startup
Initialization and
startup
ResetHandler
InitPorts
InitTimers
StartMotor
InitADC
Enable interrupts
Non-interrupt based tasks
5.3.1 Sensorless commutation
In order to understand how the sensorless commutation is implemented, it is useful to
take a look at the timing of the events that occur between two commutations. Figure
11 shows a close-up view of the voltage of a floating phase between two
commutations.
X
X
15
8192A-AVR-04/09
Figure 11. Close-up view of the commutation timing
Commutation
timer
Reset Timer
+
Enable
zero-cross
detection
Store zero-cross time
Reset timer
Zero-cross
timing
Reset
timer
Commutation timing
Commutation
Commutation
noise
Zero-crossing
Floating
phase
voltage
Speed and
voltage
reference
measurements
Commutation
Periodic
measurements
Current
measurements
Phase voltage and
Current measurements
Current measurements
PWM timer
overflow
ADC sample
triggered
The sensorless commutation control is implemented using several interrupts.
Interrupts are enabled and disabled during different stages of the commutation cycle.
Table 3 shows the responsibility of each interrupt. The state diagram in Figure 12
shows how the interrupts work together to perform sensorless commutation.
X
X
X
X
The infinite loop in main is running every time the state machine is in one of the states
labeled ‘Wait for interrupt’.
Table 3. Interrupt responsibility
16
Interrupt
Responsibility
Timer/counter0 (PWM timer) overflow
Zero-cross detection
Timer/counter1 (commutation timer) compare A
Commutation timing
AVR498
8192A-AVR-04/09
AVR498
Figure 12. Sensorless commutation state machine
Interrrupts
enabled
Wait for
interrupt
Commutation
timer
expired
Commutation
Reset commutation timer
Wait for
interrupt
Enable zero-cross detection
interrupt
(PWM counter overflow)
PWM timer/counter
overflow
Check for zero
crossing
Zero cross
not detected
Read current
Set current
updated flag.
Commutation timer
expired
Zero cross
detected
PWM timer/counter
overflow
Calculate next commutation instant
Wait for
interrupt
Reset commutation timer and enable
commutation interrupt
Wait for
interrupt
Read speed
Set speed reference updated flag
5.3.2 Speed and current control
With no sensors available, the speed must be calculated using information from the
commutation controller. The commutation controller stores the time between
commutation and zero crossing in a global variable that is also used to calculate the
rotational speed. At the same time a flag is set that tells the speed controller that a
new speed measurement is available. The external speed reference is also sampled
right after a zero-cross is detected, so fresh measurements of these are available at
the same time.
17
8192A-AVR-04/09
Since the speed information is only updated at every back-EMF zero crossing, the
update rate is proportional to the motor speed. This can be a problem, since the
parameters of a discrete-time controller are dependent on time step. E.g. to have a Pregulator with constant gain, the proportional gain parameter must be calculated from
the current time step. The alternative is to use a fixed value and accept that the
controller gain varies with speed.
The shunt voltage is measured once every PWM cycle, approximately every 50μs. In
addition, the external fixed voltage reference is measured once every commutation
step to compensate for varying motor supply voltage. The fixed voltage reference is
used to calculate the motor-supply derived AREF voltage. Once the AREF voltage is
known, the shunt voltage can be calculated and thus the current through the shunt.
6 ATAVRMC300 & ATAVRMC301 Configuration and Use
The power board must be supplied with a 12V, 2A, DC Power Supply.
Table 4. ATAVRMC301 Jumper Settings
Jumper
Position
Comment
J9
UH,UL,VL
Closed
J10
PA3,VM
Closed
J11
Opened
J12
Opened
J13
Opened
J15
PA1, UCond
Closed
J16
PA4, Vcond
Closed
J17
PA5,Wcond
Closed
7 Conclusion
4B
This application note provides software and hardware solution for sensorless
brushless DC motors applications. All the source code is available on the Atmel web
site.
The software library provides functions to start and control the speed of any three
phases brushless DC motors in sensorless mode.
The hardware is based on the minimal design with minimal external components
required for control sensor brushless DC motors.
The ATtiny861 CPU and memory usage are low enough to allow for more complex
applications.
18
AVR498
8192A-AVR-04/09
AVR498
8 Appendix
5B
Figure 13. 42BLS01-001 Motor Characteristics.
19
8192A-AVR-04/09
Disclaimer
Headquarters
International
Atmel Corporation
2325 Orchard Parkway
San Jose, CA 95131
USA
Tel: 1(408) 441-0311
Fax: 1(408) 487-2600
Atmel Asia
Unit 1-5 & 16, 19/F
BEA Tower, Millennium City 5
418 Kwun Tong Road
Kwun Tong, Kowloon
Hong Kong
Tel: (852) 2245-6100
Fax: (852) 2722-1369
Atmel Europe
Le Krebs
8, Rue Jean-Pierre Timbaud
BP 309
78054 Saint-Quentin-enYvelines Cedex
France
Tel: (33) 1-30-60-70-00
Fax: (33) 1-30-60-71-11
Atmel Japan
9F, Tonetsu Shinkawa Bldg.
1-24-8 Shinkawa
Chuo-ku, Tokyo 104-0033
Japan
Tel: (81) 3-3523-3551
Fax: (81) 3-3523-7581
Technical Support
[email protected]
Sales Contact
www.atmel.com/contacts
Product Contact
Web Site
http://www.atmel.com/
H
H
H
Literature Request
www.atmel.com/literature
H
H
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any
intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND
CONDITIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED
OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS,
BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the
contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any
commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in,
automotive applications. Atmel’s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.
© 2009 Atmel Corporation. All rights reserved. Atmel®, logo and combinations thereof, AVR® and others, are the registered trademarks or
trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.
8192A-AVR-04/09