ELEKTOR live 2013 – AVR Microcontroller

AVR® Microcontroller
Andreas Riedenauer
Ineltek Mitte GmbH

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

Agenda
 Warum gerade die? Die AVR Familie kurz vorgestellt.
 Neue Bausteine. Neue Features.
 Die Spezialisten: AVRs mit Sonderausstattung.
 A-Note für A-Typen
 Randgebiete: Die Peripherie.
 42: die Antwort auf mehr als eine Frage. Hardware Design.
 13 Jahre FAE – und ein bisschen weiser. Tipps und Stolperfallen.

 Gut versteckt im Datenblatt.
 Rechenleistung statt elektrische Leistung.
 Doppelte Sicherheit – Security und Safety
 Touch me – kapazitiv.
 Werkzeugkasten: Was brauche ich für den Start?

 Was jetzt – Assembler oder C?
 Wir fangen an: ein erstes Projekt mit Studio6
 Wieso „Entwanzen“?
 Wie geht´s weiter?
 Quiz mit Preisverleihung
www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

WARUM GERADE DIE?
DIE AVR FAMILIE KURZ VORGESTELLT.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR Flash Microcontrollers
32-bit AVR UC3
The highest performance AVR in the world

8/16-bit AVR XMEGA
Peripheral Performance

8-bit megaAVR
The world’s most successful MCU family

8-bit tinyAVR
Small packages, big performance

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

AVR CPU
 AVR CPU
 Harvard architecture

 True single cycle execution
 Up to 20 MIPS at 20 MHz
 32 General Purpose registers

 Xmega…
 Up to 32 MHz CPU / 128 (256) MHz T/C
 Adds DMA Controller
 Adds flexible Event System
 Adds Programmable Multi level Interrupt Controller

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

Atmel 10/16/2013
ELEKTOR live 2013 – AVR Microcontroller

Leading 8-bit Architecture
 RISC architecture with CISC instruction set
 Single cycle execution
 Harvard Architecture
 Simultaneous, fast access to registers
 Separate memories and buses for program and data

 32 Working Registers (8 bit GPR)
 16-bit Stack Pointer
 22-bit Program Counter
 Up to 20MHz System clock (Xmega: 32 MHz)

8
ELEKTOR live 2013 – AVR Microcontroller

32x8-bit General Purpose Registers
 32 Accumulator Registers with 8 bit
 3 register pairs for16-bit data pointers
 Instructions with auto increment, decrement and displacement of pointers
 Z Pointer suited for look up tables and indirect jump (Flash)
 Direct address of up to 64K
R0
R1
R2

X Pointer
Y Pointer
Z Pointer

R26
R27
R28
R29
R30
R31

XL
XH
YL
YH
ZL
ZH
9
ELEKTOR live 2013 – AVR Microcontroller

General Purpose IO Registers - GPIOR
 IO mapped variable registers
 Bit variables

 General variables
 Status Flags
 ...

 Up to three registers per device
 Fast access through SBI, CBI, SBIS, and SBIC instructions
 GPIOR within the address range 0x00 - 0x1F only

10
ELEKTOR live 2013 – AVR Microcontroller

Single Cycle Instruction Execution

Register File

Register operations
take ONE clock pulse
on the EXTERNAL clock
input

ALU

11
ELEKTOR live 2013 – AVR Microcontroller

Common for all standard AVRs
 Self-programming FLASH program memory
 In-System Programming within the whole voltage range

 Internal calibrated RC Oscillator
 Internal SRAM and EEPROM
 debugWIRE or JTAG OCD support

12
ELEKTOR live 2013 – AVR Microcontroller

AVR - Designed for C Programming
 Architecture and instruction set co-designed with C-Compiler vendor
 Compiler development project initiated before architecture and instruction set
frozen
 Compiler experts’ advice implemented in hardware
 Potential HLL bottlenecks identified and removed

 The design process resulted in
 Instruction set support for 16-bit arithmetic operations
 32 working registers which eliminate move to and from SRAM
 Single Cycle execution

13
ELEKTOR live 2013 – AVR Microcontroller

Program Memory and Data Pointers
 Stack Pointer + Three Data pointers
 One or two pointers + SP is common for 8-bit

 Code efficient memory to memory copy

 Pointer handling similar to C- language
 Auto Increment/Decrement
 Indirect with Displacement
- Efficient for accessing arrays and structs
- Efficient when placing local variables on Software Stack

C Source code

unsigned char *var1, *var2;
*var1++ = *--var2;

Assembly code

LD
ST

R16,-X
Z+,R16

14
ELEKTOR live 2013 – AVR Microcontroller

Interrupt System Features
 All AVR peripherals are handled through IO registers (SFR)
 Automatic interrupt flag clearing

 Automatic disable of other interrupts inside the interrupt routine
 Each interrupt has its own vector and interrupt handler
 Short response time
 4 Clock Cycles + RJMP to interrupt handler
Interrupt Routine 2
Interrupt Routine 1
Normal Mode
INT2 flag
INT1 flag
I flag
15
TIME
ELEKTOR live 2013 – AVR Microcontroller

NEUE BAUSTEINE.
NEUE FEATURES.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Some New Features
 Modern Attiny Controllers with Features like
 Pico Power Technology
 Hardware USART
 Self Programming
 Precisio n RC Oscillator

 HW Support für Cap. Touch / Proximity Detection

 32 Pin ATxmega E5 Series (see also Xmega chapter)
 ADC with up to16 Bit Oversampling Hardware Support
 Asynchoronous Event System
 Glue Logic

18
ELEKTOR live 2013 – AVR Microcontroller

DIE SPEZIALISTEN:
AVRS MIT SONDERAUSSTATTUNG.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Application Specific Processors (ASSPs)
 USB
 CAN
 PWM
 Battery Management
 MCU Wireless

20
ELEKTOR live 2013 – AVR Microcontroller

CAN Introduction
 ISO standard (ISO 11898) for serial communication
 developed 1980 by BOSCH for automotive applications

 Asynchronous Serial Bus
 Absence of node addressing






Message identifier specifies contents and priority
Lowest message identifier has highest priority
Non-destructive arbitration system by CSMA with collision detection
Multi-master / Broadcasting concept
Sophisticated error detection & handling system
*

 CAN has gained widespread use
 Industrial Automation
 Automotive, …etc.

22
ELEKTOR live 2013 – AVR Microcontroller

Why CAN?
 Mature Standard
 Hardware implementation of the protocol
 Simple Transmission Medium
 Excellent Error Handling (CRC)

 Fault Confinement
 Most used protocol in industrial and automotive world
 Best Performance / Price ratio

23
ELEKTOR live 2013 – AVR Microcontroller

Motor Control: PWM3 Focus
 3 Phase Brushless DC Motor


HVAC (Heating, Ventilating, Air
Conditioning)



Refrigerators



Fans



Pumps



High tech Industrial, constant speed
applications



Traction elevator



Medical equipment



Hard disk, CD drives



 3 Phase Induction AC Motor

Automotive



HVAC



Washing machine



Blowers



Fans



Pumps



Industrial control

27
ELEKTOR live 2013 – AVR Microcontroller

AT90PWMx Family
 ATmega AVR with enhanced features for light ballast and motor control
 Power Stage Controller (PSC)
 synchronized PWM channels for 3 phase motors
 Fast emergency shut down of PWM outputs (only few 10 ns)
 Adjustable dead-band control

 Over current protection

 64 MHz PLL, providing 12-bit PWM accuracy up to 16 KHz
 Analog synchronized with PSC

 DALI - Digital Addressable Lighting Interface
 Integrated Power Factor Correction (PFC)
 10 Bit D/A with output driver (impedance < 1KOhm)

 3 comparators for Back EMF for Sensorless motors

28
ELEKTOR live 2013 – AVR Microcontroller

From PWM Channels

BLDC Motor Application
Hall sensors to INT (sensor)
Back EMF to ADC (sensor-less)

0
1
2
3
4
5

D
R
I
V
E
R
S

0

2

4

C

U

+

C

V

1

3

N S

5

C

W

To amplifier and ADC for regulation
To comparator for emergency stop

29
ELEKTOR live 2013 – AVR Microcontroller

3 Phases Induction AC Motor Application
Hall sensors to INT

From PWM Channels

Tachometer to ADC

0
1
2
3
4
5

D
R
I
V
E
R
S

0

2

4

C

U

+

C

V

1

3

5

C

W

To amplifier and ADC for regulation
To comparator for emergency stop

30
ELEKTOR live 2013 – AVR Microcontroller

Requirements for a 3-phase AC Motor Control MCU
PWM cycle
PWM cycle

0

2

4

U

0

+

U
V
W

-

1

V

2

3

1

3

5

W

4

5

Mandatory min. Dead Time

 Up to 6 Synchronous PWM channels (12 bit precision or more)

 PWM Timer Min clock frequency = 64MHz for 12 bit precision, 12KHz
 Minimum dead time controlled by hardware for all 6 channels
 All PWM must be disabled by hardware (Input) when overcurrent
 Capability to support Scalar Algorithm and Space Vector Algorithm
 10 to 16 MIPS for 3 phase AC induction with Space Vector Algorithm

31
ELEKTOR live 2013 – AVR Microcontroller

Sensorless control of two-phase fan
 AVR440 - sensorless control of two-phase BLDC fan
 Patent filed – method can only be used with AVR microcontrollers

 B-EMF voltage over passive winding used to time commutation.

 Advantage
 Hall-sensor can be eliminated to reduce fan cost

 Disadvantage
 Difficult to run the fan a very low speed

 Requirements
 Up-down PWM counter
 PWM triggered ADC

33
ELEKTOR live 2013 – AVR Microcontroller

Sensor based control of two-phase fan
 AVR441 - two-phase BLDC fan with two speed references
 E.g. Host and temperature sensor
 Autonomous fan speed
 Temperature sensor in

 AVR442 - two-phase BLDC fan with TWI





Also uses integrated temp sensor
Autonomous fan speed
TWI/SMBus control multiple fans
Advanced fan feedback

34
ELEKTOR live 2013 – AVR Microcontroller

Sensor based control of 3-phase BLDC motor
 AVR443, AVR448 – Three-phase BLDC motor
 GPIO/PWM controls high side driver
 PWM controls low side driver
 Current sensing

 Requirements
 3/6 PWM channels and PWM triggered ADC

35
ELEKTOR live 2013 – AVR Microcontroller

Sensor based control of 3-phase BLDC motor
 AVR492 – sensor based control of three-phase BLDC motor





PWM on both high and low side driver
Current control: ADC
Overcurrent detection via on-chip comparator
Adaptive fault detection using DAC possible

 Performance
 CPU: 18% @ 8 MHz, 14K RPM
 Code: 3175 bytes (38%)
 RAM: 285 bytes (55%)

36
ELEKTOR live 2013 – AVR Microcontroller

Sensorless control of 3-phase BLDC motor
 AVR444 – sensorless control of three-phase BLDC motor



PWM on both high and low side driver
Current control

 Advantage




Low cost microcontroller
Low cost motor without sensors
Automotive qualified (ATmega48 fam)

 Disadvantage



Very low speed not possible
Startup routine requires
known load

 Requirements



6 PWM channels
PWM triggered ADC

37
ELEKTOR live 2013 – AVR Microcontroller

Sensorless control of 3-phase BLDC motor
 AVR493 – sensorless control of three-phase BLDC motor


PWM on both high and low side driver



Current control using ADC



Zero Crossing Back-EMF using three on-chip comparators

 Advantage


No ADC polling gives faster zero
cross detection for Back-EMF



Hardware emergency shutdown



Communication: UART/SPI/LIN

 Target devices


AT90PWM3

38
ELEKTOR live 2013 – AVR Microcontroller

Sine wave driving of permanent magnet motor
 AVR447 – Sine wave driving of permanent magnet motor
 Uses three hall sensors for sine wave synchronization / speed control
 No encoder / tacho needed
 Advantages
 Low torque ripple
 Low cost microcontroller
 Speed control
 Full featured solution
- Safe startup w/synchronisation
- Turning
- Reverse rotation detection

 Disadvantages
 More CPU intensive than block
commutation

39
ELEKTOR live 2013 – AVR Microcontroller

Control of 3-phase AC Induction Motor
 AVR494 / AVR495 – control of three-phase ACIM
 V/f control

 Space vector modulation
 Complex algorithms
 Speed PID control

 Advantage
 Hardware shutdown
 Hardware deadband
 Comm.: UART/SPI/LIN

 Target devices
 AT90PWM3

40
ELEKTOR live 2013 – AVR Microcontroller

AUTOMOTIVE AVR

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR für Automotive
CMOS Process for Automotive µC
 35K5 (AVR8)
 0.35µm NVM CMOS
 1.8V to 5V
 Qualified up to 85°C, 105°C, 125°C and now 150°C

 35K7 (AVR8)
 0.35µm NVM CMOS
 40V Breakdown voltage
 18V operation

 58K8/58K85 (ARM & AVR32)





0.18µm NVM CMOS
Core at 1.8V - I/O at 3V – I/O 5V tolerant
Qualification in progress up to 105°C
58K as ROM version
42
ELEKTOR live 2013 – AVR Microcontroller

Automotive versus Industrial
 Main difference between Automotive parts and Industrial parts is the Quality
Level (EFR in PPM and LFR in FIT) and traceability
 Parts have to be designed for automotive
 Specific libraries
 Specific analog IPs
 Specific NV Memories
 Simulated on the full temperature range
 Guaranteed margin by process corner simulation
 Parts have to be characterized for automotive
 To know the robustness of the design versus process variation
 Parts have to be screened during manufacturing
 To remove any outliers
 To bring PPM level from 100 to Sub-1

 PPAPs on request (Production Part Approval Process)
43
ELEKTOR live 2013 – AVR Microcontroller

Industrial versus Automotive Screening

 Qualification

Industrial

Automotive

Reference to Standard

ATMEL CPQ-2001

AEC*-Q100 Grade 2

Electrical Distribution

1 Wafer Lot

3 Wafer Lots with
Corner Lots

3 lots of 300 pieces

3 lots of 800 pieces

1 lot of 77 pieces

3 lots of 77 pieces at 3
Temperatures

Wafer Level Data Retention

No

168h at 250oC long
term aging

Post Thermal Cycle Wire Pull

No

Cpk** > 1.33

Industrial

Automotive

> 20PPM

1PPM

85PPM

1PPM

8 FIT

1 FIT***

ELFR: Early Life Failure Rate
NVM Program/Erase Endurance test

 Quality Targets
AOQ: Average Outgoing Quality
ELFR
LFR: Latent Failure Rate (Long Term)
*AEC = Automotive Electronics Council

** Cpk = Critical Parameter Index

*** FIT = Failure In Time (10 -9/Oper. Hours)
44
ELEKTOR live 2013 – AVR Microcontroller

Automotive Quality Requirement
 AEC-Q100




STRESS TEST QUALIFICATION FOR INTEGRATED CIRCUITS
Defined by the Automotive Electronics Council
5 grades

-

Grade 0: -40°C to +150°C
Grade 1: -40°C to +125°C
Grade 2: -40°C to +105°C
Grade 3: -40°C to +85°C
Grade 4: 0°C to +70°C

ambient operating temperature range

 0 PPM – Zero Defect
 ISO TS16949 certification
 FMEA (Failure Mechanism and Effect Analysis)
 APQP (Advanced Product Quality Planning)

 PPAP/PSW (Production Part Approval Process / Part Submission Warrant )
Specific Methodology, Specific Products, Specific Production Flow (Screening), Specific Qualified plants
and subcontractors

45
ELEKTOR live 2013 – AVR Microcontroller

Microcontroller - Overview
 AVR-8
 Subset of products qualified according to
- AECQ100-Grade1 from –40°C up to 125°C
- AECQ100-Grade0 from –40°C up to 150°C

 AVR-32
 Preliminary targets
- Vision/Image processing for Safety Application
- Flexray application (Backbone and XbyWire)

 Secondary target: Multimedia & Infotainment

46
ELEKTOR live 2013 – AVR Microcontroller

High Temperature operating AVRs
 Up to 150°C ambient temperature
 Unique on the Market
 Thanks to very stable Non Volatile Memory cell (E2Prom)
 Qualification according to AEC-Q100 Grade 0
 Many applications in engine management and gear box
 Interface to Sensors or Actuators
 Throttle/Valve management, Torque sensor, Turbo Charger, Injectors, Fan
control

47
ELEKTOR live 2013 – AVR Microcontroller

A-NOTE FÜR A-TYPEN

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Why process migration?
 Atmel used proprietary 35k5 process
 New 35k4 process compatible to manufacturing at foundry
 Improve manufacturing and product sourcing flexibility
 Yield optimization and parameter tuning
 Reduced Active and Idle mode current by optimized routing

October 13

4
ELEKTOR live 2013 – AVR Microcontroller

Technology of the New Process
 Metal shrink
 Transistors identical to existing process
 Standard cell library redesigned

 Transistors placed closer in new process

 Signal lines takes less space

October 13

5
ELEKTOR live 2013 – AVR Microcontroller

Part name and ordering codes
 Devices in new process has Suffix ”A” (if old process device in 35k5)
 Migration Notes available

 One speed and voltage range on A-devices
Old:


ATmega128-16xU = 4.5 - 5.5V 0 - 16MHz



ATmega128L-8xU = 2.7 - 5.5V 0 - 8MHz

New:


ATmega128A-xU= 2.7 - 5.5V 0 - 16MHz

 Functionally compatible products has only one new device
Old:


ATmega48-20xU = 4.5 – 5.5V, 0 – 20 MHz



ATmega48P-20xU = 4.5 – 5.5V, 0 – 20 MHz



ATmega48V-10xU = 1.8 – 5.5V, 0 – 10 MHz



ATmega48PV-10xU = 1.8 – 5.5V, 0 – 10 MHz

New:


ATmega48PA-xU = 1.8 – 5.5V, 0 – 20 MHz



ATmega48 A-xU = 1.8 – 5.5V, 0 – 20 MHz
October 13

5
ELEKTOR live 2013 – AVR Microcontroller

RANDGEBIETE: DIE PERIPHERIE.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR –Single Chip Solution
TWI

Temperature
Sensor

USART

SPI

Flash

EEPROM

CPU CORE

SRAM

A/D Converter Register File

I/O pins

Hardware
Multiplier
Analog
Comparator

Brown Out
Detector
Reset
Circuitry
Programmable
Watchdog
On-Chip
Debug

Analog
Reference

JTAG

Boundary
Scan

AVR Integrates Much More!

Pull-Ups
On Demand
High Current
Outputs
Calibrated
Oscillator
In System
Programming
LCD
Interface

Output
Driver

LCD driver

53
ELEKTOR live 2013 – AVR Microcontroller

I/O Ports
 Push-Pull Drivers with High Current Drive


Sinks/Sources up to 20 mA (40mA)

 Pin-wise Controlled Data Direction and Pull-Up Resistors
 Fully Synchronized Inputs
 Three Control/Status Bits per Bit/Pin
 Real Read-Modify-Write
DDRx
0

Pull-Up

PORTx
0
PINx
?

Physical Pin
?

54
ELEKTOR live 2013 – AVR Microcontroller

Faster IO PORT toggling
 PINx Register toggles PORTx Register
 Writing a ”1” to bit in PINx Register will toggle that bit in the PORTx Register

 Faster IO toggle access
 Dual cycle toggling
 Toggle multiple pins in one operation

55
ELEKTOR live 2013 – AVR Microcontroller

Timer/Counter
 Wide range of 8- and 16-bit Timer/Counters
 The AVR Timer/Counters can use various clock sources
 Main CPU clock
 Internal High speed PLL
- High speed, 64MHz

 By external clock source

Relevant Application Notes
AVR130 AVR133

- Max speed XTAL/2

 External 32kHz asynchronous crystal
 All clock sources can be pre-scaled before being fed to the Timer/Counters

 AVR’s Timer/Counters are
interrupt driven and controlled
through the AVR IO registers
 Special T/C versions on PLL/PWM AVR and Xmega
 E.g. dead time generation
56
ELEKTOR live 2013 – AVR Microcontroller

Analog Comparator
 Compares the input values on pins AIN0 and AIN1
 Dedicated Analog Comparator interrupt
 Selectable trigger on Rise, Fall or Toggle

 Output connectable to Input Capture of Timer/Counter1
 Pulse-width measurement of analog signals
 Easy Implementation of dual slope ADC

 Bandgap reference available
 ADC inputs can be used as AIN1

57
ELEKTOR live 2013 – AVR Microcontroller

ADC Features
 Almost all AVRs have ADC
 Accuracy:
 10bits ±0.5LSB  65 us conversion time*.
 8bits ± 0.5LSB down to 12 us conversion time.

 Up to 11 single ended channels and up to 7 differential channels
 Programmable Gain Stage (1x, 10x, 100x, 200x)
 Free-run, single conversion and timed modes
 Interrupt on conversion complete
 Internal Voltage reference

*conversion

Relevant Application Notes
AVR120 AVR400

time is 6.5µs on AT90PWM Family

58
ELEKTOR live 2013 – AVR Microcontroller

SPI - Serial Peripheral Interface
 3 pin serial communication interface
 Shift register type serial communication

 Full duplex interface
 AVR enables interrupt driven SPI communication
 Master and Slave mode
 Transmit at bit rates up to XTAL/2
 Receive at bit rates up to XTAL/4

 AVR supports industrial standard SPI interfaces
 Memories
 IO expanders
 Other CPUs in system

 SPI used for In System Programming (ISP)
59
ELEKTOR live 2013 – AVR Microcontroller

TWI – Two Wire Interface
 2 pin serial communicantion interface
 Master and slave
 Fully interrupt driven
 Fast Mode support

 Wake-up from power down mode on address recognition
 Slave Address
 General Call

 Peripheral device interface
 Philips I2C compatible

60
ELEKTOR live 2013 – AVR Microcontroller

USI – Universal Serial Interface
 Hardware support for software SPI and TWI drivers
 Still a software driver but less resources required

 Higher transfer rates than pure software interfaces
- fkc/16 as TWI master and slave
- fkc/4 as SPI master or slave

 Polling and Interrupt support for
 Data reception
 Wakeup from sleep
- In TWI mode also from PWD

 TWI start condition detector

61
ELEKTOR live 2013 – AVR Microcontroller

Memory Overview and Interconnection
 General purpose registers manage all data transfer
 Direct Program memory access

 Direct SRAM access
 EEPROM access via IO registers
 EEAR,EEDR,EECR

 Secure Program memory and

Register
File

EEPROM access
 Timed sequence

SRAM

I/O
Registers

EEPROM

Program
Memory

62
ELEKTOR live 2013 – AVR Microcontroller

Flash Program Memory
 All AVR uses Flash program memory
 In-system (re-)programmable
 Both by programmer and application
 From 1.8 to 5.5V

 More flexibility compared to ROM, PROM and EPROM
 No external high voltage required
 Internal charge pump

 20 years retention time
 Minimum 10K erase/write cycles, typical 100K

63
ELEKTOR live 2013 – AVR Microcontroller

Internal EEPROM Data Storage
 All AVRs with internal EEPROM for data storage
 Linear address space

 Size from 64B to 8K

 Byte accessible
 3 – 8ms Write time
 Including erase

 Instant read
 Interrupt controlled
 Handled through dedicated IO registers

 20 years retention time
 Minimum 100K erase/write cycles, typical 1M

64
ELEKTOR live 2013 – AVR Microcontroller

Enhanced EEPROM Operation
 Split erase & program cycle to save time
 Traditionally erase and write one byte in one operation

 Enables pre-erasing of locations
 Faster interrupt handlers etc.

 Available on ATtiny13 and all newer devices

Exe. Time

Operation

3.4 ms

Erase and Write in one operation

1.8 ms

Erase only

1.8 ms

Write only

65
ELEKTOR live 2013 – AVR Microcontroller

SRAM Data Memory

32 Registers
IO Registers
64 to 224

 Most AVR MCUs feature internal SRAM for data memory
 Linear address space
 Size from 64B to 16K (new!)

Internal
SRAM
64B to 8K

 Program and parameter stack in SRAM
 Five different addressing modes
 Direct
 Indirect
 Indirect with Displacement, Pre-dec and Post-inc

 Indirect addressing handled X,Y and Z pointer
 Data memory map

External
SRAM
up to 64K

 SRAM
 32x8 General Register File
 IO registers

 External SRAM through XRAM interface
 up to 64K
66
ELEKTOR live 2013 – AVR Microcontroller

External Memory Interface
 Parallel Interface for external devices or peripherals
 Memory map linear with the internal SRAM

 Parallel bus with 8 data and 16 address lines
 Up to 64K memory map

 Dynamic pin allocation to release unused address pins
 4 Wait-state settings
D7:0

 Flexible timing settings

 Integrated Bus-keeper
 Lower power consumption

AD7:0

D

ALE

Q

A7:0

G

AVR

A15:8

SRAM
A15:8

/RD

/RD

/WR

/WR

67
ELEKTOR live 2013 – AVR Microcontroller

Flexible Clock Options
 Crystal Oscillator
 Low Power Crystal Oscillator
 Full Swing Crystal Oscillator
 32kHz Low Frequency Crystal Oscillator

 Internal RC Oscillator
 Can be calibrated within ±1% for most devices

 Internal 128 kHz RC Oscillator (WDT)
 External Clock
 System Clock Prescaler (1 to 256)
 Lower system clock frequency while running
 Controlled by application

68
ELEKTOR live 2013 – AVR Microcontroller

Internal EEPROM Data Storage
 Most AVR MCUs feature internal EEPROM for data storage


Linear address space

 Byte accessible
 3 – 8ms write time


Including erase

 Interrupt controlled
 Handled through dedicated IO registers
 20 years data retention time
 Minimum 100K erase/write cycles, typical 1M
Relevant Application Notes
AVR335, AVR104

69
ELEKTOR live 2013 – AVR Microcontroller

ISP -

In-System Programming

 FLASH, EEPROM, Fuses and Lock Bits programmed in-system
 At all Frequencies

 At all supply voltages
1.8V – 5.5V

MISO

VTG

SCK

GND

SCK

ISP6PIN

GND

RST

GND

VTG

NC

MOSI

RST

 SPI interface used for ISP

MOSI

GND

MISO

 Exc.: ATmega128 !

ISP10PIN

 Only four pins + VCC and Ground required Relevant Application Note
 RESET

AVR109 AVR042

 MISO
 MOSI
 SCK
70

GND
ELEKTOR live 2013 – AVR Microcontroller

Redefining ISP - Self-Programming
 The CPU can read and write its own program memory
 Enabling reprogramming while running an application
 Critical functions are still operating

 Any communication interface, including software-implemented interfaces

 Parameters can be stored in program memory
 In addition to EEPROM

71
ELEKTOR live 2013 – AVR Microcontroller

LCD Controller/Driver

 Integrated segment LCD controller/driver


For monochrome passive liquid crystal display



No external LCD driver required

A
F

 100 and 160 segments


COM0

 Interrupt driven
Start Of Frame Interrupt

 Internal contrast voltage generator


SEG1

Unused LCD pins can be used as general IO

External capacitor as power reservoir

 Own AVR LCD family


100Segment : ATmega169P, ATmega329, ATmega649



SEG2

G

SEG0



B

E

C
COM1

D
COM2

Relevant Application Notes
AVR064 AVR065

160Segment : ATmega3290, ATmega6490...

72
ELEKTOR live 2013 – AVR Microcontroller

42:
DIE ANTWORT AUF MEHR ALS EINE FRAGE.
HARDWARE DESIGN.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AppNote AVR042
AVR Hardware Design Considerations
AppNote AVR4100
Selecting and testimg 32 kHz Xtal…

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

13 JAHRE FAE – UND EIN BISSCHEN WEISER.
TIPPS UND STOLPERFALLEN.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Ports

 Doppelfunktionen bestimmter Pins beachten, zum Programmieren,
zum Debuggen, Analogfunktionen, ext. Interrupts,..

 Programmierung über SPI:
MOSI
MISO
SCK
Achtung: Beim ATmega128 und Pin-kompatiblen Bausteinen liegen die
Programmierpins NICHT an der SPI, sondern an der UART-Schnittstelle !

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Manche Ports sind nur teilweise ausgeführt: beim 2313 fehlt
PortD.7, bei Ausführungen im PDIP (DIL) Gehäuse teilweise weniger
IO-Pins.

Konfiguration beim Einschalten ist INPUT. Ausgänge durch „1“ im
DDRx einstellenRS232:
RxD = PD0
TxD = PD1

JTAG-Debug-/Programmierschnittstelle

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

 Floating Inputs vermeiden: Ausgang oder Pullup (PORTx)

 Ausgabe über PORTx
 Pin Toggeln durch Schreiben einer „1“ nach PINx bei OUTPUT

 RESET Pin nach Bedarf beschalten: HV-Programming?
DebugWire? (siehe AVR042)

 RESET Pin darf während Debugging über DebugWire oder bei
Nutzung des PDI (Xmega) nicht mit Kondensator belastet sein

 Große Streuung bei Pullups (bis 500KOhm)
www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

 Höhere Eingangsspannung als Vcc möglich, wenn Vorwiderstand
zur Begrenzung des Stroms durch die Schutzdioden (Beispiel
Nullspannungsdetektor) vorhanden

 Mehrere Ausgangspins innerhalb desselben Ports können
zusammengeschaltet werden, um Treiberleistung zu erhöhen. Dabei
Maximalbelastung von Port und Chip beachten!

 Nicht alle AVRs haben die 20mA Belastbarkeit der Ausgänge.
Ausnahmen sind einige ATtinys und die Xmegas.

20mA bei Einhaltung der Logikpegel, sonst 40mA
 Maximalbelastbarkeit ist abhängig von Betriebsspannung
www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

 Bei Verwendung desselben Pins als Eingang für Taste und LED
Ausgang: Durchlass-Spannung der LED, Vcc und Logikpegel beachten!

 LEDs haben verschiedene Durchlass-Spannungen je nach Farbe
 Tasten in der Regel gegen Masse schalten und Pullups nutzen
 Bei induktiven Lasten zusätzliche Schutzdiode direkt an der Induktivität
(1N4148 besser als 1N4001, da schneller)

 Externe Interrupts: Ältere AVRs (z.B. ATmega32) haben nur wenige
INTx Pins, neuere (z.B. ATmega324P) haben externe Interrupts an allen
IO-Pins. Unterschiedliche Handhabung beachten.

 Ggf. Analogkomparator-Interrupt nutzen.
www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

 BOD und POR sind unterschiedlich robust, z.B. Mega88P(V) besser als
ATmega88(V). Fußnoten im Datenblatt beachten - Table 28.3 Page 306
(M88) vs. Table 28.5 Page 318 (M88PA).

 Interne RC-Oszillatoren haben unterschiedlich ausgeprägten Jitter.

 Interne RC-Oszillatoren bei älteren Typen stärker temperaturabhängig.
 RC-Kalibrierung gilt nur bei der jeweiligenTemperatur.
 RC Oszillator angeblich durch Metall/Magnet von außen beeinflussbar
 UART braucht 2% genauen Takt, USB noch deutlich genauer
www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

 Keine (unbenutzten) Komponenten an Quarzanschlüssen
 Full Swing nur bei 2.7 Volt und mehr
 „Sägezahn-Effekt“ bei parasitärer Speisung über externe Komponenten
und Schutzdioden.

 Programmierkabel nicht zu lang! Ggf. 10-Pin statt 6-Pin Belegung
 TWI-Kabel (I2C) nicht zu lang!
 Port-Erweiterungen über spezielle I2C-Chips, Schieberegister, ATF15xx
 Treiber für LEDs oder Induktive Lasten über I2C oder SPI mit
Schutzfunktionen bei Unterbrechung Kurzschluss, Übertemperatur.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

 Low Cost Alternative zu MAX232: siehe Butterfly

 RC-Oszillator Kalibrierung bei UART Kommunikation: siehe Butterfly

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

GUT VERSTECKT IM DATENBLATT.
ATMEGA48
ATMEGA48PA

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

RECHENLEISTUNG
STATT
ELEKTRISCHE LEISTUNG.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR Oscillator Types
Cost
External high
frequency crystal
External low
frequency (32kHz)
crystal
External ceramic
resonator
External R/C
oscillator
Calibrated Internal
R/C oscillator
External clock

Accuracy

Startup time

High

High
(10-50 ppm)
High
(10-50 ppm)

Long
(16k cycles)
Long
(16k-32k
cycles)

Medium
(0.5-1%)
Depending on
R and C

Medium (2001k cycles)
Short
(6 cycles)

Medium

Medium
Low

±1% after
calibration
Depending on other
circuits in the system

NONE

Short
(6 cycles)
Short
(6 cycles)

Notes

Additional timer
oscillator on some
devices

May be re-calibrated by
application at any time

Use the internal RC for fast startup time and low power consumption
86
ELEKTOR live 2013 – AVR Microcontroller

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR Sleep Modes
 Idle mode


CPU Stopped, but oscillators and most
I/O modules active



Allows fast wakeup (immediate) from
sleep

 ADC Noise Reduction mode


Like Idle mode, but fewer I/O modules
active

 Power Down mode

 Power Save mode


Like Power-down mode, but 32kHz
timer oscillator running

 Standby mode


Like Power-down mode, but main
crystal/resonator oscillator running



Allows fast wakeup (6 cycles) from
sleep

 Extended Standby



Oscillator stopped, CPU stopped, most
functions inactive



Both main crystal/resonator oscillator
and 32kHz timer oscillator running



Slow wakeup from sleep, oscillator must
be restarted



Allows fast wakeup (6 cycles) from
sleep

88
ELEKTOR live 2013 – AVR Microcontroller

AVR Sleep Modes - Example
 By using sleep modes, power consumption can be reduced by a factor
100
 Ideal for periods of inactivity – waiting for interrupts!
 Power Saving Example: Using the ATmega48


Use sleep modes and wait for wake-up condition



Internal RC @ 1MHz, 1.8 volt @ 25°C
mega48 Internal RC 1Mhz @ 1,8V 25'C

1000
250

ICC (uA)

100

10

Active

40

Idle
7,2

Power Save WDT
4,2

3

Power Save no WDT
Power Down WDT

1

Power Down no WDT
0,1

0,1
89
ELEKTOR live 2013 – AVR Microcontroller

PicoPowerTM Technology
Key elements:
 (Almost) Zero current 32kHz oscillator

 Sleeping BOD
 Power Reduction Register (PRR)
 Digital Input Disable Register (DIDR)
 Flash sampling

 Low leakage process
 1.8V operation

 Power Save mode now 0.6 uA vs 10uA
 PicoPower AVR is #1 in Power Consumption & Performance

90
ELEKTOR live 2013 – AVR Microcontroller

Low Current 32kHz Oscillator
 Power Save is the most highlighted ultra low power number
 Time in active is insignificant compared to time in PS for ULP

 The new 32kHz oscillator brings Power Save current almost to Power
Down.....

 0.6uA Power Save mode @ 2.2V
 ATmega165P: Typical 0.6uA
 32kHz running

 PicoPower Power Save mode is industry leading
 Less current consumption than MSP430F2 in PowerSave
91
ELEKTOR live 2013 – AVR Microcontroller

Sleeping BOD (SBOD)
 SBOD enter sleep together with the AVR
 No need for BOD in sleep

 Wakeup from sleep first starts the SBOD, then the AVR
 Enabled by application
 Secure two step operation

 Automated operation when enabled
 No SBOD power consumption penalty while in sleep, full protection while
in active mode

92
ELEKTOR live 2013 – AVR Microcontroller

Power Reduction Register - PRR
 Stop clock to individual peripherals
 Peripheral is in PWD sleep while rest of device is running

 Reduces overall power consumption

 PRR accessible by application while running
 When stopping the clock to a peripheral...
 The current state of the peripheral is frozen
 All I/O registers are inaccessible

 When re-starting a module...
 It continues in the same state as before shutdown

93
ELEKTOR live 2013 – AVR Microcontroller

Digital Input Disable Registers - DIDR
 DIDR decreases overall
power consumption
 Shut off digital input buffers
on individual pins

 Enable DIDR on all ADC
pins
 Not required in Power-save,
Power-Down and Standby

94
ELEKTOR live 2013 – AVR Microcontroller

PicoPowerTM AVRs
 Existing high volume megaAVRs will be upgraded
to PicoPower megaAVRs
 Special naming by the use of the letter ‘P’
 Example: ATmega169P

95
ELEKTOR live 2013 – AVR Microcontroller

ATtiny23V/43V
 Operate from a single cell battery (1.4 V)
 Integrated Boost Regulator
 Autonomous analog block that is NOT controlled by the MCU
 Fixed 3.0V Vcc for the MCU from an external supply of 0.9V to 1.7V
 Starts up automatically when the voltage at the BATS pin is greater than 0.6V
(± 0.15V).
 Output voltage rises above POR and BOR levels (if enabled), the MCU will
start up
 Shuts down automatically when the voltage drops below 0.6V avoiding battery
drainage

 Alternatively the device can be operated directly from supply of 1.8 to 5.5
volts (LSW and BATS grounded)

96
ELEKTOR live 2013 – AVR Microcontroller

DOPPELTE SICHERHEIT
SECURITY UND SAFETY

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Internal Brown-Out Detection
 Reset when voltage level is below specification
 Preventing CPU run-away and EEPROM corruption.
 Flexible BOD levels
 Extremely fast detection (7 µs)
 BOD status bit set after reset
 MCUSR IO register
 BOD is optional
 BODEN fuse

98
ELEKTOR live 2013 – AVR Microcontroller

WDT - WatchDog Timer
 Free running timer used to generate a System Reset allowed to time out
 Time-out period between 16ms and 8s set by prescaler
 Timer is reset by WDR instruction

 Prevents device from being trapped in dead loops
 WDT runs from it’s own clock source (RC Oscillator)

 WDT enabling through IO bits or Fuses
 Timed IO sequence for enabling and changes
 Safe WDT enabling through WDTON fuse

 Watchdog reset detectable by reading the WDRF flag
 Enganced WDT with WDT interrupt
 Interrupt instead of or prior to System Reset
 Suited for timing sequences, wake up from sleep etc.

Relevant Application Note
AVR132

99
ELEKTOR live 2013 – AVR Microcontroller

Fuses and Lock Bits
 Fuses
 Programmable bits not accessible by application software for device settings
- Clock settings, BOD settings, Boot-Loader settings, etc.

 Not affected by chip erase

 Lock Bits
 Programmable security bits to secure IP stored in Flash and EEPROM
 Disables read and write access to Flash and EEPROM
 Only removed by chip erase
- Chip erase will also clear Flash and EEPROM

 Flexible settings for level of security and area to secure
- Own set of lock bits for self-programming

100
ELEKTOR live 2013 – AVR Microcontroller

TOUCH ME – KAPAZITIV.

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Atmel Touch Solutions

Buttons, Sliders, Wheels

Touch Software

Touchscreens

Application Specific
(“ready-to-use”)

Add touch functionality to your
general purpose Atmel MCU

Revolutionary Unlimited
Touchscreen Technology

1 – 48 Channels
Buttons, Proximity & Sliders
Self- & Mutual- Capacitance
No programming required
Limited Flexibility

1 – 64 Channels
Buttons, Proximity & Sliders
Self- & Mutual- Capacitance
Fully programmable
Excellent Flexibility
Excellent Integration

Single-Touch & Dual-Touch
devices also offered
ELEKTOR live 2013 – AVR Microcontroller

QTouch

QMatrix

 Self-Capacitance

 Mutual-Capacitance



Robust and simple electrode design



Well defined key area for detection



Ideal for low node count



Ideal for high note count (>10 nodes)



Good proximity, providing better
sensing distance



Very resilient to moisture & environment



Passive tracking – longer tracks possible



Very resilient to noise and ground loading



Virtually any electrode shape possible



Easy to tune sensitivity

- Flooded X design

Vdd
SENSE
ELECTRODE

MCU
Xn

Cx
Ykn
Cs
Yn

GND
ELEKTOR live 2013 – AVR Microcontroller

Evaluation and Development Kit
Ordering Code: ATQT600

3 Sensor boards
• 8 channel QTouch board
• 16 channel QTouch board
• 64 channel QMatrix board

3 MCU boards
• ATtiny88 (QTouch)
• ATmega324PA (QMatrix)
• ATxmega128A1 (QTouch)

Interface board
• 2-way debug data
• ISP Programmer
• Supports AVR / AVR32
ELEKTOR live 2013 – AVR Microcontroller

WERKZEUGKASTEN:
WAS BRAUCHE ICH FÜR DEN START?

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

WAS JETZT – ASSEMBLER ODER C?

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

WIR FANGEN AN:
EIN ERSTES PROJEKT MIT STUDIO6

www.atmel.com

October 13
Atmel Studio 6
Integrating ARM and AVR Design

Copyright 2012 Atmel Corporation

Atmel Studio 6/SAM3 Press Presentation

2/28/12
ELEKTOR live 2013 – AVR Microcontroller

Atmel Studio 6 – IDE
 Intelligent editor
 New Project Wizard with over 1,000 project examples
 Integrated GNU C/C++ Compiler
 Seamless connection to all
in-system debuggers
 Cycle accurate chip and peripheral simulator
ELEKTOR live 2013 – AVR Microcontroller

Atmel Studio 6 – Atmel Software Framework
 Software Library
 Peripheral drivers

 Hardware abstraction
 Communication
 Graphics

 Standard APIs
 Easy code migration
 Support for ARM + AVR MCUs
 Common 8/32-bit platform

 ASF Explorer
 Manage ASF components
 Trace driver dependencies
 Easy access to documentation
ELEKTOR live 2013 – AVR Microcontroller

Atmel Studio 6 – QTouch Composer
 QTouch Project Wizard
 Configure QTouch project

 Optimized QTouch library code
 Automatic power management

 Touch Wizard
 Automatic performance tests
 Optimal design recommendations

 Power Analyzer
 Real-time monitoring of MCU power
consumption
 Profiling and visualization
ELEKTOR live 2013 – AVR Microcontroller

JTAGICE3

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR Dragon
 Low cost development tool
 High performance

 Easy to use
 USB Connection
 USB Powered

 Combination of
 JTAGICE mkII ( $299)
 AVRISP mkII ($34)
 STK500 ($79)

 Programs all devices
 Debug support for devices <=32K

 Price: €49!

115
ELEKTOR live 2013 – AVR Microcontroller

XPLAINED KIT

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

STK600

117
ELEKTOR live 2013 – AVR Microcontroller

WIESO „ENTWANZEN“?

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR JTAG interface
 The AVR JTAG interface is a integrated hardware module for:




In-System Programming
On-Chip Debugging
PCB test through Boundary-Scan

 Dedicated hardware module


All AVR resources present while debugging

- Except 4 pins for JTAG communication

 Supports all Vcc levels and Frequencies
 Complies to IEEE std 1149.1 (JTAG)


Joint Test Action Group (JTAG)

 JTAG interface in all AVRs with
16K program memory or more

119
ELEKTOR live 2013 – AVR Microcontroller

AVR debugWIRE interface
 On-Chip Debugging via single wire interface
 Program flow control
 EEPROM and Flash memory access
 Peripheral access

 debugWIRE is a hardware module

1.8 - 5.5V
Vcc
JTAGICE MKII

dW(/RESET)

 Not a ROM monitor!
 All AVR resources present while debugging

AVR

 Supports all Vcc levels and Frequencies
GND

120
ELEKTOR live 2013 – AVR Microcontroller

Enabling debugWIRE
 debugWIRE functionality is enabled by DWEN fuse
 Set by ISP or HV programming

 Cleared by debugWIRE or HV programming

 debugWIRE is disabled by default from Atmel
 debugWIRE require system clock in all sleep modes
 No PowerSave/PowerDown mode current consumption possible as long as
the DWEN fuse is set

121
ELEKTOR live 2013 – AVR Microcontroller

WIE GEHT´S WEITER?

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA Technical Walk-Through

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA
 Extraordinary Low Power
 2nd generation picoPower ®

 True 1.6 V operation

 Exceptional Performance
 Up to 32 MIPS
 DMA Controller
 Event System

 Extreme Peripherals
 Leading Analog Integration
 Fast Crypto engine
 Rich feature set

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA AVR core
 Code compatible with existing tinyAVR and megaAVR
 True RISC architecture

 True single cycle execution
 32 MIPS at 32 MHz
- 32 MHz 2.7V – 3.6V
- 12 MHz 1.8V – 2.7V

 32 GPR
 Harvard architecture

 DMA Controller
 Flexible Event System
 Programmable Multi level Interrupt Controller – PMIC
125
ELEKTOR live 2013 – AVR Microcontroller

EBI- External Bus Interface
 2-port, 3-port or 4-port interface selectable in SW
 All external memories are directly mapped in AVR
 No banking

 Stack and variables anywhere

 Simultaneous support of SRAM and SDRAM possible
 Ex: memory mapped devices

 Up to 128 Mbit SDRAM

126
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Interrupt Controller
 4 interrupt levels
 NMI - Non Maskable Interrupts

 High, Medium and Low level

 Round robin priority possible for low level interrupts
 Ensures all interrupts are serviced

 All peripherals can also be controlled by polling

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Event system
 CPU and DMA independent Inter-peripheral communication

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

Event System
AVR CPU

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Event System
 8 Event Routing Channels
 Peripherals specify how to generate events
 Everything that can generate an interrupt
 Ex: Pin change, Timer overflow, ADC complete, Comparator toggle

 Peripherals specify how to use events
 Ex: Increment Timer, Output signal, Start ADC conversion

 Reduce the use of interrupts
 Event system ensures control of critical function
 Predictable reaction time of 2 chip clock cycles
 Safe fault protection

 Reduces power consumption – no CPU needed
 Works in Active and Idle mode
http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA DMA Controller
 Allows high-speed data transfer
 From memory to peripheral

 From memory to memory
 From peripheral to memory
 From peripheral to peripheral

 Main features
 4 channels
 From 1 byte to 16 Mbyte transfers
 Optional interrupt at end of transaction
 Multiple addressing modes
- Static, Increment, Decrement

 1, 2, 4 or 8 byte bursts
 Programmable priority between channels
http://www.atmel.com

CPU Load, SPI Communication
Data rate With DMA No DMA
250 kbps
0%
8%
500 kbps
0%
16 %
1 Mbps
1%
30 %
2 Mbps
1%
57 %
4 Mbps
2%
98 %
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Memories
 Flash

 Memory setup

 Application area for main program

Flash
16K + 4K
32K + 4K
64K + 4K
128K + 8K
256K + 8K

 Boot area for bootloader
 Application Table area for fail safe
EEPROM emulation

 EEPROM

SRAM
2K
4K
4K
8K
16K

EEPROM
1K
1K
1K
2K
4K

 EEPROM on all devices
 Byte and page accessible
 Optional memory mapped

 SDRAM

 SRAM
 Internal on all devices
 Optional external on some devices
- Up to 16 MB directly addressable
- Optional multiplexed address and data

http://www.atmel.com

 Optional external on some
devices
- Up to 128 Mbit directly
addressable
- 4-bit and 8-bit supported
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Analog to Digital Converter
 Features
 12 bit resolution

 2 MSPS ADC in XMEGA A
 200 kSPS ADC in XMEGA D
 Single or continuous conversion modes
 Connected to Event System

 Connected to DMA Controller
 Internal and External reference voltages

 Interrupt/event on compare result
 Interrupt if lower or equal
 Interrupt if higher or equal

 Interrupt/event on conversion complete
http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA ADC – Pipelined Conversion Channels





4 ADC conversion channels
8 – 16 external single-ended inputs per ADC
8 x 4 external differential inputs per ADC
4 internal inputs
 VCC, Bandgap, Temperature, DAC output

 1x, 2x, 4x, 8x, 16x, 32x or 64x gain
 Synchronous sampling in dual ADC devices

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Digital to Analog Converter
 Features:
 12 bit resolution

 Up to 1 MSPS conversion rate, 1 µs settling time
 Connected to Event System
 Connected to DMA Controller
 Two independent output channels per DAC

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Analog Comparators
 Selectable hysteresis
 0, 20mV, 50mV selectable

 Flexible input selections
 Any analog input pin
 Output from DAC
 Bandgap voltage reference
 64-level VCC scaler

 Flexible interrupts and events generation
 Window compare function by combining 2 comparators
 Possible to have comparator output on a pin

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Timer/Counter
 Multiple 16-bit Timer/Counters in each device








Counts chip clock (Timer) or events (Counter)
4 or 2 Output Compare on each Timer/Counter
4 or 2 Input Capture on each Timer/Counter
Programmable Top Value
Direction control
Flexible interrupts and events generation
Split option: 2 x 8 instead of 1 x 16 Bit

 High-Resolution Extension
 4x of chip clock = up to 128 MHz (256 MHz) operation

 Advanced Waveform Extension





Inverted and Non-inverted PWM Outputs
Dead Time Insertion
Fault protection mechanism
Available in all devices, but on 1-2 timer/counters only

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Real Time Counter
 Separate Timer for Asynchronous Clock
 Independent of other Timer/Counters

 Works in Power Save, Idle and Active mode

 16-bit timer with Programmable Prescaler
 Prescaler provides 1 Hz – 32 kHz input
 Programmable top value
 Compare register
 Max timeout 65 536 seconds (= more than 18 hours)

 Can generate Events and Interrupts
 Both overflow and compare match

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Clock Options
 32- and 2 MHz internal RC osc.
 +/- 1% accuracy over temp and
voltage with automatic run-time
calibration

 32.768 kHz internal RC osc.
 +/- 2% accuracy over temp and
voltage

 400 kHz – 16 MHz Crystal osc.
 For accurate timing in application

 32.768 kHz Crystal oscillator
 for 32 kHz watch crystal

 500 nA current consumption

 32 kHz ULP RC oscillator
 For WDT and BOD
 1A power consumption

 Internal PLL for high-freq clock
generation
 400 kHz – 32 MHz input

 8 – 128 MHz output
 Max 32 MHz output to main
system clock

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Serial Communication Modules
 USART
 Full duplex asynchronous or synchronous operation
 Can also be SPI master
 Baud Rate Generator with fractional divider
- UART frequency crystals not needed

 SPI – Serial Peripheral Interface
 Full duplex, three-wire synchronous data transfer

 TWI – Two Wire Interface
 I2C compatible
 SMbus compatible
 Fast data rate on slow chip clock
- Clock / 10 for master operation
- Asynchronous slave operation
http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA A USB Device
 USB added to all XMEGA A products
 New ordering codes for all XMEGA A with USB
 ATxmega128A1-AU -> ATxmega128A1U-AU

 USB 2.0 Compliant Device
 Low and Full speed operation
 32 configurable endpoints

 High throughput with minimim CPU load
 Support DMA and large transactions without interrupt

 Free device class software library
 CDC, DFU, HID, Mass Storage, Audio, ...

141
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Crypto engine
 AES
 128-bit key length

 Encryption of 16 bytes in 375 clock cycles
 Decryption of 16 bytes in 375 clock cycles

 DES
 56-bit key length
 Encryption of 8 bytes in 16 clock cycles
 Decryption of 8 bytes in 16 clock cycles

 Supports up to 4 Mbps AES encrypted communication
 Supports up to 3.2 Mbps Tripple-DES encrypted communication
http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

Crypto Performance
 AES an DES crypto for high speed encrypted communication
 Offload CPU and reduce power
Max encrypted
communication rate

UART

SPI

Vs. Software

128-bit AES

4 Mbps

3.2 Mbps

10x faster

Tripple-DES

3.2 Mbps

2.3 Mbps

100x faster

 XMEGA with crypto is authorized for export to all contries
 ECCN 5A002A.1

 XMEGA enables crypto communication for low power applications

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA I/O Pins
 IN, OUT and DIR registers for safe read modify write operations
 Virtual registers for easy pin manipulation



Move IN, OUT and DIR control to bit addressable memory area
Port Toggle, Clear and Set registers for easy and glitch free pin manipulation

 Advanced pin configurations
Push-pull

Push-pull w/ buskeeper

http://www.atmel.com

Push-pull w/pull-up

Wired AND w/ optional pull-up

Push-pull w/pull-down

Wired OR w/ optional pull-down

October 13
ELEKTOR live 2013 – AVR Microcontroller

2nd generation picoPower
 All picoPower features included
 New sampled BOD

 New low power Watchdog Timer
 New Event system controls peripherals in Idle mode
 New DMA moves data in Idle mode

 Lowest power consumption
 100 nA Power Down (RAM retention)

 550 nA Power Save (Real Time Counter)
 5 µs wake-up from sleep

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

2nd generation picoPower
 Industry leading in low power applications

 True 1.6V operation
 Flash, Analog, EEPROM, Oscillators down to 1.6V
 Enable 1.8V +/-10% power supply

 Lowest power 32 kHz Crystal Oscillator
 550nA RTC

 Low leakage Process Technology
 100nA for all devices

 1 µA Watchdog and Brown-Out

146
146

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Special Features
 Calibration memory

 Oscillator failure detection

 Readable from application

 Memory lock bits

 Factory calibration

 Brown-Out Detector

 User calibration
- Can be modified by customer

 Not affected by Chip Erase or
SPM

 Serial numbers
 Unique identifier
 Random number seed

 Dynamic Clock Switching

 Very fast
 Low power
 Off, 1 kHz sampled or On

 Watchdog Timer
 Separate oscillator

 Clock generation
 Clock output

 CRC checksums
 Available on locked devices

http://www.atmel.com
ELEKTOR live 2013 – AVR Microcontroller

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

XMEGA B Family Overview
 Adds LCD to XMEGA family
 Reuse modules from XMEGA A
and XMEGA D
 XMEGA B family:






64 – 100 pins
64 – 256 KB Flash
6 – 32 KB SRAM
LCD driver
1.6 – 3.6V operation
- 12 MHz from 1.6V
- 32 MHz from 2.7V

 XMEGA B Features









Segment LCD driver
USB Device + Host
Up to 3 16-bit Timer/Counter
Up to 2 USART, 1 SPI, 1 TWI
12-bit 200 ksps ADC w/gain
2 Analog Comparators
Event System
CRC-16/32 support

150
150

Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

XMEGA C Family Overview
 Adds USB Host to XMEGA family
 Compatible to XMEGA D, but adds
