APPLICATION NOTE User Guide for Atmel ATA6870 and Atmel ATmega32HVB Evaluation Kit Hardware ATA6870-DK10 Features ● Evaluation of Atmel® ATA6870 ● Monitoring of 12 battery cells ● Monitoring: ● Overvoltage (every cell) ● Undervoltage (every cell) ● Overheating ● Overcurrent ● Open clamp detection ● 12-bit battery cell measurement ● 12-bit temperature measurement ● Controlling of charge/discharge FETs ● Status LEDs for easy evaluation ● Charge balancing ● Coulomb counting for SOC determination Figure 1. Atmel ATA6870-DK10 9228C-AUTO-02/15 1. Introduction The Atmel® ATA6870-DK10 is a demonstration board for the Atmel ATA6870, which offers an easy way to start evaluation of battery applications using the Atmel ATmega32HVB in combination with the Atmel ATA6870. The included software demonstrates implementation of a 12 Cell Battery Management System. The supplied code serves as an example of how to use the Atmel ATMega32HVB and Atmel ATA6870 together. The example is not a complete application intended for use with smart batteries, and it is best to use the devices in a slightly different way in a smart battery application. 2. Safety Precautions When Using Li-ion Batteries Please observe the safety guidelines supplied with the batteries. If improperly used or defective, li-ion and polymer batteries and packs may explode and cause a fire. 3. Demonstration Board The Atmel ATA6870-DK10 was developed to allow easy evaluation of control software for a microcontroller which controls multiple Atmel ATA6870s. The sample code supplied demonstrates a simple permanent running measurement of voltages and temperatures. Figure 3-1. Board Concept Cell 12 Cell 11 ATA6870 ATA6870 Cell 02 Cell 01 Charge/ Discharge Control Unit Monitoring (V,T) Coulomb counting ATmega32HVB 2 ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 3.1 System Start Follow these steps to launch the system. 3.1.1 Installing the Hardware ● Connect the load/charger to be powered between pack+ and pack- on J1 ● ● Connect the battery cell stack to the screw connectors on the demonstration board ● ● 3.1.2 For demonstration purposes it is possible to use a resistor to simulate a load Led 1 indicates the enabled status of the demonstration board (controlled by microcontroller SW) In case of emulating cells such as a voltage divider, apply sufficient voltage (see Section 3.3 “Powering the Board” on page 5) Number of Cells It is possible to run the board with a reduced number of cells. The minimum voltage for each IC is 6.9V. Cell 1 and cell 6 (MBAT) have to be connected. The missing cells should be connected to the upper cell potential of the module. For further information refer to the Atmel ATA6870 datasheet Section 7.3: Reduced Number of Battery Cells Configuration. For the voltage range see Section 3.3 “Powering the Board” on page 5. If fewer than 6 cells are used per IC, the config.h file should be adjusted (CELLSIC# under General Setting). See Section 4.1 “Supplied Code” on page 7 for further information on how to configure the supplied software correctly. 3.2 The Demonstration Board Figure 3-2. Evaluation Board with 2 Stacked Atmel ATA6870 and Atmel ATMega32HVB ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 3 3.2.1 On-board Features The demonstration board includes the following items: ● 2 Atmel® ATA6870 QFN 7mm 7mm ● ● ● Atmel ATMega32HVB 12 external N-channel MOSFETs for balancing of battery cells Connectors ● ISP connector for programming/debugging the Atmel ATMega32HVB ● Screw connectors for connecting up to 12 battery cells Table 3-1. Connector Overview J7 Function J8 Function 1 CELL- 1 VDDHVM 2 PACK- 2 3 4 VFET 5 3 VCC 4 GND 5 IRQ 6 GND 6 CLK 7 OD 7 MISO 8 OC 8 MOSI 9 RESET 9 SCK 10 GND 10 CS_N J1 Connector for charger/device to be powered J2 ISP connector J3 Upper battery stack (cells 7-12) J4 Bottom battery stack (cells 1-6) J9 Jumper to enable/disable MISO line of Atmel ATA6870 J9 should never be set while the Atmel ATmega32HVB is being programmed or while it is entering debug mode. It can be mounted as soon as AVR Studio prompts for additional SPI lines to be connected in debug mode or after the device has been correctly programmed. 4 ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 Figure 3-3. Connectors 3.3 Powering the Board 3.3.1 Power Supply The board supports supply voltages from 13.8V (6.9V per Atmel ATA6870) to 60V. However, to run the board on voltages below 24V the ZDiode D3 needs to be replaced with a jumper to supply the Atmel® ATmega32HVB with sufficient voltage. If the jumper is mounted, the stack voltage should not exceed 48V! The Atmel ATmega32HVB supports operating voltage from 4V to 24V. 3.3.2 Emulating Cells Battery cells can be emulated by connecting a voltage divider to the specified clamps. Section 3.1.1 “Installing the Hardware” on page 3 describes how to connect cells. The voltage limits for this setup are the same as for real batteries. Section 3.3.1 “Power Supply” on page 5 specifies these limits. ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 5 4. Software Description: Monitoring of Up to 12 Battery Cells The supplied code is documented and easy to adjust for verifying the functions of the Atmel® ATA6870 and start BMS application development work. After the board has been connected as described above the microcontroller automatically starts a cyclic measurement of voltages, temperature, and current. LED 1 indicates these cyclic measurements. It toggles in default operation. A continuously illuminated LED1 indicates an open clamp. See Section 4.2 “Open Cell Check” on page 7 for more information about open clamp detection. LED 2 indicates that for some reason the MOSFETS have been disabled. The default software disables the FETs in case of these events: ● Overvoltage (at least 1 cell exceeds the upper default threshold of 4.2V) ● ● ● ● Undervoltage (at least 1 cell exceeds the lower default threshold of 2.5V) Overcurrent (the current through the shunt exceeds the default threshold of 80mA) Overheating (the temperature exceeds the upper threshold, default value is 60°C) Low temperature threshold (the default threshold is -20°C) LED 3 indicates whether the Atmel ATA6870s are turned on or not. An active LED indicates that the Atmel ATA6870s are enabled. Table 4-1. LED Functions LED Function LED 1 Indicates clamp is open when permanently illuminated Indicates cyclic measurements when blinking LED 2 On indicates disabled MOSFETs for one of the reasons listed above LED 3 On indicates active Atmel ATA6870 The Atmel ATmega32HVB has no clock divider to provide an external slower clock than 1/2 CPU clock. Requirement of Atmel ATA6870 is fCLK > 2 fSPI. Hence, the clock frequency of 1MHz is mandatory to provide a 500kHz clock for the ADCs of the Atmel ATA6870 and 250kHz for SPI. 6 ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 4.1 Supplied Code 4.1.1 config.h This section refers to the config.h file provided in the zip archive with this Application Note. Only values in the User Setting paragraph should be changed! ------------- GENERAL SETTING-------------------------------CELLSIC# Selecting which Cells are used Bits 0-5 -> Cells 1-6 ------------- TEMPERATURE SETTING---------------------------RES_REF# Value of the mounted reference resistor (default: 3300) T_TLS Temperature belonging to the first Value in the lookup table (index 0, default: -20) T_TLE Temperature belonging to the last value in the lookup table (default: 80) T_TLSZ Temperature step size used in the lookup table (default: 1) T_LOWERTHRESHOLD Lower temperature threshold T_UPPERTHRESHOLD Upper temperature threshold ------------- COULOMBCOUNTER SETTING------------------------SHUNT_RESISTANCE Value of the shunt resistor in mOhm RCC_CONVERSIONPERIOD The cycle times for the Regular Current Check 0x00 - 256ms (default) 0x01 - 512ms 0x02 - 1s 0x11 - 2s RCC_DIVIDEDSZ 0x01 to enable divided Voltage (Current) stepsize RCC_CHARGETHRESHOLD Threshold for charging current, exceeding the threshold will turn off the Mosfets RCC_DISCHARGETHRESHOLD Threshold for discharging current, exceeding the threshold will turn off the Mosfets Other values should not be changed in the default HW setup! 4.2 Open Cell Check The implemented function checks for open clamps by measuring the cell voltages two times. During the first check a normal measurement is completed and the values stored. During the second check the voltages are measured while the discharge function for all cells is active. If the two measurements for the same cell differ by more than 100mV it is very likely that one or more cells are not properly connected. The implemented method cannot be used to determine which cell is not properly connected. A continuously illuminated LED1 indicates an open clamp. 4.3 Voltage Measurements The standard software loop measures the voltage ADC value and the offset ADC value for every cell and checks for overvoltage and undervoltage once per cycle. Further information about the acquiring of voltages can be found in the Atmel® ATA6870 datasheet Section 7.5.1. The formula for calculating the voltage: V acq – V offset Voltage (Cell) = 4V --------------------------------- 3031 – V offset ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 7 4.4 Temperature Measurements The default software only measures channel 1 of chip 1. The temperature sensors are based on a resistor divider using a standard resistor and an NTC resistor. This resistor divider is connected to the reference of the ADC for temperature measuring. Because the ADC is sharing the same reference value, the output of temperature measurement with ADC is ratio metric. Further information is found in the Atmel ATA6870 datasheet Section 7.5.3: Temperature Channel. For this application Atmel recommends using Res_Ref1 = 3.3k and RES_NTC1 R25 = 10k, B = 3435. The software supplied for this board uses these values as default. The function uses a lookup table to determine the temperature. This table has to be edited if an NTC other than the recommended one is used. The values in the lookup table range from –20°C (index 0) to +80°C (index 100). These values can be edited via the config.h file in the User Settings section. More Information about this file can be found in Section 4.1 “Supplied Code” on page 7. The calculation of RES_NTC is carried out based on the formula provided in the Atmel ATA6870 datasheet Section 7.5.3: RES_NTC(1) 8 8 adc (out) = 2048 1 + --------------------------------------------------------------------------- ------ – ------ (RES_NTC(1) + RES_REF(1)) 15 10 When using another NTC, the LookupADC.txt has to be edited to match the NTC used. 4.5 State of Charge Measurements Highly precise SOC measurement is possible by combining the features of the Atmel ATmega32HVB and the Atmel ATA6870. The coulomb counting feature of the Atmel ATmega32HVB enables highly precise measurements of the change in the state of charge. Frequent reading of the current in a shunt is used to update the SOC frequently. The acquired cell voltages and temperatures can be used to determine the SOC without the Atmel ATmega32HVB. The easiest way is to compare the SOC measured by the added/extracted charge with the calculated SOC using the cell voltage, temperature, and the data provided by the manufacturer of the cells. Further information regarding the coulomb counting ADC as well as an implementation suitable for the Atmel ATmega16HVA is found in Application Note AVR352. 4.6 Overcurrent Protection The current through the shunt is calculated by measured voltage drop. The limit can be set via the CADRDC/CADRCC register. The step size depends on the settings of the CADCSRC register and the shunt used. For further information about limiting current see the Atmel ATmega32HVB datasheet Section 19.4: Regular Current Detection Operation. The supplied software allows the feature to be tested by adjusting the values in the config.h file. More Information about this file can be found in Section 4.1 “Supplied Code” on page 7. Values/part of the code should only be changed if you are aware of possible consequences. The default implementation continuously measures the current and generates an interrupt if the entered thresholds are exceeded. The thresholds are defined in the config.h file. The thresholds are written to the registers in the function CCinit in the Atmel ATA6870_func.c file. Refer to the features of the Atmel ATmega32HVB in the coulomb counter section to learn more about the time the controller waits for the values to be written. C Code Example CADRCC = RCC_CADRCC; while(CADCSRA & (1 << CADUB)); CADRDC = RDC_CADRDC; while(CADCSRA & (1 << CADUB)); 8 ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 // // // // Charge Threshold Wait values to be written Discharge Threshold Wait values to be written 5. Features of the Atmel ATmega32HVB Since the Atmel® ATmega32HVB is a part of the Atmel AVR® family which is dedicated to battery management there are several special features such as coulomb counting and the control of the two charge/discharge MOSFETs. 5.1 Coulomb Counter The coulomb counter ADC runs on a different clock than the CPU. This clock is slower and therefore several things have to be kept in mind before using it. Writing several registers in sequence takes a long time depending on the delays between each write cycle. A possible solution is given in the supplied software example: C Code Example void CCinit(){ CADRCC = RCC_CADRCC; while(CADCSRA & (1 << CADUB)); CADRDC = RDC_CADRDC; while(CADCSRA & (1 << CADUB)); SETBIT(CADCSRB,1<<CADRCIE); while(CADCSRA & (1 << CADUB)); // Charge Threshold // Discharge Threshold // Interrupt Enable // Voltage Scaling SETBIT(CADCSRC,RCC_DIVIDEDSZ<<CADVSE); while(CADCSRA & (1 << CADUB)); SETBIT(CADCSRA,((1<<CADEN)|(1<<CADSE)|(RCC_CONVERSIONPERIOD<<1))); // ADC Enable, RCC Mode, Sampling // Interval while(CADCSRA & (1 << CADUB)); } The Update Busy (CADUB) bit in CADSRA is cleared and written by hardware. 5.2 Charging/Discharging FETs The two FETs are controlled by an N-channel FET driver. The pins (OC and OD) are designed for outputting a high voltage of approx. 13V. The status of the pins is controlled by software via the FCSR - FET control and status register. C Code Example void Configure_Fet(unsigned char Fet){ if(Fet&0x01) SETBIT(FCSR, (1<<DFE)); else CLEARBIT(FCSR,(1<<DFE)); if(Fet&0x02) SETBIT(FCSR,(1<<CFE)); else CLEARBIT(FCSR,(1<<CFE)); } The example above implements an easy method to enable or disable the two FETs independently of each other. For more information, see the Atmel ATmega32HVB datasheet page 148ff. ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 9 6. Power Consumption There are several ways to reduce the power consumption of the Atmel ATA6870 and the Atmel ATmega32HVB. Sleep modes are documented in the datasheet of the Atmel ATA6870 Section 7.1.1 and in the Atmel ATmega32HVB datasheet Section 10. This board allows the Atmel ATA6870 to be enabled/disabled using the Atmel ATmega32HVB software. The pin PB2 is used to control a transistor for activating/deactivating the Atmel ATA6870. Other options which are not implemented are the use of interrupts and a timer (sleep between cycles). 10 ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 Schematic Figure 7-1. Schematic R4 CELL+ ZXMN2F34FH 38 GND_2 32 R55 31 121kΩ R57 3.3kkΩ R49 28 3.3kkΩ 29 NTC 30 27 R56 NTC 25 GND_2 26 C33 10nF C15 3 J5 0Ω GND_2 1kΩ T15 2 GND_2 GND_2 R29 100Ω GND_2 33 GND_2 R53 J3-2 1 34 R52 ATST GND CS_N 100nF AVDD 35 100kΩ 39 40 41 42 PD_N 37 VDDHVP MISO_IN MOSI_OUT SCK_OUT 44 45 43 CLK_OUT CS_N_OUT IRQ_IN 46 CLK 1kΩ T14 47 IRQ ZXMN2F34FH R95 4.7kΩ J1-1 AVSS C14 100Ω Q1 MMBT2222A MBAT1 13 56kΩ TEMP1 TEMPVSS GND R30 J3-3 12 TEMP2 DISCH1 DVDD R47 R94 MBAT2 36 24 11 Atmel ATA6870 DISCH2 23 ZXMN2F34FH MM3Z13VC BIASRES TEMPREF DVSS 10 MBAT3 VDDFUSE 100nF DISCH3 22 9 IC2 CS_FUSE 8 T13 PWTST 21 7 1kΩ C13 100Ω MBAT4 20 R31 J3-4 D1 VDDHVM PD_N_OUT POW_ENA SCANMODE 6 GND_2 C6 + nc (33μF/50V) DISCH4 DTST 5 MBAT5 19 100nF R46 G PACK+ 4 ZXMN2F34FH Q4 IRF5210SPBF 56kΩ T16 DISCH5 18 100Ω R93 3 C12 D S 2 1kΩ MFIRST R32 J3-5 17 R45 D MISO 1 MBAT7 100nF VDDHV 48 C11 T17 ZXMN2F34FH MOSI OD 1kΩ 16 J3-6 100Ω Q5 IRF5210SPBF GND_2 C38 220nF R33 MBAT6 G Q6 FMMT620 51kΩ D R58 R10 4.7kΩ R66 Q2 MMBT2222A PB2 4.7kΩ R40 Q7 SQ2301ES R37 150Ω 100nF DISCH6 D2 1kΩ T18 R41 7.5kΩ G 100nF 30V C10 100Ω MM3Z13VC S R34 J3-7 S C32 10μF 30V SCK 56kΩ + C1 15 R109 R38 10Ω/0.25W R59 14 R96 56kΩ OC 100nF R54 R27 0Ω J1-2 1kΩ J3-1 R39 tbd R86 10Ω/0.25W 10Ω/0.25W D3 BZV55C6V8-TP + C3 R25 C16 100nF C24 R24 35 1 34 2 33 3 32 R21 31 121kΩ J6 0Ω R23 3.3kΩ 28 R76 NTC 29 3.3kΩ 30 27 26 25 100kΩ PD_N 37 VDDHVP 39 MISO_IN MOSI_OUT 40 SCK_OUT 41 42 CLK_OUT CS_N_OUT 43 44 IRQ_IN 45 MBAT7 VDDHV 38 GND 100nF ZXMN2F34FH 36 R44 T8 ATST GND C22 100Ω CLK CS_N J4-3 1kΩ DVDD R6 12 AVSS AVDD C7 + nc (33μF/50V) 24 R7 MBAT1 IRQ 23 11 TEMP1 TEMPVSS DVSS ZXMN2F34FH TEMP2 DISCH1 VDDFUSE 10 MBAT2 22 100nF TEMPREF Atmel ATA6870 DISCH2 CS_FUSE T7 9 21 8 BIASRES 20 7 1kΩ C21 100Ω MBAT3 SCANMODE R5 R8 J4-4 PWTST IC1 DISCH3 DTST 6 MBAT4 19 5 POW_ENA 18 100nF ZXMN2F34FH VDDHVM PD_N_OUT DISCH4 MFIRST 4 MBAT5 17 T10 C18 DISCH5 MISO 3 MOSI 2 16 100Ω R3 1kΩ 46 48 1 R9 J4-5 47 220nF 100nF MBAT6 T11 ZXMN2F34FH DISCH6 nc 1kΩ C17 100Ω SCK nc NTC R10 J4-6 R22 15 TP1 T12 R13 100Ω R18 C19 100nF 30V ZXMN2F34FH R19 0Ω opt. ext.supply 10μF 30V 1kΩ R77 R11 J4-7 VDD_HVM R12 Q2 NSS60601MZ4 14 J1-3 J1-4 GND_2 ZXMN2F34FH 13 R15 R1 J4-2 1kΩ C23 100Ω T9 100nF C20 10nF ZXMN2F34FH R16 1kΩ J4-1 R26 10/0.25WΩ CELL- C30 100nF 6 4 C27 VFET 100nF 12 13 C5 R88 1kΩ 100nF 50V 11 C8 2.2μF 25V 100nF C31 VCC PA0 (ADC0/SGND/PCINT1) VCC PA1 (ADC1/SGND/PCINT1) VREG PA2 (PCINT2/T0) VREF PA3 (PCINT3/T1) VFET PB0 (PCINT4/ICP00) BATT VCLMP10 5 GND 15 GND R89 10x1F 1 2 3 4 5 CELLPACK- RSENSE VDD_HVM VCC VFET IRQ 6 7 8 9 10 CLK OD MISO OC MOSI RESET SCK CS_N J7 1 2 3 PACK- 4 44 R99 1kΩ C34 R91 100Ω 100nF R100 43 1 2 42 1kΩ 5 OC 6 OD 7 R2 8 PB4 (SS/PCINT8) 18 16 10 PB5 (SCK/PCINT9) PB6 (MOSI/PCINT10) PB7 (MISO/PCINT11) PI PPI NI NNI NV OC OD PC0 (INT0/EXTPROT) PC1 (INT1) PC2 (INT2) PC3 (INT3/SDA) PC4 (SCL) PC5 PV1 37 PVT 1kΩ 9 PV2 PV3 17 27 J8 Piggypack Board for other Microcontroller R113 RSENSE 100Ω PB2 (PCINT6) PB3 (PCINT7) 35 GND 3 VREFGND 10x1F PB1 (PCINT5/CKOUT) NC NC PV4 RESET/DW LED_0603 LED2 8 9 LED3 10 R28 1kΩ R35 1kΩ R36 1kΩ VCC LED1 7 5.1kΩ 36 R20 14 R17 IC3 ATMEGA32HVB + 2.2μF 5.1kΩ C2 VCC J9 20 CLK 21 22 PB2 23 IRQ 24 CS_N 25 SCK 26 MOSI 28 MISO 29 30 31 32 33 34 VCC 7. 3x2M MISO SCK RESET 41 40 39 38 R14 4.7kΩ D4 LL4148 19 1 3 5 2 4 6 VCC MOSI J2 RESET C24 nc ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 11 Figure 7-2. PCB Top 12 ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 Figure 7-3. PCB Bottom ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 13 8. Revision History Please note that the following page numbers referred to in this section refer to the specific revision mentioned, not to this document. 14 Revision No. History 9228C-AUTO-02/15 Put document in the latest template 9228B-AUTO-10/12 Section 4.4 “Temperature Measurements” on page 8 updated ATA6870-DK10 [APPLICATION NOTE] 9228C–AUTO–02/15 XXXXXX Atmel Corporation 1600 Technology Drive, San Jose, CA 95110 USA T: (+1)(408) 441.0311 F: (+1)(408) 436.4200 | www.atmel.com © 2015 Atmel Corporation. / Rev.: 9228C–AUTO–02/15 Atmel®, Atmel logo and combinations thereof, Enabling Unlimited Possibilities®, AVR®, and others are registered trademarks or trademarks of Atmel Corporation in U.S. and other countries. Other terms and product names may be trademarks of others. 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 THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, 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 AND 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 products 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 products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. SAFETY-CRITICAL, MILITARY, AND AUTOMOTIVE APPLICATIONS DISCLAIMER: Atmel products are not designed for and will not be used in connection with any applications where the failure of such products would reasonably be expected to result in significant personal injury or death (“Safety-Critical Applications”) without an Atmel officer's specific written consent. Safety-Critical Applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Atmel products are not designed nor intended for use in military or aerospace applications or environments unless specifically designated by Atmel as military-grade. Atmel products are not designed nor intended for use in automotive applications unless specifically designated by Atmel as automotive-grade.