电子工程世界电子工程世界电子工程世界

产品描述

搜索
 

AT32UC3A3128S-D

器件型号:AT32UC3A3128S-D
器件类别:半导体    嵌入式处理器和控制器   
厂商名称:Microchip
厂商官网:https://www.microchip.com
下载文档

器件描述

32-bit Microcontrollers - MCU 128Kflash UC3A - Die in waffle pack - 13

参数
产品属性属性值
Product AttributeAttribute Value
制造商:
Manufacturer:
Microchip
产品种类:
Product Category:
32-bit Microcontrollers - MCU
系列:
Series:
AT32UC3A3
Core:AVR
Data Bus Width:32 bit
工作电源电压:
Operating Supply Voltage:
1.8 V, 3.3 V
商标:
Brand:
Microchip Technology / Atmel
Processor Series:AT32UC3A3
产品类型:
Product Type:
32-bit Microcontrollers - MCU
子类别:
Subcategory:
Microcontrollers - MCU
商标名:
Tradename:
AVR

AT32UC3A3128S-D器件文档内容

Features

•  High Performance, Low Power 32-bit Atmel® AVR® Microcontroller

   – Compact Single-Cycle RISC Instruction Set Including DSP Instruction Set

   – Read-Modify-Write Instructions and Atomic Bit Manipulation

   – Performing up to 1.51DMIPS/MHz

   • Up to 126 DMIPS Running at 84MHz from Flash (1 Wait-State)

   • Up to 63 DMIPS Running at 42MHz from Flash (0 Wait-State)

   – Memory Protection Unit

•  Multi-Layer Bus System                                                           32-bit AVR

   – High-Performance Data Transfers on Separate Buses for Increased Performance

   – 8 Peripheral DMA Channels (PDCA) Improves Speed for Peripheral                 Microcontroller

   Communication

   – 4 generic DMA Channels for High Bandwidth Data Paths

•  Internal High-Speed Flash

   – 256KBytes, 128KBytes, 64KBytes versions                                        AT32UC3A3256S

   – Single-Cycle Flash Access up to 36MHz                                          AT32UC3A3256

   – Prefetch Buffer Optimizing Instruction Execution at Maximum Speed

   – 4 ms Page Programming Time and 8ms Full-Chip Erase Time                        AT32UC3A3128S

   – 100,000 Write Cycles, 15-year Data Retention Capability                        AT32UC3A3128

   – Flash Security Locks and User Defined Configuration Area

•  Internal High-Speed SRAM                                                         AT32UC3A364S

   – 64KBytes Single-Cycle Access at Full Speed, Connected to CPU Local Bus         AT32UC3A364

   – 64KBytes (2x32KBytes with independent access) on the Multi-Layer Bus System

•  Interrupt Controller                                                             AT32UC3A4256S

   – Autovectored Low Latency Interrupt Service with Programmable Priority          AT32UC3A4256

•  System Functions

   – Power and Clock Manager Including Internal RC Clock and One 32KHz Oscillator   AT32UC3A4128S

   – Two Multipurpose Oscillators and Two Phase-Lock-Loop (PLL),                    AT32UC3A4128

   – Watchdog Timer, Real-Time Clock Timer

•  External Memories                                                                AT32UC3A464S

   – Support SDRAM, SRAM, NandFlash (1-bit and 4-bit ECC), Compact Flash            AT32UC3A464

   – Up to 66 MHz

•  External Storage device support

   – MultiMediaCard (MMC V4.3), Secure-Digital (SD V2.0), SDIO V1.1

   – CE-ATA V1.1, FastSD, SmartMedia, Compact Flash

   – Memory Stick: Standard Format V1.40, PRO Format V1.00, Micro

   – IDE Interface

•  One Advanced Encryption System (AES) for AT32UC3A3256S, AT32UC3A3128S,

   AT32UC3A364S, AT32UC3A4256S, AT32UC3A4128S and AT32UC3A364S

   – 256-, 192-, 128-bit Key Algorithm, Compliant with FIPS PUB 197 Specifications

   – Buffer Encryption/Decryption Capabilities

•  Universal Serial Bus (USB)

   – High-Speed USB 2.0 (480Mbit/s) Device and Embedded Host

   – Flexible End-Point Configuration and Management with Dedicated DMA Channels

   – On-Chip Transceivers Including Pull-Ups

•  One 8-channel 10-bit Analog-To-Digital Converter, multiplexed with Digital IOs.

•  Two Three-Channel 16-bit Timer/Counter (TC)

•  Four Universal Synchronous/Asynchronous Receiver/Transmitters (USART)

   – Fractionnal Baudrate Generator                                                 32072H-AVR32–10/2012
                                                                                                    AT32UC3A3

   – Support for SPI and LIN

   – Optionnal support for IrDA, ISO7816, Hardware Handshaking, RS485 interfaces  and  Modem  Line

•  Two Master/Slave Serial Peripheral Interfaces (SPI) with Chip Select Signals

•  One Synchronous Serial Protocol Controller

   – Supports I2S and Generic Frame-Based Protocols

•  Two Master/Slave Two-Wire Interface (TWI), 400kbit/s I2C-compatible

•  16-bit Stereo Audio Bitstream

   – Sample Rate Up to 50 KHz

•  QTouch® Library Support

   – Capacitive Touch Buttons, Sliders, and Wheels

   – QTouch and QMatrix Acquisition

•  On-Chip Debug System (JTAG interface)

   – Nexus Class 2+, Runtime Control, Non-Intrusive Data and Program Trace

•  110 General Purpose Input/Output (GPIOs)

   – Standard or High Speed mode

   – Toggle capability: up to 84MHz

•  Packages

   – 144-ball TFBGA, 11x11 mm, pitch 0.8 mm

   – 144-pin LQFP, 22x22 mm, pitch 0.5 mm

   – 100-ball VFBGA, 7x7 mm, pitch 0.65 mm

•  Single 3.3V Power Supply

                                                                                                    2

32072H–AVR32–10/2012
                                                                                                     AT32UC3A3

1.  Description

                      The AT32UC3A3/A4 is a complete System-On-Chip microcontroller based on the AVR32 UC

                      RISC processor running at frequencies up to 84MHz. AVR32 UC is a high-performance 32-bit

                      RISC microprocessor core, designed for cost-sensitive embedded applications, with particular

                      emphasis on low power consumption, high code density and high performance.

                      The processor implements a Memory Protection Unit (MPU) and a fast and flexible interrupt con-

                      troller for supporting modern operating systems and real-time operating systems. Higher

                      computation capabilities are achievable using a rich set of DSP instructions.

                      The AT32UC3A3/A4 incorporates on-chip Flash and SRAM memories for secure and fast

                      access. 64 KBytes of SRAM are directly coupled to the AVR32 UC for performances optimiza-

                      tion. Two blocks of 32 Kbytes SRAM are independently attached to the High Speed Bus Matrix,

                      allowing real ping-pong management.

                      The Peripheral Direct Memory Access Controller (PDCA) enables data transfers between

                      peripherals and memories without processor involvement. The PDCA drastically reduces pro-

                      cessing overhead when transferring continuous and large data streams.

                      The Power Manager improves design flexibility and security: the on-chip Brown-Out Detector

                      monitors the power supply, the CPU runs from the on-chip RC oscillator or from one of external

                      oscillator sources, a Real-Time Clock and its associated timer keeps track of the time.

                      The device includes two sets of three identical 16-bit Timer/Counter (TC) channels. Each chan-

                      nel can be independently programmed to perform frequency measurement, event counting,

                      interval measurement, pulse generation, delay timing and pulse width modulation. 16-bit chan-

                      nels are combined to operate as 32-bit channels.

                      The AT32UC3A3/A4 also features many communication interfaces for communication intensive

                      applications like UART, SPI or TWI. The USART supports different communication modes, like

                      SPI Mode and LIN Mode. Additionally, a flexible Synchronous Serial Controller (SSC) is avail-

                      able. The SSC provides easy access to serial communication protocols and audio standards like

                      I2S.

                      The AT32UC3A3/A4 includes a powerfull External Bus Interface to interface all standard mem-

                      ory device like SRAM, SDRAM, NAND Flash or parallel interfaces like LCD Module.

                      The peripheral set includes a High Speed MCI for SDIO/SD/MMC and a hardware encryption

                      module based on AES algorithm.

                      The device embeds a 10-bit ADC and a Digital Audio bistream DAC.

                      The Direct Memory Access controller (DMACA) allows high bandwidth data flows between high

                      speed peripherals (USB, External Memories, MMC, SDIO, ...) and through high speed internal

                      features (AES, internal memories).

                      The High-Speed (480MBit/s) USB 2.0 Device and Host interface supports several USB Classes

                      at the same time thanks to the rich Endpoint configuration. The Embedded Host interface allows

                      device like a USB Flash disk or a USB printer to be directly connected to the processor. This

                      periphal has its own dedicated DMA and is perfect for Mass Storage application.

                      AT32UC3A3/A4 integrates a class 2+ Nexus 2.0 On-Chip Debug (OCD) System, with non-intru-

                      sive real-time trace, full-speed read/write memory access in addition to basic runtime control.

                                                                                                                       3

32072H–AVR32–10/2012
                                                                                                                                                                                                                                                                               AT32UC3A3

2.   Overview

2.1  Block Diagram

                                               Figure 2-1.                             Block Diagram

                          TCK                                                                            AVR32UC                                                  LOCAL BUS

                          TDO                                      JTAG                                                                         MEMORY INTERFACE                                                                               FAST GPIO

                          TDI                               INTERFACE                                                                                             INTERFACE

                          TMS                                                                  NEXUS                       CPU

                                                            MCKO                               CLASS 2+

                                                       MDO[5..0]                               OCD       MEMORY PROTECTION UNIT                                   64 KB

                                                       MSEO[1..0]                                                                                                 SRAM

                                                            EVTI_N                                       INSTR                     DATA

                                                            EVTO_N                                       INTERFACE            INTERFACE

                      USB_VBIAS

                      USB_VBUS

                      DMFS, DMHS                                USB      HS            PBB

                      DPFS, DPHS                            INTERFACE                                                                                                    CONTROLLER

                                               ID

                                               VBOF                                                 M    M                         M              S               FLASH                                                   256/128/64

                                                                   DMA                      S                                                                                                                                                  KB

                                                                                            M                                                     S                                                                                            FLASH

                                                     32KB RAM            HRAM0/1            S

                                                     32KB RAM                               S

                                                                                                         HIGH SPEED                                                                       (SDRAM, STATIC MEMORY, COMPACT                       DATA[15..0]

                                                                                                         BUS MATRIX                               S                                                                                            ADDR[23..0]

                                                       DMACA                                M                                                                                                                                                  NCS[5..0]

                                                                                            M                                                                     EXTERNAL BUS INTERFACE                                                                 NRD

                          GENERAL PURPOSE IOs                                                                                                                                                                             FLASH & NAND FLASH)        NWAIT

                                                                                                                                                                                                                                                     NWE0

                                                       AES          DMA                                                                                                                                                                              NWE1

                                                                                            S  S                      S                      M                                                                                                       NWE3

                                                                                                                                                                                                                                                         RAS

                                                                                                                                                                                                                                                         CAS

                                                                                                       CONFIGURATION          REGISTERS BUS

                                                                                                                                                                                                                                                     SDA10

                                                                                       PB      HSB                    HSB                                                                                                                            SDCK

                                                                                               HSB-PB    HSB-PB                    PERIPHERAL                                                                                                       SDCKE

                                                                                            BRIDGE B     BRIDGE A                            DMA                                                                                                     SDWE

                                                                                                                      PB           CONTROLLER                                                                                                       CFCE1

                                                                                                                                                                                                                                                    CFCE2

                                                                                                                         PBA                                                                                                                         CFRW

                                                                                                                                                                                                                                               NANDOE

                                                       CLK                             MULTIMEDIA CARD                                                                                                                                         NANDWE

                                                       CMD[1..0]                  DMA  & MEMORY STICK                                                                                                                                          RXD

                      PA                             DATA[15..0]                       INTERFACE                              DMA                                                                                                              TXD

                      PB                                                                                                                     USART1                                                                                            CLK            IOs

                                                                                                                                                                                                                                               RTS, CTS                        PA

                      PC                                                                                                                                                                                                                                      GENERAL PURPOSE  PB

                      PX                                                                                                                                                                  DSR, DTR, DCD, RI                                                                    PC

                                                                                       INTERRUPT                                                                                                                                                                               PX

                                                                                       CONTROLLER                                                                                                                                              RXD

                                                                                                                              DMA            USART0                                                                                            TXD

                                                                                                                                             USART2                                                                                            CLK

                                                                                                                                                                                                                                               RTS, CTS

                                                      EXTINT[7..0]                     EXTERNAL

                                                       SCAN[7..0]                      INTERRUPT                                                                                                                                               RXD

                                                       NMI                             CONTROLLER                             DMA            USART3                                                                                            TXD

                                                                                                                                                                                                                                               CLK

                                                                                       REAL TIME

                                                                                       COUNTER                                               SERIAL                                                                                            SPCK

                                                                                                                              DMA     PERIPHERAL                                                                          MISO, MOSI

                          VDDIN                                                                                                    INTERFACE 0/1                                                                                               NPCS0

                          GNDCORE                           1V8                                                                                                                                                           NPCS[3..1]

                                                       Regulator                       WATCHDOG

                          VDDCORE                                                           TIMER                                  SYNCHRONOUS                    TX_CLOCK, TX_FRAME_SYNC

                                                                                                                              DMA            SERIAL                                                                                            TX_DATA

                                                                                                                                   CONTROLLER                     RX_CLOCK, RX_FRAME_SYNC

                                                       115 kHz                              POWER                                                                                                                                              RX_DATA

                                                       RCSYS                           MANAGER

                                                       32 KHz                                                                                                                                                                                  TWCK

                                               XIN32                                                                          DMA            TWO-WIRE

                                               XOUT32  OSC                                  CLOCK                                  INTERFACE 0/1                                                                                               TWD

                                               XIN0                                    GENERATOR                                                                                                                                               TWALM

                                               XOUT0   OSC0

                                                                                            CLOCK                                     ANALOG TO                                                                                                AD[7..0]

                                               XIN1    OSC1                            CONTROLLER                             DMA            DIGITAL

                                               XOUT1                                                                                  CONVERTER

                                                       PLL0                                 SLEEP

                                                                                       CONTROLLER

                                                       PLL1                                                                   DMA            AUDIO                                                                        DATA[1..0]

                                                                                            RESET                                     BITSTREAM                                                                           DATAN[1..0]

     RESET_N                                           GCLK[3..0]                      CONTROLLER                                            DAC

                                                       A[2..0]                         TIMER/COUNTER

                                                       B[2..0]                                 0/1

                                                       CLK[2..0]

                                                                                                                                                                                                                                                                                   4

32072H–AVR32–10/2012
                                                                                                  AT32UC3A3

2.2  Configuration    Summary

                      The table below lists all AT32UC3A3/A4 memory and package configurations:

                      Table 2-1.      Configuration  Summary

                      Feature                        AT32UC3A3256/128/64     AT32UC3A4256/128/64

                      Flash                                         256/128/64 KB

                      SRAM                                           64 KB

                      HSB RAM                                        64 KB

                      EBI                                     Full           Nand flash only

                      GPIO                                    110                  70

                      External Interrupts                                 8

                      TWI                                                 2

                      USART                                               4

                      Peripheral DMA Channels                             8

                      Generic DMA Channels                                4

                      SPI                                                 2

                      MCI slots                      2 MMC/SD slots          1 MMC/SD slot

                                                                                   + 1 SD slot

                      High Speed USB                                      1

                      AES (S option)                                      1

                      SSC                                                 1

                      Audio Bitstream DAC                                 1

                      Timer/Counter Channels                              6

                      Watchdog Timer                                      1

                      Real-Time Clock Timer                               1

                      Power Manager                                       1

                                                              PLL 80-240 MHz (PLL0/PLL1)

                      Oscillators                    Crystal Oscillators 0.4-20 MHz (OSC0/OSC1)

                                                              Crystal Oscillator 32 KHz (OSC32K)

                                                              RC Oscillator 115 kHz (RCSYS)

                      10-bit ADC                                          1

                      number of channels                                  8

                      JTAG                                                1

                      Max Frequency                                  84 MHz

                      Package                        LQFP144, TFBGA144             VFBGA100

                                                                                                  5

32072H–AVR32–10/2012
                                                                                                               AT32UC3A3

3.   Package and Pinout

3.1  Package

                            The device pins are multiplexed     with  peripheral  functions  as  described     in the Peripheral Multi-

                            plexing on I/O Line section.

Figure 3-1.  TFBGA144 Pinout (top view)

                      1     2      3      4     5         6           7  8        9          10       11       12

             A

                      PX40  PB00   PA28   PA27  PB03      PA29   PC02    PC04     PC05       DPHS     DMHS     USB_VBUS

             B

                      PX10  PB11   PA31   PB02  VDDIO     PB04   PC03    VDDIO    USB_VBIAS  DMFS     GNDPLL   PA09

             C

                      PX09  PX35   GNDIO  PB01  PX16      PX13   PA30    PB08     DPFS       GNDCORE  PA08     PA10

             D

                      PX08  PX37   PX36   PX47  PX19      PX12   PB10    PA02     PA26       PA11     PB07     PB06

             E

                      PX38  VDDIO  PX54   PX53  VDDIO     PX15   PB09    VDDIN    PA25       PA07     VDDCORE  PA12

             F

                      PX39  PX07   PX06   PX49  PX48      GNDIO  GNDIO   PA06     PA04       PA05     PA13     PA16

             G

                      PX00  PX05   PX59   PX50  PX51      GNDIO  GNDIO   PA23     PA24       PA03     PA00     PA01

             H

                      PX01  VDDIO  PX58   PX57  VDDIO     PC01   PA17    VDDIO    PA21       PA22     VDDANA   PB05

             J

                      PX04  PX02   PX34   PX56  PX55      PA14   PA15    PA19     PA20       TMS      TDO      RESET_N

             K

                      PX03  PX44   GNDIO  PX46  PC00      PX17   PX52    PA18     PX27       GNDIO    PX29     TCK

             L

                      PX11  GNDIO  PX45   PX20  VDDIO     PX18   PX43    VDDIN    PX26       PX28     GNDANA   TDI

             M

                      PX22  PX41   PX42   PX14  PX21      PX23   PX24    PX25     PX32       PX31     PX30     PX33

                                                                                                                         6

32072H–AVR32–10/2012
                                                                                                                                                                                                                                                    AT32UC3A3

Figure 3-2.  LQFP144            Pinout

                      TDI       TCK    RESET_N    TDO    TMS   VDDIO  GNDIO  PA15  PA14  PC01   PC00  PX31  PX30  PX33  PX29  PX32  PX25  PX28  PX26  PX27   PX43   PX52  PX24  PX23  PX18  PX17  GNDIO  VDDIO  PX21  PX55  PX56  PX51  PX57  PX50  PX46  PX20

                      108       107    106        105    104   103    102    101   100   99     98    97    96    95    94    93    92    91    90    89     88     87    86    85    84    83    82     81     80    79    78    77    76    75    74    73

PA21         109                                                                                                                                                                                                                                                72  PX22

PA22         110                                                                                                                                                                                                                                                71  PX41

PA23         111                                                                                                                                                                                                                                                70  PX45

PA24         112                                                                                                                                                                                                                                                69  PX42

PA20         113                                                                                                                                                                                                                                                68  PX14

PA19         114                                                                                                                                                                                                                                                67  PX11

PA18         115                                                                                                                                                                                                                                                66  PX44

PA17         116                                                                                                                                                                                                                                                65  GNDIO

GNDANA       117                                                                                                                                                                                                                                                64  VDDIO

VDDANA       118                                                                                                                                                                                                                                                63  PX03

PA25         119                                                                                                                                                                                                                                                62  PX02

PA26         120                                                                                                                                                                                                                                                61  PX34

PB05         121                                                                                                                                                                                                                                                60  PX04

PA00         122                                                                                                                                                                                                                                                59  PX01

PA01         123                                                                                                                                                                                                                                                58  PX05

PA05         124                                                                                                                                                                                                                                                57  PX58

PA03         125                                                                                                                                                                                                                                                56  PX59

PA04         126                                                                                                                                                                                                                                                55  PX00

PA06         127                                                                                                                                                                                                                                                54  PX07

PA16         128                                                                                                                                                                                                                                                53  PX06

PA13         129                                                                                                                                                                                                                                                52  PX39

VDDIO        130                                                                                                                                                                                                                                                51  PX38

GNDIO        131                                                                                                                                                                                                                                                50  PX08

PA12         132                                                                                                                                                                                                                                                49  PX09

PA07         133                                                                                                                                                                                                                                                48  VDDIO

PB06         134                                                                                                                                                                                                                                                47  GNDIO

PB07         135                                                                                                                                                                                                                                                46  PX54

PA11         136                                                                                                                                                                                                                                                45  PX37

PA08         137                                                                                                                                                                                                                                                44  PX36

PA10         138                                                                                                                                                                                                                                                43  PX49

PA09         139                                                                                                                                                                                                                                                42  PX53

GNDCORE      140                                                                                                                                                                                                                                                41  PX48

VDDCORE      141                                                                                                                                                                                                                                                40  PX15

VDDIN        142                                                                                                                                                                                                                                                39  PX47

VDDIN        143                                                                                                                                                                                                                                                38  PX35

GNDPLL       144                                                                                                                                                                                                                                                37  PX10

                      1         2      3          4      5     6      7      8     9     10     11    12    13    14    15    16    17    18    19    20     21     22    23    24    25    26    27     28     29    30    31    32    33    34    35    36

                      USB_VBUS  VDDIO  USB_VBIAS  GNDIO  DMHS  DPHS   GNDIO  DMFS  DPFS  VDDIO  PB08  PC05  PC04  PA30  PA02  PB10  PB09  PC02  PC03  GNDIO  VDDIO  PB04  PA29  PB03  PB02  PA27  PB01   PA28   PA31  PB00  PB11  PX16  PX13  PX12  PX19  PX40

                                                                                                                                                                                                                                                                           7

32072H–AVR32–10/2012
                                                                                                                     AT32UC3A3

Figure  3-3.  VFBGA100         Pinout (top view)

                      1        2          3       4         5        6                 7          8         9        10

              A

                      PA28     PA27       PB04    PA30      PC02     PC03              PC05       DPHS      DMHS     USB_VBUS

              B

                      PB00     PB01       PB02    PA29      VDDIO    VDDIO             PC04       DPFS      DMFS     GNDPLL

              C

                      PB11     PA31       GNDIO   PB03      PB09     PB08              USB_VBIAS  GNDIO     PA11     PA10

              D                                   PX16/

                      PX12     PX10       PX13    PX53(1)   PB10     PB07              PB06       PA09      VDDIN    VDDIN

              E       PA02/                                                                       PA06/

                      PX47(1)  GNDIO      PX08    PX09      VDDIO    GNDIO             PA16       PA13(1)   PA04     VDDCORE

              F       PX19/                                                            PA26/

                      PX59(1)  VDDIO      PX06    PX07      GNDIO    VDDIO             PB05(1)    PA08      PA03     GNDCORE

              G                                                      PA23/             PA12/      PA00/              PA01/

                      PX05     PX01       PX02    PX00      PX30     PX46(1)           PA25(1)    PA18(1)   PA05     PA17(1)

              H                                                      PA22/                                  PA20/    PA07/

                      PX04     PX21       GNDIO   PX25      PX31     PX20(1)           TMS        GNDANA    PX18(1)  PA19(1)

              J                                                                        PA15/                         PA24/

                      PX03     PX24       PX26    PX29      VDDIO    VDDANA            PX45(1)    TDO       RESET_N  PX17(1)

              K                                   PX15/     PC00/                      PA14/                         PA21/

                      PX23     PX27       PX28    PX32(1)   PX14(1)  PC01              PX11(1)    TDI       TCK      PX22(1)

                               Note:  1.  Those balls are   physically connected to 2 GPIOs.      Software  must managed carrefully  the  GPIO

                                          configuration to  avoid electrical conflict

                                                                                                                                          8

32072H–AVR32–10/2012
                                                                                                    AT32UC3A3

3.2    Peripheral Multiplexing on I/O lines

3.2.1        Multiplexed Signals

                           Each GPIO line can be assigned to one of the peripheral functions. The following table

                           describes the peripheral signals multiplexed to the GPIO lines.

                           Note that GPIO 44 is physically implemented in silicon but it must be kept unused and config-

                           ured in input mode.

Table  3-1.  GPIO     Controller Function Multiplexing

                                  G                                               GPIO function

                                  P             PIN

BGA    QFP   BGA                  I             Type

144    144   100      PIN         O   Supply    (2)     A               B                        C                D

G11    122   G8(1)    PA00        0   VDDIO     x3      USART0 - RTS    TC0 - CLK1               SPI1 - NPCS[3]

G12    123   G10(1)   PA01        1   VDDIO     x1      USART0 - CTS    TC0 - A1                 USART2 - RTS

D8     15    E1(1)    PA02        2   VDDIO     x1      USART0 - CLK    TC0 - B1                 SPI0 - NPCS[0]

G10    125   F9       PA03        3   VDDIO     x1      USART0 - RXD    EIC - EXTINT[4]          ABDAC - DATA[0]

F9     126   E9       PA04        4   VDDIO     x1      USART0 - TXD    EIC - EXTINT[5]      ABDAC - DATAN[0]

F10    124   G9       PA05        5   VDDIO     x1      USART1 - RXD    TC1 - CLK0               USB - ID

F8     127   E8(1)    PA06        6   VDDIO     x1      USART1 - TXD    TC1 - CLK1               USB - VBOF

E10    133   H10(1)   PA07        7   VDDIO     x1      SPI0 - NPCS[3]  ABDAC - DATAN[0]         USART1 - CLK

C11    137   F8       PA08        8   VDDIO     x3      SPI0 - SPCK     ABDAC - DATA[0]          TC1 - B1

B12    139   D8       PA09        9   VDDIO     x2      SPI0 - NPCS[0]  EIC - EXTINT[6]          TC1 - A1

C12    138   C10      PA10        10  VDDIO     x2      SPI0 - MOSI     USB - VBOF               TC1 - B0

D10    136   C9       PA11        11  VDDIO     x2      SPI0 - MISO     USB - ID                 TC1 - A2

E12    132   G7(1)    PA12        12  VDDIO     x1      USART1 - CTS    SPI0 - NPCS[2]           TC1 - A0

F11    129   E8(1)    PA13        13  VDDIO     x1      USART1 - RTS    SPI0 - NPCS[1]           EIC - EXTINT[7]

J6     100   K7(1)    PA14        14  VDDIO     x1      SPI0 - NPCS[1]  TWIMS0 - TWALM           TWIMS1 - TWCK

J7     101   J7(1)    PA15        15  VDDIO     x1      MCI - CMD[1]    SPI1 - SPCK              TWIMS1 - TWD

F12    128   E7       PA16        16  VDDIO     x1      MCI - DATA[11]  SPI1 - MOSI              TC1 - CLK2

H7     116   G10(1)   PA17        17  VDDANA    x1      MCI - DATA[10]  SPI1 - NPCS[1]           ADC - AD[7]

K8     115   G8(1)    PA18        18  VDDANA    x1      MCI - DATA[9]   SPI1 - NPCS[2]           ADC - AD[6]

J8     114   H10(1)   PA19        19  VDDANA    x1      MCI - DATA[8]   SPI1 - MISO              ADC - AD[5]

J9     113   H9(1)    PA20        20  VDDANA    x1      EIC - NMI       SSC - RX_FRAME_SYNC      ADC - AD[4]

H9     109   K10(1)   PA21        21  VDDANA    x1      ADC - AD[0]     EIC - EXTINT[0]          USB - ID

