bonjour
j'ai trouvé un exemple de diviseur par 1000 a l'aide d'un pic
(qui peut servir dans le cas d'un GPSDO avec TXCO 10 mhz)
par contre je suis curieux et j'aimerais bien comprendre pourquoi le programme est si complexe (a mes yeux)
je met le schema du montage et le fichier en langage "C"
si qqun pouvait m'expliquer ce qu'il comprend ..
merci d'avance
help interpretation programme en "C"
Règles du forum
Cette section est dédié a vos projets, descriptions et demandes d'aide.
Merci de limiter le nombre de sujet par projets.
Lorsqu'un sujet deviens long vous pouvez éditer le premier message pour maintenir à jour le descriptif et garder en lisibilité
Cette section est dédié a vos projets, descriptions et demandes d'aide.
Merci de limiter le nombre de sujet par projets.
Lorsqu'un sujet deviens long vous pouvez éditer le premier message pour maintenir à jour le descriptif et garder en lisibilité
help interpretation programme en "C"
- Fichiers joints
-
- c'est juste la partie 12-675 qui est importante
- schema.JPG (61.7 Kio) Vu 4352 fois
-
- divider.txt
- copie en texte du programme source
- (4 Kio) Téléchargé 189 fois
Re: help interpretation programme en "C"
Il n'est pas abominablement compliqué, il fait plein de fois la même chose à la suite.
Le commentaire en tête de programme (abominablement mal formaté) indique qu'il y a 3 sorties : 1 kHz, et deux 10 kHz en quadrature. Ça suppose donc 40 étapes successives par tour de boucle à 1 kHz.
Nico M.
Le commentaire en tête de programme (abominablement mal formaté) indique qu'il y a 3 sorties : 1 kHz, et deux 10 kHz en quadrature. Ça suppose donc 40 étapes successives par tour de boucle à 1 kHz.
Nico M.
Re: help interpretation programme en "C"
Merci d'avoir pris le temps de travailler pour moi, en effet j'ai été surpris par le nombre de boucles
mais dans son texte, le gars parle en effet de sorties multiples, dans mon cas un simple diviseur suffit !
voila ce qu'il dit " (je vais essayer un coupé / collé !)
Le diviseur
Le PIC 16F675 utilise les 10 Mhz de l'oscillateur comme signal d'horloge et est responsable de la génération d'une sortie de 10 kHz qui varie en fonction de l'horloge d'entrée. Dans d'autres implémentations, cela se fait avec plusieurs compteurs 74HC390 intégrés, augmentant la taille et la puissance du système. Le PIC a plus de sorties que nécessaire, nous pouvons donc le programmer pour obtenir d'autres signaux intéressants. Dans mon cas, j'ai implémenté dans l'une des sorties un autre signal 90KHz déphasé de 90º par rapport au principal, afin d'expérimenter des détecteurs à verrouillage basés sur cette technique (merci Ignacio, EB4APL). Il est également intéressant d'avoir une sortie 1KHZ que nous pouvons utiliser, par exemple, pour ajuster la base de temps de notre oscilloscope. Ici, nous pouvons voir une capture des deux sorties 10KHz, 90e déphasées:
youppi ça fonctionne !
mais dans son texte, le gars parle en effet de sorties multiples, dans mon cas un simple diviseur suffit !
voila ce qu'il dit " (je vais essayer un coupé / collé !)
Le diviseur
Le PIC 16F675 utilise les 10 Mhz de l'oscillateur comme signal d'horloge et est responsable de la génération d'une sortie de 10 kHz qui varie en fonction de l'horloge d'entrée. Dans d'autres implémentations, cela se fait avec plusieurs compteurs 74HC390 intégrés, augmentant la taille et la puissance du système. Le PIC a plus de sorties que nécessaire, nous pouvons donc le programmer pour obtenir d'autres signaux intéressants. Dans mon cas, j'ai implémenté dans l'une des sorties un autre signal 90KHz déphasé de 90º par rapport au principal, afin d'expérimenter des détecteurs à verrouillage basés sur cette technique (merci Ignacio, EB4APL). Il est également intéressant d'avoir une sortie 1KHZ que nous pouvons utiliser, par exemple, pour ajuster la base de temps de notre oscilloscope. Ici, nous pouvons voir une capture des deux sorties 10KHz, 90e déphasées:
youppi ça fonctionne !
Re: help interpretation programme en "C"
Oui c'est un peu bourrin comme méthode, mais si ça fonctionne et si ça rentre ... Ca ressemble vaguement à un DDS
Cependant sauf erreur de ma part car j'ai regardé ça rapidement :
Il y a 2516 cycles machine !!
10M / 4 = 2500 kHz / 2516 = 1kHz ????
Aurais je manqué un épisode ?
Dom
qui aurait peut être utilisé un timer et une machine d'état
Cependant sauf erreur de ma part car j'ai regardé ça rapidement :
Il y a 2516 cycles machine !!
10M / 4 = 2500 kHz / 2516 = 1kHz ????
Aurais je manqué un épisode ?
Dom
qui aurait peut être utilisé un timer et une machine d'état
Re: help interpretation programme en "C"
normalement la sortie c'est du 10 khz ! en effet j'ai pas compris pourquoi il y autant de boucles !
le but est d'avoir un petit diviseur par 1000 qui tienne dans la main !
on avait parlé FPGA, mais c'est pas de la tarte ... faut avoir des neurones assez frais et surtout connaître
merci d'avoir cherché
papy F1CHF
le but est d'avoir un petit diviseur par 1000 qui tienne dans la main !
on avait parlé FPGA, mais c'est pas de la tarte ... faut avoir des neurones assez frais et surtout connaître
merci d'avoir cherché
papy F1CHF
Re: help interpretation programme en "C"
F1CHF a écrit :le but est d'avoir un petit diviseur par 1000 qui tienne dans la main !
on avait parlé FPGA, mais c'est pas de la tarte ... faut avoir des neurones assez frais et surtout connaître
Pas besoin d'un FPGA, un CPLD suffit amplement pour faire un bête compteur à 10 bits. Ça peut faire un bon sujet d'initiation, d'ailleurs.
Ceci étant dit, le composant risque d'être plus cher qu'un PIC (Farnell : CPLD 1er prix 1,66 €, PIC12F675 0,98€, µC 8 bits AVR ATtiny 0,3 €)
Nico M.
Re: help interpretation programme en "C"
Oui j'ai regardé sur le net la partie CPLD mais ils parlent de programmation en VHDL
la vache encore un langage "tartemollesque"
je vais essayer de tester avec un 12F675 pour voir si cela divise par 1000
sans comprendre vraiment ce que le loulou a écrit
merci
papy F1CHF
la vache encore un langage "tartemollesque"
je vais essayer de tester avec un 12F675 pour voir si cela divise par 1000
sans comprendre vraiment ce que le loulou a écrit
merci
papy F1CHF
Re: help interpretation programme en "C"
F1CHF a écrit :Oui j'ai regardé sur le net la partie CPLD mais ils parlent de programmation en VHDL
la vache encore un langage "tartemollesque"
Je ne sais pas ce que tu entends par "tartemollesque". Pour la programmation de ces composants (CPLD ou FPGA), qui n'ont rien à voir avec des µP/µC, on utilise des langages de description matérielle (Hardware Description Language), qui ne sont pas des langages de programmation, les deux principaux étant le Verilog et le VHDL.
C'est pas très compliqué mais il faut juste garder à l'esprit qu'on décrit de l'électronique, pas qu'on programme un micro.
Nico M. ("expert FPGA et VHDL", c'est mon patron qui le dit. Moi je suis trop modeste )
Re: help interpretation programme en "C"
Tartemolesque ou abracadantesque !
j'ai regardé les quelques exemples et on retrouve des exemples de programmation en VHDL
et c'est un tout nouveau monde pour moi ...
mais je suis pas contre de commander la partie hardware, de monter une maquette et avec l'aide d'un "sachant"
de faire un prototype
papy F1CHF (qui va encore se coucher moins bête qu'il s'est levé ce matin !) hi ...
j'ai regardé les quelques exemples et on retrouve des exemples de programmation en VHDL
et c'est un tout nouveau monde pour moi ...
mais je suis pas contre de commander la partie hardware, de monter une maquette et avec l'aide d'un "sachant"
de faire un prototype
papy F1CHF (qui va encore se coucher moins bête qu'il s'est levé ce matin !) hi ...
Re: help interpretation programme en "C"
Bonjour,
Pour mes petits montages j'utilise le PIC12F1571/72
Il a plusieurs avantages
rapide 32MHz
plein de périphériques intégrés :
3 PWM
UART
CAN
CNA (modeste certes)
Mesure de température
etc ...
Il existe en dip8 ce qui est good pour les protos et il est moins cher que les autres chez RS
Donc il suffit de configurer l'un des PWM pour sortir du 10kHz avec un rapport cyclique de 50%, ce qui bouffe seulement quelques octets et cerise sur le gâteau il reste un petit µP quasi complet pour faire autre chose, (il reste 2 PWM et tous les autres périphériques et on a bouffé 2IO pour la clock et la sortie 10kHz)
Dom
Pour mes petits montages j'utilise le PIC12F1571/72
Il a plusieurs avantages
rapide 32MHz
plein de périphériques intégrés :
3 PWM
UART
CAN
CNA (modeste certes)
Mesure de température
etc ...
Il existe en dip8 ce qui est good pour les protos et il est moins cher que les autres chez RS
Donc il suffit de configurer l'un des PWM pour sortir du 10kHz avec un rapport cyclique de 50%, ce qui bouffe seulement quelques octets et cerise sur le gâteau il reste un petit µP quasi complet pour faire autre chose, (il reste 2 PWM et tous les autres périphériques et on a bouffé 2IO pour la clock et la sortie 10kHz)
Dom
Retourner vers « Les Projets »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité