Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   648 / 1210
(#) Pali79 válasza Pali79 hozzászólására (») Márc 21, 2015 /
 
Lehet nem túl elegánsan, de megoldottam!
(#) Bakman válasza Pali79 hozzászólására (») Márc 21, 2015 /
 
Mi a megoldás? Hátha mást is érdekel.
(#) Pali79 válasza Bakman hozzászólására (») Márc 21, 2015 /
 
A rutin elejére betettem egy változó figyelést. Ha a változó 0 bitje 0, akkor átlépi az első címnövelési parancsot, aztán 1-be állítom a bitet az első kiolvasáskor. Innentől fogva jól működik! Egy 32×32-es táblát simán be tudtam olvasni.
(#) Hp41C válasza Pali79 hozzászólására (») Márc 21, 2015 /
 
A cím számítása és a táblázat elemének lekérdezése független egymástól, csak a változói közösek. A növelés áttehető a kiolvasás utánra is.
(#) Pali79 válasza Hp41C hozzászólására (») Márc 21, 2015 /
 
Tényleg! Csak a sorrendet kellett volna megcserélni... Na sebaj! Köszi ezúton is a cikket! Már többször jól jött!
(#) don_peter válasza zenetom hozzászólására (») Márc 22, 2015 /
 
Nos csak nem hagyott nyugodtan a dolog és rákötöttem direktben egy 18F4550-re. (GLCD-t)
Egy szempillantás alatt tölti be a grafikai felületet.
Meg sem kottyan neki.
És a 18F4550 csak 40MHz-en megy, és ügye 64MHz áll a rendelkezésemre a végleges verziónál.

Szóval a baj itt az, hogy a portbővítőt nem tudom maximális sebességgel vagy is legalább az SPI által megszabott maximális sebességgel (10MHz-el) hajtani.
A 64MHz-et maximum 4MHz-re tudom osztani, az ennél nagyobb osztás már 16MHz-et eredményezne, amit már nem bír a cucc...
Szóval át kell tervezzem az egész eddigi projektet, hogy a GLCD menjen direktben és az összes többi ami nem igényel túl nagy sebességet az mehet portbővítőről.
Pedig már elkészültem végre az egésszel és most kezdhetem előröl az egészet..
Bár mondjuk még mindig jobb most újra kezdeni mint, akkor ha már egy végleges változatnál derült volna ki ez a kis probléma...
(#) zenetom válasza don_peter hozzászólására (») Márc 22, 2015 /
 
Vagy amit a bbalazs is írt, hogy másik PIC-et használsz. Gyakorlatilag a portbővítő helyére beraksz egy saját PIC-et, amit testre szabhatsz, hogy minél egyszerűbb legyen a kommunikáció.
(#) don_peter válasza zenetom hozzászólására (») Márc 22, 2015 /
 
Igen azon is gondolkodtam, de akkor is fen állna ez a maximális 4MHz-es probléma, mert az SPI-t maximum annyival tudom hajtani, így az adatküldés ismét lassú lenne.
Ha meg kimondottan ehhez a feladathoz programoznék fel egy másik önálló PIC-et amely a grafikus és egyéb bonyolultabb megjelenést igénylő feladatokat tartalmazná, és egy kód vagy egy speciális hivatkozást küldve jelenítené meg az adott, előre letárolt grafikákat, akkor meg ezt a részét kellene leprogramoznom, több erőforrás és több energiába kerülne ezt összehangolni és persze több a hiba lehetőség is.

Most annyiban változtatok, hogy a GLCD-ét direktben fogom megküldeni és minden egyéb nem sebesség kritikus funkciót a portbővítőre teszek át, így elvileg veszteség nélkül ugyan annyi erőforrást felhasználva ugyan oda jutok el csak jobb és gyorsabb megvalósításban.
A nyáktervezésben lesz csak kicsit bonyolultabb a dolog, programilag pikk-pakk átírom..
(#) ktamas66 válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Én azért meggondolnám a külön PIC kérdését, hiszen a programod gondolom most is azt csinálja, hogy bizonyos regiszter tartalmak és letárolt képek alapján változtatja a kijelzést. Ezeket a regisztereket soros porton is fel lehetne tölteni, és nem mindegy, hogy az "FF"-et egy byte-ban, vagy grafikus képként kell áttölteni. Ráadásul a kijelzésnél használhatsz másik PIC-et, pl. 18F46K22-t ami olcsóbb de dupla a memóriája.
(#) n_yálastrubadúr hozzászólása Márc 23, 2015 /
 
Sziasztok!
Szeretnék csinálni egy 18f14k50-es bootloader-t. De igazából minden amihez kellene majd az 3,3 voltos. Használhatnám a Microchip alap 18f14k50-es bootloader-ét LF es változatához módosítás nélkül, hogy üzemeljen?
(#) don_peter válasza ktamas66 hozzászólására (») Márc 23, 2015 /
 
Nem egészen.

A projekt amin éppen dolgozom - gondolom a képek alapján ez levágós lehetett - az új forrasztást-vezérlő egységembe fog bekerülni.
A lényege nem csak a grafikus képek tárolása, megjelenítése, hanem azok frissítése, de mind eközben meg még sok más egyéni feladat végeredményének a kijelzőre való kiküldése is szükséges.

Tehát véleményem szerint a 2 PIC-es verzió jó lehet, de bonyolultabb a kivitelezése, és maximum 4MHz-es sebesség korlát is ott lenne, arról nem is beszélve, hogy egyel több hiba lehetőség.
Soros proton való kommunikáció szerintem meg még lassabb és instabilabb mint az SPI.

Sok az infó és így a legjobb megoldás, ha közvetlen hajtom meg és a nem kritikus vezérlések meg mehetnek az MCP-be.
(#) Zsora válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Vagy csupán 1db soklábú PIC-et használsz. Minek 2-3 IC-t használni, ha 1-et is lehet? Kevesebb alkatrész, egyszerűbb felépítés, kisebb nyákméret.
(#) don_peter válasza Zsora hozzászólására (») Márc 23, 2015 /
 
Egyet értek, de most maradok annál ami elérhető a fiókból is.
Később már majd lehet ügyeskedni..
(#) usane válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Vagy mi lenne, ha portbővítő helyett valami shift regisztert vagy egyéb IC-t használnál amit "szoftveres SPI-vel" vagy egyéb módon gyorsabban is hajthatsz mint a 4MHz-es SPI? Igaz, nem tudom hány lábról van szó a bővítőn, de biztosan akad valami hozzá.
(#) SzervízMacska válasza n_yálastrubadúr hozzászólására (») Márc 23, 2015 /
 
Áruld el, minek kell ugyanazt több helyre is beirogatni? Ráadásul ezt az adatlapból is kitotózhattad volna önállóan...
(#) n_yálastrubadúr hozzászólása Márc 23, 2015 /
 
Elnézést. Véletlen másik lapon voltam és halottnak néztem az oldalt. És kitotóztam de csak 99,99%-ra. De még egyszer bocs...
(#) Zsora válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Vagy multiplexelhetnéd a szoftveresen vezérelt lábakat pl. 74LVC373A IC-vel. Az elég gyors megoldás.
(#) ktamas66 válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Én még győzködnélek . Először is egy PIC egyszerre csak egy dolgot tud csinálni, kettő meg kétfélét. A magas lábszámhoz (pl. TQFP 100) nehezebb nyákot tervezni házilag, furatgalván nélkül. Nekem az SPI meg az I2C is soros port, olyat használsz ami neked tetszik. A programod szerintem most is úgy működik, hogy van egy mérő, adatgyűjtő, kommunikációs része (gondolom azért használsz USB-s PIC-et), és egy kijelző része. Pl. az AD mér valamit, azt beteszi egy váltózóba, a kijelző ez alapján kiszámolja mit kell megjeleníteni (csíkot növelni, számot kiírni ...). Én csinálnék egy slave eszközt, abban x elemű tömböt, amit címezhetően lehet írni. Ha ebbe a tömbbe írom be a váltózókat, a kijelző rész majd tudja mit kell ezekkel csinálni. Az általam javasolt PIC-ben ráadásul két MSSP modul van, így akár használhatsz külső memóriát is a statikus képek tárolására.

u.i. Egy plusz PIC 1000Ft és lehet megspórolsz néhány óra szoftveres zsonglőrködést a sebesség miatt.
A hozzászólás módosítva: Márc 23, 2015
(#) don_peter válasza usane hozzászólására (») Márc 23, 2015 /
 
Ohh erre nem gondoltam.. Érdekes lehet.
Összességében a minimum az 12láb ami kellene, de ezen felül is szükség lenne még pár extra funkcióra, szóval a 16láb tuti elég.
Jelenleg MCP23S17-et használok annak 16I/O lába van szóval tökéletes, csak lassú..

Zsora: ezt nem igazán értem, de kérlek ne is ménjük bele részleteibe.

ktamas66: Igen a 2 PIC-es út járható lenne és át is látom milyen felépíttessél lehetne a hatékonyabban megvalósítani, de...
18F46K22-es PIC-et használok éppen azért mert 2 SPI-je van, így megkönnyíti az MCP és egyéb más perifériák jobb elosztását, láncra kötését.
18F4550 csak tesztelés idejére kötöttem fel és persze az első verzió abban fut, de ott még a sima 4x20 karakteres szabvány kijelzőt használok.

Szóval, lesz memória, hőszenzorok, portbővítő, stiftregiszter, és még talán RTC-is szóval sok minden.
Ezekből kivont adatokat kell majd folyamatában megjeleníteni a grafikus kijelzőn, de sokakat úgy, hogy a másodperc tört részének megfelelő frissítési időkkel.
Persze van úgy, hogy 1mp-es időközönként kell frissíteni az adatokat, de többségben sokkal gyorsabban, főleg mivel az interfészt folyamatosan kell figyelni és az pl multiplikálva van.
Szóval nem egyszerű a dolog.
(#) Hp41C válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Egy 40 lábú PIC -en 35-36 I/O lábat tudsz kihasználni, ebből 3 -at vagy 4 -et elvisz az SPI. A bővítőnek van még 16 I/O lába. 35 + 16 = 51. Egy 64 lábú 18F65K22, 18F66K22 vagy 18F67K22 -nél egyből 53 I/O láb állna rendelkezésre és még az RTC is benne lenne. Ha ez sem elég ott a nagytestvér sorozat 18F85K22 stb. 18F65K22 nincs egy ezres ÁFA nélkül.
A hozzászólás módosítva: Márc 23, 2015
(#) don_peter válasza Hp41C hozzászólására (») Márc 23, 2015 /
 
Igen-igen értem én, és jó is a felvetés, de ez már a fiókban van, és félig kész
Köszönöm azért a PIC javaslatokat is, következőknél már ezeket számításba veszem.
(#) Pali79 válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Mekkora kijelzőt használsz?
(#) don_peter válasza Pali79 hozzászólására (») Márc 23, 2015 /
 
240x64 GLCD t6963c chippel szerelt: Bővebben: Link
(#) ktamas66 válasza don_peter hozzászólására (») Márc 23, 2015 /
 
Akartam is írni, hogy ha animáció is van sok munkát le lehet venni a PIC válláról.
Itt egy hasonló megoldás, de nem a sebesség miatt, hanem mert túl sok láb kellett volna a vezérléshez (ez mondjuk I2C-s).

DSC01634.JPG
    
(#) don_peter válasza ktamas66 hozzászólására (») Márc 23, 2015 /
 
Ilyen lett, a sebességet kell nézni: Bővebben: Link
Így most már jó lesz
A hozzászólás módosítva: Márc 23, 2015
(#) ktamas66 válasza don_peter hozzászólására (») Márc 24, 2015 /
 
Az biztos, hogy az a legegyszerűbb, ha minden befér egybe .
(#) rolandgw hozzászólása Márc 24, 2015 /
 
Sziasztok! Nem dolgoztam még Pic-el,de érdekelne a 24-es sorozat.Két napja próbálkozom,de egyetlen dokumentumot se tudtam letölteni a Microchip-től. Rendszeresen megszakad a letöltés.
Ha jól értem akkor ingyenes C fordító az Mplab-hoz van minimális optimalizációval,minden más fizetős?
(#) Hp41C válasza rolandgw hozzászólására (») Márc 24, 2015 /
 
Az XC16 ingyenes változatát 60 napig lehet teljes optimalizálással használni.
(#) rolandgw válasza Hp41C hozzászólására (») Márc 24, 2015 /
 
Köszönöm.
(#) Pali79 hozzászólása Márc 24, 2015 /
 
Most először használom a 18F szériát és a config nagyon fura nekem a 16F után. Megszoktam, hogy egy hexa számmal elintéztem. A 18F-nél is lehet ilyet csinálni? Vagy minden config L és H külön kell beállítani?
Következő: »»   648 / 1210
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