Readadc et indication EOC

jojojo

Senior Member
Quelqu'un sait-il, s'il est possible d'obtenir un signal de fin de conversion, avec l'instruction Readadc . (sur un 08M2)
Le but est de piloter un échantillonneur bloqueur, et de disposer d'un signal d'horloge (chaine d'acquisition classique).

Merci.
 

BESQUEUT

Senior Member
Je ne vois pas bien l'intérêt du montage, vu que le PIC12F1840 dispose déjà d'un échantillonneur/bloqueur.
Si vraiment il faut un signal, n'est-il pas possible de basculer une PIN avant et après le readadc ?
Cordialement,
 

PapyJP

Senior Member
basculer une PIN avant et après le readadc
Ca c' est génial !
le PIC12F1840 dispose déjà d'un échantillonneur/bloqueur
C' est confirmé par le datasheet du 12F1840.
Mais le 08M2 ne reprends que quelques caractèristiques du 12F1840 et en reste assez éloigné.
Confirmez- vous la présence d' un échantillonneur-bloqueur en aval des ADC d' un 08M2 ?

Qu' en est-il des autres types de Picaxes ?
Cordialement
 
Last edited:

PieM

Senior Member
Bonjour

Je suis un peu perplexe moi aussi sur l'intérêt de ce montage !

De toute façon, dans le cas d'utilisation d'un E/B, il faut éviter de faire la conversion longtemps après le blocage.
Donc le signal d'horloge doit provoquer d'abord l'échantillonnage, puis le blocage qui suit (après le temps d'acquisition) permet la conversion tout de suite après , et le programme continue. Sinon, si la conversion va prendre en compte une valeur qui ne sera plus bonne, liée à l'erreur de blocage.

Sans savoir de quel E/B il s'agit, par principe, il faut envoyer un pulse d'horloge sur l'E/B avant l'instruction readadc, et non en fin de conversion.

Il faut savoir aussi qu'une conversion readadc sur un Picaxe à 32 MHz met 94 µs. Cela relativise peut être l'intérêt d'un E/B, même si le Picaxe ne comportait pas d'E/B en entrée... !
 

jojojo

Senior Member
Merci à vous tous.

