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 ---
Modérateur : Jérémy
Oscillateur, UART et PLL ???
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir à tous,
Je rencontre un problème que j'ai toujours eu, mais j'ai toujours opté pour la solution la plus facile pour le contourner. Ca me saoule de ne pas comprednre depuis tant de temps !
ce n'est pas la premiére fois que je pose la question qui tourne autour !
Je souhaite établir une com UART à 19200 bauds. Je souhaite aussi faire fonctionner mon PIC à fond les ballons soit 32Mhz.
Je tests mon oscillateur avec une LED et une pause; je l'a fait clignoter toute les secondes; Ma led clignote tout doucement.
J'active les PLL et je reste à 32Mhz . MA LED clignote toute les secondes !
Ok !!
J'essaye d’établir une com UART à 19200 bauds , ça fonctionne pas
JE passe ma Fosc à 8Mhz et je désactive les PLL , ça fonctionne !!!
résultat des courses suis je poblige de faire focntionner mon PIC à 8Mhz ???? ( c'est ce que j'ai toujours fait ) mais bon .....
Est ce que 19200bauds c'est trop lent , pour un PIC qui mouline à 32Mhz ?
Merci à vous
Je rencontre un problème que j'ai toujours eu, mais j'ai toujours opté pour la solution la plus facile pour le contourner. Ca me saoule de ne pas comprednre depuis tant de temps !
ce n'est pas la premiére fois que je pose la question qui tourne autour !
Je souhaite établir une com UART à 19200 bauds. Je souhaite aussi faire fonctionner mon PIC à fond les ballons soit 32Mhz.
Je tests mon oscillateur avec une LED et une pause; je l'a fait clignoter toute les secondes; Ma led clignote tout doucement.
J'active les PLL et je reste à 32Mhz . MA LED clignote toute les secondes !
Ok !!
J'essaye d’établir une com UART à 19200 bauds , ça fonctionne pas
JE passe ma Fosc à 8Mhz et je désactive les PLL , ça fonctionne !!!
résultat des courses suis je poblige de faire focntionner mon PIC à 8Mhz ???? ( c'est ce que j'ai toujours fait ) mais bon .....
Est ce que 19200bauds c'est trop lent , pour un PIC qui mouline à 32Mhz ?
Merci à vous
Oscillateur, UART et PLL ???
Oscillateur, UART et PLL ???
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Phased loop lock . autrement dit et en bon français "boucle a verrouillage de phase" . C'est pour faire aller plus vite le µP , il me semble, mais ca dépasse largement mes compétences !
A mon niveau déjà, je ne comprends pas a quoi ca sert de le faire tourner plus doucement que à fond !!!
Réduire la conso ? OK
diminuer les fréquences ? oui bof !!! peut etre quelques cas ...
A foutre le bazar dans ma tête... ca OUI
A mon niveau déjà, je ne comprends pas a quoi ca sert de le faire tourner plus doucement que à fond !!!
Réduire la conso ? OK
diminuer les fréquences ? oui bof !!! peut etre quelques cas ...
A foutre le bazar dans ma tête... ca OUI
Oscillateur, UART et PLL ???
Bonsoir Jérémy, et bonsoir tous le monde
Ce que j'ai trouvé, mais toujours pas évident à comprendre :
Une boucle à verrouillage de phase classique est constituée :
- d'un comparateur de phase
- d'une pompe de charges
- d'un filtre de boucle,
- d'un oscillateur commandé en tension
- d'un diviseur de fréquence.
Je crois avoir compris, lire le sujet qui est ici :
http://forums.futura-sciences.com/elect ... e-pll.html
Si tu veux avoir une fréquence plus haute, j'ai bien l'impression qu'il faut activer la PLL.
Avant toute chose, si on veut comprendre ce qui se passe dans le pic, il faut comprendre les définitions techniques,
pas toujours évident, surtout quand c'est expliqué en anglais.
La durée de chaque bit est une constante et dépend de la vitesse de transmission.
Par exemple, pour une vitesse de 9600 bauds, c’est à dire 9600 bits par seconde, chaque bit durera
((1s/9600) * 1000000) = 104,17 µS.
Pour ton cas :
((1s/19200) * 1000000) = 52,08 µs
Je dirais, qu'avec un quartz à 4 Mhz il n'y a pas de problème, alors à 32 Mhz ça passe tranquille.
A+
Ce que j'ai trouvé, mais toujours pas évident à comprendre :
Une boucle à verrouillage de phase classique est constituée :
- d'un comparateur de phase
- d'une pompe de charges
- d'un filtre de boucle,
- d'un oscillateur commandé en tension
- d'un diviseur de fréquence.
Je crois avoir compris, lire le sujet qui est ici :
http://forums.futura-sciences.com/elect ... e-pll.html
Si tu veux avoir une fréquence plus haute, j'ai bien l'impression qu'il faut activer la PLL.
Avant toute chose, si on veut comprendre ce qui se passe dans le pic, il faut comprendre les définitions techniques,
pas toujours évident, surtout quand c'est expliqué en anglais.
Est ce que 19200 bauds c'est trop lent , pour un PIC qui mouline à 32Mhz ?
La durée de chaque bit est une constante et dépend de la vitesse de transmission.
Par exemple, pour une vitesse de 9600 bauds, c’est à dire 9600 bits par seconde, chaque bit durera
((1s/9600) * 1000000) = 104,17 µS.
Pour ton cas :
((1s/19200) * 1000000) = 52,08 µs
Je dirais, qu'avec un quartz à 4 Mhz il n'y a pas de problème, alors à 32 Mhz ça passe tranquille.
A+
Oscillateur, UART et PLL ???
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Oui c'est chaud la PLL !!
Bon je pense que j'ai un soucis avec ma carte EasyPIC . En même je la malmène la pauvre !!! des fois ca fonctionne , des fois non .....
La je touche plus a rien ça fonctionne à 8Mhz .
Je relance le programme avec cette fois PLL enable et je pense à 32Mhz . Ça fonctionne aussiiii .
tant mieux mon PB est résolu, mais pas compris pourquoi lol ....
Bon je pense que j'ai un soucis avec ma carte EasyPIC . En même je la malmène la pauvre !!! des fois ca fonctionne , des fois non .....
La je touche plus a rien ça fonctionne à 8Mhz .
Je relance le programme avec cette fois PLL enable et je pense à 32Mhz . Ça fonctionne aussiiii .
tant mieux mon PB est résolu, mais pas compris pourquoi lol ....
Oscillateur, UART et PLL ???
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Bonjour Jeremy et à tous,
Il y a effectivement un piege à "ions" avec cette PLL
et en particulier si on utilise l'oscillateur interne
forcémént à 8MHz pour utiliser la PLL
Pour utiliser l'oscillateur interne il faut mettre SCS1 à 1... mais le mettre à 0 si on utilise AUSSI la PLL
ce qui donne
result :
à 32MHz , l'UART peut monter à 115K bauds avec 0,64% d'erreur
exemple : datasheet 16F1847 page 303 tableau 26.5
Testé OK, à 115200 bauds , avec un 16F1847 alimenté en 3,3V
et un cordon Prolic TTL/USB -> Tera Terminal
oubli parametre important:
config bit
CONFIG1 : $8007 : 0x39E4
CONFIG2 : $8008 : 0x1613
Il y a effectivement un piege à "ions" avec cette PLL
et en particulier si on utilise l'oscillateur interne
forcémént à 8MHz pour utiliser la PLL
Code : Tout sélectionner
The 4xPLL is not available for use with the internal
oscillator when the SCS bits of the OSCCON register
are set to ‘1x’. The SCS bits must be set to ‘00’ to use
the 4xPLL with the internal oscillator
Pour utiliser l'oscillateur interne il faut mettre SCS1 à 1... mais le mettre à 0 si on utilise AUSSI la PLL
ce qui donne
Code : Tout sélectionner
#define With_PLL
// OSCCON: OSCILLATOR CONTROL REGISTER
// bit 7 SPLLEN: Software PLL Enable bit
//If PLLEN in Configuration Word 1 = 1:
// SPLLEN bit is ignored. 4x PLL is always enabled (subject to oscillator requirements)
// If PLLEN in Configuration Word 1 = 0:
// 1 = 4x PLL Is enabled
// 0 = 4x PLL is disabled
//bit 6-3 IRCF<3:0>: Internal Oscillator Frequency Select bits
//bit 1-0 SCS<1:0>: System Clock Select bits
//1x = Internal oscillator block
//01 = Timer1 oscillator
// OSCCON = 0b01111010 ; // 16 Mhz oscilateur interne
// 8 Mhz oscilateur interne
OSCCON=0;
OSCCON.IRCF3=1;
OSCCON.IRCF2=1;
OSCCON.IRCF1=1;
OSCCON.IRCF0=0;
OSCCON.SCS0=0;
#ifdef With_PLL
OSCCON.SCS1=0;
OSCCON.SPLLEN=1 ; //active PLL so FOSC=8x4=32MHz
#else
OSCCON.SCS1=1;
#endif
OSCTUNE=0;
Delay_ms(1000);
Init_Hardware();
UART1_Init(115200);
UART1_Write(CLS);
Delay_ms(500);
CRLF1();
clk = Get_Fosc_kHz();
LongWordToStr(clk,CRam1);
UART1_Write_CText(" Get_Fosc_Khz = ");
UART1_Write_Text(CRam1);
CRLF1();
result :
//Get_Fosc_Khz = 32000
à 32MHz , l'UART peut monter à 115K bauds avec 0,64% d'erreur
exemple : datasheet 16F1847 page 303 tableau 26.5
Testé OK, à 115200 bauds , avec un 16F1847 alimenté en 3,3V
et un cordon Prolic TTL/USB -> Tera Terminal
oubli parametre important:
config bit
CONFIG1 : $8007 : 0x39E4
CONFIG2 : $8008 : 0x1613
Modifié en dernier par paulfjujo le mer. 26 juil. 2017 10:33, modifié 2 fois.
Oscillateur, UART et PLL ???
-
cyril13110
Confirmé- Messages : 742
- Âge : 41
- Enregistré en : avril 2016
- Localisation : 13
bonjour à tous,
une boucle à verrouillage de phase sert à augmenter artificiellement la fréquence par la division de la période par un paramètre interne.
et normalement ca n'influe sur rien dans le reste du pic......
si tu mal mene ta platine regarde que tu n'ai pas un faut contact quelque part.........
La seul chose que je retiens de l'oscillateur interne du pic est qu'il produit plus d'erreur qu'un quartz externe car la fiabilité du circuit n'est pas la meme.
une boucle à verrouillage de phase sert à augmenter artificiellement la fréquence par la division de la période par un paramètre interne.
et normalement ca n'influe sur rien dans le reste du pic......
si tu mal mene ta platine regarde que tu n'ai pas un faut contact quelque part.........
La seul chose que je retiens de l'oscillateur interne du pic est qu'il produit plus d'erreur qu'un quartz externe car la fiabilité du circuit n'est pas la meme.
Oscillateur, UART et PLL ???
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
cyril13110 a écrit : ..
et normalement ca n'influe sur rien dans le reste du pic......
si justement ..
sauf cas particulier .. ex: oscillateur extern pour Timer1
et mode sleep , basse consommation , commmutation sur 31KHz
Sur d'autres PICS evolués ( ou plutot compliqués) il y a differenciation entre Fosc MCU et Peripheriques
et là, le schema , diagram de l'oscillateur s'impose pour pouvoir suivre les differentes combinaisons. ex 18F87J50
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Oscillateur, UART et PLL ???
-
cyril13110
Confirmé- Messages : 742
- Âge : 41
- Enregistré en : avril 2016
- Localisation : 13
paulfjujo a écrit :
si justement ..
sauf cas particulier .. ex: oscillateur extern pour Timer1
et mode sleep , basse consommation , commmutation sur 31KHz
Sur d'autres PICS evolués ( ou plutot compliqués) il y a differenciation entre Fosc MCU et Peripheriques
et là, le schema , diagram de l'oscillateur s'impose pour pouvoir suivre les differentes combinaisons. ex 18F87J50
Fosc.jpg
quand je dit que ca n'influe pas je veux tous simplement dire que ca ne bloque pas, ca va juste faire mouliner plus vite le pic et rien de plus.
en tous ca ca ne bloque pas l'UART.
Oscillateur, UART et PLL ???
Bonsoir Jérémy, et bonsoir à tous,
c'est bien ce que je pense aussi, ça me rappelle un montage que j'avais fait sur éléctronique pratique, et qui parlait d'une PLL.
à l'époque j'avais cherché à comprendre, mais j'ai vite désenchanté, quand j'ai vu la complexité.
A+
une boucle à verrouillage de phase sert à augmenter artificiellement la fréquence par la division de la période par un paramètre interne.
c'est bien ce que je pense aussi, ça me rappelle un montage que j'avais fait sur éléctronique pratique, et qui parlait d'une PLL.
à l'époque j'avais cherché à comprendre, mais j'ai vite désenchanté, quand j'ai vu la complexité.
A+
Modifié en dernier par Temps-x le jeu. 27 juil. 2017 22:04, modifié 1 fois.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 135 invités