電荷泵鎖相迴路

**電荷泵鎖相迴路**（Charge-pump phase-locked loop）簡稱 **CP-PLL**，是一種鑒相器適用於方波輸入信號的鎖相迴路。CP-PLL 可以快速的鎖定到輸入信號的相位，可以達到很低的穩態相位誤差。

## 鑒相器（PFD）

鑒相器（PFD）是由參考信號（Ref）以及受控輸出（VCO）信號的下緣所觸發。PFD $i(t)$ 的輸出信號只有三個狀態：0, $+I_{p}$ , 和 $-I_{p}$ 。
參考信號的下緣會使 PFD 切換到較高的狀態，若 PFD 已經在 $+I_{p}$ 就不會變動。
VCO 信號的下緣會使 PFD 切換到較低的狀態，若 PFD 已經在 $-I_{p}$ 就不會變動。
若二個信號的下緣同時出現，PFD 會切換到 0。

## CP-PLL 的數學模型

第一個二階 CP-PLL 的數學模型是由佛洛依德・加德納在 1980 年提出的。M. van Paemel 在 1994 年提出了不考慮 VCO 過載（overload）的非線性模型，N. Kuznetsov 等人在 2019 年優化該模型。也有學者在推導考慮 VCO 過載的 CP-PLL 解析解數學模型。

CP-PLL 的數學模型可以針對一些參數進行解析的預估，例如 hold-in 範圍（在 VCO 沒有過載的情形下，可能進行鎖相的輸入信號頻率範圍），及捕獲範圍（pull-in range，在 CP-PLL 任意初始狀態下，CP-PLL 最終可以鎖相的輸入信號頻率範圍）。

### 二階 CP-PLL 的連續時間線性模型以及加德納的猜想

加德納的分析是以以下的近似為基礎：每個參考信號的周期內，PFD 非零的時間區間為

　
: $t_{p}=|\theta _{e}|/\omega _{\rm {ref}},\ \theta _{e}=\theta _{\rm {ref}}-\theta _{\rm {vco}}.$

CP-PLL 的 PDF 平均輸出為

　
: $i_{d}=I_{p}\theta _{e}/2\pi $

對應的傳遞函數為

　
: $I_{d}(s)=I_{p}\theta _{e}(s)/2\pi $

若用濾波器傳遞函數 $F(s)=R+{\frac {1}{Cs}}$ 以及 VCO 傳遞函數 $\theta _{\rm {vco}}(s)=K_{\rm {vco}}I_{d}(s)F(s)/s$ ，可以得到加德納的二階 CP-PLL 線性近似平均模型:

$$
{\frac {\theta _{e}(s)}{\theta _{\rm {ref}}(s)}}={\frac {2\pi s}{2\pi s+K_{\rm {vco}}I_{p}\left(R+{\frac {1}{Cs}}\right)}}.
$$

佛洛依德・加德納在 1980 年以上述的理解，提出了猜想：「實際電荷泵鎖相迴路的暫態響應，預期會和等效傳統 PLL 的暫態響應幾乎相同。」（加德納對 CP-PLL 的猜想）。
依照加德納的結果，也類似 Egan 在 type 2 APLL 捕獲範圍的猜想，Amr M. Fahim 在其書中猜想：為了要達到無限大的捕獲範圍，CP-PLL 的迴路濾波器需要使用主動濾波器（Fahim-Egan 在 type II CP-PLL 捕獲範圍的猜想）。

### 二階 CP-PLL 的連續時間非線性模型

為了簡化推導，但不失去通用性，假設 VCO 和參考信號在其相位為整數時為其下降緣。
令參考信號第一個下降緣的時間為 $t=0$ 。 
PFD 狀態 $i(0)$ 會依 PFD 的初始狀態 $i(0-)$ ，VCO 的初始相位移 $\theta _{vco}(0)$ ，以及參考信號 $\theta _{ref}(0)$ 的值而不同。

若利用電阻和電容製作純 PI（比例積分）的濾波器，其輸入電流 $i(t)$ 和輸出電壓 $v_{F}(t)$ 的關係為

　
: ${\begin{aligned}v_{F}(t)=v_{c}(0)+Ri(t)+{\frac {1}{C}}\int \limits _{0}^{t}i(\tau )d\tau \end{aligned}}$

其中 $R>0$ 是電阻， $C>0$ 是電感。 $v_{c}(t)$ 是電容器的電壓。
控制信號 $v_{F}(t)$ 會調整 VCO 頻率：

　
: ${\begin{aligned}{\dot {\theta }}_{vco}(t)=\omega _{vco}(t)=\omega _{vco}^{\text{free}}+K_{vco}v_{F}(t),\end{aligned}}$

其中 $\omega _{vco}^{\text{free}}$ 是 VCO 的自由運行頻率
（也就是 $v_{F}(t)\equiv 0$ )， $K_{vco}$ 是 VCO 增益（靈敏度）、 $\theta _{vco}(t)$ 是 VCO 相位。
最後，CP-PLL 連續時間非線性數學模型如下

　
: ${\begin{aligned}{\dot {v}}_{c}(t)={\tfrac {1}{C}}i(t),\quad {\dot {\theta }}_{vco}(t)=\omega _{vco}^{\text{free}}+K_{vco}(Ri(t)+v_{c}(t))\end{aligned}}$

其中有以下的不連續分段常數非線性

　
: $i(t)=i{\big (}i(t-),\theta _{ref}(t),\theta _{vco}(t){\big )}$

