Ecuaciones LUT y Driver
El VCSEL, operado a I ≫(I_th), se comporta como una resistencia desconocida (R_ld)
I=((V_diff)-(V_o))/(R_ld) → (V_o) es V cuando I=0 (extrapolación)
En el punto umbral: I=(I_th) ⇒(V_diff)=(V_th,on)
(I_th)=((V_th,on)-(V_o))/(R_ld) ⇒ (V_o)=(V_th,on)-(I_th)*(R_ld)
Ahora mismo son desconocidos: (V_o), (V_th,on) y (R_ld)
Calculamos la corriente por encima de (I_th) en función de (V_diff)
(P_opt)= η*(I-(I_th))=η*(((V_diff)-(V_o))/(R_ld)-((V_th,on)-(V_o))/(R_ld))
(I-(I_th)) =([((V_diff)-(V_o))/(R_ld)]-(I_th))
=([((V_diff)-((V_th,on)-(I_th)*(R_ld)))/(R_ld)]-(I_th))
=((V_diff)-(V_th,on))/(R_ld)
Entonces:
(P_opt)=η((V_diff)-(V_th,on))/(R_ld)
Ahora calculamos el cociente de ER (Extinction Ratio):
ER=(P_1)/(P_0)∝((I_1)-(I_th))/((I_0)-(I_th))
Sustituyendo lo de la línea 10:
ER=((V_1,diff)-(V_th,on))/(R_ld)/((V_0,diff)-(V_th,on))/(R_ld)=((V_1,diff)-(V_th,on))/((V_0,diff)-(V_th,on))
Con un NRZ al 50 los niveles de tensión son, simétricamente:
(V_1,diff)=(V_peak,diff)
(V_0,diff)=(V_valley,diff)
La media temporal es:
(V_avg,diff)=((V_peak,diff)+(V_valley,diff))/2
→(V_valley,diff)=2*(V_avg,diff)-(V_peak,diff)
A=(V_avg,diff)-(V_th,on) ← Excursión media de tensión por encima del umbral. A>0 siempre que (I_bias)>(I_th)
Δ(V)= (V_peak,diff)-(V_avg,diff)=(V_avg,diff)-(V_valley,diff)
De la línea 16 se obtiene que:
ER=((V_1,diff)-(V_th,on))/((V_0,diff)-(V_th,on))=((V_peak,diff)-(V_th,on))/((V_valley,diff)-(V_th,on))
=(((V_avg,diff)+Δ(V))-(V_th,on))/((2*(V_avg,diff)-(V_peak,diff))-(V_th,on)) =(((V_avg,diff)-(V_th,on))+Δ(V))/(((V_avg,diff)-(V_th,on))-((V_peak,diff)-(V_avg,diff)))
Ahora se trata de buscar una relación entre A e (I_bias). El (I_bias) forzado y conocido es la clave.
A es el DC en las terminales del VCSEL. Como (I_bias) es forzado, la corriente media es exactamente (I_bias):
(I_bias)=(I_avg)=((V_avg,diff)-(V_o))/(R_ld) , de la línea 2.
→(V_avg,diff)=(V_o)+(I_bias)*(R_ld)
=((V_th,on)-(I_th)*(R_ld))+(I_bias)*(R_ld)
=(V_th,on)+(R_ld)*((I_bias)-(I_th))
→A=(V_avg,diff)-(V_th,on) =(R_ld)*((I_bias)-(I_th))
Observamos que A es positivo cuando (I_bias)>(I_th) y esconde el (R_ld) desconocido. Sin embargo, no es necesario conocer A, ya que se calcula de la medida de (V_avg,diff) y el (V_th,on) viene del LUT.
Lo que sí se necesita conocer es Δ((V_)) del ER objetivo → Δ((V_target)) de (ER_target) (amplitud del pulso de (V_diff) para llegar al (ER_target))
De la línea 27 se obtiene que:
(ER_target)*(A-Δ((V_target)))=(A+Δ((V_target)))
→A*((ER_target)-1)=Δ((V_target))*((ER_target)+1)
Δ((V_target))=A((ER_target)-1)/((ER_target)+1)
, y diciendo que k=((ER_target)-1)/((ER_target)+1), se obtiene:
Δ((V_target))=A*k=k*((V_avg,diff)-(V_th,on))
Por último, se calcula (V_ref)⇒ valor que debe alcanzar (V_peak,diff) para que ER=(ER_target)
(V_ref)=(V_avg,diff)+Δ((V_target))
→(V_ref)=(V_avg,diff)+k*((V_avg,diff)-(V_th,on))
Por tanto, para establecer el lazo de control, necesitamos:
Medir (V_avg,diff)
Medir (V_peak,diff)
(V_th,on) (LUT)
Establecer (ER_target)
→ No se necesita (R_s),(R_j),(C_j), (V_o), (I_bias)
(I_bias) no aparece porque cuando se mide (V_avg,diff) ya estamos capturando su efecto, y también el de la temperatura.
¿Cómo obtenemos (V_th,on)?
Asumimos que la caracterizamos cuando mandamos (I_th), así que es un dato conocido. Es el voltaje a través del VCSEL cuando I=(I_th), es decir, la medida de PAD-A→PAD-K cuando I=(I_th). Asumir esto es compatible con nuestro planteamiento. Solo queremos no tener que modelar el VCSEL ((R_s),(R_j),(C_j)).
Tendríamos una LUT de temperatura, medida con algún sensor, proporciona el valor correspondiente de (V_th,on).
Medimos (V_avg,diff)=(V_PAD-A)-(V_PAD-K) promediado temporalmente.
Calculamos A=(V_avg,diff)-(V_th,on)
Calculamos (V_ref)(T)=(V_avg,diff)+k*A, donde k=((ER_target)-1)/((ER_target)+1)
((ER_target) es el ER lineal)
El lazo ajusta (V_mod) hasta que (V_ref)=(V_peak,diff). Lo ajusta a través de (I_mod)=(I_driver) porque la (R_driver)=(R_t) no varía (asumiendo una resistencia calibrada).
Así se podría medir (V_avg,diff)=(V_PAD-A)-(V_PAD-K)=(V_avg,A)-(V_avg,K):
Para medir (V_peak,diff), que es la medida del máximo de una señal diferencial:
Cuando (V_PAD-A) está en su pico, (V_PAD-K) está en su mínimo → Push-Pull
Es por esto que necesitamos medir (V_peak,diff) ⇒ no es trivial, necesitamos el peak y el valley!
(V_peak,diff)=(V_PAD-A,peak)-(V_PAD-K,peak)
Por tanto, necesitamos 2 filtros RC en los pads de DC para (V_avg,A) y (V_avg,K), y 2 peak detectors en los pads de AC para (V_peak,diff)
Una simplificación que podemos hacer: como el driver es simétrico:
(V_PAD-A,peak)-(V_avg,A)=(V_avg,K)-(V_PAD-K,peak)=Δ(V)/2
Sabiendo que Δ(V)= (V_peak,diff)-(V_avg,diff) (línea 23)
(V_peak,diff)=(V_avg,diff)+2*((V_PAD-A,peak)-(V_avg,A)) →esto nos evitaría un peak detector
Action Items:
Ejemplo para verificar las ecuaciones numéricamente:
(R_t)=50; (I_bias)=7.5; T=50; (ER_target)=4≡2.512; (R_s)=18.78; (R_j)=97.9; (I_th)=0.5
Calcular (I_mod)=(I_driver) → Calcular (V_peak,diff)
(V_AK) @ (I_bias)⇔(V_avg,diff)
Utilizando un divisor de corriente:
(I_VCSEL/2)=(R_t)/((R_t)+1/2*((R_s)+(R_j)))*(I_driver)
sabiendo que (I_1)=(I_bias)+(I_VCSEL/2); (I_0)=(I_bias)-(I_VCSEL/2):
(ER_target)=((I_1)-(I_th))/((I_0)-(I_th))=((I_bias)+(R_t)/((R_t)+1/2*((R_s)+(R_j)))*(I_driver)-(I_th))/((I_bias)-(R_t)/((R_t)+1/2*((R_s)+(R_j)))*(I_driver)-(I_th)) (línea 14)
(I_driver)=((I_bias)−(I_th))((ER_target)−1)/((ER_target)+1)⋅((R_t)+(R_v))/(R_t)
(I_driver)=(7.5−0.5)(2.512−1)/(2.512+1)⋅(50+58.34)/50≈6.53
De la línea 31 sabemos que:
(V_avg,diff)=(V_th,on)(50)+(R_ld)*((I_bias)-(I_th))
Asumiendo que conocemos (V_th,on)(50)≈1.3484
(V_avg,diff)=1.3484+0.817=2.1654
→(V_peak,diff)=(V_th,on)+(R_ld)*((I_1)-(I_th))
→Δ(V)=(V_peak,diff)-(V_avg,diff)=(R_ld)*((I_1)-(I_bias))=(R_ld)*(I_VCSEL/2)=(R_ld)*α*(I_driver),
donde α=(R_t)/((R_t)+1/2*((R_s)+(R_j)))=50/(50+1/2*(18.78+97.9))=0.4616
Por lo tanto, Δ(V)=(18.78+97.9)⋅0.4616⋅6.53=0.351
→(V_peak,diff)=2.1654+0.351=2.5164
Ahora voy a ver si esto es cierto en la simulación.