Tartalomjegyzék:

AVR/Arduino villog Raspberry Pi -vel: 3 lépés (képekkel)
AVR/Arduino villog Raspberry Pi -vel: 3 lépés (képekkel)

Videó: AVR/Arduino villog Raspberry Pi -vel: 3 lépés (képekkel)

Videó: AVR/Arduino villog Raspberry Pi -vel: 3 lépés (képekkel)
Videó: Arduinós Hello World, Blinky és GPIO 2024, December
Anonim
AVR/Arduino villog Raspberry Pi -vel
AVR/Arduino villog Raspberry Pi -vel

A rendszeren belüli programozó (ISP) olyan eszköz, amellyel számos mikrokontrollert programozhat, például az ATMega328p-t, amely az Arduino Uno agya. Vásárolhat valamit, például USBtinyISP -t, vagy akár Arduino -t is használhat. Ez az oktatóanyag megmutatja, hogyan használhatja a Raspberry Pi -t internetszolgáltatóként.

Az avrdude program, amelyet az Arduino IDE használ a motorháztető alatt a chipek villanásához, sok programozóval használható. Ennek egyik lehetősége az SPI csapok használata a Pi bővítőportján. Elmagyarázom, hogyan kell létrehozni a megfelelő csatlakozásokat, össze kell állítani egy egyszerű áramkört a perfboardon, hogy ne kelljen minden alkalommal újrafordítani a vezetékeket, amikor chipet akar villanni, és hogyan kell telepíteni és használni az avrdude -ot. Azt is megmutatom, hogyan lehet a programokat az Arduino IDE segítségével összeállítani egy AVR chipre, például ATmega vagy ATtiny segítségével ezzel a módszerrel.

Szükséges dolgok:

  • Raspberry Pi a legújabb Raspbian telepítéssel
  • 40 tűs férfi fejléc (vagy 26 tűs, ha régebbi Pi van)
  • IDE kábel a Pi -hez való csatlakoztatáshoz
  • 16 MHz -es kristályrezonátor
  • 22 pF kondenzátor (2)
  • LED (1) jelzi a programozó állapotát
  • 8, 14 és/vagy 28 tűs IC aljzat, attól függően, hogy milyen típusú chipeket szeretne villogni
  • Némi perfboard, vezetékek, forrasztás

1. lépés: A macskakötél kialakítása

Építési Cobbler melléklet
Építési Cobbler melléklet
Építési Cobbler melléklet
Építési Cobbler melléklet
Építési Cobbler melléklet
Építési Cobbler melléklet

A soros perifériás interfész (SPI), más néven négyvezetékes soros, egy kommunikációs mód egyetlen mester eszköz és egy vagy több slave eszköz között. Ezt a chipek villanására használjuk, a Pi a mester, a chip pedig a szolga. A következő kapcsolatokat fogja létrehozni a Pi és a chipje között (lásd a fenti pinoutokat a különböző AVR -k és Pi bővítőportok között, hogy megtudja, melyek azok a tűk):

  • Csatlakoztassa a MOSI (master-out-slave-in) csapokat
  • Csatlakoztassa az SCLK (megosztott óra) csapokat
  • Csatlakoztassa a MISO (master-in-slave-out) csapokat egy 220 ohmos ellenállással, hogy megvédje a Pi-t a chipből származó váratlanul magas feszültségektől
  • Csatlakoztassa a GPIO 25 -öt a Pi -n közvetlenül a chip RESET -tűjéhez. A Pi programozáskor lehúzza ezt a csapot, ezért 10K ellenállást használunk, hogy magasan tartsuk, amikor nem programozunk, és egy 1K védelmi ellenállással rendelkező LED pozitív feszültségre, hogy kellemes vizuális visszajelzést kapjunk programozás közben.

