This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| en:multiasm:piot:chapter_4_2 [2026/02/19 13:39] – jtokarz | en:multiasm:piot:chapter_4_2 [2026/02/19 18:06] (current) – jtokarz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Specific Elements of AVR Architecture ====== | ||
| + | |||
| + | AVR is an extension of the idea presented in Vegard Wollan and Alf-Egil Bogen' | ||
| + | |||
| + | AVR architecture (Fig. {{ref> | ||
| + | * RISC Architecture: | ||
| + | * Harvard Architecture: | ||
| + | * On-chip Memory: AVR microcontrollers feature built-in flash memory for storing program code, as well as SRAM and EEPROM for data storage. This integration simplifies design and improves reliability. | ||
| + | * General-purpose Registers: They contain 32 x 8-bit general-purpose registers, facilitating efficient data manipulation and quick access during operations. | ||
| + | * Interrupts: AVR microcontrollers support internal and external interrupt sources. | ||
| + | * Real Time Counter (RTC): Timer/ | ||
| + | * I/O Capabilities: | ||
| + | * Watchdog Timer: A programmable watchdog timer enhances system reliability by resetting the microcontroller in the event of software failure. | ||
| + | * Clock Oscillator: The built-in RC oscillator provides the necessary clock signals for the microcontroller' | ||
| + | |||
| + | <figure avr_architecture> | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | **Microcontroller Architecture – Component Overview test** | ||
| + | |||
| + | * Interrupt Unit - Handles asynchronous events by temporarily halting the main program flow to execute interrupt service routines. | ||
| + | * SPI Unit - Implements the Serial Peripheral Interface protocol for high-speed synchronous data exchange with external devices. | ||
| + | * Watchdog Timer - A fail-safe timer that resets the system if the software becomes unresponsive or enters an infinite loop. | ||
| + | * Analog Comparator - Compares two analog input voltages and outputs a digital signal based on their relative magnitude. | ||
| + | * I/O Module - Interfaces with external peripherals, | ||
| + | * Flash Program Memory - Non-volatile memory used to store the program code, retaining data even when power is lost. | ||
| + | * Instruction Register - Temporarily holds the current instruction fetched from program memory before decoding. | ||
| + | * Instruction Decoder - Translates the binary instruction into control signals that direct the operation of internal units. | ||
| + | * Control Lines - Carry control signals that coordinate data flow and operations across the microcontroller. | ||
| + | * Program Counter - Keeps track of the address of the next instruction to be executed, enabling sequential program flow. | ||
| + | * Status and Control - Stores flags and control bits that reflect the current state of the processor and influence execution. | ||
| + | * 32×8 General Purpose Register - A set of 32 registers, each 8 bits wide, used for temporary data storage and arithmetic operations. | ||
| + | * ALU (Arithmetic Logic Unit) - Performs arithmetic and logical operations on data from the general-purpose registers. | ||
| + | * Data SRAM - Volatile memory used for runtime data storage, such as variables and stack operations. | ||
| + | * EEPROM - Electrically erasable non-volatile memory for storing user data that must persist across power cycles. | ||
| + | * I/O Lines - Physical pins that connect the microcontroller to external circuits for input and output tasks. | ||
| + | * Data Bus - An 8-bit pathway that transfers data between internal components, enabling communication and processing. | ||
| + | |||
| + | |||
| + | **Other Architectures: | ||
| + | |||
| + | __PIC__ | ||
| + | * Manufacturer: | ||
| + | * Architecture: | ||
| + | * PIC16: 8-bit microcontrollers, | ||
| + | * PIC18: 8-bit microcontrollers with advanced features such as CAN FD | ||
| + | * PIC32: 32-bit microcontrollers, | ||
| + | |||
| + | __ESP8266/ | ||
| + | * Manufacturer: | ||
| + | * Architecture: | ||
| + | * ESP8266: Single-core processor, 80 MHz (overclockable to 160 MHz), 32 KB RAM, 80 KB user RAM, Wi-Fi | ||
| + | * ESP32: Dual-core processor, 240 MHz, 520 KB SRAM, Wi-Fi, Bluetooth, more GPIO | ||
| + | |||
| + | __TI MSP430__ | ||
| + | * Manufacturer: | ||
| + | * Architecture: | ||
| + | * MSP430: 16-bit microcontrollers, | ||
| + | |||
| + | |||
| + | |||