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
Generateur DTMF 18F27K42
Generateur DTMF 18F27K42
Bonsoir paulfjujo, et tout e forum,
Tant que tu restes dans un multiple de 11025 Hz(22100 Hz, 44200 Hz, 88400 Hz) il n'y aura pas de problème, par contre si tu t'en écartes ça risque de changer.
Quand j'envoie les sons des touches téléphonique sur le Module MT8870 à une fréquence de 88400 Hz le module fonctionne correctement, il n'y a aucun filtrage, juste une résistance de 1000 Ohms.
J'ai fait des essais toujours sans filtre, à 11025 Hz, 22100 Hz, ça ne fonctionne pas, à 44200 Hz ça fonctionne très mal.
A 88400 Hz c'est parfait, ça fonctionnement nickel chrome, aucune erreur n'apparait, même en insistant sur une touche
A de t'elle fréquence ça peut poser problème lors d'une conception car il faudra éviter que ça revienne dans le circuit, ce qui implique des filtres supplémentaire.
A+
Tant que tu restes dans un multiple de 11025 Hz(22100 Hz, 44200 Hz, 88400 Hz) il n'y aura pas de problème, par contre si tu t'en écartes ça risque de changer.
Quand j'envoie les sons des touches téléphonique sur le Module MT8870 à une fréquence de 88400 Hz le module fonctionne correctement, il n'y a aucun filtrage, juste une résistance de 1000 Ohms.
J'ai fait des essais toujours sans filtre, à 11025 Hz, 22100 Hz, ça ne fonctionne pas, à 44200 Hz ça fonctionne très mal.
A 88400 Hz c'est parfait, ça fonctionnement nickel chrome, aucune erreur n'apparait, même en insistant sur une touche
A de t'elle fréquence ça peut poser problème lors d'une conception car il faudra éviter que ça revienne dans le circuit, ce qui implique des filtres supplémentaire.
A+
Generateur DTMF 18F27K42
Generateur DTMF 18F27K42
Generateur DTMF 18F27K42
Bonsoir paulfjujo, et tout e forum,
Ben ouais, c'est bien pour cela qu'il faut utiliser ta technique, avec condensateur et résistance à une fréquence égal à celle de l'encodage audio 11025 Hz pour notre cas, je vais faire un essai, avec filtrage(condensateur et résistance) histoire de voir si ça change quelle que chose.
Avec mon vieux poste à tube et ses 500 grammes, j'aimais bien écouter les G.O à des heures tardif, ça cracher de partout quand le post était juste allumé, et il fallait attendre avant d'avoir une pleine puissance (le temps que les lampes chauffe) mais on prenais le temps de savourer la musique que l'on pouvais recevoir, c’était comme magique.
pour le retour, intéressant comme outil
A+
paulfjujo a écrit :Source du message du PWM à 88Khz,ça doit effectivement rayonner ..avec les harmoniques .. dans les radio frequences ..
surtout avec un montage breadboard
Ben ouais, c'est bien pour cela qu'il faut utiliser ta technique, avec condensateur et résistance à une fréquence égal à celle de l'encodage audio 11025 Hz pour notre cas, je vais faire un essai, avec filtrage(condensateur et résistance) histoire de voir si ça change quelle que chose.
paulfjujo a écrit :Source du message mais, de nos jours, on écoute plus les G.O.
Avec mon vieux poste à tube et ses 500 grammes, j'aimais bien écouter les G.O à des heures tardif, ça cracher de partout quand le post était juste allumé, et il fallait attendre avant d'avoir une pleine puissance (le temps que les lampes chauffe) mais on prenais le temps de savourer la musique que l'on pouvais recevoir, c’était comme magique.
paulfjujo a écrit :Source du message un (vieil) outil sympa
pour le retour, intéressant comme outil
A+
Generateur DTMF 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Bonjour à tous,
J'ai testé pour vous ( et bibi aussi !)
Generateur DTMF by Roman Black algorithm
Cette application prend NETTEMENT moins de place ,
Used ROM (bytes): 5647 (4%) Free ROM (bytes): 125425 (96%)
Used RAM (bytes): 545 (7%) Free RAM (bytes): 7625 (93%)
...que la version utilisant 16 tables de 5512bytes ( fichiers Wav) en FLASH
Used ROM (bytes):96154 (73%) Free ROM (bytes): 34918 (27%)
Used RAM (bytes): 554 (7%) Free RAM (bytes): 7616 (93%)
mais ce n'est pas le meme but !
Cette appli. ne peut pas jouer 10sec de Tout_Nu_Tout_Bronzes.wav !
TMR2 est à 62500 Hz
La FFT des signaux est correcte
à voir comment reagit un décodeur DTMF Hardware ..( en attendant un SOFT decodeur DTMF)
nota : baisser le niveau sonore ...si ça ecorche les oreilles
voir details programme etvideo du test sur ma page
J'ai testé pour vous ( et bibi aussi !)
Generateur DTMF by Roman Black algorithm
Cette application prend NETTEMENT moins de place ,
Used ROM (bytes): 5647 (4%) Free ROM (bytes): 125425 (96%)
Used RAM (bytes): 545 (7%) Free RAM (bytes): 7625 (93%)
...que la version utilisant 16 tables de 5512bytes ( fichiers Wav) en FLASH
Used ROM (bytes):96154 (73%) Free ROM (bytes): 34918 (27%)
Used RAM (bytes): 554 (7%) Free RAM (bytes): 7616 (93%)
mais ce n'est pas le meme but !
Cette appli. ne peut pas jouer 10sec de Tout_Nu_Tout_Bronzes.wav !
TMR2 est à 62500 Hz
La FFT des signaux est correcte
à voir comment reagit un décodeur DTMF Hardware ..( en attendant un SOFT decodeur DTMF)
nota : baisser le niveau sonore ...si ça ecorche les oreilles
voir details programme etvideo du test sur ma page
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Generateur DTMF 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
Ma version MikroC donne entiere satisfaction .. verification avec outil Two Tone Tester (T3) et decodeur hardware HT9170B et leds sur D0..D3
pour afficher la note décodée.
usage de CCP1 + Timer et sortie sur RC4 (via PPS!)
....OK
Par contre transfert en XC8 TRES LABORIEUX ...
avec CCP1 en PWM associé à TMR2 (62500Hz) et sortie via PPS sur RC4 PWM ( au lieu de RC2)
le niveau amplitude est trop faible pour activer le decoder ....
il me semble que Mikroc gère la consigne pwm CCP1 en mode 8 bits ! (comme sur les anciens PWM !)
alors que sous XC8 la consigne pwm CCP1 est uniquement sur 10 bits : CCPR1H, CCPR1L
L'amplitude étant au maxi de 100 ( somme des valeurs de tables (Sin1 + sine2) >> 1)
(nota : contenu des tables sinus : maxi =99)
le niveau max de sortie duty cycle = 100/1024 10% seulement ........ ( alors qu'en format 8 bits 100/256= 40% !)
apres la cellule RC ( filtre passe bas) ... on a plus que quelques mV !
j'ai donc plutot utilisé un vrai PWM5 , toujours associé à Timer2 65200Hz et sortie via PPS -> RC4
multiplié par 2 l'amplitude ( au lieu de la diviser par 2)
j'obtiens ainsi un signal cr cr de > 600mV sur la sortie GS ampli du HT9170 (gain=1)
et une beaux Pics ( amplitudes) des 2 freq fondamentales ... sur Two Tone Tester (analyse FFT)
Le decodage HT9170B est maintenant OK ...
C'est sur ,il y a une grosse différence entre MikroC et XC8 ...
transposition directe IMPOSSIBLE ...
je vous mets le code Mikroc de la commande pwm , assez compliqué à suivre
un specialiste ASM pourra peut etre le decoder /comprendre
le programme en version XC8
version mikroC
Ma version MikroC donne entiere satisfaction .. verification avec outil Two Tone Tester (T3) et decodeur hardware HT9170B et leds sur D0..D3
pour afficher la note décodée.
usage de CCP1 + Timer et sortie sur RC4 (via PPS!)
....OK
Par contre transfert en XC8 TRES LABORIEUX ...
avec CCP1 en PWM associé à TMR2 (62500Hz) et sortie via PPS sur RC4 PWM ( au lieu de RC2)
le niveau amplitude est trop faible pour activer le decoder ....
il me semble que Mikroc gère la consigne pwm CCP1 en mode 8 bits ! (comme sur les anciens PWM !)
alors que sous XC8 la consigne pwm CCP1 est uniquement sur 10 bits : CCPR1H, CCPR1L
L'amplitude étant au maxi de 100 ( somme des valeurs de tables (Sin1 + sine2) >> 1)
(nota : contenu des tables sinus : maxi =99)
le niveau max de sortie duty cycle = 100/1024 10% seulement ........ ( alors qu'en format 8 bits 100/256= 40% !)
apres la cellule RC ( filtre passe bas) ... on a plus que quelques mV !
j'ai donc plutot utilisé un vrai PWM5 , toujours associé à Timer2 65200Hz et sortie via PPS -> RC4
multiplié par 2 l'amplitude ( au lieu de la diviser par 2)
j'obtiens ainsi un signal cr cr de > 600mV sur la sortie GS ampli du HT9170 (gain=1)
et une beaux Pics ( amplitudes) des 2 freq fondamentales ... sur Two Tone Tester (analyse FFT)
Le decodage HT9170B est maintenant OK ...
C'est sur ,il y a une grosse différence entre MikroC et XC8 ...
transposition directe IMPOSSIBLE ...
je vous mets le code Mikroc de la commande pwm , assez compliqué à suivre
un specialiste ASM pourra peut etre le decoder /comprendre
Code : Tout sélectionner
routine MicroC
_PWM1_Set_Duty:
;__Lib_PWM_Remappable_c21b50.c,21 ::
;__Lib_PWM_Remappable_c21b50.c,24 ::
0x0C48 0x50AB MOVF PR2, 0
0x0C4A 0x0F01 ADDLW 1
0x0C4C 0x6E00 MOVWF R0
0x0C4E 0x6A01 CLRF R1
0x0C50 0x0E00 MOVLW 0
0x0C52 0x2201 ADDWFC R1, 1
0x0C54 0xF004C23F MOVFF FARG_PWM1_Set_Duty_new_duty, R4
0x0C58 0xF005C240 MOVFF FARG_PWM1_Set_Duty_new_duty+1, R5
0x0C5C 0xDDCE RCALL _Mul_16X16_U
0x0C5E 0x0E06 MOVLW 6
0x0C60 0x6E04 MOVWF R4
0x0C62 0xF002C000 MOVFF R0, R2
0x0C66 0xF003C001 MOVFF R1, R3
0x0C6A 0x5004 MOVF R4, 0
L__PWM1_Set_Duty4:
0x0C6C 0xE005 BZ L__PWM1_Set_Duty5
0x0C6E 0x3203 RRCF R3, 1
0x0C70 0x3202 RRCF R2, 1
0x0C72 0x9E03 BCF R3, 7
0x0C74 0x0FFF ADDLW 255
0x0C76 0xD7FA BRA L__PWM1_Set_Duty4
L__PWM1_Set_Duty5:
;__Lib_PWM_Remappable_c21b50.c,25 ::
0x0C78 0xFF7CF00B0060 MOVFFL 2, CCPR1
0x0C7E 0xFF7DF00F0060 MOVFFL 3, CCPR1+1
;__Lib_PWM_Remappable_c21b50.c,26 ::
L_end_PWM1_Set_Duty:
0x0C84 0x0012 RETURN 0
; end of _PWM1_Set_Duty
le programme en version XC8
version mikroC
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Generateur DTMF 18F27K42
Generateur DTMF 18F27K42
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
j'aurais du écrire algo. par Roman black !
https://www.romanblack.com/DTMF/DTMF_alg.htm
Decodage DTMF ... expliqué ..mais il faut bien s'accrocher !
le codeur DTMF :
https://www.romanblack.com/SG/SG_tutorial.htm#DTMF
tres bien documenté ,
et aisé à comprendre quand on a deja touchéau DDS soft ( même en ASM !)
ou avec AD9835, AD9850
j'aurais du écrire algo. par Roman black !
https://www.romanblack.com/DTMF/DTMF_alg.htm
Decodage DTMF ... expliqué ..mais il faut bien s'accrocher !
le codeur DTMF :
It also forms a companion to my DTMF dual sine generator PIC code,
so it provides the ability to use a couple of low-end PICs to do
both the DTMF generation and decoding without needing specialty chips.
https://www.romanblack.com/SG/SG_tutorial.htm#DTMF
tres bien documenté ,
et aisé à comprendre quand on a deja touchéau DDS soft ( même en ASM !)
ou avec AD9835, AD9850
Generateur DTMF 18F27K42
Re
pour les liens,
Je crois avoir compris... mais je pense qu'en doit passer au moins par un filtre avant d'attaquer l'entrée d'un pic pour décodage DTMF
Pour générer la tonalité DTMF ça doit être pareil, en sens inverse, mais filtre obligatoire en sortie.
Pour le décodage DTMF, obligation de passer par l'adc du pic, je vois pas d'autre moyen.
Pour la création DTMF, en passe par un PWM, puis en ajoute les valeurs qui son dans un tableau en fonction de la touche sélectionnée, mais il n'y a pas que ça...
Je vais essayer de l'écrire en QuickBasic puis si ça fonctionne je l'écris en ASM pour Pic, sorry, je sais je pollues la section C, non Paul c'est pas une vengeance....
A+
pour les liens,
paulfjujo a écrit :Source du message Decodage DTMF ... expliqué ..mais il faut bien s'accrocher !
Je crois avoir compris... mais je pense qu'en doit passer au moins par un filtre avant d'attaquer l'entrée d'un pic pour décodage DTMF
Pour générer la tonalité DTMF ça doit être pareil, en sens inverse, mais filtre obligatoire en sortie.
Pour le décodage DTMF, obligation de passer par l'adc du pic, je vois pas d'autre moyen.
Pour la création DTMF, en passe par un PWM, puis en ajoute les valeurs qui son dans un tableau en fonction de la touche sélectionnée, mais il n'y a pas que ça...
Je vais essayer de l'écrire en QuickBasic puis si ça fonctionne je l'écris en ASM pour Pic, sorry, je sais je pollues la section C, non Paul c'est pas une vengeance....
A+
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 24 invités