Arduino and its hw architecture

5,002 views 12 slides Feb 14, 2019
Slide 1
Slide 1 of 12
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12

About This Presentation

this presentation will describe Arduino Hardware Architecture and Overview


Slide Content

ARDUINO I ts Hardware Architecture

Outline

What is Arduino?

What is Arduino? Arduino is an Open-source microcontroller board, with an associated development environment. Arduino senses the environment by receiving inputs from many sensors, and affects its surroundings by controlling lights, motors, and other actuators.

Types of Arduino Arduino UNO (16 MHZ) Arduino Nano (16MHZ) Lilypad Arduino (16MHZ) Arduino Mega2560 (16MHz) Arduino Ethernet (16MHZ) Arduino pro mini :8 (3.3v)/ 16MHZ Arduino MKR1000 (48MHZ) Arduino 101 (32Mhz) Arduino Zero (48MHZ) Arduino Due (48 MHZ) Arduino Esplora (16MHZ) Arduino Micro (16MHZ)

Arduino UNO

Components of Arduino

Components of Arduino Analog Reference pin (orange) Digital Ground (light green) Digital Pins 2-13 (green) Digital Pins 0-1/Serial In/Out - TX/RX (dark green) - These pins cannot be used for digital i/o (digital Read and digital Write) if you are also using serial communication (e.g. Serial.begin ). Reset Button - S1 (dark blue) In-circuit Serial Programmer (blue-green) Analog In Pins 0-5 (light blue) Power and Ground Pins (power: orange, grounds: light orange) External Power Supply In (9-12VDC) - X1 (pink) Toggles External Power and USB Power (place jumper on two pins closest to desired supply) - SV1 (purple) USB (used for uploading sketches to the board and for serial communication between the board and the computer; can be used to power the board) (yellow)

Arduino Architecture Use Harvard Architecture 1 . It consist of 2 memories such as program memory and data memory. Data is stored in data memory and program is stored in flash program memory. MicroController : AtMega 328 It has 32KB of flash memory, 2KB of SRAM, 1KB of EPROM and operates with 16MHZ clock speed. Boot Loader (0.5 KB)

Arduino Architecture The Basic working of CPU Atmega 328 :- The data is uploaded in serial via the port (being uploaded from the computer’s Arduino IDE). The data is decoded and then the instructions are sent to instruction register and it decodes the instructions on the same clock pulse . On the next clock pulse the next set of instructions are loaded in instruction register . In general purpose registers the registers are of 8-bit but there are 3 “16-bit” registers also . 8-bit registers are used to store data for normal calculations and results . 16-bit  registers are used to store data of timer counter in 2 different register.Eg . X-low & X-high.  E EPROM  stores data permanently even if the power is cut out. Programming inside a EEPROM  is slow .  Interrupt Unit  checks whether there is an interrupt for the execution of instruction to be executed in ISR (Interrupt Service Routine ).

Serial Peripheral Interface (SPI)  is an interface bus commonly used to send data between microcontrollers and small peripherals such as Camera, Display, SD cards, etc. It uses separate clock and data lines, along with a select line to choose the device you wish to talk to . Watchdog timer is used to detect and recover from MCU malfunctioning Analog comparator compares the input values on the positive and negative pin, when the value of positive pin is higher the output is set . Status and control is used to control the flow of execution of commands by checking other blocks inside the CPU at regular intervals . ALU (Arithmetic and Logical unit)The high performance AVR ALU operates in direct connection with all the 32 general purpose working registers. Within a single clock cycle, arithmetic operations b/w general purpose registers are executed. The ALU operations are divided into 3 main categories arithmetic , logical and bit-function . I/O pins The digital inputs and outputs (digital I/O) on the Arduino are what allow you to connect the Arduino sensors, actuators, and other Ics

Memory The Arduino has been integrated with 3 different types of memory which makes the Arduino technology user friendly. Those memories are, Flash Memory: It is a non-volatile memory that is used for storing application, which explains why you don't need to upload your application every time you unplug Arduino from its power source SRAM memory: It is a volatile memory that is used for storing variables used by the application when it is running. EEPROM memory: It is also a non-volatile memory that is used to store data which must be available even after the board is powered down and then powered up again