ATmega329A Atmel Corporation, ATmega329A Datasheet - Page 206

no-image

ATmega329A

Manufacturer Part Number
ATmega329A
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of ATmega329A

Flash (kbytes)
32 Kbytes
Pin Count
64
Max. Operating Frequency
20 MHz
Cpu
8-bit AVR
# Of Touch Channels
16
Hardware Qtouch Acquisition
No
Max I/o Pins
54
Ext Interrupts
17
Usb Speed
No
Usb Interface
No
Spi
2
Twi (i2c)
1
Uart
1
Segment Lcd
100
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
No
Crypto Engine
No
Sram (kbytes)
2
Eeprom (bytes)
1024
Self Program Memory
YES
Dram Memory
No
Nand Interface
No
Picopower
No
Temp. Range (deg C)
-40 to 85
I/o Supply Class
1.8 to 5.5
Operating Voltage (vcc)
1.8 to 5.5
Fpu
No
Mpu / Mmu
no / no
Timers
3
Output Compare Channels
4
Input Capture Channels
1
Pwm Channels
4
32khz Rtc
Yes
Calibrated Rc Oscillator
Yes

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATmega329A-AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega329A-AUR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega329A-MUR
Manufacturer:
AT
Quantity:
20 000
21.3.2
8284D–AVR–6/11
SPI Master Operation Example
ATmega169A/PA/329A/PA/3290A/PA/649A/P/6490A/P
Figure 21-3. Three-wire Mode, Timing Diagram
The Three-wire mode timing is shown in
USCK cycle reference. One bit is shifted into the USI Shift Register (USIDR) for each of these
cycles. The USCK timing is shown for both external clock modes. In External Clock mode 0
(USICS0 = 0), DI is sampled at positive edges, and DO is changed (Data Register is shifted by
one) at negative edges. External Clock mode 1 (USICS0 = 1) uses the opposite edges versus
mode 0, i.e., samples data at negative and changes the output at positive edges. The USI clock
modes corresponds to the SPI data mode 0 and 1.
Referring to the timing diagram
steps:
1. The Slave device and Master device sets up its data output and, depending on the proto-
2. The Master generates a clock pulse by software toggling the USCK line twice (C and D).
3. Step 2. is repeated eight times for a complete register (byte) transfer.
4. After eight clock pulses (i.e., 16 clock edges) the counter will overflow and indicate that
The following code demonstrates how to use the USI module as a SPI Master:
col used, enables its output driver (mark A and B). The output is set up by writing the
data to be transmitted to the Serial Data Register. Enabling of the output is done by set-
ting the corresponding bit in the port Data Direction Register. Note that point A and B
does not have any specific order, but both must be at least one half USCK cycle before
point C where the data is sampled. This must be done to ensure that the data setup
requirement is satisfied. The 4-bit counter is reset to zero.
The bit value on the slave and master’s data input (DI) pin is sampled by the USI on the
first edge (C), and the data output is changed on the opposite edge (D). The 4-bit counter
will count both edges.
the transfer is completed. The data bytes transferred must now be processed before a
new transfer can be initiated. The overflow interrupt will wake up the processor if it is set
to Idle mode. Depending of the protocol used the slave device can now set its output to
high impedance.
SPITransfer:
SPITransfer_loop:
CYCLE
USCK
USCK
sts
ldi
sts
ldi
sts
lds
DO
DI
( Reference )
A
USIDR,r16
r16,(1<<USIOIF)
USISR,r16
r16,(1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC)
USICR,r16
r16, USISR
B
MSB
MSB
C
1
D
(Figure 21-3 on page
2
6
6
3
5
5
Figure 21-3 on page 206
4
4
4
206), a bus transfer involves the following
5
3
3
6
2
2
At the top of the figure is a
7
1
1
LSB
LSB
8
E
206

Related parts for ATmega329A