arduino architecture - meseec.ce.rit.edumeseec.ce.rit.edu/551-projects/fall2017/2-3.pdf · history...
TRANSCRIPT
Overview
● Arduino (What is it?) ● History ● Arduino Uno ● ATmega328P ● Arduino Due ● AT91SAM3X8E (Cortex-M3) ● Summary ● Sample Projects
What is Arduino?
● Microcontroller development board originally aimed towards students ● Contains open-source hardware and software. ● Various boards and revisions for project needs ● Requires no prior programming experience and is cross platform ● Heavily influencing IoT and DIY solutions
History of Arduino
● Started in 2003 by Massimo Banzi aimed towards his students
● Provide an affordable platform to understand microcontrollers
● First board along with IDE released in 2005
● Originally based off the ATmega8 chip but has adopted several revisions and different microprocessors
ARDUINO UNO V3
µController: ATmega328P
Frequency: 16MHz
I/O Pins: 14 (6 PWM)
*Price: $22 US
Power: USB 5V or DC Barrel Jack
Common Usage: Robots, DIY home projects, machine controller, rapid development, data logger
* Price at the arduino store as of 12/03/17
ATmega328
● High Performance, Low Power Atmel 8-bit Processor ○ Advanced RISC Architecture
■ 32 x 8 GPW Registers ■ 32Kb Programmable Flash ■ 8-bit Timer (x2) ■ 16-bit Timer (x1)
● Can theoretically achieve 20 MIPS
ATmega328 Continued ● AVR CPU Core Architecture
○ Uses Harvard Architecture ■ Two Main Memory Spaces
● Data Memory ● Program Memory
○ Instructions are executed in a single level pipelining
○ Prefetching is enabled ○ AVR Instructions have a single 16-bit word
format ○ Memory Addresses contain a 16 or 32-bit
instruction
Arduino Due
µController: AT91SAM3X8E
Frequency: 84MHz
I/O Pins: 54 (12 PWM)
*Price: $37.40 US
Power: USB 3.3V or DC Barrel Jack
Common Usage: Includes everything from Uno with the addition of connecting more analog devices, 3D-Printers, CNC machines
* Price as of 12/03/17
AT91SAM3X8E (Cortex-M3)
● High Performance, Low Power 32-bit ARM Cortex-M3 ○ Different family compared to UNO ○ Advanced RISC Architecture
■ 13 x 32 GPW Registers ■ 512Kb Programmable Flash ■ 32-bit timer (x3) ■ 3 USART and 2 UART ■ 12-bit ADC and DAC
AT91SAM3X8E (Cortex-M3) Continued ● Uses Harvard Architecture
○ 3-Stage Pipelining ○ NAND Flash Controller ○ 24-bit SysTick Counter
● Thumb-2 (ISA) both 16-bit and 32-bit
● Contains Nested Interrupt Controller (NVIC) ○ Can provide up to 16 interrupts
Summary
● Low cost for rapid prototyping ● Compatibility amongst different
platform (Windows, Linux, Unix) ● Power Consumption is low ● Open Source means 3rd party
libraries! ● Can be customized to your needs.
Arduino Uno
Arduino Mini
Arduino Mega
Arduino Nano Pro
Resources
https://core-electronics.com.au/videos/history-and-evolution-of-arduino
http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
http://www.atmel.com/Images/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf
https://www.arduino.cc/en/Main/Products