Fórum témák
» Több friss téma |
Lehet nem túl elegánsan, de megoldottam!
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.
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.
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!
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...
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ó.
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..
É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.
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?
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.
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.
Egyet értek, de most maradok annál ami elérhető a fiókból is.
Később már majd lehet ügyeskedni..
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á.
Áruld el, minek kell ugyanazt több helyre is beirogatni? Ráadásul ezt az adatlapból is kitotózhattad volna önállóan...
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...
Vagy multiplexelhetnéd a szoftveresen vezérelt lábakat pl. 74LVC373A IC-vel. Az elég gyors megoldás.
É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
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.
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
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.
240x64 GLCD t6963c chippel szerelt: Bővebben: Link
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).
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
Az biztos, hogy az a legegyszerűbb, ha minden befér egybe .
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?
Az XC16 ingyenes változatát 60 napig lehet teljes optimalizálással használni.
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?
|
Bejelentkezés
Hirdetés |