Fórum témák

» Több friss téma
Fórum » MPIDE Arduino kompatibilis platform PIC32 mikrovezérlőkhöz
Lapozás: OK   1 / 2
(#) GPeti1977 hozzászólása Ápr 25, 2014 /
 
Sokan ismeritek az Arduino-t mint fejlesztő környezetet 8 bites AVR mikrokontrollerekre, ugyanez megvan a PIC32 kontroller családra is, a hozzátartozó fejlesztő eszközök itthon is forgalomban vannak, számomra meglepő hogy szinte alig ismert ez a fejlesztő környezet. Például egy PIC32MX795F512L kontrollerrel mi mindent el tudunk készíteni ami egy 8 bites AVR-rel szinte lehetetlen, szinte kimeríthetetlen flsah memória, RAM, beépített RTC, Ethernet RMII interfésszel, 2 CAN bus, több SPI, UART, USB host vagy device stb.
Itt a honlap ahol több infó olvasható róla: Bővebben: chipKIT
Saját fejlesztésű internet rádió és MP3 lejátszó: Bővebben: HE
A hozzászólás módosítva: Ápr 25, 2014
(#) sirály12 válasza GPeti1977 hozzászólására (») Ápr 26, 2014 /
 
Kösz a leírást.
Úgyis pont ilyen piccel foglalkozok mostanában. Lehet megtetszik belőle valami.
(#) NickE hozzászólása Ápr 26, 2014 /
 
Létezik Pinguino néven is egy PIC-es Arduino project, van PIC18-as és PIC32-es változata is és ez opensource.

De az arduinok népszerűségét egyik sem tudja megközelíteni.
(#) GPeti1977 válasza NickE hozzászólására (») Ápr 26, 2014 /
 
Pedig teljesen arduino szintaktikája, felépítése van, illetve sok hardver specifikus könyvtár is át van írva benne, sőt annál is több van, csak nagyobb kontrollerrel. Hátránya hogy 3,3V ról megy de ez mégsem hátrány mert a PIC legtöbb lába 5V kompatibilis, illetve a hozzá tartozó fejlesztő panelek kissé drágábbak.
Nem tudom leírhatom kik az itthoni forgalmazói nem reklám hanem tanulás céllal?
Bővebben: Digilent
(#) jwaldha válasza GPeti1977 hozzászólására (») Ápr 28, 2014 /
 
Fejlesztéshez szóbajöhet a Fubarino SD is, kicsit barátibb árral.
Vagy a kisebb PIC32-esek, ezek még olcsóbbak is. (Fubarino Mini, ChipKit DP, ChipKit PI, ...)
Valamint lehet kapni PIC32MX250F128B kontrollert DIP28-as tokban előre programozott USB bootloaderrel is kb 1000 Ft-ért.
Ehhez kell 3.3V táp, kvarc, pár kondi, és már lehet is használni.
(Kis trükközéssel a kvarc is elhagyható, de akkor módosítani kell kicsit a bootloadert.)

Nem MPIDE, de PIC32: http://www.cpustick.com. Itt van egy komplett BASIC rendszer többek között PIC32-re, érdemes megnézni !
Fubarino SD-re egy az egyben feltölthető.
A forrás egy része is elérhető, sikerült működésre bírni egy Fubarino Minin is.

Vissza az MPIDE-hez.
Elkezdtem egy Forth-ot portolni ChipKit DP-re, de sajnos mostanában nincs időm foglalkozni vele.
Ami eddig elkészült az itt elérhető:
https://github.com/wittend/CKF
(Van benne például analóg, digitális I/O, megszakítás, LCD, PWM, I2C, OneWire.)

Ha feltölti valaki a Basic vagy Forth interpretert, onnan kezdve egy terminál emulátor kell csak a programozáshoz. Mindkettővel interaktívan lehet "piszkálni" a kontrollert. Szerintem elinduláshoz hasznos kis cuccok.
(#) tomi52 hozzászólása Jún 3, 2014 /
 
Most próbálkozom megismerni a 16 és 32 bites PIC-eket, bár a 8 bitessel (PIC18) is keveset foglalkoztam még. Tegnap "botlottam bele" valami link segítségével ebbe az MPIDE fejlesztő környezetbe. Letöltöttem, telepítettem, de még nem próbáltam. Arduinoval már foglalkoztam keveset, tetszik az egyszerűsége - szemben a most "szelidítgetett" MPLABX-el, bár az meg egy nagyágyú. Keresgéltem kicsit a neten, és ezt találtam, így már nekem is érdekes ez a fejlesztő környezet. Ahogy nézem, a ChipCAD-nek most nincs ilyen előre programozott PIC-je. Van gyári PICkit2-m illetve 3-am is, be lehet valahogy ezzel égetni a bootloadert?
(#) GPeti1977 válasza tomi52 hozzászólására (») Jún 3, 2014 /
 
Temészetesen Picki3- mal be lehet égetni a bootloadert.
(#) tomi52 hozzászólása Jún 12, 2014 /
 
Összeraktam egy nagyjából DP32-nek megfelelő panelt. Beégettem (PICkit3-al) a neten talált bootloader-t. Sikerült elindítanom az mpide-t (linux alapon).
1. Nem tudom, az e a normális működés, hogy a LED1 szaporán villog?
2. Programot beégetve fut a program. (2 LED villog váltva, lassabban). Ha viszont elveszem, majd visszaadom a tápot, illetve ha megnyomom a reset gombot, visszatér az alapállapot, a szapora villogás. Ez normális? Hogyan lehet indítani az általam beírt programot?
(#) GPeti1977 válasza tomi52 hozzászólására (») Jún 12, 2014 /
 
Induláskor reset után pár másodpercig villog a LED1 azután indulnia kell a programnak. Normális, így van megírva a bootloader.
(#) tomi52 válasza GPeti1977 hozzászólására (») Jún 12, 2014 /
 
Nekem nem indul a program, marad a villogás. Az MPLABX mellé is települ valami olyasmi, mint amit anno a PICkit2-höz is adtak, csak akkor még volt window$-om. A PICkit3-hoz már nem telepítettem ilyet, mert nincs window$-om. (Mióta nyögdíjas vagyok, kerülöm a picipuha software-it.)
Szóval azzal égettem be a bootloadert, de lehet, hogy nem jól? A "hex" file-on kívül meg lehetne adni valami SQTP-t is, de az nem tudom mi, a DP32 anyagában nem találtam, csak a hex file-t.
Azt is olvastam, hogy a PIC32-eseknél külön memória van a bootoláshoz, most megpróbáltam kiválasztani a boot memóriát (eddig úgy volt beállítva, hogy az égető program válasszon), így egyáltalán nem villog, nem sikerült az mpide-vel sem programot tölteni bele. Valamit biztosan nem jól csinálok, csak rá kellene jönni, hogy mit?
Van még egy kósza gondolatom, valamit ír a DP32 manuálja, hogy két gombot kell megfelelően megnyomni, akkor megy át a bootloaderbe. Majd holnap megpróbálom hozzá tenni a másik gombot is, jelenleg nincs kiépítve csak a reset.
És sajnos az ángliussal is eléggé hadilábon állok, csak bogarászok, nem biztos, hogy mindig megfejtem a lényeget.
(#) tomi52 válasza tomi52 hozzászólására (») Jún 13, 2014 /
 
Válaszolok magamnak....
Kiépítettem az eredeti DP32 "BTN2/PGM" nyomógombját, és újra írtam a bootloadert a PICkit3-al, megint hagyva, hogy az égető program válassza a memóriát.
Úgy tűnik, a program beírása után egyszer vissza kell váltani a két gomb (másik a RESET) segítségével a bootloader-re. Így most működik.
(#) GPeti1977 válasza tomi52 hozzászólására (») Jún 13, 2014 /
 
Nagyon kevesen használják azért is nincs válasz, de ha beszélünk róla akkor többen fogják használni már csak a kereső programok miatt is.
(#) icserny válasza tomi52 hozzászólására (») Jún 13, 2014 /
 
Idézet:
„Van még egy kósza gondolatom, valamit ír a DP32 manuálja, hogy két gombot kell megfelelően megnyomni, akkor megy át a bootloaderbe.”
Konkrátana BTN2 gombot kell lenyomva tartani, miközben lenyomod és felengeded a Reset gombot (ezt írják).
(#) icserny válasza GPeti1977 hozzászólására (») Jún 13, 2014 /
 
Idézet:
„számomra meglepő hogy szinte alig ismert ez a fejlesztő környezet”
Csöppet sem meglepő ez a hozzá való kártyák árát, koncepcióját és viszonylag gyenge támogatottságát tekintve.

Az Arduino koncepció azért lett annyira sikeres, mert egyszerű és olcsó eszközt adott a felhasználók kezébe. Ezzel messze lekörözte az elődjét, a Wiring-et, pedig az nagyobb teljesítményű mikrovezérlőt tartalmazott. De az a kártya drágább volt és bonyolultabb.

A PIC32MX795F512L mikrovezérlő valóban nagytudású, kár, hogy egy normális kártyát sem tdtak tervezni hozzá. A PIC32 Ethernet Starter Kit jó lenne, de egy agyonminiatürizált csatlakozón vezetnek ki mindent. A ChipKIT MAX32-ről meg lefelejtették az Ethernet csatlakozót. Ennek ellenére közel $50 az ára (kb. annyi, mint a Beagle Bone Black RevB ára, ami már Linuxot futtat!), de még egy $55-os Network shield is kellene hozzá, hogy a beépített Ethernet vezérlőt használni is lehessen. Ha összevetem a konkurencia hasonló kaliberű termékeivel, akkor mellbevágó a különbség:
-A Texas Instruments Tiva C Series EK-TM4C1294XL Launchpad kártya $20-ért már tartalmazza az Ethernet csatlakozót és programozó/debugger is van rajta. Energia (Arduino fork) környezeteben is programozható. A CCS 6-ba pedig importálható és debugolható a projekt...
- A GR-Sakura kártya (full verzió) 12511 Ft-ért szintén tartalmazza az Ethernet csatlakozót. Arduino-szerű Web Compiler van hozzá.

Nem akarok messzemenő következtetéseket levonni, csak annyit, hogy "van másik!", s ezt jó lenne a Microchipnek (és partnereinek) is szem előtt tartani!
A hozzászólás módosítva: Jún 13, 2014
(#) GPeti1977 válasza icserny hozzászólására (») Jún 13, 2014 /
 
MX7CK board-ot használok ethernet kliensként, mivel a panel drága meg van ami rajta van, meg ami nincs, meg amúgy is csak prototípushoz jó kísérletezni ezért terveztem egy új panelt és az van használva.
(#) icserny válasza GPeti1977 hozzászólására (») Jún 13, 2014 /
 
Idézet:
„MX7CK board-ot használok ethernet kliensként”
Korábban én is pont ilyen kártyát szerettem volna, csak az ára tartott vissza... Építeni meg nem állt módomban. Közben hozzájutottam az előző hozzászólásomban említett kártyákhoz, meg két TP-Link WR703N routerhez (OpenWRT-vel jól használható), s ezekkel jól elvagyok.

Jut eszembe: vagy két éve pályázatot hirdettek szabad forrású TCP-IP és USB stack készítésére az MP-IDE részére (mert a Michrochip USB és TCP-IP stack nem teljesen szabad - pl. nem publikálhatod a projektedben, csak a forráskód általad írt részét teheted közzé). Mi lett ebből a pályázatból?

Mellesleg a bennfentesek szerint hasonló jogi korlátozások miatt lett a Wiring és az Arduino hardver alapja Atmel mikrovezérlő, nem pedig Microchip.
(#) tomi52 hozzászólása Jún 14, 2014 /
 
A DP32 kártyán 4 LED van. A programban hivatkozhatunk ezekre mint PIN_LED1 ... PIN_LED4-re. Belenéztem a kártyához tartozó Board_Defs.h és Board_Data.c forrásokba. A "h" fileban a következő módon vannak definiálva:
  1. #define PIN_LED1        14
  2.  ...
  3. #define PIN_LED4        11
Valójában ezek az IC 4-7 lábára, az RB0-RB3-as portokra mennek. Nem tudom, hol, hogyan vannak ezek "összekötve", vagyis ha szeretnám a LED-ekhez való szimbólumokat kiterjeszteni 8-ig, milyen számot kellene hozzárendelni?
(Saját építésű tesztpanelem van, csak a kristály, a tápszűrő kondik, a RESET és a PGM gombok vannak rajta fixen. A többi áramköri részek kis kiegyészítő paneleken rakhatók hozzá.)
(#) icserny válasza tomi52 hozzászólására (») Jún 14, 2014 /
 
A chipKIT™ DP32™ Reference Manual-ban az 1. táblázat tartalmazza az IC lábak hozzárendelését.
(#) tomi52 válasza icserny hozzászólására (») Jún 14, 2014 /
 
Nagyon köszönöm, így már meg tudom csinálni, amit szeretnék!
Ez már csak kíváncsiság: mi benne a logika? Lehet tudni, valójában hol köti össze a kiosztott számot a tényleges lábbal (porttal)? Talán a fordítóban van beépítve?
(#) icserny válasza tomi52 hozzászólására (») Jún 14, 2014 /
 
Idézet:
„Lehet tudni, valójában hol köti össze a kiosztott számot a tényleges lábbal (porttal)?”
MPIDE vonatkozásában nem tudok nyilatkozni, mert én nem használom. Arduino esetében a pins_arduino.h fejléc állományban definiálnak olyan tömböket, amelyben minden kiosztott számhoz be van jegyezve, hogy melyik porthoz, illetve a porton belül melyik helyiértékhez (bithez) tartozik.

const uint8_t PROGMEM digital_pin_to_port_PGM[] és
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] a két tömb.

Idézet:
„mi benne a logika?”
Túl sok logikát ne keress benne!
  1. // ATMEL ATMEGA8 & 168 / ARDUINO
  2. //
  3. //                  +-\/-+
  4. //            PC6  1|    |28  PC5 (AI 5)
  5. //      (D 0) PD0  2|    |27  PC4 (AI 4)
  6. //      (D 1) PD1  3|    |26  PC3 (AI 3)
  7. //      (D 2) PD2  4|    |25  PC2 (AI 2)
  8. // PWM+ (D 3) PD3  5|    |24  PC1 (AI 1)
  9. //      (D 4) PD4  6|    |23  PC0 (AI 0)
  10. //            VCC  7|    |22  GND
  11. //            GND  8|    |21  AREF
  12. //            PB6  9|    |20  AVCC
  13. //            PB7 10|    |19  PB5 (D 13)
  14. // PWM+ (D 5) PD5 11|    |18  PB4 (D 12)
  15. // PWM+ (D 6) PD6 12|    |17  PB3 (D 11) PWM
  16. //      (D 7) PD7 13|    |16  PB2 (D 10) PWM
  17. //      (D 8) PB0 14|    |15  PB1 (D 9) PWM
  18. //                  +----+
A hozzászólás módosítva: Jún 14, 2014
(#) tomi52 válasza icserny hozzászólására (») Jún 14, 2014 /
 
OK, nem keresem a logikát benne!
Tulajdonképp "tovább fejlesztették" az arduino környezetet, az általad említett ".h" ebben is megtalálható. Több helyen is, mert ezt a környezetet lehet használni sokféle gyártású (köztük arduino) panelekhez is. A program könyvtár struktúrája elágazik arduino és pic32 irányba, sok azonos nevű file is található bennük, gondolom a hardware különbségek változatai. Végül többszörös mélységű include-okon keresztül eljutottam a microvezérlő típusok szerinti "h" file-okhoz. Az enyémhez való több, mint 13000 sor.
(#) GPeti1977 hozzászólása Jún 20, 2014 /
 
A Chipkit DP32 boardot hogyan tudom kiválasztani? Nekem nincs ilyen a listában.
DIP tokos és könnyen után építhető.
(#) tomi52 válasza GPeti1977 hozzászólására (») Jún 21, 2014 /
 
Tools -> Board -> chipKIT -> chipKIT DP32
(Nekem kubuntu linuxom van, és az "mpide-0023-linux32-20140316" verzió.)
Valóban könnyen utánépíthető, én is az elmúlt héten csináltam.
(#) GPeti1977 válasza tomi52 hozzászólására (») Jún 21, 2014 /
 
Nem találom:

hol.JPG
    
(#) icserny válasza GPeti1977 hozzászólására (») Jún 21, 2014 /
 
Bizonyára egy frissebb MPIDE változatot kellene telepíteni.
(#) tomi52 válasza GPeti1977 hozzászólására (») Jún 21, 2014 /
 
Erre sajnos csak "hülye" választ tudok adni: milyen jó, hogy mióta nyugdíjas vagyok, nem kell használnom a PiciPuha oprendszerét!
Az én menüm így néz ki:
A hozzászólás módosítva: Jún 21, 2014

menu.jpg
    
(#) tomi52 hozzászólása Jún 21, 2014 /
 
Hátha adok valakinek ötletet...

A gyári Microchip panelek baromi drágák, még évekkel ezelőtt "gyártottam" egy tanuló panelt csupalyuk nyákra. Csináltam egy alap panelt, amibe kétféle 40 lábú PIC18-at lehetett tenni. A "perifériák" öcsi-panelekre készültek, tüskesoros csatlakozással. Aztán sokáig altattam a tanulás projektet.

Később egy kisebb arduino panelt raktam egy hasonló csupalyuk lapra, hogy a meglévő öcsi-paneleket tudjam használni hozzá. Aztán nemrég megint csináltam egy panelt PIC16-osokhoz, és közben bukkantam az mpide környezetre. Nehéz lett volna átszabni a panelt PIC32-re, begurultam, és csináltam egy általános panelt, amibe 8-40 lábig bármilyen DIP tokos mikrovezérlőt be lehet rakni. A csoporthoz igazítást egy-egy öcsi-panellel lehet változtatni, amit a textool foglalat fölé lehet bedugni.

És még egy öcsi-panel ötlet. Csináltam szint illesztőt, de nem volt kedvem kétfélét, a két lehetséges iránynak megfelelően. Ezt öcsi-öcsi-panellel oldottam meg. (Kissé talán hülye ötlet csupalyuk panelon SMD FET-et és ellenállásokat használni, de csak így fért el.)

A képeken a fő-panel az általam kreált DP32. A típushoz igazító öcsi-panelen csak a mindenképp szükséges kiegészítők vannak: táp és GND csatlakozás, USB vonal csatlakozás, a kristály, a reset gomb, és egy gomb, ami a bootloader/betöltött program váltáshoz kell.
(#) tomi52 válasza tomi52 hozzászólására (») Jún 22, 2014 /
 
Még gyorsan módosítottam a PIC32-höz való öcsi-panelt. A LED1-et érdemes rátenni, mert azon látható, mikor van a panel feltöltés módban (szapora villogás), illetve a feltöltés is látszik rajta (némi össze-vissza villódzás).
(#) icserny válasza tomi52 hozzászólására (») Jún 22, 2014 /
 
Idézet:
„Az én menüm így néz ki:”
Nálad 2104. márciusi verzió van telepítve, Petinél meg 2012-es. Ez lehet az eltérés fő oka...
(#) GPeti1977 válasza icserny hozzászólására (») Jún 22, 2014 /
 
Köszi amúgy is le akarom cserélni, mert
építettem egy web szervert de nem stabil, csak akkor ha rendes hálózaton van, pc-vel összekötve cross kábellel jó, úgy jó csak ha a client.print utasítások közé delayus(250) késleltetést berakok, így jó legalább is SD kártyáról történő "kiprinteléskor" működött stabilan.
A hiba valamelyik ethernet függvényekben van de ezt csak az tudná kijavítani aki írta, fel kellene venni a kapcsolatot aki ezt megoldaná, regisztráltam a chipkit.net fórumra ott szokott lenni a fejlesztők közül is aki tudna segíteni, bár az ethernet a Microchip által megírt függvényektől megy.
A hozzászólás módosítva: Jún 22, 2014
Következő: »»   1 / 2
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem