Arduino 2009 azaz Duemilanove

A kép méretaránytalan: 14 colos kijelzőn 11 centi a valóságban 7cm azaz a valódi méret a képen látott 7/11-ed része

Hogy munkára bírjuk ezt a kis mikrokontrollert kell szerezni egy USB-A és B kábelt. Ez, ha van nyomtatónk, nagy valószínűséggel rendelkezésre áll.

Windows 7-re elsőre nem volt egyszerű a telepítése. A nevét se tudom megjegyezni 'duemilanove', azért gyakorolom. :D

Hogy miért volt problematikus Win7-re rakni? Mert alapból installta magát és a letölthető IDE rögtön elhalt. Eszközkezelőben uninstalltam és újrabedugtam. Ekkor megjelent az eszközkezelőben az Arduino, aminél (kis idő után) meg tudtam csinálni a frissítést az ftdichip.com-ról letöltött meghajtóval. Miután ez sikerült, megjelent egy virtuális soros port persze jelezte hogy hibás. Más ötletem nem volt így automatikusan frissítettem a soros portot és hipp-hopp megjavult.

Hogy még mire használom a felületet nem tudom. Úgy tűnik kell még pár szenzort vagy LED-et szerezni hozzá hogy lehessen használni.

Információk:
* http://arduino.cc/en/Main/ArduinoBoardDuemilanove
* XP-Win7-ig a driver: http://www.ftdichip.com/Drivers/CDM/CDM%202.06.00%20WHQL%20Certified.zip

Architektúra:

Az alaplapocska hátuljára az van írva: Atmega328

Gondolom ez arra utal,hogy az Atmega hozza a processzort, 32kB a flash memória mérete és 8 bit szélesek a regiszterei.

A párhuzamosság és hatékonyság teljes kihasználására a Harvard-architektúrát alkalmazza az AVR. Külön síneket használva az utasításoknak és az adatnak. A programmemóriában lévő utasításokat egyfokozatú futószalagon hajtja végre. (egyfokozatú?)
Amíg az egyik utasítás végrehajtódik, azalatt a következő utasítás beolvasódik. Ez teszi lehetővé, hogy egy órajel alatt hajtódjon végre egy utasítás.

A megszakítások és szubrutin hívások során a PC(programszámláló) a Veremben tárolódik. A Verem az SRAM-ban van lefoglalva és a Verem méretét az SRAM mérete, illetve az SRAM kihasználtsága szabja meg. Minden felhasználói programnak be kell állítania az SP-t(a verem elejére mutató pointert). Az SP írható/olvasható az I/O térben. Az SRAM-ban tartózkodó adat ötféle címzési módszerrel érhető el.

Az AVR architektúra két fő memóriatérrel rendelkezik: Adat- és Programmemória. Ezenkívűl még van az EEPROM memória is adattárolásra. Mindhárom memóriatér lineáris és reguláris(?).

A PC 14 bit széles, mert 16K programmemóriát kell megcímeznie. 2^14 = 2^4*2^1024 = 16K

A biztonság érdekében a Flash Programmemória két szegmensre van bontva, rendszerindító szegmens(Boot Loader Section) és alkalmazói programok szegmense(Application Program Section)


A Flash memória legalább 10.000 írási/törlési ciklust bír ki.

Címzési módok:
* direkt
* indirekt eltolással
* indirekt
* indirekt predekrementálással
* indirekt posztinkrementálással

A direkt címzéssel az egész adattér címtartománya elérhető/megcímezhető.
Az indirekt eltolással az Y vagy Z regiszterben megadott báziscímhez képest 63 cím érhető el.

A 32 általános célú, 64 I/O és a 160 kiterjesztett I/O regiszter és a 2048 bájt belső adat SRAM elérhető a címzési módokkal.

EEPROM memória

Az ATmega328P 1K bájt méretű EEPROM memóriát tartalmaz. 100.000 írási/törlési ciklust bír ki.

ATmega328P: 32K flash | 1K EEPROM | 2K RAM | 2 utasításszó/vektor

A 32K Flash memóriából 2K a bootloaderé. Már sikerült 1K-ra leszorítani.

Arduino-val kapcsolatos irodalom:

(1) http://www.apc-studio.hu/konyvek/as-di35.html
(2) http://oreilly.com/catalog/9780596155520
(3) http://atmel.nl/dyn/resources/prod_documents/doc8161.pdf

Hozzászólások

Én várom a fejleményeket (remélve, hogy lesz), végre egy jó kis blog!

A hetvegen keszitettem el gy TermoSwitch-et Arduino Druemilanove-val, meg nem volt idom postolni a blogomra, de hamarosan.

Par video a H-Bridge + Arduino PWM teszet-rol: http://jani-ugv.blogspot.com/2009/10/first-steps-videos.html

A tesztprogram itt : http://jani-ugv.blogspot.com/2009/10/first-steps.html

Nemreg beszereztem egy Ethernet Shield-et is az Arduino-hoz, eleg szorakoztato, egyelore egy Twitter Beer counter keszitettem el vele :)