Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Tout ce qui n'a pas de catégorie !
FOSC et analyser logique
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#1 Message par paulfjujo » mar. 3 nov. 2020 11:01

Bonjour,

Ce post pour avoir buté sur une mauvaise analyse d'un probleme concernant FOSC INTERNE sur un 18F26K22
pourtant maintes fois utilisé auparavant ..
J'ai activé la sortie du signal FOSC/4 sur la sortie RA6

correspond à config bit CONFIG1H
bit 3-0 FOSC<3:0>: 1001 = Internal oscillator block, CLKOUT function on OSC2

Analyser SQA50 connecté sur RA6 du PIC , pour visu du signal FOSC/4
Avec PLL=1 normalement 8MHzx4= 32MHz RA6 -> FOSC/4= 32/4= 8MHz
j'observe 500nS ce qui est correct à 8MHZ seulement ????
or ma sortie UART1 est OK à 19200 bds !
SQA50 configuré avec sampling rate 10MHz resolution 100nS !

je modifie le sampling rate -> 50Mhz ( le maxi possible!) avec resolution=20nS
et Là, j'observe bien le BON SIGNAL RA6 ..qui donne T=120nS pour une valeur theorique de 32/4=8Mhz T=125nS

Ma conclusion :
il vaut mieux acheter la version 200MHz SQA200 !
:sifflotte: N'est-ce pas Jeremy ?
attention donc aussi à la version tres bon marché made in RPC
en fait on en a pour son argent ..

Attention aussi si le bit SCS1 de OSCCON est à 1
bit 1-0 SCS<1:0>: System Clock Select bit
1x = Internal oscillator block
01 = Secondary (SOSC) oscillator
00 = Primary clock (determined by FOSC<3:0> in CONFIG1H).

la PLL n'est alors PAS appliquée donc FOSC=8MHZ meme si OSCCON.PLLEN=1
L'UART est à 4800bds au lieu de 19200 bds prévu

A noter que la fonction :

Code : Tout sélectionner

clk Clock_kHz();
sprintf(txt," Clock initiale  = %05u KHz\r\n",clk);
UART1_Write_Text(txt);
 


donne :

Clock initiale = 32000 KHz


en fait c'est la valeur que l'on met MANUELLEMENT dans le Projet !
:sifflotte: un peu nullard cette fonction !

:!!: Pour verifier FOSC ,
Rien ne vaut le test d'un chronometrage allumage led , en tete de programme:

Code : Tout sélectionner

Led=1
Delay_ms
(5000);
Led=0;
 


Attention_Clkout_RA6_with_SQA_analyser.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Retourner vers « Coin Fourre-tout »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités