Fórum témák
» Több friss téma |
LOL Csak arra vigyázz hogy ne törjenek le a lábai. Nekem általában le szoktak ilyenkor vagy összeérnek. Ha kell tudok segíteni assemblyben vagy C-ben is.
Nincs most véletlen kéznél nálad egy HEX fájl ami csak villogtat ledet valamelyik lábon?
Nem tudom hogy a bascommal van-e a gond...Ez életem első atmega128-a. Már a programozás is izgalmas volt, az meg nem a MOSI, meg a MISO lábakon, hanem valahol a PORTE-n töténik...
Amúgy vannak trükkjei a 128-nak? Ami nem úgy működik rajta mint mondjuk Atmega16-on vagy tiny2313-mon.
Eddig a programozásnál észleltem ezt...
Nem lehet hogy a programozással van gond? Én SPI buszon programozom, a mosi miso sck lábaknál. És ami még fontos, hogy SPI programozásnál tápot kell rá adni, különben többet meg se szólal az is előfordulhat. Esetleg JTAG-en is megpróbálhatod ha van JTAG ICE debuggered.
Annyi a z extra, hogy ha jól emlékszem az F,G portok címzése nem az I/O regiszterek tartományában van, hanem memóriába van ágyazva, tehát másképp kell kezelni őket mint a többit (kivéve a PINF). Tehát nem in és out utaításokkal, hanem load és store típusúakkal lehet elérni a az F és G porthoz tartozó regisztereket, kivéve a PINF. Ezenkívül a R16-R31 általános célú regiszterekre van csak értelmezve az LDI (load immediate) utasítás, tehát ezeket célszerű használni programírás közben. Mindez persze csak assemblyre vonatkozik, a WinAVR GCC fordtója mindezt tudja neked nem kell vele szarozni.
Nem tudom mi baja lehet...Ha a normál SPI-re raktam rá a programozót, akkor meg se mukkant. Az avr.tavir.hu-n kérdeztem meg hogy miért nem megy. Azt mondták rakjam át a PORTE-re. Átraktam és megy a programozás. A program eljut addig hogy a Portd-n és porte-n H-ra rakja az összes lábat, de tovább nem megy. Valahol a késleltetésbe fagy bele. Gyógyított Bascomot használok, lehet hogy a demó eredetileg nem kezelte jól a nagyobb AVR-eket. A mega16 viszont tök jól ment eddig
Lehet hogy utána kell néznem a C-nek. Nincs róla valami jó kis oldal, ami elindít ??? lehet angol is
Próbáld meg esetleg AVRstúdióval assemblyben. Azt bizztosan ismered hogy hogyan kell. Szerintem nem olyan bonyolult. De majd keresek neked valami példát C-re. AvrStúdió kell meg WinAvr hozzá, meg egy makefile, amibe be kell írni a proci tipusát meg a forrásfájlokat. A másik gépemen van ilyen project, csak hétvégéig nem férek hozzá. Lehet hogy kéne egy AVR cikksorozat is ide a HE-re? A Pic18F4550 és USB cikkeken most dolgozok.
Igen, kellene AVR-es cikksorozat is
Majd este szenvedek AVR Studioval, most lemék a műhelybe és még próbálkozok életet lehelni belé Idézet: „ Lehet hogy kéne egy AVR cikksorozat is ide a HE-re? ” Igen ,az jo lenne!
Elég érdekes jelenség jött létre:
Még mindig a bascommal szórakoztam... Beállítottam 1 sec késleltetést a villogáshoz... Egész nap azt hittem nem megy a cucc, a ledek folyamatosan világítanak. Rámérek PIC-es frekimérővel, erre meg 990kHz-et mutat a műszer! Nem hittem el! Kerestem egy középhullámú rádiót, összekötöttem az antenna bemenettel, és valóban ott volt 1 mega körül! Az az érdekes, hogy a belső oszcillátort használa, az is 1 megán jár... Nem tudom mi lehet vele...
Használj timer interruptot. Az a tuti.
Megoldódott!
A Bascomnál a chip fusebitek beállításánál volt a bibi... Volt ilyen mód hogy : "ATmega103 compatible mode", na ezt kellett átrakni erre: "Standard Atmega128 mode" Elment ezzel egy nap, mire rájöttem Az ilyen interuptokban még nem nagyon vagyok otthon...
Pedig az jó dolog, hasznos tud lenni. Főleg ha assemblyben programozol.
Máma azért kiszenvedtem egy assembly-s programot, persze nem ment, a fusebitek miatt, azután már nem is próbáltam.
Rádugtam az LCD-t és tök jól megy. Holnap jön a RAM próba. Lenne egy kérdésem: Van az AVR-nek egy olyan utasítása hogy BRNE, Branch if not equal tehát ugorjon ha nem egyenlő a megfelelő cimre. Ez OK. Az assembly-s programot egy ledvillogtatóból írtam át, amit a neten találtam, ott, és nálam is a késleltetésnél használja. Ugorjona címre ha nem egyenlő... DE mi nem egyenlő mivel? Ebből hogy jön ki, az hogy, ha a változó nulla akkor ugorjon? A PICnél legalább volt DECFSZ parancs
A Z regiszter értékét nézi. Gyakorlatilag az előtte levő utasítás eredménye 0-e vagy nem. Attól függően ágazik el. Az adatlap végén az instruction set summary-ban megtalálod.
Köszi!
Rendeltem még régebben 4 db max118-as 1Msps sebességű AD átalakítót, kísérletezni jó lesz. Megjöttek ezek is. Egyenként 8 csatornásak, van DIP meg valami smd tokozású is kettő. Alkatrészeim már vannak ingyen, lassan a kijelzőt is meg kéne vennem
Tudtok mondani valami könnyen beszerezhető memóriát, ami tudja legalább 20Mhz-et, vagy próbálkozni az 1Mhz-et? Lehetőleg DIP tokozású legyen belőle, és valami egyszerű működésű kéne. Köszi
Memória: Nincs véletlen valami rossz 386, v 486-os alaplapod? Én abból termeltem ki őket, típusa: 61c256. Most jöttem fel a műhelyből, elindult a szkópon a memória kezelés is.
Alig kell fél mp, hogy kirajzolja az ábrát, 4MHz-en.
Hát sajna nincs, mert ami van azt sajnálom csak ezért haszálhatatlanná tenni. De találtam a RET-nél 62256-os SRAM-ot, mintha valahol említette is volna bbatka ezt a fajtát. Nettó ára 292 Ft, ami még elmegy. FIFO ramot viszont nem találtam sehol, az a baj. Pedig az mk3-ban láttam hogy elég jól bevált, lehet hogy egyszerűbb lenne.
Annó én is a 62256-ba botlottam bele. Amit kaphattam volna az is 14 megás volt, tehát ezt elvetettem.
Viszont máma összedobtam breadboardon egy wien hidas oszcillátort, és meghajtottam a szkópot vagy 20 Hz-el szinusszal. (azért nem gyorsabban, mert ilyenkor a waitms utasítás 1-en van, jobban meg nem megy, csak a waitus utasítással, és nem volt kedvem átírni a programot.... Tök jól megy a RAM, most kb 220 mintát tárolok el benne.
Ezért az árért a 62256 nagyon olcsó. Csapj le rá.
MASTERFoXX gratulálok.
Jól néz ki Látom te is szereted a szép tiszta munkát Sajnos még nincs időm az oszcilloszkópot bütykölni, mert a robotos projectemet kell foltozgatnom, meg nyákot maratni hozzá, meg az USB-s cikk is csak félkész. De legalább minden alkatrészem megvan. Mondjuk nem tudom mit fogok kezdeni némelyikkel, mert olyan pici, hogy esélyem sincs beforrasztani.
Ma sikerült beüzemelni a TDA8703-mat. Igaz az adat most nem került még a RAM-ba, és néha szépen villogott az over/underflow LED, és ez látszódott is a kijelzőn....
Megvettem szinte mindent az analóg részhez, holnap azt is összepróbálom, ha megy, akkor majd épül hozzá az "idegrendszer" vagyis a logika, ami az egészet vezérli, meg az oszcillátort is beüzemelem... Azt találtam ki, hogy a bbatka féle analóg részt kicsit leegyszerűsítem, kihagyom az első IC-t, mert azt hallottam amúgy is hajlandó gerjedésre, hátha kevesebb IC-vel nem lesz az. Vagyis majd nálam az első IC-re megy majd az erősítésszabályozó hálózat, utána megy a triggerre, meg egy sima feszültségkövetőre, és az fogja meghajtani az AD konvertert. A feszültségkövető elé meg megy az eltoló áramkör.
A bemenő műveleti erősítős rész impedanciájának sokszorta nagyobbnak kell lennie mint 1MOhm. Nem célszerű elhagyni a neminvertáló fokozatot.
Akkor mégse... Mindegy. Most így lessz összerakva, mivel eggyel kevesebb IC-t vettem meg, a kész szkópban benne lesz
Érdekesség: A RAM, és az ADkonverter kicsit langyosodik . A RAM-nál végülis érthető, a számítógépben is szokott egy kicsit, de hogy az ADkonverter...
Az eltolást nem lehet szoftveresen? Vagy valami gyakorlati ok miatt egyszerűbb azzal a műveleti erősítővel?
Azért nem lehet szofveresen eltolni, mert az AD konverter az 1.55V-tól 3.26V-ig működik, alatta under- fölötte overflow-ot ad ki magából
Úgy értem hogy az AVR-ben minden konverált értékhez mondjuk hozzáadsz 12-t.
Jó, úgy lehet persze, de az AD konverternél a bemenő feszültséget muszáj eltolnod, különben nem mér jól
Gory, ráadásul a minél jobb jel-zaj arány érdekében az AD átalakító által fogadható feszültségtartományt a lehető legnagyobb mértékben ki kell töltened. Azaz ha jól látom 1,7Vcs-cs lehetőleg legyen meg.
MaSTeRFoXX ! Mekkora frekvenciájú órajelet használsz az AD átalakítóhoz ? Tényleg melegszik ?
Persze ezzel tisztában vagyok, csak arra az esetre gondoltam mikor a képernyőn fel le akarod tolni a jelalakot. Egy műveleti erősítőt lehet úgy spórolni hogy egy potit köt az ember valamelyik A/D csatornára a mikrokontrolleren, és akkor annak az értékét kell szoftverből lekérdezni, és hozzáadni az átalakított értékhez. Csak annyi a macera hogy valamilyen polling vagy időzített lekérdezés kell, és ha változás van az értékben, akkor hozzá kell adni a kirajzolandó görbéhez. Szerintem az az előnye, hogy teljesen digitális a szabályzás és kézbentarthatóbb az eltolás mértéke, esetleg amikor átküldi számítógépre az adatot, akkor könnyebb az eltolást megállapítani.
|
Bejelentkezés
Hirdetés |