OSCCON - rätt, invecklat, korsinverkan...?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av Erik M »

Som vanligt PIC12F683.

OSCCON har ett antal bits som förefaller inverka samma ställe.

Först IRCF<2:0>, som anger Internal Oscillator Frequency select bit.
Inställning av interna oscillatorn - från 8MHz ner till 31kHz.
Som det verkar ska stöttas av HTS och LTS.
Men hur...?
Båda har individuella not/stable flaggor, alltså fyra olika inställningar.
Men LTS verkar bara ha med den lägsta, 31kHz, IRCF'n att göra...
Så när ska dessa ställas hur? När stable, när not stable?

Sedan OSTS respektive SCS.
Vad skillnaden mellan dessa .....

OSTS: Oscillator Start-up Time-out Status bit(1)
1 = Device is running from the external clock defined by FOSC<2:0> of the Configuration Word register
0 = Device is running from the internal oscillator (HFINTOSC or LFINTOSC)

SCS: System Clock Select bit
1 = Internal oscillator is used for system clock
0 = Clock source defined by FOSC<2:0> of the Configuration Word register

.....?

Och vad händer om man sedan sätter CONFIG,FOSC<2:0> till 100?
100 = INTOSCIO oscillator:
I/O function on GP4/OSC2/CLKOUT pin,
I/O function on GP5/OSC1/CLKIN pin.
Alltså att den interna oscillatorn användas för... klockning...?

Spontant känns det som CONFIG inte spelar roll om man satt OSTS eller SCS till 0.

Eller rättare sagt - om man inte har någon extern oscillator måste CONFIG,FOSC sättas till 100. Annars vet varken OSTS eller SCS vart de ska titta...
Å andra sidan är den externa oscillatorn satt till den interna dito...

Förstår jag detta då rätt spelar OSTS och SCS ingen roll om FOSC är satt till 100, för då är det samma ställe att titta för dem - den interna oscillatorn.
Vilkens frekvens bestäms av... IRCF.

Kvarstår frågan om HTS och LTS - vad menas med detta stable / not stable?

Återigen spontant känns det som IRCF borde känna av detta själv.
En stabil någonting som komplement till frekvens någonting förefaller vettigt...

Alltså antingen stabil HTS eller stabil LTS, inte ≈HTS/≈LTS eller ≈HTS/=LTS eller =HTS/≈LTS eller =HTS/=LTS... <uh>
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46968
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av TomasL »

OSTS HTS och LTS är som det står i databladet, det är alltså inga bitar du kan ändra på själv-
OSTS talar om huruvida du kör på intern eller extern klocka, du kan konfigurera processorn till sk failsafe klocka, dvs om den externa klockan inte startar så sparkas den interna igång, och då kan det vara bra att veta vilken klocla det är som snurrar, detta eftersom den externa klockan kan snurra upp till 20 MHz medan den interna upp till 8 MHz, kan var bra om man behöver ställa om timing osv i programmet.

HTS och LTS är onya statusbitar, vilka du ej kan påverka, de talar om huruvida klockan är stabil eller inte, gissar att det innebär att klockan ligger inom toleranserna och går att lita på uChip skriver inte rakt ut vad det innebär dock.
Det kan vara bra att veta att klockan är stabil om man avser att använda den för tidräkning, då det kan ta en stund för den att stabilisera sig, speciellt om man switchar mellan intern och extern klocka.
Så, inställningarna du har är frekvens och huruvida du skall använda den interna klockan eller inte, dvs två indställningar inte fyra, processorn startar alltid efter hur config är satt, men här har du möjlighet att i ditt program välja.
Allt detta för att spara energi.

Detta är rätt utförligt beskrivit i databladet.

Enkellt uttryck, om du i config specat intern klocka är det det som gäller alltid.
Om du specat extern klocka så startar processorn med extern klocka, alltid.
Om du specat failsafe så kan processorn starta den interna klocka OM den externa inte startar.

Om du specat extern klocka kan du senare i ditt program ändra till intern klocka.

Egentligen inga konstigheter.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av sodjan »

Sen så är det så klart så att en del inställningar kan göra ett andra
inställningar inte får någon funktion alls.

Om man t.ex har valt extern klocka så har det ju ingen betydelse
vad man ställer prescalern för den interna klockan till. O.s.v.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46968
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av TomasL »

Om man då inte i programmet switchar till den interna klockan.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av sodjan »

Ja, *DÅ* får man så klart välja prescaler som man vill ha den... :-)

Jag svarade mer på den generalla frågan "...då spelar X och Y ingen roll om Z är satt till 100".
Och ja, så kan det ju vara, beroende på vad X, Y oxh Z är för något.
Jag har inte tid att kolla i detaljerna i det specifika fallet just nu...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46968
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av TomasL »

Om man i config valt intern oscillator, så startar processorn i 4 MHz, sedan kan man ändra det när väl programmet väl kör, av naturliga skäl finns det då ingen extern klocka att skifta till.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av Erik M »

Ah, svaret är att HTS och LTS är read only. Enkelt.
Tack.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av sodjan »

> Ah, svaret är att HTS och LTS är read only. Enkelt.

Ja, just *det* är ju väldigt tydligt angivet... :-)
Det står "R" ovanför båda, inte "R/W".
Samma sak gäller för OSTS, så klart...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46968
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av TomasL »

Och för att förtydliga -1 och -0 talar om vad biten ifråga initieras till vid POR/BOR/RESET Etc, det är angivet i texten i figuren vilka typer av reset det gäller.
SCS är vid uppstart initierad till 0 vilket innebär att oscillatorinställningarna i CONFIG gäller.
Ett förtydligande när det gäller LTS och HTS, den främsta orsaken tilldessa är att det tar upp till runt 24 us innan den startat, och det är nog rätt dumt att switcha över till den interna innan den startat, typ.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av Erik M »

Det blir inte så bra som det skulle kunna när ni försöker förtydliga, på just det finns det andra som är bättre.

Men stort tack för påpekandet att man inte kan skriva till READ ONLY. :tumupp:
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av sodjan »

Var kan man inte skriva READ ONLY?
Och vem har sagt det?
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av Erik M »

Den var faktiskt riktigt bra den Janne, tog flera sekunder innan minsta silverpenningen trillade ner. :mrgreen:
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: OSCCON - rätt, invecklat, korsinverkan...?

Inlägg av sodjan »

OK, du menar att man inte kan skriva till bitar som är "read only". Nä... :-)
Skriv svar