Detección de fase con PFD no ideal

Estoy tratando de simular para Phase Frequency Detector con la siguiente implementación:ingrese la descripción de la imagen aquí

y dentro de NAND_PFD:ingrese la descripción de la imagen aquí

NOTA: los triángulos de la derecha son inversores y no amplificadores.

actualmente estoy recibiendo un C yo k r mi F tu pag retrasos que se representan en esta suma:ingrese la descripción de la imagen aquí

igual por C yo k V C o D o w norte .

C yo k V C o es el voltaje que debe salir del VCO en un PLL general. aquí elegí una frecuencia solo para simulación.

mirando la máquina de estado:

ingrese la descripción de la imagen aquí

cuando tu pag = D o w norte = 0 y C yo k V C o Sube, D o w norte debería subir en la mayoria de articulos que he leido este cambio aparece exactamente en la zona de desfase, lo que parece que el cambio es inmediato y sin demora.como en esta imagen:ingrese la descripción de la imagen aquí

¿Cómo podemos interpretar este retraso en términos de detección de fase? si la detección de fase aparece exactamente al mismo tiempo tu pag / D o w norte ¿cambiar? ¿O simplemente necesitamos la información de los anchos de cambio y se la entregamos al PLL para que haga su trabajo y no importa cuándo detectamos el cambio?

Aquí hay una simulación más larga de la que estoy tratando de verificar que el patrón de detección de fase sea correcto:ingrese la descripción de la imagen aquí

El dimensionamiento de los transistores se realizó de la siguiente manera:

ingrese la descripción de la imagen aquí

mediante el uso de transistores ESDnfet y ESDpfet en tecnología 28n, con una biblioteca llamada cmos32lp. (en virtuoso).

Nota: Todavía no sé qué significan ESDnfet y ESDpfet, y los elegí al azar y me alegraría si alguien conoce esta biblioteca y me puede decir si elegir otro tipo de transistores marcaría la diferencia.

C yo k V C o y C yo k r mi F se definieron como sigue:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

1) explique por qué cree que no debería haber ningún retraso entre las señales 2a) Cref y Cout no son condensadores, son voltajes. Llame entonces a Vref y Vout en su lugar. 2b) ¿Qué pasaría si una puerta NAND tuviera un retraso de 1 segundo, afectaría eso a la frecuencia máxima a la que puede operar el circuito? +1 por proporcionar todos los detalles necesarios en su pregunta.
¿ Cómo es un retraso de menos de un nanosegundo "enorme"? Estas son puertas bastante rápidas que estás simulando allí. Lo real con puertas 74HC sería aproximadamente 10 veces más lento.
@Janka, parece lógico lo que intenta decir, pero en todos los artículos que leí, noté que el cambio en Up/Down aparece exactamente después del cambio en Clk,ref/Clk Cout. el cambio realmente no aparece verticalmente en la misma escala? ¿Eso afecta la idea de detección de fase? ¿No debería estar la indicación justo debajo del área donde los relojes están desfasados?
La ruta de señal más corta desde la entrada hasta la salida es a través de tres NAND más un inversor. Con puertas 74HC, esto significa un retraso de unos 28 ns antes de que cualquier cambio en una entrada pueda afectar a la salida. Dentro de un ASIC, puede bajar a unos pocos ns, pero ciertamente no a menos de un nanosegundo. Eso es poco realista.
Siempre que las señales se propaguen a través de puertas lógicas reales, habrá cierto retraso desde los eventos de entrada hasta el cambio en una salida. Por lo general, se supone que los diagramas de tiempo como el que agregó son ideales y no reflejan retrasos reales.
@ElliotAlderson bien, en el caso ideal, pude verificar si el detector de fase funciona bien al estimar el ancho de los pulsos hacia arriba y hacia abajo en comparación con la diferencia de fase como aparece en la foto ideal que adjunté, ahora se supone hacer un seguimiento ocular de este cambio en función del tiempo con más cuidado porque no están alineados verticalmente?
Para demoras mínimas, use la lógica de modo actual (CML)
@SunnyskyguyEE75 las puertas se construyeron desde cero usando transistores ESDnfet y ESDpfet. (tecnología 28n) ¿nos sugiere usar puertas ideales? pero ese es el punto, queríamos simular para un caso no ideal. por cierto, ¿sabes lo que significan ESDnfet y ESDpfet? fueron elegidos al azar.
No, no sé, pero esto puede ser de interés tera.yonsei.ac.kr/publication/pdf/Jour_2015_KDH_TCAS1.pdf
usando transistores ESDnfet y ESDpfet Parece que estos son transistores que tienen algún tipo de protección ESD y/o se usan como protección ESD. No debe utilizarlos en un diseño típico . Elegir un componente al azar no es la forma en que trabaja un buen diseñador, así que lea el manual y elija los componentes correctos. Utilice "nfet" y "pfet" en su lugar. Lea sobre ESD aquí: en.wikipedia.org/wiki/Electrostatic_discharge

Respuestas (2)

No voy a trabajar en los detalles de su esquema específico. Sólo quiero hacer algunas declaraciones generales:

  • Siempre que la función de transferencia de su detector sea monótona, se puede usar para llevar el error de frecuencia de su PLL a cero. El retraso de entrada a salida del detector no afecta esto.

  • Siempre que los retrasos de las dos entradas a la salida coincidan , también puede llevar el error de fase a cero. De lo contrario, se queda con un pequeño error de fase constante residual, que generalmente se puede compensar por otros medios.

ante todo gracias por la respuesta! Adjunté una nueva simulación que muestra un aumento monótono en el ancho de la señal UP. Necesito pensar en este resultado y en la coincidencia de retrasos de la que hablaste. Todavía no puedo explicar por qué Up comienza con 1.9 v. por cierto, si ya estamos hablando de esto, en este caso, siempre debo esperar un comportamiento periódico de la señal de subida en el tiempo, lo que significa que no estoy esperando que los inicios de Down tengan anchos crecientes de repente (excepto en el caso de que las frecuencias de entrada cambien con el tiempo, por ejemplo, la señal Vco que se ve afectada por la temperatura)

Experimentemos.

Para comprender mejor el comportamiento, configure su entrada Fref a 300 MHz al 50 % del ciclo de trabajo con 0,3 nanosegundos Trise/Tfall; configure su entrada Fvar a una entrada de 310 MHz con un ciclo de trabajo del 45 % con Trise/Tfall de 0,4 nanosegundos.

Tenga en cuenta que estas no son la misma frecuencia, por lo que su forma de onda de salida (los pulsos ARRIBA y ABAJO) mostrarán una nota de ritmo a 10 MHz o 100 nanosegundos. En varias alineaciones de tiempo, sus pulsos de salida se convertirán en basura. Para un bloqueo de fase ajustado, desea que la región de BASURA sea lo más estrecha posible, lo que requiere que las puertas cruciales sean lo más rápidas posible. No todas las puertas son cruciales.

Fuera de la ventana de observación de 100 nanosegundos (1/10 Mhz), tendrá más de 30 eventos de prueba. Probablemente pueda aumentar la frecuencia de prueba a 600 y 610 MHz, o incluso a 1000 y 1010 MHz. Experimente con el ciclo de trabajo y los tiempos de subida/bajada.

Ahora necesita comprender qué impulsa mejor su ChargePump, para obtener la mejor conmutación de corriente rectangular.

Y debe preguntarle a la gente de su sistema qué piso de ruido de fase residual se necesita, y luego colaborar con ellos sobre cómo una desviación de borde de tiempo de RMS aleatorio de 100 picosegundos degradará su piso de ruido de fase.

Permite predecir el ruido de fase. Veo 3 puertas de retraso, más el búfer de salida, para el borde de ataque. Suponga que el ancho de banda de la puerta es de 40 GigaHertz. Suponga que el Rruido equivalente en cada puerta y búfer es de 10 000 ohmios (podría ser menor). ¿Cuál es el voltaje Vruido integrado total en cada puerta?

Vruido = sqrt(40,000,000,000) * 12 nanoVoltios/rtHz a 10Kohmios

Vruido = 2e+5 * 12e-9 = 24e(+5-9) = 24e-4 = 2,4e-3 = 2,4 milivoltios.

El Time Jitter por puerta es Vnoise/Slewrate.

Suponga que SlewRate es de 2 voltios en 20 picosegundos, o 100 mil millones de voltios por segundo o 1e+11 voltios/segundo.

TimeJitter Tj es Vnoise/Slewrate = 2.4e-3/1e+11 = 2.4e-14 = 24 femtoSeconds

por puerta/búfer.

Con cuatro puertas/búferes en el camino para crear el borde inicial de los pulsos de salida, su varianza aumenta en 4 y su RMS (la desviación estándar) aumenta en sqrt (4) o factor de 2.

Por lo tanto, TimeJitter es sqrt(4) * 24 femtoSeconds, = 50 femtoSeconds RMS.

esto es lo que obtuve: imgur.com/KiL4wPc ¿puedes explicar más qué es beatnote?
La forma de onda central parece comenzar a repetirse, a los 87 nanosegundos. ¿Es esta una simulación a nivel de transistor? o un nivel de puerta? por supuesto, con bordes de 100 mil millones de voltios/segundo, la mayoría de las simulaciones parecerán a nivel de puerta. Si es una simulación a nivel de transistor, aumente a 1000 MHz y 1005 MHz y ejecute la simulación durante 200 nanosegundos; queremos observar la falla de la lógica, cuando los pulsos de salida FALLAN para alcanzar la altura máxima; queremos romper el comportamiento lógico y comenzar a ver el comportamiento del transistor.
este es el nivel del transistor. aquí está la nueva simulación con 1000Mhz y 1005Mhz: imgur.com/ZQ4Wqh5 , creo que lo que estamos tratando de observar es el ancho del pulso, que determinará y afectará el funcionamiento de la bomba de carga. ¿Estás tratando de observar el rango de la zona muerta?
sí --- tratando de encontrar pulsos de oscilación incompleta de altura inferior a la completa. no veo ninguno Por supuesto, es posible que la bomba de carga no responda a pulsos de 50 picosegundos.