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 

'Počasnost' EXT interrupta
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Sre Jul 05, 2006 7:52 am    Naslov sporočila:  'Počasnost' EXT interrupta Odgovori s citatom

Tile PICi so me začeli malce zaj****. Je to normalno, da se zunanji interrupt proži šele po 20-50us pri 8MHz clocku? Gre za 12F serijo (12F683).
_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
micabauc
Član
Član



Pridružen-a: Tor 03 Jun 2003 7:12
Prispevkov: 177
Aktiv.: 0.75
Kraj: Celje

PrispevekObjavljeno: Sre Jul 05, 2006 9:50 pm    Naslov sporočila:   Odgovori s citatom

Lahko, če imaš v programu izključene interrupte v kakšni rutini. Ali pa, če si že v interrupt rutini in dokler se ne izvede, pač ni nove prekinitve.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Sre Jul 05, 2006 10:36 pm    Naslov sporočila:   Odgovori s citatom

Saj ravno to je. Programa v glavni zanki ni (samo zanka: goto zanka), koda v interruptu se pa izvede po tako dolgem času...
_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Sokrat
Član
Član



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

PrispevekObjavljeno: Čet Jul 06, 2006 9:29 am    Naslov sporočila:   Odgovori s citatom

Po cem pa sklepas, da traja tako dolgo do interrupta ? Sprasujem zato, ker imas najbrz na voljo osciloskop/analizator in lahko objavis prikaz clocka, eksternega impulza in spremembe stanja, s katero opazujes interrupt. Morda bi bila napaka razvida iz tega (napacno delovanje clocka, neprimerna oblika impulza / neustrezen pull-up, itd.).
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Čet Jul 06, 2006 10:32 am    Naslov sporočila:   Odgovori s citatom

20 us je zelo kratek čas. Kako ugotoviš, da gre za zamudo take dolžine?

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
oversc0re
Član
Član



Pridružen-a: Tor 13 Sep 2005 15:20
Prispevkov: 460
Aktiv.: 1.94
Kraj: Radomlje

PrispevekObjavljeno: Čet Jul 06, 2006 10:34 am    Naslov sporočila:   Odgovori s citatom

Meni se to niti ne zdi tako veliko...

S pici se sicer že dolgo ne ukvarjam, ampak v datasheetu piše: Internal instruction cycle clock (FOSC/4)
Pri clocku 8Mhz, je to 0.5us. Čip naj bi bil single instruction cycle razen branchev, kar pomeni, da v 20us naredi 40 inštrukcij. Če računaš, da nekaj časa preteče za detekcijo interrupta, nekaj za dokončanje trenutne inštrukcije (ok, to je drobiž), potem pa kar nekaj za pospravljanje registrov na stack in pa branch na subrutino in potem moraš še nastavit kakšen port za detekcijo interrupta, je to hitro nekaj 10us.



Lp, M@ic

_________________
The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny ...'
Isaac Asimov (1920 - 1992)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Čet Jul 06, 2006 11:43 am    Naslov sporočila:   Odgovori s citatom

Za opazovanje tega 'pojava' sem uporabil borisz-jev USB osciloskop - logični analizator. Problem je, da želim s PICem komunicirat pri hitrosti tam nekje 30kHz (po svojem protokolu) in moram zaznavati pulze čim prej. Zdaj pa se mi dogaja, da PIC zažene prekinitev in še ne konča, ko pride že naslednji pulz, ki ga pa izpusti. Stvar sem delno rešil tako, da v zanki enostavno čakam na pulz in potem delam naprej, a bi mi s prekinitvami bolj ustrezalo...
_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.24
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jul 06, 2006 11:46 am    Naslov sporočila:   Odgovori s citatom

Samo ideja, kaj pa če bi protokol malček prilagodil in sicer startni bit malo daljšega trajanja, potem pa nadaljuješ 30kHz ....
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
oversc0re
Član
Član



Pridružen-a: Tor 13 Sep 2005 15:20
Prispevkov: 460
Aktiv.: 1.94
Kraj: Radomlje

PrispevekObjavljeno: Čet Jul 06, 2006 12:07 pm    Naslov sporočila:   Odgovori s citatom

NeoTO je napisal/a:
Za opazovanje tega 'pojava' sem uporabil borisz-jev USB osciloskop - logični analizator. Problem je, da želim s PICem komunicirat pri hitrosti tam nekje 30kHz (po svojem protokolu) in moram zaznavati pulze čim prej. Zdaj pa se mi dogaja, da PIC zažene prekinitev in še ne konča, ko pride že naslednji pulz, ki ga pa izpusti. Stvar sem delno rešil tako, da v zanki enostavno čakam na pulz in potem delam naprej, a bi mi s prekinitvami bolj ustrezalo...


