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 

Kalibracija PIC 12Cxxx

 
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: Pet Feb 24, 2006 12:09 pm    Naslov sporočila:  Kalibracija PIC 12Cxxx Odgovori s citatom

Pozdravljeni!
Pred kratkim sem začel pisati program za PIC 12F509A. Na zadnji spominski lokaciji sem prebral tovarniško kalibrirano vrednost, ki se jo vpiše v OSCCAL register, da je PIC časovno sinhroniziran na 4MHZ ob uporabi internega RC oscilatorja.
Mogoče kdo ve, kolišna je natančnost frekvence pred in po kalibriranju? V datasheetu čipov serije 12c sem zasledil, da je lahko frekvenca nekje v razponu od 3.65 da 4.3 MHz (to je verjetno bilo mišljeno, če spreminjamo vrednost registra OSCCAL iz ene skrajne vrednosti v drugo) Poleg tega pa sem zasledil, da je natančnost v obsegu 2% (vrednost po kalibraciji?). Serija 12F pa naj bi bila tovarnoško skalibrirana na 1%.

Še ena nejasnost glede vpisa kalibracijske vrednosti v register OSCCAL ob zagonu programa v PICu.

org 0x3FF ;lokacija kalibracijske vrednosti v 12C509A
org 0x00
movwf OSCCAL ; update register with factory cal value
goto Start

org 0x2b

Start ; coding begins here

Najprej se pomaknemo na zadnjo spominsko lokacijo čipa, kjer je zapisana tovarniško določena kalibracija. Tam imamo po defaultu ukaz xorlw, tako da se izvede ekskluzivni ali med kalibracijsko vrednostjo in work registrom. Dejansko naj bi se na ta način prepisala kalibracijska vrednost v work register, da jo kasneje z ukazom movwf prekopiramo v OSCCAL register. Problem je v tem, da ob resetu simulator MPLAB vrednost work registra postavi na 0xff, kar pomeni da se v register vpišejo inverzne vrednosti bitov glede na vrednost v 0x3ff. Je to samo problem simulatorja, ali se to dejansko zgodi?
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: Pet Feb 24, 2006 12:44 pm    Naslov sporočila:   Odgovori s citatom

V datasheetu sem zasledil:
Location 03FFh (PIC12C509, PIC12C509A,PIC12CR509A, PIC12CE519) contains
the MOVLW XX INTERNAL RCoscillator calibration value. Očitno je vpisana vrednost na PICu (prebrana vrednost na dveh PICih je bila 0C78 in 0C68-) sestavljena iz ukaza MOVLW (koda 0C)(premakne vrednost na lokaciji v w) in kalibracijske vrednosti (78 oziroma 6Cool. Simulator ima pa po defaultu ukaz 0F (xorlw) zaradi česaar bi bilo potrebno prednastaviti to vrednost na zadnji lokaciji, da bi simulator pravilno delal.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Pet Feb 24, 2006 3:39 pm    Naslov sporočila:   Odgovori s citatom

Pa kaj sploh imaš ti od tega, da to simuliraš?

MPLAB tvojemu procesorju med simulacijo doda absolutno točno frekvenco za simulacijo. Vse to ima smisel le v realnem procesorju, kjer pa na točnost poleg kalibracije vpliva še temperatura, vezje, napetosti ...
Če hočes simulirati odstopke nastavi frekvenco procesorja na željeno vrednst pa potem simuliraj.

_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
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