Donc, je retiens :
- Echantillonneur bloqueur déjà présent
- Pas de signal de fin de conversion (donc pas de synchro-horloge possible ... Quant à utiliser un port, encore un délai, de passage d'instruction, high ou low)
- Readc à 32Mhz prend 94µs.

Ce dernier point m'interresse davantage.
Il y a t il une doc, quelque part, qui détaille les temps d'instructions des PicAxes ?

Merci encore.
 

PieM

Senior Member
Il y a t il une doc, quelque part, qui détaille les temps d'instructions des PicAxes ?
Voir le sujet traité il y a quelques jours, plus le document de Westaust PICAXE-program-Size-Optimisations-and-Speed

Concernant un pulse avant le readadc sur un 14M2 a 32 MHz, une instruction pulsout C.0,1 va émettre une impulsion de 3 µs après un delai de 73 µs, le readadc intervenant juste après pendant 94 µs.

Quant au Low ou High, il demande 52 µs toujours à 32 MHz

une routine du type:

High xx
readadc ....
Low xx

va donc générer un créneau de 94 + 52 soit 146 µs après un délai de 52 µs soit un temps total d'exécution de 198 µs

pulsout xx, 1
readadc ....

va générer un créneau de 3 µs après 73 µs puis 94 µs de readadc soit un temps total d'exécution de 170 µs
 

BESQUEUT

Senior Member
Ca c' est génial !
Soupçon de moquerie ? je dirais plutôt trivial que génial...
Confirmez- vous la présence d' un échantillonneur-bloqueur en aval des ADC d' un 08M2 ?
Voir chap 16 page 127 de la notice du PIC.
Dans l'ordre, le signal traverse un multiplexeur, puis un échantillonneur/bloqueur puis un unique convertisseur ADC.
La tempo dépends à la fois de la fréquence du PIC=Celle du Picaxe et d'un diviseur qui est donné par le firmware du Picaxe, donc à priori inconnu. Celà dit, dans le pire des cas, la conversion dure 2 µs à 32 Mhz. Difficile de savoir où se situent ces 2µs dans les 94µs du readadc. Beau sujet d'expérimentation pour les fans d'analyseur logique/analogique. (déclencher une rampe de 150µs entre 0 et 5V sur le pulsout et observer la valeur lue...)

Tout ceci pour le fun bien sur, à moins que jojojo ne précise l'objectif visé.

Voir également Readadc10 pour une meilleure résolution.
 
Last edited:

PapyJP

Senior Member
Soupçon de moquerie ?
Nullement, j' étais sincère !
Mon grand âge n' avait pas trouvé cette solution, triviale en effet ( Alzheimer me guette-t-il ? )
Voir chap 16 page 127 de la notice du PIC.
Je suis d' accord et je l'ai dit :
C' est confirmé par le datasheet du 12F1840
Il n' empêche que le 08M2 ne reprends que quelques caractèristiques du 12F1840 et en reste assez éloigné.
Watchdog, Timers, Interrupt, Mémoires, , jeu RISC, ........... sont absents sur le 08M2.
En particulier il n' y a qu' un seul ADC pour quatre entrées multiplexées.
On est loin du design du 08M2.
Je repose donc la question :
Confirmez- vous la présence d' un échantillonneur-bloqueur en aval des ADC d' un 08M2 ?
 
Last edited:

BESQUEUT

Senior Member
On est loin du design du 08M2.Confirmez- vous la présence d' un échantillonneur-bloqueur en aval des ADC d' un 08M2 ?
Qu'on se comprenne bien : un Picaxe 08M2 EST un PIC12F1840 chargé avec un logiciel spécifique qui interprète du code Picaxe.

Si vous avez le moindre début de commencement de prémice d'amorce de soupçon d'un doute sur le sujet, merci de consulter la très officielle page suivante :
http://www.picaxe.com/What-is-PICAXE/PICAXE-Chip-Labels/

Donc toutes les fonctions du PIC sont dans le Picaxe, même si elles ne sont pas directement accessibles via le langage BASIC.
En particulier l'instruction ReadAdc ou ReadAdc10 n'a aucun autre moyen pour lire une tension analogique que d'utiliser le convertisseur sous-jacent du PIC.
Donc je confirme : l'échantillonneur bloqueur EST utilisé par le Picaxe.

De toutes façons, cet ADC travaillant par approximations successives, il ne pourrait quasiment pas fonctionner sans un échantillonneur/bloqueur, sauf sur des signaux particulièrement stables. (par opposition à un convertisseur flash)

Et je confirme également que le Picaxe donne accès aux 4 entrées analogiques multiplexées du PIC.
Et je peux même affirmer que le temps de conversion du Picaxe est le même que celui du PIC, même si l'instruction BASIC qui permet de lire le résultat de la conversion est beaucoup plus longue.

Par contre, cet échantillonage intervient bien évidement avant (donc en amont) du converstisseur ADC.
D'où la très judicieuse remarque de PieM en #4 : l'échantillonnage, puis le blocage intervenant AVANT la conversion, le signal doit être donné AVANT et non à la fin de la conversion.
Si vraiment (et je ne sais toujours pas pourquoi) on souhaite utiliser un échantillonneur bloqueur externe, l'échantillonnage doit commencer juste avant l'échantillonage du PIC et le blocage doit se poursuivre quelques ns, le temps que le pic bloque la tension (en pratique, il déconnecte le condensateur d'entrée). D'où l'intérêt éventuel de connaitre avec précision le délai entre le pulsout et le début réel de la conversion (non documenté, mais expérimentable).
 
Last edited:

PieM

Senior Member
Ite missa est ... :)


Petite précision pour jojojo : il est très important de ne pas dépasser une impédance de l'ordre de 10k sur une entrée ana de Picaxe.
Des valeurs supérieures entraîneraient des mesures erronées ... ( temps de charge du C de l'échantillonneur )
 

PapyJP

Senior Member
Qu'on se comprenne bien : un Picaxe 08M2 EST un PIC12F1840
Donc je confirme : l'échantillonneur bloqueur EST utilisé par le Picaxe.
Eh ben voilà !
Merci de cette réponse claire ( + l' URL ).

" Ite missa est " comme le dit Piem mais c' est mieux en le disant.
 
Last edited:

jojojo

Senior Member
Encore merci à vous tous, ça s'éclaircit.

Tout ceci pour le fun bien sur, à moins que jojojo ne précise l'objectif visé.

Traitement d'un signal analogique, d'une fréquence maxi de 4 Khz.
 

PieM

Senior Member
Traitement d'un signal analogique, d'une fréquence maxi de 4 Khz.
Hélas cela me semble illusoire de faire ça avec un Picaxe !
pour échantillonner un tel signal il faut une fréquence d'échantillonnage de 8 kHz mini. Donc 125 µs de durée totale d'exécution pour:
la conversion - la mise en mémoire de la valeur avec incrémentation de l'adresse (où ?) puis le bouclage !

C'est hors de portée même avec un X2 à 64 MHz .
 

jojojo

Senior Member
il faut une fréquence d'échantillonnage de 8 kHz mini

Oui, Shannon le sait.
Moi aussi, d'ou mon intérêt pour les temps de conversion.

Merci.
 

PieM

Senior Member
Oui, Shannon le sait.
Moi aussi, d'ou mon intérêt pour les temps de conversion.
Je pense que Shannon aussi vous aurait déconseillé un Picaxe pour ce projet . :rolleyes:
Le problème ne se situe pas au niveau du temps de conversion, mais de tout ce qu'il y a à faire après !

Avec un simple do - readadc - loop vous êtes déjà en dehors des clous.
 
Top