USB Device and Host
 XMEGA C family:

 XMEGA C Features

 64 pins

 USB Device + Host

 64 – 256 KB Flash

 5 16-bit Timer/Counter

 4 – 16 KB SRAM

 3 USART, 2 SPI, 1 TWI

 1.6 – 3.6V operation

 12-bit 200 ksps ADC w/gain

- 12 MHz from 1.6V

 2 Analog Comparators

- 32 MHz from 2.7V

 Event System

- USB from 2.7 to 3.3V

 CRC-16/32 support

153
153

Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

XMEGA C USB Module
 USB 2.0 Compliant Device and Host
 Low and Full speed operation, up to 12 Mbps

 32 Endpoints - maximum number in USB specification
 Easy to use
 High throughput
 Ping-pong mode to increase bandwidth
 Multi-packet feature to reduce number of interrupts

 Data buffers and endpoint configuration in SRAM
 Low cost with maximum flexibility

 Only the amount of SRAM needed will be allocated

 USB pins multiplexed with I/O pins, no dedicated pins
 3.0 to 3.6V VCC during USB communication
Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

XMEGA D Family Overview
 Lowest cost XMEGA family
 Compatible to XMEGA A with
reduced feature set
 XMEGA D family:

 XMEGA D Features

 44 – 64 pins

 Up to 5 16-bit Timer/Counter

 16 – 256 KB Flash

 Up to 3 USART, 2 SPI, 1 TWI

 2 – 16 KB SRAM

 12-bit 200 ksps ADC w/gain

 1.6 – 3.6V operation

 2 Analog Comparators

- 12 MHz from 1.6V

 Event System

- 32 MHz from 2.7V

155
155

Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E target specification






Sixteen-channel 12-bit 300 ksps ADC
Two-channel 12-bit 300ksps DAC
Two Analog Comparators
Two standard 16-bit Timer/Counters
One high-end 16-bit Timer/Counter









Optimized for ballast, LED, induction control, DC/DC supply/converter, motors,
buck/boost converter, wireless charger, battery charger

RTC with digital calibration and correction for XTAL error
Two USARTs with master SPI
I2C master and slave, up to 1MHz support
One SPI
4-channel peripheral DMA controller
Device
Flash
8-channel event system


Asynchronius event routing

RAM

EEPOM



26 I/O pins

32KB

4KB

1KB

ATxmega16E5

 32-pin packages

ATxmega32E5

16KB

2KB

1KB

ATxmega8E5

8KB

1KB

512b
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E Analog to Digital Converter
 300 ksps
 12 bit resolution
 Single or continuous conversion modes
 Connected to Event System
 Connected to DMA Controller
 Internal and External voltage references
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E Digital to Analog Converter
 12 bit resolution
 Up to 300 ksps conversion rate
 Connected to Event System
 Connected to DMA Controller
 Two independent output channels
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E Analog Comparators
 Selectable hysteresis
 0, ~20mV, ~50mV selectable
 Flexible input selections
 Any analog input pin
 Bandgap voltage reference
 64-level VCC scaler
 Interrupts and events generation
 Window compare function by combining 2 comparators
 Detect level inside or outside window
 Possible to have comparator output on a pin
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E Timer/Counter
 One 16-bit timer/counter type 4 (high end)
 4 Output Compare Channels with 8 outputs
- 4 non-inverted output (High Side)
- 4 inverted output (Low Side)

 Dead-time insertion between high- and low-side

 Fault protection with asynchronous PWM shut-down
- Multiple and selectable triggers and restart conditions

 High-resolution extension
- Increase PWM resolution up to eight times (4 nS period)

 Two 16-bit timer/counters type 5 (standard)
 2 Output Compare or Input Capture Channels
 High-resolution extension
ELEKTOR live 2013 – AVR Microcontroller

Serial Communication Modules
 USART
 Full duplex asynchronous or synchronous operation

 SPI master mode
 Baud Rate Generator with fractional divider
- UART frequency crystals not needed
 SPI – Slave Serial Peripheral Interface
 Full duplex, three-wire synchronous data transfer
 Double buffered receive and transmit
 TWI – Two Wire Interface
 One master operation interface
 One slave operation interface
 100kHz, 400Khz and 1MHz operation
 I2C and SMbus compatible
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E Real Time Counter
 Separate Timer for Asynchronous Clock
 Independent of other Timer/Counters
 Works in Power Save, Idle and Active mode

 16-bit timer with Programmable Prescaler





Prescaler provides 1 Hz – 32 kHz input
Programmable top value
Compare register
Max timeout 65 536 seconds (= more than 18 hours)

 Can generate Events and Interrupts
 Overflow and compare match

 Digital calibration and correction for 32-768kHz XTAL error
 Correction of mount error down to +/- 1 ppm accuracy
ELEKTOR live 2013 – AVR Microcontroller

XMEGA Custom Logic Overview (XCL)
 Two independent units including:
 8-bit timer/counter
 Glue logic with programmable look up table (LUT)
- Defines a truth table of logical condition between inputs
- Delay elements for filter and synchronistaion

 Can be cascaded for more powerful features
 16-bit timer/counter, larger LUT
CPLD
CPLD0
Timer/Counter

Control Logic
Timer Period
Counter
Delay
Glue Logic

I
N
T
E
R
C
O
N
N
E
C
T

CPLD1
Timer/Counter

Control Logic
Timer Period
Counter
Delay
Glue Logic

Prescaler
I/O Pins
Event System
USARTs
Interrupts
Events

CLKPER
ELEKTOR live 2013 – AVR Microcontroller

AVR XMEGA E XCL - 8-bit Timer/Counters
 Two 8-bit timer/counter, with 16-bit cascade otion





Normal operation
Single-slope PWM
Input capture and frequency capture
LUT input

 Peripheral configuration:
 Receive events from selectable USART
- For count and restart actions,

 Provide event to USART

 Applications:
 UART, USART, master SPI with variable data length in
- 1 – 256-bit data lenght wthout software and I/O pin overhead

 Enables LIN and DALI communication
 Sensor applications: no IO pin need to signalize slot where data is
valid
ELEKTOR live 2013 – AVR Microcontroller

AVR® XMEGATM – Basics

XMEGA Training: Basics
ELEKTOR live 2013 – AVR Microcontroller

Introduction (1/2)
 AVR XMEGA datasheet information is divided in two parts:
Family Manual

Device datasheets

ATxmega A manual

ATxmega64A1 / 128A1 / ...
ELEKTOR live 2013 – AVR Microcontroller

Introduction (2/2)
 AVR XMEGA has more advanced header files for C programming than
previous AVRs.

 Slightly different syntax
 More advanced, not more complicated
 Better use of the features in the C language
ELEKTOR live 2013 – AVR Microcontroller

The header file differences
 What is different?
 structs are used for registers of a peripheral

 Bit masks, bit positions, group masks, group configurations for configuring
bits in each register

 Why the change?
 Easier to configure registers correctly
 Much easier to write generic drivers
ELEKTOR live 2013 – AVR Microcontroller

Register Names
 Longer descriptive names preferred over complex short forms
 DDRA is now PORTA.DIR

 PINA is now PORTA.IN
 UCSR0A is now USARTC0.CTRLA (This is USART 0 on port C)

 Try to avoid control-and-status registers
 Easier to read, write, and remember
 Application Note AVR1000
ELEKTOR live 2013 – AVR Microcontroller

Register configuration

 Bit position
 PORT_SLREN_bp = 7

 Bit mask
 PORT_SLREN_bm = 0b1000 0000 = 0x80

 Group mask
 PORT_OPC_gm = 0b0011 1000 = 0x38

 Group configuration
 PORT_OPC_PULLUP_gc = 0b0001 0000 = ( 0x02 << 3)
ELEKTOR live 2013 – AVR Microcontroller

Bit mask/bit position
 Use bit mask directly for setting a bit:
 PORTD.PIN0CTRL |= PORT_SRLEN_bm

 Or alternatively use bit position (like Mega/Tiny AVR):
 PORTD.PIN0CTRL |= ( 1 << PORT_SRLEN_bp )

 XMEGA header file definition:
#define PORT_SRLEN_bm 0x80 // Slew Rate Enable bit mask
#define PORT_SRLEN_bp 7 // Slew Rate Enable bit position
ELEKTOR live 2013 – AVR Microcontroller

Register Bits usage
 Single control and status bits
 Mask PORT_INVEN_bm and position PORT_INVEN_bp

 Set bit:
- PORTA.PIN0CTRL |= PORT_INVEN_bm;
PORTA.PIN0CTRL |= (1 << PORT_INVEN_bp);

 Clear bit:
- PORTA.PIN0CTRL &= ~PORT_INVEN_bm;
PORTA.PIN0CTRL &= ~(1 << PORT_INVEN_bp);
ELEKTOR live 2013 – AVR Microcontroller

Group mask
 Useful for clearing all bits of a specific configuration in a register
 Example:
 PORT_OPC_gm

 XMEGA header file definition:
 #define PORT_OPC_gm 0x38 // Output/Pull Configuration
group mask

 #define PORT_OPC_bp 3 // Output/Pull Configuration group
position
ELEKTOR live 2013 – AVR Microcontroller

Group configuration
 Group configuration
 One specific configuration of a group of bits

 Group configurations defined as enum in header file
 typedef enum PORT_OPC_enum { … } PORT_OPC_t;
 Value something defined as PORT_OPC_something_gc
 Enumerator types useful as function parameters – automatic checking
ELEKTOR live 2013 – AVR Microcontroller

Group configuration
 Example:
 PORT_OPC_PULLDOWN_gc
 All available configurations are shown in the XMEGA manual
ELEKTOR live 2013 – AVR Microcontroller

Group mask and group configuration usage
 Changing configuration – compact and efficient

 Clear all bits of previous configuration and set new configuration:
 PORTA.PIN0CTRL = ( PORTA.PIN0CTRL &
~PORT_OPC_gm ) |
PORT_OPC_PULLDOWN_gc;
ELEKTOR live 2013 – AVR Microcontroller

XMEGA header files
 If the definitions on the previous slides do not make sence to you:

 Don’t need to know how the peripherals are defined, but how to use it:
 PORTA.OUT = 0xff
 unsigned char value = PORTB.IN
ELEKTOR live 2013 – AVR Microcontroller

XMEGA I/O Ports
 Direction control
 PORTx.DIR

 Input and output
 PORTx.IN and PORTx.OUT

 Manipulation of direction register bits
 PORTx.DIRSET, PORTx.DIRCLR, and PORTx.DIRTGL

 Manipulation of output register bits
 PORTx.OUTSET, PORTx.OUTCLR, and PORTx.OUTTGL

 Application Note AVR1313
ELEKTOR live 2013 – AVR Microcontroller

XMEGA I/O Ports
ELEKTOR live 2013 – AVR Microcontroller

Output and Pull Configuration
 Individual pin control
 Pull-up or pull-down
 PORT_OPC_PULLUP_gc or PORT_OPC_PULLDOWN_gc

 Wired-AND or wired-OR
 PORT_OPC_WIREDAND_gc or PORT_OPC_WIREDOR_gc

 Bus keeper support
 PORT_OPC_BUSKEEPER

 Application Note AVR1313
ELEKTOR live 2013 – AVR Microcontroller

Configuring multiple pins
 Several pins can be configured at the same time

 MPCMASK register sets which pins are affected
 The following configuration of a pin is applied to all pins set in
MPCMASK
 Example:
 PORTA.MPCMASK = 0x0F;
 PORTA.PIN0CTRL =
( PORTA.PIN0CTRL & ~PORT_OPC_gm ) |
PORT_OPC_PULLUP_gc ;
→ All pins configured as pullup
ELEKTOR live 2013 – AVR Microcontroller

Pointers to Peripheral Modules
 Allows for generic code and drivers
 Access modules through pointers

 Some overhead when dereferencing pointers
 Great flexibility, saves code space

 Module struct allows for pointer referencing
 PORT_t * ledPort = &PORTD;
 void SetLEDs( PORT_t * port, unsigned char value );
ELEKTOR live 2013 – AVR Microcontroller

Timer/Counter
 Wide range of 8- and 16-bit Timer/Counters (TCNT)
 The AVR Timer/Counters can use various clock sources
 Main CPU clock
 Internal High speed PLL
- High speed, 64MHz

 By external clock source
- Max speed XTAL/2

 External 32kHz asynchronous crystal
 All clock sources can be pre-scaled before being fed to the Timer/Counters

 T/C are interrupt driven and controlled through the AVR IO memory

184
ELEKTOR live 2013 – AVR Microcontroller

Timer/Counter Features
 Overflow detection with interrupt
 Compare match detection with Interrupt




Own compare value registers
Pin change on compare match
TCNT clear on compare match

 Input Capture with Interrupt and Noise Canceller



Own capture counter value register
Input capture by the Analog comparator

 Real Time Counter with 32 kHz oscillator


Asynchronous to the main clock; separate 32kHz Crystal

 Pulse width Modulation (PWM) functionality





Selectable 2-Bit to 16-Bit Resolution on devices with 16-Bit Timer
High speed, up to 250kHz
Phase and Frequency Correct
PWM mode
Variable TOP value

Relevant Application Notes
AVR134 AVR304
185
ELEKTOR live 2013 – AVR Microcontroller

ERGÄNZUNGEN ZU UC3A3 (AUDIO) & UC3L

www.atmel.com

October 13
AVR and AVR32 TMM Call 4. May 2009

EVK1105 Digital Audio Gateway
ELEKTOR live 2013 – AVR Microcontroller

EVK1105 Digital Audio Gateway
Reference Design
 EVK1105 demonstrates the full potential of AVR32 AT32UC3A0512 in
digital audio applications
 Software audio decoders


Be prepared for changes in digital audio formats

 Complete HW and SW Reference Design






Play MP3 and WMA from a USB Mass Storage device
Control your iPod
Prepared for Internet radio
Prepared for Bluetooth®
Prepared for IEEE 802.15.4 / Zigbee PRO

Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

EVK1105 Digital Audio Gateway
Target Applications
 USB Docking Station
 MP3 Player / iPod
 Mobile Phone / PDA
 Camera

 SD Card Player
 Car Radio
 Home Stereo
 Internet Radio
 Speaking appliances

Mar 2009

1
AVR and AVR32 TMM Call 4. May 2009

AT32UC3A3
ELEKTOR live 2013 – AVR Microcontroller

Introducing the new AVR32 AT32U3A3
 Audio playback


Single chip solution



Software audio decoding



High quality playback



iPod docking

 High speed communication


Hi-Speed USB



Dual SD card



NAND w/MLC ECC



Distributed SRAM

 Target Markets


Audio Playback



USB to SD Card Bridges



USB Dongles



USB Tokens
Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

AVR32 UC3A3 – It is all about true performance

Instr.

MemIF
SRAM
64 KB

Data

 Improved DMA transfer speed
 Peripheral DMA

6-layer High Speed Bus Matrix

 Memory to Memory DMA
Peripheral Bridge

Peripheral DMA
Controller: 18 channels

USB
On-The-Go

 Eliminate on-chip
communication bottleneck
 Avoid DMA collision
 Remove delay and latency

PDC

PDC

PDC

PDC

USART

SPI
x2

TWI
x2

SSC
x1

x4

PDC

Timer PWM
3 ch 3 ch

PDC

ADC
8 ch

Audio
DAC

User Peripherals

Mar 2009

1

EBI / ECC

MPU

SRAM 32 KB

 2 x 32 KB BUS SRAM

AVR32 CPU
66 MHz

Flash

 64 KB dual port CPU RAM

JTAG/
Nexus
OCD

SRAM 32 KB

 128 KB SRAM on-chip SRAM
split into 3 regions
ELEKTOR live 2013 – AVR Microcontroller

EVK1104 – AVR32 UC3A3 Evaluation Kit

Mar 2009

1
AVR and AVR32 TMM Call 4. May 2009

AT32UC3L - picoPower
ELEKTOR live 2013 – AVR Microcontroller

UC3L
 picoPower™ Technology


Industry’s lowest power consumption



Down to 0.5 mW/MHz



1.6µA with RTC running



100nA in Shutdown mode



SleepWalking™



1.62 – 3.6V operation

 Integrated Hardware QTouch


Use QTouch as any other peripheral



Wake up from sleep with a touch button

 FlashVault™ code protection


Partially program and lock the flash



Protect your software IP

Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

UC3L – Further Cutting Edge Innovations
Improved Reliability and Reduced Cost

 Peripheral Event System
 PWM on all GPIO pins
 High precision clock system








Digital frequency lock loop
Crystal osc. precision tuner
Clock failure protection
Ultra low power oscillators
Frequency meter
RTC with calendar mode
Windowed watchdog timer

 9 channel 12 bits ADC
 8 channel Analog Comparator
 Advanced Debug Functionality
 Advanced Trace

Mar 2009

1
ELEKTOR live 2013 – AVR Microcontroller

QUIZ MIT PREISVERLEIHUNG

www.atmel.com

October 13
ELEKTOR live 2013 – AVR Microcontroller

www.atmel.com

October 13

