ADC with ATtiny828 Page posted: 2015-05-16 15:33
 
    The Atmel ATtiny828 8-bit AVR RISC-based
microcontroller (MCU) with picoPower technology features 8KB of in-system programmable (ISP) Flash, 256-byte ISP EEPROM, 512-byte internal
SRAM, 8-bit timer/counter and 16-bit timer/counter with PWM, 10-bit ADC,USART, TWI, 2x SPI, 32KHz ultra low power oscillator, +-2% accurate
8MHz internal oscillator and debugWIRE for on-chip-debug. The ATtiny828 MCU has 28 GPIO pins and ADC channels available on all pins.
By executing powerful instructions in a single clock cycle, the ATtiny828 device achieves throughputs approaching 1MIPS per MHz, allowing
you to optimize power consumption versus processing speed. The device also has a boot section and supports read while write self-programming
of Flash. The device is manufactured using Atmel's high density non-volatile memory technology. The Flash program memory can
be re-programmed in-system through a serial interface, by a conventional non-volatile memory programmer or by an on-chip boot code, running
on the AVR core. The boot program can use any interface to download the application program to the Flash memory. Software in the boot section
of the Flash executes while the application section of the Flash is updated, providing true read-while-write operation. The ATtiny828 AVR is
supported by a full suite of program and system development tools including: C compilers, macro assemblers, program debugger/simulators and
evaluation kits.
   
The AVR core combines a rich instruction set with 32 general
purpose working registers. All 32 registers are directly
connected to the Arithmetic Logic Unit (ALU), allowing two independent registers to be accessed in a single instruction,
executed in one clock cycle. The resulting architecture is compact and code efficient while achieving throughputs up to
ten times faster than conventional CISC microcontrollers.In order to maximize performance and parallelism, the AVR
uses a Harvard architecture – with separate memories and buses for program and data. Instructions in the Program memory
are executed with a single level pipelining. While one instruction is being executed, the next instruction is pre-fetched from the Program memory.
This concept enables instructions to be executed in every clock cycle. The Program memory is In-System Reprogrammable Flash memory. The fast-access
Register File contains 32 x 8-bit general pur pose working registers with a single clock cycle access time. This allows single-cycle Arithmetic
Logic Unit (ALU) operation. In a typical ALU operation, two operands are output from the Register File, the operation is executed, and the result
is stored back in the Register File – in one clock cycle. Six of the 32 registers can be used as three 16-bit indirect address register pointers
for Data Space addressing – enabling efficient address calculations. One of the these address pointers can also be used as an address pointer for
look up tables in Flash Program memory. These added functi on registers are the 16-bit X-, Y-, and Z-register, described later in this section.
The ALU supports arithmetic and logic operations between registers or between a constant and a register. Single register operations can also be
executed in the ALU. After an arithmetic operation, the Status Register is updated to reflect information about the result of the operation.
 
|