H10    110   H6(1)    PA22        22  VDDANA    x1      ADC - AD[1]     EIC - EXTINT[1]          USB - VBOF

G8     111   G6(1)    PA23        23  VDDANA    x1      ADC - AD[2]     EIC - EXTINT[2]          ABDAC - DATA[1]

G9     112   J10(1)   PA24        24  VDDANA    x1      ADC - AD[3]     EIC - EXTINT[3]      ABDAC - DATAN[1]

E9     119   G7(1)    PA25        25  VDDIO     x1      TWIMS0 - TWD    TWIMS1 - TWALM           USART1 - DCD

D9     120   F7(1))   PA26        26  VDDIO     x1      TWIMS0 - TWCK   USART2 - CTS             USART1 - DSR

A4     26    A2       PA27        27  VDDIO     x2      MCI - CLK       SSC - RX_DATA            USART3 - RTS     MSI - SCLK

A3     28    A1       PA28        28  VDDIO     x1      MCI - CMD[0]    SSC - RX_CLOCK           USART3 - CTS     MSI - BS

A6     23    B4       PA29        29  VDDIO     x1      MCI - DATA[0]   USART3 - TXD             TC0 - CLK0       MSI - DATA[0]

                                                                                                                                 9

32072H–AVR32–10/2012
                                                                                                    AT32UC3A3

Table  3-1.  GPIO     Controller Function Multiplexing

                            G                                                     GPIO function

                            P           PIN

BGA    QFP   BGA            I           Type

144    144   100      PIN   O   Supply  (2)             A               B                        C              D

C7     14    A4       PA30  30  VDDIO   x1              MCI - DATA[1]   USART3 - CLK         DMACA - DMAACK[0]  MSI - DATA[1]

B3     29    C2       PA31  31  VDDIO   x1              MCI - DATA[2]   USART2 - RXD         DMACA - DMARQ[0]   MSI - DATA[2]

A2     30    B1       PB00  32  VDDIO   x1              MCI - DATA[3]   USART2 - TXD             ADC - TRIGGER  MSI - DATA[3]

C4     27    B2       PB01  33  VDDIO   x1              MCI - DATA[4]   ABDAC - DATA[1]          EIC - SCAN[0]  MSI - INS

B4     25    B3       PB02  34  VDDIO   x1              MCI - DATA[5]   ABDAC - DATAN[1]         EIC - SCAN[1]

A5     24    C4       PB03  35  VDDIO   x1              MCI - DATA[6]   USART2 - CLK             EIC - SCAN[2]

B6     22    A3       PB04  36  VDDIO   x1              MCI - DATA[7]   USART3 - RXD             EIC - SCAN[3]

H12    121   F7(1)    PB05  37  VDDIO   x3              USB - ID        TC0 - A0                 EIC - SCAN[4]

D12    134   D7       PB06  38  VDDIO   x1              USB - VBOF      TC0 - B0                 EIC - SCAN[5]

D11    135   D6       PB07  39  VDDIO   x3              SPI1 - SPCK     SSC - TX_CLOCK           EIC - SCAN[6]

C8     11    C6       PB08  40  VDDIO   x2              SPI1 - MISO     SSC - TX_DATA            EIC - SCAN[7]

E7     17    C5       PB09  41  VDDIO   x2              SPI1 - NPCS[0]  SSC - RX_DATA            EBI - NCS[4]

D7     16    D5       PB10  42  VDDIO   x2              SPI1 - MOSI     SSC - RX_FRAME_SYNC      EBI - NCS[5]

B2     31    C1       PB11  43  VDDIO   x1              USART1 - RXD    SSC - TX_FRAME_SYNC      PM - GCLK[1]

K5     98    K5(1)    PC00  45  VDDIO   x1

H6     99    K6       PC01  46  VDDIO   x1

A7     18    A5       PC02  47  VDDIO   x1

B7     19    A6       PC03  48  VDDIO   x1

A8     13    B7       PC04  49  VDDIO   x1

A9     12    A7       PC05  50  VDDIO   x1

G1     55    G4       PX00  51  VDDIO   x2              EBI - DATA[10]  USART0 - RXD             USART1 - RI

H1     59    G2       PX01  52  VDDIO   x2              EBI - DATA[9]   USART0 - TXD             USART1 - DTR

J2     62    G3       PX02  53  VDDIO   x2              EBI - DATA[8]   USART0 - CTS             PM - GCLK[0]

K1     63    J1       PX03  54  VDDIO   x2              EBI - DATA[7]   USART0 - RTS

J1     60    H1       PX04  55  VDDIO   x2              EBI - DATA[6]   USART1 - RXD

G2     58    G1       PX05  56  VDDIO   x2              EBI - DATA[5]   USART1 - TXD

F3     53    F3       PX06  57  VDDIO   x2              EBI - DATA[4]   USART1 - CTS

F2     54    F4       PX07  58  VDDIO   x2              EBI - DATA[3]   USART1 - RTS

D1     50    E3       PX08  59  VDDIO   x2              EBI - DATA[2]   USART3 - RXD

C1     49    E4       PX09  60  VDDIO   x2              EBI - DATA[1]   USART3 - TXD

B1     37    D2       PX10  61  VDDIO   x2              EBI - DATA[0]   USART2 - RXD

L1     67    K7(1)    PX11  62  VDDIO   x2              EBI - NWE1      USART2 - TXD

D6     34    D1       PX12  63  VDDIO   x2              EBI - NWE0      USART2 - CTS             MCI - CLK

C6     33    D3       PX13  64  VDDIO   x2              EBI - NRD       USART2 - RTS             MCI - CLK

M4     68    K5(1)    PX14  65  VDDIO   x2              EBI - NCS[1]                             TC0 - A0

E6     40    K4(1)    PX15  66  VDDIO   x2              EBI - ADDR[19]  USART3 - RTS             TC0 - B0

C5     32    D4(1)    PX16  67  VDDIO   x2              EBI - ADDR[18]  USART3 - CTS             TC0 - A1

K6     83    J10(1)   PX17  68  VDDIO   x2              EBI - ADDR[17]  DMACA - DMARQ[1]         TC0 - B1

                                                                                                                           10

32072H–AVR32–10/2012
                                                                                                    AT32UC3A3

Table  3-1.  GPIO     Controller Function Multiplexing

                            G                                                     GPIO function

                            P            PIN

BGA    QFP   BGA            I            Type

144    144   100      PIN   O    Supply  (2)            A               B                        C               D

L6     84    H9(1)    PX18  69   VDDIO   x2             EBI - ADDR[16]  DMACA - DMAACK[1]        TC0 - A2

D5     35    F1(1)    PX19  70   VDDIO   x2             EBI - ADDR[15]  EIC - SCAN[0]            TC0 - B2

L4     73    H6(1)    PX20  71   VDDIO   x2             EBI - ADDR[14]  EIC - SCAN[1]            TC0 - CLK0

M5     80    H2       PX21  72   VDDIO   x2             EBI - ADDR[13]  EIC - SCAN[2]            TC0 - CLK1

M1     72    K10(1)   PX22  73   VDDIO   x2             EBI - ADDR[12]  EIC - SCAN[3]            TC0 - CLK2

M6     85    K1       PX23  74   VDDIO   x2             EBI - ADDR[11]  EIC - SCAN[4]      SSC - TX_CLOCK

M7     86    J2       PX24  75   VDDIO   x2             EBI - ADDR[10]  EIC - SCAN[5]            SSC - TX_DATA

M8     92    H4       PX25  76   VDDIO   x2             EBI - ADDR[9]   EIC - SCAN[6]            SSC - RX_DATA

L9     90    J3       PX26  77   VDDIO   x2             EBI - ADDR[8]   EIC - SCAN[7]      SSC - RX_FRAME_SYNC

K9     89    K2       PX27  78   VDDIO   x2             EBI - ADDR[7]   SPI0 - MISO        SSC - TX_FRAME_SYNC

L10    91    K3       PX28  79   VDDIO   x2             EBI - ADDR[6]   SPI0 - MOSI        SSC - RX_CLOCK

K11    94    J4       PX29  80   VDDIO   x2             EBI - ADDR[5]   SPI0 - SPCK

M11    96    G5       PX30  81   VDDIO   x2             EBI - ADDR[4]   SPI0 - NPCS[0]

M10    97    H5       PX31  82   VDDIO   x2             EBI - ADDR[3]   SPI0 - NPCS[1]

M9     93    K4(1)    PX32  83   VDDIO   x2             EBI - ADDR[2]   SPI0 - NPCS[2]

M12    95             PX33  84   VDDIO   x2             EBI - ADDR[1]   SPI0 - NPCS[3]

J3     61             PX34  85   VDDIO   x2             EBI - ADDR[0]   SPI1 - MISO              PM - GCLK[0]

C2     38             PX35  86   VDDIO   x2             EBI - DATA[15]  SPI1 - MOSI              PM - GCLK[1]

D3     44             PX36  87   VDDIO   x2             EBI - DATA[14]  SPI1 - SPCK              PM - GCLK[2]

D2     45             PX37  88   VDDIO   x2             EBI - DATA[13]  SPI1 - NPCS[0]           PM - GCLK[3]

E1     51             PX38  89   VDDIO   x2             EBI - DATA[12]  SPI1 - NPCS[1]           USART1 - DCD

F1     52             PX39  90   VDDIO   x2             EBI - DATA[11]  SPI1 - NPCS[2]           USART1 - DSR

A1     36             PX40  91   VDDIO   x2                             MCI - CLK

M2     71             PX41  92   VDDIO   x2             EBI - CAS

M3     69             PX42  93   VDDIO   x2             EBI - RAS

L7     88             PX43  94   VDDIO   x2             EBI - SDA10     USART1 - RI

K2     66             PX44  95   VDDIO   x2             EBI - SDWE      USART1 - DTR

L3     70    J7(1)    PX45  96   VDDIO   x3             EBI - SDCK

K4     74    G6(1)    PX46  97   VDDIO   x2             EBI - SDCKE

D4     39    E1(1)    PX47  98   VDDIO   x2             EBI - NANDOE    ADC - TRIGGER            MCI - DATA[11]

F5     41             PX48  99   VDDIO   x2             EBI - ADDR[23]  USB - VBOF               MCI - DATA[10]

F4     43             PX49  100  VDDIO   x2             EBI - CFRNW     USB - ID                 MCI - DATA[9]

G4     75             PX50  101  VDDIO   x2             EBI - CFCE2     TC1 - B2                 MCI - DATA[8]

G5     77             PX51  102  VDDIO   x2             EBI - CFCE1     DMACA - DMAACK[0]        MCI - DATA[15]

K7     87             PX52  103  VDDIO   x2             EBI - NCS[3]    DMACA - DMARQ[0]         MCI - DATA[14]

E4     42    D4(1)    PX53  104  VDDIO   x2             EBI - NCS[2]                             MCI - DATA[13]

E3     46             PX54  105  VDDIO   x2             EBI - NWAIT     USART3 - TXD             MCI - DATA[12]

J5     79             PX55  106  VDDIO   x2             EBI - ADDR[22]  EIC - SCAN[3]            USART2 - RXD

                                                                                                                    11

32072H–AVR32–10/2012
                                                                                                                        AT32UC3A3

Table  3-1.  GPIO     Controller Function Multiplexing

                                G                                                                    GPIO  function

                                P                   PIN

BGA    QFP   BGA                     I              Type

144    144   100         PIN    O           Supply  (2)            A                              B                  C                     D

J4     78                PX56   107         VDDIO   x2    EBI -    ADDR[21]               EIC  -  SCAN[2]            USART2 - TXD

H4     76                PX57   108         VDDIO   x2    EBI -    ADDR[20]               EIC  -  SCAN[1]            USART3 - RXD

H3     57                PX58   109         VDDIO   x2    EBI      - NCS[0]               EIC  -  SCAN[0]            USART3 - TXD

G3     56    F1(1)       PX59   110         VDDIO   x2    EBI -    NANDWE                                            MCI - CMD[1]

                              Note:     1.   Those balls are physically connected to 2 GPIOs. Software must managed carrefully the GPIO

                                             configuration to avoid electrical conflict.

                                        2.   Refer to ”Electrical Characteristics” on page 960 for a description of the electrical properties of

                                             the pad types used..

3.2.2        Peripheral  Functions

                              Each GPIO line can be assigned to one of several peripheral functions. The following table

                              describes how the various peripheral functions are selected. The last listed function has priority

                              in case multiple functions are enabled on the same pin.

                              Table 3-2.     Peripheral Functions

                                Function                                              Description

                                GPIO Controller Function multiplexing                 GPIO and GPIO peripheral selection A to D

                                Nexus OCD AUX port connections                        OCD trace system

                                JTAG port connections                                 JTAG debug port

                                Oscillators                                           OSC0, OSC1, OSC32

3.2.3        Oscillator Pinout

                              The oscillators are not mapped to the normal GPIO functions and their muxings are controlled

                              by registers in the Power Mananger (PM). Please refer to the PM chapter for more information

                              about this.

                                                          Table       3-3.Oscillator Pinout

                                TFBGA144                  QFP144             VFBGA100                      Pin name     Oscillator pin

                                        A7                18                          A5                   PC02                    XIN0

                                        B7                19                          A6                   PC03                    XOUT0

                                        A8                13                          B7                   PC04                    XIN1

                                        A9                12                          A7                   PC05                    XOUT1

                                        K5                98                          K5(1)                PC00                    XIN32

                                        H6                99                          K6                   PC01                    XOUT32

                              Note:     1.   This ball is physically connected to 2 GPIOs. Software must managed        carrefully the GPIO       con-

                                             figuration to avoid electrical conflict

                                                                                                                                                  12

32072H–AVR32–10/2012
                                                                                      AT32UC3A3

3.2.4  JTAG port connections

                      Table 3-4.        JTAG Pinout

                      TFBGA144                 QFP144     VFBGA100          Pin name  JTAG pin

                             K12               107               K9         TCK       TCK

                             L12               108               K8         TDI       TDI

                             J11               105               J8         TDO       TDO

                             J10               104               H7         TMS       TMS

3.2.5  Nexus OCD AUX port connections

                      If the OCD trace system is enabled, the trace system will take control over a number of pins, irre-

                      spective of the GPIO configuration. Three differents OCD trace pin mappings are possible,

                      depending on the configuration of the OCD AXS register. For details, see the AVR32 UC Tech-

                      nical Reference Manual.

                      Table  3-5.       Nexus  OCD   AUX  port connections

                                   Pin                    AXS=0             AXS=1          AXS=2

                              EVTI_N                      PB05              PA08           PX00

                              MDO[5]                      PA00              PX56           PX06

                              MDO[4]                      PA01              PX57           PX05

                              MDO[3]                      PA03              PX58           PX04

                              MDO[2]                      PA16              PA24           PX03

                              MDO[1]                      PA13              PA23           PX02

                              MDO[0]                      PA12              PA22           PX01

                              MSEO[1]                     PA10              PA07           PX08

                              MSEO[0]                     PA11              PX55           PX07

                              MCKO                        PB07              PX00           PB09

                              EVTO_N                      PB06              PB06           PB06

                                                                                                                           13

32072H–AVR32–10/2012
                                                                                                        AT32UC3A3

3.3     Signal Descriptions

                      The following table gives details on signal name classified by       peripheral.

Table 3-6.   Signal Description List

                                                                                   Active

Signal Name           Function                                              Type   Level   Comments

                                                      Power

VDDIO                 I/O Power Supply                             Power                   3.0 to 3.6V

VDDANA                Analog Power Supply                          Power                   3.0 to 3.6V

VDDIN                 Voltage Regulator Input Supply               Power                   3.0 to 3.6V

VDDCORE               Voltage Regulator Output for Digital Supply  Power                   1.65 to 1.95 V

                                                                   Output

GNDANA                Analog Ground                                Ground

GNDIO                 I/O Ground                                   Ground

GNDCORE               Digital Ground                               Ground

GNDPLL                PLL Ground                                   Ground

                                               Clocks, Oscillators, and PLL’s

XIN0, XIN1, XIN32     Crystal 0, 1, 32 Input                       Analog

XOUT0, XOUT1,         Crystal 0, 1, 32 Output                      Analog

XOUT32

                                                      JTAG

TCK                   Test Clock                                            Input

TDI                   Test Data In                                          Input

TDO                   Test Data Out                                Output

TMS                   Test Mode Select                                      Input

                                                      Auxiliary Port - AUX

MCKO                  Trace Data Output Clock                      Output

MDO[5:0]              Trace Data Output                            Output

MSEO[1:0]             Trace Frame Control                          Output

EVTI_N                Event In                                              Input  Low

EVTO_N                Event Out                                    Output          Low

                                                      Power Manager - PM

GCLK[3:0]             Generic Clock Pins                           Output

                                                                                                           14

32072H–AVR32–10/2012
                                                                                                   AT32UC3A3

Table 3-6.   Signal   Description List

                                                                                    Active

Signal Name           Function                             Type                     Level   Comments

RESET_N               Reset Pin                            Input                    Low

                                               DMA Controller - DMACA (optional)

DMAACK[1:0]           DMA Acknowledge                      Output

DMARQ[1:0]            DMA Requests                         Input

                                               External Interrupt Controller - EIC

EXTINT[7:0]           External Interrupt Pins              Input

SCAN[7:0]             Keypad Scan Pins                     Output

NMI                   Non-Maskable Interrupt Pin           Input                    Low

                      General Purpose Input/Output pin - GPIOA, GPIOB,              GPIOC,  GPIOX

PA[31:0]              Parallel I/O Controller GPIO port A  I/O

PB[11:0]              Parallel I/O Controller GPIO port B  I/O

PC[5:0]               Parallel I/O Controller GPIO port C  I/O

PX[59:0]              Parallel I/O Controller GPIO port X  I/O

                                                  External Bus Interface - EBI

ADDR[23:0]            Address Bus                          Output

CAS                   Column Signal                        Output                   Low

CFCE1                 Compact Flash 1 Chip Enable          Output                   Low

CFCE2                 Compact Flash 2 Chip Enable          Output                   Low

CFRNW                 Compact Flash Read Not Write         Output

DATA[15:0]            Data Bus                             I/O

NANDOE                NAND Flash Output Enable             Output                   Low

NANDWE                NAND Flash Write Enable              Output                   Low

NCS[5:0]              Chip Select                          Output                   Low

NRD                   Read Signal                          Output                   Low

NWAIT                 External Wait Signal                 Input                    Low

NWE0                  Write Enable 0                       Output                   Low

NWE1                  Write Enable 1                       Output                   Low

RAS                   Row Signal                           Output                   Low

                                                                                                      15

32072H–AVR32–10/2012
                                                                                               AT32UC3A3

Table 3-6.   Signal   Description List

                                                                                       Active

Signal Name           Function                    Type                                 Level   Comments

SDA10                 SDRAM Address 10 Line       Output

SDCK                  SDRAM Clock                 Output

SDCKE                 SDRAM Clock Enable          Output

SDWE                  SDRAM Write Enable          Output                               Low

                                                  MultiMedia Card Interface - MCI

CLK                   Multimedia Card Clock       Output

CMD[1:0]              Multimedia Card Command     I/O

DATA[15:0]            Multimedia Card Data        I/O

                                                  Memory Stick Interface - MSI

SCLK                  Memory Stick Clock          Output

BS                    Memory Stick Command        I/O

DATA[3:0]             Multimedia Card Data        I/O

                                             Serial Peripheral Interface - SPI0, SPI1

MISO                  Master In Slave Out         I/O

MOSI                  Master Out Slave In         I/O

NPCS[3:0]             SPI Peripheral Chip Select  I/O                                  Low

SPCK                  Clock                       Output

                                             Synchronous Serial Controller - SSC

RX_CLOCK              SSC Receive Clock           I/O

RX_DATA               SSC Receive Data            Input

RX_FRAME_SYNC         SSC Receive Frame Sync      I/O

TX_CLOCK              SSC Transmit Clock          I/O

TX_DATA               SSC Transmit Data           Output

TX_FRAME_SYNC         SSC Transmit Frame Sync     I/O

                                                  Timer/Counter - TC0, TC1

A0                    Channel 0 Line A            I/O

A1                    Channel 1 Line A            I/O

A2                    Channel 2 Line A            I/O

                                                                                                         16

32072H–AVR32–10/2012
                                                                                        AT32UC3A3

Table 3-6.   Signal Description List

                                                                                Active

Signal Name           Function                        Type                      Level   Comments

B0                    Channel 0 Line B                I/O

B1                    Channel 1 Line B                I/O

B2                    Channel 2 Line B                I/O

CLK0                  Channel 0 External Clock Input  Input

CLK1                  Channel 1 External Clock Input  Input

CLK2                  Channel 2 External Clock Input  Input

                                             Two-wire Interface - TWI0, TWI1

TWCK                  Serial Clock                    I/O

TWD                   Serial Data                     I/O

TWALM                 SMBALERT signal                 I/O

             Universal Synchronous Asynchronous Receiver Transmitter - USART0, USART1, USART2, USART3

CLK                   Clock                           I/O

CTS                   Clear To Send                   Input

DCD                   Data Carrier Detect                                               Only USART1

DSR                   Data Set Ready                                                    Only USART1

DTR                   Data Terminal Ready                                               Only USART1

RI                    Ring Indicator                                                    Only USART1

RTS                   Request To Send                 Output

RXD                   Receive Data                    Input

TXD                   Transmit Data                   Output

                                             Analog to Digital Converter - ADC

AD0 - AD7             Analog input pins               Analog

                                                      input

                                             Audio Bitstream DAC (ABDAC)

DATA0-DATA1           D/A Data out                    Output

DATAN0-DATAN1         D/A Data inverted out           Output

                                             Universal Serial Bus Device - USB

DMFS                  USB Full Speed Data -           Analog

DPFS                  USB Full Speed Data +           Analog

                                                                                                       17

32072H–AVR32–10/2012
                                                                                AT32UC3A3

Table 3-6.   Signal   Description List

                                                                        Active

Signal Name           Function                                  Type    Level   Comments

DMHS                  USB High Speed Data -                     Analog

DPHS                  USB High Speed Data +                     Analog

                                                                                Connect to the ground through a

                                                                                6810 ohms (+/- 1%) resistor in

USB_VBIAS             USB VBIAS reference                       Analog          parallel with a 10pf capacitor.

                                                                                If USB hi-speed feature is not

                                                                                required, leave this pin

                                                                                unconnected to save power

USB_VBUS              USB VBUS signal                           Output

VBOF                  USB VBUS on/off bus power  control  port  Output

ID                    ID Pin fo the USB bus                     Input

                                                                                                                 18

32072H–AVR32–10/2012
                                                                                    AT32UC3A3

3.4    I/O Line Considerations

3.4.1  JTAG Pins

                      TMS and TDI pins have pull-up resistors. TDO pin is an output, driven at up to VDDIO, and has

                      no pull-up resistor.

3.4.2  RESET_N Pin

                      The RESET_N pin is a schmitt input and integrates a permanent pull-up resistor to VDDIO. As

                      the product integrates a power-on reset cell, the RESET_N pin can be left unconnected in case

                      no reset from the system needs to be applied to the product.

3.4.3  TWI Pins

                      When these pins are used for TWI, the pins are open-drain outputs with slew-rate limitation and

                      inputs with inputs with spike filtering. When used as GPIO pins or used for other peripherals, the

                      pins have the same characteristics as other GPIO pins.

3.4.4  GPIO Pins

                      All the I/O lines integrate a programmable pull-up resistor. Programming of this pull-up resistor is

                      performed independently for each I/O line through the I/O Controller. After reset, I/O lines default

                      as inputs with pull-up resistors disabled, except when indicated otherwise in the column “Reset

                      State” of the I/O Controller multiplexing tables.

                                                                                                                            19

32072H–AVR32–10/2012
                                                                                                         AT32UC3A3

3.5    Power Considerations

3.5.1  Power          Supplies

                      The AT32UC3A3 has several types of power supply pins:

                      •         VDDIO: Powers I/O lines. Voltage is 3.3V nominal

                      •         VDDANA: Powers the ADC. Voltage is 3.3V nominal

                      •         VDDIN: Input voltage for the voltage regulator. Voltage is 3.3V nominal

                      •         VDDCORE: Output voltage from regulator for filtering purpose and provides the supply to the

                                core, memories, and peripherals. Voltage is 1.8V nominal

                      The ground pin GNDCORE is common to VDDCORE and VDDIN. The ground pin for VDDANA

                      is GNDANA. The ground pins for VDDIO are GNDIO.

                      Refer to Electrical Characteristics chapter for power consumption on the various supply pins.

3.5.2  Voltage        Regulator

                      The AT32UC3A3 embeds a voltage regulator that converts from 3.3V to 1.8V with a load of up

                      to 100 mA. The regulator takes its input voltage from VDDIN, and supplies the output voltage on

                      VDDCORE and powers the core, memories and peripherals.

                      Adequate output supply decoupling is mandatory for VDDCORE to reduce ripple and avoid

                      oscillations.

                      The best way to achieve this is to use two capacitors in parallel between VDDCORE and

                      GNDCORE:

                                • One external 470pF (or 1nF) NPO capacitor (COUT1) should be connected as close to the

                                 chip as possible.

                                • One external 2.2µF (or 3.3µF) X7R capacitor (COUT2).

                      Adequate input supply decoupling is mandatory for VDDIN in order to improve startup stability

                      and reduce source voltage drop.

                      The input decoupling capacitor should be placed close to the chip, e.g., two capacitors can be

                      used in parallel (1nF NPO and 4.7µF X7R).

                                 3.3V                                                     VDDIN

                                                    CIN2         CIN1                                    1.8V

                                                                                                         Regulator

                                 1.8V                                                     VDDCORE

                                                    COUT2        COUT1

                      For decoupling recommendations for VDDIO and VDDANA please refer to the Schematic

                      checklist.

                                                                                                                             20

32072H–AVR32–10/2012
                                                                                                        AT32UC3A3

4.   Processor        and Architecture

                      Rev: 1.4.2.0

                      This chapter gives an overview of the AVR32UC CPU. AVR32UC is an implementation of the

                      AVR32 architecture. A summary of the programming model, instruction set, and MPU is pre-

                      sented. For further details, see the AVR32 Architecture Manual and the AVR32UC Technical

                      Reference Manual.

4.1  Features

                      •  32-bit load/store AVR32A RISC architecture

                         – 15 general-purpose 32-bit registers

                         – 32-bit Stack Pointer, Program Counter and Link Register reside in register file

                         – Fully orthogonal instruction set

                         – Privileged and unprivileged modes enabling efficient and secure Operating Systems

                         – Innovative instruction set together with variable instruction length ensuring industry leading

                                    code density

                         – DSP extention with saturating arithmetic, and a wide variety of multiply instructions

                      •  3-stage pipeline allows one instruction per clock cycle for most instructions

                         – Byte, halfword, word and double word memory access

                         – Multiple interrupt priority levels

                      •  MPU allows for operating systems with memory protection

4.2  AVR32            Architecture

                      AVR32 is a high-performance 32-bit RISC microprocessor architecture, designed for cost-sensi-

                      tive embedded applications, with particular emphasis on low power consumption and high code

                      density. In addition, the instruction set architecture has been tuned to allow a variety of micro-

                      architectures, enabling the AVR32 to be implemented as low-, mid-, or high-performance

                      processors. AVR32 extends the AVR family into the world of 32- and 64-bit applications.

                      Through a quantitative approach, a large set of industry recognized benchmarks has been com-

                      piled and analyzed to achieve the best code density in its class. In addition to lowering the

                      memory requirements, a compact code size also contributes to the core’s low power characteris-

                      tics. The processor supports byte and halfword data types without penalty in code size and

                      performance.

                      Memory load and store operations are provided for byte, halfword, word, and double word data

                      with automatic sign- or zero extension of halfword and byte data. The C-compiler is closely

                      linked to the architecture and is able to exploit code optimization features, both for size and

                      speed.

                      In order to reduce code size to a minimum, some instructions have multiple addressing modes.

                      As an example, instructions with immediates often have a compact format with a smaller imme-

                      diate, and an extended format with a larger immediate. In this way, the compiler is able to use

                      the format giving the smallest code size.

                      Another feature of the instruction set is that frequently used instructions, like add, have a com-

                      pact format with two operands as well as an extended format with three operands. The larger

                      format increases performance, allowing an addition and a data move in the same instruction in a

                      single cycle. Load and store instructions have several different formats in order to reduce code

                      size and speed up execution.

                                                                                                                           21

