AVR vagy '51 idozites kerdes

VF vf at elte.hu
Fri Sep 19 23:20:58 CEST 2003


Thus spake hg12345:

> Jelenleg mukodik mas nem fejlett uC-en, gondolkodom hogyan lehet 
> atultetni fejlettebb uC-re. A tobbi timer eddig a programban nem 
> zavart...

Milyen uC? Ha masik eszkozon mukodik, biztos at lehet ultetni Atmel-re is.

> Ha jol ertelmezem amit irtal: (csak .pdf szinten is merem a ATMEGA-t...)
> valamikor beolvasom a TIMER (mondjuk CAPTURE feldolgozas utan) a 
> megfelelo muvetek utan frissitem a TIMER az uj ertekre, termeszetesen 
> a szamitasi idot figyelembe veve. Megjon az TIMER IT (vagy tulfutas 
> vagy COMPARE funkciora) megint beolvasom a TIMER erteket majd 
> kiszamitom mennyi idom van hatra, termeszetesen a szamitasi idot is 
> figyelembe veszem. A szamitott ertekkel FixCim-szamitott ertek 
> szammal megfelelo szamu nop utan frissitem a PORT kimenetet.

En nem egeszen erre gondoltam, meg kene nezni hogy az eredeti progi
hogy mukodik. De sokat segitene, ha megirnad hogy mire is jo ez az egesz.
Ezzel az a baj, hogy a mexakitas elfogadasa 4 ciklus, a reti a vegen 3,
es meg kozben is akarsz csinalni valamit. Ha ket kozeli idopontban kene
csinalni valamit, bedoglik. Ezert en teljesen szoftveres idozitesre
gondoltam. Ciklus, NOP-ok hegyei, stb... Sajna az AVR procik nem tudnak
RAM-bol futtatni programot, igy nem tudsz elore osszeallitani egy
idozito-fuggvenyt ami pont a szukseges ido mulva ter vissza.
Amigara csinaltam ilyen elven mukodo parallel portos szkopot. (3 bit :)
A progi a triggertol fuggoen csinalt ciklusokat, es adott szamu NOP-ot
tartalmazo tablakat. Sajna ez AVR-en nem megy, de meg lehet oldani
mashogy is.

> Elvileg ha igy megoldhato akkor ennek mukodni-e kell, kerdes a 
> kompenzacios szamitasok kozben amenyiben szuksegesek felteteles 
> elagazasok ezek futasi idejet kitudom egyenliteni? Mert enelkul sajnos 
> nem lehet pontos idoziteseket csinalni.

Ki tudod, de nagyon bonyolult, attekinthetetlen programot kapsz.
Szerintem semmi ertelme. Sok egyebet is meg lehet csinalni mikrovezerlovel,
de nem biztos hogy az a praktikus.

> Az ATMEGA-hoz kaphato vagy csinalhato JTAG debuggeren keresztul 
> idobelyeg mereseket lehet vegezni, melyik az ar szint ahol ezek mar 
> elvegezhetoek. Szkopon kicsit nehezkes 80ms merni 5MHz orajel freki 
> pontossaggal, random modon :-)).

Hogy akarsz pl 10MHz orajelnel JTAG-en debuggolni? Nem ertem hogy ez
hogy jutott az eszedbe. Tobbszaz MHz-en kene nyomni a JTAG-ot, hogy
10MHz-en valos idoben tudj adatot gyujteni a proci mukodeserol.
Ez nem csak az AVR-en, minden procin kizart dolog.
Viszont a szimulatorban (AVR Studio, IAR) pillanatok alatt megvizsgalhatod
a programod idoziteset. Ha mindenkeppen a hardver erdekel, akkor jo ha van
egy olyan "frekimerod", mint amit en csinaltam. Nem csak freki, hanem
kozvetlen periodusido-merest is tud.
Nekem eleg a debug led, es ha mar feleledt a hardver, akkor az elore
megirt assembly fuggvenyeimmel barmit kiirathatok az lcd-re. Van RawDoFmt()
es printf(), a franc fog szenvedni a JTAG-gel, de ha valaki mond egy
ertelmes ervet mellette...

> Udv HG

-- 
Valenta Ferenc <vf at elte.hu>   Visit me at http://ludens.elte.h u/~vf/
"Windows98, mert csak ezt erdemlem :)"



More information about the Elektro mailing list