J'ai une largeur d'impulsion de 5 ns High sortant d'un comparateur asynchrone. J'essaie de compter cette impulsion. Mon microcontrôleur actuel (dsPIC33FJ) a un compteur asynchrone à bord, avec une spécification min d'au moins 10 ns de largeur d'impulsion élevée.
Quelles sont mes options pour allonger / allonger cette impulsion de 5 ns afin qu'elle puisse être lue par le compteur? Je suis prêt à passer à un autre microcontrôleur ou à utiliser un compteur frontal plus qualifié, mais je préférerais utiliser des circuits passifs / simples à la place. Est-ce possible?
Ce que j'ai recherché jusqu'à présent:
J'ai essayé de lier un condensateur de 0,1 uF entre le signal de sortie et la masse dans l'espoir que la décharge le ralentisse, mais tout ce qui a été a été de fausser fortement le signal. Puis-je utiliser une valeur bien inférieure?
J'ai recherché des échantillons et détenez des CI, mais le temps d'acquisition le plus court que j'ai pu trouver est d'environ 200 ns, ce qui ne convient pas à mon application.
Réponses:
Un multivibrateur monostable redéclenchable tel que 74LV123 répondrait bien à vos exigences:
Il s'agit d'un circuit intégré logique standard, très peu complexe, et il y a deux monostables dans le boîtier au cas où vous auriez besoin d'étirer une autre source d'impulsions.
La pièce est disponible en DIP ainsi qu'en TSSOP, donc options de planche à pain et de production.
J'espère que cela vous a aidé.
la source
Voici un simple brancard à impulsions positives avec certaines conditions:
Le gain du transistor fera augmenter rapidement la sortie, mais il se désintégrera ensuite à la terre selon la constante de temps RC, qui est de 47 ns dans cet exemple.
L'un des problèmes est que vous ne pourrez peut-être pas tolérer la chute de tension BE. Si l'entrée PIC nécessite 80% de Vdd pour un niveau élevé garanti et que le processeur fonctionne à partir de 3,3 V, OUT doit être supérieur à 2,6 V pour être interprété comme un niveau élevé. Cependant, si IN est également un signal logique de 3,3 V et en supposant une baisse de 700 mV BE, alors OUT ne monte que jusqu'à 2,6 V en premier lieu.
Ce circuit peut toujours être utilisable si le seuil haut logique minimum PIC est plus bas ou IN est une tension plus élevée. Certaines entrées sur certaines pièces 33F sont tolérantes à 5 V. Si vous pouvez arranger IN pour être un signal logique de 5 V et utiliser une entrée tolérante de 5 V, vous aurez suffisamment de marge pour la constante de temps pour maintenir la ligne haute plus longtemps que l'impulsion.
Si la sortie OUT peut être garantie d'une manière ou d'une autre à 3,3 V au pic de l'impulsion et que l'entrée logique haute garantie du PIC est de 2,6 V, alors ce circuit étirera l'impulsion d'environ 1/2 constante de temps, soit environ 24 ns cet exemple.
la source
À quelle fréquence recevez-vous des légumineuses? Votre compteur peut-il compter les fronts montant et descendant au lieu des impulsions?
Si les impulsions ne sont pas très fréquentes, exécutez votre impulsion dans l'entrée d'horloge d'un T-Flip-Flop. Chaque fois que vous obtenez une impulsion, la sortie TFF bascule, créant un bord. Les impulsions doivent être suffisamment éloignées pour que le MCU ait le temps d'enregistrer le front avant que le suivant n'entre.
Si votre MCU ne peut pas fonctionner à la fois sur les fronts montant et descendant, vous pouvez utiliser deux compteurs (un front montant, un front descendant), ou même simplement accepter que vous ne pouvez compter que toutes les deux impulsions.
la source
Une ligne à retard programmable devrait faire ce que vous recherchez. Il étirera votre impulsion de 5 ns entre 5 ns et 500 ns. Celui-ci est en rupture de stock chez DigiKey mais la fiche technique est une bonne lecture pour vous montrer la théorie. Voici un de Linear qui est en stock et devrait faire ce que vous espérez.
la source
Voici un brancard à impulsions très simple. Peut utiliser la porte logique universelle NC7SZ58P6X pour implémenter la porte OU. La fiche technique montre un retard de propagation maximal de 4,3 nS à 5 V.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
la source