32072H–AVR32–10/2012
                                                                                        AT32UC3A3

                      The register file is organized as sixteen 32-bit registers and includes the Program Counter, the

                      Link Register, and the Stack Pointer. In addition, register R12 is designed to hold return values

                      from function calls and is used implicitly by some instructions.

4.3  The  AVR32UC     CPU

                      The AVR32UC CPU targets low- and medium-performance applications, and provides an

                      advanced OCD system, no caches, and a Memory Protection Unit (MPU). Java acceleration

                      hardware is not implemented.

                      AVR32UC provides three memory interfaces, one High Speed Bus master for instruction fetch,

                      one High Speed Bus master for data access, and one High Speed Bus slave interface allowing

                      other bus masters to access data RAMs internal to the CPU. Keeping data RAMs internal to the

                      CPU allows fast access to the RAMs, reduces latency, and guarantees deterministic timing.

                      Also, power consumption is reduced by not needing a full High Speed Bus access for memory

                      accesses. A dedicated data RAM interface is provided for communicating with the internal data

                      RAMs.

                      A local bus interface is provided for connecting the CPU to device-specific high-speed systems,

                      such as floating-point units and fast GPIO ports. This local bus has to be enabled by writing the

                      LOCEN bit in the CPUCR system register. The local bus is able to transfer data between the

                      CPU and the local bus slave in a single clock cycle. The local bus has a dedicated memory

                      range allocated to it, and data transfers are performed using regular load and store instructions.

                      Details on which devices that are mapped into the local bus space is given in the Memories

                      chapter of this data sheet.

                      Figure 4-1 on page 23 displays the contents of AVR32UC.

                                                                                                                          22

32072H–AVR32–10/2012
                                                                                                                                                           AT32UC3A3

                      Figure    4-1.                                  Overview of the AVR32UC CPU

                                      Interrupt controller interface                  OCD interface                                       Reset interface

                                                                                      OCD                                                 Power/

                                                                                      system                                              Reset

                                                                                                                                          control

                                                                                                     AVR32UC CPU          pipeline

                                                                                                     MPU

                                Instruction memory controller                                                             Data memory controller

                                                                                                     High                 High            CPU Local

                                High Speed Bus master                                                Speed                Speed           Bus

                                                                                                     Bus                  Bus slave       master           Data RAMinterface

                                                                                                     master

                                                                      High Speed Bus                      High Speed Bus  High Speed Bus  CPU Local Bus

4.3.1  Pipeline       Overview

                      AVR32UC has three pipeline stages, Instruction Fetch (IF), Instruction Decode (ID), and Instruc-

                      tion Execute (EX). The EX stage is split into three parallel subsections, one arithmetic/logic

                      (ALU) section, one multiply (MUL) section, and one load/store (LS) section.

                      Instructions are issued and complete in order. Certain operations require several clock cycles to

                      complete, and in this case, the instruction resides in the ID and EX stages for the required num-

                      ber of clock cycles. Since there is only three pipeline stages, no internal data forwarding is

                      required, and no data dependencies can arise in the pipeline.

                      Figure 4-2 on page 24 shows an overview of the AVR32UC pipeline stages.

                                                                                                                                                                              23

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

                      Figure  4-2.       The   AVR32UC Pipeline

                                                                            MUL                            Multiply  unit

                                    IF              ID           Regf ile   A LU                 Regf ile  A LU unit

                                                                 Read                            w rite

                              Pref etch  unit  Dec ode  unit

                                                                            LS                             Load-store

                                                                                                           unit

4.3.2  AVR32A         Microarchitecture Compliance

                      AVR32UC implements an AVR32A microarchitecture. The AVR32A microarchitecture is tar-

                      geted at cost-sensitive, lower-end applications like smaller microcontrollers. This

                      microarchitecture does not provide dedicated hardware registers for shadowing of register file

                      registers in interrupt contexts. Additionally, it does not provide hardware registers for the return

                      address registers and return status registers. Instead, all this information is stored on the system

                      stack. This saves chip area at the expense of slower interrupt handling.

                      Upon interrupt initiation, registers R8-R12 are automatically pushed to the system stack. These

                      registers are pushed regardless of the priority level of the pending interrupt. The return address

                      and status register are also automatically pushed to stack. The interrupt handler can therefore

                      use R8-R12 freely. Upon interrupt completion, the old R8-R12 registers and status register are

                      restored, and execution continues at the return address stored popped from stack.

                      The stack is also used to store the status register and return address for exceptions and scall.

                      Executing the rete or rets instruction at the completion of an exception or system call will pop

                      this status register and continue execution at the popped return address.

4.3.3  Java Support

                      AVR32UC does not provide Java hardware acceleration.

4.3.4  Memory Protection

                      The MPU allows the user to check all memory accesses for privilege violations. If an access is

                      attempted to an illegal memory address, the access is aborted and an exception is taken. The

                      MPU in AVR32UC is specified in the AVR32UC Technical Reference manual.

4.3.5  Unaligned Reference Handling

                      AVR32UC does not support unaligned accesses, except for doubleword accesses. AVR32UC is

                      able to perform word-aligned st.d and ld.d. Any other unaligned memory access will cause an

                      address exception. Doubleword-sized accesses with word-aligned pointers will automatically be

                      performed as two word-sized accesses.

                                                                                                                            24

32072H–AVR32–10/2012
                                                                                             AT32UC3A3

                      The following table shows the instructions with support for unaligned  addresses.  All  other

                      instructions require aligned addresses.

                      Table 4-1.   Instructions with Unaligned Reference Support

                      Instruction                                    Supported alignment

                      ld.d                                           Word

                      st.d                                           Word

4.3.6  Unimplemented Instructions

                      The following instructions are unimplemented in AVR32UC, and will cause an Unimplemented

                      Instruction Exception if executed:

                      • All SIMD instructions

                      • All coprocessor instructions if no coprocessors are present

                      • retj, incjosp, popjc, pushjc

                      • tlbr, tlbs, tlbw

                      • cache

4.3.7  CPU and Architecture Revision

                      Three major revisions of the AVR32UC CPU currently exist.

                      The Architecture Revision field in the CONFIG0 system register identifies which architecture

                      revision is implemented in a specific device.

                      AVR32UC CPU revision 3 is fully backward-compatible with revisions 1 and 2, ie. code compiled

                      for revision 1 or 2 is binary-compatible with revision 3 CPUs.

                                                                                                                     25

32072H–AVR32–10/2012
                                                                                                                                                                            AT32UC3A3

4.4    Programming Model

4.4.1  Register File Configuration

                      The AVR32UC register file is shown below.

                      Figure 4-3.                 The AVR32UC                        Register File

                      Application         Supervisor             INT0                INT1                  INT2                     INT3                Exception           NMI                  Secure

                      Bit 31       Bit 0  Bit 31       Bit 0     Bit 31       Bit 0  Bit  31       Bit  0  Bit  31       Bit  0     Bit 31       Bit 0  Bit 31       Bit 0  Bit 31       Bit  0  Bit 31       Bit 0

                              PC                  PC                     PC                   PC                    PC                      PC                  PC                  PC                   PC

                              LR                  LR                     LR                   LR                    LR                      LR                  LR                  LR                   LR

                      SP_APP                 SP_SYS              SP_SYS                   SP_SYS                SP_SYS                  SP_SYS             SP_SYS              SP_SYS            SP_SEC

                              R12                 R12                    R12                  R12                   R12                     R12                 R12                 R12                  R12

                              R11                 R11                    R11                  R11                   R11                     R11                 R11                 R11                  R11

                              R10                 R10                    R10                  R10                   R10                     R10                 R10                 R10                  R10

                              R9                  R9                     R9                   R9                    R9                      R9                  R9                  R9                   R9

                              R8                  R8                     R8                   R8                    R8                      R8                  R8                  R8                   R8

                      INTR07PC               INTR07PC            INTR07PC                 INTR07PC              INTR07PC                INTR07PC           INTR07PC            INTR07PC          INTR07PC

                      INTR16PC               INTR16PC            INTR16PC                 INTR16PC              INTR16PC                INTR16PC           INTR16PC            INTR16PC          INTR16PC

                      FINRT5PC               FINRT5PC            FINRT5PC                 FINRT5PC              FINRT5PC                FINRT5PC           FINRT5PC            FINRT5PC          FINRT5PC

                      SMRP4 C                SMRP4 C             SMRP4 C                  SMRP4 C               SMRP4 C                 SMRP4 C             SMRP4 C            SMRP4 C           SMRP4 C

                              R3                  R3                     R3                   R3                    R3                      R3                  R3                  R3                   R3

                              R2                  R2                     R2                   R2                    R2                      R2                  R2                  R2                   R2

                              R1                  R1                     R1                   R1                    R1                      R1                  R1                  R1                   R1

                              R0                  R0                     R0                   R0                    R0                      R0                  R0                  R0                   R0

                              SR                  SR                     SR                   SR                    SR                      SR                  SR                  SR                   SR

                                                                                                                         SS_STATUS

                                                                                                                            SS_ADRF

                                                                                                                            SS_ADRR

                                                                                                                            SS_ADR0

                                                                                                                            SS_ADR1

                                                                                                                         SS_SP_SYS

                                                                                                                         SS_SP_APP

                                                                                                                            SS_RAR

                                                                                                                            SS_RSR

4.4.2  Status         Register Configuration

                      The Status Register (SR) is split into two halfwords, one upper and one lower, see Figure 4-4 on

                      page 26 and Figure 4-5 on page 27. The lower word contains the C, Z, N, V, and Q condition

                      code flags and the R, T, and L bits, while the upper halfword contains information about the

                      mode and state the processor executes in. Refer to the AVR32 Architecture Manual for details.

                      Figure 4-4.                 The Status Register High Halfword

                      Bit 31                                                                                                                            Bit 16

                                   LC                                                                                                                           Bit name
                      -            1-     -       -    DM        D            -      M2       M1    M0     EM       I3M          IF2EM  I1M       I0M   GM

                      0            0      0       0           0  0            0      0        0         1  1             0       0          0     0     1       Initial value

                                                                                                                                                                     Global Interrupt Mask

                                                                                                                                                                     Interrupt Level 0 Mask

                                                                                                                                                                     Interrupt Level 1 Mask

                                                                                                                                                                     Interrupt Level 2 Mask

                                                                                                                                                                     Interrupt Level 3 Mask

                                                                                                                                                                     Exception Mask

                                                                                                                                                                     Mode Bit 0

                                                                                                                                                                     Mode Bit 1

                                                                                                                                                                     Mode Bit 2

                                                                                                                                                                     Reserved

                                                                                                                                                                     Debug State

                                                                                                                                                                     Debug State Mask

                                                                                                                                                                     Reserved

                                                                                                                                                                                                                     26

32072H–AVR32–10/2012
                                                                                                               AT32UC3A3

                             Figure 4-5.    The Status Register Low Halfword

                             Bit 15                                                                  Bit 0

                             -       T   -  -     -      -  -  -    -  -  L          Q  V  N  Z      C      Bit name

                             0       0   0  0     0      0  0  0    0  0  0          0  0  0  0      0      Initial value

                                                                                                            Carry

                                                                                                            Zero

                                                                                                            Sign

                                                                                                            Overflow

                                                                                                            Saturation

                                                                                                            Lock

                                                                                                            Reserved

                                                                                                            Scratch

                                                                                                            Reserved

4.4.3    Processor States

4.4.3.1  Normal RISC State

                             The AVR32 processor supports several different execution contexts as shown in Table 4-2                on

                             page 27.

                             Table 4-2.     Overview of Execution      Modes, their     Priorities and Privilege Levels.

                             Priority       Mode                       Security         Description

                             1              Non Maskable Interrupt     Privileged       Non Maskable high priority interrupt  mode

                             2              Exception                  Privileged       Execute exceptions

                             3              Interrupt 3                Privileged       General purpose interrupt mode

                             4              Interrupt 2                Privileged       General purpose interrupt mode

                             5              Interrupt 1                Privileged       General purpose interrupt mode

                             6              Interrupt 0                Privileged       General purpose interrupt mode

                             N/A            Supervisor                 Privileged       Runs supervisor calls

                             N/A            Application                Unprivileged     Normal program execution mode

                             Mode changes can be made under software control, or can be caused by external interrupts or

                             exception processing. A mode can be interrupted by a higher priority mode, but never by one

                             with lower priority. Nested exceptions can be supported with a minimal software overhead.

                             When running an operating system on the AVR32, user processes will typically execute in the

                             application mode. The programs executed in this mode are restricted from executing certain

                             instructions. Furthermore, most system registers together with the upper halfword of the status

                             register cannot be accessed. Protected memory areas are also not available. All other operating

                             modes are privileged and are collectively called System Modes. They have full access to all priv-

                             ileged and unprivileged resources. After a reset, the processor will be in supervisor mode.

4.4.3.2  Debug        State

                             The AVR32 can be set in a debug state, which allows implementation of software monitor rou-

                             tines that can read out and alter system information for use during application development. This

                             implies that all system and application registers, including the status registers and program

                             counters, are accessible in debug state. The privileged instructions are also available.

                                                                                                                                    27

32072H–AVR32–10/2012
                                                                                                     AT32UC3A3

                      All interrupt levels are by default disabled when debug state is entered, but they can individually

                      be switched on by the monitor routine by clearing the respective mask bit in the status register.

                      Debug state can be entered as described in the AVR32UC Technical Reference Manual.

                      Debug state is exited by the retd instruction.

4.4.4  System         Registers

                      The system registers are placed outside of the virtual memory space, and are only accessible

                      using the privileged mfsr and mtsr instructions. The table below lists the system registers speci-

                      fied in the AVR32 architecture, some of which are unused in AVR32UC. The programmer is

                      responsible for maintaining correct sequencing of any instructions following a mtsr instruction.

                      For detail on the system registers, refer to the AVR32UC Technical Reference Manual.

                      Table 4-3.  System   Registers

                      Reg #       Address  Name                       Function

                      0           0        SR                         Status Register

                      1           4        EVBA                       Exception Vector Base Address

                      2           8        ACBA                       Application Call Base Address

                      3           12       CPUCR                      CPU Control Register

                      4           16       ECR                        Exception Cause Register

                      5           20       RSR_SUP                    Unused in AVR32UC

                      6           24       RSR_INT0                   Unused in AVR32UC

                      7           28       RSR_INT1                   Unused in AVR32UC

                      8           32       RSR_INT2                   Unused in AVR32UC

                      9           36       RSR_INT3                   Unused in AVR32UC

                      10          40       RSR_EX                     Unused in AVR32UC

                      11          44       RSR_NMI                    Unused in AVR32UC

                      12          48       RSR_DBG                    Return Status Register for Debug mode

                      13          52       RAR_SUP                    Unused in AVR32UC

                      14          56       RAR_INT0                   Unused in AVR32UC

                      15          60       RAR_INT1                   Unused in AVR32UC

                      16          64       RAR_INT2                   Unused in AVR32UC

                      17          68       RAR_INT3                   Unused in AVR32UC

                      18          72       RAR_EX                     Unused in AVR32UC

                      19          76       RAR_NMI                    Unused in AVR32UC

                      20          80       RAR_DBG                    Return Address Register for Debug mode

                      21          84       JECR                       Unused in AVR32UC

                      22          88       JOSP                       Unused in AVR32UC

                      23          92       JAVA_LV0                   Unused in AVR32UC

                      24          96       JAVA_LV1                   Unused in AVR32UC

                      25          100      JAVA_LV2                   Unused in AVR32UC

                                                                                                                           28

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

                      Table 4-3.  System   Registers (Continued)

                      Reg #       Address  Name                   Function

                      26          104      JAVA_LV3               Unused in AVR32UC

                      27          108      JAVA_LV4               Unused in AVR32UC

                      28          112      JAVA_LV5               Unused in AVR32UC

                      29          116      JAVA_LV6               Unused in AVR32UC

                      30          120      JAVA_LV7               Unused in AVR32UC

                      31          124      JTBA                   Unused in AVR32UC

                      32          128      JBCR                   Unused in AVR32UC

                      33-63       132-252  Reserved               Reserved for future use

                      64          256      CONFIG0                Configuration register 0

                      65          260      CONFIG1                Configuration register 1

                      66          264      COUNT                  Cycle Counter register

                      67          268      COMPARE                Compare register

                      68          272      TLBEHI                 Unused in AVR32UC

                      69          276      TLBELO                 Unused in AVR32UC

                      70          280      PTBR                   Unused in AVR32UC

                      71          284      TLBEAR                 Unused in AVR32UC

                      72          288      MMUCR                  Unused in AVR32UC

                      73          292      TLBARLO                Unused in AVR32UC

                      74          296      TLBARHI                Unused in AVR32UC

                      75          300      PCCNT                  Unused in AVR32UC

                      76          304      PCNT0                  Unused in AVR32UC

                      77          308      PCNT1                  Unused in AVR32UC

                      78          312      PCCR                   Unused in AVR32UC

                      79          316      BEAR                   Bus Error Address Register

                      80          320      MPUAR0                 MPU Address Register region    0

                      81          324      MPUAR1                 MPU Address Register region    1

                      82          328      MPUAR2                 MPU Address Register region    2

                      83          332      MPUAR3                 MPU Address Register region    3

                      84          336      MPUAR4                 MPU Address Register region    4

                      85          340      MPUAR5                 MPU Address Register region    5

                      86          344      MPUAR6                 MPU Address Register region    6

                      87          348      MPUAR7                 MPU Address Register region    7

                      88          352      MPUPSR0                MPU Privilege Select Register  region  0

                      89          356      MPUPSR1                MPU Privilege Select Register  region  1

                      90          360      MPUPSR2                MPU Privilege Select Register  region  2

                      91          364      MPUPSR3                MPU Privilege Select Register  region  3

                                                                                                            29

32072H–AVR32–10/2012
                                                                                              AT32UC3A3

                      Table 4-3.      System  Registers (Continued)

                      Reg #         Address          Name            Function

                      92            368              MPUPSR4         MPU Privilege Select Register region  4

                      93            372              MPUPSR5         MPU Privilege Select Register region  5

                      94            376              MPUPSR6         MPU Privilege Select Register region  6

                      95            380              MPUPSR7         MPU Privilege Select Register region  7

                      96            384              MPUCRA          Unused in this version of AVR32UC

                      97            388              MPUCRB          Unused in this version of AVR32UC

                      98            392              MPUBRA          Unused in this version of AVR32UC

                      99            396              MPUBRB          Unused in this version of AVR32UC

                      100           400              MPUAPRA         MPU Access Permission Register A

                      101           404              MPUAPRB         MPU Access Permission Register B

                      102           408              MPUCR           MPU Control Register

                      103-191       448-764          Reserved        Reserved for future use

                      192-255       768-1020         IMPL            IMPLEMENTATION DEFINED

4.5    Exceptions     and Interrupts

                      AVR32UC incorporates a powerful exception handling scheme. The different exception sources,

                      like Illegal Op-code and external interrupt requests, have different priority levels, ensuring a well-

                      defined behavior when multiple exceptions are received simultaneously. Additionally, pending

                      exceptions of a higher priority class may preempt handling of ongoing exceptions of a lower pri-

                      ority class.

                      When an event occurs, the execution of the instruction stream is halted, and execution control is

                      passed to an event handler at an address specified in Table 4-4 on page 33. Most of the han-

                      dlers are placed sequentially in the code space starting at the address specified by EVBA, with

                      four bytes between each handler. This gives ample space for a jump instruction to be placed

                      there, jumping to the event routine itself. A few critical handlers have larger spacing between

                      them, allowing the entire event routine to be placed directly at the address specified by the

                      EVBA-relative offset generated by hardware. All external interrupt sources have autovectored

                      interrupt service routine (ISR) addresses. This allows the interrupt controller to directly specify

                      the ISR address as an address relative to EVBA. The autovector offset has 14 address bits, giv-

                      ing an offset of maximum 16384 bytes. The target address of the event handler is calculated as

                      (EVBA | event_handler_offset), not (EVBA + event_handler_offset), so EVBA and exception

                      code segments must be set up appropriately. The same mechanisms are used to service all dif-

                      ferent types of events, including external interrupt requests, yielding a uniform event handling

                      scheme.

                      An interrupt controller does the priority handling of the external interrupts and provides the

                      autovector offset to the CPU.

4.5.1  System Stack Issues

                      Event handling in AVR32UC uses the system stack pointed to by the system stack pointer,

                      SP_SYS, for pushing and popping R8-R12, LR, status register, and return address. Since event

                      code may be timing-critical, SP_SYS should point to memory addresses in the IRAM section,

                      since the timing of accesses to this memory section is both fast and deterministic.

                                                                                                                              30

32072H–AVR32–10/2012
                                                                                     AT32UC3A3

                      The user must also make sure that the system stack is large enough so that any event is able to

                      push the required registers to stack. If the system stack is full, and an event occurs, the system

                      will enter an UNDEFINED state.

4.5.2  Exceptions     and Interrupt Requests

                      When an event other than scall or debug request is received by the core, the following actions

                      are performed atomically:

                         1.  The pending event will not be accepted if it is masked. The I3M, I2M, I1M, I0M, EM, and

                             GM bits in the Status Register are used to mask different events. Not all events can be

                             masked. A few critical events (NMI, Unrecoverable Exception, TLB Multiple Hit, and

                             Bus Error) can not be masked. When an event is accepted, hardware automatically

                             sets the mask bits corresponding to all sources with equal or lower priority. This inhibits

                             acceptance of other events of the same or lower priority, except for the critical events

                             listed above. Software may choose to clear some or all of these bits after saving the

                             necessary state if other priority schemes are desired. It is the event source’s respons-

                             ability to ensure that their events are left pending until accepted by the CPU.

                         2.  When a request is accepted, the Status Register and Program Counter of the current

                             context is stored to the system stack. If the event is an INT0, INT1, INT2, or INT3, reg-

                             isters R8-R12 and LR are also automatically stored to stack. Storing the Status

                             Register ensures that the core is returned to the previous execution mode when the

                             current event handling is completed. When exceptions occur, both the EM and GM bits

                             are set, and the application may manually enable nested exceptions if desired by clear-

                             ing the appropriate bit. Each exception handler has a dedicated handler address, and

                             this address uniquely identifies the exception source.

                         3.  The Mode bits are set to reflect the priority of the accepted event, and the correct regis-

                             ter file bank is selected. The address of the event handler, as shown in Table 4-4, is

                             loaded into the Program Counter.

                      The    execution of the event handler routine then continues from the effective address calculated.

                      The rete instruction signals the end of the event. When encountered, the Return Status Register

                      and Return Address Register are popped from the system stack and restored to the Status Reg-

                      ister and Program Counter. If the rete instruction returns from INT0, INT1, INT2, or INT3,

                      registers R8-R12 and LR are also popped from the system stack. The restored Status Register

                      contains information allowing the core to resume operation in the previous execution mode. This

                      concludes the event handling.

4.5.3  Supervisor Calls

                      The AVR32 instruction set provides a supervisor mode call instruction. The scall instruction is

                      designed so that  privileged routines can be called from any context. This facilitates sharing of

                      code between different execution modes. The scall mechanism is designed so that a minimal

                      execution cycle overhead is experienced when performing supervisor routine calls from time-

                      critical event handlers.

                      The scall instruction behaves differently depending on which mode it is called from. The behav-

                      iour is detailed in the instruction set reference. In order to allow the scall routine to return to the

                      correct context, a return from supervisor call instruction, rets, is implemented. In the AVR32UC

                      CPU, scall and rets uses the system stack to store the return address and the status register.

4.5.4  Debug Requests

                      The AVR32 architecture defines a dedicated Debug mode. When a debug request is received by

                      the core, Debug mode is entered. Entry into Debug mode can be masked by the DM bit in the

                                                                                                                               31

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

                      status register. Upon entry into Debug mode, hardware sets the SR[D] bit and jumps to the

                      Debug Exception handler. By default, Debug mode executes in the exception context, but with

                      dedicated Return Address Register and Return Status Register. These dedicated registers

                      remove the need for storing this data to the system stack, thereby improving debuggability. The

                      mode bits in the status register can freely be manipulated in Debug mode, to observe registers

                      in all contexts, while retaining full privileges.

                      Debug mode is exited by executing the retd instruction. This returns to the previous context.

4.5.5  Entry Points   for Events

                      Several different event handler entry points exists. In AVR32UC, the reset address is

                      0x8000_0000. This places the reset address in the boot flash memory area.

                      TLB miss exceptions and scall have a dedicated space relative to EVBA where their event han-

                      dler can be placed. This speeds up execution by removing the need for a jump instruction placed

                      at the program address jumped to by the event hardware. All other exceptions have a dedicated

                      event routine entry point located relative to EVBA. The handler routine address identifies the

                      exception source directly.

                      AVR32UC uses the ITLB and DTLB protection exceptions to signal a MPU protection violation.

                      ITLB and DTLB miss exceptions are used to signal that an access address did not map to any of

                      the entries in the MPU. TLB multiple hit exception indicates that an access address did map to

                      multiple TLB entries, signalling an error.

                      All external interrupt requests have entry points located at an offset relative to EVBA. This

                      autovector offset is specified by an external Interrupt Controller. The programmer must make

                      sure that none of the autovector offsets interfere with the placement of other code. The autovec-

                      tor offset has 14 address bits, giving an offset of maximum 16384 bytes.

                      Special considerations should be made when loading EVBA with a pointer. Due to security con-

                      siderations, the event handlers should be located in non-writeable flash memory, or optionally in

                      a privileged memory protection region if an MPU is present.

                      If several events occur on the same instruction, they are handled in a prioritized way. The priority

                      ordering is presented in Table 4-4. If events occur on several instructions at different locations in

                      the pipeline, the events on the oldest instruction are always handled before any events on any

                      younger instruction, even if the younger instruction has events of higher priority than the oldest

                      instruction. An instruction B is younger than an instruction A if it was sent down the pipeline later

                      than A.

                      The addresses and priority of simultaneous events are shown in Table 4-4. Some of the excep-

                      tions are unused in AVR32UC since it has no MMU, coprocessor interface, or floating-point unit.

                                                                                                                             32

32072H–AVR32–10/2012
                                                                                            AT32UC3A3

Table 4-4.  Priority and Handler    Addresses for Events

Priority    Handler Address         Name                         Event source    Stored Return Address

1           0x8000_0000             Reset                        External input  Undefined

2           Provided by OCD system  OCD Stop CPU                 OCD system      First non-completed instruction

3           EVBA+0x00               Unrecoverable exception      Internal        PC of offending instruction

4           EVBA+0x04               TLB multiple hit             MPU

5           EVBA+0x08               Bus error data fetch         Data bus        First non-completed instruction

6           EVBA+0x0C               Bus error instruction fetch  Data bus        First non-completed instruction

7           EVBA+0x10               NMI                          External input  First non-completed instruction

8           Autovectored            Interrupt 3 request          External input  First non-completed instruction

9           Autovectored            Interrupt 2 request          External input  First non-completed instruction

10          Autovectored            Interrupt 1 request          External input  First non-completed instruction

11          Autovectored            Interrupt 0 request          External input  First non-completed instruction

12          EVBA+0x14               Instruction Address          CPU             PC of offending instruction

13          EVBA+0x50               ITLB Miss                    MPU

14          EVBA+0x18               ITLB Protection              MPU             PC of offending instruction

15          EVBA+0x1C               Breakpoint                   OCD system      First non-completed instruction

16          EVBA+0x20               Illegal Opcode               Instruction     PC of offending instruction

17          EVBA+0x24               Unimplemented instruction    Instruction     PC of offending instruction

18          EVBA+0x28               Privilege violation          Instruction     PC of offending instruction

19          EVBA+0x2C               Floating-point               UNUSED

20          EVBA+0x30               Coprocessor absent           Instruction     PC of offending instruction

21          EVBA+0x100              Supervisor call              Instruction     PC(Supervisor Call) +2

22          EVBA+0x34               Data Address (Read)          CPU             PC of offending instruction

23          EVBA+0x38               Data Address (Write)         CPU             PC of offending instruction

24          EVBA+0x60               DTLB Miss (Read)             MPU

25          EVBA+0x70               DTLB Miss (Write)            MPU

26          EVBA+0x3C               DTLB Protection (Read)       MPU             PC of offending instruction

27          EVBA+0x40               DTLB Protection (Write)      MPU             PC of offending instruction

28          EVBA+0x44               DTLB Modified                UNUSED

                                                                                                                  33

32072H–AVR32–10/2012
                                                                                                  AT32UC3A3

4.6  Module           Configuration

                      All AT32UC3A3  parts  implement  the  CPU  and  Architecture  Revision  2.

                                                                                                  34

32072H–AVR32–10/2012
                                                                                                       AT32UC3A3

5.   Memories

5.1  Embedded         Memories

                      •  Internal High-Speed Flash

                         – 256KBytes (AT32UC3A3256/S)

                         – 128Kbytes (AT32UC3A3128/S)

                         – 64Kbytes (AT32UC3A364/S)

                                 • 0 wait state access at up to 42MHz in worst case conditions

                                 • 1 wait state access at up to 84MHz in worst case conditions

                                 • Pipelined Flash architecture, allowing burst reads from sequential Flash locations, hiding

                                  penalty of 1 wait state access

                                 • Pipelined Flash architecture typically reduces the cycle penalty of 1 wait state operation

                                  to only 15% compared to 0 wait state operation

                                 • 100 000 write cycles, 15-year data retention capability

                                 • Sector lock capabilities, Bootloader protection, Security Bit

                                 • 32 Fuses, Erased During Chip Erase

                                 • User page for data to be preserved during Chip Erase

                      •  Internal High-Speed SRAM

                         – 64KBytes, Single-cycle access at full speed on CPU Local Bus and accessible through the

                         High Speed Bud (HSB) matrix

                         – 2x32KBytes, accessible independently through the High Speed Bud (HSB) matrix

5.2  Physical         Memory Map

                      The System Bus is implemented as a bus matrix. All system bus addresses              are fixed, and they

                      are never remapped in any way, not even in boot.

                      Note that AVR32 UC CPU uses unsegmented translation, as described in the             AVR32UC Techni-

                      cal Architecture Manual.

                      The 32-bit physical address space is mapped as follows:

                      Table 5-1.     AT32UC3A3A4 Physical         Memory Map

                                                                  Size                      Size           Size

                                                Start             AT32UC3A3256S             AT32UC3A3128S  AT32UC3A364S

                         Device                 Address           AT32UC3A3256              AT32UC3A3128   AT32UC3A364

                                                                  AT32UC3A4256S             AT32UC3A4128S  AT32UC3A464S

                                                                  AT32UC3A4256              AT32UC3A4128   AT32UC3A464

                         Embedded CPU SRAM      0x00000000        64 KByte                  64 KByte       64 KByte

                         Embedded Flash         0x80000000        256 KByte                 128 KByte      64 KByte

                         EBI SRAM CS0           0xC0000000        16 MByte                  16 MByte       16 MByte

                         EBI SRAM CS2           0xC8000000        16 MByte                  16 MByte       16 MByte

                         EBI SRAM CS3           0xCC000000        16 MByte                  16 MByte       16 MByte

                         EBI SRAM CS4           0xD8000000        16 MByte                  16 MByte       16 MByte

                         EBI SRAM CS5           0xDC000000        16 MByte                  16 MByte       16 MByte

                         EBI SRAM CS1           0xD0000000        128 MByte                 128 MByte      128 MByte

                         /SDRAM CS0

                         USB Data               0xE0000000        64 KByte                  64 KByte       64 KByte

                                                                                                                               35

32072H–AVR32–10/2012
                                                                                                AT32UC3A3

                      Table 5-1.  AT32UC3A3A4 Physical      Memory Map

                                                               Size                  Size             Size

                                                Start          AT32UC3A3256S         AT32UC3A3128S    AT32UC3A364S

                      Device                    Address        AT32UC3A3256          AT32UC3A3128     AT32UC3A364

                                                               AT32UC3A4256S         AT32UC3A4128S    AT32UC3A464S

                                                               AT32UC3A4256          AT32UC3A4128     AT32UC3A464

                      HRAMC0                    0xFF000000     32 KByte              32 KByte         32 KByte

                      HRAMC1                    0xFF008000     32 KByte              32 KByte         32 KByte

                      HSB-PB Bridge A           0xFFFF0000     64 KByte              64 KByte         64 KByte

                      HSB-PB Bridge B           0xFFFE0000     64 KByte              64 KByte         64 KByte

5.3    Peripheral Address Map

Table  5-2.  Peripheral Address   Mapping

                      Address                          Peripheral Name

                      0xFF100000

                                  DMACA                DMA Controller - DMACA

                      0xFFFD0000

                                           AES         Advanced Encryption Standard - AES

                      0xFFFE0000

                                  USB                  USB 2.0 Device and Host Interface - USB

                      0xFFFE1000

                                  HMATRIX              HSB Matrix - HMATRIX

                      0xFFFE1400

                                  FLASHC               Flash Controller - FLASHC

                      0xFFFE1C00

                                  SMC                  Static Memory Controller - SMC

                      0xFFFE2000

                                  SDRAMC               SDRAM Controller - SDRAMC

                      0xFFFE2400                       Error code corrector Hamming and Reed Solomon  -

                                  ECCHRS               ECCHRS

                      0xFFFE2800

                                  BUSMON               Bus Monitor module - BUSMON

                      0xFFFE4000

                                           MCI         Mulitmedia Card Interface - MCI

                      0xFFFE8000

                                           MSI         Memory Stick Interface - MSI

                      0xFFFF0000

                                  PDCA                 Peripheral DMA Controller - PDCA

                      0xFFFF0800

                                  INTC                 Interrupt controller - INTC

                                                                                                                    36

32072H–AVR32–10/2012
                                                                                            AT32UC3A3

Table 5-2.  Peripheral Address    Mapping

                      0xFFFF0C00

                                           PM   Power Manager - PM

                      0xFFFF0D00

                                  RTC           Real Time Counter - RTC

                      0xFFFF0D30

                                  WDT           Watchdog Timer - WDT

                      0xFFFF0D80

                                           EIC  External Interrupt Controller - EIC

                      0xFFFF1000

                                  GPIO          General Purpose Input/Output Controller  -  GPIO

                      0xFFFF1400                Universal Synchronous/Asynchronous

                                  USART0        Receiver/Transmitter - USART0

                      0xFFFF1800                Universal Synchronous/Asynchronous

                                  USART1        Receiver/Transmitter - USART1

                      0xFFFF1C00                Universal Synchronous/Asynchronous

                                  USART2        Receiver/Transmitter - USART2

                      0xFFFF2000                Universal Synchronous/Asynchronous

                                  USART3        Receiver/Transmitter - USART3

                      0xFFFF2400

                                  SPI0          Serial Peripheral Interface - SPI0

                      0xFFFF2800

                                  SPI1          Serial Peripheral Interface - SPI1

                      0xFFFF2C00

                                  TWIM0         Two-wire Master Interface - TWIM0

                      0xFFFF3000

                                  TWIM1         Two-wire Master Interface - TWIM1

                      0xFFFF3400

                                  SSC           Synchronous Serial Controller - SSC

                      0xFFFF3800

                                           TC0  Timer/Counter - TC0

                      0xFFFF3C00

                                  ADC           Analog to Digital Converter - ADC

                      0xFFFF4000

                                  ABDAC         Audio Bitstream DAC - ABDAC

                      0xFFFF4400

                                           TC1  Timer/Counter - TC1

                                                                                                  37

32072H–AVR32–10/2012
                                                                                                       AT32UC3A3

Table  5-2.  Peripheral Address Mapping

                      0xFFFF5000

                                        TWIS0               Two-wire Slave Interface - TWIS0

                      0xFFFF5400

                                        TWIS1               Two-wire Slave Interface - TWIS1

5.4    CPU   Local    Bus Mapping

                      Some of the registers in the GPIO module are mapped onto the CPU local bus, in addition to

                      being mapped on the Peripheral Bus. These registers can therefore be reached both by

                      accesses on the Peripheral Bus, and by accesses on the local bus.

                      Mapping these registers on the local bus allows cycle-deterministic toggling of GPIO pins since

                      the CPU and GPIO are the only modules connected to this bus. Also, since the local bus runs at

                      CPU speed, one write or read operation can be performed per clock cycle to the local bus-

                      mapped GPIO registers.

                      The following GPIO registers are mapped on the local bus:

                      Table       5-3.  Local Bus Mapped GPIO Registers

                                                                                              Local Bus

                      Port        Register                               Mode                 Address     Access

                      0           Output Driver Enable Register (ODER)   WRITE                0x40000040  Write-only

                                                                         SET                  0x40000044  Write-only

                                                                         CLEAR                0x40000048  Write-only

                                                                         TOGGLE               0x4000004C  Write-only

                                  Output Value Register (OVR)            WRITE                0x40000050  Write-only

                                                                         SET                  0x40000054  Write-only

                                                                         CLEAR                0x40000058  Write-only

                                                                         TOGGLE               0x4000005C  Write-only

                                  Pin Value Register (PVR)               -                    0x40000060  Read-only

                      1           Output Driver Enable Register (ODER)   WRITE                0x40000140  Write-only

                                                                         SET                  0x40000144  Write-only

                                                                         CLEAR                0x40000148  Write-only

                                                                         TOGGLE               0x4000014C  Write-only

                                  Output Value Register (OVR)            WRITE                0x40000150  Write-only

                                                                         SET                  0x40000154  Write-only

                                                                         CLEAR                0x40000158  Write-only

                                                                         TOGGLE               0x4000015C  Write-only

                                  Pin Value Register (PVR)               -                    0x40000160  Read-only

                                                                                                                       38

32072H–AVR32–10/2012
                                                                                     AT32UC3A3

                      Table  5-3.  Local Bus Mapped GPIO Registers

                                                                            Local Bus

                      Port   Register                               Mode    Address     Access

                      2      Output Driver Enable Register (ODER)   WRITE   0x40000240  Write-only

                                                                    SET     0x40000244  Write-only

                                                                    CLEAR   0x40000248  Write-only

                                                                    TOGGLE  0x4000024C  Write-only

                             Output Value Register (OVR)            WRITE   0x40000250  Write-only

                                                                    SET     0x40000254  Write-only

                                                                    CLEAR   0x40000258  Write-only

                                                                    TOGGLE  0x4000025C  Write-only

                             Pin Value Register (PVR)               -       0x40000260  Read-only

                      3      Output Driver Enable Register (ODER)   WRITE   0x40000340  Write-only

                                                                    SET     0x40000344  Write-only

                                                                    CLEAR   0x40000348  Write-only

                                                                    TOGGLE  0x4000034C  Write-only

                             Output Value Register (OVR)            WRITE   0x40000350  Write-only

                                                                    SET     0x40000354  Write-only

                                                                    CLEAR   0x40000358  Write-only

                                                                    TOGGLE  0x4000035C  Write-only

                             Pin Value Register (PVR)               -       0x40000360  Read-only

                                                                                                    39

32072H–AVR32–10/2012
                                                                       AT32UC3A3

6.   Boot Sequence

                          This chapter summarizes the boot sequence of the AT32UC3A3/A4. The behavior after power-

                          up is controlled by the Power Manager. For specific details, refer to Section 7. ”Power Manager

                          (PM)” on page 41.

6.1  Starting of Clocks

                          After power-up, the device will be held in a reset state by the Power-On Reset circuitry, until the

                          power has stabilized throughout the device. Once the power has stabilized, the device will use

                          the internal RC Oscillator as clock source.

                          On system start-up, the PLLs are disabled. All clocks to all modules are running. No clocks have

                          a divided frequency, all parts of the system receives a clock with the same frequency as the

                          internal RC Oscillator.

6.2  Fetching         of  Initial Instructions

                          After reset has been released, the AVR32 UC CPU starts fetching instructions from the reset

                          address, which is 0x8000_0000. This address points to the first address in the internal Flash.

                          The internal Flash uses VDDIO voltage during read and write operations. BOD33 monitors this

                          voltage and maintains the device under reset until VDDIO reaches the minimum voltage, pre-

                          venting any spurious execution from flash.

                          The code read from the internal Flash is free to configure the system to use for example the

                          PLLs, to divide the frequency of the clock routed to some of the peripherals, and to gate the

                          clocks to unused peripherals.

                          When powering up the device, there may be a delay before the voltage has stabilized, depend-

                          ing on the rise time of the supply used. The CPU can start executing code as soon as the supply

                          is above the POR threshold, and before the supply is stable. Before switching to a high-speed

                          clock source, the user should use the BOD to make sure the VDDCORE is above the minimum-

                          level (1.62V).

                                                                                                                               40

32072H–AVR32–10/2012
                                                                                                    AT32UC3A3

7.   Power Manager (PM)

                      Rev: 2.3.1.0

7.1  Features

                      •  Controls integrated oscillators and PLLs

                      •  Generates clocks and resets for digital logic

                      •  Supports 2 crystal oscillators 0.4-20MHz

                      •  Supports 2 PLLs 40-240MHz

                      •  Supports 32KHz ultra-low power oscillator

                      •  Integrated low-power RC oscillator

                      •  On-the fly frequency change of CPU, HSB, PBA, and PBB clocks

                      •  Sleep modes allow simple disabling of logic clocks, PLLs, and oscillators

                      •  Module-level clock gating through maskable peripheral clocks

                      •  Wake-up from internal or external interrupts

                      •  Generic clocks with wide frequency range provided

                      •  Automatic identification of reset sources

                      •  Controls brownout detector (BOD and BOD33), RC oscillator, and bandgap     voltage  reference

                         through control and calibration registers

7.2  Overview

                      The Power Manager (PM) controls the oscillators and PLLs, and generates the clocks and

                      resets in the device. The PM controls two fast crystal oscillators, as well as two PLLs, which can

                      multiply the clock from either oscillator to provide higher frequencies. Additionally, a low-power

                      32KHz oscillator is used to generate the real-time counter clock for high accuracy real-time mea-

                      surements. The PM also contains a low-power RC oscillator with fast start-up time, which can be

                      used to clock the digital logic.

                      The provided clocks are divided into synchronous and generic clocks. The synchronous clocks

                      are used to clock the main digital logic in the device, namely the CPU, and the modules and

                      peripherals connected to the HSB, PBA, and PBB buses. The generic clocks are asynchronous

                      clocks, which can be tuned precisely within a wide frequency range, which makes them suitable

                      for peripherals that require specific frequencies, such as timers and communication modules.

                      The PM also contains advanced power-saving features, allowing the user to optimize the power

                      consumption for an application. The synchronous clocks are divided into three clock domains,

                      one for the CPU and HSB, one for modules on the PBA bus, and one for modules on the PBB

                      bus.The three clocks can run at different speeds, so the user can save power by running periph-

                      erals at a relatively low clock, while maintaining a high CPU performance. Additionally, the

                      clocks can be independently changed on-the-fly, without halting any peripherals. This enables

                      the user to adjust the speed of the CPU and memories to the dynamic load of the application,

                      without disturbing or re-configuring active peripherals.

                      Each module also has a separate clock, enabling the user to switch off the clock for inactive

                      modules, to save further power. Additionally, clocks and oscillators can be automatically

                      switched off during idle periods by using the sleep instruction on the CPU. The system will return

                      to normal on occurrence of interrupts.

                      The Power Manager also contains a Reset Controller, which collects all possible reset sources,

                      generates hard and soft resets, and allows the reset source to be identified by software.

                                                                                                                          41

32072H–AVR32–10/2012
                                                                                                          AT32UC3A3

7.3  Block  Diagram

                             Figure  7-1.  Power   Manager     Block  Diagram

                                         RCSYS                                         Synchronous               Synchronous

                                                                                                                 clocks

                                                                                       Clock Generator           CPU, HSB,

                                                                                                                 PBA, PBB

                                     Oscillator 0                     PLL0

                                     Oscillator 1                     PLL1

                                                                                       Generic Clock             Generic clocks

                                                                                       Generator

                                                                                               32 KHz            CLK_32

                                                                                       O scilla to r

                                                                      O S C /P LL

                                                                      Control signals          RC

                                                                                       O scilla to r

                                                                                                    Slow  clock

                                                                Oscillator and                 Startup

                                                                PLL Control            Counter

                      Voltage Regulator

                                                   Interrupts   Sleep Controller       Sleep

                                                                                       instruction

                      fuses  Calibration

                             Registers

                             Brown-Out                          Reset Controller       resets

                                     Detector

                             Power-On

                                     Detector

                                                   Other reset

                                                   sources

                      External Reset Pad

                                                                                                                                 42

32072H–AVR32–10/2012
                                                                                                     AT32UC3A3

7.4    Product Dependencies

7.4.1  I/O Lines

                         The PM provides a number of generic clock outputs, which can be connected to output pins,

                         multiplexed with I/O lines. The user must first program the I/O controller to assign these pins to

                         their peripheral function. If the I/O pins of the PM are not used by the application, they can be

                         used for other purposes by the I/O controller.

7.4.2  Interrupt

                         The PM interrupt line is connected to one of the internal sources of the interrupt controller. Using

                         the PM interrupt requires the interrupt controller to be programmed first.

7.5    Functional Description

7.5.1  Slow Clock

                         The slow clock is generated from an internal RC oscillator which is always running, except in

                         Static mode. The slow clock can be used for the main clock in the device, as described in Sec-

                         tion 7.5.5. The slow clock is also used for the Watchdog Timer and measuring various delays in

                         the Power Manager.

                         The RC oscillator has a 3 cycles startup time, and is always available when the CPU is running.

                         The RC oscillator operates at approximately 115 kHz. Software can change RC oscillator cali-

                         bration through the use of the RCCR register. Please see the Electrical Characteristics section

                         for details.

                         RC oscillator can also be used as the RTC clock when crystal accuracy is not required.

7.5.2  Oscillator     0  and 1 Operation

                         The two main oscillators are designed to be used with an external crystal and two biasing capac-

                         itors, as shown in Figure 7-2 on page 44. Oscillator 0 can be used for the main clock in the

                         device, as described in Section 7.5.5. Both oscillators can be used as source for the generic

                         clocks, as described in Section 7.5.8.

                         The oscillators are disabled by default after reset. When the oscillators are disabled, the XIN and

                         XOUT pins can be used as general purpose I/Os. When the oscillators are configured to use an

                         external clock, the clock must be applied to the XIN pin while the XOUT pin can be used as a

                         general purpose I/O.

                         The oscillators can be enabled by writing to the OSCnEN bits in MCCTRL. Operation mode

                         (external clock or crystal) is chosen by writing to the MODE field in OSCCTRLn. Oscillators are

                         automatically switched off in certain sleep modes to reduce power consumption, as described in

                         Section 7.5.7.

                         After a hard reset, or when waking up from a sleep mode that disabled the oscillators, the oscil-

                         lators may need a certain amount of time to stabilize on the correct frequency. This start-up time

                         can be set in the OSCCTRLn register.

                         The PM masks the oscillator outputs during the start-up time, to ensure that no unstable clocks

                         propagate to the digital logic. The OSCnRDY bits in POSCSR are automatically set and cleared

                         according to the status of the oscillators. A zero to one transition on these bits can also be con-

                         figured to generate an interrupt, as described in Section 7.6.7.

                                                                                                                               43

32072H–AVR32–10/2012
                                                                                          AT32UC3A3

                      Figure 7-2.           Oscillator Connections

                                                                                C2

                                            XOUT

                                            XIN

                                                                                C1

7.5.3  32  KHz        Oscillator Operation

                      The 32 KHz oscillator operates as described for Oscillator 0 and 1 above. The 32 KHz oscillator

                      is used as source clock for the Real-Time Counter.

                      The oscillator is disabled by default, but can be enabled by writing OSC32EN in OSCCTRL32.

                      The oscillator is an ultra-low power design and remains enabled in all sleep modes except Static

                      mode.

                      While the 32 KHz oscillator is disabled, the XIN32 and XOUT32 pins are available as general

                      purpose I/Os. When the oscillator is configured to work with an external clock (MODE field in

                      OSCCTRL32 register), the external clock must be connected to XIN32 while the XOUT32 pin

                      can be used as a general purpose I/O.

                      The startup time of the 32 KHz oscillator can be set in the OSCCTRL32, after which OSC32RDY

                      in POSCSR is set. An interrupt can be generated on a zero to one transition of OSC32RDY.

                      As a crystal oscillator usually requires a very long startup time (up to 1 second), the 32 KHz

                      oscillator will keep running across resets, except Power-On-Reset.

7.5.4  PLL Operation

                      The device contains two PLLs, PLL0 and PLL1. These are disabled by default, but can be

                      enabled to provide high frequency source clocks for synchronous or generic clocks. The PLLs

                      can take either Oscillator 0 or 1 as reference clock. The PLL output is divided by a multiplication

                      factor, and the PLL compares the resulting clock to the reference clock. The PLL will adjust its

                      output frequency until the two compared clocks are equal, thus locking the output frequency to a

                      multiple of the reference clock frequency.

                      When the PLL is switched on, or when changing the clock source or multiplication factor for the

                      PLL, the PLL is unlocked and the output frequency is undefined. The PLL clock for the digital

                      logic is automatically masked when the PLL is unlocked, to prevent connected digital logic from

                      receiving a too high frequency and thus become unstable.

                                                                                                                           44

32072H–AVR32–10/2012
                                                                                                                 AT32UC3A3

                           Figure 7-3.        PLL with Control Logic and Filters

                                                                PLLMUL

                                                                Output            Mask                           PLL clock

                                                                Divider

         Osc0 clock        0            Input                   PLL                     LOCK

                                                         Fin

         Osc1 clock        1            Divider

                                                                PLLEN

                      PLLOSC            PLLDIV                  PLLOPT

7.5.4.1  Enabling     the  PLL

                           PLLn is enabled by writing the PLLEN bit in the PLLn register. PLLOSC selects Oscillator 0        or 1

                           as clock source. The PLLMUL and PLLDIV bitfields must be written with the multiplication          and

                           division factors, respectively, creating the voltage controlled ocillator frequency fVCO and the  PLL

                           frequency fPLL :

                           if PLLDIV > 0

                                  fIN = fOSC/2 • PLLDIV

                                  fVCO = (PLLMUL+1)/(PLLDIV) • fOSC

                           if PLLDIV = 0

                                  fIN = fOSC

                                  fVCO = 2 • (PLLMUL+1) • fOSC

                           Note:  Refer to Electrical Characteristics section for FIN and FVCO frequency range.

                           If PLLOPT[1] field is set to 0:

                                  fPLL = fVCO.

                           If PLLOPT[1] field is set to 1:

                                  fPLL = fVCO / 2.

                                                                                                                             45

32072H–AVR32–10/2012
                                                                                    AT32UC3A3

                      The PLLn:PLLOPT field should be set to proper values according to the PLL operating fre-

                      quency. The PLLOPT field can also be set to divide the output frequency of the PLLs by 2.

                      The lock signal for each PLL is available as a LOCKn flag in POSCSR. An interrupt can be gen-

                      erated on a 0 to 1 transition of these bits.

7.5.5    Synchronous  Clocks

                      The slow clock (default), Oscillator 0, or PLL0 provide the source for the main clock, which is the

                      common root for the synchronous clocks for the CPU/HSB, PBA, and PBB modules. The main

                      clock is divided by an 8-bit prescaler, and each of these four synchronous clocks can run from

                      any tapping of this prescaler, or the undivided main clock, as long as fCPU ≥ fPBA,B,. The synchro-

                      nous clock source can be changed on-the fly, responding to varying load in the application. The

                      clock domains can be shut down in sleep mode, as described in Section 7.5.7. Additionally, the

                      clocks for each module in the four domains can be individually masked, to avoid power con-

                      sumption in inactive modules.

                      Figure 7-4.  Synchronous Clock Generation

                                   Sleep                            Sleep

                                   instruction                 Controller

                                                            0

         Slow clock                                            Main clock  Mask     CPU clocks

         Osc0 clock           Prescaler                     1                       HSB clocks

         PLL0 clock                                                                 PBAclocks

                                                            CPUDIV         CPUMASK

                                                                                    PBB clocks

                      MCSEL                     CPUSEL

7.5.5.1  Selecting    PLL or oscillator for the main clock

                      The common main clock can be connected to the slow clock, Oscillator 0, or PLL0. By default,

                      the main clock will be connected to the slow clock. The user can connect the main clock to Oscil-

                      lator 0 or PLL0 by writing the MCSEL field in the Main Clock Control Register (MCCTRL). This

                      must only be done after that unit has been enabled, otherwise a deadlock will occur. Care

                      should also be taken that the new frequency of the synchronous clocks does not exceed the

                      maximum frequency for each clock domain.

                                                                                                                           46

32072H–AVR32–10/2012
                                                                                              AT32UC3A3

7.5.5.2  Selecting synchronous clock division ratio

                      The main clock feeds an 8-bit prescaler, which can be used to generate the synchronous clocks.

                      By default, the synchronous clocks run on the undivided main clock. The user can select a pres-

                      caler division for the CPU clock by writing CKSEL.CPUDIV to 1 and CPUSEL to the prescaling

                      value, resulting in a CPU clock frequency:

                                                     fCPU         =  fmain ⁄ 2(CPUSEL + 1)

                      Similarly, the clock for the PBA, and PBB can be divided by writing their respective fields. To

                      ensure correct operation, frequencies must be selected so that fCPU ≥ fPBA,B. Also, frequencies

                      must never exceed the specified maximum frequency for each clock domain.

                      CKSEL can be written without halting or disabling peripheral modules. Writing CKSEL allows a

                      new clock setting to be written to all synchronous clocks at the same time. It is possible to keep

                      one or more clocks unchanged by writing the same value a before to the xxxDIV and xxxSEL

                      fields. This way, it is possible to e.g. scale CPU and HSB speed according to the required perfor-

                      mance, while keeping the PBA and PBB frequency constant.

                      For modules connected to the HSB bus, the PB clock frequency must be set to the same fre-

                      quency than the CPU clock.

7.5.5.3  Clock ready flag

                      There is a slight delay from CKSEL is written and the new clock setting becomes effective. Dur-

                      ing this interval, the Clock Ready (CKRDY) flag in ISR will read as 0. If IER.CKRDY is written to

                      one, the Power Manager interrupt can be triggered when the new clock setting is effective.

                      CKSEL must not be re-written while CKRDY is zero, or the system may become unstable or

                      hang.

7.5.6    Peripheral   Clock Masking

                      By default, the clock for all modules are enabled, regardless of which modules are actually being

                      used. It is possible to disable the clock for a module in the CPU, HSB, PBA, or PBB clock

                      domain by writing the corresponding bit in the Clock Mask register (CPU/HSB/PBA/PBB) to 0.

                      When a module is not clocked, it will cease operation, and its registers cannot be read or written.

                      The module can be re-enabled later by writing the corresponding mask bit to 1.

                      A module may be connected to several clock domains, in which case it will have several mask

                      bits.

                      Table 7-7 on page 58 contains the list of implemented maskable clocks.

7.5.6.1  Cautionary note

                      The OCD clock must never be switched off if the user wishes to debug the device with a JTAG

                      debugger.

                      Note that clocks should only be switched off if it is certain that the module will not be used.

                      Switching off the clock for the internal RAM will cause a problem if the stack is mapped there.

                      Switching off the clock to the Power Manager (PM), which contains the mask registers, or the

                      corresponding PBx bridge, will make it impossible to write the mask registers again. In this case,

                      they can only be re-enabled by a system reset.

                                                                                                                           47

32072H–AVR32–10/2012
                                                                                           AT32UC3A3

7.5.6.2  Mask         ready  flag

                             Due to synchronization in the clock generator, there is a slight delay from a mask register is writ-

                             ten until the new mask setting goes into effect. When clearing mask bits, this delay can usually

                             be ignored. However, when setting mask bits, the registers in the corresponding module must

                             not be written until the clock has actually be re-enabled. The status flag MSKRDY in ISR pro-

                             vides the required mask status information. When writing either mask register with any value,

                             this bit is cleared. The bit is set when the clocks have been enabled and disabled according to

                             the new mask setting. Optionally, the Power Manager interrupt can be enabled by writing the

                             MSKRDY bit in IER.

7.5.7    Sleep Modes

                             In normal operation, all clock domains are active, allowing software execution and peripheral

                             operation. When the CPU is idle, it is possible to switch off the CPU clock and optionally other

                             clock domains to save power. This is activated by the sleep instruction, which takes the sleep

                             mode index number as argument.

7.5.7.1  Entering     and    exiting sleep modes

                             The sleep instruction will halt the CPU and all modules belonging to the stopped clock domains.

                             The modules will be halted regardless of the bit settings of the mask registers.

                             Oscillators and PLLs can also be switched off to save power. Some of these modules have a rel-

                             atively long start-up time, and are only switched off when very low power consumption is

                             required.

                             The CPU and affected modules are restarted when the sleep mode is exited. This occurs when

                             an interrupt triggers. Note that even if an interrupt is enabled in sleep mode, it may not trigger if

                             the source module is not clocked.

7.5.7.2  Supported    sleep modes

                             The following sleep modes are supported. These are detailed in Table 7-1 on page 49.

                             •     Idle: The CPU is stopped, the rest of the chip is operating. Wake-up sources are any

                                   interrupt.

                             •     Frozen: The CPU and HSB modules are stopped, peripherals are operating. Wake-up

                                   sources are any interrupt from PB modules.

                             •     Standby: All synchronous clocks are stopped, but oscillators and PLLs are running, allowing

                                   quick wake-up to normal mode. Wake-up sources are RTC or external interrupt.

                             •     Stop: As Standby, but Oscillator 0 and 1, and the PLLs are stopped. 32 KHz (if enabled) and

                                   RC oscillators and RTC/WDT still operate. Wake-up sources are RTC, external interrupt, or

                                   external reset pin.

                             •     DeepStop: All synchronous clocks, Oscillator 0 and 1 and PLL 0 and 1 are stopped. 32 KHz

                                   oscillator can run if enabled. RC oscillator still operates. Bandgap voltage reference, BOD

                                   and BOD33 are turned off. Wake-up sources are RTC, external interrupt (EIC) or external

                                   reset pin.

                             •     Static: All oscillators, including 32 KHz and RC oscillator are stopped. Bandgap voltage

                                   reference, BOD and BOD33 detectors are turned off. Wake-up sources are external interrupt

                                   (EIC) in asynchronous mode only or external reset pin.

                                                                                                                                    48

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

Table 7-1.  Sleep Modes

                                                          Osc0,1                            BOD &

                                                   PBA,B  PLL0,1,                           BOD33 &  Voltage

Index       Sleep Mode      CPU           HSB      GCLK   SYSTIMER            Osc32  RCSYS  Bandgap  Regulator

0           Idle            Stop          Run      Run    Run                 Run    Run    On       Full power

1           Frozen          Stop          Stop     Run    Run                 Run    Run    On       Full power

2           Standby         Stop          Stop     Stop   Run                 Run    Run    On       Full power

3           Stop            Stop          Stop     Stop   Stop                Run    Run    On       Low power

4           DeepStop        Stop          Stop     Stop   Stop                Run    Run    Off      Low power

5           Static          Stop          Stop     Stop   Stop                Stop   Stop   Off      Low power

                            The power level of the internal voltage regulator is also adjusted according to the sleep mode to

                            reduce the internal regulator power consumption.

7.5.7.3     Precautions  when entering sleep mode

                            Modules communicating with external circuits should normally be disabled before entering a

                            sleep mode that will stop the module operation. This prevents erratic behavior when entering or

                            exiting sleep mode. Please refer to the relevant module documentation for recommended

                            actions.

                            Communication between the synchronous clock domains is disturbed when entering and exiting

                            sleep modes. This means that bus transactions are not allowed between clock domains affected

                            by the sleep mode. The system may hang if the bus clocks are stopped in the middle of a bus

                            transaction.

                            The CPU is automatically stopped in a safe state to ensure that all CPU bus operations are com-

                            plete when the sleep mode goes into effect. Thus, when entering Idle mode, no further action is

                            necessary.

                            When entering a sleep mode (except Idle mode), all HSB masters must be stopped before

                            entering the sleep mode. Also, if there is a chance that any PB write operations are incomplete,

                            the CPU should perform a read operation from any register on the PB bus before executing the

                            sleep instruction. This will stall the CPU while waiting for any pending PB operations to

                            complete.

                            When entering a sleep mode deeper or equal to DeepStop, the VBus asynchronous interrupt

                            should be disabled (USBCON.VBUSTE = 0).

7.5.7.4     Wake Up

                            The USB can be used to wake up the part from sleep modes through register AWEN of the

                            Power Manager.

7.5.8       Generic Clocks

                            Timers, communication modules, and other modules connected to external circuitry may require

                            specific clock frequencies to operate correctly. The Power Manager contains an implementation

                            defined number of generic clocks that can provide a wide range of accurate clock frequencies.

                                                                                                                               49

32072H–AVR32–10/2012
                                                                                             AT32UC3A3

                      Each generic clock module runs from either Oscillator 0 or 1, or PLL0 or 1. The selected source

                      can optionally be divided by any even integer up to 512. Each clock can be independently

                      enabled and disabled, and is also automatically disabled along with peripheral clocks by the

                      Sleep Controller.

                      Figure 7-5.     Generic Clock Generation

                                                                                             Sleep

                                                                                             Controller

                                                                     0

                      Osc0 clock         0                                                   Mask        Generic Clock

                      Osc1 clock                          Divider    1

                      PLL0 clock

                      PLL1 clock         1

                                         PLLSEL                      DIVEN                   CEN

                                         OSCSEL                 DIV

7.5.8.1  Enabling a generic clock

                      A generic clock is enabled by writing the CEN bit in GCCTRL to 1. Each generic clock can use

                      either Oscillator 0 or 1 or PLL0 or 1 as source, as selected by the PLLSEL and OSCSEL bits.

                      The source clock can optionally be divided by writing DIVEN to 1 and the division factor to DIV,

                      resulting in the output frequency:

                                                          fGCLK  =   fSRC ⁄ (2 × (DIV + 1))

7.5.8.2  Disabling a generic clock

                      The generic clock can be disabled by writing CEN to zero or entering a sleep mode that disables

                      the PB clocks. In either case, the generic clock will be switched off on the first falling edge after

                      the disabling event, to ensure that no glitches occur. If CEN is written to 0, the bit will still read as

                      1 until the next falling edge occurs, and the clock is actually switched off. When writing CEN to 0,

                      the other bits in GCCTRL should not be changed until CEN reads as 0, to avoid glitches on the

                      generic clock.

                      When the clock is disabled, both the prescaler and output are reset.

7.5.8.3  Changing clock frequency

                      When changing generic clock frequency by writing GCCTRL, the clock should be switched off by

                      the procedure above, before being re-enabled with the new clock source or division setting. This

                      prevents glitches during the transition.

                                                                                                                                 50

32072H–AVR32–10/2012
                                                                                                           AT32UC3A3

7.5.8.4  Generic      clock implementation

                      The generic clocks are allocated to different       functions  as  shown  in  Table  7-2  on  page  51.

                      Table 7-2.                Generic Clock Allocation

                                  Clock number  Function

                                  0             GCLK0 pin

                                  1             GCLK1 pin

                                  2             GCLK2 pin

                                  3             GCLK3 pin

                                  4             GCLK_USBB

                                  5             GCLK_ABDAC

7.5.9    Divided PB Clocks

                      The clock generator in the Power Manager provides divided PBA and PBB clocks for use by

                      peripherals that require a prescaled PBx clock. This is described in the documentation for the

                      relevant modules.

                      The divided clocks are not directly maskable, but are stopped in sleep modes where the PBx

                      clocks are stopped.

7.5.10   Debug Operation

                      The OCD clock must never be switched off if the user wishes to debug the device with a JTAG

                      debugger.

                      During a debug session, the user may need to halt the system to inspect memory and CPU reg-

                      isters. The clocks normally keep running during this debug operation, but some peripherals may

                      require the clocks to be stopped, e.g. to prevent timer overflow, which would cause the program

                      to fail. For this reason, peripherals on the PBA and PBB buses may use “debug qualified” PBx

                      clocks. This is described in the documentation for the relevant modules. The divided PBx clocks

                      are always debug qualified clocks.

                      Debug qualified PBx clocks are stopped during debug operation. The debug system can option-

                      ally keep these clocks running during the debug operation. This is described in the

                      documentation for the On-Chip Debug system.

7.5.11   Reset        Controller

                      The Reset Controller collects the various reset sources in the system and generates hard and

                      soft resets for the digital logic.

                      The device contains a Power-On Detector, which keeps the system reset until power is stable.

                      This eliminates the need for external reset circuitry to guarantee stable operation when powering

                      up the device.

                      It is also possible to reset the device by asserting the RESET_N pin. This pin has an internal pul-

                      lup, and does not need to be driven externally when negated. Table 7-4 on page 53 lists these

                      and other reset sources supported by the Reset Controller.

                                                                                                                               51

32072H–AVR32–10/2012
                                                                                                   AT32UC3A3

                      Figure 7-6.   Reset Controller Block Diagram

                                                       RC_RCAUSE

                      RESET_N

                      Power-O n                                                                    CPU, HSB,

                      D e te cto r                                                                 PBA, PBB

                                                             Reset

                      B row n ou t                     C ontroller                                 O CD, RTC/W DT,

                      D e te cto r                                                                 C lock G enerator

                                    JTAG

                                    OCD

                                    WDT

                      In addition to the listed reset types, the JTAG can keep parts of the device statically reset

                      through the JTAG Reset Register. See JTAG documentation for details.

                      Table 7-3.    Reset Description

                      Reset source        Description

                      Power-on Reset      Supply voltage below the power-on reset detector

                                          threshold voltage

                      External Reset      RESET_N pin asserted

                      Brownout Reset      Supply voltage below the brownout reset detector

                                          threshold voltage

                      CPU Error           Caused by an illegal CPU access to external memory

                                          while in Supervisor mode

                      Watchdog Timer      See watchdog timer documentation.

                      OCD                 See On-Chip Debug documentation

                      When a reset occurs, some parts of the chip are not necessarily reset, depending  on  the  reset

                      source. Only the Power On Reset (POR) will force a reset of the whole chip.

                                                                                                                     52

32072H–AVR32–10/2012
                                                                                                     AT32UC3A3

                              Table 7-4 on page 53 lists parts of the device that are reset, depending on the reset source.

Table 7-4.  Effect of the Different Reset Events

                                                                                                     CPU

                                 Power-On         External    Watchdog           BOD          BOD33  Error      OCD

                                 Reset            Reset       Reset              Reset        Reset  Reset      Reset

CPU/HSB/PBA/PBB                  Y                Y           Y                  Y            Y      Y          Y

(excluding Power Manager)

32 KHz oscillator                Y                N           N                  N            N      N          N

RTC control register             Y                N           N                  N            N      N          N

GPLP registers                   Y                N           N                  N            N      N          N

Watchdog control register        Y                Y           N                  Y            Y      Y          Y

Voltage calibration register     Y                N           N                  N            N      N          N

RCSYS Calibration register       Y                N           N                  N            N      N          N

BOD control register             Y                Y           N                  N            N      N          N

BOD33 control register           Y                Y           N                  N            N      N          N

Bandgap control register         Y                Y           N                  N            N      N          N

Clock control registers          Y                Y           Y                  Y            Y      Y          Y

Osc0/Osc1 and control registers  Y                Y           Y                  Y            Y      Y          Y

PLL0/PLL1 and control registers  Y                Y           Y                  Y            Y      Y          Y

OCD system and OCD registers     Y                Y           N                  Y            Y      Y          N

                              The cause of the last reset can be read from the RCAUSE register. This register contains one bit

                              for each reset source, and can be read during the boot sequence of an application to determine

                              the proper action to be taken.

7.5.11.1    Power-On detector

                              The Power-On Detector monitors the VDDCORE supply pin and generates a reset when the

                              device is powered on. The reset is active until the supply voltage from the linear regulator is

                              above the power-on threshold level. The reset will be re-activated if the voltage drops below the

                              power-on threshold level. See Electrical Characteristics for parametric details.

7.5.11.2    Brown-Out detector

                              The Brown-Out Detector (BOD) monitors the VDDCORE supply pin and compares the supply

                              voltage to the brown-out detection level, as set in BOD.LEVEL. The BOD is disabled by default,

                              but can be enabled either by software or by flash fuses. The Brown-Out Detector can either gen-

                              erate an interrupt or a reset when the supply voltage is below the brown-out detection level. In

                              any case, the BOD output is available in bit POSCSR.BODDET bit.

                              Note that any change to the BOD.LEVEL field of the BOD register should be done with the BOD

                              deactivated to avoid spurious reset or interrupt.

                              See Electrical Characteristics chapter for parametric details.

                                                                                                                                 53

32072H–AVR32–10/2012
                                                                                           AT32UC3A3

7.5.11.3  Brown-Out   detector 3V3

                      The Brown-Out Detector 3V3 (BOD33) monitors one VDDIO supply pin and compares the sup-

                      ply voltage to the brown-out detection 3V3 level, which is typically calibrated at 2V7. The BOD33

                      is enabled by default, but can be disabled by software. The Brown-Out Detector 3V3 can either

                      generate an interrupt or a reset when the supply voltage is below the brown-out detection3V3

                      level. In any case, the BOD33 output is available in bit POSCSR.BOD33DET bit.

                      Note that any change to the BOD33.LEVEL field of the BOD33 register should be done with the

                      BOD33 deactivated to avoid spurious reset or interrupt.

                      The BOD33.LEVEL default value is calibrated to 2V7

                      See Electrical Characteristics chapter for parametric details.

                      Table 7-5.        VDDIO pin monitored by BOD33

                                 TFBGA144              QFP144                    VFBGA100

                                    H5                 81                             E5

7.5.11.4  External reset

                      The external reset detector monitors the state of the RESET_N pin. By default, a low level on

                      this pin will generate a reset.

7.5.12    Calibration Registers

                      The Power Manager controls the calibration of the RC oscillator, voltage regulator, bandgap

                      voltage reference through several calibrations registers.

                      Those calibration registers are loaded after a Power On Reset with default values stored in fac-

                      tory-programmed flash fuses.

                      Although it is not recommended to override default factory settings, it is still possible to override

                      these default values by writing to those registers. To prevent unexpected writes due to software

                      bugs, write access to these registers is protected by a “key”. First, a write to the register must be

                      made with the field “KEY” equal to 0x55 then a second write must be issued with the “KEY” field

                      equal to 0xAA.

                                                                                                                             54

32072H–AVR32–10/2012
                                                                                          AT32UC3A3

7.6  User    Interface

                        Table 7-6.  PM Register Memory         Map

     Offset                         Register                   Register Name  Access      Reset State

     0x000              Main Clock Control                          MCCTRL    Read/Write  0x00000000

     0x0004                         Clock Select                    CKSEL     Read/Write  0x00000000

     0x008                          CPU Mask                        CPUMASK   Read/Write  0x00000003

     0x00C                          HSB Mask                        HSBMASK   Read/Write  0x00000FFF

     0x010                          PBA Mask                        PBAMASK   Read/Write  0x001FFFFF

     0x014                          PBB Mask                        PBBMASK   Read/Write  0x000003FF

     0x020                          PLL0 Control                    PLL0      Read/Write  0x00000000

     0x024                          PLL1 Control                    PLL1      Read/Write  0x00000000

     0x028              Oscillator 0 Control Register          OSCCTRL0       Read/Write  0x00000000

     0x02C              Oscillator 1 Control Register          OSCCTRL1       Read/Write  0x00000000

     0x030              Oscillator 32 Control Register         OSCCTRL32      Read/Write  0x00000000

     0x040              PM Interrupt Enable Register                IER       Write-only  0x00000000

     0x044              PM Interrupt Disable Register               IDR       Write-only  0x00000000

     0x048              PM Interrupt Mask Register                  IMR       Read-only   0x00000000

     0x04C              PM Interrupt Status Register                ISR       Read-only   0x00000000

     00050              PM Interrupt Clear Register                 ICR       Write-only  0x00000000

     0x054              Power and Oscillators Status Register       POSCSR    Read/Write  0x00000000

     0x060              Generic Clock Control 0                     GCCTRL0   Read/Write  0x00000000

     0x064              Generic Clock Control 1                     GCCTRL1   Read/Write  0x00000000

     0x068              Generic Clock Control 2                     GCCTRL2   Read/Write  0x00000000

     0x06C              Generic Clock Control 3                     GCCTRL3   Read/Write  0x00000000

     0x070              Generic Clock Control 4                     GCCTRL4   Read/Write  0x00000000

     0x074              Generic Clock Control 5                     GCCTRL5   Read/Write  0x00000000

     0x0C0              RC Oscillator Calibration Register          RCCR      Read/Write  Factory settings

     0x0C4              Bandgap Calibration Register                BGCR      Read/Write  Factory settings

     0x0C8              Linear Regulator Calibration Register       VREGCR    Read/Write  Factory settings

     0x0D0              BOD Level Register                          BOD       Read/Write  BOD fuses in Flash

     0x0D4              BOD33 Level Register                        BOD33     Read/Write  BOD33 reset enable

                                                                                          BOD33 LEVEL=2V7

     0x0140             Reset Cause Register                        RCAUSE    Read/Write  Latest Reset Source

     0x0144             Asynchronous Wake Enable Register           AWEN      Read/Write  0x00000000

     0x200              General Purpose Low-Power register          GPLP      Read/Write  0x00000000

                                                                                                               55

32072H–AVR32–10/2012
                                                                                         AT32UC3A3

7.6.1        Main Clock Control Register

Name:                 MCCTRL

Access Type:          Read/Write

Offset:               0x00

Reset Value:          0x00000000

         31           30                   29                    28      27      26      25         24

         -            -                    -                     -       -       -       -          -

         23           22                   21                    20      19      18      17         16

         -            -                    -                     -       -       -       -          -

         15           14                   13                    12      11      10      9          8

         -            -                    -                     -       -       -       -          -

         7            6                    5                     4       3       2       1          0

         -            -                    -                     -       OSC1EN  OSC0EN      MCSEL

•  OSC1EN: Oscillator 1 Enable

            1: Oscillator 1 is enabled

            0: Oscillator 1 is disabled

•  OSC0EN: Oscillator 0 Enable

            1: Oscillator 0 is enabled

            0: Oscillator 0 is disabled

•  MCSEL: Main Clock Select

            This field contains the clock  selected as the main  clock.

   MCSEL                                   Selected Clock

   0b00                                    Slow Clock

   0b01                                    Oscillator 0

   0b10                                    PLL 0

   0b11                                    Reserved

                                                                                                        56

32072H–AVR32–10/2012
                                                                                                         AT32UC3A3

7.6.2       Clock Select Register

Name:                 CKSEL

Access Type:          Read/Write

Offset:               0x04

Reset Value:          0x00000000

       31             30           29                     28                 27     26                   25        24

   PBBDIV             -            -                      -                      -                   PBBSEL

       23             22           21                     20                 19     18                   17        16

   PBADIV             -            -                      -                      -                   PBASEL

       15             14           13                     12                 11     10                   9         8

         -            -            -                      -                      -  -                    -         -

         7            6            5                      4                  3      2                    1         0

   CPUDIV             -            -                      -                      -                   CPUSEL

•  PBBDIV: PBB Division Enable

            PBBDIV = 0: PBB clock equals main clock.

            PBBDIV = 1: PBB clock equals main clock divided by 2(PBBSEL+1).

•  PBADIV, PBASEL: PBA Division and Clock Select

            PBADIV = 0: PBA clock equals main clock.

            PBADIV = 1: PBA clock equals main clock divided by 2(PBASEL+1).

•  CPUDIV, CPUSEL: CPU/HSB Division and Clock Select

            CPUDIV = 0: CPU/HSB clock equals main clock.

            CPUDIV = 1: CPU/HSB clock equals main clock divided by 2(CPUSEL+1).

Note that if xxxDIV is written to 0, xxxSEL should also be written to 0 to ensure   correct  operation.

Also note that writing this register clears POSCSR.CKRDY. The register must not be re-written until         CKRDY  goes high.

                                                                                                                               57

32072H–AVR32–10/2012
                                                                                                  AT32UC3A3

7.6.3       Clock Mask Registers

Name:                    CPU/HSB/PBA/PBBMASK

Access Type:             Read/Write

Offset:                  0x08-0x14

Reset Value:             0x00000003/0x00000FFF/0x001FFFFF/0x000003FF

       31                30           29                 28               27          26        25   24

                                                             MASK[31:24]

       23                22           21                 20               19          18        17   16

                                                             MASK[23:16]

       15                14           13                 12               11          10          9  8

                                                             MASK[15:8]

         7               6            5                  4                3           2           1  0

                                                             MASK[7:0]

•  MASK: Clock Mask

            If bit n is written to zero, the clock for module n is stopped. If bit n is writen to one, the clock for module n is enabled according to

            the current power mode. The number of implemented bits in each mask register, as well as which module clock is controlled by

            each bit, is shown in Table 7-7 on page 58.

            Table  7-7.     Maskable  module  clocks in AT32UC3A3.

            Bit       CPUMASK                 HSBMASK                     PBAMASK         PBBMASK

            0         -                       FLASHC                      INTC            HMATRIX

            1         OCD(1)                  PBA Bridge                  I/O             USBB

            2         -                       PBB Bridge                  PDCA            FLASHC

            3         -                       USBB                        PM/RTC/EIC      SMC

            4         -                       PDCA                        ADC             SDRAMC

            5         -                       EBI                         SPI0            ECCHRS

            6         -                       PBC Bridge                  SPI1            MCI

            7         -                       DMACA                       TWIM0           BUSMON

            8         -                       BUSMON                      TWIM1           MSI

            9         -                       HRAMC0                      TWIS0           AES

            10        -                       HRAMC1                      TWIS1           -

            11        -                       (2)                         USART0          -

            12        -                       -                           USART1          -

            13        -                       -                           USART2          -

            14        -                       -                           USART3          -

            15        -                       -                           SSC             -

                                                                                                                                                       58

32072H–AVR32–10/2012
                                                                                                               AT32UC3A3

Table 7-7.               Maskable module        clocks in AT32UC3A3.

Bit                   CPUMASK                   HSBMASK                    PBAMASK                          PBBMASK

16                    SYSTIMER                  -                          TC0                              -

                      (compare/count

                      registers clk)

17                    -                         -                          TC1                              -

18                    -                         -                          ABDAC                            -

19                    -                         -                          (2)                              -

20                    -                         -                          (2)                              -

31:21                 -                         -                          -                                -

                         Note:        1.  This  bit must be set to one if  the user wishes  to  debug  the  device with a  JTAG  debugger.

                                      2.  This  bits must be set to one

                                                                                                                                            59

32072H–AVR32–10/2012
                                                                                                          AT32UC3A3

7.6.4       PLL Control Registers

Name:                  PLL0,1

Access Type:           Read/Write

Offset:                0x20-0x24

Reset Value:           0x00000000

       31              30                       29                  28    27                  26          25                    24

   PLLTEST             -                                                            PLLCOUNT

       23              22                       21                  20    19                  18          17                    16

         -             -                        -                   -                             PLLMUL

       15              14                       13                  12    11                  10          9                     8

         -             -                        -                   -                             PLLDIV

         7             6                        5                   4     3                   2           1                     0

         -             -                        -                         PLLOPT                          PLLOSC                PLLEN

•  PLLTEST: PLL Test

            Reserved for internal use. Always write to 0.

•  PLLCOUNT: PLL Count

            Specifies the number of slow clock cycles before ISR.LOCKn will be set after PLLn has been written, or after PLLn has been

            automatically re-enabled after exiting a sleep mode.

•  PLLMUL: PLL Multiply Factor

•  PLLDIV: PLL Division Factor

            These fields determine the ratio of the PLL output frequency to the source oscillator frequency. Formula is detallied in Section

            7.5.4.1

•  PLLOPT: PLL Option

            Select the operating range for the PLL.

            PLLOPT[0]: Select the VCO frequency range

            PLLOPT[1]: Enable the extra output divider

            PLLOPT[2]: Disable the Wide-Bandwidth mode (Wide-Bandwidth mode allows a faster startup time and out-of-lock time)

                                                     Description

   PLLOPT[0]: VCO frequency                0         80MHz
                                           1         160MHz
   PLLOPT[1]: Output divider               0         fPLL = fvco

                                           1         fPLL = fvco/2

   PLLOPT[2]                               0         Wide Bandwidth Mode  enabled

                                           1         Wide Bandwidth Mode  disabled

•  PLLOSC: PLL Oscillator Select

            0: Oscillator 0 is the source  for  the  PLL.

            1: Oscillator 1 is the source  for  the  PLL.

                                                                                                                                              60

32072H–AVR32–10/2012
                        AT32UC3A3

•  PLLEN: PLL Enable

   0: PLL is disabled.

   1: PLL is enabled.

                        61

32072H–AVR32–10/2012
                                                                                                          AT32UC3A3

7.6.5       Oscillator 0/1 Control Registers

Name:                         OSCCTRL0,1

Access Type:                  Read/Write

Offset:                       0x28-0x2C

Reset Value:                  0x00000000

       31                     30          29              28              27                  26          25          24

         -                    -           -                   -           -                   -           -           -

       23                     22          21              20              19                  18          17          16

         -                    -           -                   -           -                   -           -           -

       15                     14          13              12              11                  10          9           8

         -                    -           -                   -           -                               STARTUP

         7                    6           5                   4           3                   2           1           0

         -                    -           -                   -           -                               MODE

•     STARTUP: Oscillator Startup Time

            Select startup time for the oscillator.

              Number of RC oscillator                  Approximative Equivalent  time

   STARTUP    clock cycle                              (RCSYS = 115 kHz)

   0          0                                        0

   1          64                                       560 us

   2          128                                      1.1 ms

   3          2048                                     18 ms

   4          4096                                     36 ms

   5          8192                                     71 ms

   6          16384                                    142 ms

   7          Reserved                                 Reserved

•     MODE: Oscillator Mode

            Choose between crystal, or external clock

            0: External clock connected on XIN, XOUT can be used as an I/O (no crystal)

            1 to 3: reserved

            4: Crystal is connected to XIN/XOUT - Oscillator is used with gain G0 ( XIN from  0.4 MHz to  0.9 MHz ).

            5: Crystal is connected to XIN/XOUT - Oscillator is used with gain G1 ( XIN from  0.9 MHz to  3.0 MHz ).

            6: Crystal is connected to XIN/XOUT - Oscillator is used with gain G2 ( XIN from  3.0 MHz to  8.0 MHz ).

            7: Crystal is connected to XIN/XOUT - Oscillator is used with gain G3 ( XIN from  8.0 Mhz).

                                                                                                                          62