初始條件為 ${\big (}v_{c}(0),\theta _{vco}(0){\big )}$ .
此模型是非線性、非自主式、不連續的開關系統。

### 二階 CP-PLL 的離散時間非線性模型

假設參考信號頻率為常數: $\theta _{ref}(t)=\omega _{ref}t={\frac {t}{T_{ref}}},$ 其中 $T_{ref}$ 、 $\omega _{ref}$ 和 $\theta _{ref}(t)$ 是參考資料的週期、頻率和相位。

令 $t_{0}=0$ ，
這表示 $t_{0}^{\rm {middle}}$ 是第一個 PFD 輸出為 0 的時間
（若 $i(0)=0$ ，則 $t_{0}^{\rm {middle}}=0$ ）
且 $t_{1}$ 是 VCO 或參考信號的第一個下降緣。
其且，可以定義對應的遞減數列 $\{t_{k}\}$ 、 $\{t_{k}^{\rm {middle}}\}$ ，其中 $k=0,1,2...$ 。

令 $t_{k}<t_{k}^{\rm {middle}}$ .
則在 $t\in [t_{k},t_{k}^{\rm {middle}})$ 時， ${\text{sign}}(i(t))$ 是非零的常數（ $\pm 1$ ）。
令 $\tau _{k}$ 為 PFD 脈波寬度（PFD 輸出為非零長度的時間區間）乘以 PFD 輸出的正負號：

　
: $\tau _{k}=(t_{k}^{\rm {middle}}-t_{k}){\text{sign}}(i(t))$ for $t\in [t_{k},t_{k}^{\rm {middle}})$

　
: $\tau _{k}=0$ for $t_{k}=t_{k}^{\rm {middle}}$

若 VCO 的下降緣在參考信號的下降緣之前，則 $\tau _{k}<0$ ，反之，可得 $\tau _{k}>0$ 。 $\tau _{k}$ 可以看出二個信號下降緣的先後順序。在 $(t_{k}^{\rm {middle}},t_{k+1})$ 區間內，PFD 輸出為零，PFD $i(t)\equiv 0$ ：

　
: $v_{F}(t)\equiv v_{k}$ for $t\in [t_{k}^{\rm {middle}},t_{k+1})$ .

將 $(\tau _{k},v_{k})$ 變成下式的變數變換 $p_{k}={\frac {\tau _{k}}{T_{\rm {ref}}}},u_{k}=T_{\rm {ref}}(\omega _{\rm {vco}}^{\text{free}}+K_{\rm {vco}}v_{k})-1,$ 可以讓參數減至二個： $\alpha =K_{\rm {vco}}I_{p}T_{\rm {ref}}R,\beta ={\frac {K_{\rm {vco}}I_{p}T_{\rm {ref}}^{2}}{2C}}.$

此處 $p_{k}$ 是正規化的相位偏移， $u_{k}+1$ 是 VCO 頻率 $\omega _{\rm {vco}}^{\text{free}}+K_{\rm {vco}}v_{k}$ 相對於參考頻率 ${\frac {1}{T_{\rm {ref}}}}$ 的比例。

最後，不考慮 VCO 過載的二階 CP-PLL 離散時間模型如下

　
: ${\begin{aligned}&u_{k+1}=u_{k}+2\beta p_{k+1},\\&p_{k+1}={\begin{cases}{\frac {-(u_{k}+\alpha +1)+{\sqrt {(u_{k}+\alpha +1)^{2}-4\beta c_{k}}}}{2\beta }},\quad {\text{ for }}p_{k}\geq 0,\quad c_{k}\leq 0,\\{\frac {1}{u_{k}+1}}-1+(p_{k}{\text{ mod }}1),\quad {\text{ for }}p_{k}\geq 0,\quad c_{k}>0,\\l_{k}-1,\quad {\text{ for }}p_{k}<0,\quad l_{k}\leq 1,\\{\frac {-(u_{k}+\alpha +1)+{\sqrt {(u_{k}+\alpha +1)^{2}-4\beta d_{k}}}}{2\beta }},\quad {\text{ for }}p_{k}<0,\quad l_{k}>1,\end{cases}}\end{aligned}}$

其中

　
: ${\begin{aligned}c_{k}=(1-(p_{k}{\text{ mod }}1))(u_{k}+1)-1,S_{l_{k}}=-(u_{k}-\alpha +1)p_{k}+\beta p_{k}^{2},l_{k}={\frac {1-(S_{l_{k}}{\text{ mod }}1)}{u_{k}+1}},d_{k}=(S_{l_{k}}{\text{ mod }}1)+u_{k}.\end{aligned}}$

此離散時間模型只在 $(u_{k}=0,p_{k}=0)$ 有一個穩態，可以估計 hold-in 範圍和捕獲範圍。

若 VCO 過載，也就是 ${\dot {\theta }}_{\rm {vco}}(t)$ 為零， 
或者是以下的式子 $(p_{k}>0,u_{k}<2\beta p_{k}-1)$ 或 $(p_{k}<0,u_{k}<\alpha -1)$ , 
則需要考慮額外的 CP-PLL 動態特性。
針對任何參數，只要 VCO 和參考信號的頻率差夠大，就會使 VCO 過載。
在實務上，需避免 VCO 的過載。

### 高階 CP-PLL 的非線性模型

高階 CP-PLL 非線性模型推導和超越方程有關，無法求得解析解，需要用近似的方式計算

## 參考資料