Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Hej! Jag satt och lekte lite med en PIC 16f690.

När jag skulle ställa in oscillatorn så såg jag att man kunde ha läget ”INTOSC – Internal oscillator with FOSC/4 output on OSC2 and I/O on OSC1/CLKIN.”.

Kul tänkte jag, och ”probade” OSC2 pinnen (pin 3 På PDIP paketet) med oscilloskopet. Till min förvåning så var frekvensen 1.25MHz!

Är det någon vänlig själ som kan förklara om jag tänker fel eller om det är något som är lurt.
Enligt mitt hjärnkontor så skall frekvensen på OSC2 pinnen vara 8MHz/4=2MHz.


Jag har ställt in OSCCON registret så att frekvensen är 8MHz. OSCTUNE registret står på noll.

Hjälp!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av sodjan »

Eftersom du tydligen i alla fall har ett oscilloskop så är det ju väldigt
enkelt att fixa en liten kod som togglar en pinne och kolla frekvensen
den vägen. Vad får du får resultat då ?
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Okej, bra förslag. Sagt och gjort:

Jag är van att skriva i C men eftersom jag ville ha koll på timingen så knackade jag ihop lite svinful assembler. It ”does the job”.

Instruktionerna movlw 0x00 och movwf PORTC tog 1.600µs. Vardera instruktion tar enl. databladet 1 ”Cycles” tid.

Fram med TI-82'an: 1 cykel=1.600µs/2=800ns Då en cykel är 4 perioder (T) lång är T=800ns/4=200ms. Klockfrekvensen är således 1/T => 1/200ms=5.00MHz.

Detta kan jämföras med:

Frekvensen på OSC2 pinnen: 1.25MHz. Då detta som jag har förståt det enl. databladet är en fjärdedel av klockfrekvensen. => 1.25MHz*4=5.00Mhz


Slutsats: Vad i helvete?
ToPNoTCH
Inlägg: 5152
Blev medlem: 21 december 2009, 17:59:48

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ToPNoTCH »

Svaret är 5MHz. :mrgreen:

Skämt åsido så är ju det inget giltigt preescaler mode, och om OSCTUNE verkligen ÄR noll, så har den lille kinesen som fabrikskalibrerat den tagit en "power napp" när den strök förbi på linen.

Hmmm...

Kan man verkligen tuna så mycket.
Jag har själv aldrig pillat på OSCTUNE så jag vet inte, men att man kan "finjustera" 3MHz låter inte rimligt.

Det hela låter väldigt konstigt.
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Hehe, 1 poäng till dig!

Men jag misstänker att det har med mjukvaran att göra. Jag kopplade nämligen in en likadan µC köpt vid ett annat tillfälle men problemet kvarstod. Men som du sa, det är skumt med tanke på OSCTUNE. Jag måste nog hårdstudera databladet men det gör jag imorgon, Go natt!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av sodjan »

Vi behöver hela ditt ASM exempel inkl CONFIG uppsättning.
Utan det så blir det bara gissningar. Dina beräkningar ser
väldigt märkliga ut.

> Jag har ställt in OSCCON registret så att frekvensen är 8MHz.

Jag har ingen som helst anledning att tro på det.
Visa att vad du har gjort och inte vad du tror att du har gjort.
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Okej, will do när jag kommer till den datorn, men det är väl fysiskt omöjligt att få till en 5MHz klockfrekvens även om jag skulle försöka?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av sodjan »

Jo, det låter konstigt. Ett rent mätfel/handhavandefel
med oscilloskopet är ju också tänkbart. Jag fattar inte hur
ditt program är gjort, är det ingen loop ??
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av Icecap »

Omedelbart låter det som mätfel. Då jag inte vet vilket oscilloskop det rör sig om och inte heller vilka inställningar det har är det ju svårt att svara på speciellt mycket men jag skulle tippa att PIC'en nog är den som gör rätt...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av sodjan »

> Instruktionerna movlw 0x00 och movwf PORTC tog 1.600µs.

Hur vet du det ?
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Jag gjorde ett nytt program som togglar RC0. RC0 är nu en ”etta” i 800ns och en nolla i 2.400µs
Oscilloskopet jag använder är kjells oc co´s UNI-T UTD2052CL
Jag skickar med ett par screenshots, det kan ju vara jag som mäter fel.

Kod: Markera allt

__CONFIG b'010010000101'

list      p=16f690            
#include <p16f690.inc>                  

ORG     0x000				

bsf     STATUS,RP0	;bank 1		
bcf     STATUS,RP1

movlw 	0x000
movwf 	TRISC

movlw 	b'01110110'
movwf	OSCCON

movlw 	0x000
movwf	OSCTUNE


bcf     STATUS,RP0	;bank 0
bcf     STATUS,RP1 

movlw 	0x000
movwf	PORTC

loop
bsf     PORTC,RC0 
bcf     PORTC,RC0; Tills denna är klar är RC0=1, detta varar 1 cykel, rätt eller fel? 
goto 	loop

END           
RC0:
RC0.PNG
OSC2:
OSC2.PNG
EDIT: Kan någon klargöra, Om allt var som det skulle, skulle frekvensen på OSC2 vara 2MHz?
DUBBELEDIT: Nvm, jag testade en gammal 18f4550´a och där var frekvensen på pinne RA6 2.00MHz. Detta borde väl utesluta oscilloskopet?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av ElectricNooB 14 september 2012, 13:56:06, redigerad totalt 1 gång.
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av Icecap »

Kollade lite på CONFIG och jag fick värdet till:
0b00000011110101

Sedan kan man testa att toggla bit'en på följande sätt:
movlw 0x01 ; Motsvarar vilken bit man vill toggla
loop
iorwf PORTC, f
goto loop

Det ger jämn pulsbredd på båda sidorna så att säga.
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Ja, jag är ingen mästare på asm, men det borde väl inte orsaka problemet? Btw kolla min edit på mitt föregående inlägg.
Användarvisningsbild
Icecap
Inlägg: 26651
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av Icecap »

Nej, jag skulle bara visa hur jävla överlägsen jag är :wink:

Men din mätning verkar korrekt och jag undrar om kretsen ha varit utsatt för mobbning eller andra psykiska påfrestningar? Har du testat med den "rätta" config-rad?
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Konstig frekvens på OSC2 pinnen. PIC16F690. Hilfe!

Inlägg av ElectricNooB »

Det har jag aldrig betvivlat :lol:

Jag provade med din config rad och problemet kvarstod. Jag har även provat med en annan 16f690 och där var frekvensen 1.24MHz... Jag skall leta fram några andra µC´s men dom är SMD chip så det tar ett tag att få igång dom alá deadbug... Det kan hända att dom jag använder nu är ESD-skadade då dom är rätt gamla. Men att båda har exakt samma problem är märkligt...
Skriv svar