Issue
163 February 2004
The
Growth of the Atmel AVR Family
INSTRUCTION
SET
The
RISC instruction set is broken into five areas: arithmetic
and logic, branch, data movement, bit manipulation,
and CPU control. The instructions that manipulate data
use either direct addressing or indirect addressing.
The former is to a working register, I/O or extended
I/O register, or the SRAM. The latter is referenced
by a 16-bit register, 16-bit register with offset, or
16-bit register with a pre-execution decrement or a
post-execution increment of the register.
The
instructions that manipulate the program counter load
a new address either directly or indirectly (from a
working register pair). When instructions deal with
retrieving from or storing to the program memory (flash
memory), the 16-bit register pair Z is used. Because
program addresses are word-sized (16 bits), Z’s LSB
indicates which of the bytes within the word to deal
with.
Most
operations that deal with two registers can use any
of the 32 working registers (0–31). The operations that
include a constant (0–255) must use the upper 16 working
registers (16–31). For those devices with a hardware
multiply, the result of an 8-bit multiplication with
two working registers is 16 bits. The 16-bit result
is placed in working register pair R0:R1. Branch instructions
have a relative offset of 7 bits (63 to –64). Relative
jumps and calls use a 12-bit offset (2047 to –2048).
Indirect operations use one of the 16-bit register pairs
X, Y, or Z (26:27, 28:29, or 30:31); therefore, they
can cover a 64-KB address range. For devices with a
larger address space, the EIND register in extended
I/O space holds the upper bits of an extended indirect
operation.
A
large group of the instructions deals with bit manipulation
and branching based on the outcome of an arithmetic,
logic, or manipulation operation. This is ideal for
control applications and makes tight code possible.
For a more detailed description of the AVR’s innards,
refer to my December 1998 column, “Learning to Fly with
Atmel’s AVR,” (Circuit Cellar 101).
BRANCHING
OUT
It
wasn’t so long ago that the first AT90S part made its
way onto the scene, followed by the ATiny and ATmega
series. Today, the success of the AVR core is a reflection
of the growing AVR family; it has enabled the product
line to branch out in many directions.
The
AVR core can be found in FPSLIC, the 5000- to 40,000-gate
FPGA. It is also used in the DVD/CD storage chipsets
(along with the ARM micro). Wireless support comes from
the SmartRF series of AVR MicroTransmitters and Micro-Transceivers.
The secureAVR microcontrollers include a crypto-coprocessor
for secure encryption and authorization functions. A
range of USB controllers use the AVR core supporting
full-speed USB 2.0. The ATmega series has expanded and
now includes AVR micros with built-in LCD controller/drivers.
FPSLIC
You
may remember Atmel’s 2001 Design Logic FPSLIC contest.
The AVR core in this SRAM-based FPGA gives your design
a high degree of system level integration. The FPGA
macro library has plenty of custom peripherals, which
help augment the feature-packed fixed peripherals of
the AVR micro. An import feature of the FPGA is the
internal interrupt architecture allowing rapid response
to that circuitry. A JTAG interface provides extensive
on-chip debug support and boundary scan capabilities
to the AVR ports.
The
3- to 3.6-V operating voltage assures low-power consumption
while being 5-V I/O tolerant. Oscillator speeds to 40
MHz can provide a throughput of up to 30 MIPS. Both
instruction code and configuration is loaded from EEPROM
at power-up. The core’s cache logic also allows for
some dynamic (no data loss) configuration changes. FPSLIC
can handle compute-intensive arithmetic functions such
as those used in filters and transforms.
DVD/CD
STORAGE CHIPSETS
Let’s
face it, eight-tracks are dead. (Although some people
say they never existed. When my son Kris asked why some
of my records had this little plastic doohickey in the
large hole, I knew I was teetering on the edge of being
labeled Cro-Magnon.) The compact disk media has officially
stolen the show.
Even
the 12" laserdisc is nothing but junk because DVD
formats push the envelope of storage. A DVD/CD ATAPI
controller, servo controller, laser power controller,
amps, and pre-amps are necessary to provide compact
audio and video enjoyment. The AVR core is used in Atmel’s
DVD/CD ATAPI chipset to perform internal data path and
buffer management control.
SmartRF
Adding
high-performance PLL-based RF circuitry to the AVR core
creates a convenient and cost-sensitive solution for
wireless control and telemetry. The transmitter solution
has ultra-low shutdown current until a button is pressed.
The microcontroller controls power output while the
PLL uses the crystal to maintain a stable carrier.
The
transceiver solution brings secure communication allowing
handshaking procedures. Its flexible configuration covers
a best fit for bandwidth, selectivity, immunity, and
range. The RF receiver can supply a wake-up signal to
the microcontroller for power-conserving measures when
idle. Covering the 400- to 950-MHz bands, the SmartRF
data throughput can reach 64 kbps.