Fórum témák
» Több friss téma |
Fórum » Parallax P8x32 kezdőknek
Sziasztok! Most lőttem ezt a kis kedvcsináló -t. Időközben haladgatok az XPT2046 és ILI9325 Touchscreen LCD párossal. A kijelző szépen működik a minta touch program még valahol megakadt, szerintem még a penirq játszik velem hardveresen, de érzem magamban az erőt! Főleg a másik video -nak köszönhetően!
Sajnos szét kell bombáznom úgy néz ki a Parallax DSO-mat mert rájöttem hogy nem fejleszthető tovább.
Töltsük be a Graphics_Demo spin-t és az első képen látható demó ábrát kapjuk, a programban van egy ilyen sor: _stack = ($3000 + $3000 + 100) >> 2 'accomodate display memory and stack Növeljük meg a program méretét, legegyszerűbb ha létrehozunk egy tömböt mindegy: long test1[224] A _stack túllépés még nem figyelmeztet de a bal felső sarokban már kezd a kép szétesni 2. kép long test1[230] felett már kommentelni kell a _stack sort mert figyelmeztet a túllépésre, de ekkor már videójel sincsen a kimeneten. Hiába van látszólag 6000long szabad területem de az lefoglalódik a képernyőre írás miatt, sajnos a mikrokontrollerek assemmbler részét nem vágom. A szkóp panel eleje maradna mert jó lett zajra, is csak kérdés mit használjak a Propeller helyett? Vehetek TFT kijelzőt és PIC32 vagy valamivel újra írhatom az egész programot, bár a legtöbb kijelzőhöz írt driver állítólag elég lassú de ezt magam is tapasztaltam, a Microchip P32 GUI Dev Board elég gyors lenne a DMA és külső RAM támogatással de 60000Ft ért már egy komplett szkópot lehet kapni, meg beáshatom magam az MPLAB rejtelmeibe, és ennél a panelnál alig maradt szabad kivezetés. Esetleg Rasberry Pi. Vagy megvárom a Parallax2 -t igaz itt a HDMI felbontás miatt már érdemesebb lenne az A/D átalakítót 10 bitesre cserélni. Esetleg mint a Hydra játékok is azért mennek mert külső memória bővítés van hozzájuk toldva, úgyhogy a problémán Chip Gracy sem tud segíteni.
Szia! Nem értem miért nem eleve külső memóriával próbálkozol. A 32k eléggé egzakt méret. Csodákat nem lehet benne tenni - annak ellenére, azért sok mindent igen. Pedig az Assembly lenne a korrekt megoldás, mert ezek eléggé időkritikus folyamatok. Esetleg - ha tényleg letettél a Propellerről - mert valamilyen falba ütköztél - nem hibáztatlak, van elég platform, amivel lehet kínlódni. De nehezen tudom elképzelni, hogy egy ekkora sebességű és teljesítményű chippel meggyűljön a bajod. Valami a rendszer felépítésében van ami hibádzik.
Van külső memóriám 2x512byte, de ennek tartalmát át kell másolnom a parallaxba hogy tudjak vele számolni, mivel a probléma már ekkor előjött ezért választottam ilen kicsit, igazából egy jobbfajta dso memória mélysége 2x2048byte kezdődik, talán amivel meg tudnám csinálni az a pic32 mpide -vel felprogramozva, DS1077 programozható oszcillátorral, semmi gond csak ekkor elveszik az egésznek az értelme, az olcsó nagy kijelző ről sajnos le kell mondani, ezt rá tudtam kötni a nagy lcd tv-re is.
2x512byte is karcsúnak tűnik. Mekkora képpel, milyen színmélységben szeretnél dolgozni?
A felbontás a demonál azt hiszem 192x256. De nem tehetünk semmit mert hiába van 32kbyte hely a _stack = 24kbyte amit lefoglal a kijelzõ, ami miatt marad a 32k ből 8k ami ide karcsú, ahová még egy fullos kis programot kell elhelyezni meg minél több beolvasott adatot elhelyezni , ami sajnos fizikai képtelenség.
A hozzászólás módosítva: Dec 15, 2014
Szia,
Ha nem megy egy chipen a megoldás, akkor kettővel, a nagyok sem szégyenlik a több procit erre. Egyik digitalizálna, írna egy jobb sramot, a másik meg csak a megjelenítéssel, meg amit még elbír... De én nem értek hozzá, így csak ötlet.
Amit írsz 192x256 bit = 49152 Az 6144 Byte Azaz 6kB. A 32k RAM-ba ez nem fér el nyolcszor és még a többi programrészletről nem beszéltünk és nincs színmélység. Mindenképpen más megoldás kell. Ilyenkor segíthet az előfeldolgozás és az interpoláció, valamint a palettakódok használata. Lehet persze jócskán trükközni az idővel is, hiszen egy ekkora képet neked mozgókép esetén kell másodpercenként 24x megjelenítened. De Tömörítheted is a tartalmat a feldolgozás közben. Tehát van tartalék is bőven. Nem feltétlenül az a megoldás, hogy a mért értéket azonnal megjeleníted. Ha az előfeldolgozás ledobja a sok sallangot - elég lehet a kis ram is. D ez csak az én véleményem. Csak azért sántít nekem valami, mert egy Z80-as procival és kis segítséggel (ULA) is lehetett ennyi felbontással 8 színt kezelni a 80-as években, akkor nem tudom elképzelni, hogy egy 20x gyorsabb 8 magos procival ne lehetne, ami eleve tartalmazza a video megjelenítéshez szükséges támogatást. PTP és PTP2 projektek szoftvereit, video lejátszóját nem nézted át? Persze tudom assembly nélkül nehéz. Ebben pedig Chip Gracy kellene, hogy tudjon segíteni. Nekem is sokat segített. Érdemes nem csak az OBEX-en körülnézni. Meglepően jó projekteket találtam én is. Ráadásul neked - bár a konkrét feladatot nem tudom - de lehetséges, hogy mindössze egy függőleges sort kellene tárolnod - ami változik. A többi mehetne egy pufferből is.
Sikerült egy nagyon érdekes dolgot készíteni a P8X32A mikrovezérlővel, egy WVGA TFT modult sikerült életre kelteni melynek ilyen interfac-e van, azt hiszem minden TFT-nek ilyen van:
TFT Parallel Interface Designation Description Function DCLK, CK Data Sampling Clock Control line Data Sampling Clock Signal HSync Horiz Sync signal Control line - Horizontal Sync Signal (negative going) VSync Vertical Sync Signal Control line - Vertical Sync Signal (negative going) R0 Red Data Signal Data Lines R1 Red Data Signal R2 Red Data Signal R3 Red Data Signal R4 Red Data Signal R5 Red Data Signal GND Ground Ground lines are placed between various signal lines for isolation. Only 3 shown as examples G0 Green Data Signal Data Lines G1 Green Data Signal G2 Green Data Signal G3 Green Data Signal G4 Green Data Signal G5 Green Data Signal GND Ground B0 Blue Data Signal Data Lines B1 Blue Data Signal B2 Blue Data Signal B3 Blue Data Signal B4 Blue Data Signal B5 Blue Data Signal GND Ground ENAB Enable Control line - Horizontal Display Position Set Signal H: Enables LCD R/L Option may not be present Right or Left Scan Chip Specific - tied to VCC or GND U/D Option may not be present Up or Down Scan ChipSpecific - tied to VCC or GND V/Q Option may not be present VGA or QVGA Chip Specific - tied to VCC or GND Azaz 6, vagy 8 bites RGB bemenet, Hsync, Vsync, és pixelclock jelek kellenek neki, természetesen itt a legfelső 2 bit van csak kihasználva, a pixel clock-ot a "Synth" spin segítségével állítottam elő de ezt biztos megoldható frappánsbban is, a kijelzőn még van egy rezisztív touch panel is. Itt a módosított demo és a néhány pontban átírt vga_text.spin: Demo:
A vga_text.spin-t átírtam hogya kép jó legyen vga_text_parallel néven:
A hozzászólás módosítva: Dec 22, 2014
Valaki ha nosztalgiát érez a régi '80 as 90-es évek számítógépes játékaihoz akkor a Parallax csippel újra játszhat pár játékot, vagy tanulásképpen megérteni a játék programokat, de annak nehéz dolga lesz.
Itt megvásárolható egy demo board: Bővebben: Hydra Ugyanitt megvásárolható egy hasonló board is. a DVD letöltésével hozzáférünk a játékok forráskódjaihoz: Bővebben: DVD A C3synapse DVD Ver 1.zip kell letölteni. Eddig minden szépé jó csakhogy a Hydra demo panel több mint 40000Ft; ez egyszerűbben is megoldható, eddig 3 játékot át tudtam írni úgy hogy minimális alkatrész igénnyel és 8 gomb segítségével (nem kell a NES gamepad sem) megy a játék. Ha van érdeklődő a következő hozzászólásban felteszem a kapcsolási rajzot meg a 3 játék spin kódjait.
Szia! A repülős nekem is ment, de sajnos csak kompozit video-val. Mivel a műhelyemben VGA a standard a TV-hez meg a család miatt nem férek hozzá - nem bíbelődtem vele többet. A repülős ment PS2 billentyűzetről is. De érdekel a megoldásod, mert több szem .. Főként az Xracer - bár gyanítom neked is a kompozit kimenetről megy.
Végül is ha van kéznél 10Mhz kristály meg CD4021 ic akkor nem kell módositani semmit, az ebay en van párszáz forintért NES game pad, természetesen ezek a játékok mind kompozit vieojelet adnak.
Idézet: Ezt kifejtenéd bővebben? Mert nem minden transzparens azért számomra sem abból amit írtál. „Végül is ha van kéznél 10Mhz kristály meg CD4021 ic”
Nézd meg a hydra demo panelt meg a nintendo nes játékvezérlő kapcsolási rajzait, akkor összeáll a kép.
Érdemes ellesni a megoldást, 1 vagy 2 CD4021 ic, 3 vagy 4 port segitségével 8 vagy 16 bemenet olvasható be, találtam spin és asm megoldásokat meg olyant is ami külön cog ban fut, P8X32A kevés portja van.
Az az igazság, mostanában nem volt annyi időm a propellerre, amennyi kellett volna. Éppen napelemeket szerelünk kint a fagyban (-8-15 fokban). Régebben nézegettem, de ennek neki kell ülni. A CD4021-hez milyen soros szoftvert használsz? Valamilyen obexes, vagy saját?
A propeller2 mikor készül már el? Csak azért kérdezem mert ha belátható időn belül akkor megvárom, a digit szkóp miatt kérdezem mert bár sikerül kettő P1 összehozni de az már nem az igazi.
Sziasztok! Tavaly Karácsonyra ígérték utoljára, de valamiért elhúzódott a dolog. Itt megtalálod a legutolsó információkat, sajnos ez még szeptember - októberi állapot. Kicsit részletesebben a projektről itt.
A hozzászólás módosítva: Jan 8, 2015
Sziasztok!
Mivel kezdő P8x32 a téma - kicsit szégyellem, hogy így belecsaptunk a lecsóba. Úgy is fogalmazhatnék, hogy adós maradtam pár dologgal a valóban kezdőknek. Sokan kérdezik: "Miért éppen a Propeller mikrokontroller?" Igyekszem kicsit megvilágítani. Egy nagy fejlesztés elején fel sem merült, miben gondolkodjak, hiszen a PIC kézenfekvő megoldásnak tűnt. Azonban... evés közben jön meg az étvágy és okosodik az ember. Egyre nőttek a funkciók, egyre több láb, egyre változatosabb be és kimenetek kellettek (volna). Azonban a hardvernél is akadtak gondok. Majd később a szoftver első változatai elkészültek assemblyben - amit nem én írtam. Meg is lett a következménye - amikor a barátom a megírt szoftverrel együtt eltűnt. 3 év munka a kukában landolt, mert megvolt ugyan a kapcsolási rajz és a pic típusa - de a szoftver nélkül.... Nos elkezdtem keresgélni. Vajon melyik mikrokontrollerrel tudok hatékonyabban dolgozni? Melyikhez mit kell bevásárolnom, hogy használhassam egyáltalán? PIC, ATMEGA, Texas stb? Ekkor hívta fel nekem is egy ismerős a figyelmemet a Parallax cég mikrokontrollereire. "SX a világ leggyorsabb mikrovezérlője." Hmmm- ez érdekes cikk - gondoltam ráolvasok. Aztán 2006-tól elindult a Propeller, azaz a p8x32. Mitől is olyan különleges ez a mikrokontroller? Nézzük csak: 8db önálló processzormag, 80MHz rendszer órajel, 32 bit, és egy pirinyó memória: 32kB. Mindez DIP40-es tokban is. Lássuk, mi kell az élesztéséhez: RS232, soros eeprom(opcionális), kvarc(opcionális), 3.3V tápfeszültség, reset gomb. Szoftveresen ha elakadok, ki segíthet? Elsőként ott van a szakirodalom, valamint az OBEX. Mi is ez az utóbbi? A Parallax által fentartott weboldal, ahol a már megírt, publikált szoftverekből lehet mazsolázgatni. Elősként gyors áttekintésként ennyi. Az első panelemet nem én építettem, megvásároltam készen. Első nap kb 400 programot nyálaztam át a segítségével: VGA low-res, hi-res megjelenítések, Audio be és kimenet, digitális be és kimenetek, kommunikációs protokollok, játékok.... Csak kapkodtam a fejem. Ami azonban megfogott azonnal: Nincs szükség több tízezer forintos fejlesztőpanelekre, méregdrága fejlesztő szoftverekre az induláshoz - és a későbbi fejlesztésekhez sem. Elegendő a mikrokontroller és egy led, valamint a szoftver letöltéséhez szükséges - mindössze kb 6MB-os pogram és letöltőkábel (lehet saját is). (folyt.) A hozzászólás módosítva: Jan 26, 2015
Nem vita indítónak, mert én is többször kacsingattam felé, de végül nem tudott meggyőzni. Szépen hangzik, de addig gyors ez a uC, amíg a COG-ok tudnak külön dolgozni, és a közös memórián max. adatot cserélnek. De a COG memória nagyon-nagyon kevés. Ha meg egy program nem tud lefutni a COG-ban a mérete miatt, akkor közösből kell tölteni, interpretert feltölteni, ami nem elég, hogy eleve lassít az egészen, még a közösből olvassa a interpretálandót is.. az a COG igen silányan fog teljesíteni. A gyártó meg nem túl kommunikatív, pont a fontos részletek nem lettek kibontva hosszú évek óta a doksikban, a gyors fejlesztés oda, mert a példaprogramokból kell tapasztalati úton tanulni.. Semmi előnyét nem látom egy nagy, gyors 8 biteshez (mondjuk egy megaAVR) képest. 32 bit? És? Árban meg elég merészet mertek álmodni. És a munkád nem védhető le, az lopja el, aki akarja.. Vannak benne nagyon jó megoldások, asmi miatt időnként képbe került, és ha nem ilyen apró COG memória lenne benne, bizony nagyon ütős lenne, talán még használnám is, de így.. Oké, lehet leszedni kész obex fájlokat, aztán még össze is lehet legózni őket, csak ez nem fejlesztés.
Nem is vitatkozom. Nyilván vannak tapasztalataid. Én sikeresen fejlesztek rá, mert van pár debug eszközöm. Megvásároltam végül a Viewportot is - de mint kiderült egyáltalán nem kellett volna, mert a legjobb debug eszköz egy másik propeller, valamint a soros port. Gears-t ismered? C-ben miért ne lehetne fejleszteni? A cog memória valóban kicsinek tűnik, de kérdés, mire akarod használni? Nekem a webszerverhez is elegendő 16k. Csilivilihez meg ott a külső, gyors memória.
Gearst nem ismertem, de hasznosnak néz ki. C-ben is lehet fejleszteni, de nem a nyelv a lényeg (bár az interpretert hanyagolnám), hanem a uC felépítésének a sajátosságai. Ami okosan ki van ugyan találva, de a csöppnyi cog memória üti az egészet. Mindenesetre, ha a prop2 valaha elkészül és kapnak a cog-ok elég saját memóriát, én leszek az első, aki ráveti magát. Ennek a uC-nek viszont nem fogok nekiállni, ezt béta verziónak tekintem.
Csak - ha már felhoztad... Milyen feladatra nem elég egy interpreter alapú chipnél 32k memória? Rengeteg alkalmazás van, ami nevetve elfér ennél kisebb helyen is. Van valami konkrét feladat - amihez kevés volt? Pusztán csak érdekelne, mert sokan ezzel bombáznak, hogy kevés a 32k, de senkit nem tudok, aki megpróbálta volna teleírni - rajtam kívül, akinek nem sikerült eddig, pedig 2010 óta azon vagyok.
A hozzászólás módosítva: Jan 27, 2015
Nem, nem a 32K közös a baj. A cogok saját, "demo méretű" memóriája a baj. Ezt a uC-t akkor lehetne durván kihasználni, ha a cogokba önállóan futó programokat írhatnék, a közös területet pedig csak adat tárolásra, illetve egymás közötti adatcserére használnám. Tehát ha tartozik hozzá annyi memória, hogy egy feladat (asm-ben) elvégezhető egy maggal. Ekkor van értelme 8 magnak. Ehhez viszont kevés a saját memóriájuk, ezt anno próbáltam sok éve.. Az interpretálós része soha nem is érdekelt. A közösből interpretálni olyan luxus, hogy elveszti a uC a felépítéséből eredő hatékonyságát, és ezért nincs is szükség rá. De mindez magán vélemény, nem szeretném, ha azt hinnéd, hogy pusztán vaktölténnyel durrogtatok egy olyan ellen,m aki gyakorlatban is használja.
Nézőpont kérdése. A közös memória előnyösebb, mert minden cog hozzáfér és nem kell mozgatni az adatokat. A méret - nos igen. Igazándiból egy hátrányát láttam eddig. Mivel a mikrokontrollert eleve 8 bites gépek emulációjára tervezték - gond, hogy lapozgatni kell. Igaz mások ezt is megoldották, külső - párhuzamos buszos memóriával. De ez jóval alacsonyabb sebesség. Azért kérdeztem konkrétumra, mert eddig még senki nem jelezte, hogy neki kevés lett valamiért a 32k. Ezzel én be is fejeztem a memória kitárgyalását, mert annyi jó tulajdonsága van a mikrokontrollernek - ami többet érdemel.
Nem kell messzire menni én vagyok akinek kevés lett a 32k memória, tulajdonképpen nem a program memória kevés nagyon sokmindenre elég, hanem ha VGA grafikát használsz a lefoglalt stack miatt elveszik sok hely. Pont az egyetlen előnyét a videó, VGA jel generálásának képességét nem lehet kihasználni, ami a többi általánosan ismert kontrollernek nincs meg; a propeller2 már a propeller1 kiadása után tervbe lett véve.
Kameleon2 bejegyzésére reagáltam, mert nem feltétlen értek vele egyet. Nem "csinálok" semmi extrát, beszélgetünk a propellerről. A kezdők figyelmét fel kell hívni az esetleges kellemetlenségekre is! Miért baj ez? Mindegy, lépek a topicból, használja mindenki sikerrel, aki ezt a vezérlőt használja!
A hozzászólás módosítva: Jan 28, 2015
|
Bejelentkezés
Hirdetés |