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 

Knjiga elektrotehnika v domači delavnici 2
Pojdi na stran Prejšnja  1, 2, 3
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Vse kar nima zveze z elektroniko in računalništvom
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5538
Aktiv.: 24.02
Kraj: Domzale

PrispevekObjavljeno: Sre Apr 15, 2009 8:28 pm    Naslov sporočila:   Odgovori s citatom

Tudi z Bascomom to ni problem ... Z 1MHz ...
Tisti, ki je imel te probleme, verjetno ne pozna timer interrupt rutine ...

Lp, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek4
Član
Član



Pridružen-a: Sob 18 Jun 2005 20:52
Prispevkov: 2952
Aktiv.: 12.42
Kraj: Tržič - Mesto med gorami

PrispevekObjavljeno: Čet Apr 16, 2009 7:25 am    Naslov sporočila:  Re: Sita vrana lačni ne verjame Odgovori s citatom

Silvo je napisal/a:
Na zadnje mi je celo nekdo trdil, da ne uspe spisati aplikacije z miltipleksiranjem displjeja ter branjem 1Wire senzorja, ker mu slednji pobere preveč procesorskega časa, ter ob branju le le ta utripa... Sad


Silvo ne boš verjel. Tudi sam sem imel precej podoben problem. Rešil sem ga do te mere, da utripanje ni problematično. Še vedno pa display občasno rahlo utripne.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14679
Aktiv.: 61.78

PrispevekObjavljeno: Čet Apr 16, 2009 10:41 am    Naslov sporočila:  Re: Sita vrana lačni ne verjame Odgovori s citatom

mucek4 je napisal/a:
Silvo je napisal/a:
Na zadnje mi je celo nekdo trdil, da ne uspe spisati aplikacije z miltipleksiranjem displjeja ter branjem 1Wire senzorja, ker mu slednji pobere preveč procesorskega časa, ter ob branju le le ta utripa... Sad


Silvo ne boš verjel. Tudi sam sem imel precej podoben problem. Rešil sem ga do te mere, da utripanje ni problematično. Še vedno pa display občasno rahlo utripne.


Pa si ugotovil vzrok? To je tipičen primer aplikacije, kjer je zelo pomemben procesorski čas. (hitrost clock-a pri tem ne igra vloge. Procesor lahko gre tudi na 32Khz.) Za normalno multiplksiranje se mora displej osveževati 4-8mS. Proceduro za osveževanje je najenostaveje narediti v kaki prekinitveni rutini timerja. Problem pa nastane pri upravljanju vodila 1Wire. Celoten postopek branja 1Wire senzorja pa traje precej dlje. Če celotno proceduro "stlačiš" zraven v prekinitveno rutino, se bo čas bistveno podaljšal. To bo opazno kot utripanje displeja. Možnost rešitve težave je več. "Razkosanje" 1Wire procedure ter jo izvajati po delih, oz meritev izvajati zunaj prekinitve. Ampak tudi tukaj obstaja past-minimalni timing (Write low time, ki je 15uS max) Če se bo prekinitev izvedla ravno v tem trenutku, ter bo prekinitvena rutina trajala dlje bo prišlo do napačne meritve) Rešitev je izklop prekinitve pred kritičnimi timningi ter po poteku le teh ponoven vklop. Koliko pa tega dopuščajo višjenivojski jeziki pa ne vem.


PS
Tisto testno aplikacijo lahko pripnem, če koga zanima. Uporabljen je AVR (tiny2313 narejena je tudi tiskanina)

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek4
Član
Član



Pridružen-a: Sob 18 Jun 2005 20:52
Prispevkov: 2952
Aktiv.: 12.42
Kraj: Tržič - Mesto med gorami

PrispevekObjavljeno: Čet Apr 16, 2009 11:21 am    Naslov sporočila:   Odgovori s citatom

Pozdravljen Silvo,

sem ugotovil težavo. Torej 1Wire rutina se uporablja 2x. Najprej izvedem konverzijo, potem čakam in potem spet branje. Med vsakim branjem, pisanjem in katerokoliko kominukacijo z 1Wire onemogočim prekinitve. Tako display ne utripa preveč vidno (tako da izgine za nekaj časa), vendar če se človek poglobi se še vedno vidi rahlo utripanje vsako sekundo. Torej stvar rešena - termometer dela.


Nazadnje urejal/a mucek4 Čet Apr 16, 2009 12:14 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14679
Aktiv.: 61.78

PrispevekObjavljeno: Čet Apr 16, 2009 12:00 pm    Naslov sporočila:   Odgovori s citatom

mucek4 je napisal/a:
Pozdravljen Silvo,

sem ugotovil težavo. Torej 1Wire rutina se uporablja 2x. Najprej izvedem konverzijo, potem čakam in potem spet branje. Med vsakim branjem, pisanjem in katerokoliko kominukacijo omogočim prekinitve. Tako display ne utripa preveč vidno (tako da izgine za nekaj časa), vendar če se človek poglobi se še vedno vidi rahlo utripanje vsako sekundo. Torej stvar rešena - termometer dela.


Displej mulipleksiraš v prekinitveni rutini?
Si verjetno mislil "onemogočim?" Če bodo prekinitve omogočene v času časovno kritičnih rutin potem obstaja možnost napak pri delovanju 1Wire vodila. Posledično tudi napak meritve.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek4
Član
Član



Pridružen-a: Sob 18 Jun 2005 20:52
Prispevkov: 2952
Aktiv.: 12.42
Kraj: Tržič - Mesto med gorami

PrispevekObjavljeno: Čet Apr 16, 2009 12:17 pm    Naslov sporočila:   Odgovori s citatom

Silvo. Popravljeno. Moja napaka, katero sem že odpravil. Display osvežujem v prekinitvi timerja. Vse tri cifre (desetice, enice, desetine) za prikaz preračunavam v kodi, tako da prekinitev samo izključi eno katodo na anode porine novo vrednost, ki je že preračunana in vključi novo katodo. S tem sem zagotovil hitro prekinitveno rutino.
Nazaj na vrh
Odsoten 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 -> Vse kar nima zveze z elektroniko in računalništvom Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3
Stran 3 od 3

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


Powered by phpBB © 2001, 2005 phpBB Group