Content deleted Content added
m Typo fix (via WP:JWB) |
m Added non-breaking space to non-template file size, frequency, bitrate, and bandwidth values (via WP:JWB) |
||
Line 1:
{{Short description|Family of microcontrollers}}
{{About|the series of AVR microcontrollers|the AVR instruction set|Atmel AVR instruction set}}
[[File:Avr_logo.svg|right|thumb|AVR logo]]
[[File:AVR_group.jpg|right|thumb|Various older AVR microcontrollers: ATmega8 in 28-pin narrow dual in-line package ([[Dual in-line package|DIP]]-28N), ATxmega128A1 in 100-pin thin quad flat pack ([[TQFP]]-100) package, ATtiny45 in 8-pin small outline ([[Small Outline Integrated Circuit|SO]]-8) package.]]
Line 43 ⟶ 44:
|}
The ATtiny series features small package microcontrollers with a limited peripheral set available. However, the improved tinyAVR 0/1/2-series (released in 2016) include:
* Peripherals equal to or exceed megaAVR 0-series
* Event System
Line 64 ⟶ 65:
|}
The ATmega series features microcontrollers that provide an extended instruction set (multiply instructions and instructions for handling larger program memories), an extensive peripheral set, a solid amount of program memory, as well as a wide range of pins available. The megaAVR 0-series (released in 2016) also has functionality such as:
* Event system
* New peripherals with enhanced functionality
Line 197 ⟶ 198:
* [[Processor register|Register]] locations R0 to R15 have more limited addressing capabilities than register locations R16 to R31.
* I/O ports 0 to 31 can be bit addressed, unlike I/O ports 32 to 63.
* CLR (clear all bits to zero) affects flags, while SER (set all bits to one) does not, even though they are complementary instructions.
* Accessing read-only data stored in the program memory (flash) requires special LPM instructions; the flash bus is otherwise reserved for instruction memory.
Line 247 ⟶ 248:
* [[Controller area network|CAN]] controller support
* [[Universal Serial Bus|USB]] controller support
** Proper full-speed (12
** Also freely available low-speed (1.5
* [[Ethernet]] controller support
* [[Liquid crystal display|LCD]] controller support
Line 342 ⟶ 343:
=== STK200 starter kit ===
The STK200 starter kit and development system has a [[Dual in-line package|DIP]] socket that can host an AVR chip in a 40, 20, or 8-pin package. The board has a 4 MHz clock source, 8 [[light-emitting diode]] (LED)s, 8 input buttons, an [[RS-232]] port, a socket for a 32
{| class="wikitable"
Line 420 ⟶ 421:
Target operating voltage ranges of 1.62V to 5.5V are supported as well as the following clock ranges:
* Supports JTAG & PDI clock frequencies from 32
* Supports aWire baud rates from 7.5
* Supports debugWIRE baud rates from 4
* Supports SPI clock frequencies from 8
* Supports SWD clock frequencies from 32
The ICE is supported by the Microchip Studio IDE, as well as a command line interface (atprogram).
Line 510 ⟶ 511:
* avr_core,<ref>{{cite web|url=http://opencores.org/project,avr_core|title=AVR Core :: Overview|publisher=OpenCores|access-date=2012-09-19}}</ref> written in [[VHDL]], is a clone aimed at being as close as possible to the ATmega103.
* Navré,<ref>{{cite web|url=http://opencores.org/project,navre|title=Navré AVR clone (8-bit RISC) Overview|publisher=OpenCores|access-date=2012-09-19}}</ref> written in [[Verilog]], implements all [[Atmel AVR instruction set|Classic Core]] instructions and is aimed at high performance and low resource usage. It does not support [[interrupt]]s.
* softavrcore,<ref>{{cite web|url=https://opencores.org/projects/softavrcore|title=Soft AVR Core + Interfaces Overview|publisher=OpenCores|access-date=2020-06-16}}</ref> written in [[Verilog]], implements the [[AVR instruction set]] up to AVR5, supports interrupts along with optional automatic interrupt acknowledgement, power saving via [[Idle (CPU)|sleep mode]] plus some peripheral interfaces and [[Hardware_acceleration|hardware accelerators]]
* The opencores project [http://opencores.org/project,cpu_lecture CPU lecture]<ref>{{cite web|url=http://opencores.org/project,cpu_lecture|title=CPU lecture|publisher=OpenCores|access-date=2015-02-16}}</ref> written in [[VHDL]] by Dr. Jürgen Sauermann explains in detail how to design a complete AVR-based [[system on a chip]] (SoC).
|