Csatlakoztatjuk a földelt és a tápfeszültségű (3,3 V) csapokat a Pi és a programozni kívánt chipek közé. Ha még nem ismerné, a Raspberry Pi csapjai nem tolerálják az 5 V -ot - megsérülnek, ha 3,3 V -nál több jelenik meg rajtuk. Ha a programozandó chipek valamilyen okból 5 V -os tápellátást igényelnek, használhatunk szintváltó chipet a Pi csapjainak védelmére, de nem ütköztem semmilyen problémába a 3.3V használatával - ezért azt javaslom, hogy játsszon biztonságosan, és takarékoskodjon az alkatrészekkel.

Végül egy 16 MHz -es kristályoszcillátort csatlakoztatunk a chip XTAL csapjaihoz, amelyet pár 22pF kondenzátoron keresztül a földhöz is csatlakoztatunk. Az AVR chipek beállíthatók különböző frekvenciákon történő működésre, és beállítható úgy is, hogy belső vagy külső forrást használnak a frekvencia meghatározására. Ha chipje külső kristályt használ frekvenciaforrásként, nélküle nem tudja újraprogramozni. Különben mindegy, hogy ott van -e.

Az utolsó képen található kapcsolási rajzot útmutatóként használhatja a cobbler tartozékának a perfboardon történő összeszereléséhez. Annyi vagy kevés különböző IC -aljzatot kaphat, amennyit csak akar, csak csatlakoztassa a megfelelő tűket párhuzamosan a Pi -vel és a kristállyal. N. B. ha útmutatásként használja a prototípusom képét, vegye figyelembe, hogy hozzáadtam néhány fejlécet és aljzatot, hogy független okokból hozzáférhessek a Pi csapjaihoz.

2. lépés: Az Avrdude telepítése és használata

Az Avrdude telepítése és használata
Az Avrdude telepítése és használata
Az Avrdude telepítése és használata
Az Avrdude telepítése és használata
Az Avrdude telepítése és használata
Az Avrdude telepítése és használata
Az Avrdude telepítése és használata
Az Avrdude telepítése és használata

Az avrdude Pi -re történő telepítéséhez csak írja be

sudo apt-get install avrdude

Ezután engedélyeznie kell az SPI felületet, ha még nem volt bekapcsolva. Erre van parancssori módszer, de sokkal könnyebb használni a Raspberry Pi konfigurációs eszközt. típus

sudo raspi-config

és lépjen az Interfész beállításai oldalra az SPI bekapcsolásához.

A chip villogása érdekében csatlakoztassa a szalagkábelt a Pi -ből a perfboard áramkör csatlakozójába, és helyezze be a chipet a megfelelő IC aljzatba (győződjön meg róla, hogy a megfelelő irányba néz).

A program villogásakor ügyeljen arra is, hogy a chipben lévő biztosítékok megfelelően legyenek beállítva. Ezek valójában csak bitek a chipben, amelyet úgy állított be, hogy megmondja, milyen órajelen kell futni, törölni kell -e az EEPROM -ot a chip írásakor stb. sokkal könnyebb használni az engbedded.com/fusecalc webhelyen található biztosítékkalkulátort. Válassza ki a használt AVR alkatrész nevét, és válassza ki a kívánt opciókat a "Feature Selection" területen. Általában csak meggyőződöm arról, hogy az óra beállításai helyesek, és a többi dolgot alapértelmezettként hagyom. Szinte mindig a "Soros programozás engedélyezve" jelölőnégyzetet és a "Visszaállítás letiltva" opciót szeretné ellenőrizetlenül hagyni - különben nem tudja újraprogramozni a chipet. Ha a megfelelő beállításokkal rendelkezik, görgessen lefelé az "Aktuális beállítások" területen, és másolja át az AVRDUDE érveket a képen látható módon.

A biztosítékok beállításához írja be a parancsot

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p

ahol a partnév megfelel az Ön által használt chipnek. Az alkatrésznevek listáját a sudo ardude -c linuxspi -p? Típus beírásával találhatja meg. A program villanásához győződjön meg arról, hogy az aktuális könyvtárban van, és írja be

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U flash: w:: i

Mindkét parancs után a LED világítani fog a chip módosításakor.