AVR Microcontroller

  • 1.
    ELEKTOR live 2013– AVR Microcontroller AVR® Microcontroller Andreas Riedenauer Ineltek Mitte GmbH http://www.atmel.com
  • 2.
    ELEKTOR live 2013– AVR Microcontroller Agenda  Warum gerade die? Die AVR Familie kurz vorgestellt.  Neue Bausteine. Neue Features.  Die Spezialisten: AVRs mit Sonderausstattung.  A-Note für A-Typen  Randgebiete: Die Peripherie.  42: die Antwort auf mehr als eine Frage. Hardware Design.  13 Jahre FAE – und ein bisschen weiser. Tipps und Stolperfallen.  Gut versteckt im Datenblatt.  Rechenleistung statt elektrische Leistung.  Doppelte Sicherheit – Security und Safety  Touch me – kapazitiv.  Werkzeugkasten: Was brauche ich für den Start?  Was jetzt – Assembler oder C?  Wir fangen an: ein erstes Projekt mit Studio6  Wieso „Entwanzen“?  Wie geht´s weiter?  Quiz mit Preisverleihung www.atmel.com October 13
  • 3.
    ELEKTOR live 2013– AVR Microcontroller WARUM GERADE DIE? DIE AVR FAMILIE KURZ VORGESTELLT. www.atmel.com October 13
  • 4.
    ELEKTOR live 2013– AVR Microcontroller AVR Flash Microcontrollers 32-bit AVR UC3 The highest performance AVR in the world 8/16-bit AVR XMEGA Peripheral Performance 8-bit megaAVR The world’s most successful MCU family 8-bit tinyAVR Small packages, big performance http://www.atmel.com
  • 5.
    ELEKTOR live 2013– AVR Microcontroller AVR CPU  AVR CPU  Harvard architecture  True single cycle execution  Up to 20 MIPS at 20 MHz  32 General Purpose registers  Xmega…  Up to 32 MHz CPU / 128 (256) MHz T/C  Adds DMA Controller  Adds flexible Event System  Adds Programmable Multi level Interrupt Controller http://www.atmel.com
  • 6.
    ELEKTOR live 2013– AVR Microcontroller Atmel 10/16/2013
  • 7.
    ELEKTOR live 2013– AVR Microcontroller Leading 8-bit Architecture  RISC architecture with CISC instruction set  Single cycle execution  Harvard Architecture  Simultaneous, fast access to registers  Separate memories and buses for program and data  32 Working Registers (8 bit GPR)  16-bit Stack Pointer  22-bit Program Counter  Up to 20MHz System clock (Xmega: 32 MHz) 8
  • 8.
    ELEKTOR live 2013– AVR Microcontroller 32x8-bit General Purpose Registers  32 Accumulator Registers with 8 bit  3 register pairs for16-bit data pointers  Instructions with auto increment, decrement and displacement of pointers  Z Pointer suited for look up tables and indirect jump (Flash)  Direct address of up to 64K R0 R1 R2 X Pointer Y Pointer Z Pointer R26 R27 R28 R29 R30 R31 XL XH YL YH ZL ZH 9
  • 9.
    ELEKTOR live 2013– AVR Microcontroller General Purpose IO Registers - GPIOR  IO mapped variable registers  Bit variables  General variables  Status Flags  ...  Up to three registers per device  Fast access through SBI, CBI, SBIS, and SBIC instructions  GPIOR within the address range 0x00 - 0x1F only 10
  • 10.
    ELEKTOR live 2013– AVR Microcontroller Single Cycle Instruction Execution Register File Register operations take ONE clock pulse on the EXTERNAL clock input ALU 11
  • 11.
    ELEKTOR live 2013– AVR Microcontroller Common for all standard AVRs  Self-programming FLASH program memory  In-System Programming within the whole voltage range  Internal calibrated RC Oscillator  Internal SRAM and EEPROM  debugWIRE or JTAG OCD support 12
  • 12.
    ELEKTOR live 2013– AVR Microcontroller AVR - Designed for C Programming  Architecture and instruction set co-designed with C-Compiler vendor  Compiler development project initiated before architecture and instruction set frozen  Compiler experts’ advice implemented in hardware  Potential HLL bottlenecks identified and removed  The design process resulted in  Instruction set support for 16-bit arithmetic operations  32 working registers which eliminate move to and from SRAM  Single Cycle execution 13
  • 13.
    ELEKTOR live 2013– AVR Microcontroller Program Memory and Data Pointers  Stack Pointer + Three Data pointers  One or two pointers + SP is common for 8-bit  Code efficient memory to memory copy  Pointer handling similar to C- language  Auto Increment/Decrement  Indirect with Displacement - Efficient for accessing arrays and structs - Efficient when placing local variables on Software Stack C Source code unsigned char *var1, *var2; *var1++ = *--var2; Assembly code LD ST R16,-X Z+,R16 14
  • 14.
    ELEKTOR live 2013– AVR Microcontroller Interrupt System Features  All AVR peripherals are handled through IO registers (SFR)  Automatic interrupt flag clearing  Automatic disable of other interrupts inside the interrupt routine  Each interrupt has its own vector and interrupt handler  Short response time  4 Clock Cycles + RJMP to interrupt handler Interrupt Routine 2 Interrupt Routine 1 Normal Mode INT2 flag INT1 flag I flag 15 TIME
  • 15.
    ELEKTOR live 2013– AVR Microcontroller NEUE BAUSTEINE. NEUE FEATURES. www.atmel.com October 13
  • 16.
    ELEKTOR live 2013– AVR Microcontroller www.atmel.com October 13
  • 17.
    ELEKTOR live 2013– AVR Microcontroller Some New Features  Modern Attiny Controllers with Features like  Pico Power Technology  Hardware USART  Self Programming  Precisio n RC Oscillator  HW Support für Cap. Touch / Proximity Detection  32 Pin ATxmega E5 Series (see also Xmega chapter)  ADC with up to16 Bit Oversampling Hardware Support  Asynchoronous Event System  Glue Logic 18
  • 18.
    ELEKTOR live 2013– AVR Microcontroller DIE SPEZIALISTEN: AVRS MIT SONDERAUSSTATTUNG. www.atmel.com October 13
  • 19.
    ELEKTOR live 2013– AVR Microcontroller Application Specific Processors (ASSPs)  USB  CAN  PWM  Battery Management  MCU Wireless 20
  • 20.
    ELEKTOR live 2013– AVR Microcontroller CAN Introduction  ISO standard (ISO 11898) for serial communication  developed 1980 by BOSCH for automotive applications  Asynchronous Serial Bus  Absence of node addressing      Message identifier specifies contents and priority Lowest message identifier has highest priority Non-destructive arbitration system by CSMA with collision detection Multi-master / Broadcasting concept Sophisticated error detection & handling system *  CAN has gained widespread use  Industrial Automation  Automotive, …etc. 22
  • 21.
    ELEKTOR live 2013– AVR Microcontroller Why CAN?  Mature Standard  Hardware implementation of the protocol  Simple Transmission Medium  Excellent Error Handling (CRC)  Fault Confinement  Most used protocol in industrial and automotive world  Best Performance / Price ratio 23
  • 22.
    ELEKTOR live 2013– AVR Microcontroller Motor Control: PWM3 Focus  3 Phase Brushless DC Motor  HVAC (Heating, Ventilating, Air Conditioning)  Refrigerators  Fans  Pumps  High tech Industrial, constant speed applications  Traction elevator  Medical equipment  Hard disk, CD drives   3 Phase Induction AC Motor Automotive  HVAC  Washing machine  Blowers  Fans  Pumps  Industrial control 27
  • 23.
    ELEKTOR live 2013– AVR Microcontroller AT90PWMx Family  ATmega AVR with enhanced features for light ballast and motor control  Power Stage Controller (PSC)  synchronized PWM channels for 3 phase motors  Fast emergency shut down of PWM outputs (only few 10 ns)  Adjustable dead-band control  Over current protection  64 MHz PLL, providing 12-bit PWM accuracy up to 16 KHz  Analog synchronized with PSC  DALI - Digital Addressable Lighting Interface  Integrated Power Factor Correction (PFC)  10 Bit D/A with output driver (impedance < 1KOhm)  3 comparators for Back EMF for Sensorless motors 28
  • 24.
    ELEKTOR live 2013– AVR Microcontroller From PWM Channels BLDC Motor Application Hall sensors to INT (sensor) Back EMF to ADC (sensor-less) 0 1 2 3 4 5 D R I V E R S 0 2 4 C U + C V 1 3 N S 5 C W To amplifier and ADC for regulation To comparator for emergency stop 29
  • 25.
    ELEKTOR live 2013– AVR Microcontroller 3 Phases Induction AC Motor Application Hall sensors to INT From PWM Channels Tachometer to ADC 0 1 2 3 4 5 D R I V E R S 0 2 4 C U + C V 1 3 5 C W To amplifier and ADC for regulation To comparator for emergency stop 30
  • 26.
    ELEKTOR live 2013– AVR Microcontroller Requirements for a 3-phase AC Motor Control MCU PWM cycle PWM cycle 0 2 4 U 0 + U V W - 1 V 2 3 1 3 5 W 4 5 Mandatory min. Dead Time  Up to 6 Synchronous PWM channels (12 bit precision or more)  PWM Timer Min clock frequency = 64MHz for 12 bit precision, 12KHz  Minimum dead time controlled by hardware for all 6 channels  All PWM must be disabled by hardware (Input) when overcurrent  Capability to support Scalar Algorithm and Space Vector Algorithm  10 to 16 MIPS for 3 phase AC induction with Space Vector Algorithm 31
  • 27.
    ELEKTOR live 2013– AVR Microcontroller Sensorless control of two-phase fan  AVR440 - sensorless control of two-phase BLDC fan  Patent filed – method can only be used with AVR microcontrollers  B-EMF voltage over passive winding used to time commutation.  Advantage  Hall-sensor can be eliminated to reduce fan cost  Disadvantage  Difficult to run the fan a very low speed  Requirements  Up-down PWM counter  PWM triggered ADC 33
  • 28.
    ELEKTOR live 2013– AVR Microcontroller Sensor based control of two-phase fan  AVR441 - two-phase BLDC fan with two speed references  E.g. Host and temperature sensor  Autonomous fan speed  Temperature sensor in  AVR442 - two-phase BLDC fan with TWI     Also uses integrated temp sensor Autonomous fan speed TWI/SMBus control multiple fans Advanced fan feedback 34
  • 29.
    ELEKTOR live 2013– AVR Microcontroller Sensor based control of 3-phase BLDC motor  AVR443, AVR448 – Three-phase BLDC motor  GPIO/PWM controls high side driver  PWM controls low side driver  Current sensing  Requirements  3/6 PWM channels and PWM triggered ADC 35
  • 30.
    ELEKTOR live 2013– AVR Microcontroller Sensor based control of 3-phase BLDC motor  AVR492 – sensor based control of three-phase BLDC motor     PWM on both high and low side driver Current control: ADC Overcurrent detection via on-chip comparator Adaptive fault detection using DAC possible  Performance  CPU: 18% @ 8 MHz, 14K RPM  Code: 3175 bytes (38%)  RAM: 285 bytes (55%) 36
  • 31.
    ELEKTOR live 2013– AVR Microcontroller Sensorless control of 3-phase BLDC motor  AVR444 – sensorless control of three-phase BLDC motor   PWM on both high and low side driver Current control  Advantage    Low cost microcontroller Low cost motor without sensors Automotive qualified (ATmega48 fam)  Disadvantage   Very low speed not possible Startup routine requires known load  Requirements   6 PWM channels PWM triggered ADC 37
  • 32.
    ELEKTOR live 2013– AVR Microcontroller Sensorless control of 3-phase BLDC motor  AVR493 – sensorless control of three-phase BLDC motor  PWM on both high and low side driver  Current control using ADC  Zero Crossing Back-EMF using three on-chip comparators  Advantage  No ADC polling gives faster zero cross detection for Back-EMF  Hardware emergency shutdown  Communication: UART/SPI/LIN  Target devices  AT90PWM3 38
  • 33.
    ELEKTOR live 2013– AVR Microcontroller Sine wave driving of permanent magnet motor  AVR447 – Sine wave driving of permanent magnet motor  Uses three hall sensors for sine wave synchronization / speed control  No encoder / tacho needed  Advantages  Low torque ripple  Low cost microcontroller  Speed control  Full featured solution - Safe startup w/synchronisation - Turning - Reverse rotation detection  Disadvantages  More CPU intensive than block commutation 39
  • 34.
    ELEKTOR live 2013– AVR Microcontroller Control of 3-phase AC Induction Motor  AVR494 / AVR495 – control of three-phase ACIM  V/f control  Space vector modulation  Complex algorithms  Speed PID control  Advantage  Hardware shutdown  Hardware deadband  Comm.: UART/SPI/LIN  Target devices  AT90PWM3 40
  • 35.
    ELEKTOR live 2013– AVR Microcontroller AUTOMOTIVE AVR www.atmel.com October 13
  • 36.
    ELEKTOR live 2013– AVR Microcontroller AVR für Automotive CMOS Process for Automotive µC  35K5 (AVR8)  0.35µm NVM CMOS  1.8V to 5V  Qualified up to 85°C, 105°C, 125°C and now 150°C  35K7 (AVR8)  0.35µm NVM CMOS  40V Breakdown voltage  18V operation  58K8/58K85 (ARM & AVR32)     0.18µm NVM CMOS Core at 1.8V - I/O at 3V – I/O 5V tolerant Qualification in progress up to 105°C 58K as ROM version 42
  • 37.
    ELEKTOR live 2013– AVR Microcontroller Automotive versus Industrial  Main difference between Automotive parts and Industrial parts is the Quality Level (EFR in PPM and LFR in FIT) and traceability  Parts have to be designed for automotive  Specific libraries  Specific analog IPs  Specific NV Memories  Simulated on the full temperature range  Guaranteed margin by process corner simulation  Parts have to be characterized for automotive  To know the robustness of the design versus process variation  Parts have to be screened during manufacturing  To remove any outliers  To bring PPM level from 100 to Sub-1  PPAPs on request (Production Part Approval Process) 43
  • 38.
    ELEKTOR live 2013– AVR Microcontroller Industrial versus Automotive Screening  Qualification Industrial Automotive Reference to Standard ATMEL CPQ-2001 AEC*-Q100 Grade 2 Electrical Distribution 1 Wafer Lot 3 Wafer Lots with Corner Lots 3 lots of 300 pieces 3 lots of 800 pieces 1 lot of 77 pieces 3 lots of 77 pieces at 3 Temperatures Wafer Level Data Retention No 168h at 250oC long term aging Post Thermal Cycle Wire Pull No Cpk** > 1.33 Industrial Automotive > 20PPM 1PPM 85PPM 1PPM 8 FIT 1 FIT*** ELFR: Early Life Failure Rate NVM Program/Erase Endurance test  Quality Targets AOQ: Average Outgoing Quality ELFR LFR: Latent Failure Rate (Long Term) *AEC = Automotive Electronics Council ** Cpk = Critical Parameter Index *** FIT = Failure In Time (10 -9/Oper. Hours) 44
  • 39.
    ELEKTOR live 2013– AVR Microcontroller Automotive Quality Requirement  AEC-Q100    STRESS TEST QUALIFICATION FOR INTEGRATED CIRCUITS Defined by the Automotive Electronics Council 5 grades - Grade 0: -40°C to +150°C Grade 1: -40°C to +125°C Grade 2: -40°C to +105°C Grade 3: -40°C to +85°C Grade 4: 0°C to +70°C ambient operating temperature range  0 PPM – Zero Defect  ISO TS16949 certification  FMEA (Failure Mechanism and Effect Analysis)  APQP (Advanced Product Quality Planning)  PPAP/PSW (Production Part Approval Process / Part Submission Warrant ) Specific Methodology, Specific Products, Specific Production Flow (Screening), Specific Qualified plants and subcontractors 45
  • 40.
    ELEKTOR live 2013– AVR Microcontroller Microcontroller - Overview  AVR-8  Subset of products qualified according to - AECQ100-Grade1 from –40°C up to 125°C - AECQ100-Grade0 from –40°C up to 150°C  AVR-32  Preliminary targets - Vision/Image processing for Safety Application - Flexray application (Backbone and XbyWire)  Secondary target: Multimedia & Infotainment 46
  • 41.
    ELEKTOR live 2013– AVR Microcontroller High Temperature operating AVRs  Up to 150°C ambient temperature  Unique on the Market  Thanks to very stable Non Volatile Memory cell (E2Prom)  Qualification according to AEC-Q100 Grade 0  Many applications in engine management and gear box  Interface to Sensors or Actuators  Throttle/Valve management, Torque sensor, Turbo Charger, Injectors, Fan control 47
  • 42.
    ELEKTOR live 2013– AVR Microcontroller A-NOTE FÜR A-TYPEN www.atmel.com October 13
  • 43.
    ELEKTOR live 2013– AVR Microcontroller Why process migration?  Atmel used proprietary 35k5 process  New 35k4 process compatible to manufacturing at foundry  Improve manufacturing and product sourcing flexibility  Yield optimization and parameter tuning  Reduced Active and Idle mode current by optimized routing October 13 4
  • 44.
    ELEKTOR live 2013– AVR Microcontroller Technology of the New Process  Metal shrink  Transistors identical to existing process  Standard cell library redesigned  Transistors placed closer in new process  Signal lines takes less space October 13 5
  • 45.
    ELEKTOR live 2013– AVR Microcontroller Part name and ordering codes  Devices in new process has Suffix ”A” (if old process device in 35k5)  Migration Notes available  One speed and voltage range on A-devices Old:  ATmega128-16xU = 4.5 - 5.5V 0 - 16MHz  ATmega128L-8xU = 2.7 - 5.5V 0 - 8MHz New:  ATmega128A-xU= 2.7 - 5.5V 0 - 16MHz  Functionally compatible products has only one new device Old:  ATmega48-20xU = 4.5 – 5.5V, 0 – 20 MHz  ATmega48P-20xU = 4.5 – 5.5V, 0 – 20 MHz  ATmega48V-10xU = 1.8 – 5.5V, 0 – 10 MHz  ATmega48PV-10xU = 1.8 – 5.5V, 0 – 10 MHz New:  ATmega48PA-xU = 1.8 – 5.5V, 0 – 20 MHz  ATmega48 A-xU = 1.8 – 5.5V, 0 – 20 MHz October 13 5
  • 46.
    ELEKTOR live 2013– AVR Microcontroller RANDGEBIETE: DIE PERIPHERIE. www.atmel.com October 13
  • 47.
    ELEKTOR live 2013– AVR Microcontroller AVR –Single Chip Solution TWI Temperature Sensor USART SPI Flash EEPROM CPU CORE SRAM A/D Converter Register File I/O pins Hardware Multiplier Analog Comparator Brown Out Detector Reset Circuitry Programmable Watchdog On-Chip Debug Analog Reference JTAG Boundary Scan AVR Integrates Much More! Pull-Ups On Demand High Current Outputs Calibrated Oscillator In System Programming LCD Interface Output Driver LCD driver 53
  • 48.
    ELEKTOR live 2013– AVR Microcontroller I/O Ports  Push-Pull Drivers with High Current Drive  Sinks/Sources up to 20 mA (40mA)  Pin-wise Controlled Data Direction and Pull-Up Resistors  Fully Synchronized Inputs  Three Control/Status Bits per Bit/Pin  Real Read-Modify-Write DDRx 0 Pull-Up PORTx 0 PINx ? Physical Pin ? 54
  • 49.
    ELEKTOR live 2013– AVR Microcontroller Faster IO PORT toggling  PINx Register toggles PORTx Register  Writing a ”1” to bit in PINx Register will toggle that bit in the PORTx Register  Faster IO toggle access  Dual cycle toggling  Toggle multiple pins in one operation 55
  • 50.
    ELEKTOR live 2013– AVR Microcontroller Timer/Counter  Wide range of 8- and 16-bit Timer/Counters  The AVR Timer/Counters can use various clock sources  Main CPU clock  Internal High speed PLL - High speed, 64MHz  By external clock source Relevant Application Notes AVR130 AVR133 - Max speed XTAL/2  External 32kHz asynchronous crystal  All clock sources can be pre-scaled before being fed to the Timer/Counters  AVR’s Timer/Counters are interrupt driven and controlled through the AVR IO registers  Special T/C versions on PLL/PWM AVR and Xmega  E.g. dead time generation 56
  • 51.
    ELEKTOR live 2013– AVR Microcontroller Analog Comparator  Compares the input values on pins AIN0 and AIN1  Dedicated Analog Comparator interrupt  Selectable trigger on Rise, Fall or Toggle  Output connectable to Input Capture of Timer/Counter1  Pulse-width measurement of analog signals  Easy Implementation of dual slope ADC  Bandgap reference available  ADC inputs can be used as AIN1 57
  • 52.
    ELEKTOR live 2013– AVR Microcontroller ADC Features  Almost all AVRs have ADC  Accuracy:  10bits ±0.5LSB  65 us conversion time*.  8bits ± 0.5LSB down to 12 us conversion time.  Up to 11 single ended channels and up to 7 differential channels  Programmable Gain Stage (1x, 10x, 100x, 200x)  Free-run, single conversion and timed modes  Interrupt on conversion complete  Internal Voltage reference *conversion Relevant Application Notes AVR120 AVR400 time is 6.5µs on AT90PWM Family 58
  • 53.
    ELEKTOR live 2013– AVR Microcontroller SPI - Serial Peripheral Interface  3 pin serial communication interface  Shift register type serial communication  Full duplex interface  AVR enables interrupt driven SPI communication  Master and Slave mode  Transmit at bit rates up to XTAL/2  Receive at bit rates up to XTAL/4  AVR supports industrial standard SPI interfaces  Memories  IO expanders  Other CPUs in system  SPI used for In System Programming (ISP) 59
  • 54.
    ELEKTOR live 2013– AVR Microcontroller TWI – Two Wire Interface  2 pin serial communicantion interface  Master and slave  Fully interrupt driven  Fast Mode support  Wake-up from power down mode on address recognition  Slave Address  General Call  Peripheral device interface  Philips I2C compatible 60
  • 55.
    ELEKTOR live 2013– AVR Microcontroller USI – Universal Serial Interface  Hardware support for software SPI and TWI drivers  Still a software driver but less resources required  Higher transfer rates than pure software interfaces - fkc/16 as TWI master and slave - fkc/4 as SPI master or slave  Polling and Interrupt support for  Data reception  Wakeup from sleep - In TWI mode also from PWD  TWI start condition detector 61
  • 56.
    ELEKTOR live 2013– AVR Microcontroller Memory Overview and Interconnection  General purpose registers manage all data transfer  Direct Program memory access  Direct SRAM access  EEPROM access via IO registers  EEAR,EEDR,EECR  Secure Program memory and Register File EEPROM access  Timed sequence SRAM I/O Registers EEPROM Program Memory 62
  • 57.
    ELEKTOR live 2013– AVR Microcontroller Flash Program Memory  All AVR uses Flash program memory  In-system (re-)programmable  Both by programmer and application  From 1.8 to 5.5V  More flexibility compared to ROM, PROM and EPROM  No external high voltage required  Internal charge pump  20 years retention time  Minimum 10K erase/write cycles, typical 100K 63
  • 58.
    ELEKTOR live 2013– AVR Microcontroller Internal EEPROM Data Storage  All AVRs with internal EEPROM for data storage  Linear address space  Size from 64B to 8K  Byte accessible  3 – 8ms Write time  Including erase  Instant read  Interrupt controlled  Handled through dedicated IO registers  20 years retention time  Minimum 100K erase/write cycles, typical 1M 64
  • 59.
    ELEKTOR live 2013– AVR Microcontroller Enhanced EEPROM Operation  Split erase & program cycle to save time  Traditionally erase and write one byte in one operation  Enables pre-erasing of locations  Faster interrupt handlers etc.  Available on ATtiny13 and all newer devices Exe. Time Operation 3.4 ms Erase and Write in one operation 1.8 ms Erase only 1.8 ms Write only 65
  • 60.
    ELEKTOR live 2013– AVR Microcontroller SRAM Data Memory 32 Registers IO Registers 64 to 224  Most AVR MCUs feature internal SRAM for data memory  Linear address space  Size from 64B to 16K (new!) Internal SRAM 64B to 8K  Program and parameter stack in SRAM  Five different addressing modes  Direct  Indirect  Indirect with Displacement, Pre-dec and Post-inc  Indirect addressing handled X,Y and Z pointer  Data memory map External SRAM up to 64K  SRAM  32x8 General Register File  IO registers  External SRAM through XRAM interface  up to 64K 66
  • 61.
    ELEKTOR live 2013– AVR Microcontroller External Memory Interface  Parallel Interface for external devices or peripherals  Memory map linear with the internal SRAM  Parallel bus with 8 data and 16 address lines  Up to 64K memory map  Dynamic pin allocation to release unused address pins  4 Wait-state settings D7:0  Flexible timing settings  Integrated Bus-keeper  Lower power consumption AD7:0 D ALE Q A7:0 G AVR A15:8 SRAM A15:8 /RD /RD /WR /WR 67
  • 62.
    ELEKTOR live 2013– AVR Microcontroller Flexible Clock Options  Crystal Oscillator  Low Power Crystal Oscillator  Full Swing Crystal Oscillator  32kHz Low Frequency Crystal Oscillator  Internal RC Oscillator  Can be calibrated within ±1% for most devices  Internal 128 kHz RC Oscillator (WDT)  External Clock  System Clock Prescaler (1 to 256)  Lower system clock frequency while running  Controlled by application 68
  • 63.
    ELEKTOR live 2013– AVR Microcontroller Internal EEPROM Data Storage  Most AVR MCUs feature internal EEPROM for data storage  Linear address space  Byte accessible  3 – 8ms write time  Including erase  Interrupt controlled  Handled through dedicated IO registers  20 years data retention time  Minimum 100K erase/write cycles, typical 1M Relevant Application Notes AVR335, AVR104 69
  • 64.
    ELEKTOR live 2013– AVR Microcontroller ISP - In-System Programming  FLASH, EEPROM, Fuses and Lock Bits programmed in-system  At all Frequencies  At all supply voltages 1.8V – 5.5V MISO VTG SCK GND SCK ISP6PIN GND RST GND VTG NC MOSI RST  SPI interface used for ISP MOSI GND MISO  Exc.: ATmega128 ! ISP10PIN  Only four pins + VCC and Ground required Relevant Application Note  RESET AVR109 AVR042  MISO  MOSI  SCK 70 GND
  • 65.
    ELEKTOR live 2013– AVR Microcontroller Redefining ISP - Self-Programming  The CPU can read and write its own program memory  Enabling reprogramming while running an application  Critical functions are still operating  Any communication interface, including software-implemented interfaces  Parameters can be stored in program memory  In addition to EEPROM 71
  • 66.
    ELEKTOR live 2013– AVR Microcontroller LCD Controller/Driver  Integrated segment LCD controller/driver  For monochrome passive liquid crystal display  No external LCD driver required A F  100 and 160 segments  COM0  Interrupt driven Start Of Frame Interrupt  Internal contrast voltage generator  SEG1 Unused LCD pins can be used as general IO External capacitor as power reservoir  Own AVR LCD family  100Segment : ATmega169P, ATmega329, ATmega649  SEG2 G SEG0  B E C COM1 D COM2 Relevant Application Notes AVR064 AVR065 160Segment : ATmega3290, ATmega6490... 72
  • 67.
    ELEKTOR live 2013– AVR Microcontroller 42: DIE ANTWORT AUF MEHR ALS EINE FRAGE. HARDWARE DESIGN. www.atmel.com October 13
  • 68.
    ELEKTOR live 2013– AVR Microcontroller AppNote AVR042 AVR Hardware Design Considerations AppNote AVR4100 Selecting and testimg 32 kHz Xtal… www.atmel.com October 13
  • 69.
    ELEKTOR live 2013– AVR Microcontroller 13 JAHRE FAE – UND EIN BISSCHEN WEISER. TIPPS UND STOLPERFALLEN. www.atmel.com October 13
  • 70.
    ELEKTOR live 2013– AVR Microcontroller Ports  Doppelfunktionen bestimmter Pins beachten, zum Programmieren, zum Debuggen, Analogfunktionen, ext. Interrupts,..  Programmierung über SPI: MOSI MISO SCK Achtung: Beim ATmega128 und Pin-kompatiblen Bausteinen liegen die Programmierpins NICHT an der SPI, sondern an der UART-Schnittstelle ! www.atmel.com October 13
  • 71.
    ELEKTOR live 2013– AVR Microcontroller Manche Ports sind nur teilweise ausgeführt: beim 2313 fehlt PortD.7, bei Ausführungen im PDIP (DIL) Gehäuse teilweise weniger IO-Pins. Konfiguration beim Einschalten ist INPUT. Ausgänge durch „1“ im DDRx einstellenRS232: RxD = PD0 TxD = PD1 JTAG-Debug-/Programmierschnittstelle www.atmel.com October 13
  • 72.
    ELEKTOR live 2013– AVR Microcontroller  Floating Inputs vermeiden: Ausgang oder Pullup (PORTx)  Ausgabe über PORTx  Pin Toggeln durch Schreiben einer „1“ nach PINx bei OUTPUT  RESET Pin nach Bedarf beschalten: HV-Programming? DebugWire? (siehe AVR042)  RESET Pin darf während Debugging über DebugWire oder bei Nutzung des PDI (Xmega) nicht mit Kondensator belastet sein  Große Streuung bei Pullups (bis 500KOhm) www.atmel.com October 13
  • 73.
    ELEKTOR live 2013– AVR Microcontroller  Höhere Eingangsspannung als Vcc möglich, wenn Vorwiderstand zur Begrenzung des Stroms durch die Schutzdioden (Beispiel Nullspannungsdetektor) vorhanden  Mehrere Ausgangspins innerhalb desselben Ports können zusammengeschaltet werden, um Treiberleistung zu erhöhen. Dabei Maximalbelastung von Port und Chip beachten!  Nicht alle AVRs haben die 20mA Belastbarkeit der Ausgänge. Ausnahmen sind einige ATtinys und die Xmegas. 20mA bei Einhaltung der Logikpegel, sonst 40mA  Maximalbelastbarkeit ist abhängig von Betriebsspannung www.atmel.com October 13
  • 74.
    ELEKTOR live 2013– AVR Microcontroller  Bei Verwendung desselben Pins als Eingang für Taste und LED Ausgang: Durchlass-Spannung der LED, Vcc und Logikpegel beachten!  LEDs haben verschiedene Durchlass-Spannungen je nach Farbe  Tasten in der Regel gegen Masse schalten und Pullups nutzen  Bei induktiven Lasten zusätzliche Schutzdiode direkt an der Induktivität (1N4148 besser als 1N4001, da schneller)  Externe Interrupts: Ältere AVRs (z.B. ATmega32) haben nur wenige INTx Pins, neuere (z.B. ATmega324P) haben externe Interrupts an allen IO-Pins. Unterschiedliche Handhabung beachten.  Ggf. Analogkomparator-Interrupt nutzen. www.atmel.com October 13
  • 75.
    ELEKTOR live 2013– AVR Microcontroller  BOD und POR sind unterschiedlich robust, z.B. Mega88P(V) besser als ATmega88(V). Fußnoten im Datenblatt beachten - Table 28.3 Page 306 (M88) vs. Table 28.5 Page 318 (M88PA).  Interne RC-Oszillatoren haben unterschiedlich ausgeprägten Jitter.  Interne RC-Oszillatoren bei älteren Typen stärker temperaturabhängig.  RC-Kalibrierung gilt nur bei der jeweiligenTemperatur.  RC Oszillator angeblich durch Metall/Magnet von außen beeinflussbar  UART braucht 2% genauen Takt, USB noch deutlich genauer www.atmel.com October 13
  • 76.
    ELEKTOR live 2013– AVR Microcontroller  Keine (unbenutzten) Komponenten an Quarzanschlüssen  Full Swing nur bei 2.7 Volt und mehr  „Sägezahn-Effekt“ bei parasitärer Speisung über externe Komponenten und Schutzdioden.  Programmierkabel nicht zu lang! Ggf. 10-Pin statt 6-Pin Belegung  TWI-Kabel (I2C) nicht zu lang!  Port-Erweiterungen über spezielle I2C-Chips, Schieberegister, ATF15xx  Treiber für LEDs oder Induktive Lasten über I2C oder SPI mit Schutzfunktionen bei Unterbrechung Kurzschluss, Übertemperatur. www.atmel.com October 13
  • 77.
    ELEKTOR live 2013– AVR Microcontroller  Low Cost Alternative zu MAX232: siehe Butterfly  RC-Oszillator Kalibrierung bei UART Kommunikation: siehe Butterfly www.atmel.com October 13
  • 78.
    ELEKTOR live 2013– AVR Microcontroller GUT VERSTECKT IM DATENBLATT. ATMEGA48 ATMEGA48PA www.atmel.com October 13
  • 79.
    ELEKTOR live 2013– AVR Microcontroller RECHENLEISTUNG STATT ELEKTRISCHE LEISTUNG. www.atmel.com October 13
  • 80.
    ELEKTOR live 2013– AVR Microcontroller AVR Oscillator Types Cost External high frequency crystal External low frequency (32kHz) crystal External ceramic resonator External R/C oscillator Calibrated Internal R/C oscillator External clock Accuracy Startup time High High (10-50 ppm) High (10-50 ppm) Long (16k cycles) Long (16k-32k cycles) Medium (0.5-1%) Depending on R and C Medium (2001k cycles) Short (6 cycles) Medium Medium Low ±1% after calibration Depending on other circuits in the system NONE Short (6 cycles) Short (6 cycles) Notes Additional timer oscillator on some devices May be re-calibrated by application at any time Use the internal RC for fast startup time and low power consumption 86
  • 81.
    ELEKTOR live 2013– AVR Microcontroller www.atmel.com October 13
  • 82.
    ELEKTOR live 2013– AVR Microcontroller AVR Sleep Modes  Idle mode  CPU Stopped, but oscillators and most I/O modules active  Allows fast wakeup (immediate) from sleep  ADC Noise Reduction mode  Like Idle mode, but fewer I/O modules active  Power Down mode  Power Save mode  Like Power-down mode, but 32kHz timer oscillator running  Standby mode  Like Power-down mode, but main crystal/resonator oscillator running  Allows fast wakeup (6 cycles) from sleep  Extended Standby  Oscillator stopped, CPU stopped, most functions inactive  Both main crystal/resonator oscillator and 32kHz timer oscillator running  Slow wakeup from sleep, oscillator must be restarted  Allows fast wakeup (6 cycles) from sleep 88
  • 83.
    ELEKTOR live 2013– AVR Microcontroller AVR Sleep Modes - Example  By using sleep modes, power consumption can be reduced by a factor 100  Ideal for periods of inactivity – waiting for interrupts!  Power Saving Example: Using the ATmega48  Use sleep modes and wait for wake-up condition  Internal RC @ 1MHz, 1.8 volt @ 25°C mega48 Internal RC 1Mhz @ 1,8V 25'C 1000 250 ICC (uA) 100 10 Active 40 Idle 7,2 Power Save WDT 4,2 3 Power Save no WDT Power Down WDT 1 Power Down no WDT 0,1 0,1 89
  • 84.
    ELEKTOR live 2013– AVR Microcontroller PicoPowerTM Technology Key elements:  (Almost) Zero current 32kHz oscillator  Sleeping BOD  Power Reduction Register (PRR)  Digital Input Disable Register (DIDR)  Flash sampling  Low leakage process  1.8V operation  Power Save mode now 0.6 uA vs 10uA  PicoPower AVR is #1 in Power Consumption & Performance 90
  • 85.
    ELEKTOR live 2013– AVR Microcontroller Low Current 32kHz Oscillator  Power Save is the most highlighted ultra low power number  Time in active is insignificant compared to time in PS for ULP  The new 32kHz oscillator brings Power Save current almost to Power Down.....  0.6uA Power Save mode @ 2.2V  ATmega165P: Typical 0.6uA  32kHz running  PicoPower Power Save mode is industry leading  Less current consumption than MSP430F2 in PowerSave 91
  • 86.
    ELEKTOR live 2013– AVR Microcontroller Sleeping BOD (SBOD)  SBOD enter sleep together with the AVR  No need for BOD in sleep  Wakeup from sleep first starts the SBOD, then the AVR  Enabled by application  Secure two step operation  Automated operation when enabled  No SBOD power consumption penalty while in sleep, full protection while in active mode 92
  • 87.
    ELEKTOR live 2013– AVR Microcontroller Power Reduction Register - PRR  Stop clock to individual peripherals  Peripheral is in PWD sleep while rest of device is running  Reduces overall power consumption  PRR accessible by application while running  When stopping the clock to a peripheral...  The current state of the peripheral is frozen  All I/O registers are inaccessible  When re-starting a module...  It continues in the same state as before shutdown 93
  • 88.
    ELEKTOR live 2013– AVR Microcontroller Digital Input Disable Registers - DIDR  DIDR decreases overall power consumption  Shut off digital input buffers on individual pins  Enable DIDR on all ADC pins  Not required in Power-save, Power-Down and Standby 94
  • 89.
    ELEKTOR live 2013– AVR Microcontroller PicoPowerTM AVRs  Existing high volume megaAVRs will be upgraded to PicoPower megaAVRs  Special naming by the use of the letter ‘P’  Example: ATmega169P 95
  • 90.
    ELEKTOR live 2013– AVR Microcontroller ATtiny23V/43V  Operate from a single cell battery (1.4 V)  Integrated Boost Regulator  Autonomous analog block that is NOT controlled by the MCU  Fixed 3.0V Vcc for the MCU from an external supply of 0.9V to 1.7V  Starts up automatically when the voltage at the BATS pin is greater than 0.6V (± 0.15V).  Output voltage rises above POR and BOR levels (if enabled), the MCU will start up  Shuts down automatically when the voltage drops below 0.6V avoiding battery drainage  Alternatively the device can be operated directly from supply of 1.8 to 5.5 volts (LSW and BATS grounded) 96
  • 91.
    ELEKTOR live 2013– AVR Microcontroller DOPPELTE SICHERHEIT SECURITY UND SAFETY www.atmel.com October 13
  • 92.
    ELEKTOR live 2013– AVR Microcontroller Internal Brown-Out Detection  Reset when voltage level is below specification  Preventing CPU run-away and EEPROM corruption.  Flexible BOD levels  Extremely fast detection (7 µs)  BOD status bit set after reset  MCUSR IO register  BOD is optional  BODEN fuse 98
  • 93.
    ELEKTOR live 2013– AVR Microcontroller WDT - WatchDog Timer  Free running timer used to generate a System Reset allowed to time out  Time-out period between 16ms and 8s set by prescaler  Timer is reset by WDR instruction  Prevents device from being trapped in dead loops  WDT runs from it’s own clock source (RC Oscillator)  WDT enabling through IO bits or Fuses  Timed IO sequence for enabling and changes  Safe WDT enabling through WDTON fuse  Watchdog reset detectable by reading the WDRF flag  Enganced WDT with WDT interrupt  Interrupt instead of or prior to System Reset  Suited for timing sequences, wake up from sleep etc. Relevant Application Note AVR132 99
  • 94.
    ELEKTOR live 2013– AVR Microcontroller Fuses and Lock Bits  Fuses  Programmable bits not accessible by application software for device settings - Clock settings, BOD settings, Boot-Loader settings, etc.  Not affected by chip erase  Lock Bits  Programmable security bits to secure IP stored in Flash and EEPROM  Disables read and write access to Flash and EEPROM  Only removed by chip erase - Chip erase will also clear Flash and EEPROM  Flexible settings for level of security and area to secure - Own set of lock bits for self-programming 100
  • 95.
    ELEKTOR live 2013– AVR Microcontroller TOUCH ME – KAPAZITIV. www.atmel.com October 13
  • 96.
    ELEKTOR live 2013– AVR Microcontroller Atmel Touch Solutions Buttons, Sliders, Wheels Touch Software Touchscreens Application Specific (“ready-to-use”) Add touch functionality to your general purpose Atmel MCU Revolutionary Unlimited Touchscreen Technology 1 – 48 Channels Buttons, Proximity & Sliders Self- & Mutual- Capacitance No programming required Limited Flexibility 1 – 64 Channels Buttons, Proximity & Sliders Self- & Mutual- Capacitance Fully programmable Excellent Flexibility Excellent Integration Single-Touch & Dual-Touch devices also offered
  • 97.
    ELEKTOR live 2013– AVR Microcontroller QTouch QMatrix  Self-Capacitance  Mutual-Capacitance  Robust and simple electrode design  Well defined key area for detection  Ideal for low node count  Ideal for high note count (>10 nodes)  Good proximity, providing better sensing distance  Very resilient to moisture & environment  Passive tracking – longer tracks possible  Very resilient to noise and ground loading  Virtually any electrode shape possible  Easy to tune sensitivity - Flooded X design Vdd SENSE ELECTRODE MCU Xn Cx Ykn Cs Yn GND
  • 98.
    ELEKTOR live 2013– AVR Microcontroller Evaluation and Development Kit Ordering Code: ATQT600 3 Sensor boards • 8 channel QTouch board • 16 channel QTouch board • 64 channel QMatrix board 3 MCU boards • ATtiny88 (QTouch) • ATmega324PA (QMatrix) • ATxmega128A1 (QTouch) Interface board • 2-way debug data • ISP Programmer • Supports AVR / AVR32
  • 99.
    ELEKTOR live 2013– AVR Microcontroller WERKZEUGKASTEN: WAS BRAUCHE ICH FÜR DEN START? www.atmel.com October 13
  • 100.
    ELEKTOR live 2013– AVR Microcontroller WAS JETZT – ASSEMBLER ODER C? www.atmel.com October 13
  • 101.
    ELEKTOR live 2013– AVR Microcontroller WIR FANGEN AN: EIN ERSTES PROJEKT MIT STUDIO6 www.atmel.com October 13
  • 102.
    Atmel Studio 6 IntegratingARM and AVR Design Copyright 2012 Atmel Corporation Atmel Studio 6/SAM3 Press Presentation 2/28/12
  • 103.
    ELEKTOR live 2013– AVR Microcontroller Atmel Studio 6 – IDE  Intelligent editor  New Project Wizard with over 1,000 project examples  Integrated GNU C/C++ Compiler  Seamless connection to all in-system debuggers  Cycle accurate chip and peripheral simulator
  • 104.
    ELEKTOR live 2013– AVR Microcontroller Atmel Studio 6 – Atmel Software Framework  Software Library  Peripheral drivers  Hardware abstraction  Communication  Graphics  Standard APIs  Easy code migration  Support for ARM + AVR MCUs  Common 8/32-bit platform  ASF Explorer  Manage ASF components  Trace driver dependencies  Easy access to documentation
  • 105.
    ELEKTOR live 2013– AVR Microcontroller Atmel Studio 6 – QTouch Composer  QTouch Project Wizard  Configure QTouch project  Optimized QTouch library code  Automatic power management  Touch Wizard  Automatic performance tests  Optimal design recommendations  Power Analyzer  Real-time monitoring of MCU power consumption  Profiling and visualization
  • 106.
    ELEKTOR live 2013– AVR Microcontroller JTAGICE3 www.atmel.com October 13
  • 107.
    ELEKTOR live 2013– AVR Microcontroller AVR Dragon  Low cost development tool  High performance  Easy to use  USB Connection  USB Powered  Combination of  JTAGICE mkII ( $299)  AVRISP mkII ($34)  STK500 ($79)  Programs all devices  Debug support for devices <=32K  Price: €49! 115
  • 108.
    ELEKTOR live 2013– AVR Microcontroller XPLAINED KIT www.atmel.com October 13
  • 109.
    ELEKTOR live 2013– AVR Microcontroller STK600 117
  • 110.
    ELEKTOR live 2013– AVR Microcontroller WIESO „ENTWANZEN“? www.atmel.com October 13
  • 111.
    ELEKTOR live 2013– AVR Microcontroller AVR JTAG interface  The AVR JTAG interface is a integrated hardware module for:    In-System Programming On-Chip Debugging PCB test through Boundary-Scan  Dedicated hardware module  All AVR resources present while debugging - Except 4 pins for JTAG communication  Supports all Vcc levels and Frequencies  Complies to IEEE std 1149.1 (JTAG)  Joint Test Action Group (JTAG)  JTAG interface in all AVRs with 16K program memory or more 119
  • 112.
    ELEKTOR live 2013– AVR Microcontroller AVR debugWIRE interface  On-Chip Debugging via single wire interface  Program flow control  EEPROM and Flash memory access  Peripheral access  debugWIRE is a hardware module 1.8 - 5.5V Vcc JTAGICE MKII dW(/RESET)  Not a ROM monitor!  All AVR resources present while debugging AVR  Supports all Vcc levels and Frequencies GND 120
  • 113.
    ELEKTOR live 2013– AVR Microcontroller Enabling debugWIRE  debugWIRE functionality is enabled by DWEN fuse  Set by ISP or HV programming  Cleared by debugWIRE or HV programming  debugWIRE is disabled by default from Atmel  debugWIRE require system clock in all sleep modes  No PowerSave/PowerDown mode current consumption possible as long as the DWEN fuse is set 121
  • 114.
    ELEKTOR live 2013– AVR Microcontroller WIE GEHT´S WEITER? www.atmel.com October 13
  • 115.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA Technical Walk-Through http://www.atmel.com
  • 116.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA  Extraordinary Low Power  2nd generation picoPower ®  True 1.6 V operation  Exceptional Performance  Up to 32 MIPS  DMA Controller  Event System  Extreme Peripherals  Leading Analog Integration  Fast Crypto engine  Rich feature set http://www.atmel.com
  • 117.
    ELEKTOR live 2013– AVR Microcontroller XMEGA AVR core  Code compatible with existing tinyAVR and megaAVR  True RISC architecture  True single cycle execution  32 MIPS at 32 MHz - 32 MHz 2.7V – 3.6V - 12 MHz 1.8V – 2.7V  32 GPR  Harvard architecture  DMA Controller  Flexible Event System  Programmable Multi level Interrupt Controller – PMIC 125
  • 118.
    ELEKTOR live 2013– AVR Microcontroller EBI- External Bus Interface  2-port, 3-port or 4-port interface selectable in SW  All external memories are directly mapped in AVR  No banking  Stack and variables anywhere  Simultaneous support of SRAM and SDRAM possible  Ex: memory mapped devices  Up to 128 Mbit SDRAM 126
  • 119.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Interrupt Controller  4 interrupt levels  NMI - Non Maskable Interrupts  High, Medium and Low level  Round robin priority possible for low level interrupts  Ensures all interrupts are serviced  All peripherals can also be controlled by polling http://www.atmel.com
  • 120.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Event system  CPU and DMA independent Inter-peripheral communication www.atmel.com October 13
  • 121.
    ELEKTOR live 2013– AVR Microcontroller Event System AVR CPU http://www.atmel.com
  • 122.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Event System  8 Event Routing Channels  Peripherals specify how to generate events  Everything that can generate an interrupt  Ex: Pin change, Timer overflow, ADC complete, Comparator toggle  Peripherals specify how to use events  Ex: Increment Timer, Output signal, Start ADC conversion  Reduce the use of interrupts  Event system ensures control of critical function  Predictable reaction time of 2 chip clock cycles  Safe fault protection  Reduces power consumption – no CPU needed  Works in Active and Idle mode http://www.atmel.com
  • 123.
    ELEKTOR live 2013– AVR Microcontroller XMEGA DMA Controller  Allows high-speed data transfer  From memory to peripheral  From memory to memory  From peripheral to memory  From peripheral to peripheral  Main features  4 channels  From 1 byte to 16 Mbyte transfers  Optional interrupt at end of transaction  Multiple addressing modes - Static, Increment, Decrement  1, 2, 4 or 8 byte bursts  Programmable priority between channels http://www.atmel.com CPU Load, SPI Communication Data rate With DMA No DMA 250 kbps 0% 8% 500 kbps 0% 16 % 1 Mbps 1% 30 % 2 Mbps 1% 57 % 4 Mbps 2% 98 %
  • 124.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Memories  Flash  Memory setup  Application area for main program Flash 16K + 4K 32K + 4K 64K + 4K 128K + 8K 256K + 8K  Boot area for bootloader  Application Table area for fail safe EEPROM emulation  EEPROM SRAM 2K 4K 4K 8K 16K EEPROM 1K 1K 1K 2K 4K  EEPROM on all devices  Byte and page accessible  Optional memory mapped  SDRAM  SRAM  Internal on all devices  Optional external on some devices - Up to 16 MB directly addressable - Optional multiplexed address and data http://www.atmel.com  Optional external on some devices - Up to 128 Mbit directly addressable - 4-bit and 8-bit supported
  • 125.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Analog to Digital Converter  Features  12 bit resolution  2 MSPS ADC in XMEGA A  200 kSPS ADC in XMEGA D  Single or continuous conversion modes  Connected to Event System  Connected to DMA Controller  Internal and External reference voltages  Interrupt/event on compare result  Interrupt if lower or equal  Interrupt if higher or equal  Interrupt/event on conversion complete http://www.atmel.com
  • 126.
    ELEKTOR live 2013– AVR Microcontroller XMEGA ADC – Pipelined Conversion Channels     4 ADC conversion channels 8 – 16 external single-ended inputs per ADC 8 x 4 external differential inputs per ADC 4 internal inputs  VCC, Bandgap, Temperature, DAC output  1x, 2x, 4x, 8x, 16x, 32x or 64x gain  Synchronous sampling in dual ADC devices http://www.atmel.com
  • 127.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Digital to Analog Converter  Features:  12 bit resolution  Up to 1 MSPS conversion rate, 1 µs settling time  Connected to Event System  Connected to DMA Controller  Two independent output channels per DAC http://www.atmel.com
  • 128.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Analog Comparators  Selectable hysteresis  0, 20mV, 50mV selectable  Flexible input selections  Any analog input pin  Output from DAC  Bandgap voltage reference  64-level VCC scaler  Flexible interrupts and events generation  Window compare function by combining 2 comparators  Possible to have comparator output on a pin http://www.atmel.com
  • 129.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Timer/Counter  Multiple 16-bit Timer/Counters in each device        Counts chip clock (Timer) or events (Counter) 4 or 2 Output Compare on each Timer/Counter 4 or 2 Input Capture on each Timer/Counter Programmable Top Value Direction control Flexible interrupts and events generation Split option: 2 x 8 instead of 1 x 16 Bit  High-Resolution Extension  4x of chip clock = up to 128 MHz (256 MHz) operation  Advanced Waveform Extension     Inverted and Non-inverted PWM Outputs Dead Time Insertion Fault protection mechanism Available in all devices, but on 1-2 timer/counters only http://www.atmel.com
  • 130.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Real Time Counter  Separate Timer for Asynchronous Clock  Independent of other Timer/Counters  Works in Power Save, Idle and Active mode  16-bit timer with Programmable Prescaler  Prescaler provides 1 Hz – 32 kHz input  Programmable top value  Compare register  Max timeout 65 536 seconds (= more than 18 hours)  Can generate Events and Interrupts  Both overflow and compare match http://www.atmel.com
  • 131.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Clock Options  32- and 2 MHz internal RC osc.  +/- 1% accuracy over temp and voltage with automatic run-time calibration  32.768 kHz internal RC osc.  +/- 2% accuracy over temp and voltage  400 kHz – 16 MHz Crystal osc.  For accurate timing in application  32.768 kHz Crystal oscillator  for 32 kHz watch crystal  500 nA current consumption  32 kHz ULP RC oscillator  For WDT and BOD  1A power consumption  Internal PLL for high-freq clock generation  400 kHz – 32 MHz input  8 – 128 MHz output  Max 32 MHz output to main system clock http://www.atmel.com
  • 132.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Serial Communication Modules  USART  Full duplex asynchronous or synchronous operation  Can also be SPI master  Baud Rate Generator with fractional divider - UART frequency crystals not needed  SPI – Serial Peripheral Interface  Full duplex, three-wire synchronous data transfer  TWI – Two Wire Interface  I2C compatible  SMbus compatible  Fast data rate on slow chip clock - Clock / 10 for master operation - Asynchronous slave operation http://www.atmel.com
  • 133.
    ELEKTOR live 2013– AVR Microcontroller XMEGA A USB Device  USB added to all XMEGA A products  New ordering codes for all XMEGA A with USB  ATxmega128A1-AU -> ATxmega128A1U-AU  USB 2.0 Compliant Device  Low and Full speed operation  32 configurable endpoints  High throughput with minimim CPU load  Support DMA and large transactions without interrupt  Free device class software library  CDC, DFU, HID, Mass Storage, Audio, ... 141
  • 134.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Crypto engine  AES  128-bit key length  Encryption of 16 bytes in 375 clock cycles  Decryption of 16 bytes in 375 clock cycles  DES  56-bit key length  Encryption of 8 bytes in 16 clock cycles  Decryption of 8 bytes in 16 clock cycles  Supports up to 4 Mbps AES encrypted communication  Supports up to 3.2 Mbps Tripple-DES encrypted communication http://www.atmel.com
  • 135.
    ELEKTOR live 2013– AVR Microcontroller Crypto Performance  AES an DES crypto for high speed encrypted communication  Offload CPU and reduce power Max encrypted communication rate UART SPI Vs. Software 128-bit AES 4 Mbps 3.2 Mbps 10x faster Tripple-DES 3.2 Mbps 2.3 Mbps 100x faster  XMEGA with crypto is authorized for export to all contries  ECCN 5A002A.1  XMEGA enables crypto communication for low power applications http://www.atmel.com
  • 136.
    ELEKTOR live 2013– AVR Microcontroller XMEGA I/O Pins  IN, OUT and DIR registers for safe read modify write operations  Virtual registers for easy pin manipulation   Move IN, OUT and DIR control to bit addressable memory area Port Toggle, Clear and Set registers for easy and glitch free pin manipulation  Advanced pin configurations Push-pull Push-pull w/ buskeeper http://www.atmel.com Push-pull w/pull-up Wired AND w/ optional pull-up Push-pull w/pull-down Wired OR w/ optional pull-down October 13
  • 137.
    ELEKTOR live 2013– AVR Microcontroller 2nd generation picoPower  All picoPower features included  New sampled BOD  New low power Watchdog Timer  New Event system controls peripherals in Idle mode  New DMA moves data in Idle mode  Lowest power consumption  100 nA Power Down (RAM retention)  550 nA Power Save (Real Time Counter)  5 µs wake-up from sleep http://www.atmel.com
  • 138.
    ELEKTOR live 2013– AVR Microcontroller 2nd generation picoPower  Industry leading in low power applications  True 1.6V operation  Flash, Analog, EEPROM, Oscillators down to 1.6V  Enable 1.8V +/-10% power supply  Lowest power 32 kHz Crystal Oscillator  550nA RTC  Low leakage Process Technology  100nA for all devices  1 µA Watchdog and Brown-Out 146 146 http://www.atmel.com
  • 139.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Special Features  Calibration memory  Oscillator failure detection  Readable from application  Memory lock bits  Factory calibration  Brown-Out Detector  User calibration - Can be modified by customer  Not affected by Chip Erase or SPM  Serial numbers  Unique identifier  Random number seed  Dynamic Clock Switching  Very fast  Low power  Off, 1 kHz sampled or On  Watchdog Timer  Separate oscillator  Clock generation  Clock output  CRC checksums  Available on locked devices http://www.atmel.com
  • 140.
    ELEKTOR live 2013– AVR Microcontroller www.atmel.com October 13
  • 141.
    ELEKTOR live 2013– AVR Microcontroller XMEGA B Family Overview  Adds LCD to XMEGA family  Reuse modules from XMEGA A and XMEGA D  XMEGA B family:      64 – 100 pins 64 – 256 KB Flash 6 – 32 KB SRAM LCD driver 1.6 – 3.6V operation - 12 MHz from 1.6V - 32 MHz from 2.7V  XMEGA B Features         Segment LCD driver USB Device + Host Up to 3 16-bit Timer/Counter Up to 2 USART, 1 SPI, 1 TWI 12-bit 200 ksps ADC w/gain 2 Analog Comparators Event System CRC-16/32 support 150 150 Mar 2009 1
  • 142.
    ELEKTOR live 2013– AVR Microcontroller www.atmel.com October 13
  • 143.
    ELEKTOR live 2013– AVR Microcontroller www.atmel.com October 13
  • 144.
    ELEKTOR live 2013– AVR Microcontroller XMEGA C Family Overview  Adds USB Host to XMEGA family  Compatible to XMEGA D, but adds USB Device and Host  XMEGA C family:  XMEGA C Features  64 pins  USB Device + Host  64 – 256 KB Flash  5 16-bit Timer/Counter  4 – 16 KB SRAM  3 USART, 2 SPI, 1 TWI  1.6 – 3.6V operation  12-bit 200 ksps ADC w/gain - 12 MHz from 1.6V  2 Analog Comparators - 32 MHz from 2.7V  Event System - USB from 2.7 to 3.3V  CRC-16/32 support 153 153 Mar 2009 1
  • 145.
    ELEKTOR live 2013– AVR Microcontroller XMEGA C USB Module  USB 2.0 Compliant Device and Host  Low and Full speed operation, up to 12 Mbps  32 Endpoints - maximum number in USB specification  Easy to use  High throughput  Ping-pong mode to increase bandwidth  Multi-packet feature to reduce number of interrupts  Data buffers and endpoint configuration in SRAM  Low cost with maximum flexibility  Only the amount of SRAM needed will be allocated  USB pins multiplexed with I/O pins, no dedicated pins  3.0 to 3.6V VCC during USB communication Mar 2009 1
  • 146.
    ELEKTOR live 2013– AVR Microcontroller XMEGA D Family Overview  Lowest cost XMEGA family  Compatible to XMEGA A with reduced feature set  XMEGA D family:  XMEGA D Features  44 – 64 pins  Up to 5 16-bit Timer/Counter  16 – 256 KB Flash  Up to 3 USART, 2 SPI, 1 TWI  2 – 16 KB SRAM  12-bit 200 ksps ADC w/gain  1.6 – 3.6V operation  2 Analog Comparators - 12 MHz from 1.6V  Event System - 32 MHz from 2.7V 155 155 Mar 2009 1
  • 147.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E target specification      Sixteen-channel 12-bit 300 ksps ADC Two-channel 12-bit 300ksps DAC Two Analog Comparators Two standard 16-bit Timer/Counters One high-end 16-bit Timer/Counter        Optimized for ballast, LED, induction control, DC/DC supply/converter, motors, buck/boost converter, wireless charger, battery charger RTC with digital calibration and correction for XTAL error Two USARTs with master SPI I2C master and slave, up to 1MHz support One SPI 4-channel peripheral DMA controller Device Flash 8-channel event system  Asynchronius event routing RAM EEPOM  26 I/O pins 32KB 4KB 1KB ATxmega16E5  32-pin packages ATxmega32E5 16KB 2KB 1KB ATxmega8E5 8KB 1KB 512b
  • 148.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E Analog to Digital Converter  300 ksps  12 bit resolution  Single or continuous conversion modes  Connected to Event System  Connected to DMA Controller  Internal and External voltage references
  • 149.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E Digital to Analog Converter  12 bit resolution  Up to 300 ksps conversion rate  Connected to Event System  Connected to DMA Controller  Two independent output channels
  • 150.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E Analog Comparators  Selectable hysteresis  0, ~20mV, ~50mV selectable  Flexible input selections  Any analog input pin  Bandgap voltage reference  64-level VCC scaler  Interrupts and events generation  Window compare function by combining 2 comparators  Detect level inside or outside window  Possible to have comparator output on a pin
  • 151.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E Timer/Counter  One 16-bit timer/counter type 4 (high end)  4 Output Compare Channels with 8 outputs - 4 non-inverted output (High Side) - 4 inverted output (Low Side)  Dead-time insertion between high- and low-side  Fault protection with asynchronous PWM shut-down - Multiple and selectable triggers and restart conditions  High-resolution extension - Increase PWM resolution up to eight times (4 nS period)  Two 16-bit timer/counters type 5 (standard)  2 Output Compare or Input Capture Channels  High-resolution extension
  • 152.
    ELEKTOR live 2013– AVR Microcontroller Serial Communication Modules  USART  Full duplex asynchronous or synchronous operation  SPI master mode  Baud Rate Generator with fractional divider - UART frequency crystals not needed  SPI – Slave Serial Peripheral Interface  Full duplex, three-wire synchronous data transfer  Double buffered receive and transmit  TWI – Two Wire Interface  One master operation interface  One slave operation interface  100kHz, 400Khz and 1MHz operation  I2C and SMbus compatible
  • 153.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E Real Time Counter  Separate Timer for Asynchronous Clock  Independent of other Timer/Counters  Works in Power Save, Idle and Active mode  16-bit timer with Programmable Prescaler     Prescaler provides 1 Hz – 32 kHz input Programmable top value Compare register Max timeout 65 536 seconds (= more than 18 hours)  Can generate Events and Interrupts  Overflow and compare match  Digital calibration and correction for 32-768kHz XTAL error  Correction of mount error down to +/- 1 ppm accuracy
  • 154.
    ELEKTOR live 2013– AVR Microcontroller XMEGA Custom Logic Overview (XCL)  Two independent units including:  8-bit timer/counter  Glue logic with programmable look up table (LUT) - Defines a truth table of logical condition between inputs - Delay elements for filter and synchronistaion  Can be cascaded for more powerful features  16-bit timer/counter, larger LUT CPLD CPLD0 Timer/Counter Control Logic Timer Period Counter Delay Glue Logic I N T E R C O N N E C T CPLD1 Timer/Counter Control Logic Timer Period Counter Delay Glue Logic Prescaler I/O Pins Event System USARTs Interrupts Events CLKPER
  • 155.
    ELEKTOR live 2013– AVR Microcontroller AVR XMEGA E XCL - 8-bit Timer/Counters  Two 8-bit timer/counter, with 16-bit cascade otion     Normal operation Single-slope PWM Input capture and frequency capture LUT input  Peripheral configuration:  Receive events from selectable USART - For count and restart actions,  Provide event to USART  Applications:  UART, USART, master SPI with variable data length in - 1 – 256-bit data lenght wthout software and I/O pin overhead  Enables LIN and DALI communication  Sensor applications: no IO pin need to signalize slot where data is valid
  • 156.
    ELEKTOR live 2013– AVR Microcontroller AVR® XMEGATM – Basics XMEGA Training: Basics
  • 157.
    ELEKTOR live 2013– AVR Microcontroller Introduction (1/2)  AVR XMEGA datasheet information is divided in two parts: Family Manual Device datasheets ATxmega A manual ATxmega64A1 / 128A1 / ...
  • 158.
    ELEKTOR live 2013– AVR Microcontroller Introduction (2/2)  AVR XMEGA has more advanced header files for C programming than previous AVRs.  Slightly different syntax  More advanced, not more complicated  Better use of the features in the C language
  • 159.
    ELEKTOR live 2013– AVR Microcontroller The header file differences  What is different?  structs are used for registers of a peripheral  Bit masks, bit positions, group masks, group configurations for configuring bits in each register  Why the change?  Easier to configure registers correctly  Much easier to write generic drivers
  • 160.
    ELEKTOR live 2013– AVR Microcontroller Register Names  Longer descriptive names preferred over complex short forms  DDRA is now PORTA.DIR  PINA is now PORTA.IN  UCSR0A is now USARTC0.CTRLA (This is USART 0 on port C)  Try to avoid control-and-status registers  Easier to read, write, and remember  Application Note AVR1000
  • 161.
    ELEKTOR live 2013– AVR Microcontroller Register configuration  Bit position  PORT_SLREN_bp = 7  Bit mask  PORT_SLREN_bm = 0b1000 0000 = 0x80  Group mask  PORT_OPC_gm = 0b0011 1000 = 0x38  Group configuration  PORT_OPC_PULLUP_gc = 0b0001 0000 = ( 0x02 << 3)
  • 162.
    ELEKTOR live 2013– AVR Microcontroller Bit mask/bit position  Use bit mask directly for setting a bit:  PORTD.PIN0CTRL |= PORT_SRLEN_bm  Or alternatively use bit position (like Mega/Tiny AVR):  PORTD.PIN0CTRL |= ( 1 << PORT_SRLEN_bp )  XMEGA header file definition: #define PORT_SRLEN_bm 0x80 // Slew Rate Enable bit mask #define PORT_SRLEN_bp 7 // Slew Rate Enable bit position
  • 163.
    ELEKTOR live 2013– AVR Microcontroller Register Bits usage  Single control and status bits  Mask PORT_INVEN_bm and position PORT_INVEN_bp  Set bit: - PORTA.PIN0CTRL |= PORT_INVEN_bm; PORTA.PIN0CTRL |= (1 << PORT_INVEN_bp);  Clear bit: - PORTA.PIN0CTRL &= ~PORT_INVEN_bm; PORTA.PIN0CTRL &= ~(1 << PORT_INVEN_bp);
  • 164.
    ELEKTOR live 2013– AVR Microcontroller Group mask  Useful for clearing all bits of a specific configuration in a register  Example:  PORT_OPC_gm  XMEGA header file definition:  #define PORT_OPC_gm 0x38 // Output/Pull Configuration group mask  #define PORT_OPC_bp 3 // Output/Pull Configuration group position
  • 165.
    ELEKTOR live 2013– AVR Microcontroller Group configuration  Group configuration  One specific configuration of a group of bits  Group configurations defined as enum in header file  typedef enum PORT_OPC_enum { … } PORT_OPC_t;  Value something defined as PORT_OPC_something_gc  Enumerator types useful as function parameters – automatic checking
  • 166.
    ELEKTOR live 2013– AVR Microcontroller Group configuration  Example:  PORT_OPC_PULLDOWN_gc  All available configurations are shown in the XMEGA manual
  • 167.
    ELEKTOR live 2013– AVR Microcontroller Group mask and group configuration usage  Changing configuration – compact and efficient  Clear all bits of previous configuration and set new configuration:  PORTA.PIN0CTRL = ( PORTA.PIN0CTRL & ~PORT_OPC_gm ) | PORT_OPC_PULLDOWN_gc;
  • 168.
    ELEKTOR live 2013– AVR Microcontroller XMEGA header files  If the definitions on the previous slides do not make sence to you:  Don’t need to know how the peripherals are defined, but how to use it:  PORTA.OUT = 0xff  unsigned char value = PORTB.IN
  • 169.
    ELEKTOR live 2013– AVR Microcontroller XMEGA I/O Ports  Direction control  PORTx.DIR  Input and output  PORTx.IN and PORTx.OUT  Manipulation of direction register bits  PORTx.DIRSET, PORTx.DIRCLR, and PORTx.DIRTGL  Manipulation of output register bits  PORTx.OUTSET, PORTx.OUTCLR, and PORTx.OUTTGL  Application Note AVR1313
  • 170.
    ELEKTOR live 2013– AVR Microcontroller XMEGA I/O Ports
  • 171.
    ELEKTOR live 2013– AVR Microcontroller Output and Pull Configuration  Individual pin control  Pull-up or pull-down  PORT_OPC_PULLUP_gc or PORT_OPC_PULLDOWN_gc  Wired-AND or wired-OR  PORT_OPC_WIREDAND_gc or PORT_OPC_WIREDOR_gc  Bus keeper support  PORT_OPC_BUSKEEPER  Application Note AVR1313
  • 172.
    ELEKTOR live 2013– AVR Microcontroller Configuring multiple pins  Several pins can be configured at the same time  MPCMASK register sets which pins are affected  The following configuration of a pin is applied to all pins set in MPCMASK  Example:  PORTA.MPCMASK = 0x0F;  PORTA.PIN0CTRL = ( PORTA.PIN0CTRL & ~PORT_OPC_gm ) | PORT_OPC_PULLUP_gc ; → All pins configured as pullup
  • 173.
    ELEKTOR live 2013– AVR Microcontroller Pointers to Peripheral Modules  Allows for generic code and drivers  Access modules through pointers  Some overhead when dereferencing pointers  Great flexibility, saves code space  Module struct allows for pointer referencing  PORT_t * ledPort = &PORTD;  void SetLEDs( PORT_t * port, unsigned char value );
  • 174.
    ELEKTOR live 2013– AVR Microcontroller Timer/Counter  Wide range of 8- and 16-bit Timer/Counters (TCNT)  The AVR Timer/Counters can use various clock sources  Main CPU clock  Internal High speed PLL - High speed, 64MHz  By external clock source - Max speed XTAL/2  External 32kHz asynchronous crystal  All clock sources can be pre-scaled before being fed to the Timer/Counters  T/C are interrupt driven and controlled through the AVR IO memory 184
  • 175.
    ELEKTOR live 2013– AVR Microcontroller Timer/Counter Features  Overflow detection with interrupt  Compare match detection with Interrupt    Own compare value registers Pin change on compare match TCNT clear on compare match  Input Capture with Interrupt and Noise Canceller   Own capture counter value register Input capture by the Analog comparator  Real Time Counter with 32 kHz oscillator  Asynchronous to the main clock; separate 32kHz Crystal  Pulse width Modulation (PWM) functionality     Selectable 2-Bit to 16-Bit Resolution on devices with 16-Bit Timer High speed, up to 250kHz Phase and Frequency Correct PWM mode Variable TOP value Relevant Application Notes AVR134 AVR304 185
  • 176.
    ELEKTOR live 2013– AVR Microcontroller ERGÄNZUNGEN ZU UC3A3 (AUDIO) & UC3L www.atmel.com October 13
  • 177.
    AVR and AVR32TMM Call 4. May 2009 EVK1105 Digital Audio Gateway
  • 178.
    ELEKTOR live 2013– AVR Microcontroller EVK1105 Digital Audio Gateway Reference Design  EVK1105 demonstrates the full potential of AVR32 AT32UC3A0512 in digital audio applications  Software audio decoders  Be prepared for changes in digital audio formats  Complete HW and SW Reference Design      Play MP3 and WMA from a USB Mass Storage device Control your iPod Prepared for Internet radio Prepared for Bluetooth® Prepared for IEEE 802.15.4 / Zigbee PRO Mar 2009 1
  • 179.
    ELEKTOR live 2013– AVR Microcontroller EVK1105 Digital Audio Gateway Target Applications  USB Docking Station  MP3 Player / iPod  Mobile Phone / PDA  Camera  SD Card Player  Car Radio  Home Stereo  Internet Radio  Speaking appliances Mar 2009 1
  • 180.
    AVR and AVR32TMM Call 4. May 2009 AT32UC3A3
  • 181.
    ELEKTOR live 2013– AVR Microcontroller Introducing the new AVR32 AT32U3A3  Audio playback  Single chip solution  Software audio decoding  High quality playback  iPod docking  High speed communication  Hi-Speed USB  Dual SD card  NAND w/MLC ECC  Distributed SRAM  Target Markets  Audio Playback  USB to SD Card Bridges  USB Dongles  USB Tokens Mar 2009 1
  • 182.
    ELEKTOR live 2013– AVR Microcontroller AVR32 UC3A3 – It is all about true performance Instr. MemIF SRAM 64 KB Data  Improved DMA transfer speed  Peripheral DMA 6-layer High Speed Bus Matrix  Memory to Memory DMA Peripheral Bridge Peripheral DMA Controller: 18 channels USB On-The-Go  Eliminate on-chip communication bottleneck  Avoid DMA collision  Remove delay and latency PDC PDC PDC PDC USART SPI x2 TWI x2 SSC x1 x4 PDC Timer PWM 3 ch 3 ch PDC ADC 8 ch Audio DAC User Peripherals Mar 2009 1 EBI / ECC MPU SRAM 32 KB  2 x 32 KB BUS SRAM AVR32 CPU 66 MHz Flash  64 KB dual port CPU RAM JTAG/ Nexus OCD SRAM 32 KB  128 KB SRAM on-chip SRAM split into 3 regions
  • 183.
    ELEKTOR live 2013– AVR Microcontroller EVK1104 – AVR32 UC3A3 Evaluation Kit Mar 2009 1
  • 184.
    AVR and AVR32TMM Call 4. May 2009 AT32UC3L - picoPower
  • 185.
    ELEKTOR live 2013– AVR Microcontroller UC3L  picoPower™ Technology  Industry’s lowest power consumption  Down to 0.5 mW/MHz  1.6µA with RTC running  100nA in Shutdown mode  SleepWalking™  1.62 – 3.6V operation  Integrated Hardware QTouch  Use QTouch as any other peripheral  Wake up from sleep with a touch button  FlashVault™ code protection  Partially program and lock the flash  Protect your software IP Mar 2009 1
  • 186.
    ELEKTOR live 2013– AVR Microcontroller UC3L – Further Cutting Edge Innovations Improved Reliability and Reduced Cost  Peripheral Event System  PWM on all GPIO pins  High precision clock system        Digital frequency lock loop Crystal osc. precision tuner Clock failure protection Ultra low power oscillators Frequency meter RTC with calendar mode Windowed watchdog timer  9 channel 12 bits ADC  8 channel Analog Comparator  Advanced Debug Functionality  Advanced Trace Mar 2009 1
  • 187.
    ELEKTOR live 2013– AVR Microcontroller QUIZ MIT PREISVERLEIHUNG www.atmel.com October 13
  • 188.
    ELEKTOR live 2013– AVR Microcontroller www.atmel.com October 13