Imel sem podobne težave z ARMom na 60MHz, kjer sem rabil hitrost 1Mb/s. Analiza asemblerske kode je pokazala, da prevajalnik dela precej neumno kodo. Ko sem kritične procedure napisal v assemblerju se je hitrost skoraj potrojila. V tvojem primeru sicer nimaš prav dosti rezerve, a kakšno mikrosekundo, bi z asemblersko kodo sigurno prihranil.

_________________
The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny ...'
Isaac Asimov (1920 - 1992)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Čet Jul 06, 2006 12:14 pm    Naslov sporočila:   Odgovori s citatom

Kako pa veš, da ni zakasnitev od usb osciloskopa?

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Čet Jul 06, 2006 12:14 pm    Naslov sporočila:   Odgovori s citatom

bungee je napisal/a:
Samo ideja, kaj pa če bi protokol malček prilagodil in sicer startni bit malo daljšega trajanja, potem pa nadaljuješ 30kHz ....


V bistvu gre za takšno zadevo: Primarno navitje transformatorja s feritnim jedrom vzbujam s PIC + MOSFET kombinacijo, napetost na sekundarju pa usmerim ter uporabim za napajanje vezja. Ker potrebujem tudi komunikacijo, sem prišel na idejo, da uporabim kar prenos preko transformatorja in čisto enostavno frekvenčno modulacijo - 1 dolgo trajanje med impulzi, 0 - kratek čas. Ti impulzi so kratki, da ne obremenjujem MOSFETa in tuljave s kratkim stikom po prehodnem pojavu in jih moram zaznati na sekundarni strani. Trenutno stvar deluje, a bom moral uporabiti dodatni mikrokontroler, ki bo delal samo dekodiranje teh impulzev...

ps: tako kompliciram zato, ker se pri meni sekundarno navitje s polovico feritnega jerdra vrti s 1000-2000 obr/min.... Very Happy

_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Čet Jul 06, 2006 12:16 pm    Naslov sporočila:   Odgovori s citatom

jur je napisal/a:
Kako pa veš, da ni zakasnitev od usb osciloskopa?

Jur


Če le-ta sampla s frekvenco 1 MHz, potem dvomim, da je zaradi njega...

_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Čet Jul 06, 2006 12:17 pm    Naslov sporočila:   Odgovori s citatom

oversc0re je napisal/a:
NeoTO je napisal/a:
Za opazovanje tega 'pojava' sem uporabil borisz-jev USB osciloskop - logični analizator. Problem je, da želim s PICem komunicirat pri hitrosti tam nekje 30kHz (po svojem protokolu) in moram zaznavati pulze čim prej. Zdaj pa se mi dogaja, da PIC zažene prekinitev in še ne konča, ko pride že naslednji pulz, ki ga pa izpusti. Stvar sem delno rešil tako, da v zanki enostavno čakam na pulz in potem delam naprej, a bi mi s prekinitvami bolj ustrezalo...


Imel sem podobne težave z ARMom na 60MHz, kjer sem rabil hitrost 1Mb/s. Analiza asemblerske kode je pokazala, da prevajalnik dela precej neumno kodo. Ko sem kritične procedure napisal v assemblerju se je hitrost skoraj potrojila. V tvojem primeru sicer nimaš prav dosti rezerve, a kakšno mikrosekundo, bi z asemblersko kodo sigurno prihranil.


Po mojem bo tudi nekaj takega. Pišem v C-ju, pa še zelo neCejevsko arhitekturo PICev uporabljam... Bom poskusil tudi sam v assemblerju to napisat (ko bo čas Smile )

_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 5.69

PrispevekObjavljeno: Čet Jul 06, 2006 12:22 pm    Naslov sporočila:   Odgovori s citatom

NeoTO je napisal/a:
ker se pri meni sekundarno navitje s polovico feritnega jerdra vrti s 1000-2000 obr/min.... Very Happy


Hmmm..... Propeler ura? Very Happy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Čet Jul 06, 2006 12:34 pm    Naslov sporočila:   Odgovori s citatom

Microchipov priročnik: PIC micro MID-RANGE MCU FAMILY ima na strani 8-10 sliko: Figure 8-2: INT Pin and Other External Interrupt Timing. Okoli slike je v tekstu povedano vse. Interrupt latency = 3-4 instruction cycle times.
Priložena je slika (brez teksta).

Jur



int.JPG
 Opis:

Download
 Ime datoteke:  int.JPG
 Velikost datoteke:  67.44 KB
 Downloadano:  27 krat



Nazadnje urejal/a jur Čet Jul 06, 2006 12:38 pm; skupaj popravljeno 4 krat
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 -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group