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 ---
- 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 ---
FOSC et analyser logique
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
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 !
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 :
donne :
en fait c'est la valeur que l'on met MANUELLEMENT dans le Projet !
un peu nullard cette fonction !
Pour verifier FOSC ,
Rien ne vaut le test d'un chronometrage allumage led , en tete de programme:
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 !
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 !
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;
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 52 invités