ATmega328P Automotive Atmel Corporation, ATmega328P Automotive Datasheet - Page 59

no-image

ATmega328P Automotive

Manufacturer Part Number
ATmega328P Automotive
Description
Manufacturer
Atmel Corporation

Specifications of ATmega328P Automotive

Flash (kbytes)
32 Kbytes
Pin Count
32
Max. Operating Frequency
16 MHz
Cpu
8-bit AVR
# Of Touch Channels
16
Hardware Qtouch Acquisition
No
Max I/o Pins
23
Ext Interrupts
24
Usb Speed
No
Usb Interface
No
Spi
2
Twi (i2c)
1
Uart
1
Graphic Lcd
No
Video Decoder
No
Camera Interface
No
Adc Channels
8
Adc Resolution (bits)
10
Adc Speed (ksps)
15
Analog Comparators
1
Resistive Touch Screen
No
Temp. Sensor
Yes
Crypto Engine
No
Sram (kbytes)
2
Eeprom (bytes)
1024
Self Program Memory
YES
Dram Memory
No
Nand Interface
No
Picopower
Yes
Temp. Range (deg C)
-40 to 125
I/o Supply Class
2.7 to 5.5
Operating Voltage (vcc)
2.7 to 5.5
Fpu
No
Mpu / Mmu
no / no
Timers
3
Output Compare Channels
6
Input Capture Channels
1
Pwm Channels
6
32khz Rtc
Yes
Calibrated Rc Oscillator
Yes
11.2
11.2.1
11.2.2
7810A–AVR–11/09
Register Description
Moving Interrupts Between Application and Boot Space, ATmega88P, ATmega168P and ATmega328P
MCUCR – MCU Control Register
The MCU Control Register controls the placement of the Interrupt Vector table.
• Bit 1 – IVSEL: Interrupt Vector Select
When the IVSEL bit is cleared (zero), the Interrupt Vectors are placed at the start of the Flash
memory. When this bit is set (one), the Interrupt Vectors are moved to the beginning of the Boot
Loader section of the Flash. The actual address of the start of the Boot Flash Section is deter-
mined by the BOOTSZ Fuses. Refer to the section
Self-Programming, ATmega88P, ATmega168P and ATmega328P” on page 271
avoid unintentional changes of Interrupt Vector tables, a special write procedure must be fol-
lowed to change the IVSEL bit:
Interrupts will automatically be disabled while this sequence is executed. Interrupts are disabled
in the cycle IVCE is set, and they remain disabled until after the instruction following the write to
IVSEL. If IVSEL is not written, interrupts remain disabled for four cycles. The I-bit in the Status
Register is unaffected by the automatic disabling.
Note:
This bit is not available in ATmega328P.
• Bit 0 – IVCE: Interrupt Vector Change Enable
Bit
0x35 (0x55)
Read/Write
Initial Value
0x3C04
...
0x3C32
;
0x3C33
0x3C34
0x3C35
0x3C36
0x3C37
0x3C38
a. Write the Interrupt Vector Change Enable (IVCE) bit to one.
b. Within four cycles, write the desired value to IVSEL while writing a zero to IVCE.
If Interrupt Vectors are placed in the Boot Loader section and Boot Lock bit BLB02 is programmed,
interrupts are disabled while executing from the Application section. If Interrupt Vectors are placed
in the Application section and Boot Lock bit BLB12 is programed, interrupts are disabled while
executing from the Boot Loader section. Refer to the section
Read-While-Write Self-Programming, ATmega88P, ATmega168P and ATmega328P” on page
271
for details on Boot Lock bits.
RESET: ldi
R
7
0
jmp
...
jmp
out
ldi
out
sei
<instr>
BODS
R
6
0
EXT_INT1
...
SPM_RDY
r16,high(RAMEND); Main program start
SPH,r16
r16,low(RAMEND)
SPL,r16
xxx
BODSE
R
5
0
PUD
R/W
ATmega328P [Preliminary]
4
0
; IRQ1 Handler
;
; Store Program Memory Ready Handler
; Set Stack Pointer to top of RAM
; Enable interrupts
“Boot Loader Support – Read-While-Write
R
3
0
“Boot Loader Support –
R
2
0
IVSEL
R/W
1
0
IVCE
R/W
0
0
for details. To
MCUCR
59

Related parts for ATmega328P Automotive