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 : mazertoc
Fréquencemètre divers technique
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
paulfjujo a écrit :bonjour à tous,
Version avec quartz horloger 32,768KHz sur Secondary Oscillator SOSC .. OK
quartz en RC0 et RC1 , encadré de 2x22pF
aiguillage SOSC sur entree timer 4 ... confguré pour sortir 1 seconde sur TMR4_Scaled output
sortie dirigée sur SMT1 Window input
L' entree SMT1 Signal est redirigée sur RC2 input (via PPS) ( car RC1 mobilisé par SOSC)
Capture mesure = registre SMT1CPR dans l'interrupt AIF (IVT_SMT1PRA)
=> frequence en HZ
tests
12 500 000 Hz -> mesure 12500300Hz erreur <0.03%
3 125 000 Hz => mesure 3125077Hz
25 000 Hz --> 25000
2500 Hz --> 2503
48.82Hz -> 48 ou 49
impossible de savoir si l'erreur est coté Quartz Horloger ou quartz EPSON
ou programmation ?
sachant qu' avec FOSC =64MHz une instruction ne mobilise que 62.5nS !
guère probable ..
gamme limité à 16 000 001 Hz avec Window de 1 sec ( Overlimit message si debordement SMT1)
sinon up to 32MHz avec window 0.5sec (Prescaler TMR4 de 8 au lieu de 16) et mesure = registre SMT1CPR <<1
...details sur ma page..
conclusion : fréquencemetre EASY avec SMT1
* On peut aussi gerer en interne , l'heure sans RTC , puisqu'on dispose du 1Hz...TMR4
* on peut aussi activer NCO pour disposer d'une frequenc de sortie connue
* De meme, on pourrait aussi commuter le mode de mesure SMT1 en mode Periodmetre avec mesure duty cycle en plus.
via une pin de selection de mode.
* un ecran LCD tactile pour gerer tout ça
Bref, possible de faire une usine à gaz, avec ce PIC. ( si en plus on passe en 40Pins 18F47K42)
petite mise à jour :
envoi via Keyboard
Gamme=1 pour Windows 1sec ... Overlimit si > 16MHz
gamme=2 pour windows 0,5sec .. on peut lire 25MHz ..(et limite à 32MHz )
mais resolution +-2Hz
Code : Tout sélectionner
if(Flag_Buffer1==1)
{
// LED_Rouge=0;
CPrint("\r\n Reçu :\r\n");
Print(Buffer1);
CRLF1();
//strConstRamCpy(CRam1,"Gamme=);
// p1=strstr(Buffer1,CRam1);
p1=strstr(Buffer1,"Gamme=");
if (p1>0)
{
cx=*(p1+6)-48;
switch (cx)
{
case 1:
Range=cx;
TMR4ON_bit=0;
T4PR= 127;
T4TMR = 0x00;
T4CON = 0x4F ; // Prescaler =1/16 Poscaler=1/16
CPrint("New Range =1\r\n");
break;
case 2:
TMR4ON_bit=0;
T4PR= 127;
T4TMR = 0x00;
T4CON = 0x3F ; // Prescaler =1/8 Poscaler=1/16
CPrint("New Range =2\r\n");
SMT1_Measure=0;
Range=cx;
break;
}
}
p1=0;
} // if flag
ce qui donne :
Entree=12,5Mhz
Waiting measure.. G=1 * Freq= 12501632
Waiting measure.. G=1 * Freq= 12500900
si modif entree => 25MHz
Waiting measure.. G=1 & Overfow SMT1
Waiting measure.. G=1 & Overfow SMT1
Waiting measure.. G=1 & Overfow SMT1
Waiting measure.. G=1 & Overfow SMT1
Gamme=2
Reçu :
Gamme=2
New Range =2
Waiting measure.. G=2 * Freq= 25000446
Waiting measure.. G=2 * Freq= 25000390
Waiting measure.. G=2 * Freq= 25000370
Waiting measure.. G=2 * Freq= 25000396
Waiting measure.. G=2 * Freq= 25000358
Waiting measure.. G=2
Gamme=1
* Freq= 25000328
Reçu :
Gamme=1
New Range =1
Waiting measure.. G=1 & Overfow SMT1
Waiting measure.. G=1 & Overfow SMT1
Waiting measure.. G=1 & Overfow SMT1
Waiting measure.. G=1 & Overfow SMT1
Gamme=2
Reçu :
Gamme=2
New Range =2
Waiting measure.. G=2 * Freq= 25000354
Waiting measure.. G=2 * Freq= 25000314
Waiting measure.. G=2 * Freq= 25000438
ting measure.. G=2 * Freq= 25000438
Fréquencemètre divers technique
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 123 invités