Pourquoi ce comparateur ne produit-il pas une onde carrée?


21

J'ai une sortie sinusoïdale à 4,43 MHz d'un circuit intégré que je souhaite convertir en une onde carrée TTL pour l'utiliser comme horloge. Le signal a un décalage CC d'environ 2,5 V et une amplitude d'environ 0,5 V crête à crête.

J'ai essayé de convertir cela en une onde carrée de 0 à 5 V en utilisant un comparateur haute vitesse TLV3501 avec ce circuit.

schéma mis à jour du tlv3501

Le comparateur semble fonctionner comme prévu: avec RV1 à un extrême, la sortie à SQ_OUT est de 0 V, de l'autre à 5 V, à un point à peu près au milieu, je vois une forme d'onde. Cependant, il a un décalage DC et ne ressemble pas beaucoup à une onde carrée.

pas carré

(Ci-dessus est 0,5 V / div et a un décalage CC de près de 2 V).

La fiche technique montre une onde carrée générée à partir d'un signal de 50 MHz, donc je fais évidemment quelque chose de mal. J'utilise une planche à pain mais le CI est sur un adaptateur avec C1 et C2 soudé aux broches. J'ai également essayé de déconnecter SQ_OUT de la maquette et de mesurer la sortie à la broche, mais j'ai vu le même résultat. Comment puis-je obtenir une onde carrée de 0 à 5 V?

modifier

En suivant les suggestions ici, j'ai alimenté le comparateur avec des signaux allant de 500 Hz à 20000 Hz et décalés de 2,5 V CC. J'ai principalement observé le même résultat: avec RV1 à un extrême, une ligne plate de 5 V, à l'autre, 0 V, et entre une forme d'onde d'environ 0,5 Vp / p et un décalage à environ 2,5 V (le décalage varie en fonction de RV1).

500 Hz

Le plus proche de la sortie attendue a eu des pics plats à 5V mais ne oscillant toujours pas entre 0 et 5V.

100hz

Cela semblerait exclure les problèmes de portée, donc ce doit être soit l'environnement électrique (j'utilise une planche à pain), soit je l'ai mal câblé (ce dont je doute, mais je vais certainement vérifier triple et quadruple). Ou peut-être une puce ratée, ce qui semble également peu probable.

Je me demande si ces problèmes pourraient être un facteur:

  • J'utilise une maquette (SQ_OUT n'est cependant pas connecté à la maquette).
  • Aucune charge n'est connectée, à l'exception de la sonde d'oscilloscope. Auparavant, lorsque je nourrissais 4,43 MHz, une charge était connectée (entrée d'horloge sur un AD724).
  • Le RV1, qui est un diviseur de tension de 20K, pourrait-il être trop résistant?

Modifier 2

Je crois que mes problèmes ont été causés par une alimentation électrique bruyante (USB 5V non filtré) et exacerbé par la capacité parasite de la planche à pain. Avec l'alimentation USB, le comparateur semblait avoir 3 états: flatlining à 0V, flatlining à 5V, ou la tension à l'entrée. C'était le cas même sans aucun signal, seulement 2,5VDC. Je suppose que "l'état moyen" était une oscillation à haute fréquence. J'ai réussi à obtenir la sortie attendue en alimentant le circuit à partir d'une batterie et j'ai obtenu les meilleurs résultats lorsque je l'ai retiré complètement de la planche à pain. Ce n'est qu'à ce moment-là que je n'ai obtenu que des lignes plates de 0 V ou 5 V sans «état intermédiaire». Sur la planche à pain et fournissant un signal de 1000 Hz, je vois une onde carrée de 0 à 5 V avec quelques zig et zags autour de 2,5 V, montrant que la sortie n'est pas propre. Je suppose que si je veux continuer avec cet appareil, je ' Je vais devoir le mettre sur sa propre carte et filtrer l'alimentation. Merci à tous ceux qui ont contribué.

Carré brut


La forme d'onde semble que le comparateur n'est pas assez rapide pour votre charge. Y a-t-il une capacité de charge sur la sortie? pourquoi ne pas utiliser un condensateur (0,1 uF environ) à l'entrée et bloquer le courant continu de l'entrée sinusoïdale? Cela devrait faire varier l'entrée avec O DC et avoir alors une tension de référence appropriée?
rsg1710

SQ_OUT est-il flottant ou y a-t-il une charge à la fin pendant la mesure?
Mât

Il n'y a pas de charge, SQ_OUT est connecté uniquement à la sonde de portée. @ rsg1710, le comparateur est évalué à 4,5 ns, il devrait certainement être assez rapide.
Batperson

1
Votre oscilloscope est-il de type analogique ou numérique (échantillonnage)? S'il est analogique, la valeur nominale de 10 MHz correspond généralement à la bande passante de -3 dB de l'instrument. Pour un signal d'entrée de 4,43 MHz, un oscilloscope analogique de 10 MHz compressera probablement l'amplitude du signal et provoquera un arrondi aux fronts montant et descendant du signal. Notez que si le signal d'entrée à onde carrée a un temps de montée de, disons, 10 ns, ce temps de montée correspond à une fréquence (bande passante) d'environ 35 MHz, ce qui est bien au-delà de la réponse en fréquence de 10 MHz de l'oscilloscope, et donc l'oscilloscope déformer les fronts montant et descendant du signal.
Jim Fischer

3
Les planches à pain sont connues pour leur capacité parasite. Les comparateurs haute vitesse sont très sensibles à la capacité parasite. Essayez de construire le prototype du style de bug mort. Soudez les composants et les fils directement sur les broches. Gardez la sortie à l'écart de l'entrée. Vérifiez également l'onde sinusoïdale de sortie par rapport à l'onde sinusoïdale d'entrée. Vérifiez que la sortie n'est pas seulement oscillante.
user125718

Réponses:


3

Un temps de montée de portée de 10 MHz devrait être de 0,35 * 1000/10 = 35 nS.

Le temps de demi-cycle à 4,43 MHz est de 500 / 4,43 = 113 nS, ce qui représente plus de 3 fois le temps de montée de l'oscilloscope indiquant que l'oscilloscope devrait être suffisant pour afficher l'excursion complète du signal de sortie. Cependant, la trace de portée fournie semble CR / temps de montée limité au-delà de cela. Par conséquent, la première chose à regarder est le chargement de sortie et comme la fiche technique LM393 montre un paramètre pour le courant de sortie, je suggère dans un premier temps d'essayer une résistance de rappel de 4,7 k entre +5 volts et SQ_OUT. Lorsque vous travaillez correctement pour produire une onde carrée propre, je m'attends à ce que la forme d'onde de sortie de l'oscilloscope soit similaire à celle du bas simulée par JonRB - en raison de la limite de bande passante de l'oscilloscope - bien que les échelles de tension diffèrent. Bien que le réglage de la sonde de portée soit important pour le travail numérique - je pense que c'est un hareng rouge dans ce cas.

MISE À JOUR

@Batperson dans votre commentaire suite à la réponse d'Ovirt, vous avez déclaré que vous aviez remplacé un LM393 qui a une sortie à collecteur ouvert, d'où la suggestion de pullup. Cependant, c'est un circuit trivial et ne devrait pas être difficile à cerner. Un premier conseil. Lorsqu'il y a des problèmes et que vous vous trouvez à répondre «devrait» plutôt que «fait» - vous devez vérifier car il y a un élément de doute. Il y a souvent une grande différence entre devrait et ce qui se passe réellement. Par exemple, ce circuit DEVRAIT produire une sortie rectangulaire.

Ce que vous décrivez n'a pas de sens. Vous disposez d'un signal d'entrée de 0,5 Vp-p polarisé à + 2,5 V par rapport à la masse connecté à l'entrée du comparateur et vous déplacez la référence du comparateur entre gnd et + 5V. Une fois que la tension de référence dépasse la polarisation de l'oscillateur plus environ 0,25 V, la sortie devrait se mettre à plat près de gnd. Inversement, une fois que la référence descend sous le biais moins environ 0,25 V, elle devrait se stabiliser près de + 5 V. Par exemple, la sortie doit être plate chaque fois que la référence est en dehors de la plage du signal d'entrée. Après avoir enquêté, accrochez un C céramique de 0,1 uF entre la référence et la masse à proximité des broches du CI et réessayez. Remplacez ensuite l'entrée oscillateur par deux R 10k en série et connectez entre gnd et + 5V l'entrée comparateur connectée au point milieu. Recherchez la sortie changeant entre flatline + 5V et gnd lorsque la référence passe par le point médian.

PENSEZ PLUS LOIN

@Batperson ayant réfléchi à quelque chose de plus, je réalise que vos traces de portée n'ont pas de sens. La seule façon (autre que la rétroaction -ve) que le circuit illustré peut avoir une polarisation de sortie près du point médian est que la sortie passe un temps égal à + 5V et gnd (le niveau résultant étant la moyenne). Cela n'est pas évident dans vos images de portée 1 et 2 - cela ressemble plus à ce que l'entrée devrait être - presque comme si le circuit intégré de masse n'était pas connecté. Les tests que j'ai suggérés hier devraient aider à résoudre ce problème. Il serait utile que vous intituliez les images 2 et 3 avec des points de référence de tension et une échelle ou une fréquence car cela ne ressort pas clairement de votre texte. Peut-être aussi une photo de votre planche à pain.


si vous notez ma réponse, la portée mène (fréquence ou compensation). les cordons fournis avec une portée de 10 MHz conviendront jusqu'à 10 MHz. Vous obtiendrez alors deux filtres 10 MHz de 1er ordre en cascade. Permettez-moi de mettre à jour ma réponse pour superposer l'impact des deux filtres
JonRB

Merci @JonRB et Venustas. Je suis à peu près sûr maintenant après avoir testé avec des signaux de 0,5-20 kHz, ce n'est pas la portée (la sonde est également réglée et affiche une onde carrée parfaite en utilisant le signal de test de la portée, qui IIRC est de 10 kHz). La pièce est un TLV3501 avec une sortie push-pull donc ne devrait pas avoir besoin d'un pullup? J'ai confondu tout le monde en faisant un schéma rapide avec une bibliothèque LM393 Eagle mais c'est maintenant corrigé.
Batperson

42

Ce sera l'une des deux choses et plus que probablement les deux:

  1. La sonde que vous utilisez n'est pas adaptée, que ce soit en fréquence ou dans sa compensation (la petite vis sur le côté de la sonde).

    Entrez la description du lien ici

  2. Une portée de 10 MHz est trop lente pour un signal de 4,5 MHz

Voici la constitution d'une onde carrée jusqu'au 100e harmonique (fonds 4,43 MHz):

entrez la description de l'image ici

import numpy as np
from matplotlib import pylab
F= 4.43e6
t = np.arange(0, 2/F, 1e-12)
x = np.sin(2*np.pi*F*t) 
pylab.subplot(3,1,1)
pylab.title('Sinewave of increasing frequency: Fourier content of a squarewave')
pylab.plot(t,x)
pylab.grid(True)

for i in range(3,100,2):
    a = (1/i)*np.sin(2*np.pi*F*i*t)
    pylab.plot(t,a)
    x +=a

pylab.subplot(3,1,2)
pylab.title('Equivelent squarewave for summation of its harmonics')
pylab.plot(t,x)
pylab.grid(True)

y= np.zeros(len(t))

A= 10e6*2*np.pi*t[1]/(10e6*2*np.pi*t[1]+1)
for i in range(1,len(t)):
    y[i] = y[i-1] + A*(x[i] - y[i-1])
pylab.subplot(3,1,3)
pylab.plot(t,y,label='4.43MHz through 1 filter')
x = y
y= np.zeros(len(t))
A= 10e6*2*np.pi*t[1]/(10e6*2*np.pi*t[1]+1)
for i in range(1,len(t)):
    y[i] = y[i-1] + A*(x[i] - y[i-1])
pylab.plot(t,y)
pylab.plot(t,y,label='4.43MHz through 2 cascaded filters')

pylab.title('Result of passing a 4.43MHz squarewave through 1 & two 10MHz 1st order filters')
pylab.legend()

pylab.grid(True)
pylab.show()

Si l'acquisition n'est capable que de 10 MHz, les contributeurs seront atténués et déphasés produisant une forme d'onde déformée similaire à celle que vous voyez.

La mise en cascade de deux «filtres» à 10 MHz (un dans la sonde, un à l'entrée de l'oscilloscope) déformera davantage la forme d'onde, ce qui donnera un signal plus proche de celui vu sur l'oscilloscope.

La moyenne d'une onde carrée de 0 à 5 V est de 2,5 V. si votre portée est une "entrée moyenne", elle produira également une forme d'onde similaire et tendra vers 2,5V. J'ai été surpris plusieurs fois en regardant PWM uniquement pour voir une forme d'onde de marche très étrange UNIQUEMENT pour trouver quelqu'un qui a foiré mon oscilloscope et qui a activé la "moyenne de 16 échantillons"

entrez la description de l'image ici


Merci, la compensation devrait être correcte mais je vérifierai à nouveau. Je me suis demandé si des artefacts de portée pouvaient être impliqués, j'ai donc veillé à inclure "Oscilloscope pratique 10 MHz" dans la photo :-) Cependant, c'est principalement le décalage apparent de 2 V CC qui me préoccupe. Serait-ce un artefact de portée aussi?
Batperson

Le décalage DC est un peu douteux. Tester à une fréquence beaucoup plus basse où la portée fonctionne bien devrait lever le doute ...
peufeu

3
@Batperson, une onde carrée de 0 à 5 V a une composante continue moyenne de 2,5 V, il n'y a donc absolument rien de mal là-bas. Une réponse en fréquence insuffisante augmentera les creux (apparents) tout autant qu'elle abaissera les pics (apparents).
Hobbs

exactement, l'exemple de signal que j'ai est un signal + -1V, le comparateur avec un signal 0-5V.
JonRB

Le manuel de mon oscilloscope ne dit rien sur la moyenne, il ne l'a certainement pas comme fonctionnalité pouvant être activée. Ce sont toutes des informations utiles pour moi de savoir cependant.
Batperson

32

Vous devez savoir qu'une onde carrée de 4,43 MHz a une bande passante beaucoup plus grande que 10 MHz.

Une onde carrée de 4,43 MHz "appropriée" contiendra des fréquences allant jusqu'à 50 MHz et au-delà. En effet, une onde carrée est composée d'une somme entière de fréquences (contrairement à une onde sinusoïdale qui n'est qu'une seule fréquence, c'est pourquoi les EE l'utilisent beaucoup).

Si vous aviez une onde carrée de 4,43 MHz idéale mais que vous la regardiez à travers un système de bande passante de 10 MHz (comme votre oscilloscope), vous verriez une onde triangulaire déformée. C'est ce que vous voyez ici.

Réessayez, mais à une fréquence 10 fois inférieure (ou même 100 fois inférieure) et voyez ce que vous obtenez.


Je vais essayer de le tester en utilisant un signal de fréquence inférieure. Je veux principalement confirmer que la sortie oscille réellement entre 0 et 5 V à 4,43 MHz (et non 2 et 2,5 V). Existe-t-il un moyen de confirmer que l'utilisation de mon équipement limité?
Batperson

À une fréquence plus basse, vous pouvez vérifier cela facilement, puis si la charge à la sortie de l'ampli op est suffisamment faible (petite capacité), vous pouvez supposer qu'elle est également OK à 4,33 MHz. Pour vérifier cela, vous auriez non seulement besoin d'un oscilloscope avec une bande passante d'environ 200 MHz, mais également d'une sonde 10: 1 appropriée en raison de la faible capacité d'entrée.
Bimpelrekkie

1
@batperson, peut-être que dans votre grotte à chauves-souris, vous avez des diodes 1n4148 et des condensateurs en céramique, vous pourriez construire un détecteur de crête.
Jasen

1

D'autres réponses ont couvert les considérations de bande passante de votre portée, etc.

Vous dites que vous utilisez le périphérique TLV3501 mais votre circuit schématique ne correspond pas aux configurations de broches indiquées dans la fiche technique TLV3501, TLV3502 - par exemple, la sortie doit être sur la broche 6 ou la broche 5 selon le package (SOIC ou SOT-23 ).

Votre schéma ne montre pas non plus une connexion à la broche "arrêt" qui doit être connectée à l'alimentation négative - "GND" dans ce cas.

Si les informations fournies dans votre question sont exactes, il semblerait que l'appareil n'est pas connecté correctement (sauf si vous avez réussi à trouver l'appareil dans un package non répertorié dans la fiche technique liée).


1
J'aurais dû masquer les numéros de broches sur le schéma, ils ne sont pas précis. J'ai substitué une pièce LM393 dans le schéma car je n'en avais pas une pour le TLV3501. L'appareil est correctement connecté, y compris la broche d'arrêt, et le circuit se comporte comme prévu, mais pas à 4,43 MHz.
Batperson

@Batperson - Soupir. Vous avez donc utilisé une pièce différente, et cela ne fonctionne pas comme prévu. Veuillez lire la réponse de Transistor.
WhatRoughBeast

1
@WhatRoughBeast Il / elle a remplacé une pièce différente lors du dessin du schéma , car le générateur de schémas n'avait pas la pièce qu'il utilisait réellement et n'avait pas de pièce générique.
user253751

On dirait que j'ai créé de la confusion en faisant cela, ma mauvaise. Le schéma a été corrigé.
Batperson

@Batperson Ok, merci de l'avoir fait. Je commenterai ici car je n'ai pas encore de représentant suffisant pour le faire sur d'autres réponses. Si l'oscilloscope (et la sonde) ont véritablement une bande passante de 10 MHz, la valeur fondamentale de 4,43 MHz ne devrait être que légèrement atténuée. Quel affichage l'oscilloscope donne-t-il si vous regardez le signal source? Dans tous les cas, l'affichage que vous avez montré pour la sortie (en supposant que le circuit fonctionne) suggère que votre train de mesures est limité à beaucoup moins de 10 MHz. Le décalage est conforme à ce scénario - c'est-à-dire un décalage à la moitié du swing de sortie.
ovirt

1

Comme d'autres l'ont souligné, cela est probablement dû au fait que votre oscilloscope n'est évalué que pour 10 MHz. Je voulais expliquer pourquoi c'est un problème en termes plus simples et moins théoriques.

La cote de 10 MHz signifie qu'il peut afficher une onde sinusoïdale de 10 MHz avec une atténuation et une distorsion minimales. Les fréquences nominales sont toujours données pour les ondes sinusoïdales, pas pour les ondes carrées.

Pour comprendre pourquoi une onde carrée nécessite beaucoup plus de bande passante pour s'afficher, vous devez comprendre que la fréquence est déterminée par le taux de changement dans le temps. Donc, en fait, une onde carrée est très basse fréquence (proche de DC ou zéro) sur les parties planes, puis soudainement très haute fréquence lorsqu'elle passe de haute à basse ou basse à haute.

Si vous regardez la fiche technique du comparateur, elle donnera le taux de balayage. C'est le taux de variation maximum de sa sortie. Cela dépendra également de votre circuit, mais pour cet exemple, disons que c'est 1ns / V. La sortie oscillera sur 5V, en prenant 5ns. Ainsi, la fréquence de la partie de transition de l'onde carrée sera de 1 / 5ns, ou 200 MHz. Étant donné que votre portée n'est que de 10 MHz, elle affichera quelque chose comme la forme d'onde que vous voyez, incapable de se balancer de haut en bas aussi rapidement que l'onde carrée.


0

Une bande passante de 10 MHz arrondirait votre signal de sorte qu'il ressemble plus à une onde sinusoïdale qu'à une onde carrée et provoquerait probablement également une certaine atténuation, mais cela n'explique pas pourquoi votre signal est 10 fois plus petit qu'il ne devrait l'être.

Une cause possible d'un tel comportement serait d'avoir une portée configurée pour une sonde X1 mais en fait d'utiliser une sonde X10, mais cela affecterait également le niveau de décalage CC qui, selon vous, semble à peu près correct.

Je conclus donc que votre système doit avoir une bande passante considérablement inférieure aux 10 MHz imprimés sur votre oscilloscope. Donc, soit votre lunette est faite par un fabricant qui ment (je ne reconnais pas la marque), votre configuration de sonde n'est pas adaptée aux hautes fréquences ou il y a quelque chose de mal avec le circuit testé.


Ce n'est pas 10 fois plus petit qu'il ne devrait l'être, je m'attends à des pics de 5V et j'en vois environ 2,5V. Je ne pense pas que ma portée soit configurable pour la sonde (c'est le budget comme je l'ai dit) et la sonde est réglée pour X1. Mais le consensus semble être que le circuit fonctionne réellement et ce que je vois est dû aux limites de ma portée (ou de sa configuration). Une fois que j'aurai l'occasion, j'essaierai de confirmer cela en utilisant les suggestions que les gens ont faites ici.
Batperson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.