32072H–AVR32–10/2012
                                                                                                       AT32UC3A3

7.6.6       32 KHz Oscillator Control Register

Name:                         OSCCTRL32

Access Type:                  Read/Write

Offset:                       0x30

Reset Value:                  0x00000000

       31             30                      29                 28       27                  26       25       24

         -                    -               -                  -        -                   -        -        -

       23             22                      21                 20       19                  18       17       16

         -                    -               -                  -        -                            STARTUP

       15             14                      13                 12       11                  10       9        8

         -                    -               -                  -        -                            MODE

         7                    6               5                  4        3                   2        1        0

         -                    -               -                  -        -                   -        -        OSC32EN

•     STARTUP: Oscillator Startup Time

            Select startup time for 32 KHz oscillator

              Number of RC oscillator                  Approximative Equivalent  time

   STARTUP    clock cycle                              (RCSYS = 115 kHz)

   0          0                                        0

   1          128                                      1.1 ms

   2          8192                                     72.3 ms

   3          16384                                    143 ms

   4          65536                                    570 ms

   5          131072                                   1.1 s

   6          262144                                   2.3 s

   7          524288                                   4.6 s

            Note: This register is only reset by Power-On Reset

•     MODE: Oscillator Mode

            Choose between crystal, or external clock

            0: External clock connected on XIN32, XOUT32 can be used as a I/O (no crystal)

            1: Crystal is connected to XIN32/XOUT32 - Oscillator is used with automatic gain  control

            2 to 7: Reserved

•     OSC32EN: Enable the 32 KHz oscillator

            0: 32 KHz Oscillator is disabled

            1: 32 KHz Oscillator is enabled

                                                                                                                         63

32072H–AVR32–10/2012
                                                                                                        AT32UC3A3

7.6.7       Interrupt Enable Register

Name:                   IER

Access Type:            Write-only

Offset:                 0x40

Reset Value:            0x00000000

       31               30             29  28                                     27            26  25        24

         -              -              -                               -          -             -   -         -

       23               22             21  20                                     19            18  17        16

         -              -              -                               -          -             -   BOD33DET  BODDET

       15               14             13  12                                     11            10  9         8

         -              -              -                               -          -             -   OSC32RDY  OSC1RDY

         7              6              5                               4          3             2   1         0

OSC0RDY                 MSKRDY      CKRDY                              -          -             -   LOCK1     LOCK0

            Writing  a  one to a bit in this register will set the corresponding  bit in  IMR.

            Writing  a  zero to a bit in this register has no effect.

                                                                                                                       64

32072H–AVR32–10/2012
                                                                                                           AT32UC3A3

7.6.8       Interrupt Disable Register

Name:                   IDR

Access Type:            Write-only

Offset:                 0x44

Reset Value:            0x00000000

       31               30          29     28                                       27             26  25        24

         -              -               -                              -            -              -   -         -

       23               22          21     20                                       19             18  17        16

         -              -               -                              -            -              -   BOD33DET  BODDET

       15               14          13     12                                       11             10  9         8

         -              -               -                              -            -              -   OSC32RDY  OSC1RDY

         7              6               5                              4            3              2   1         0

OSC0RDY                 MSKRDY      CKRDY                              -            -              -   LOCK1     LOCK0

            Writing  a  one to a bit in this register will clear the corresponding  bit  in  IMR.

            Writing  a  zero to a bit in this register has no effect.

                                                                                                                          65

32072H–AVR32–10/2012
                                                                                                             AT32UC3A3

7.6.9       Interrupt Mask Register

Name:                 IMR

Access Type:          Read-only

Offset:               0x48

Reset Value:          0x00000000

       31             30             29                  28                  27                      26  25        24

         -            -              -                   -                   -                       -   -         -

       23             22             21                  20                  19                      18  17        16

         -            -              -                   -                   -                       -   BOD33DET  BODDET

       15             14             13                  12                  11                      10  9         8

         -            -              -                   -                   -                       -   OSC32RDY  OSC1RDY

         7            6              5                   4                   3                       2   1         0

OSC0RDY               MSKRDY      CKRDY                  -                   -                       -   LOCK1     LOCK0

            0: The corresponding interrupt is disabled.

            1: The corresponding interrupt is enabled.

            A bit in this register is cleared when the corresponding bit in  IDR is written to one.

            A bit in this register is set when the corresponding bit in IER  is written to one.

                                                                                                                            66

32072H–AVR32–10/2012
                                                                                                            AT32UC3A3

7.6.10      Interrupt Status Register

Name:                  ISR

Access Type:           Read-only

Offset:                0x4C

Reset Value:           0x00000000

        31            30                29                   28  27                         26          25        24

         -             -                -                    -   -                                   -  -         -

        23            22                21                   20  19                         18          17        16

         -             -                -                    -   -                                   -  BOD33DET  BODDET

        15            14                13                   12  11                         10          9         8

         -             -                -                    -   -                                   -  OSC32RDY  OSC1RDY

         7             6                5                    4   3                                   2  1         0

   OSC0RDY            MSKRDY       CKRDY                     -   -                                   -  LOCK1     LOCK0

•  BOD33DET: Brown out detection

            This bit is set when a 0 to 1 transition on POSCSR.BOD33DET bit is detected: BOD33 has detected that power supply is

            going below BOD33 reference value.

            This bit is cleared when the corresponding bit in ICR is written to one.

•  BODDET: Brown out detection

            This bit is set when a 0 to 1 transition on POSCSR.BODDET bit is detected: BOD has detected that power supply is going

            below BOD reference value.

            This bit is cleared when the corresponding bit in ICR is written to one.

•  OSC32RDY: 32 KHz oscillator Ready

            This bit is set when a 0 to 1 transition on the POSCSR.OSC32RDY bit is detected: The 32 KHz oscillator is stable and

            ready to be used as clock source.

            This bit is cleared when the corresponding bit in ICR is written to one.

•  OSC1RDY: Oscillator 1 Ready

            This bit is set when a 0 to 1 transition on the POSCSR.OSC1RDY bit is detected: Oscillator 1 is stable and ready to be used

            as clock source.

            This bit is cleared when the corresponding bit in ICR is written to one.

•  OSC0RDY: Oscillator 0 Ready

            This bit is set when a 0 to 1 transition on the POSCSR.OSC1RDY bit is detected: Oscillator 1 is stable and ready to be used

            as clock source.

            This bit is cleared when the corresponding bit in ICR is written to one.

•  MSKRDY: Mask Ready

            This bit is set when a 0 to 1 transition on the POSCSR.MSKRDY bit is detected: Clocks are now masked according to the

            (CPU/HSB/PBA/PBB)_MASK registers.

            This bit is cleared when the corresponding bit in ICR is written to one.

•  CKRDY: Clock Ready

            0: The CKSEL register has been written, and the new clock setting is not yet effective.

            1: The synchronous clocks have frequencies as indicated in the CKSEL register.

            Note: Writing a one to ICR.CKRDY has no effect.

                                                                                                                                         67

32072H–AVR32–10/2012
                                                                                                                  AT32UC3A3

•  LOCK1: PLL1 locked

   This bit is set when a 0 to 1  transition on the POSCSR.LOCK1       bit is detected:  PLL  1  is  locked  and  ready to be selected as

   clock source.

   This bit is cleared when the   corresponding bit in ICR is written  to one.

•  LOCK0: PLL0 locked

   This bit is set when a 0 to 1  transition on the POSCSR.LOCK0       bit is detected:  PLL  0  is  locked  and  ready to be selected as

   clock source.

   This bit is cleared when the   corresponding bit in ICR is written  to one.

                                                                                                                  68

32072H–AVR32–10/2012
                                                                                                               AT32UC3A3

7.6.11      Interrupt Clear Register

Name:                   ICR

Access Type:            Write-only

Offset:                 0x50

Reset Value:            0x00000000

        31              30            29   28                                       27                 26  25                                 24

         -              -             -                                -            -                  -   -                                  -

        23              22            21   20                                       19                 18  17                                 16

         -              -             -                                -            -                  -   BOD33DET                 BODDET

        15              14            13   12                                       11                 10  9                                  8

         -              -             -                                -            -                  -   OSC32RDY                 OSC1RDY

         7              6             5                                4            3                  2   1                                  0

OSC0RDY                 MSKRDY      CKRDY                              -            -                  -   LOCK1                    LOCK0

            Writing  a  zero to a bit in this register has no effect.

            Writing  a  one to a bit in this register will clear the corresponding  bit  in  ISR  and  the corresponding interrupt  request.

                                                                                                                                                  69

32072H–AVR32–10/2012
                                                                                                         AT32UC3A3

7.6.12      Power and Oscillators Status Register

Name:                   POSCSR

Access Type:            Read-only

Offset:                 0x54

Reset Value:            0x00000020

        31            30              29                           28        27                      26  25        24

         -              -             -                            -         -                       -   -         -

        23            22              21                           20        19                      18  17        16

         -              -             -                            -         -                       -   BOD33DET  BODDET

        15            14              13                           12        11                      10  9         8

         -              -             -                            -         -                       -   OSC32RDY  OSC1RDY

         7              6             5                            4         3                       2   1         0

   OSC0RDY            MSKRDY        CKRDY                          -         -                       -   LOCK1     LOCK0

•  BOD33DET: Brown out 3V3 detection

            0: No BOD33 event

            1: BOD33 has detected that power supply is going below BOD33 reference value.

•  BODDET: Brown out detection

            0: No BOD event

            1: BOD has detected that power supply is going below BOD reference value.

•  OSC32RDY: 32 KHz oscillator Ready

            0: The 32 KHz oscillator is not enabled or not ready.

            1: The 32 KHz oscillator is stable and ready to be used as clock source.

•  OSC1RDY: OSC1 ready

            0: Oscillator 1 not enabled or not ready.

            1: Oscillator 1 is stable and ready to be used as clock source.

•  OSC0RDY: OSC0 ready

            0: Oscillator 0 not enabled or not ready.

            1: Oscillator 0 is stable and ready to be used as clock source.

•  MSKRDY: Mask ready

            0: Mask register has been changed, masking in progress.

            1: Clock are masked according to xxx_MASK

•  CKRDY:

            0: The CKSEL register has been written, and the new clock setting is not yet effective.

            1: The synchronous clocks have frequencies as indicated in the CKSEL register.

•  LOCK1: PLL 1 locked

            0:PLL 1 is unlocked

            1:PLL 1 is locked, and ready to be selected as clock source.

•  LOCK0: PLL 0 locked

            0: PLL 0 is unlocked

            1: PLL 0 is locked, and ready to be selected as clock source.

                                                                                                                            70

32072H–AVR32–10/2012
                                                                                          AT32UC3A3

7.6.13      Generic Clock Control Register

Name:                    GCCTRLx

Access Type:             Read/Write

Offset:                  0x60 - 0x74

Reset Value:             0x00000000

        31               30           29                    28                   27  26   25      24

         -               -            -                     -                    -   -    -       -

        23               22           21                    20                   19  18   17      16

         -               -            -                     -                    -   -    -       -

        15               14           13                    12                   11  10   9       8

                                                                       DIV[7:0]

         7               6            5                     4                    3   2    1       0

         -               -            -                     DIVEN                -   CEN  PLLSEL  OSCSEL

            There is one GCCTRL register per generic clock in the design.

•  DIV: Division Factor

•  DIVEN: Divide Enable

            0: The generic clock equals the undivided source clock.

            1: The generic clock equals the source clock divided by 2*(DIV+1).

•  CEN: Clock Enable

            0: Clock is stopped.

            1: Clock is running.

•  PLLSEL: PLL Select

            0: Oscillator is source for the generic clock.

            1: PLL is source for the generic clock.

•  OSCSEL: Oscillator Select

            0: Oscillator (or PLL) 0 is source for the generic clock.

            1: Oscillator (or PLL) 1 is source for the generic clock.

                                                                                                          71

32072H–AVR32–10/2012
                                                                           AT32UC3A3

7.6.14      RC Oscillator Calibration Register

Name:                 RCCR

Access Type:          Read/Write

Offset:               0xC0

Reset Value:          0x00000000

        31            30           29                   28         27  26  25                                                        24

                                                            KEY

        23            22           21                   20         19  18  17                                                        16

         -            -            -                    -          -   -   -                                                         FCD

        15            14           13                   12         11  10  9                                                         8

         -            -            -                    -          -   -                                                      CALIB

         7            6            5                    4          3   2   1                                                         0

                                                            CALIB

•  KEY: Register Write protection

            This field must be written twice, first with key value 0x55, then 0xAA, for a write operation to have an effect.

•  FCD: Flash Calibration Done

            Set to 1 when CTRL, HYST, and LEVEL fields have been updated by the Flash fuses after power-on reset, or after Flash fuses

            are reprogrammed. The CTRL, HYST and LEVEL values will not be updated again by the Flash fuses until a new power-on

            reset or the FCD field is written to zero.

•  CALIB: Calibration Value

            Calibration Value for the RC oscillator.

                                                                                                                                          72

32072H–AVR32–10/2012
                                                                                                   AT32UC3A3

7.6.15      Bandgap Calibration Register

Name:                         BGCR

Access Type:                  Read/Write

Offset:                       0xC4

Reset Value:                  0x00000000

        31                    30          29  28       27                                      26  25                                          24

                                                  KEY

        23                    22          21  20       19                                      18  17                                          16

         -                    -           -   -        -                                       -   -                                   FCD

        15                    14          13  12       11                                      10  9                                           8

         -                    -           -   -        -                                       -   -                                           -

         7                    6           5   4        3                                       2   1                                           0

         -                    -           -   -        -                                           CALIB

•  KEY: Register Write protection

            This field must be written twice, first with key value 0x55, then 0xAA, for a write operation to have an effect.

•  FCD: Flash Calibration Done

            Set to 1 when the CALIB field has been updated by the Flash fuses after power-on reset or when the Flash fuses are

            reprogrammed. The CALIB field will not be updated again by the Flash fuses until a new power-on reset or the FCD field is

            written to zero.

•  CALIB: Calibration value

            Calibration value for Bandgap. See Electrical Characteristics for voltage values.

            It is not recommended to override default factory settings in the BGCR register. Flash reliability is not guaranted if this value      is

            modified by the user

                                                                                                                                                   73

32072H–AVR32–10/2012
                                                                                                            AT32UC3A3

7.6.16      PM Voltage Regulator Calibration Register

Name:                         VREGCR

Access Type:                  Read/Write

Offset:                       0xC8

Reset Value:                  0x00000000

        31                    30          29  28            27  26                                          25                      24

                                                       KEY

        23                    22          21  20            19  18                                          17                      16

         -                    -           -   -             -                                            -  -                       FCD

        15                    14          13  12            11  10                                          9                       8

         -                    -           -   -             -                                            -  -                       -

         7                    6           5   4             3                                            2  1                       0

         -                    -           -   -             -                                               CALIB

•  KEY: Register Write protection

            This field must be written twice, first with key value 0x55, then 0xAA, for a write operation to have an effect.

            Calibration value for Voltage Regulator. See Electrical Characteristics for voltage values.

•  FCD: Flash Calibration Done

            Set to 1 when the CALIB field has been updated by the Flash fuses after power-on reset or when the Flash fuses are

            reprogrammed. The CALIB field will not be updated again by the Flash fuses until a new power-on reset or the FCD field       is

            written to zero.

•  CALIB: Calibration value

                                                                                                                                             74

32072H–AVR32–10/2012
                                                                                                                            AT32UC3A3

7.6.17      BOD Control Register

Name:                         BOD

Access Type:                  Read/Write

Offset:                       0xD0

Reset Value:                  0x00000000

        31                 30             29          28       27                              26                           25        24

                                                          KEY

        23                 22             21          20       19                              18                           17        16

         -                    -           -           -        -                               -                            -         FCD

        15                 14             13          12       11                              10                           9         8

         -                    -           -           -        -                               -                                CTRL

         7                    6           5           4        3                               2                            1         0

         -                 HYST                                                         LEVEL

•  KEY: Register Write protection

            This field must be written twice, first with key value 0x55, then 0xAA, for a write operation to have an effect.

•  FCD: BOD Fuse calibration done

            Set to 1 when CTRL, HYST and LEVEL fields has been updated by the Flash fuses after power-on reset or Flash fuses update

            If one, the CTRL, HYST and LEVEL values will not be updated again by Flash fuses

            Can be cleared to allow subsequent overwriting of the value by Flash fuses

•  CTRL: BOD Control

            0: BOD is off

            1: BOD is enabled and can reset the chip

            2: BOD is enabled and but cannot reset the chip. Only interrupt will be sent to interrupt controller, if enabled in the IMR register.

            3: BOD is off

•  HYST: BOD Hysteresis

            0: No hysteresis

            1: Hysteresis On

•  LEVEL: BOD Level

            This field sets the triggering threshold of the BOD. See Electrical Characteristics for actual voltage levels.

            Note that any change to the LEVEL field of the BOD register should be done with the BOD deactivated to avoid spurious reset

            or interrupt.

                                                                                                                                                   75

32072H–AVR32–10/2012
                                                                                                   AT32UC3A3

7.6.18      BOD33 Control Register

Name:                        BOD33

Access Type:                 Read/Write

Offset:                      0xD4

Reset Value:                 0x0000010X

        31                   30          29             28                    27        26         25                                      24

                                                            KEY

        23                   22          21             20                    19        18         17                                      16

         -                   -           -              -                     -         -          -                                       FCD

        15                   14          13             12                    11        10         9                                       8

         -                   -           -              -                     -         -                                     CTRL

         7                   6           5              4                     3         2          1                                       0

         -                   -                                                              LEVEL

•  KEY: Register Write protection

            This field must be written twice, first with key value 0x55, then 0xAA, for a write operation to have an effect.

•  FCD: BOD33 Fuse calibration done

            Set to 1 when LEVEL field has been updated by the Flash fuses after power-on reset or Flash fuses update

            If one, the LEVEL value will not be updated again by Flash fuses

            Can be cleared to allow subsequent overwriting of the value by Flash fuses

•  CTRL: BOD33 Control

            0: BOD33 is off

            1: BOD33 is enabled and can reset the chip

            2: BOD33 is enabled and but cannot reset the chip. Only interrupt will be sent to interrupt controller, if enabled in the IMR

            register.

            3: BOD33 is off

•  LEVEL: BOD33 Level

            This field sets the triggering threshold of the BOD33. See Electrical Characteristics for actual voltage levels.

            Note that any change to the LEVEL field of the BOD33 register should be done with the BOD33 deactivated to avoid spurious

            reset or interrupt.

                                                                                                                                                76

32072H–AVR32–10/2012
                                                                                                               AT32UC3A3

7.6.19      Reset Cause Register

Name:                  RCAUSE

Access Type:           Read-only

Offset:                0x140

Reset Value:           0x00000000

        31             30          29  28                                 27         26                        25             24

         -             -           -                          -           -          -                         -              -

        23             22          21  20                                 19         18                        17             16

         -             -           -                          -           -          -                         -              -

        15             14          13  12                                 11         10                        9              8

         -             -           -                          -           -          BOD33                     -              OCDRST

         7             6           5                          4           3          2                         1              0

   CPUERR              -           -   JTAG                               WDT        EXT                       BOD            POR

•  BOD33: Brown-out 3V3 Reset

            The CPU was reset due to the supply voltage 3V3 being lower than the brown-out threshold level.

•  OCDRST: OCD Reset

            The CPU was reset because the RES strobe in the OCD Development Control register has been written       to  one.

•  CPUERR: CPU Error

            The CPU was reset because it had detected an illegal access.

•  JTAG: JTAG reset

            The CPU was reset by setting the bit RC_CPU in the JTAG reset register.

•  WDT: Watchdog Reset

            The CPU was reset because of a watchdog timeout.

•  EXT: External Reset Pin

            The CPU was reset due to the RESET pin being asserted.

•  BOD: Brown-out Reset

            The CPU was reset due to the supply voltage 1V8 being lower than the brown-out threshold level.

•  POR Power-on Reset

            The CPU was reset due to the supply voltage being lower than the power-on threshold level.

                                                                                                                                      77

32072H–AVR32–10/2012
                                                                               AT32UC3A3

7.6.20       Asynchronous Wake Up Enable

Name:                 AWEN

Access Type:          Read/Write

Offset:               0x144

Reset Value:          -

         31           30          29      28                           27  26  25  24

         -            -           -       -                            -   -   -   -

         23           22          21      20                           19  18  17  16

         -            -           -       -                            -   -   -   -

         15           14          13      12                           11  10  9   8

         -            -           -       -                            -   -   -   -

         7            6           5       4                            3   2   1   0

         -            -           -       -                            -   -   -   USB_WAKEN

•  USB_WAKEN : Wake Up Enable Register

             Writing a zero to this bit will disable the USB wake up.

             Writing a one to this bit will enable the USB wake up.

                                                                                       78

32072H–AVR32–10/2012
                                                                              AT32UC3A3

7.6.21      General Purpose Low-power Register

Name:                 GPLP

Access Type:          Read/Write

Offset:               0x200

Reset Value:          0x00000000

        31            30          29            28                    27  26  25                                                    24

                                                                GPLP

        23            22          21            20                    19  18  17                                                    16

                                                                GPLP

        15            14          13            12                    11  10  9                                                     8

                                                                GPLP

         7            6           5                          4        3   2   1                                                     0

                                                                GPLP

            These registers are general purpose 32-bit registers that are reset only by power-on-reset. Any other reset will keep the content

            of these registers untouched. User software can use these register to save context variables in a very low power mode.

            Two GPLP register are implemented in AT32UC3A3.

                                                                                                                                               79

32072H–AVR32–10/2012
                                                                                                AT32UC3A3

8.   Real Time Counter (RTC)

                             Rev: 2.4.0.1

8.1  Features

                             •  32-bit real-time counter with 16-bit prescaler

                             •  Clocked from RC oscillator or 32KHz oscillator

                             •  Long delays

                                – Max timeout 272years

                             •  High resolution: Max count frequency 16KHz

                             •  Extremely low power consumption

                             •  Available in all sleep modes except Static

                             •  Interrupt on wrap

8.2  Overview

                             The Real Time Counter (RTC) enables periodic interrupts at long intervals, or accurate mea-

                             surement of real-time sequences. The RTC is fed from a 16-bit prescaler, which is clocked from

                             the system RC oscillator or the 32KHz crystal oscillator. Any tapping of the prescaler can be

                             selected as clock source for the RTC, enabling both high resolution and long timeouts. The pres-

                             caler cannot be written directly, but can be cleared by the user.

                             The RTC can generate an interrupt when the counter wraps around the value stored in the top

                             register (TOP), producing accurate periodic interrupts.

8.3  Block Diagram

Figure 8-1.  Real Time Counter Block Diagram

                         CTRL                                                   TOP

                      CLK32     EN   PSEL

     CLK_32           1

                                16-bit Prescaler                 32-bit counter                 TOPI  IRQ

     RCSYS            0

                                                                                VAL

8.4  Product Dependencies

                             In order to use this module, other parts of the system must be configured correctly, as described

                             below.

                                                                                                                                80

32072H–AVR32–10/2012
                                                                                                    AT32UC3A3

8.4.1    Power Management

                        The RTC remains operating in all sleep modes except Static mode. Interrupts are not available

                        in DeepStop mode.

8.4.2    Clocks

                        The RTC can use the system RC oscillator as clock source. This oscillator is always enabled

                        whenever this module is active. Please refer to the Electrical Characteristics chapter for the

                        characteristic frequency of this oscillator (fRC).

                        The RTC can also use the 32 KHz crystal oscillator as clock source. This oscillator must be

                        enabled before use. Please refer to the Power Manager chapter for details.

                        The clock for the RTC bus interface (CLK_RTC) is generated by the Power Manager. This clock

                        is enabled at reset, and can be disabled in the Power Manager. It is recommended to disable the

                        RTC before disabling the clock, to avoid freezing the RTC in an undefined state.

8.4.3    Interrupts

                        The RTC interrupt request line is connected to the interrupt controller. Using the RTC interrupt

                        requires the interrupt controller to be programmed first.

8.4.4    Debug Operation

                        The RTC prescaler is frozen during debug operation, unless the OCD system keeps peripherals

                        running in debug operation.

8.5      Functional Description

8.5.1    RTC Operation

8.5.1.1  Source clock

                        The RTC is enabled by writing a one to the Enable bit in the Control Register (CTRL.EN). The

                        16-bit prescaler will then increment on the selected clock. The prescaler cannot be read or writ-

                        ten, but it can be reset by writing a one to the Prescaler Clear bit in CTRL register (CTRL.PCLR).

                        The 32KHz Oscillator Select bit in CTRL register (CTRL.CLK32) selects either the RC oscillator

                        or the 32KHz oscillator as clock source (defined as INPUT in the formula below) for the

                        prescaler.

                        The Prescale Select field in CTRL register (CTRL.PSEL) selects the prescaler tapping, selecting

                        the source clock for the RTC:

                                                       fRTC  =  fINPUT ⁄ 2(PSEL + 1)

8.5.1.2  Counter operation

                        When enabled, the RTC will increment until it reaches TOP, and then wraps to 0x0. The status

                        bit TOPI in Interrupt Status Register (ISR) is set to one when this occurs. From 0x0 the counter

                        will count TOP+1 cycles of the source clock before it wraps back to 0x0.

                                                                                                                            81

32072H–AVR32–10/2012
                                                                        AT32UC3A3

                        The RTC count value can be read from or written to the Value register (VAL). Due to synchroni-

                        zation, continuous reading of the VAL register with the lowest prescaler setting will skip every

                        other value.

8.5.1.3  RTC interrupt

                        The RTC interrupt is enabled by writing a one to the Top Interrupt bit in the Interrupt Enable Reg-

                        ister (IER.TOPI), and is disabled by writing a one to the Top Interrupt bit in the Interrupt Disable

                        Register (IDR.TOPI). The Interrupt Mask Register (IMR) can be read to see whether or not the

                        interrupt is enabled. If enabled, an interrupt will be generated if the TOPI bit in the Interrupt Sta-

                        tus Register (ISR) is set. The TOPI bit in ISR can be cleared by writing a one to the TOPI bit in

                        the Interrupt Clear Register (ICR.TOPI).

                        The RTC interrupt can wake the CPU from all sleep modes except DeepStop and Static modes.

8.5.1.4  RTC wakeup

                        The RTC can also wake up the CPU directly without triggering an interrupt when the ISR.TOPI

                        bit is set. In this case, the CPU will continue executing from the instruction following the sleep

                        instruction.

                        This direct RTC wake-up is enabled by writing a one to the Wake Enable bit in the CTRL register

                        (CTRL.WAKEN). When the CPU wakes from sleep, the CTRL.WAKEN bit must be written to

                        zero to clear the internal wake signal to the sleep controller, otherwise a new sleep instruction

                        will have no effect.

                        The RTC wakeup is available in all sleep modes except Static mode. The RTC wakeup can be

                        configured independently of the RTC interrupt.

8.5.1.5  Busy bit

                        Due to the crossing of clock domains, the RTC uses a few clock cycles to propagate the values

                        stored in CTRL, TOP, and VAL to the RTC. The RTC Busy bit in CTRL (CTRL.BUSY) indicates

                        that a register write is still going on and all writes to TOP, CTRL, and VAL will be discarded until

                        the CTRL.BUSY bit goes low again.

                                                                                                                                82

32072H–AVR32–10/2012
                                                                                  AT32UC3A3

8.6  User Interface

Table 8-1.   RTC Register  Memory Map

     Offset                Register                    Register Name  Access      Reset

     0x00                  Control Register            CTRL           Read/Write  0x00010000

     0x04                  Value Register              VAL            Read/Write  0x00000000

     0x08                  Top Register                TOP            Read/Write  0xFFFFFFFF

     0x10                  Interrupt Enable Register   IER            Write-only  0x00000000

     0x14                  Interrupt Disable Register  IDR            Write-only  0x00000000

     0x18                  Interrupt Mask Register     IMR            Read-only   0x00000000

     0x1C                  Interrupt Status Register   ISR            Read-only   0x00000000

     0x20                  Interrupt Clear Register    ICR            Write-only  0x00000000

                                                                                              83

32072H–AVR32–10/2012
                                                                                                             AT32UC3A3

8.6.1       Control Register

Name:                   CTRL

Access Type:            Read/Write

Offset:                 0x00

Reset Value:            0x00010000

       31             30                    29               28              27             26           25    24

         -            -                     -                   -            -              -            -     -

       23             22                    21               20              19             18           17    16

         -            -                     -                   -            -              -            -     CLKEN

       15             14                    13               12              11             10           9     8

         -            -                     -                   -                                  PSEL

       7              6                     5                   4            3              2            1     0

         -            -                     -                BUSY            CLK32          WAKEN        PCLR  EN

•  CLKEN: Clock Enable

            1: The clock is enabled.

            0: The clock is disabled.

•  PSEL: Prescale Select

            Selects prescaler bit PSEL as source clock for the RTC.

•  BUSY: RTC Busy

            This bit is set when the RTC is busy and will discard writes to  TOP, VAL, and  CTRL.

            This bit is cleared when the RTC accepts writes to TOP, VAL,     and CTRL.

•  CLK32: 32 KHz Oscillator Select

            1: The RTC uses the 32 KHz oscillator as clock source.

            0: The RTC uses the RC oscillator as clock source.

•  WAKEN: Wakeup Enable

            1: The RTC wakes up the CPU from sleep modes.

            0: The RTC does not wake up the CPU from sleep modes.

•  PCLR: Prescaler Clear

            Writing a one to this bit clears the prescaler.

            Writing a zero to this bit has no effect.

            This bit always reads as zero.

•  EN: Enable

            1: The RTC is enabled.

            0: The RTC is disabled.

                                                                                                                      84

32072H–AVR32–10/2012
                                                                                             AT32UC3A3

8.6.2      Value Register

Name:                 VAL

Access Type:          Read/Write

Offset:               0x04

Reset Value:          0x00000000

       31             30                  29                   28              27    26  25  24

                                                                   VAL[31:24]

       23             22                  21                   20              19    18  17  16

                                                                   VAL[23:16]

       15             14                  13                   12              11    10  9   8

                                                                   VAL[15:8]

       7              6                   5                    4               3     2   1   0

                                                                   VAL[7:0]

•  VAL[31:0]: RTC     Value

          This value  is incremented  on  every  rising  edge  of the source clock.

                                                                                                 85

32072H–AVR32–10/2012
                                                                    AT32UC3A3

8.6.3      Top Register

Name:                 TOP

Access Type:          Read/Write

Offset:               0x08

Reset Value:          0xFFFFFFFF

       31             30            29  28              27  26  25  24

                                            VAL[31:24]

       23             22            21  20              19  18  17  16

                                            VAL[23:16]

       15             14            13  12              11  10  9   8

                                            VAL[15:8]

       7              6             5   4               3   2   1   0

                                            VAL[7:0]

•  VAL[31:0]: RTC Top Value

          VAL wraps at this value.

                                                                        86

32072H–AVR32–10/2012
                                                                                                        AT32UC3A3

8.6.4       Interrupt Enable Register

Name:                   IER

Access Type:            Write-only

Offset:                 0x10

Reset Value:            0x00000000

       31               30             29  28                                     27            26  25  24

         -              -              -                               -          -             -   -   -

       23               22             21  20                                     19            18  17  16

         -              -              -                               -          -             -   -   -

       15               14             13  12                                     11            10  9   8

         -              -              -                               -          -             -   -   -

       7                6              5                               4          3             2   1   0

         -              -              -                               -          -             -   -   TOPI

            Writing  a  zero to a bit in this register has no effect.

            Writing  a  one to a bit in this register will set the corresponding  bit in  IMR.

                                                                                                              87

32072H–AVR32–10/2012
                                                                                                          AT32UC3A3

8.6.5       Interrupt Disable Register

Name:                   IDR

Access Type:            Write-only

Offset:                 0x14

Reset Value:            0x00000000

       31               30          29     28                                       27            26  25  24

         -              -               -                              -            -             -   -   -

       23               22          21     20                                       19            18  17  16

         -              -               -                              -            -             -   -   -

       15               14          13     12                                       11            10  9   8

         -              -               -                              -            -             -   -   -

       7                6           5                                  4            3             2   1   0

         -              -               -                              -            -             -   -   TOPI

            Writing  a  zero to a bit in this register has no effect.

            Writing  a  one to a bit in this register will clear the corresponding  bit in  IMR.

                                                                                                                88

32072H–AVR32–10/2012
                                                                                                             AT32UC3A3

8.6.6       Interrupt Mask Register

Name:                 IMR

Access Type:          Read-only

Offset:               0x18

Reset Value:          0x00000000

       31             30             29                  28                  27                      26  25  24

         -            -              -                   -                   -                       -   -   -

       23             22             21                  20                  19                      18  17  16

         -            -              -                   -                   -                       -   -   -

       15             14             13                  12                  11                      10  9   8

         -            -              -                   -                   -                       -   -   -

       7              6              5                   4                   3                       2   1   0

         -            -              -                   -                   -                       -   -   TOPI

            0: The corresponding interrupt is disabled.

            1: The corresponding interrupt is enabled.

            A bit in this register is cleared when the corresponding bit in  IDR is written to one.

            A bit in this register is set when the corresponding bit in IER  is written to one.

                                                                                                                   89

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

8.6.7       Interrupt Status Register

Name:                   ISR

Access Type:            Read-only

Offset:                 0x1C

Reset Value:            0x00000000

       31               30             29  28                                      27    26  25  24

         -              -              -   -                                       -     -   -   -

       23               22             21  20                                      19    18  17  16

         -              -              -   -                                       -     -   -   -

       15               14             13  12                                      11    10  9   8

         -              -              -   -                                       -     -   -   -

       7                6              5   4                                       3     2   1   0

         -              -              -   -                                       -     -   -   TOPI

•  TOPI: Top Interrupt

            This bit is set when VAL has wrapped at its top value.

            This bit is cleared when the corresponding bit in ICR is  written  to  one.

                                                                                                       90

32072H–AVR32–10/2012
                                                                                                                             AT32UC3A3

8.6.8       Interrupt Clear Register

Name:                   ICR

Access Type:            Write-only

Offset:                 0x20

Reset Value:            0x00000000

       31               30            29  28                                        27                    26             25                  24

         -              -             -                                -            -                     -              -                   -

       23               22            21  20                                        19                    18             17                  16

         -              -             -                                -            -                     -              -                   -

       15               14            13  12                                        11                    10             9                   8

         -              -             -                                -            -                     -              -                   -

       7                6             5                                4            3                     2              1                   0

         -              -             -                                -            -                     -              -                   TOPI

            Writing  a  zero to a bit in this register has no effect.

            Writing  a  one to a bit in this register will clear the corresponding  bit in  SR  and  the  corresponding  interrupt request.

                                                                                                                                                   91

32072H–AVR32–10/2012
                                                                                                AT32UC3A3

9.     Watchdog Timer (WDT)

                      Rev: 2.4.0.1

9.1    Features

                      •  Watchdog timer counter with 32-bit prescaler

                      •  Clocked from the system RC oscillator (RCSYS)

9.2    Overview

                      The Watchdog Timer (WDT) has a prescaler generating a time-out period. This prescaler is

                      clocked from the RC oscillator. The watchdog timer must be periodically reset by software within

                      the time-out period, otherwise, the device is reset and starts executing from the boot vector. This

                      allows the device to recover from a condition that has caused the system to be unstable.

9.3    Block Diagram

                      Figure 9-1.   WDT Block Diagram

                                                                                      CLR

                              RCSYS       32-bit                        Watchdog                Watchdog Reset

                                          Prescaler                                   Detector

                                                       EN                             CTRL

9.4    Product Dependencies

                      In order to use this module, other parts of the system must be configured correctly, as described

                      below.

9.4.1  Power Management

                      When the WDT is enabled, the WDT remains clocked in all sleep modes, and it is not possible to

                      enter Static mode.

9.4.2  Clocks

                      The WDT can use the system RC oscillator (RCSYS) as clock source. This oscillator is always

                      enabled whenever these modules are active. Please refer to the Electrical Characteristics chap-

                      ter for the characteristic frequency of this oscillator (fRC).

9.4.3  Debug Operation

                      The WDT prescaler is frozen during debug operation, unless the On-Chip Debug (OCD) system

                      keeps peripherals running in debug operation.

                                                                                                                           92

32072H–AVR32–10/2012
                                                                                                     AT32UC3A3

9.5  Functional       Description

                      The WDT is enabled by writing a one to the Enable bit in the Control register (CTRL.EN). This

                      also enables the system RC clock (CLK_RCSYS) for the prescaler. The Prescale Select field

                      (PSEL) in the CTRL register selects the watchdog time-out period:

                      TWDT = 2(PSEL+1) / fRC

                      The next time-out period will begin as soon as the watchdog reset has occurred and count down

                      during the reset sequence. Care must be taken when selecting the PSEL field value so that the

                      time-out period is greater than the startup time of the chip, otherwise a watchdog reset can reset

                      the chip before any code has been run.

                      To avoid accidental disabling of the watchdog, the CTRL register must be written twice, first with

                      the KEY field set to 0x55, then 0xAA without changing the other bits. Failure to do so will cause

                      the write operation to be ignored, and the CTRL register value will not change.

                      The Clear register (CLR) must be written with any value with regular intervals shorter than the

                      watchdog time-out period. Otherwise, the device will receive a soft reset, and the code will start

                      executing from the boot vector.

                      When the WDT is enabled, it is not possible to enter Static mode. Attempting to do so will result

                      in entering Shutdown mode, leaving the WDT operational.

9.6  User Interface

Table 9-1.   WDT Register Memory Map

     Offset           Register                                Register Name              Access        Reset

     0x00             Control Register                        CTRL             Read/Write              0x00000000

     0x04             Clear Register                          CLR                        Write-only    0x00000000

                                                                                                                          93

32072H–AVR32–10/2012
                                                                                                                              AT32UC3A3

9.6.1       Control Register

Name:                 CTRL

Access Type:          Read/Write

Offset:               0x00

Reset Value:          0x00000000

       31             30                      29              28                 27                    26                 25          24

                                                                     KEY

       23             22                      21              20                 19                    18                 17          16

         -            -                       -               -                  -                     -                  -           -

       15             14                      13              12                 11                    10                 9           8

         -            -                       -                                                        PSEL

       7              6                       5               4                  3                     2                  1           0

         -            -                       -               -                  -                     -                  -           EN

•  KEY: Write protection key

            This field must be written twice, first with key  value  0x55, then  0xAA,  for  a  write  operation  to  be  effective.

            This field always reads as zero.

•  PSEL: Prescale Select

            PSEL is used as watchdog timeout period.

•  EN: WDT Enable

            1: WDT is enabled.

            0: WDT is disabled.

                                                                                                                                          94

32072H–AVR32–10/2012
                                                                                                                          AT32UC3A3

9.6.2      Clear Register

Name:                      CLR

Access Type:               Write-only

Offset:                    0x04

Reset Value:               0x00000000

       31             30                    29                 28               27                26                  25             24

                                                                    CLR[31:24]

       23             22                    21                 20               19                18                  17             16

                                                                    CLR[23:16]

       15             14                    13                 12               11                10                  9              8

                                                                    CLR[15:8]

       7                   6                5                  4                3                 2                   1              0

                                                                    CLR[7:0]

•  CLR:

          Writing periodically any value to this  field  when  the  WDT is enabled,  within  the  watchdog  time-out  period,  will  prevent a

          watchdog reset.

          This field always reads as zero.

                                                                                                                                                95

32072H–AVR32–10/2012
                                                                                                       AT32UC3A3

10. Interrupt Controller (INTC)

                      Rev: 1.0.1.5

10.1  Features

                      •  Autovectored low latency interrupt service with programmable priority

                         – 4 priority levels for regular, maskable interrupts

                         – One Non-Maskable Interrupt

                      •  Up to 64 groups of interrupts with up to 32 interrupt requests in each group

10.2  Overview

                      The INTC collects interrupt requests from the peripherals, prioritizes them, and delivers an inter-

                      rupt request and an autovector to the CPU. The AVR32 architecture supports 4 priority levels for

                      regular, maskable interrupts, and a Non-Maskable Interrupt (NMI).

                      The INTC supports up to 64 groups of interrupts. Each group can have up to 32 interrupt request

                      lines, these lines are connected to the peripherals. Each group has an Interrupt Priority Register

                      (IPR) and an Interrupt Request Register (IRR). The IPRs are used to assign a priority level and

                      an autovector to each group, and the IRRs are used to identify the active interrupt request within

                      each group. If a group has only one interrupt request line, an active interrupt group uniquely

                      identifies the active interrupt request line, and the corresponding IRR is not needed. The INTC

                      also provides one Interrupt Cause Register (ICR) per priority level. These registers identify the

                      group that has a pending interrupt of the corresponding priority level. If several groups have a

                      pending interrupt of the same level, the group with the lowest number takes priority.

10.3  Block Diagram

                      Figure 10-1 gives an overview of the INTC. The grey boxes represent registers that can be

                      accessed via the user interface. The interrupt requests from the peripherals (IREQn) and the

                      NMI are input on the left side of the figure. Signals to and from the CPU are on the right side of

                      the figure.

                                                                                                                           96

32072H–AVR32–10/2012
                                                                                                              AT32UC3A3

                      Figure    10-1.  INTC Block Diagram

                                       Interrupt Controller                                                                 CPU

                      NMIREQ

                                                                                                                Masks       SREG

                                                                                                                            Masks

                                                                                                                            I[3-0]M

                                                       GrpReqN           ValReqN                                            GM

                                            OR

                                                       .                 IPRn     INT_level,

                                                       .                 .        offset      .

                                            IRRn                         .                    .                 INTLEVEL

                                                       .        Request                          Prioritizer

                      IREQ63                                    Masking  .                    .

                                            OR         GrpReq1           ValReq1

                      IREQ34
                      IREQ33
                      IREQ32                                             IPR1     INT_level,
                                                                                                                AUTOVECTOR
                                                                                  offset

                                            IRR1

                      IREQ31                                             ValReq0

                                            OR         GrpReq0

                         IREQ2
                         IREQ1                                                    INT_level,
                         IREQ0                                           IPR0
                                                                                  offset

                                            IRR0

                                       IRR  Registers                          IPR Registers     ICR Registers

10.4    Product Dependencies

                      In order to use this module, other parts of the system must be configured correctly, as described

                      below.

10.4.1  Power Management

                      If the CPU enters a sleep mode that disables CLK_SYNC, the INTC will stop functioning and

                      resume operation after the system wakes up from sleep mode.

10.4.2  Clocks

                      The clock for the INTC bus interface (CLK_INTC) is generated by the Power Manager. This

                      clock is enabled at reset, and can be disabled in the Power Manager.

                      The INTC sampling logic runs on a clock which is stopped in any of the sleep modes where the

                      system RC oscillator is not running. This clock is referred to as CLK_SYNC. This clock is

                      enabled at reset, and only turned off in sleep modes where the system RC oscillator is stopped.

10.4.3  Debug Operation

                      When an external debugger forces the CPU into debug mode, the INTC continues normal

                      operation.

10.5    Functional Description

                      All of the incoming interrupt requests (IREQs) are sampled into the corresponding Interrupt

                      Request Register (IRR). The IRRs must be accessed to identify which IREQ within a group that

                      is active. If several IREQs within the same group are active, the interrupt service routine must

                      prioritize between them. All of the input lines in each group are logically ORed together to form

                      the GrpReqN lines, indicating if there is a pending interrupt in the corresponding group.

                      The Request Masking hardware maps each of the GrpReq lines to a priority level from INT0 to

                      INT3 by associating each group with the Interrupt Level (INTLEVEL) field in the corresponding

                                                                                                                                     97

32072H–AVR32–10/2012
                                                                                        AT32UC3A3

                       Interrupt Priority Register (IPR). The GrpReq inputs are then masked by the mask bits from the

                       CPU status register. Any interrupt group that has a pending interrupt of a priority level that is not

                       masked by the CPU status register, gets its corresponding ValReq line asserted.

                       Masking of the interrupt requests is done based on five interrupt mask bits of the CPU status

                       register, namely Interrupt Level 3 Mask (I3M) to Interrupt Level 0 Mask (I0M), and Global Inter-

                       rupt Mask (GM). An interrupt request is masked if either the GM or the corresponding interrupt

                       level mask bit is set.

                       The Prioritizer hardware uses the ValReq lines and the INTLEVEL field in the IPRs to select the

                       pending interrupt of the highest priority. If an NMI interrupt request is pending, it automatically

                       gets the highest priority of any pending interrupt. If several interrupt groups of the highest pend-

                       ing interrupt level have pending interrupts, the interrupt group with the lowest number is

                       selected.

                       The INTLEVEL and handler autovector offset (AUTOVECTOR) of the selected interrupt are

                       transmitted to the CPU for interrupt handling and context switching. The CPU does not need to

                       know which interrupt is requesting handling, but only the level and the offset of the handler

                       address. The IRR registers contain the interrupt request lines of the groups and can be read via

                       user interface registers for checking which interrupts of the group are actually active.

                       The delay through the INTC from the peripheral interrupt request is set until the interrupt request

                       to the CPU is set is three cycles of CLK_SYNC.

10.5.1  Non-Maskable Interrupts

                       A NMI request has priority over all other interrupt requests. NMI has a dedicated exception vec-

                       tor address defined by the AVR32 architecture, so AUTOVECTOR is undefined when

                       INTLEVEL indicates that an NMI is pending.

10.5.2  CPU  Response

                       When the CPU receives an interrupt request it checks if any other exceptions are pending. If no

                       exceptions of higher priority are pending, interrupt handling is initiated. When initiating interrupt

                       handling, the corresponding interrupt mask bit is set automatically for this and lower levels in sta-

                       tus register. E.g, if an interrupt of level 3 is approved for handling, the interrupt mask bits I3M,

                       I2M, I1M, and I0M are set in status register. If an interrupt of level 1 is approved, the masking

                       bits I1M and I0M are set in status register. The handler address is calculated by logical OR of

                       the AUTOVECTOR to the CPU system register Exception Vector Base Address (EVBA). The

                       CPU will then jump to the calculated address and start executing the interrupt handler.

                       Setting the interrupt mask bits prevents the interrupts from the same and lower levels to be

                       passed through the interrupt controller. Setting of the same level mask bit prevents also multiple

                       requests of the same interrupt to happen.

                       It is the responsibility of the handler software to clear the interrupt request that caused the inter-

                       rupt before returning from the interrupt handler. If the conditions that caused the interrupt are not

                       cleared, the interrupt request remains active.

10.5.3  Clearing an Interrupt Request

                       Clearing of the interrupt request is done by writing to registers in the corresponding peripheral

                       module, which then clears the corresponding NMIREQ/IREQ signal.

                       The recommended way of clearing an interrupt request is a store operation to the controlling

                       peripheral register, followed by a dummy load operation from the same register. This causes a

                                                                                                                               98

32072H–AVR32–10/2012
                      AT32UC3A3

                      pipeline stall, which prevents the interrupt from accidentally re-triggering in case the handler is

                      exited and the interrupt mask is cleared before the interrupt request is cleared.

                                                                                                                           99

32072H–AVR32–10/2012
                                                                                 AT32UC3A3

10.6   User Interface

Table 10-1.  INTC     Register Memory Map

Offset                 Register                       Register Name  Access      Reset

0x000                 Interrupt Priority Register 0   IPR0           Read/Write  0x00000000

0x004                 Interrupt Priority Register 1   IPR1           Read/Write  0x00000000

...                    ...                            ...            ...         ...

0x0FC                 Interrupt Priority Register 63  IPR63          Read/Write  0x00000000

0x100                 Interrupt Request Register 0    IRR0           Read-only   N/A

0x104                 Interrupt Request Register 1    IRR1           Read-only   N/A

...                    ...                            ...            ...         ...

0x1FC                 Interrupt Request Register 63   IRR63          Read-only   N/A

0x200                 Interrupt Cause Register 3      ICR3           Read-only   N/A

0x204                 Interrupt Cause Register 2      ICR2           Read-only   N/A

0x208                 Interrupt Cause Register 1      ICR1           Read-only   N/A

0x20C                 Interrupt Cause Register 0      ICR0           Read-only   N/A

                                                                                             100

32072H–AVR32–10/2012
                                                                                                                             AT32UC3A3

10.6.1      Interrupt Priority Registers

Name:                 IPR0...IPR63

Access Type:          Read/Write

Offset:               0x000 - 0x0FC

Reset Value:          0x00000000

        31            30                29  28  27                                                      26                   25                 24

            INTLEVEL                    -   -   -                                                       -                    -                  -

        23            22                21  20  19                                                      18                   17                 16

         -            -                 -   -   -                                                       -                    -                  -

        15            14                13  12  11                                                      10                   9                  8

         -            -                         AUTOVECTOR[13:8]

         7            6                 5   4   3                                                       2                    1                  0

                                            AUTOVECTOR[7:0]

•  INTLEVEL: Interrupt Level

            Indicates the EVBA-relative offset of the interrupt handler of the corresponding group:

            00: INT0: Lowest priority

            01: INT1

            10: INT2

            11: INT3: Highest priority

•  AUTOVECTOR: Autovector Address

            Handler offset is used to give the address of the interrupt handler. The least significant      bit  should  be  written  to  zero  to give

            halfword alignment.

                                                                                                                                                         101

32072H–AVR32–10/2012
                                                                                                             AT32UC3A3

10.6.2      Interrupt Request Registers

Name:                 IRR0...IRR63

Access Type:          Read-only

Offset:               0x0FF - 0x1FC

Reset Value:          N/A

        31            30             29                     28  27                             26            25            24

   IRR[32*x+31]  IRR[32*x+30]      IRR[32*x+29]  IRR[32*x+28]   IRR[32*x+27]                   IRR[32*x+26]  IRR[32*x+25]  IRR[32*x+24]

        23            22             21                     20  19                             18            17            16

   IRR[32*x+23]  IRR[32*x+22]      IRR[32*x+21]  IRR[32*x+20]   IRR[32*x+19]                   IRR[32*x+18]  IRR[32*x+17]  IRR[32*x+16]

        15            14             13                     12  11                             10            9             8

   IRR[32*x+15]  IRR[32*x+14]      IRR[32*x+13]  IRR[32*x+12]   IRR[32*x+11]                   IRR[32*x+10]  IRR[32*x+9]   IRR[32*x+8]

         7            6              5                      4   3                              2             1             0

   IRR[32*x+7]        IRR[32*x+6]  IRR[32*x+5]   IRR[32*x+4]    IRR[32*x+3]                    IRR[32*x+2]   IRR[32*x+1]   IRR[32*x+0]

•  IRR: Interrupt Request line

         This bit is cleared when no interrupt request is pending on this input request line.

         This bit is set when an interrupt request is pending on this input request line.

         The are 64 IRRs, one for each group. Each IRR has 32 bits, one for each possible interrupt request, for a total of 2048 possible

         input lines. The IRRs are read by the software interrupt handler in order to determine which interrupt request is pending. The

         IRRs are sampled continuously, and are read-only.

                                                                                                                                           102

32072H–AVR32–10/2012
                                                                                                                              AT32UC3A3

10.6.3      Interrupt Cause Registers

Name:                 ICR0...ICR3

Access Type:          Read-only

Offset:               0x200 - 0x20C

Reset Value:          N/A

        31            30                          29  28                      27         26                                   25  24

         -            -                           -        -                  -          -                                    -   -

        23            22                          21  20                      19         18                                   17  16

         -            -                           -        -                  -          -                                    -   -

        15            14                          13  12                      11         10                                   9   8

         -            -                           -        -                  -          -                                    -   -

         7            6                           5        4                  3          2                                    1   0

         -            -                                                           CAUSE

•  CAUSE: Interrupt Group Causing Interrupt of Priority n

            ICRn identifies the group with the highest priority that  has  a  pending interrupt of level n.  This  value  is  only defined when at least

            one interrupt of level n is pending.

                                                                                                                                      103

32072H–AVR32–10/2012
                                                                                               AT32UC3A3

10.7  Interrupt       Request Signal Map

                      The various modules may output Interrupt request signals. These signals are routed to the Inter-

                      rupt Controller (INTC), described in a later chapter. The Interrupt Controller supports up to 64

                      groups of interrupt requests. Each group can have up to 32 interrupt request signals. All interrupt

                      signals in the same group share the same autovector address and priority level. Refer to the

                      documentation for the individual submodules for a description of the semantics of the different

                      interrupt requests.

                      The interrupt request signals are connected to the INTC as follows.

                      Table 10-2.  Interrupt Request  Signal Map

                      Group                Line       Module                                   Signal

                      0                    0          CPU with optional MPU and optional OCD   SYSREG

                                                                                               COMPARE

                                           0          External Interrupt Controller            EIC 0

                                           1          External Interrupt Controller            EIC 1

                                           2          External Interrupt Controller            EIC 2

                                           3          External Interrupt Controller            EIC 3

                                           4          External Interrupt Controller            EIC 4

                      1

                                           5          External Interrupt Controller            EIC 5

                                           6          External Interrupt Controller            EIC 6

                                           7          External Interrupt Controller            EIC 7

                                           8          Real Time Counter                        RTC

                                           9          Power Manager                            PM

                                           0          General Purpose Input/Output Controller  GPIO 0

                                           1          General Purpose Input/Output Controller  GPIO 1

                                           2          General Purpose Input/Output Controller  GPIO 2

                                           3          General Purpose Input/Output Controller  GPIO 3

                                           4          General Purpose Input/Output Controller  GPIO 4

                                           5          General Purpose Input/Output Controller  GPIO 5

                                           6          General Purpose Input/Output Controller  GPIO 6

                      2

                                           7          General Purpose Input/Output Controller  GPIO 7

                                           8          General Purpose Input/Output Controller  GPIO 8

                                           9          General Purpose Input/Output Controller  GPIO 9

                                           10         General Purpose Input/Output Controller  GPIO 10

                                           11         General Purpose Input/Output Controller  GPIO 11

                                           12         General Purpose Input/Output Controller  GPIO 12

                                           13         General Purpose Input/Output Controller  GPIO 13

                                                                                                                           104

32072H–AVR32–10/2012
                                                                                            AT32UC3A3

                      Table  10-2.  Interrupt  Request  Signal Map

                                               0        Peripheral DMA Controller           PDCA 0

                                               1        Peripheral DMA Controller           PDCA 1

                                               2        Peripheral DMA Controller           PDCA 2

                                               3        Peripheral DMA Controller           PDCA 3

                             3

                                               4        Peripheral DMA Controller           PDCA 4

                                               5        Peripheral DMA Controller           PDCA 5

                                               6        Peripheral DMA Controller           PDCA 6

                                               7        Peripheral DMA Controller           PDCA 7

                             4                 0        Flash Controller                    FLASHC

                             5                 0        Universal Synchronous/Asynchronous  USART0

                                                        Receiver/Transmitter

                             6                 0        Universal Synchronous/Asynchronous  USART1

                                                        Receiver/Transmitter

                             7                 0        Universal Synchronous/Asynchronous  USART2

                                                        Receiver/Transmitter

                             8                 0        Universal Synchronous/Asynchronous  USART3

                                                        Receiver/Transmitter

                             9                 0        Serial Peripheral Interface         SPI0

                             10                0        Serial Peripheral Interface         SPI1

                             11                0        Two-wire Master Interface           TWIM0

                             12                0        Two-wire Master Interface           TWIM1

                             13                0        Synchronous Serial Controller       SSC

                                               0        Timer/Counter                       TC00

                             14                1        Timer/Counter                       TC01

                                               2        Timer/Counter                       TC02

                             15                0        Analog to Digital Converter         ADC

                                               0        Timer/Counter                       TC10

                             16                1        Timer/Counter                       TC11

                                               2        Timer/Counter                       TC12

                             17                0        USB 2.0 OTG Interface               USBB

                             18                0        SDRAM Controller                    SDRAMC

                             19                0        Audio Bitstream DAC                 ABDAC

                             20                0        Mulitmedia Card Interface           MCI

                             21                0        Advanced Encryption Standard        AES

                                                                                                    105

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

                      Table  10-2.  Interrupt  Request  Signal Map

                                               0        DMA Controller                           DMACA BLOCK

                                               1        DMA Controller                           DMACA DSTT

                             22                2        DMA Controller                           DMACA ERR

                                               3        DMA Controller                           DMACA SRCT

                                               4        DMA Controller                           DMACA TFR

                             26                0        Memory Stick Interface                   MSI

                             27                0        Two-wire Slave Interface                 TWIS0

                             28                0        Two-wire Slave Interface                 TWIS1

                             29                0        Error code corrector Hamming  and  Reed  ECCHRS

                                                        Solomon

                                                                                                              106

32072H–AVR32–10/2012
                                                                                                   AT32UC3A3

11. External Interrupt Controller (EIC)

                      Rev: 2.4.0.0

11.1  Features

                      •  Dedicated interrupt request for each interrupt

                      •  Individually maskable interrupts

                      •  Interrupt on rising or falling edge

                      •  Interrupt on high or low level

                      •  Asynchronous interrupts for sleep modes without clock

                      •  Filtering of interrupt lines

                      •  Maskable NMI interrupt

                      •  Keypad scan support

11.2  Overview

                      The External Interrupt Controller (EIC) allows pins to be configured as external interrupts. Each

                      external interrupt has its own interrupt request and can be individually masked. Each external

                      interrupt can generate an interrupt on rising or falling edge, or high or low level. Every interrupt

                      input has a configurable filter to remove spikes from the interrupt source. Every interrupt pin can

                      also be configured to be asynchronous in order to wake up the part from sleep modes where the

                      CLK_SYNC clock has been disabled.

                      A Non-Maskable Interrupt (NMI) is also supported. This has the same properties as the other

                      external interrupts, but is connected to the NMI request of the CPU, enabling it to interrupt any

                      other interrupt mode.

                      The EIC can wake up the part from sleep modes without triggering an interrupt. In this mode,

                      code execution starts from the instruction following the sleep instruction.

                      The External Interrupt Controller has support for keypad scanning for keypads laid out in rows

                      and columns. Columns are driven by a separate set of scanning outputs, while rows are sensed

                      by the external interrupt lines. The pressed key will trigger an interrupt, which can be identified

                      through the user registers of the module.

                                                                                                                            107

32072H–AVR32–10/2012
                                                                                                                  AT32UC3A3

11.3    Block Diagram

Figure  11-1.  EIC Block Diagram

                                                LEVEL

                                                MODE                                 ASYNC

                                                EDGE

                                   EN           P o la rity                    A synchron     u  s          IC R  IE R

                                   D IS         co n tro l                     d e te cto r                 CTRL  ID R

                               E   nabl  e                                     LEVEL                  IN T n      M ask      IR Q n

                                                F IL T E R                     MODE

        E      XT  IN T  n                                                     EDGE

               N   MI                                                                                       IS R  IM R

                                   CTRL         F ilte r                Ed     g e /L e ve l

                                                                            D  e te cto r

                                                                                                                  W ake      E IC _ W A K E

                         C  L  K_  SYNC                                                                           d e te ct

                         C  L  K_  RCSY  S

                                            P   re s c a le r                  S h ifte r                         SCANm

                                                               P  R  E  SC            EN              P IN

                                                                                     SCAN

11.4    I/O Lines Description

                                   Table 11-1.  I/O Lines Description

                                   Pin Name     Pin Description                               Type

                                   NMI          Non-Maskable Interrupt                        Input

                                   EXTINTn      External Interrupt                            Input

                                   SCANm        Keypad scan pin m                             Output

11.5    Product Dependencies

                                   In order to use this module, other parts of the system must be configured correctly, as described

                                   below.

11.5.1  I/O Lines

                                   The external interrupt pins (EXTINTn and NMI) are multiplexed with I/O lines. To generate an

                                   external interrupt from an external source the source pin must be configured as an input pins by

                                   the I/O Controller. It is also possible to trigger the interrupt by driving these pins from registers in

                                   the I/O Controller, or another peripheral output connected to the same pin.

11.5.2  Power Management

                                   All interrupts are available in all sleep modes as long as the EIC module is powered. However, in

                                   sleep modes where CLK_SYNC is stopped, the interrupt must be configured to asynchronous

                                   mode.

                                                                                                                                             108

32072H–AVR32–10/2012
                                                                                                    AT32UC3A3

11.5.3  Clocks

                      The clock for the EIC bus interface (CLK_EIC) is generated by the Power Manager. This clock is

                      enabled at reset, and can be disabled in the Power Manager.

                      The filter and synchronous edge/level detector runs on a clock which is stopped in any of the

                      sleep modes where the system RC oscillator is not running. This clock is referred to as

                      CLK_SYNC. Refer to the Module Configuration section at the end of this chapter for details.

                      The Keypad scan function operates on the system RC oscillator clock CLK_RCSYS.

11.5.4  Interrupts

                      The external interrupt request lines are connected to the interrupt controller. Using the external

                      interrupts requires the interrupt controller to be programmed first.

                      Using the Non-Maskable Interrupt does not require the interrupt controller to be programmed.

11.5.5  Debug Operation

                      The EIC is frozen during debug operation, unless the OCD system keeps peripherals running

                      during debug operation.

11.6    Functional Description

11.6.1  External      Interrupts

                      The external interrupts are not enabled by default, allowing the proper interrupt vectors to be set

                      up by the CPU before the interrupts are enabled.

                      Each external interrupt INTn can be configured to produce an interrupt on rising or falling edge,

                      or high or low level. External interrupts are configured by the MODE, EDGE, and LEVEL regis-

                      ters. Each interrupt n has a bit INTn in each of these registers. Writing a zero to the INTn bit in

                      the MODE register enables edge triggered interrupts, while writing a one to the bit enables level

                      triggered interrupts.

                      If INTn is configured as an edge triggered interrupt, writing a zero to the INTn bit in the EDGE

                      register will cause the interrupt to be triggered on a falling edge on EXTINTn, while writing a one

                      to the bit will cause the interrupt to be triggered on a rising edge on EXTINTn.

                      If INTn is configured as a level triggered interrupt, writing a zero to the INTn bit in the LEVEL

                      register will cause the interrupt to be triggered on a low level on EXTINTn, while writing a one to

                      the bit will cause the interrupt to be triggered on a high level on EXTINTn.

                      Each interrupt has a corresponding bit in each of the interrupt control and status registers. Writ-

                      ing a one to the INTn bit in the Interrupt Enable Register (IER) enables the external interrupt

                      from pin EXTINTn to propagate from the EIC to the interrupt controller, while writing a one to

                      INTn bit in the Interrupt Disable Register (IDR) disables this propagation. The Interrupt Mask

                      Register (IMR) can be read to check which interrupts are enabled. When an interrupt triggers,

                      the corresponding bit in the Interrupt Status Register (ISR) will be set. This bit remains set until a

                      one is written to the corresponding bit in the Interrupt Clear Register (ICR) or the interrupt is

                      disabled.

                      Writing a one to the INTn bit in the Enable Register (EN) enables the external interrupt on pin

                      EXTINTn, while writing a one to INTn bit in the Disable Register (DIS) disables the external inter-

                      rupt. The Control Register (CTRL) can be read to check which interrupts are enabled. If a bit in

                      the CTRL register is set, but the corresponding bit in IMR is not set, an interrupt will not propa-

                                                                                                                              109

32072H–AVR32–10/2012
                                                                                          AT32UC3A3

                       gate to the interrupt controller. However, the corresponding bit in ISR will be set, and

                       EIC_WAKE will be set.

                       If the CTRL.INTn bit is zero, then the corresponding bit in ISR will always be zero. Disabling an

                       external interrupt by writing to the DIS.INTn bit will clear the corresponding bit in ISR.

11.6.2  Synchronization and Filtering of External Interrupts

                       In synchronous mode the pin value of the EXTINTn pin is synchronized to CLK_SYNC, so

                       spikes shorter than one CLK_SYNC cycle are not guaranteed to produce an interrupt. The syn-

                       chronization of the EXTINTn to CLK_SYNC will delay the propagation of the interrupt to the

                       interrupt controller by two cycles of CLK_SYNC, see Figure 11-2 on page 110 and Figure 11-3

                       on page 110 for examples (FILTER off).

                       It is also possible to apply a filter on EXTINTn by writing a one to INTn bit in the FILTER register.

                       This filter is a majority voter, if the condition for an interrupt is true for more than one of the latest

                       three cycles of CLK_SYNC the interrupt will be set. This will additionally delay the propagation of

                       the interrupt to the interrupt controller by one or two cycles of CLK_SYNC, see Figure 11-2 on

                       page 110 and Figure 11-3 on page 110 for examples (FILTER on).

Figure  11-2.  Timing Diagram, Synchronous Interrupts, High Level or Rising Edge

CLK_SYNC

EXTINTn/NMI

ISR.INTn:

FILTER off

ISR.INTn:

FILTER on

Figure 11-3.   Timing  Diagram,  Synchronous  Interrupts,  Low  Level  or  Falling  Edge

CLK_SYNC

EXTINTn/NMI

ISR.INTn:

FILTER off

ISR.INTn:

FILTER on

                                                                                                                                   110

32072H–AVR32–10/2012
                                                                                               AT32UC3A3

11.6.3  Non-Maskable Interrupt

                      The NMI supports the same features as the external interrupts, and is accessed through the

                      same registers. The description in Section 11.6.1 should be followed, accessing the NMI bit

                      instead of the INTn bits.

                      The NMI is non-maskable within the CPU in the sense that it can interrupt any other execution

                      mode. Still, as for the other external interrupts, the actual NMI input can be enabled and disabled

                      by accessing the registers in the EIC.

11.6.4  Asynchronous Interrupts

                      Each external interrupt can be made asynchronous by writing a one to INTn in the ASYNC reg-

                      ister. This will route the interrupt signal through the asynchronous path of the module. All edge

                      interrupts will be interpreted as level interrupts and the filter is disabled. If an interrupt is config-

                      ured as edge triggered interrupt in asynchronous mode, a zero in EDGE.INTn will be interpreted

                      as low level, and a one in EDGE.INTn will be interpreted as high level.

                      EIC_WAKE will be set immediately after the source triggers the interrupt, while the correspond-

                      ing bit in ISR and the interrupt to the interrupt controller will be set on the next rising edge of

                      CLK_SYNC. Please refere to Figure 11-4 on page 111 for details.

                      When CLK_SYNC is stopped only asynchronous interrupts remain active, and any short spike

                      on this interrupt will wake up the device. EIC_WAKE will restart CLK_SYNC and ISR will be

                      updated on the first rising edge of CLK_SYNC.

Figure  11-4.  Timing Diagram, Asynchronous Interrupts

                      CLK_SYNC                                       CLK_SYNC

                      EXTINTn/NMI                                    EXTINTn/NMI

                      ISR.INTn:                                      ISR.INTn:

                      rising EDGE or high                            rising EDGE or high

                      LEVEL                                          LEVEL

                      EIC_WAKE:                                      EIC_WAKE:

                      rising EDGE or high                            rising EDGE or high

                      LEVEL                                          LEVEL

11.6.5  Wakeup

                      The external interrupts can be used to wake up the part from sleep modes. The wakeup can be

                      interpreted in two ways. If the corresponding bit in IMR is one, then the execution starts at the

                      interrupt handler for this interrupt. If the bit in IMR is zero, then the execution starts from the next

                      instruction after the sleep instruction.

                                                                                                                                 111

32072H–AVR32–10/2012
                                                                                            AT32UC3A3

11.6.6  Keypad        scan  support

                            The External Interrupt Controller also includes support for keypad scanning. The keypad scan

                            feature is compatible with keypads organized as rows and columns, where a row is shorted

                            against a column when a key is pressed.

                            The rows should be connected to the external interrupt pins with pull-ups enabled in the I/O Con-

                            troller. These external interrupts should be enabled as low level or falling edge interrupts. The

                            columns should be connected to the available scan pins. The I/O Controller must be configured

                            to let the required scan pins be controlled by the EIC. Unused external interrupt or scan pins can

                            be left controlled by the I/O Controller or other peripherals.

                            The Keypad Scan function is enabled by writing SCAN.EN to 1, which starts the keypad scan

                            counter. The SCAN outputs are tri-stated, except SCAN[0], which is driven to zero. After

                            2(SCAN.PRESC+1) RC clock cycles this pattern is left shifted, so that SCAN[1] is driven to zero while

                            the other outputs are tri-stated. This sequence repeats infinitely, wrapping from the most signifi-

                            cant SCAN pin to SCAN[0].

                            When a key is pressed, the pulled-up row is driven to zero by the column, and an external inter-

                            rupt triggers. The scanning stops, and the software can then identify the key pressed by the

                            interrupt status register and the SCAN.PINS value.

                            The scanning stops whenever there is an active interrupt request from the EIC to the CPU.

                            When the CPU clears the interrupt flags, scanning resumes.

                                                                                                                                   112

32072H–AVR32–10/2012
                                                                                   AT32UC3A3

11.7  User Interface

Table 11-2.   EIC Register  Memory Map

      Offset                Register                    Register Name  Access      Reset

      0x000                 Interrupt Enable Register   IER            Write-only  0x00000000

      0x004                 Interrupt Disable Register  IDR            Write-only  0x00000000

      0x008                 Interrupt Mask Register     IMR            Read-only   0x00000000

      0x00C                 Interrupt Status Register   ISR            Read-only   0x00000000

      0x010                 Interrupt Clear Register    ICR            Write-only  0x00000000

      0x014                 Mode Register               MODE           Read/Write  0x00000000

      0x018                 Edge Register               EDGE           Read/Write  0x00000000

      0x01C                 Level Register              LEVEL          Read/Write  0x00000000

      0x020                 Filter Register             FILTER         Read/Write  0x00000000

      0x024                 Test Register               TEST           Read/Write  0x00000000

      0x028                 Asynchronous Register       ASYNC          Read/Write  0x00000000

      0x2C                  Scan Register               SCAN           Read/Write  0x00000000

      0x030                 Enable Register             EN             Write-only  0x00000000

      0x034                 Disable Register            DIS            Write-only  0x00000000

      0x038                 Control Register            CTRL           Read-only   0x00000000

                                                                                               113

32072H–AVR32–10/2012
                                                                                                AT32UC3A3

11.7.1      Interrupt Enable Register

Name:                 IER

Access Type:          Write-only

Offset:               0x000

Reset Value:          0x00000000

        31            30               29              28                       27    26    25    24

         -            -                -               -                        -     -     -     -

        23            22               21              20                       19    18    17    16

         -            -                -               -                        -     -     -     -

        15            14               13              12                       11    10    9     8

         -            -                -               -                        -     -     -     NMI

        7             6                5               4                        3     2     1     0

   INT7               INT6        INT5                 INT4                     INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            Writing a zero to this bit has no effect.

            Writing a one to this bit will set the corresponding bit  in  IMR.

•  NMI: Non-Maskable Interrupt

            Writing a zero to this bit has no effect.

            Writing a one to this bit will set the corresponding bit  in  IMR.

                                                                                                        114

32072H–AVR32–10/2012
                                                                                                  AT32UC3A3

11.7.2      Interrupt Disable Register

Name:                 IDR

Access Type:          Write-only

Offset:               0x004

Reset Value:          0x00000000

        31            30          29                   28                         27    26    25    24

         -            -                 -              -                          -     -     -     -

        23            22          21                   20                         19    18    17    16

         -            -                 -              -                          -     -     -     -

        15            14          13                   12                         11    10    9     8

         -            -                 -              -                          -     -     -     NMI

        7             6           5                    4                          3     2     1     0

   INT7               INT6        INT5                 INT4                       INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            Writing a zero to this bit has no effect.

            Writing a one to this bit will clear the corresponding bit  in  IMR.

•  NMI: Non-Maskable Interrupt

            Writing a zero to this bit has no effect.

            Writing a one to this bit will clear the corresponding bit  in  IMR.

                                                                                                          115

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

11.7.3      Interrupt Mask Register

Name:                 IMR

Access Type:          Read-only

Offset:               0x008

Reset Value:          0x00000000

        31            30             29                        28                  27  26    25    24

         -            -              -                         -                   -   -     -     -

        23            22             21                        20                  19  18    17    16

         -            -              -                         -                   -   -     -     -

        15            14             13                        12                  11  10    9     8

         -            -              -                         -                   -   -     -     NMI

        7             6              5                         4                   3   2     1     0

   INT7               INT6           INT5                      INT4  INT3              INT2  INT1  INT0

•  INTn: External Interrupt n

            0: The corresponding interrupt is disabled.

            1: The corresponding interrupt is enabled.

            This bit is cleared when the corresponding bit in  IDR is written to one.

            This bit is set when the corresponding bit in IER  is written to one.

•  NMI: Non-Maskable Interrupt

            0: The Non-Maskable Interrupt is disabled.

            1: The Non-Maskable Interrupt is enabled.

            This bit is cleared when the corresponding bit in  IDR is written to one.

            This bit is set when the corresponding bit in IER  is written to one.

                                                                                                         116

32072H–AVR32–10/2012
                                                                                                 AT32UC3A3

11.7.4      Interrupt Status Register

Name:                 ISR

Access Type:          Read-only

Offset:               0x00C

Reset Value:          0x00000000

        31            30               29                28                      27    26    25    24

         -            -                -                 -                       -     -     -     -

        23            22               21                20                      19    18    17    16

         -            -                -                 -                       -     -     -     -

        15            14               13                12                      11    10    9     8

         -            -                -                 -                       -     -     -     NMI

        7             6                5                 4                       3     2     1     0

   INT7               INT6        INT5                   INT4                    INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            0: An interrupt event has not occurred

            1: An interrupt event has occurred

            This bit is cleared by writing a one to the  corresponding  bit  in  ICR.

•  NMI: Non-Maskable Interrupt

            0: An interrupt event has not occurred

            1: An interrupt event has occurred

            This bit is cleared by writing a one to the  corresponding  bit  in  ICR.

                                                                                                         117

32072H–AVR32–10/2012
                                                                                                  AT32UC3A3

11.7.5      Interrupt Clear Register

Name:                 ICR

Access Type:          Write-only

Offset:               0x010

Reset Value:          0x00000000

        31            30              29               28                         27    26    25    24

         -            -               -                -                          -     -     -     -

        23            22              21               20                         19    18    17    16

         -            -               -                -                          -     -     -     -

        15            14              13               12                         11    10    9     8

         -            -               -                -                          -     -     -     NMI

        7             6               5                4                          3     2     1     0

   INT7               INT6            INT5             INT4                       INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            Writing a zero to this bit has no effect.

            Writing a one to this bit will clear the corresponding bit  in  ISR.

•  NMI: Non-Maskable Interrupt

            Writing a zero to this bit has no effect.

            Writing a one to this bit will clear the corresponding bit  in  ISR.

                                                                                                          118

32072H–AVR32–10/2012
                                                                                     AT32UC3A3

11.7.6      Mode Register

Name:                 MODE

Access Type:          Read/Write

Offset:               0x014

Reset Value:          0x00000000

        31            30          29                           28    27    26    25    24

         -            -           -                            -     -     -     -     -

        23            22          21                           20    19    18    17    16

         -            -           -                            -     -     -     -     -

        15            14          13                           12    11    10    9     8

         -            -           -                            -     -     -     -     NMI

        7             6           5                            4     3     2     1     0

   INT7               INT6        INT5                         INT4  INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            0: The external interrupt is edge triggered.

            1: The external interrupt is level triggered.

•  NMI: Non-Maskable Interrupt

            0: The Non-Maskable Interrupt is edge triggered.

            1: The Non-Maskable Interrupt is level triggered.

                                                                                             119

32072H–AVR32–10/2012
                                                                                       AT32UC3A3

11.7.7      Edge Register

Name:                 EDGE

Access Type:          Read/Write

Offset:               0x018

Reset Value:          0x00000000

        31            30          29                             28    27    26    25    24

         -            -           -                              -     -     -     -     -

        23            22          21                             20    19    18    17    16

         -            -           -                              -     -     -     -     -

        15            14          13                             12    11    10    9     8

         -            -           -                              -     -     -     -     NMI

        7             6           5                              4     3     2     1     0

   INT7               INT6        INT5                           INT4  INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            0: The external interrupt triggers on falling edge.

            1: The external interrupt triggers on rising edge.

•  NMI: Non-Maskable Interrupt

            0: The Non-Maskable Interrupt triggers on falling edge.

            1: The Non-Maskable Interrupt triggers on rising edge.

                                                                                               120

32072H–AVR32–10/2012
                                                                                     AT32UC3A3

11.7.8      Level Register

Name:                 LEVEL

Access Type:          Read/Write

Offset:               0x01C

Reset Value:          0x00000000

        31            30          29                           28    27    26    25    24

         -            -           -                            -     -     -     -     -

        23            22          21                           20    19    18    17    16

         -            -           -                            -     -     -     -     -

        15            14          13                           12    11    10    9     8

         -            -           -                            -     -     -     -     NMI

        7             6           5                            4     3     2     1     0

   INT7               INT6        INT5                         INT4  INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            0: The external interrupt triggers on low level.

            1: The external interrupt triggers on high level.

•  NMI: Non-Maskable Interrupt

            0: The Non-Maskable Interrupt triggers on low level.

            1: The Non-Maskable Interrupt triggers on high level.

                                                                                             121

32072H–AVR32–10/2012
                                                                                  AT32UC3A3

11.7.9      Filter Register

Name:                 FILTER

Access Type:          Read/Write

Offset:               0x020

Reset Value:          0x00000000

        31            30          29                        28    27    26    25    24

         -            -           -                         -     -     -     -     -

        23            22          21                        20    19    18    17    16

         -            -           -                         -     -     -     -     -

        15            14          13                        12    11    10    9     8

         -            -           -                         -     -     -     -     NMI

        7             6           5                         4     3     2     1     0

   INT7               INT6        INT5                      INT4  INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            0: The external interrupt is not filtered.

            1: The external interrupt is filtered.

•  NMI: Non-Maskable Interrupt

            0: The Non-Maskable Interrupt is not filtered.

            1: The Non-Maskable Interrupt is filtered.

                                                                                          122

32072H–AVR32–10/2012
                                                                                                                        AT32UC3A3

11.7.10     Test Register

Name:                   TEST

Access Type:            Read/Write

Offset:                 0x024

Reset Value:            0x00000000

   31                 30            29                          28                27             26                 25    24

         -              -           -                           -                 -              -                  -     -

   23                 22            21                          20                19             18                 17    16

         -              -           -                           -                 -              -                  -     -

   15                 14            13                          12                11             10                 9     8

         -              -           -                           -                 -              -                  -     NMI

       7              6             5                           4                 3              2                  1     0

   INT7               INT6          INT5                        INT4              INT3           INT2               INT1  INT0

•  TESTEN: Test Enable

            0: This bit disables external interrupt test mode.

            1: This bit enables external interrupt test mode.

•  INTn: External Interrupt n

            If TESTEN is 1, the value written to this bit will be the  value  to  the interrupt  detector and  the  value on the pad will be ignored.

•  NMI: Non-Maskable Interrupt

            If TESTEN is 1, the value written to this bit will be the  value  to  the interrupt  detector and  the  value on the pad will be ignored.

                                                                                                                                                       123

32072H–AVR32–10/2012
                                                                                       AT32UC3A3

11.7.11     Asynchronous Register

Name:                 ASYNC

Access Type:          Read/Write

Offset:               0x028

Reset Value:          0x00000000

   31                 30           29                       28         27    26    25    24

         -            -            -                        -          -     -     -     -

   23                 22           21                       20         19    18    17    16

         -            -            -                        -          -     -     -     -

   15                 14           13                       12         11    10    9     8

         -            -            -                        -          -     -     -     NMI

       7              6            5                        4          3     2     1     0

   INT7               INT6         INT5                     INT4       INT3  INT2  INT1  INT0

•  INTn: External Interrupt n

            0: The external interrupt is synchronized to CLK_SYNC.

            1: The external interrupt is asynchronous.

•  NMI: Non-Maskable Interrupt

            0: The Non-Maskable Interrupt is synchronized to CLK_SYNC

            1: The Non-Maskable Interrupt is asynchronous.

                                                                                               124

32072H–AVR32–10/2012
                                                                                                                 AT32UC3A3

11.7.12     Scan Register

Name:                 SCAN

Access Type:          Read/Write

Offset:               0x2C

Reset Value:          0x0000000

        31            30                     29        28  27                                    26          25        24

         -            -                      -         -   -                                                 PIN[2:0]

        23            22                     21        20  19                                    18          17        16

         -            -                      -         -   -                                     -           -         -

        15            14                     13        12  11                                    10          9         8

         -            -                      -                                                   PRESC[4:0]

        7             6                      5         4   3                                     2           1         0

         -            -                      -         -   -                                     -           -         EN

•  EN

            0: Keypad scanning is disabled

            1: Keypad scanning is enabled

•  PRESC

            Prescale select for the keypad scan rate:

            Scan rate = 2(SCAN.PRESC+1) TRC

            The RC clock period can be found in the Electrical Characteristics section.

•  PIN

            The index of the currently active scan pin. Writing to this bitfield has no effect.

                                                                                                                           125

32072H–AVR32–10/2012
                                                                                                     AT32UC3A3

11.7.13     Enable Register

Name:                 EN

Access Type:          Write-only

Offset:               0x030

Reset Value:          0x00000000

   31                 30          29                   28                         27       26    25    24

         -            -           -                    -                          -        -     -     -

   23                 22          21                   20                         19       18    17    16

         -            -           -                    -                          -        -     -     -

   15                 14          13                   12                         11       10    9     8

         -            -           -                    -                          -        -     -     NMI

       7              6           5                    4                          3        2     1     0

   INT7               INT6        INT5                 INT4                       INT3     INT2  INT1  INT0

•  INTn: External Interrupt n

            Writing a zero to this bit has no effect.

            Writing a one to this bit will enable the  corresponding  external interrupt.

•  NMI: Non-Maskable Interrupt

            Writing a zero to this bit has no effect.

            Writing a one to this bit will enable the  Non-Maskable   Interrupt.

                                                                                                             126

32072H–AVR32–10/2012
                                                                                                      AT32UC3A3

11.7.14     Disable Register

Name:                 DIS

Access Type:          Write-only

Offset:               0x034

Reset Value:          0x00000000

   31                 30          29                    28                         27       26    25    24

         -            -           -                     -                          -        -     -     -

   23                 22          21                    20                         19       18    17    16

         -            -           -                     -                          -        -     -     -

   15                 14          13                    12                         11       10    9     8

         -            -           -                     -                          -        -     -     NMI

       7              6           5                     4                          3        2     1     0

   INT7               INT6        INT5                  INT4                       INT3     INT2  INT1  INT0

•  INTn: External Interrupt n

            Writing a zero to this bit has no effect.

            Writing a one to this bit will disable the  corresponding  external interrupt.

•  NMI: Non-Maskable Interrupt

            Writing a zero to this bit has no effect.

            Writing a one to this bit will disable the  Non-Maskable   Interrupt.

        &nb