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 

Nenavadno obnašanje na vhodu

 
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
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Tor Jun 06, 2006 2:37 pm    Naslov sporočila:  Nenavadno obnašanje na vhodu Odgovori s citatom

Pozdravljeni!

V PIC12C508A-[slovenščina je zame španska vas] imam zapisan program, ki ima vhod na portu GP0, ostali so pa izhodi. Na GP0 je vključen notranji pull-up upor. Konfiguracija:
__CONFIG _CP_ON & _MCLRE_OFF & _WDT_ON & _IntRC_OSC

Na GP0 je vezan tranzistor BC847N, ki preklaplja pin v nizko stanje.
Večino časa PIC opravlja svoje delo, občasno se pa zgodi sledeče:
Kar dolgo dela normalno, nakar na GP0 signal počasi začne padati na 4, 3, 2 volta vmes naredi še kak skok +-1V in ponavadi pade na 1V in tam ostane. Zgleda, kot da notranji pull-up ne opravlja svoje naloge. Poskusil sem povezati zunanji pull-up v tem stanju PICa, vendar se napetost na GP0 ne spremeni. Prav tako stanje vztraja, če odklopim tranzistor, niti WDT ga ne postavi na 5V.
Program sem testiral na 6 PICih, na 2 se mi je do zdaj pojavila ta anomalija, ni pa nujno, da se na preostalih ne bi pojavila, saj se to zgodi zelo redko.


Zanima me, če se je že kdo srečal s podobno anomalijo. Vsakršen predlog je dobrodošel.
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: Tor Jun 06, 2006 2:50 pm    Naslov sporočila:   Odgovori s citatom

Kaj pa preklapljaš s tranzistorjem? Dobivaš nazaj na pin kakšne motnje?
Namreč opisan pojav je zelo podoben 'latchup'-u, ko na vhod dobiš signal čudne oblike, ki povzroči, da se vhod/izhod postavi v neko čudno stanje in se preneha odzivati.
Razlaga: Wikipedia - Latchup
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno 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: Tor Jun 06, 2006 3:59 pm    Naslov sporočila:   Odgovori s citatom

Po mojem gre za napako v programu. Pin je postavljen na logično enko, potem pa gre v tristate stanje. Napetost (zaradi kapacitivnosti pinov, vezja) ostane nekaj časa gor in se počasi prazni preko tranzistorja, voltmetra, vezja... Če se to dogaja občasno, je lahko kriv stack (stack overflow). Večina procesorjev ima osem nivojski stack. To je zato, ker ima človek le deset prstov, da jih zatakne v listing programa pri iskanje napake na stacku.

Jur


Nazadnje urejal/a jur Tor Jun 06, 2006 4:04 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Tor Jun 06, 2006 4:03 pm    Naslov sporočila:   Odgovori s citatom

Po vsem prebranem na Wikipediji bi rekel da je to res možen vzrok. PIC je mogoče vzpostaviti v delovanje samo po dolgotrajnem odklopu vezja od napajanja, pri kratkotrajnem odklopu (par sekund) se problem ne odpravi. Ali je pojav odvisen od dolžine vodnikov med tranzistorjem in PICem, saj se kaj podobnega ni nikoli zgodilo, ko sem testiral s PICem povezanim z daljšimi žicami? Prav tako tega pojava nisem nikoli zasledil na 12F ali pa na 16F PICih. V bistvu sem izvedel kar nekaj vezij, kjer sem preko tranzistorjev krmilil stanje na pinih, pa česa podobnega nisem nikoli zasledil. Je mogoče to značilno samo za to serijo PICev?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Tor Jun 06, 2006 4:24 pm    Naslov sporočila:   Odgovori s citatom

Če je v kodi problem, je to verjetno v funkcijah, ki sem jih dodal nazadnje glede na to, da se je težava začela komaj zdaj, testiral sem pa že prej. Na zadnje sem:
-Prešel iz DIP na SMD
-CP_ON ter začetek kode prestavil na 0x40
-vklopil WDT
-v proste lokacije hex datoteke (lokacja od 0x05 in 0x3f) zapisal neke znake, ki pa jih potek programa naj ne bi nikoli dosegel.

Če bi bil kriv sam program, potem bi se ta anomalija pojavljala od začetka. Zdaj se večino časa ne pojavi. Samo občasno.

Tu je kratka predtavitev programčka ki teče na pic:

list p=12C508A ;izbira tipa cipa
#include <p12C508A.inc> ;vkljucitev datoteke z definicijami simbolov

__CONFIG _CP_ON & _MCLRE_OFF & _WDT_ON & _IntRC_OSC

; ---- Spremenljivke
Cblock 0x07
;spremenljivke
endc
;-------------------------------------------------------
movwf OSCCAL
goto init ;skok na glavni program

; jedro programa
org 0x40 ;zacetek programske kode
init
movlw b'00000001' ;vsi pini porta so izhodni, razen GP0 = vhod
tris GPIO ;don't ask why, it's so in pic12f pic12c mcu's
movlw b'10001110'
OPTION ;pull-up upori vkljuèeni, WDT delilnik 110
clrf GPIO ;izhode porta postavi na 0
;postavitev spremenljivk na 0
goto main

main

;tu pride relativno enostavna rutina z kar nekaj btfss in btfsc pina GP0 in in spreminjanji stanja na GP1.

goto main

end
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: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jun 06, 2006 4:59 pm    Naslov sporočila:   Odgovori s citatom

Pripni program ter načrt (če ni skrivnost) - lahko mi daš tudi pod zasebno. Mislim, da imam eno okensko varianto pica - bi zadevo poskusil.
_________________
lp
Silvo
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 -> Microchip PIC Č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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group