www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

AVR in DSPIC

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
tiger
Član
Član



Pridružen-a: Čet 05 Feb 2004 0:22
Prispevkov: 1161
Aktiv.: 4.90

PrispevekObjavljeno: Pon Apr 14, 2008 11:09 pm    Naslov sporočila:  AVR in DSPIC Odgovori s citatom

Hi

Trenutno delam merilni sistem za stružnico z rotacijskim inkrementalnim dajalnikom.
Najprej sem naredil z AVRjem M16 nato še z DSPICem 30F4011.
Na obeh kontrolerjih deluje dvososni sistem X,Y uredu.
Vendar, ko sem navil na os rotacijskega dajalnika vrvico in hitro potegnil je AVR štel uredu, DSPIC je pa spustil precej impulzev?????????? Inkrementalni dajalnik je bil vezan hkrati na oba procesorja vzporedno in na oba vhoda hkrati (X in Y).
AVR je na obeh oseh X in Y preštel enako, DSPIC, pa kr neki.

Kako je mogoče, da 8 bitni procesor prekaša 16 bitni procesor. V obeh primerih sem imel spremenljivko Integer, torej 16 bitno in uporabil prekinitev INT0 in INT1. Oba procesorja sta delala na max možni frekvenci.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
spy
Član
Član



Pridružen-a: Sre 06 Sep 2006 20:43
Prispevkov: 403
Aktiv.: 1.76
Kraj: Tržič

PrispevekObjavljeno: Pon Apr 14, 2008 11:35 pm    Naslov sporočila:   Odgovori s citatom

Ha.... 1:0 za AVR.

Verjetno imaš napisano (prevedeno) ISR rutino v DSPicu daljšo, kot v AVRju. In se ti ne zaključi do naslednjega interrupta. Primerjaj ju v zbirniškem načinu. Pomeri časovno trajanje posamezne.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Tor Apr 15, 2008 12:15 am    Naslov sporočila:   Odgovori s citatom

Slabo napisan program. Niti teoreticno ne more biti 20 MIPS 8-bitnik hitrejsi od 30 MIPS 16-bitnika, ko je program primerno napisan za obe arhitekturi.
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.71
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Apr 15, 2008 9:49 am    Naslov sporočila:   Odgovori s citatom

Še ena stvar glede same arhitekture inkrementalnega števca. Imaš na voljo par variant:
- narejen v CPLDju, in samo bereš vrednost ven
- z logičnimi vrati dobiš signala DIR in CLK, če imaš ustrezen števec s temi vhodi
- z logičnimi vrati generiraš signala CNT_UP in CNT_DOWN. Ta dva signala pelješ na HW števca procesorja. Vse kar mora SW potem narediti je, da odšteje obe vrednosti med seboj. Ta zadnja je najlažja in pokuri najmanj procesorskega časa.
- in še kakšna...

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
tiger
Član
Član



Pridružen-a: Čet 05 Feb 2004 0:22
Prispevkov: 1161
Aktiv.: 4.90

PrispevekObjavljeno: Tor Apr 15, 2008 3:37 pm    Naslov sporočila:   Odgovori s citatom

Hi

Bom še enkrat napisal, merilna sisitema mi pri normalni uporabi z AVRjem in DSPICem delujeta OK. Vendar ko sem probal, kaj zmoreta procesorja je AVR meril pri višjih impulzih uredu, DSPIC pa ne. Čeprav se je tudi pri AVRju ustavilo, če sem hitrost impulzov povečeval.

Za AVRje uporablam prog. orodje FastAvr za DSPICE pa MikroBasic.
Oba programa sem napisal na isti način, kaj je naredil prevajalnik je pa druga.
Znano je , da FASTAVR dela optimalno- kratko kodo. Iz tega lahko sklepam, da je koda od Mikro basica slabša - se počasneje izvaja. Mogoče pretirana uporaba sklada, v ASM kodi je precej inštrukcij POP in PUSH. V detajle se pa nisem spuščal.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Tor Apr 15, 2008 7:02 pm    Naslov sporočila:   Odgovori s citatom

Baje so (ali pa vsaj bodo v kratkem) vsaj za nekatere svoje prevajalnike uredili, da bo lahko interrupt handler za 16-bitne PICe napisan povsem v assemblerju, kar zdaj ni mogoce (mnozica nepotrebnih push/pop parov ne glede na dejansko uporabo registrov znotraj ISR). Morda bo Basic tudi med njimi ...

To moznost njihov prevajalnik za pascal (in najbrz tudi C) za 8-bitne PICe ze ima.

Casovno kriticnih stvari se ne pise v Basicu (imam eno zabavno zgodbico o tem, jo bom ob priliki povedal Very Happy ).

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group