3. lépés: Az Arduino programok AVR -re történő áthelyezése

Az Arduino programok bekapcsolása AVR -re
Az Arduino programok bekapcsolása AVR -re
Az Arduino programok bekapcsolása AVR -re
Az Arduino programok bekapcsolása AVR -re
Az Arduino programok bekapcsolása AVR -re
Az Arduino programok bekapcsolása AVR -re

Ennek az utasításnak a fő hangsúlya a már lefordított programok chipekre való felvillantása, nem pedig az, hogy hogyan kell írni vagy fordítani. Mindazonáltal el akartam magyarázni, hogyan lehet bináris fájlokat fordítani az Arduino IDE használatával, és ezeket a módszert használva csupasz AVR -chipekre helyezni, mivel az Arduino viszonylag könnyen megtanulható, és annyi oktatóanyag és példa található.

Először is hozzá kell adnia a villogni kívánt AVR chipek adatait, hogy az IDE tudja, hogyan kell fordítani nekik. James Sleeman nagyon segítőkészen állított össze néhány beállításfájlt, amelyek elérhetők a githubon. Ezek használatához nyissa meg az Arduino IDE "Beállítások" menüjét, és kattintson a "További táblák kezelő URL -címei" mező melletti négyzetre. Másolja és illessze be a következő URL -eket a megjelenő párbeszédpanelen:

Ezután lépjen az "Eszközök" menübe, és keresse meg a "Táblakezelő …" opciót a "Tábla" almenüben. Görgessen le a lista aljára a Táblákkezelő párbeszédpanelen, és telepítse a DIY ATmega és a DIY ATtiny táblákat.

A programok összeállításához először győződjön meg arról, hogy a megfelelő processzort választotta ki a "Processzor" menüben, valamint a megfelelő processzor sebességet. Válassza a "Bootloader használata: Nem" opciót, mivel közvetlenül a Pi -vel töltjük fel, és így használhatjuk az Arduino rendszerbetöltő által általában elfoglalt extra helyet. Most kattintson az "Ellenőrzés" gombra (a pipa). Ez lefordítja a programot anélkül, hogy megpróbálná feltölteni (mivel ezt a lépést maga végzi).

Feltételezve, hogy minden jól megy, most el kell juttatnia az összeállított programot a Pi -hez. Az IDE egy ideiglenes helyen elrejti őket, mivel magát a programokat kívánja feltölteni. Windows rendszeren az AppData/Local/Temp mappában található a felhasználói könyvtárban, az "arduino_build" betűvel kezdődő mappában. Keresse meg a.hex fájlt - ez a programja! Küldje el a Pi -re FTP -n keresztül vagy USB -pendrive segítségével, és máris üzletelhet.

Ehhez Windows PC -vel vagy Mac -el kell rendelkeznie a programok összeállításához, amelyeket aztán elküld a Pi -nek. Igazán csúnya lenne ezt megtenni magán a Pi -n, de sajnos az Arduino IDE hivatalos verziója, amely elérhető a Raspbian lerakatban, meglehetősen régi, és nem rendelkezik igazgatótanáccsal. E nélkül a csupasz AVR -ek fordításához megfelelő beállítások hozzáadása egy kicsit bonyolultabb. Vannak oktatóanyagok az Arduino újabb verziójának összeállításához a Pi -n - ha ezt szeretné tenni, keresse meg őket! Azt is érzem, hogy lehetővé kell tenni, hogy az IDE a linuxspi programozót használja egy chip megvillantására az IDE -n belülről (azaz a "letöltés" gomb használatával), de ez meghaladja a türelmemet és a készségemet - ha tudja egy módja, tegye közzé a megjegyzésekben! Végül csak írhat programokat közvetlenül az AVR-C-be, és összeállíthatja azokat a Pi-n az avr-gcc segítségével, így teljes AVR fejlesztői platformot kaphat a Raspberry Pi-ben. Csináltam belőle egy picit, és ha ezt az utat akarja járni, akkor gratulálok. Villogjon!

Ajánlott: