Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem akarlak meg ijeszteni, de hányszor írtad már felül a Flasht? (adatlap szerint 100 a minimum, tipikusan 1000 E/W) Nem túlságosan örülök ennek, gondolom Te sem! Visszafejlődnek a 16F877 500-ára!
PIC24HJXXXGPX06/X08/X10
Electrical Characteristics/DC Chara../DC Char..rogram Memory Emellet a dsPIC33 új típusoknak is...
Nyilvan nem arra lett tervezve, hogy hobby celokkal prototipuskent hasznalva mukodjon - de meg igy is azert viszonylag jol hasznalhato - ha komolyabb fejleszteshez kell akkor pedig nyilvan nem 1db-ot szerez be az ember a fejlesztesekhez. En szerintem aki 24H-ra fejleszt annak mar kell akkora turnovernek lennie hogy ezt a luxust megengedje magadnak. A hobbystanak meg kisebb projectekre ott van pl a 16F887 vagy a 18F4550 (meg sok mas) amik min 10k irast bir ki es atlagban 100k
Én ezt a technikát úgy szoktam alkalmazni, hogy a megszakítás egy jelzőt állít be, ami a fő ciklusban kiértékelődik és a kijelzés ütemét adja. Ha a jelző beállítódik, akkor a programrész megvizsgálja, hogy volt e új adat a kijelzőre. Ha nem akkor kilép. Hogy volt-e új adat azt szintén jelzőbitek jelölik. Így nem történik felesleges kivitel, és nem megszakításban történik a folyamat. Persze a prioritásos megszakításkezelést ismerő PIC-eknél meg lehet szakítani az alacsonyabbik megszakítást, de igazából a kijelzés nem olyan fontos, hogy bármilyen megszakítást elpazaroljunk rá.
Természetesen mindig a feladat komlexitása határozza meg mire mi jut. És valóban nagy kufferba könnyebb pakolni!
Biztosan jól tudnának alkalmazni a microchip-nél, hogy megmagyarázd a bizonyítványukat, de én ezt ne fogadom el.
Egy ekkora memóriát tartalmazó PIC-re csak egy varázsló tud úgy programot írni, hogy azt kevesebb mint 100x módosítsa. A debuggerrelésről nem is beszélve! Egy SMD-s project esetén pedig a sok darab se nagy előny. Vagy építenek 1000db prototípust? Na mindegy, valószínű nem megy szét 100-tól, de erre nem vennék mérget. Bosszantó. Lehet a végén én is AVR-re váltok, ott bármekkora a Flash, 10K a minimun endurance. Csak abból meg nincs 16bites, és a 32bitesek drágák. Hócipőm is tele van lassan!
A fejlesztés mellett még nagy gáz az, hogy amíg egy 18F -es program memóriáját lehet használni akár eepromként is table read/write -el viszonylag kényelmesen. (napi 1-2) írás mellett is évekig bírja. Viszont a 24-es család esetén ezt ezek szerint jobb elfelejteni.
Azért lepett meg picit, mert a 24F-es családot nézegettem napokban és ott még több doksi esetén is 1000/10000 van az adatlapon, de azokon még kereszben ott van a preliminary felírat. (nem csak a lap alján) Például ez
Tulajdonképpen ha jól belegondolsz, az az 1x16 karakteres képernyő "shadow" és a timer interruptból történő folyamatos frissítgetés sokkal kevesebb erőforrást eszik meg, mint akármi más. Az interrupt esetemben úgyis adott volt, pár plusz utasítás került bele, amivel ezt a folyamatos körbe-körbe frissítést beleírtam, és így a CPU idejéből futás közben alig vesz el.
Másik előnyét ott látom, hogy ha pl. interruptosan küldeném ki a keletkező karaktereket, akkor mekkora puffert (FIFO) foglaljak le a kiírandónak? Ha minimum egy teljes képernyőnyit, akkor már jobban járok, hogy fixen egy képernyőnyit foglalok, ráadásul a fixnél soha nem fordulhat elő, hogy véletlenül a főprogram túl sok kiírandót zúdít rá, és emiatt meg kell állni a FIFO-ba íráskor és várni, amíg az ürül egyet. Persze, van, amikor nem ez a legjobb megoldás, egy 4x40-es képernyőnél én sem csinálnám, de a kicsiknél talán megfontolandó (nekem 1x16-osra kellett).
Érdekes! Szerintem elcseszték a gyártásnál, és túl drága lenne kijavítani!
Idézet: „Egy ekkora memóriát tartalmazó PIC-re csak egy varázsló tud úgy programot írni, hogy azt kevesebb mint 100x módosítsa. A debuggerrelésről nem is beszélve! Egy SMD-s project esetén pedig a sok darab se nagy előny. Vagy építenek 1000db prototípust?” Akkor is megmagyarazom Szoval akinek mar annyi penze van, hogy vegyen 100 db 24H-t az egyetlen 18F helyett (ugye 100x100=10ezer) annak mar van penze SMD reflow forraszto allomasra is SMD pick and place-szel meg SMD mikroszkoppal stb - Na jo, ne mondj erre semmit se AVR-t most kezdtem el en is tanulni - semmi flame! - de egyenlore a tapasztalatom roviden annyi, hogy az architekturaja nagyon tetszik, a GNU C fordito is eleg jol viselkedik, de debuggolni meg szimulalni haaaaat! Dokumentaciok - haaaat! Ilyen szempontbol a Microchip magasan veri az Atmelt. Architekturalisan viszont ami a 8 bites AVR-eket illeti: Az utasitas keszletuket inkabb a 18F-ekhez hasonlitanam annak ellenere ugyanazt hasnzaljak a legkisebb es a legnagyobb MCU-kban is. Ugyanez igaz a periferiakra es az SFR-ekre is, az mindig ugyanott van - atteres egyik chip-rol a masikra kb annyi, hogy az MCU tipusat atallitja az ember a project beallitasoknal. Utasitasoknal eleve nincs a 4-es osztas az FOSC-ra ra, es eleg sok utasitas 1 vagy ket orajel alatt vegez, szembern a 4 vagy 8-as PIC-kel (ugye 1 vagy 2 ciklus de 1 ciklus 4 orajel). Ezen felul vannak az AVR-eknek 16 bites szamlalo regiszterei amikkel 2 orajel alatt 1 utasitassal (tehat fel PIC utasitas ideje alatt!) lehet novelgetni, csokkentgetni stb. Az interrupt kezeloje vektor alapu, tehat a kulonboz interruptok kuonbozo helyekre erkeznek meg, igy nem kell meg azzal is foglalkozni mi okozza az interruptot. Sok ilyen aprosag van meg amitol erosen megfontolando az AVR. Vannak gyenge pontjai is, pl az ossze-vissza memoria cimek, hogy ha nem bit muveletet hajtasz vegre a kimeneten akkor kezzel kell az RMW utasitasokat csinalni (1 utasitas port beolvasas, 1 modositas, 1 kiiras). Ezen persze lehet shadow regiszterekkel segiteni es akkor csak modositas+kiiras lesz es ugy maris gyorsabb mint a PIC 1 utasitasa - es hat azert PIC-nel is kell egy MOVLW es egy XORWF... Egyedul az USB eszkozoket hianyolom, azokat bitbillegtetos modszerrel oldjak meg ami gyonyoruen megy mivel tobb MIPS-be "belefer" ez is, de nekem ez mindenesetre nem szimpi. Na mindegy, kicsit OFF itt a PIC temaban, csak azt akartam leirni, hogy valoban az AVR egy megfontolando dolog.
Sziasztok! Az a kérdésem lenne, hogy mondjuk kevés porttal rendelkező PIC-et hogy tudom úgy felbővíteni hogy többel "rendelkezzen" mondjuk itt gondolok a Soros>Párhuzamos átalakítóra 74LS164 most mindenhonnan gyűjtöm az infókat amúgy mikroBasic-ben van szoftveres UART, szerintetek külön külön portkimenetre tudnék ilyet kötni? Mi a véleményetek?
IO Expanderre gondolsz? Tehat hogy egy kulso IC vegzi el az IO muveleteket amivel SPI-n vagy I2C-n keresztul kommunikalni tudsz?
I2C: MCP23017 SPI: MCP23S17
Portbővítésre a javasolt megoldás az, hogy használj több lábbal rendelkező chipet. Ezen kívül vannak portbővítő chipek, amik további (talán 16) lábat adnak hozzá a meglévőkhöz, és I2C buszra fűzhetők. IO Expander néven találod a microchipnél ezeket. Vagy további módszer, hogy portbővítő chip helyett beteszel egy másik picet, és slave-ként használod, bele pedig csak egy egyszerű programot írsz, hogy azt csinálja, amit a master küld neki.
A mikroBasic pedig inkább a felejtős kategória, főleg az ilyen szoftveres uart és hasonlók terén.
na jól lemaradtam a nap folyamán.
A videómemóriás dolgot azért használom mert igyekszem a "nagyokhoz" hasonlítani technikában. valahogy úgy igyekszem programozni ahogy az emberek láncban adogatják a homokzsákot árvizen. Egyik rutin csinál valamit, "leteszi" az eredményt "valahová", aztán majd amikor "valakinek" az kell akkor majd az tovább "alakítgatja". A lényeg hogy minél eccerűbb és logikusabb legyyen a felépítés. Csináltam már LCD-t 16-ra 18-ra, most 24-re, de szerintem ez a legjobb amit eddig gyártottam. Mindezek mellett a HD44780 nevű makró megadja a lehetőséget hogy tovább "operáljunk" a kijelzővel. Pl. amit ma reggel kiagyaltunk hogy karakterek mellett ciklikus utasítások. Újraírás: Akármit használsz nem bírja örökké. Én ezt a példányt január óta nyúzom, és ha olyan volt hogy elírtam egy betűt, akkor ujra fordít, újra beír, stb stb. Az ára kb 2000+ FA, ezen kívül meg nem kell hasra esni a 16 bites technikától. Minden ugyan az. Idézet: „Újraírás: Akármit használsz nem bírja örökké.” Ez igaz, de nem midegy, hogy 10K, vagy 100! A 10K-s ideális esetben 100k Endurance lesz, a 100-as meg 1000. Szóval jól oda kell figyelni, ha nem akar az ember 100lábú SMD-t forrasztgatni... De egy a lényeg, ezt a gyártó jól elcseszte! Látható az előzetes adatlapokból, hogy nem így volt ez tervezve! Még az is lehet, hogy néhány darab jobban bírja, mint gondolták, ezért működik neked is. Meg aztán az az 1000 elég sok. Én egy 16F876-al kezdtem, az csak 500-at tudott, még is elég volt a végén 2db, pedig igencsak nem értettem hozzá akkoriban(emlékszem, húzogattam a pálcikákat, hogy hány égetésnél járok! ...
Na jo, en el sem merem mondani en hogy kezdtem Azert leirom okulasnak
Szoval fogalmam sem volt az egeszrol, hat vettem legeloszor egy olyan demo boardot amivel tulajdonkepp minden okes volt, egyben volt a programozoval, adtak hozza egy 16F84-es is. Aztan vettem egy 12F508 - helyett egy 12C508 -at - fene tudta mi a kulonbseg Bele kerult par oramba mire rajottem mi a gond, miert nem sikerult az ujra programozas Ez mar jopar eve volt de az biztos egy orok eletre megtanultam hogy mielott vasarolok minden apro reszletet kinezek az adatlapbol Idézet: „Szoval fogalmam sem volt az egeszrol” Ezt gondolom úgy érted, hogy a PIC-ekről nem volt fogalmad. Biztos programoztál már előte és ismerted a számítógépek felépítését!? Idézet: „Ezt gondolom úgy érted, hogy a PIC-ekről nem volt fogalmad. Biztos programoztál már előte és ismerted a számítógépek felépítését!?” Igen, de a hardward architektura, meg a kulonbozo tipusu program memoriak stb mar kodos volt. Nem volt egyszeru bele preselodnom a kis muanyag tokokba PC-k utan annak ellenere vilag eletemben az optimalizalasok volt a kedvenc temam (minel kisebb kodon minel nagyobb sebesseg, es ezt ugye csak es kizarolag assemblyben lehetett megvalositani barmilyen platformrol is van szo).
Ne haragudj, hogy szólok, de tudtommal a Harvard-ot szimpla V-vel írják. Ugyan a neten rengeteg találatot lehet lőni dupla V-s írásmódra is, de én is a szimpla V-sre emlékszem, és úgy tűnik, a wiki is: Bővebben: Link
[OFF]Igen, igazad van! Remelem a sok talalat a W-vel nem mind az en hozzaszolasaimra mutat
Sziasztok!
Egy kicsit magamról:Szűcs Richárd vagyok,a Bolyai műsz. szk.isk.-ba járok,sok ic-s tranyós,csöves erősítőt ,futófényeket,dig.hőmérőt,sorkimenős plazmahangszórót,FM vevőt...építettem már.Úgyhogy van egy !kis! tapasztalatom,érzékem az elektronikához,ez a kedvenc hobbim. És most szeretnék megismerkedni a PIC-ekkel,és programozásukkal.Sajnos ebben a témában még egyáltalán nem vagyok otthon,olvasgattam a neten,de így elsőre...huh,elég bonyolultnak tűnik az egész.Nem tudom,hogy kéne kezdeni,kéne valami egyszerű,és megbízható égető,valami egyszerű program...Arról se találltam semmit,hogy hogyan kell ezeket a programokat kezelni....hexa file?...... Szóval tudnátok nekem segíteni,hogyan,mivel érdemes kezdeni?Ilyesmi lenne a cél,hogy ledes villogó,futófény,aztán későb...ki tudja. Nem tudom,hogy lehet ezt a "tudományt" elsajátítani,csak oktatóval lehetséges?,vagy szép lassan otthon is... A válaszaitokat(ha lesz,ha nem )előre is köszönöm.
[off]Jé, egy Bolyais! Anno én is ott tengettem a napjaimat 5 éven keresztül...
Hát nem lettem sokkal okosabb,de azért köszi,akkor olvasok. :no: 572oldal....
Ma egész nap a PIC-ekről keresgéltem a neten,de még nem nagyon találltam számomra hasznos infót.Milyen jó lenne egy cikk a nullától a futófényigakkor marad az olvasás olvasás olvasás.... Ami itt van fenn cikk a pic-ekről,az még kicsit magas,nem a leg alapabb dolgoktól kezdi.....de azért tetszik.
Nekem az Oshon féle párhuzamos égető vált be.
üdv
Szia!
Na,te PIC-ezel is? Tényleg annyira nagyon bonyolult,Te hogyan,mikor kezdted?
Programozáshoz annyira érték mint nyúk az ABC-hez , de érdekel a téma.
Egyenlőre kész programokat égetek be, de a kapcsolásokon néha alakítgatok is. Inkább óraépítés miatt álltam rá.
Ha olvasol, akkor nemrég linkeltünk cikkeket is. Ha keresel, akkor találsz itt is az oldalon! (nullától a robotokig sorozat, csak a JDM-et felejtsd el belőle, egybként kíválló kezdéshez.)
Szia
Én a Kónya féle könyvvel kezdtem.Sokan szidják,nekem nagyon bejött.A címe: PIC mikrovezérlők alkalmazástechnikája,a Chipcadnél beszerezhető.(szerző:dr.Kónya László)Teljesen az alapoktól indul,nekem arra volt szükségem,és ahogy látom Neked is.Én ajánlom. A másik egy link,már biztos többször szerepelt ebben a topikban,ez is nagyon jó. Ez. És végül,de nem utolsó sorban itt a Hobbielektronikán is van jópár cikk,és téma ami sokat segíthet,pédául ez a "PIC miértek hogyanok" topik,nagyon sok nagytudású,segítőkész emberke van itt. Remélem segíthettem. |
Bejelentkezés
Hirdetés |