ATMEGA64M1-AU Atmel, ATMEGA64M1-AU Datasheet - Page 295

IC MCU AVR 64K FLASH 32TQFP

ATMEGA64M1-AU

Manufacturer Part Number
ATMEGA64M1-AU
Description
IC MCU AVR 64K FLASH 32TQFP
Manufacturer
Atmel
Series
AVR® ATmegar
Datasheets

Specifications of ATMEGA64M1-AU

Core Processor
AVR
Core Size
8-Bit
Speed
16MHz
Connectivity
CAN, LIN, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, Temp Sensor, WDT
Program Memory Size
64KB (32K x 16)
Program Memory Type
FLASH
Eeprom Size
2K x 8
Ram Size
4K x 8
Voltage - Supply (vcc/vdd)
2.7 V ~ 5.5 V
Data Converters
A/D 11x10b; D/A 1x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
32-TQFP, 32-VQFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Number Of I /o
-
Lead Free Status / Rohs Status
 Details

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA64M1-AU
Manufacturer:
Atmel
Quantity:
10 000
27.9.4
8209D–AVR–11/10
Programming the Flash
The Flash is organized in pages, see
the program data is latched into a page buffer. This allows one page of program data to be pro-
grammed simultaneously. The following procedure describes how to program the entire Flash
memory:
A. Load Command “Write Flash”
B. Load Address Low byte
C. Load Data Low Byte
D. Load Data High Byte
E. Latch Data
F. Repeat B through E until the entire buffer is filled or until all data within the page is loaded.
While the lower bits in the address are mapped to words within the page, the higher bits address
the pages within the FLASH. This is illustrated in
eight bits are required to address words in the page (pagesize <256), the most significant bit(s)
in the address low byte are used to address the page when performing a Page Write.
G. Load Address High byte
H. Program Page
5. Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low
6. Wait until RDY/BSY goes high before loading a new command
1. Set XA1, XA0 to “10”. This enables command loading
2. Set BS1 to “0”
3. Set DATA to “0001 0000”. This is the command for Write Flash
4. Give XTAL1 a positive pulse. This loads the command
1. Set XA1, XA0 to “00”. This enables address loading
2. Set BS1 to “0”. This selects low address
3. Set DATA = Address low byte (0x00 - 0xFF)
4. Give XTAL1 a positive pulse. This loads the address low byte
1. Set XA1, XA0 to “01”. This enables data loading
2. Set DATA = Data low byte (0x00 - 0xFF)
3. Give XTAL1 a positive pulse. This loads the data byte
1. Set BS1 to “1”. This selects high data byte
2. Set XA1, XA0 to “01”. This enables data loading
3. Set DATA = Data high byte (0x00 - 0xFF)
4. Give XTAL1 a positive pulse. This loads the data byte
1. Set BS1 to “1”. This selects high data byte
2. Give PAGEL a positive pulse. This latches the data bytes. See
1. Set XA1, XA0 to “00”. This enables address loading
2. Set BS1 to “1”. This selects high address
3. Set DATA = Address high byte (0x00 - 0xFF)
4. Give XTAL1 a positive pulse. This loads the address high byte
1. Give WR a negative pulse. This starts programming of the entire page of data.
2. Wait until RDY/BSY goes high (see
for signal waveforms
RDY/BSY goes low
Table 27-9 on page
Figure 27-3 on page 296
ATmega16M1/32M1/64M1
Figure 27-2 on page
291. When programming the Flash,
for signal waveforms)
Figure 27-3 on page 296
296. Note that if less than
295

Related parts for ATMEGA64M1-AU