Contexte
Je développe une horloge numérique et un circuit de récupération de données et j'entre maintenant dans la phase d'évaluation, en me concentrant sur le test des limites de la conception et la recherche des forces et des faiblesses potentielles. Une métrique importante de cette conception particulière est la tolérance à la gigue dans le signal d'entrée asynchrone. Pour évaluer cette métrique, j'ai une configuration de test à l'esprit comme ci-dessous.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Problème
Pour garantir que les résultats des tests sont significatifs, il est souhaitable que la gigue présente les caractéristiques suivantes:
- Aléatoire ou pseudo aléatoire
- Distribution gaussienne
- L'écart type du bruit est paramétré et peut être balayé (JITTER CONTROL ci-dessus)
Cela ne semble pas être une chose facile à accomplir. Existe-t-il un moyen relativement simple d'injecter une quantité contrôlée de gigue dans une configuration de test?
Ce que j'ai jusqu'ici
Je lui ai donné quelques réflexions et recherches et j'ai deux façons potentielles de l'implémenter dans le matériel.
- Si l'horloge de transmission du circuit de test est nettement supérieure à celle du DUT, la sortie peut être suréchantillonnée. Ensuite, des échantillons supplémentaires peuvent être ajoutés ou supprimés de la sortie pour injecter une quantité discrète de gigue. Cette gigue ne sera pas parfaitement gaussienne en raison du bruit de quantification. Mais si le taux de suréchantillonnage du circuit de test des données de transmission est suffisamment élevé, cette préoccupation peut être atténuée.
- La configuration de test de Kubicek et al. (ci-dessous) utilise une transmission optique avec un atténuateur variable pour obtenir l'effet souhaité. Ce n'est pas du tout évident pour moi pourquoi cela permettrait d'atteindre ce qui précède, mais un analyseur de spectre devrait être en mesure de déterminer s'il fonctionne comme prévu.
Je comprends que ma question omet de nombreux détails sur la conception et la configuration du test. C'est intentionnel car je veux que cela reste aussi conceptuel et général que possible. Je veux éviter que cela ne devienne un poste spécifique au design en faveur de la création d'un poste de valeur de référence permanente.
Votre question implicite est: "que se passe-t-il sur la figure 5 pour créer une gigue aléatoire contrôlée?".
Tout d'abord, sachez que chaque récepteur optique introduit du bruit dans le signal reçu. Ce bruit est modélisé assez précisément comme un bruit de courant aléatoire gaussien. L'étage de l'amplificateur de trans-impédance (TIA) du récepteur convertit naturellement le bruit de courant en bruit de tension. La sortie photodiode / TIA est un signal analogique proportionnel au signal d'entrée optique, plus le bruit supplémentaire dont nous venons de parler.
Ce qui est caché dans le dessin est un amplificateur de limitation pour obtenir des niveaux logiques numériques à partir de la sortie TIA. Je suppose que cela se produit dans le tampon de fan-out dans le circuit as-drawn. Lorsque vous appliquez un amplificateur limiteur à une entrée bruyante, le bruit sera converti en gigue, car il y a une variation dans le temps auquel les fronts montant et descendant franchissent le seuil de décision. Cette variation de synchronisation est gigue, et elle est proportionnelle au bruit à l'entrée et inversement proportionnelle à la pente des bords (dV / dt).
Lorsque vous augmentez l'atténuation optique, vous réduisez dV / dt, mais vous ne réduisez pas le bruit, vous augmentez donc la gigue.
À propos de la solution VCO
FM'utiliser votre source de synchronisation (comme suggéré par la réponse de Dave) n'est pas susceptible de produire un bruit aléatoire gaussien comme vous l'avez demandé dans votre question. Certainement pas un bruit aléatoire qui n'est pas corrélé d'un bord à l'autre (gigue aléatoire ou "RJ") qui semble être ce que vous recherchez et ce que vous obtiendrez du circuit de Kubicek.
C'est une bonne méthode pour obtenir la gigue sinusoïdale balayage de fréquence (SJ) qui est une autre spécification que vous devez vous soucier de la caractérisation d' un CDR. En fait, il est beaucoup plus courant dans mon expérience de spécifier les CDR par leur tolérance à la gigue sinusoïdale à fréquence unique que pour leur tolérance à la gigue aléatoire gaussienne non corrélée.
la source
Une chose que vous pouvez faire est d'implémenter une version du circuit à retard utilisé dans les DLL. Il s'agit généralement d'une chaîne d'onduleurs actuellement affamée. Vous devez dégénérer l'alimentation en courant des rails dans l'appareil et l'alimentation en courant hors de l'appareil (pour la symétrie de montée / descente) et avoir un inverseur de reconstruction (sans le manque de courant) sur la sortie.
Cela émulerait également la source la plus courante de gigue dans les sources (effondrement partiel du rail et être modulé sur la sortie à travers le G_m des transistors.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Les sources de courant contrôlées en tension peuvent simplement être des transistors PMOS et NMOS, mais sur une carte, vous avez d'autres options. Vous pouvez modifier le nombre d'étages pour augmenter le contrôle de la tension de retard.
Pour me contredire, vous pouvez également contrôler l'alimentation supérieure tant que vous maintenez le nombre d'étages de retard à un nombre pair (étant des onduleurs, ils retarderont alternativement le front montant puis le front descendant). Vous auriez alors besoin d'avoir deux onduleurs de reconstruction sur la sortie.
simuler ce circuit
Cependant, il existe un moyen encore plus simple, si vous souhaitez simplement injecter du bruit sur les bords.
simuler ce circuit
la source