This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:multiasm:piot:chapter_4_2 [2025/05/31 09:05] – marcin | en:multiasm:piot:chapter_4_2 [2026/01/19 10:18] (current) – marcin | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| AVR is an extension of the idea presented in Vegard Wollan and Alf-Egil Bogen' | AVR is an extension of the idea presented in Vegard Wollan and Alf-Egil Bogen' | ||
| - | AVR architecture is a popular choice for microcontrollers due to its efficiency and versatility. Here are some specific elements that define the AVR architecture: | + | AVR architecture |
| * RISC Architecture: | * RISC Architecture: | ||
| - | * Harvard 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. | * 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. | * General-purpose Registers: They contain 32 x 8-bit general-purpose registers, facilitating efficient data manipulation and quick access during operations. | ||
| Line 13: | Line 13: | ||
| * Watchdog Timer: A programmable watchdog timer enhances system reliability by resetting the microcontroller in the event of software failure. | * 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' | * Clock Oscillator: The built-in RC oscillator provides the necessary clock signals for the microcontroller' | ||
| + | |||
| + | <figure avr_architecture> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | **Microcontroller Architecture – Component Overview** | ||
| + | |||
| + | * 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, | ||
| + | |||
| + | |||