--- lang: zh-tw --- # Bandgap References ### <font color="#3498DB" face="Comic sans MS">溫度常數(Temperature Constant, TC)</font> <font face="math"> 在許多Analog Circuit中,與溫度幾乎毫無關係的Reference Source Circuit是至關重要的存在,因為Process Parameter(製程參數)多半與溫度相關,所以如果一個Source和溫度幾乎無關,那基本上可以確保這個Source大概也和Process Parameter無關。 問題是究竟要如何產生出一個Source,在溫度改變下,該Source的Quantity(量值)仍然維持不變呢?其實我們幾乎無法找出真的有所謂和溫度完全無關的Process Parameter(都會受到溫度的影響),然而這些Process Parameter有些是和溫度正相關(不一定是線性),有些是和溫度負相關(也不一定是線性),假設我們今天想要製造出一個與溫度毫無相關的參考電壓源V~REF~,有一個可行的方法是我們試著利用一對分別和溫度正負相關的電壓,經過巧妙的Linear Combination(線性組合)後,我們可以得到我們想要的V~REF~: $$\alpha_{1}V_{1}+\alpha_{2}V_{2}=V_{REF}\tag{1} $$ 因為V~REF~和溫度T無關,因此V~REF~對T偏微會得到0,我們將(1)整式對T偏微: $$ \alpha_{1}\frac{\partial V_{1}}{\partial T}+\alpha_{2}\frac{\partial V_{2}}{\partial T}=0\tag{2} $$ 由(2)式可知,因為兩電壓V~1~和V~2~與溫度分別具有正/負相關,所以彼此各乘上一個特定的係數(即α~1~和α~2~,我們稱此係數為溫度係數Temperature Coefficient,簡稱為TC)後,最後在相加後,將會得到零。 假設電壓V~1~是與溫度呈正相關,其對應的係數α~1~則稱作**positive TC**(正溫度係數);這時,電壓V~2~即與溫度呈負相關,其對應的係數α~2~則稱作**negative TC**(負溫度係數)。而參考電壓V~REF~與溫度無關,其對應的係數為0,稱為**zero TC**(零溫度係數)。<font color="red">**然而常常基於稱呼的方便性,我們會說V~1~是positive TC / 正TC / 正溫度係數,而V~2~是negative TC / 負TC / 負溫度係數。**</font> 在現今的半導體科技對於電晶體參數的廣大研究後,科學家已經多次證實BJT具有最能明確地提供positive TC和negative TC的Quantity,而這些Quantity也是最能夠取得的(readily available),是我們在先前電子學早就認識的參數。 </font> ### <font color="#3498DB" face="Comic sans MS">負溫度常數電壓(Negative TC Voltage)</font></font> <font face="math">BJT的電流(Collector Current,記為I~C~)主要受到Base-Emitter Voltage的控制,其關係大約呈現指數成長: $$ I_{C}=I_{S}\cdot e^{\frac{V_{BE}}{V_{T}}}=I_{S}\cdot exp(\frac{V_{BE}}{V_{T}})\tag{3} $$ I~S~是Saturation Current,其關係式為: $$ I_{S}=\frac{A_{E}qD_{n}(n_{i})^{2}}{N_{B}W_{B}}\tag{4} $$ (4)式中的D~n~是電子的擴散常數(diffusion constant of electron),可利用愛因斯坦關係式(Einstein relation)將D~n~與電子遷移率(electron mobility)μ~n~給聯繫起來: $$ D_{n}=\frac{\mu_{n}kT}{q}\tag{5} $$ 將(5)式代回(4)式並化簡: $$ I_{S}=\frac{A_{E}q(n_{i})^{2}}{N_{B}W_{B}}\cdot \frac{\mu_{n}kT}{q} $$ $$ \Rightarrow I_{S}=\frac{A_{E}k}{N_{B}W_{B}}\cdot \mu_{n}T(n_{i})^{2}\propto \mu_{n}T(n_{i})^{2}\tag{6} $$ 發現I~S~與μ~n~T(n~i~)^2^成正比,我們將後面的係數獨立出來,是因為這些係數皆與溫度具有直接相關: <font color="#229954">**1.Temperature dependence of mobility(電子遷移率與溫度的相依性)**</font> $$ \mu_{n}\propto\mu_{n0}T^{m}\tag{7} $$ 對於一般電子高溫度下的遷移情形,m≈-3/2。 <font color="#229954">**2.Temperature dependence of intrinsic carrier concentration(本質載子濃度與溫度的相依性)**</font> $$ (n_{i})^{2}\propto T^{3}\cdot exp(\frac{-E_{g}}{kT})\tag{8} $$ 其中E~g~為矽晶體的帶隙能量(bandgap energy of silicon),其值E~g~≈1.12(eV)。 我們將(7)和(8)兩個正比關係代回(6),並以比例常數a代替正比關係: $$ \begin{split}{} I_{S}&=\frac{A_{E}k}{N_{B}W_{B}}\cdot \mu_{n}T(n_{i})^{2} \\ \Rightarrow I_{S}&=a\frac{A_{E}k}{N_{B}W_{B}}\cdot\mu_{n0}T^{m}\cdot T \cdot T^{3}exp(\frac{-E_{g}}{kT}) \\ \Rightarrow I_{S}&=a\frac{A_{E}k}{N_{B}W_{B}}\mu_{n0}\cdot T^{m+4}exp(\frac{-E_{g}}{kT}) \end{split} $$ T^m+4^前面的參數都確定和溫度無關,再令一個比例常數b取代這一坨參數: $$ \Rightarrow I_{S}=b\cdot T^{m+4}exp(\frac{-E_{g}}{kT})\tag{9} $$ 我們之所以要把I~S~整理成一個T的函數的目的是為了要能夠在後面把V~BE~對T微分時能夠省力一些,因為我們就是要去確認V~BE~究竟是怎麼樣的TC Voltage。我們接下來再把(3)轉化成V~BE~的表達式,其變數為I~C~: $$ I_{C}=I_{S}\cdot exp(\frac{V_{BE}}{V_{T}}) $$ $$ \Rightarrow {V_{BE}}={V_{T}}\cdot \ln(\frac{I_{C}}{I_{S}}) \tag{10} $$ 現在直接把(10)式對T微分,要注意Product Rule、Quotient Rule、Chain Rule計算上的一些細節: $$ \begin{align} \frac{\partial V_{BE}}{\partial T}&=\frac{\partial V_{T}}{\partial T}\cdot \ln(\frac{I_{C}}{I_{S}})+V_{T}\cdot\frac{\partial}{\partial T}\left [ \ln(\frac{I_{C}}{I_{S}}) \right ] \\ \Rightarrow \frac{\partial V_{BE}}{\partial T}&=\frac{\partial V_{T}}{\partial T}\ln(\frac{I_{C}}{I_{S}})+V_{T}\frac{I_{S}}{I_{C}}\cdot\frac{\partial}{\partial T}(\frac{I_{C}}{I_{S}})\\ \Rightarrow \frac{\partial V_{BE}}{\partial T}&=\frac{\partial V_{T}}{\partial T}\ln(\frac{I_{C}}{I_{S}})+V_{T}\frac{I_{S}}{I_{C}}\cdot\frac{1}{(I_{S})^{2} }\cdot(\frac{\partial I_{C}}{\partial T} {I_{S}}-I_{C}\frac{\partial I_{S}}{\partial T}) \end{align} $$ 為了簡化分析,<font color="red">**我們假設I~C~(Collector Current)對於溫度T而言是一個常數**</font>,因此其對T偏微為0: $$ \therefore \frac{\partial I_{C}}{\partial T} =0 $$ 則整坨偏微得以化簡: $$ \frac{\partial V_{BE}}{\partial T}=\frac{\partial V_{T}}{\partial T}\ln(\frac{I_{C}}{I_{S}})+V_{T}\frac{I_{S}}{I_{C}}\cdot\frac{1}{(I_{S})^{2} }\cdot(-I_{C}\frac{\partial I_{S}}{\partial T}) $$ $$ \Rightarrow \frac{\partial V_{BE}}{\partial T}=\frac{\partial V_{T}}{\partial T}\ln(\frac{I_{C}}{I_{S}})-\frac{V_{T}}{I_{S}}\frac{\partial I_{S}}{\partial T}\tag{11} $$ 回到(9)式,直接把整式對T偏微,藉此得到I~S~對T偏微的結果式: $$ \begin{align} \frac{\partial I_{S}}{\partial T} &=b\frac{\partial T^{m+4}}{\partial T}\cdot exp(\frac{-E_{g}}{kT})+bT^{m+4}\cdot\frac{\partial }{\partial T}\left [ exp(\frac{-E_{g}}{kT}) \right ] \\ \Rightarrow \frac{\partial I_{S}}{\partial T} &=b(m+4)T^{m+3}\cdot exp(\frac{-E_{g}}{kT})+bT^{m+4} \cdot exp(\frac{-E_{g}}{kT}) \cdot (\frac{-E_{g}}{k})\cdot (-\frac{1}{T^{2} }) \\ \Rightarrow \frac{\partial I_{S}}{\partial T} &=bT^{m+4} exp(\frac{-E_{g}}{kT})\cdot\frac{m+4}{T}+bT^{m+4} exp(\frac{-E_{g}}{kT}) \cdot (\frac{E_{g}}{kT^{2}}) \end{align} $$ 式子整理成這樣是我故意的,因為前面的共同項正好就代表著I~S~,因此我們把(9)式代入: $$ \frac{\partial I_{S}}{\partial T} =I_{S} \cdot\frac{m+4}{T}+I_{S} \cdot (\frac{E_{g}}{kT^{2}}) \tag{12} $$ (12)式就是我們要的I~S~對T偏微的極簡式子,我們將(12)式代回(11)式並做化簡: $$ \begin{align} \frac{\partial V_{BE}}{\partial T}&=\frac{\partial}{\partial T}\left ( \frac{kT}{q} \right )\cdot \ln(\frac{I_{C}}{I_{S}})-\frac{V_{T}}{I_{S}}\cdot \left [ I_{S} \cdot\left(\frac{m+4}{T}+ \frac{E_{g}}{kT^{2}}\right) \right ] \\ \Rightarrow \frac{\partial V_{BE}}{\partial T}&=\frac{k}{q} \cdot \ln(\frac{I_{C}}{I_{S}})-V_{T}\left ( \frac{m+4}{T}+ \frac{E_{g}}{kT^{2}} \right ) \\ \Rightarrow \frac{\partial V_{BE}}{\partial T}&=\frac{1}{T}\cdot \left [ \frac{kT}{q} \cdot \ln(\frac{I_{C}}{I_{S}})-V_{T}\left ( m+4+ \frac{E_{g}}{kT} \right ) \right ] \\ \Rightarrow \frac{\partial V_{BE}}{\partial T}&=\frac{1}{T}\cdot \left [ V_{T}\cdot \ln(\frac{I_{C}}{I_{S}})-V_{T}\left ( m+4 \right ) - E_{g}\frac{V_{T}}{kT}\right ] \end{align} $$ 有關於Thermal Voltage的定義式,我們可以巧妙地將該式轉化為電子電荷量的倒數表示式: $$ V_{T}=\frac{kT}{q}\Rightarrow \frac{1}{q}=\frac{V_{T} }{kT}\tag{13} $$ 透過將(10)式代入,將[ ]內第一項取代成V~BE~;並同時將(13)式代入,最後得到: $$ \frac{\partial V_{BE}}{\partial T}=\frac{1}{T}\left [ V_{BE}-V_{T}\left ( m+4 \right ) - \frac{E_{g}}{q}\right ] \tag{14} $$ (14)式是我們最終要的結果,為什麼呢?因為V~BE~為可以直接用令的參數,而V~T~、E~g~、q、T是已經存在平常常見的常數值。所以我們現在進行以下設值: <font color="#2471A3"> $$ \begin{align}{} T = 300(K) \quad \quad \quad \quad \quad \quad \quad \quad \text{Room Temperature} \\ m \approx -\frac{3}{2} \quad \quad \text{Temperature Exponent for mobility} \\ E_{g} \approx 1.12(eV) = 1.12 \times 1.6 \cdot 10^{-19} (J)\quad \text{Bandgap Energy} \\ V_{T} \approx 26(mV) = 0.026(V) \quad \quad \text{Thermal Voltage at 300K} \\ q = 1.6 \cdot 10^{-19}(C) \quad \quad \quad \quad \quad \text{Elementary Charge} \end{align} $$ </font> <div style="text-align: center;"> <img src="https://hackmd.io/_uploads/SJt1_co22.png" > </div> <font color="blue" face="math">**▲【Fig. 1】我們可以得到一個函數圖形,給定V~BE~,可以得到對應的V~BE~對溫度T的斜率。同時,我們設定V~BE~的有效輸入為0(V)~1.1(V),此時我們可以發覺在這區間內的斜率都是負值。**</font> 在舊式的BJT tech中,V~BE~=0.7(V)操作下其斜率大約為-1.9(mV/K);在現今主流的BJT tech中電流密度較高,使得V~BE~=0.8(V)操作下其斜率大約為-1.5(mV/K): $$ \begin{align}{} \frac{\partial V_{BE} }{\partial T}\mid_{V_{BE}\approx 0.7(V)} \approx -1.9(mV/K) < 0 \\ \frac{\partial V_{BE} }{\partial T}\mid_{V_{BE}\approx 0.8(V)} \approx -1.5(mV/K) < 0 \end{align} $$ 由此可證,<font color="red">**BJT的Forward Voltage(正偏電壓),即V~BE~,是一種Negative TC Voltage**。</font> </font> ### <font color="#3498DB" face="Comic sans MS" >正溫度常數電壓(Positive TC Voltage)</font> <font face="math">1964年,D. Hilbiber工程師於其發布的Paper下確定了一個現象:<font color="black">****如果有兩種BJT,各自擁有不同的電流密度,那麼兩者之間的V~BE~差值會正比於絕對溫度T。(The difference of base-emitter voltages is directly proportional to the absolute temperature.)****</font>而我們欲證明這句話是對的。因此我們直接從(10)式來看: $$ {V_{BE}}={V_{T}}\cdot \ln(\frac{I_{C}}{I_{S}}) $$ 現在假設有兩種完全相同的BJT:Q~1~和Q~2~。(這代表著兩者的Saturation Current是一致的,即:I~S1~ = I~S2~)因為Q~1~所流經的電流是Q~2~的n倍,這代表著Q~1~的電流密度將會是Q~2~的n倍,因此我們可以寫出分別屬於Q~1~和Q~2~的V~BE~表達式,注意V~BE1~≠V~BE2~: $$ {V_{BE1}}={V_{T}}\cdot\ln(\frac{I_{C1}}{I_{S1}})={V_{T}}\cdot \ln(\frac{nI_{0}}{I_{S1}})\tag{15} $$ $$ {V_{BE2}}={V_{T}}\cdot \ln(\frac{I_{C2}}{I_{S2}})={V_{T}}\cdot \ln(\frac{I_{0}}{I_{S2}})\tag{16} $$ 正因為V~BE1~≠V~BE2~,所以V~BE1~和V~BE2~之間存在著一個差值,我們令為ΔV~BE~,如果我們把(15)式減掉(16)式,並進行一些化簡: $$ \begin{align}{} \bigtriangleup V_{BE}&= V_{BE1}-V_{BE2}={V_{T}}\cdot \ln(\frac{nI_{0}}{I_{S1}})-{V_{T}}\cdot \ln(\frac{I_{0}}{I_{S2}}) \\ &={V_{T}}\cdot \left \{ \ln(nI_{0})-\ln({I_{S1}})-\left [ \ln(I_{0})-\ln(I_{S2}) \right ] \right \} \\ &={V_{T}}\cdot \left [ \ln(nI_{0})-\ln({I_{S1}}) - \ln(I_{0})+\ln(I_{S2}) \right ] \\ &={V_{T}}\cdot \left [ \ln(nI_{0})-\ln(I_{0}) \right ] \\ &={V_{T}}\cdot \ln(\frac{nI_{0}}{I_{0}} ) \Rightarrow \bigtriangleup V_{BE} = \frac{kT}{q}\ln(n )\tag{17} \end{align} $$ (17)式是一個非常重要的結論,因為如果把(17)式對T偏微: $$ \frac{\partial(\bigtriangleup V_{BE})}{\partial T} = \frac{k}{q}\ln(n)>0\tag{18} $$ 我們可以發覺(18)式是一個恆正的值。(k是Boltzmann Constant,值大約為1.38x10^-23^J/K,並且q為電子電荷量,值大約為1.6x10^-19^C</font> 由此可證,<font color="red">**BJT的V~BE~變化量,即ΔV~BE~,是一種Positive TC Voltage**。</font> ### <font color="#3498DB" face="Comic sans MS" >簡易PTAT電路</font> <font color="black" face="math">回過頭來看(18)式,ΔV~BE~的斜率只和k、q、n有關,**這三者都不是製程參數**,其中k和q都是物理上的常數,變成ΔV~BE~的斜率只和兩BJT的電流比值n有關。這是一個非常令人振奮的結果,我們以往認知的Voltage Source總是受到製程參數的影響,只要參數稍微一飄,Source就會變化劇烈。然後透過ΔV~BE~的特性,我們可以試著設計一個簡易的**PTAT電路**(PTAT = Proportional To Absolutely Temperature): ![](https://hackmd.io/_uploads/rykKqvMpn.png) <font color="blue">◀ **Circuit 1 : General PTAT Circuit**</font> 簡單來說,<font color="blue">**Circuit 1**</font>直接利用Diode-Connected架構強制讓BJT(NPN Transistor)進入Active Mode(此時BEJ為Forward biased而BCJ為Reverse biased),假設Base-width Modulation Effect影響甚小的情況下,我們可以得到一個穩定流經的Collector Current。接著以Differential的形式使得左右各存在著一個Diode-Connected BJT,讓兩側的電流存在n倍的差距,透過得到兩側V~BE~的差距,藉以得出一個只正比於絕對溫度T的Reference Source Circuit,這電壓源就是ΔV~BE~。</font> <font color="black" face="math">但我們很快就發現到<font color="blue">**Circuit 1**</font>好像有些不太對勁的地方,在前面我們看到V~BE~在室溫下(300K)能夠產生出大約-1.5(mV/K)左右的負TC,因此我們理當期望ΔV~BE~也能夠產出1.5(mV/K)左右的正TC。k、q都是已知數,所以我們的目標就是要去設計這個PTAT電路的n,以下是其計算過程: $$ \begin{align} \frac{\partial(\bigtriangleup V_{BE})}{\partial T} &= \frac{k}{q}\ln(n)=1.5(\frac{mV}{K})\tag{19} \\ q &= 1.6 \cdot 10^{-19}(C) \\ k &= 1.38 \cdot 10^{-23}(J/K) \end{align} $$ 把k和q的實際值代入(19)式中: $$ \begin{align} \frac{k}{q}ln(n) &\approx 0.087(\frac{mV}{K})\cdot \ln(n)=1.5(\frac{mV}{K}) \\ &\Rightarrow \ln(n)=\frac{1.5}{0.087} \approx 17.24 \\ &\Rightarrow n \approx 3.07 \times 10^{7} \end{align} $$ 這表示說<font color="blue">**Circuit 1**</font>兩側的電流大小差距來到了**3000萬倍**以上!這幾乎是一邊Acitve Mode另一邊Cutoff Mode才有可能發生的事情,但是現在兩邊都是Diode-Connected,這代表著<font color="blue">**Circuit 1**</font>的設計是錯誤的,因為電流比值n來到了不可言喻的數字,我們必須要想盡辦法讓n變小,以下是改進方式:</font> ![](https://hackmd.io/_uploads/rk5qsKm6n.png =60%x)<font color="blue" face="math">◀ **Circuit 2 : Modified PTAT Circuit**</font> <font face="math"> 我們選擇的方式是直接在電流較小的那一側增加其BJT的並聯數,這會直接影響到該測的Saturation Current I~S~的倍數,如果把Q~2~是一個並聯m次的BJT,則Q~2~的Saturation Current會變m倍,即mI~S~。我們現在來計算<font color="blue">**Circuit 2**</font>的ΔV~BE~和原先的<font color="blue">**Circuit 1**</font>會有什麼差異。Q~1~的V~BE~和原先並無差異,而Q~2~的V~BE~表達式會有所調整:</font> $$ {V_{BE1}}={V_{T}}\cdot \ln(\frac{I_{C1}}{I_{S1}})={V_{T}}\cdot \ln(\frac{nI_{0}}{I_{S}})\tag{20} $$ $$ {V_{BE2}}={V_{T}}\cdot \ln(\frac{I_{C2}}{I_{S2}})={V_{T}}\cdot \ln(\frac{I_{0}}{mI_{S}})\tag{21} $$ <font face="math"> 把(20)式減掉(21)式,並進行一些化簡: $$ \begin{align}{} \bigtriangleup V_{BE}&= V_{BE1}-V_{BE2}={V_{T}}\cdot \ln(\frac{nI_{0}}{I_{S}})-{V_{T}}\cdot \ln(\frac{I_{0}}{mI_{S}}) \\ &={V_{T}}\cdot \left \{ \ln(nI_{0})-\ln({I_{S}})-\left [ \ln(I_{0})-\ln(mI_{S}) \right ] \right \} \\ &={V_{T}}\cdot \left [ \ln(nI_{0})-\ln({I_{S}}) - \ln(I_{0})+\ln(mI_{S}) \right ] \\ &={V_{T}}\cdot \left [ \ln(\frac{nI_{0}}{I_{0}}) - \ln(\frac{I_{S}}{mI_{S}} ) \right ] \\ &={V_{T}}\cdot \left [ \ln(n) - \ln(\frac{1}{m} ) \right ] \\ &={V_{T}}\cdot \left [ \ln(n) + \ln(m) \right ] \\ &\Rightarrow \bigtriangleup V_{BE}={V_{T}}\cdot \ln(mn)\tag{22} \end{align} $$ 如此一來,我們便可以得到一個同時受到並聯數m和電流比值n所影響的ΔV~BE~,好讓n不至於太大。</font> ### <font color="#3498DB" face="Comic sans MS">Classic Bandgap Reference</font> <font face="math">我們先稍微統整一下目前所得知的重要資訊。我們試圖去尋找出能夠不受溫度影響的V~REF~,這參考電壓源會是正TC電壓V~1~和負TC電壓V~2~的線性組合:</font> $$ \alpha_{1}V_{1}+\alpha_{2}V_{2}=V_{REF} \Rightarrow \alpha_{1}\frac{\partial V_{1}}{\partial T}+\alpha_{2}\frac{\partial V_{2}}{\partial T}=0 $$ <font face="math">而經過了一系列的推導,我們找到了正TC是V~BE~,而負TC是ΔV~BE~。其中ΔV~BE~在(17)/(22)式中發現到和V~T~具正比關係,而V~T~對T微分較容易計算出來,故在計算Reference Voltage的時候,我們習慣會把V~T~當作是負TC。在室溫下(300K),我們可以算出V~BE~和V~T~對溫度的變化率分別大約是:</font> $$ \frac{\partial V_{BE} }{\partial T} \approx -1.5(\frac{mV}{K} ) \tag{23} $$ $$ \frac{\partial (V_{T}) }{\partial T} = \frac{k}{q} \approx 0.087(\frac{mV}{K} ) \tag{24} $$ <font face="math">所以結論就是,我們可以透過V~BE~和ΔV~BE~來合成出V~REF~,只是我們不清楚α~1~和α~2~分別是多少: $$ \alpha_{1}V_{BE}+\alpha_{2}(\bigtriangleup V_{BE})=V_{REF} \tag{25} $$ 將ΔV~BE~用V~T~表達式取代後的(25)式: $$ \alpha_{1}V_{BE}+\alpha_{2}V_{T}\ln(n)=V_{REF}\tag{26} $$ 對(26)式進行微分,發覺「V~BE~對T微分」和「V~T~對T微分」是linear independent: $$ \alpha_{1}\frac{\partial V_{BE}}{\partial T} +\alpha_{2}\ln(n)\frac{\partial V_{T}}{\partial T} =0\tag{27} $$ 我們可以稍微地假設係數,藉此來得出V~REF~的值。觀察(23)式的值為-1.5左右,是個很大的值,而(24)式的值卻只有0.087。直接假設α~1~為1。現在把(23)式和(24)式代入(27)式: $$ \begin{align} 1\cdot (-1.5)+\alpha_{2}\ln(n) \cdot (0.087)&=0 \\ \Rightarrow \alpha_{2}\ln(n) \cdot (0.087)&= 1.5 \\ \Rightarrow \alpha_{2}\ln(n) &= \frac{1.5}{0.087} \approx 17.24 \end{align} $$ 前面提過ln(n)大約為17.24,使得n變成3000萬,是完全不可行的。但我們可以設法把17.24中的一些量值分給α~1~,好讓n不至於太大。經過這些假設與理解後,我們就可以大約算出V~REF~的值,現在將α~2~ln(n)代回(26)式,同時代入α~1~=1的假設: $$ V_{REF}=V_{BE}+17.24V_{T}\tag{28} $$ V~BE~是BJT中BEJ的Forward Biased Voltage,其大約值落在0.8(V)左右;V~T~是Thermal Voltage,在室溫下(300K)其大約值落在0.026(V)左右。有了以上兩資訊,均代入(28)式,我們終於算出了與溫度無關的參考電壓源V~REF~: $$ V_{REF} = 1.2472...\approx 1.25(V) \tag{29} $$ 算是算出來了,但是我們電路究竟要如何實現這所謂1.25(V)的V~REF~呢?我們其中一個小嘗試是意圖將<font color="blue">**Circuit 2**</font>的兩Output端作為V~REF~且無壓差,而V~REF~是由V~BE~疊加V~T~ln(n)而成的,我們**將V~T~ln(n)這個小跨壓以一個R來代替**,使得V~o1~=V~o2~。在此再做一些小更動,由前面推導得知ln(n)的n可以由電流比值來達成,亦可以利用Q~2~不斷增加並聯數來達成,原先<font color="blue">**Circuit 2**</font>的n是用電流比值,這次我們**設計兩側所流的電流應當一致,n改由Q~2~並聯數提供**。以上的設計概念就是下面的<font color="blue">**Circuit 3**</font>: <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/HyIV-BBpn.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 3 : Conceptual Circuit for Temperature Independent Voltage </div> 注意到<font color="blue">**Circuit 3**</font>只是一個概念性的電路。我們為了能夠讓兩路徑的電流相同(即流經Q~1~的電流=流經Q~2~的電流),**上面的理想電流源會再以一對相同對稱的電阻取代**(左邊電阻記為R~1~,右邊電阻記為R~2~)。而儘管兩路徑的電流相同,右側有n次並聯的BJT和電阻R,會使得V~o2~會比V~o1~還高一些,使得兩端電位不一致。為了能夠達到V~o1~=V~o2~的效果,我們**放棄了把V~o2~當作是V~REF~的想法**,這裡選擇**直接利用op amp的differential input接腳掐住V~o1~(+)和V~o2~(-),而op amp的output端接腳V~out~當成是新的V~REF~**。<font color="red">**(注意正負接腳位置不能替換)**</font> V~o1~(X)和V~o2~(Y)電位理當一致,若V~o2~比V~o1~大,其差值經由op amp放大後,透過從V~out~到V~o2~(Y)的負回授路徑壓抑V~o2~好讓V~o2~=V~o1~,這就是為何V~o2~必須要接上op amp的負接腳的原因。同時可以發現從V~out~到V~o1~(X)屬正回授路徑。透過以上的設計,我們得以製造出能夠實現<font color="blue">**Circuit 3**</font>的電路,同時也是其中一個Bandgap Reference的經典電路<font color="blue">**Circuit 4**</font>: <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/S10IoSBa2.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 4 : Practical Circuit for Temperature Independent Voltage </div> 我們現在來看看<font color="blue">**Circuit 4**</font>所產生出來的能夠不受溫度影響的參考電流源V~out~應該如何表示。左右兩測電阻設計一致,使得R~1~=R~2~,對於op amp而言,V~X~=V~Y~,表示說左右兩側應流著相同的電流,我們直接假設為I,接下來探討V~X~=V~Y~的細節,左側V~X~僅由Q~1~的V~BE1~組成;右側V~Y~由R~3~跨壓IR~3~和Q~2~的V~BE2~組成: $$ V_{X}=V_{Y} $$ $$ \Rightarrow V_{BE1}=V_{BE2}+IR_{3} \tag{30} $$ Q~1~和Q~2~有著並聯數上的落差,所以V~BE1~絕對不可能等於V~BE2~,兩者之間會有一個落差,叫做ΔV~BE~: $$ V_{BE1}-V_{BE2}=\bigtriangleup V_{BE} $$ ΔV~BE~在Bandgap Reference電路設計上,以一個電阻R~3~的跨壓作為代替: $$ \bigtriangleup V_{BE} = V_{T}\ln(n) = IR_{3} \tag{31} $$ 將(31)式的R~3~移項,我們可以得到所流經的電流: $$ I = \frac{V_{T}\ln(n)}{R_{3}}\tag{32} $$V~out~只是比原先V~Y~還要多R~2~的跨壓,可以寫成V~out~是由Q~2~的V~BE~和R~3~、R~2~的跨壓疊合合成的: $$ V_{out} = V_{BE2} + IR_{3} + IR_{2} \tag{33} $$ 直接將(32)式代入(33)式: $$ V_{out} = V_{BE2} + V_{T}\ln(n) + V_{T}\ln(n)\frac{R_{2}}{R_{3}} $$ $$ \Rightarrow V_{out} = V_{BE2} + V_{T}\ln(n)\left ( 1+\frac{R_{2}}{R_{3}} \right ) \tag{34} $$ (34)式是一個有趣的結論,<font color="blue">**Circuit 4**</font>所產生出來的V~REF~是由V~BE2~再加上原先的PTAT電壓V~T~ln(n)乘上一個大於1的因子,叫做(1+R~2~/R~3~)。 如<font color="blue">**Circuit 4**</font>這樣的電路設計透過R~2~和R~3~比值上的調控,大大減低Q~2~的並聯數n。一來這設計是可行的,二來我們所得到的V~out~無庸置疑與溫度幾乎毫無關係。舉個例子,如果設定n=31,並且電阻比值(R~2~/R~3~)=4的話,我們將可證明V~out~在此情況下對T微分的值趨近於0(透過將(34)式對T偏微):$$ \frac{\partial V_{out}}{\partial T} = \frac{\partial V_{BE2}}{\partial T} + \frac{\partial V_{T}}{\partial T} \ln(n)\left ( 1+\frac{R_{2}}{R_{3}} \right ) $$(23)式和(24)式代入(34)式:$$\frac{\partial V_{out}}{\partial T} = -1.5 + \left ( 0.087 \right ) \ln(n)\left ( 1+\frac{R_{2}}{R_{3}} \right )$$n=31和(R~2~/R~3~)=4代入(34)式:$$ \frac{\partial V_{out}}{\partial T} = -1.5 + \left ( 0.087 \right ) \left [ \ln(31) \right ] \left ( 1+4 \right ) \\ \approx -0.006... \approx 0 $$</font> ### <font color="#3498DB" face="Comic sans MS">CMOS技術在Bandgap Reference上的兼容性(Compatibility)</font> <font face="math"><font color="blue">**Circuit 4**</font>的BJT屬npn transistor,但是<font color="red">**對於現在較常使用的CMOS Process而言,是做不出來npn transistor的**</font>,或者是說可能需要透過其他更加複雜的手段才能從CMOS Process中生出npn transistor來。原因很簡單,因為**現今所使用的CMOS Process是以p-substrate而非n-substrate。** <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/BJ5QUxCp2.png" > </div> <font color="blue" face="math">**▲【Fig. 2】CMOS Process產生出pnp transistor的方式,假設今天要Layout出如同Circuit 5的Q~1~的話,我們會將p-substrate(Collector端)和n-well內部的n+(Base端)接地,然後n-well內部的p+接上V~X~。(Emitter端)**</font> 所以為了讓Bandgap Reference能夠在Layout上呈現,我們必須將Diode-Connected npn transistor(B和C接Vx)置換成Diode-Connected pnp transistor(B和C接GND),便如<font color="blue">**Circuit 5**</font>所示:</font> <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/SkQakgFph.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 5 : Circuit 4 implemented by pnp transistor </div> ### <font color="#3498DB" face="Comic sans MS">Op Amp Offset</font> <font face="math">我們都知道Op Amp是由Differential Pair作為輸入端的結構。Differential Pair雖然是由兩個對稱的MOS所組成的,但是就算是同樣Size的MOS在量產過程中會有些不確定性,使得Mismatch發生。Mismatch有各式各樣的情況,若只針對MOS電流公式內的參數而言,</font>$\mu_{n}C_{ox}$可能會兩兩不一致,$V_{TH}$也可能會不一致。 <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/H1QGAz1C2.png" > </div> <font color="blue" face="math">**▲【Fig. 3】儘管左右MOS對稱且相同,在微觀下的Gate metal的不規則表面,造就了隨機性的mismatch,使得既使左右MOS的WL等價,其參數基本上是不會完全一致的。**</font> <font face="math">擁有Differential Pair構造的Op Amp自然地就會出現這種不可避免的mismatch,進而導致只要在任何電路中使用到Op Amp,就會出現不可忽略的不理想效應,分別為:DC Offset(直流電位偏移)、Finite Even-Order Distortion(有限偶數項失真)、Lower Common-Mode Rejection(低共模拒斥),在Bandgap這種利用Op Amp掐住輸入端電位的行為下,理所當然最嚴重的不理想效應便是DC Offset。</font> <div style="text-align: center;"> <img width="45%" src="https://hackmd.io/_uploads/BkA7XG8A2.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 6:General Differntial Amplifier </div> <font face="math"><font color="blue">**Circuit 6**</font>是我們熟知的差動放大器,在理想情況下,如果輸入兩端都接地,那輸出電壓應為無電位,意即:$V_{in}=0 \Rightarrow V_{out}=0$,但是實際上M~1~和M~2~即使W和L相同,同樣會有不理想效應DC Offset。DC Offset將會造成即使輸入兩端都接地,輸出電壓兩端居然會有壓差,意即:$V_{in}=0 \Rightarrow V_{out}\ne 0$。原本V~out~要為0,但因為Differential Pair的非對稱架構,導致直流電位產生偏移,這種現象就是DC Offset。我們假設輸出端的直流電位偏移量為V~OS.out~,稱之為Output Offset Voltage,DC Offset用式子表示就可以是$V_{in}=0 \Rightarrow V_{out}=V_{OS.out}$。輸入直流電位乘上差動放大器的Gain後就會是輸出直流電位,同理,現在已知在輸出端就已經具有一個Output Offset Voltage,我們可以試著回推出Input-referred Offset Voltage,記為V~OS,in~或者是更簡化的V~OS~,回推關係如下:</font> $$ V_{OS}=V_{OS.in}=\frac{V_{OS.out}}{A_{v}} \tag{35} $$ <font face="math">其中A~v~是放大器的Gain。所以從(35)式和<font color="blue">**Circuit 6**</font>中我們可以發覺到即使輸入兩端都接地,輸入兩端仍然具有一個壓差V~OS~,為了將Op Amp的DC Offset呈現出來,我們會在輸入端掛上一個直流電壓Offset Voltage,V~OS~,如同<font color="blue">**Circuit 7**</font>所呈現的。 <div style="text-align: center;"> <img width="45%" src="https://hackmd.io/_uploads/Bk0wyQ80h.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 7:Differntial Amplifier Taken DC Offset into Account </div> 這V~OS~是內建在Op Amp裡面的,只要使用到Op Amp,V~OS~就必須考慮進去,因此原先<font color="blue">**Circuit 5**</font>的電路需將DC Offset考慮進去,就會變成<font color="blue">**Circuit 8**</font>。</font> <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/ryQsg7LAn.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 8:Circuit 5 Taken DC Offset into Account </div> <font face="math">DC Offset的影響將會導致原先(34)式所推導出的Reference Voltage會有誤差。可能有人會問說V~OS~是直流的怎麼會造成誤差,不就是把V~out~給平移一下而已嗎?但實際上V~OS~是非常容易受到溫度影響的,這會打亂我們在原先架構上已經調整好的Temperature Coefficient。而究竟V~OS~會對V~out~造成怎樣的影響,我們可以進行以下推導:</font> <font face="math">V~OS~的影響將會導致$V_{X}$和$V_{Y}$不會相等,而是具有一個落差,即為$V_{OS}$。換句話說,雖然Q~1~的$\left | V_{BE1} \right |$還是會和Q~2~的$\left | V_{BE2} \right |$相差$V_{T}\ln{n}$,但是Op Amp的正接腳電位不會再是$\left | V_{BE1} \right |$而已,而是要扣除掉DC Offset後的$\left | V_{BE1} \right | - V_{OS}$,扣除掉$V_{OS}$後的Op Amp已為理想放大器,故負接腳電位也是$\left | V_{BE1} \right | - V_{OS}$,所以R~3~的跨壓可以表示為: $$ IR_{3}=\left ( \left | V_{BE1} \right | -V_{OS} \right ) -\left | V_{BE2} \right | \tag{36} $$ 移項R~3~後,得出新的流經R~3~的電流 $$ I=\frac{\left | V_{BE1} \right |-\left | V_{BE2} \right | -V_{OS}}{R_{3}} \tag{37} \\ \Rightarrow I=\frac{\bigtriangleup V_{BE} -V_{OS}}{R_{3}} $$ $$\Rightarrow I=\frac{V_{T}\ln{n} -V_{OS}}{R_{3}} \tag{38} $$ 重新代回原本的(33)式: $$ \begin{align} V_{out} &= \left | V_{BE2} \right | + I\left ( R_{2}+R_{3} \right ) \\ \Rightarrow V_{out}&= \left | V_{BE2} \right | + \frac{V_{T}\ln{n} -V_{OS}}{R_{3}} \left ( R_{2}+R_{3} \right ) \\ \Rightarrow V_{out}&= \left | V_{BE2} \right | + \left ( 1+\frac{R_{2}}{R_{3}} \right ) \left ( V_{T}\ln{n} -V_{OS} \right ) \tag{39} \end{align} $$ 在(39)式中我們可以看到$(-V_{OS})$這個Temperature-dependent Variables居然會乘上一個大於1的因子$1+\frac{R_{2}}{R_{3}}$,在原先在電路Temperature Coefficient上維持住的天秤就會失衡,使得$V_{out}$不再是Zero TC。</font> ### <font color="#3498DB" face="Comic sans MS">Reducing DC Offset in Bandgap Reference</font> <font face="math">$V_{OS}$是一個無法預測、無法避免的Temperature Coefficient,隨著溫度的上下擺伏會使得電路所產生的$V_{REF}$會有很大的不可預測性。對於這種未知數值的Quantity,我們很難予以其他的TC去把$V_{OS}$削去,我們只能<font color="red">**盡可能地去最小化$V_{OS}$對於$V_{REF}$的貢獻量。**</font>而Bandgap Reference是如何做到在(39)式中讓$V_{OS}$對$V_{REF}$的貢獻量最小化呢?既然動不了也削不掉$V_{OS}$,那我們就改變策略,改不掉量值那就改比例就好了。我們改成加大$V_{BE}$和$\bigtriangleup V_{BE}$對$V_{REF}$的貢獻量。也就是說,增大$V_{BE}$(負TC)和$\bigtriangleup V_{BE}$(正TC)在$V_{REF}$中的所占比例,藉此縮小$V_{OS}$在$V_{REF}$中的貢獻比例。 如何增大負TC:$V_{BE}$呢?我們在原先Diode-Connected的PNP Transistor上在疊一層Diode-Connected的PNP Transistor,這樣就會有兩倍的$V_{BE}$;那如何增大正TC:$\bigtriangleup V_{BE}$呢?那我左右BJT的Branch都串聯兩個PNP Transistor,因此電路上總共有4個BJT,但記得兩個路徑的BJT必須都要維持著n倍的串聯量倍率(也就是說:左邊Q~1~和Q~2~假如只有單一一個BJT的話,那麼右邊Q~3~和Q~4~必須皆以串聯n次的BJT製成),這樣我就可以創造出兩倍的$\bigtriangleup V_{BE}$。注意到左邊的Q~1~對應到右邊的Q~3~,左邊的Q~2~對應到右邊的Q~4~,這四個BJT具有以下的重要關係式。**(在$I_{1} = I_{2}$的前提下,不過之後會再加入修正項)**: $$ \left | V_{BE1} \right | - \left | V_{BE3} \right | = \left | V_{BE2} \right | - \left | V_{BE4} \right | = \bigtriangleup V_{BE} = V_{T}\ln{n} \tag{40} $$ <div style="text-align: center;"> <img width="50%" src="https://hackmd.io/_uploads/B1LGFgw0h.png" > </div> <font color="blue">**▲【Fig. 4】我們設想了兩個路徑都是Diode-Connected PNP串聯Diode-Connected PNP的架構,以創造出兩倍的$\bigtriangleup V_{BE}=V_{T}\ln{n}$。**</font> 為了用更高的正負TC讓$V_{OS}$顯得渺小是沒問題的,但是在設計上我們必須付出更大量的係數才能讓正TC和負TC相削。前面算過身為負TC的$V_{BE}$的$\frac{\partial V_{BE} }{\partial T}$大約為$-1.5\left ( \frac{mK}{T} \right )$,Double後大約是$-3\left ( \frac{mK}{T} \right )$。但是身為正TC的$\bigtriangleup V_{BE}$的$\frac{\partial \bigtriangleup V_{BE} }{\partial T}$ 只有大約$0.087\left ( \frac{mK}{T} \right )\cdot \ln{n}$,現在Double後也沒有增加多少。正TC的量就必須得和負TC的量並駕齊驅,光並聯數n在正TC的貢獻量是不夠的,我們還需要更多的加持才能讓$\bigtriangleup V_{BE}$ 的係數能夠擁有匹敵$V_{BE}$ 的量,我們還有一個地方還沒有動到,那就是兩條路徑的電流差((17)式便證明出我們可以利用電流比值n來創造出$\ln{n}$),對於此電路構造中,調控R~2~和R~1~的比值或許就是最好的做法。 <div style="text-align: center;"> <img width="65%" src="https://hackmd.io/_uploads/ByVBIZvAn.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲【Fig. 5】利用R₁和R₂的倍率來製造出左右路徑流經電流的倍率,即I₁和I₂的倍率。 </div> 前面的電路我們都設計因為$R_{1}=R_{2}$的緣故使得$I_{1} \approx I_{2}$,但現在是時候該實現兩電流之間的倍率了。我們要來看為何可以只調控R~1~和R~2~的比值就可以使得電流比值改變,很簡單的道理,因為R~1~和R~2~的跨壓是大約相同的(因為$V_{OS}$的緣故所以不會完全相同)。上端是即將成為Reference Voltage的$V_{out}$,下端是被Op Amp掐住的$V_{X}$和$V_{Y}$,這裡我們假設$V_{OS}$對於左右Branch流經電流的比值$\frac{I_{1}}{I_{2}}$影響很小,並設計$R_{2}$是$R_{1}$的$m$倍,因此: $$ \begin{align} V_{X} &\approx V_{Y} \\ V_{out}-V_{X} &= I_{1}R_{1}=I_{1}R \\ V_{out}-V_{Y} &= I_{2}R_{2}=mI_{2}R \\ \Rightarrow I_{1}R &\approx mI_{2}R \\ \Rightarrow I_{1} &\approx mI_{2} \tag{41} \end{align} $$ (41)式的結果使得(40)式要改寫為: $$ \begin{align} \left | V_{BE1} \right | - \left | V_{BE3} \right | &= \left | V_{BE2} \right | - \left | V_{BE4} \right | \\ &= \bigtriangleup V_{BE} \\ &= V_{T}\ln{(mn)} \tag{42} \end{align} $$ 我們新增了原先Bandgap Reference裡面的Diode-Connected BJT的串聯架構,我們又藉由調控電阻讓左右電流分支具備了電流比值,使得<font color="blue">**Circuit 8**</font>被改善成<font color="blue">**Circuit 9**</font>: <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/H1CFEGwA3.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 9:Bandgap Reference Circuit with Reduction of DC Offset in Op Amp </div> <font color="blue">**Circuit 9**</font>改動了不少地方,$I_{1} \ne I_{2}$的設計也代表著我們必須再次重算$I_{2}$的表達式。先看左邊的Branch:Q~1~的$\left | V_{BE1} \right |$疊加Q~2~的$\left | V_{BE2} \right |$使得$V_{X} = \left | V_{BE1} \right | + \left | V_{BE2} \right |$,扣除掉Input Offset Voltage後,Op Amp的Non-inverting Input Voltage為$\left | V_{BE1} \right | + \left | V_{BE2} \right | - V_{OS}$。 再看右邊的Branch:Q~3~的$\left | V_{BE3} \right |$疊加Q~4~的$\left | V_{BE4} \right |$再疊加R~3~跨壓$I_{2}R_{3}$,使得 $V_{Y} = \left | V_{BE3} \right | + \left | V_{BE4} \right | + I_{2}R_{3}$,而Op Amp的Inverting Input Voltage同樣為$\left | V_{BE3} \right | + \left | V_{BE4} \right | + I_{2}R_{3}$。基於Op Amp的特性,非反相輸入端(+)和反相輸入端(-)電位應當一致,所以:$$ \begin{align} \left | V_{BE3} \right | + \left | V_{BE4} \right | + I_{2}R_{3} = \left | V_{BE1} \right | + \left | V_{BE2} \right | - V_{OS} \\ \Rightarrow I_{2}R_{3} = \left | V_{BE1} \right |-\left | V_{BE3} \right | + \left | V_{BE2} \right |-\left | V_{BE4} \right | - V_{OS} \end{align} $$ 將(40)式代入: $$ \begin{align} \Rightarrow I_{2}R_{3} &= V_{T}\ln{(mn)} + V_{T}\ln{(mn)} - V_{OS} \\ \Rightarrow I_{2}R_{3} &= 2V_{T}\ln{(mn)} - V_{OS} \\ \Rightarrow I_{2} &= \frac{2V_{T}\ln{(mn)} - V_{OS}} {R_{3}} \tag{43} \end{align} $$ 右邊Branch由Q~3~、Q~4~、R~2~、R~3~四個元件跨壓串聯成一個Reference Voltage:$$ V_{out} = \left | V_{BE3} \right | + \left | V_{BE4} \right | + I_{2}\left ( R_{2} + R_{3} \right ) \tag{44} $$將(43)式代回(44)式:$$ V_{out} = \left | V_{BE3} \right | + \left | V_{BE4} \right | + \left ( R_{2} + R_{3} \right ) \frac{2V_{T}\ln{(mn)} - V_{OS}}{R_{3}} $$ $$ \Rightarrow V_{out} = \left | V_{BE3} \right | + \left | V_{BE4} \right | + \left ( 1 + \frac{R_{2}}{R_{3}} \right )\left [ 2V_{T}\ln{(mn)} - V_{OS} \right ] \tag{45} $$ 若設計Q~3~和Q~4~的跨壓一致: $$ V_{out} = 2\left | V_{BE} \right | + \left ( 1 + \frac{R_{2}}{R_{3}} \right )\left [ 2V_{T}\ln{(mn)} - V_{OS} \right ] \tag{46} $$ (46)式更加詮釋了調高正負TC佔$V_{REF}$的比例所帶來的影響。$2V_{T}\ln{(mn)}$代表著$\bigtriangleup V_{BE}$貢獻量提升兩倍,降低了$-V_{OS}$在中括號項$2V_{T}\ln{(mn)} - V_{OS}$裡的貢獻比例;$2\left | V_{BE} \right |$代表著$V_{BE}$貢獻量提升兩倍,降低了$\left ( 1 + \frac{R_{2}}{R_{3}} \right )\left [ 2V_{T}\ln{(mn)} - V_{OS} \right ]$項在$V_{out}$裡的貢獻量。 (29)式告訴我們若只設計一倍正負TC的Bandgap Reference電路,其產生出來的參考電壓大約落在1.25(V)。對於現在<font color="blue">**Circuit 9**</font>內的是兩倍正負TC的話,其產生出來的參考電壓大約將會是改良前的兩倍,也就是2.5(V)。 <font color="blue">**Circuit 9**</font>主要有兩個缺點: <font color="green">**1.Difficult to be generated by Op Amp at low supply voltage**</font> 我們設計出來的參考電壓是$V_{out} \approx 2.5(V)$,是很難在低供應電壓的Op Amp下產生出來的,因為Op Amp可以產生的輸出電壓範圍有限制,該範圍取決於具體的Op Amp型號及其電源電壓。如果某些運算放大器在低電源電壓下工作,則可能無法輸出高達 2.5(V)的電壓,特別是現今講求低功耗的科技下。況且現今電路中也不需要2.5(V)這麼高的參考電壓,所以可以看出這種電路應還是屬於早期製程的電路做法。 <font color="green">**2.Not feasible in a standard CMOS technology**</font> 注意看到<font color="blue">**Circuit 9**</font>中Q~2~和Q~4~中是以Diode-Connnected的形式接在Q~1~和Q~3~的上頭。CMOS技術無法製成兩個串聯在一起的PNP Transistor,因為**PNP的Collector端(p-substrate)必須接地**,所以Q~2~和Q~4~無法呈現出來,必須再改架構。 <font color="green">**缺點2**</font>想表達的就是<font color="blue">**Circuit 9**</font>的雙重Diode-Connected PNP架構無法Layout出來,而我們為何需要這種架構?不就是因為我們需要2倍的$V_{BE}$嘛!我們又不一定要使用疊兩層Diode的方式才能達到2倍的$V_{BE}$!架構是這樣改的,既然BJT的Collector都要接到GND那就接到GND,Q~1~原封不動,原本是Q~2~的Collector和Base接Q~1~的Emitter,那就會變成只有Q~2~的Base接到Q~1~的Emitter而已,如此一來,整個架構的跨壓還是Q~1~的$\left | V_{BE1} \right |$疊加Q~2~的$\left | V_{BE2} \right |$,其演變如下圖所示: <div style="text-align: center;"> <img width="70%" src="https://hackmd.io/_uploads/SkvmYlsCn.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ 【Fig. 6】原先兩層Diode-Connected結構 </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> 置換成Diode-Connected疊加Emitter Follower的結構 </div> 置換成這架構後還是存在著風險,因為原始的雙Diode-Connected串聯架構使得Q~1~和Q~2~同W/L和同流經電流,即$I_{C1} = I_{C2}$。然而新的架構使得即使Q~1~和Q~2~的W/L相同,就算排除掉Mismatch的問題,可以看到左邊從最頂層留下來的電流中有部分電流會變成Q~2~的Base Current,剩下的電流才會成為Q~1~的Collector Current,即$I_{X} = I_{C1} + I_{B2}$,這樣的現象將會導致$I_{C1} \ne I_{C2}$,使得兩電流$I_{X}$和$I_{Y}$要分開供給。為何我們需要Q~1~和Q~2~都流經相同的電流,即$I_{C1}=I_{C2}$?因為我們希望這兩個PNP Transistor可以呈現出一樣的溫度相依行為。 <font color="blue">**Circuit 9**</font>是利用電阻比值來調控兩Branch的電流比值,其中電阻作為Op Amp的Feedback路徑,Op Amp的增益會因為Feedback路徑上電阻所製造出來的Loading Effect而下降,因此若把Op Amp的輸出端接上MOS的Gate端的話,就可以有效地把Loading Effect消去,讓Op Amp從輸出端看出去的阻值為無限大。而此處的MOS接的都是高電位($V_{DD}$),故此處的MOS應使用PMOS。同時,PMOS也可作為整條Branch的Current Source。剛才提過,Op Amp輸出端接上PMOS的Gate端,除了提高Op Amp輸出阻抗以外,也能藉由以Common Source架構的PMOS製造出一個穩定的電壓源。所以大致總結一下<font color="blue">**Circuit 9**</font>應當如何改善: <div style="text-align: center;"> <img width="40%" src="https://hackmd.io/_uploads/HyIM4Xj0n.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ 【Fig. 7】原先單一Branch置換成兩條Branch,每一條Branch都由PMOS提供穩定電流 </div> 注意到<font color="blue">**Circuit 9**</font>右側Branch雖然一樣也是置換成如同上圖那樣,但是我們還是必須利用$R_{2}$和$R_{3}$的電阻去製造出$(1+\frac{R_{2}}{R_{3}})$的因子,所以: <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/rkwpXB6A3.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ 【Fig. 8】Output Voltage的表達式不變,但是在Op Amp的輸出端上做了蠻大的調整 </div> 注意到,X Node做為Non-Inverting Input Port,經歷Op Amp的正增益A~1~後,經過PMOS的Common Source架構,總增益會由正轉負。Y Node做為Inverting Input Port,經歷Op Amp的正增益A~1~後,經過PMOS的Common Source架構,總增益會由負轉正。因此得知左側Branch為負回授路徑,右側Branch為正回授路徑,**這完全跟我們當初設計的概念是相反的。** 右側Branch有兩BJT和一電阻的跨壓,理論上$V_{Y} > V_{X}$是必然的,因此需要透過負回授路徑的壓制把$V_{Y}$壓到和$V_{X}$差不多。如果右側Branch還在接正回授路徑,那麼$V_{Y}$和$V_{X}$會越差越多。所以<font color="red">**Op Amp的Input Terminal需要進行反接,把X Node接上Op Amp的Inverting Input,而Y Node接上Op Amp的Non-Inverting Input。這樣的反接會使得X Node的路徑還原成Positive Feedback,而Y Node的路徑還原成Negative Feedback。**</font>最後再結合前面BJT架構的置換,就會變成<font color="blue">**Circuit 10**</font>。 <div style="text-align: center;"> <img width="65%" src="https://hackmd.io/_uploads/BkQJJJ0Rn.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 10:Layout-Implementable Reference Voltage Generator Circuit Incorporating Double Base-Emitter Voltage Approximately </div> 但老實說,對於現今Low Power Supply情形下,是不太適合利用<font color="blue">**Circuit 10**</font>這個電路去製造出2.5(V)的Reference Voltage,頂多就是一層的PNP Transistor。</font> ### <font color="#3498DB" face="Comic sans MS">Feedback Polarity</font> <font face="math">前面已經提過多次,Bandgap Reference中受到回授機制才可以產出一個穩定的Reference Voltage,在負回授機制的牽制下,我們可以讓$V_{X} \approx V_{Y}$。我們舉單層BJT的Bandgap Reference作為例子(即<font color="blue">**Circuit 8**</font>): <div style="text-align: center;"> <img width="65%" src="https://hackmd.io/_uploads/HJj-uy002.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 8:Bandgap Reference裡面同時存在的正回授路徑與負回授路徑 </div> 為了讓電路內部的回授機制穩定,以確保電路回授機制中仍是以負回授為主,在設計同時存在正負回授電路時有一個重要的Rule of Thumb,那就是負回授因子必須要大於2倍的正回授因子,即: $$ \beta _{N} > 2\beta _{P} \tag{47} $$負回授因子(Negative Feedback Factor)可直接透過右側Branch的分壓得出:$$\beta _{N} =\frac{V_{Y}}{V_{out}} =\frac{R_{3}+\frac{1}{g_{m2}}}{R_{2}+R_{3}+\frac{1}{g_{m2}}} \tag{48} $$正回授因子(Positive Feedback Factor)可直接透過左側Branch的分壓得出:$$\beta _{P} =\frac{V_{X}}{V_{out}} =\frac{\frac{1}{g_{m1}}}{R_{1}+\frac{1}{g_{m1}}} \tag{49} $$ 因此可以得知透過適當地設計$R_{1}$、$R_{2}$、$R_{3}$、$Q_{1}$、$Q_{2}$,可以讓整體電路的回授機制更加地穩定。</font> ### <font color="#3498DB" face="Comic sans MS">Curvature Correction</font> <div style="text-align: center;"> <img width="65%" src="https://hackmd.io/_uploads/r19Vg4yJp.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ 【Fig. 9】Bandgap Reference電路所設計出來的參考電壓,僅能在特定的目標溫度T₀附近是比較平坦的,其他的區域會受到T的影響而變化,使得整個Reference Voltage呈現出曲線。 </div> <font face="math">溫度係數的設計上的調合無法達到一個絕對與溫度無關的電壓曲線,因為幾乎所有的Process Coefficient都會受到溫度的影響,使得Process Variation是無法避免的。曲率(Curvature)表示著任一曲線的彎曲程度,對於上圖的平坦區域,我們說這區域的曲率趨近於0,以溫度係數的角度上來看,我們可以說在這個溫度區域內的V~REF~表現出Zero TC。</font> <div style="text-align: center;"> <img width="65%" src="https://hackmd.io/_uploads/r1MH0XMkp.png" > </div> <font color="blue" face="math">**▲ 【Fig. 10】工程師們設計了許多曲率校正技術(Curvature Correction Tech)來抑制Bandgap Reference電路中V~REF~的隨著溫度的變化,但這些技術在CMOS Process所製成的電路內卻很少使用。 這是因為,由於較大的偏移和製程變化,每種Bandgap Reference電路基本上都會顯示出明顯不同的Zero TC的溫度區間,使得工程師難以可靠地校正曲率。**</font> ### <font color="#3498DB" face="Comic sans MS">(補充1) PSRR (Power Supply Rejection Ratio)</font> <font face="math">PSRR(電壓拒斥比)在電源管理IC(PMIC)裡面幾乎算是最重要的指標,其主要精神是評斷來自電源方面的雜訊對輸出端之影響程度,當電路被稱為有好的PSRR,其來自電源電壓的雜訊對輸出端產生的參考電壓非常地小。PSRR在幾乎所有期刊的一致認定定義為,輸出雜訊與輸入雜訊的比值:</font> $$ PSRR\equiv \frac{V_{n.out}}{V_{n.in}} \tag{1'} $$ <font face="math">對於PMIC而言,輸入訊號就是電源電壓$V_{DD}$,輸出訊號就是參考電壓$V_{ref}$,所以可寫成:</font> $$ PSRR = \frac{\Delta V_{ref}}{\Delta V_{DD}} \tag{2'} $$ <font face="math">注意,但今天我們所討論的電路是<font color="green">**運算放大器(Operating Amplifier)**</font>的話,由於電源電壓的雜訊$\Delta V_{DD}$會經過放大器的增益$A_{V}=V_{out}/V_{in}$給放大,故<font>**(1')式**</font>之分母項需多乘上增益$A_{V}$。OPAMP的$V_{ref}$是$V_{out}$,而PSRR的原項$\Delta V_{out}/ \Delta V_{DD}$是建立在$\Delta V_{in}=0$,即輸入電壓的雜訊不考慮時的比值。而$\Delta V_{out}/\Delta V_{in}$是建立在$\Delta V_{DD}=0$,即電源電壓的雜訊不考慮時的比值,而使得OPAMP的式子改寫為:</font> $$ PSRR_{amp} = \frac{\Delta V_{out}}{\Delta V_{DD}\cdot A_{V}} = \left ( \frac{\Delta V_{out}}{\Delta V_{DD}}|_{\Delta V_{in}=0} \right ) \cdot \left ( \frac{\Delta V_{in}}{\Delta V_{out}}|_{\Delta V_{DD}=0} \right ) \tag{3'} $$ <font face="math">不論是$V_{out}$還是$V_{ref}$,都是我們不希望有過多雜訊的點,故PSRR越小越好,取$20log()$後的值為負值。<font color="purple">**網路上甚至Razavi內部為了著重於PSRR本身的量值,認為值越大就是越好,故PSRR仍有另一派的定義,就是將<font>(1')、(2')、(3')式</font>換成倒數的版本,這種定義版本下的PSRR,在取$20log()$後的值為正值。**</font>在這種定義下,我們會希望理想OPAMP的PSRR為無限大。</font> ```apacheconf= .param Power = 1.8V Vdd Vdd Vss ac = 1 dc = Power .ac dec 1000 1 100g .probe PSRR = vdb(Vref) .meas ac PSRR_at_1kHz find PSRR at 1k .meas ac PSRR_at_10kHz find PSRR at 10k .meas ac PSRR_at_1MHz find PSRR at 1x .end ``` <font color="blue" face="math">**▲【Fig. 1'】PSRR之HSPICE量測指令參考。**</font> ### <font color="#3498DB" face="Comic sans MS">Start-Up Circuit (1st Case : Single Diode)</font> <font face="math">在先前的電子學,我們學習到如果電路需要使用到多個電流源的話,我們可以先引入一個理想電流源$I_{REF}$,再透過Current Mirror來複製好幾份$I_{REF}$,並且透過尺寸上的設計,我們也可以藉此產生N倍的$I_{REF}$出來,如<font color="blue">**Circuit 11-1**</font>所示。而你是否曾想過,儘管我們電子學學了那麼多利用理想電流源來供應電源的電路,但是對於<font color="red">**這理想電流源$I_{REF}$,是誰要由誰來供應?如果沒有人來供應,這$I_{REF}$應該要如何被製作出來呢?**</font></font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/H1kWmsjK0.png" > </div> <font color="blue" face="math">**▲ Circuit 11-1:Current Mirror with ideal $I_{REF}$. ▲ Circuit 11-2:$I_{REF}$ made by resistor**</font> <font face="math">首先先講一般晶片的情形,我今天設計出來一個電路,並畫了Layout,電路的Port會向外連接到IO PAD,整個PostSim處理好後就送去給TSRI進行Tape Out(下線),Tape Out回來會拿到一個實際的晶片,接下來我就透過實際的機台將訊號灌入IO PAD。而像<font color="blue">**Circuit 11-1**</font>中的$I_{REF}$的底端(我指電路中$M_{1}$的Drain端)就會被視為是一種Input Port,他就會被灌入一個訊號,至於這訊號所帶來的電流量多寡,則是透過調整量測儀器內部的可變電阻$R_{1}$來調整,其等效電路如同<font color="blue">**Circuit 11-2**</font>所示。$R_{1}$本身有從$V_{DD}$到$V_{D1}$($M_{1}$的Drain Voltage)之間的跨壓,這跨壓和$R_{1}$會透過Ohm's Law決定流經$R_{1}$的電流值,這電流值就是量測晶片時所得到的$I_{REF}$。</font> <font face="math">晶片量測是可允許這樣產生$I_{REF}$,但如果今天我們是要把這電阻$R_{1}$做在電路裡面呢?這樣會不會有什麼問題呢?事實上是真的會有問題的,假設我給定的Power不是一個恆定的值,也就是說$V_{DD}$會有些微的抖動$\Delta V_{DD}$,在這種利用電阻所製成的$I_{REF}$,難道就不會受到這$\Delta V_{DD}$的影響嗎?<font color="blue">**Fig. 11**</font>圖解分析這種情況。</font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/BJ6XrhotR.png" > </div> $$ \Delta I_{REF} = \frac{\Delta V_{DD}}{R_{1}+1/g_{m1}}\tag{50} $$ $$ \Delta I_{out} =\Delta I_{REF}\cdot \frac{\left ( W/L \right ) _{2} }{\left ( W/L \right ) _{1} } \Longrightarrow \Delta I_{out} =\frac{\Delta V_{DD}}{R_{1}+1/g_{m1}}\cdot \frac{\left ( W/L \right ) _{2} }{\left ( W/L \right ) _{1} }\propto \Delta V_{DD}\tag{51} $$ <font color="blue" face="math">**▲【Fig. 11】從$V_{DD}$往下看會看到$R_{1}$串聯Diode-connected NMOS的等效電阻$1/g_{m1}$,則就可以用(50)式來表示$I_{REF}$,接著利用W/L和電流成正比的特性,寫出$\Delta I_{out}$和$\Delta I_{REF}$的關係式,接下來將(50)式代入,如此一來就可以得到$\Delta I_{out}$和Power的抖動$\Delta V_{DD}$的關係式。**</font> <font face="math">(51)式告訴了我們,<font color="red">**如果我們為了產生一個$I_{REF}$,把$R_{1}$做在電路裡面,則Current Mirror製造出來的$I_{out}$將會對$V_{DD}$的抖動很敏感**</font>。我們希望Current Mirror可以複製一個很穩定的電流,這種會隨著Power抖動而不穩定的電流,就不是一個好的電路設計。這時候我們突發奇想,如果$I_{out}$能夠成為$I_{REF}$的複製品(Replica),而$I_{REF}$又可以從$I_{out}$複製過來,這樣$I_{REF}$和$I_{out}$兩邊互相複製產生的現象不就跟$V_{DD}$無關了?所以我們嘗試做兩種Current Mirror,<font color="red">**第一個機制就是原先$I_{REF}$複製K倍到$I_{out}$的N-type Current Mirror,第二個機制就是再把$I_{out}$複製$1/K$倍回到$I_{REF}$的P-type Current Mirror**</font>,上下合併後就變成了<font color="blue">**Circuit 12**</font>。</font> <div style="text-align: center;"> <img width="50%" src="https://hackmd.io/_uploads/SkSGOast0.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 12: Current Mirror with Simple Supply-Independent Biasing Supporting for "Any Current Levels" </div> <font face="math">但<font color="blue">**Circuit 12**</font>這種雞生蛋蛋生雞的概念,有一個盲點,那就是只要我$W/L$設計適宜,<font color="blue">**Circuit 12**</font>可以因此而產生任意電流$I_{out}$,因為$I_{ref}$的大小,完完全全都是利用$W/L$來控制的,這種產電流的電路沒有透過其他具體的變因來控制(例如:利用控制電壓$V_{ctrl}$來產出對應的$I_{REF}$、利用可變電阻來產出對應的$I_{REF}$),純靠Sizing的做法,也不是一個好的電路設計,我們需要透過其他的條件限制,我善用這給定的條件,就能夠產出一條獨一無二的電流。一種最為常見的作法就是在$I_{out}$側再串聯上一個可變電阻$R_{S}$,並為了<font color="red">**強迫$I_{REF}=I_{out}$使得$M_{3}$和$M_{4}$的$V_{th}$會幾乎一致,$M_{3}$和$M_{4}$會設計相同的$W/L$和並聯數**</font>,而$M_{1}$和$M_{2}$則會維持同樣的複製倍率K,這個K倍會大大地決定產生出來的$I_{out}$電流量。這種利用$R_{S}$和倍率K來操縱Current Mirror產出來的電流的電路就是<font color="blue">**Circuit 13**</font>,這種電路也被稱為<font color="green">**Widlar Current Source(韋勒電流源)**</font>。(補:Widlar是為了紀念著名的類比IC工程師,鮑伯‧維德拉(Bob Widlar))</font> <div style="text-align: center;"> <img width="50%" src="https://hackmd.io/_uploads/S17S41TY0.png" > </div> <font color="blue" face="math">**▲ Circuit 13:<font color="green">Widlar Current Source</font>, a kind of Current Mirror with Simple Supply-Independent Biasing Supporting for "Unique Current Levels" Specified by not only K factor but also resistor $R_{S}$.**</font> <font face="math">我們可以簡易推導一下,<font color="blue">**Circuit 13**</font>所產生出來的$I_{out}$究竟受哪些係數所決定的。首先我們要知道NMOS的$V_{GS}$和電流$I_{D}$的關係式可以利用電流公式改寫而來:</font> $$ I_{D}=\frac{1}{2}\mu _{n}C_{ox}\frac{W}{L} \left ( V_{GS}-V_{th} \right ) ^{2} $$ $$ \Longrightarrow \sqrt{\frac{2I_{D}}{\mu_{n}C_{ox}\left ( W/L \right ) }} = V_{GS}-V_{th} \Longrightarrow V_{GS}= \sqrt{\frac{2I_{D}}{\mu_{n}C_{ox}\left ( W/L \right ) }} + V_{th} \tag{52} $$ <font face="math">注意到雖然$(W/L)_{2}=K(W/L)_{1}$,但是由於電路上端P-type Current Mirror內$(W/L)_{3}=(W/L)_{4}$,所以$M_{1}$和$M_{2}$的流經電流是一樣的,都是$I_{out}$,如果忽略掉Body Effect的影響,那麼我們可以先暫定$M_{1}$和$M_{2}$的$V_{th}$是一樣的,則我們用數學式子來描述$M_{1}$的$V_{GS}$會等於$M_{2}$的$V_{GS}$加上$R_{S}$的跨壓,並改寫:</font> $$ V_{GS1} = V_{GS2} + I_{out}R_{S} $$ $$ \Longrightarrow \sqrt{\frac{2I_{out}}{\mu_{n}C_{ox}\left ( W/L \right )_{1} }} + V_{th1}=\sqrt{\frac{2I_{out}}{\mu_{n}C_{ox}\left ( W/L \right )_{2} }} + V_{th2} + I_{out}R_{S} \tag{53} $$ $$ \Longrightarrow \sqrt{\frac{2I_{out}}{\mu_{n}C_{ox}\left ( W/L \right )_{1} }} = \sqrt{\frac{2I_{out}}{\mu_{n}C_{ox}K\left ( W/L \right )_{1} }} + I_{out}R_{S} $$ $$ \Longrightarrow \sqrt{\frac{2I_{out}}{\mu_{n}C_{ox}\left ( W/L \right )_{1} }} \left ( 1-\frac{1}{\sqrt{K} } \right ) = I_{out}R_{S} $$ $$ \Longrightarrow \frac{2I_{out}}{\mu_{n}C_{ox}\left ( W/L \right )_{1} } \left ( 1-\frac{1}{\sqrt{K} } \right )^{2} = \left ( I_{out} \right ) ^{2} \left ( R_{S} \right ) ^{2} $$ $$ \Longrightarrow \frac{2}{\mu_{n}C_{ox}\left ( W/L \right )_{1} } \left ( 1-\frac{1}{\sqrt{K} } \right )^{2} = I_{out} \left ( R_{S} \right ) ^{2} $$ $$ \Longrightarrow I_{out} = \frac{2}{\mu_{n}C_{ox}\left ( W/L \right )_{1} } \cdot \frac{1}{\left ( R_{S} \right ) ^{2} } \cdot \left ( 1-\frac{1}{\sqrt{K} } \right )^{2} \tag{54} $$ <font face="math">(54)式講明了$I_{out}$和$\left ( R_{S} \right ) ^{2}$成反比,$I_{out}$也會和倍率K大約地成正比,但是K越大,會使得$I_{out}$會隨K越大,其成長速度會越慢並逐漸收斂。(54)式儘管為<font color="blue">**Circuit 13**</font>產生的$I_{out}$和其他係數的關係提供了很好的詮釋,但是切記(54)式的先決條件就是要確保<font color="blue">**Circuit 13**</font>內部的所有MOS,$M_{1}\sim M_{4}$,都要操作在Saturation Region。最終,(54)式也想表達在先決條件都成立的時候,$I_{out}$基本上不應該受到$V_{DD}$的影響,為了驗證<font color="blue">**Circuit 13**</font>是否有這種效果,我們可以利用HSPICE來實踐它。</font> ```apacheconf= Circuit_13_HSPICE_Test .protect .lib "rf018.l" TT $$ 呼叫製程檔 .unprotect .temp 25 .option post captable runlvl = 6 $$ 其餘設定 + abstol = 1e-7 reltol = 1e-7 accurate = 1 MEASDGT = 10 .param Vdd = 1.8 $$ 設定子電路:Circuit 13 .subckt Current_Mirror Vdd Vss left right M1 left left Vss Vss nch W = 4u L = 1u m = 1 M2 right left temp Vss nch W = 4u L = 1u m = 4 $$ 設定K=4 M3 right right Vdd Vdd pch W = 3.5u L = 1u m = 1 M4 left right Vdd Vdd pch W = 3.5u L = 1u m = 1 Rs temp Vss 10k $$ 可變電阻 .ends $$ 呼叫子電路 X1 Vdd Vss left right / Current_Mirror $$ 設定電源 Vss Vss GND dc = 0 Vdd Vdd Vss dc = Vdd .op .dc Vdd 0 1.8 0.001 $$ 從0(V)掃到1.8(V),並以1(mV)作為掃描最小刻度。 .probe I_REF = "I(X1.M1)" $$ 參考電流源 I_REF .probe I_out = "I(X1.M2)" $$ 產生電流源 I_out .end ``` <font color="blue" face="math">**▲【Fig. 12】Circuit 13的Testbench和電路內部的尺寸設計,我們必須確保$M_{2}$和$M_{4}$都能夠操作在Saturation Region。**</font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/SJbembptR.png" > </div> <font color="blue" face="math">**▲【Fig. 13】在HSPICE模擬下,儘管$V_{DD}$有大幅度的變動,Circuit 13所產出來的$I_{out}$都能夠確保在一定$V_{DD}$的變化幅度中會提供一個相當穩定的電流值。**</font> <font face="math">(53)式同時也顯示出<font color="blue">**Circuit 13**</font>的缺點,原則上來說,(53)式內的$V_{th1}$和$V_{th2}$不能互消,因為雖然$M_{1}$和$M_{2}$的Body端都是接$V_{SS}$,但是$M_{1}$的Source端接$V_{SS}$,而$M_{2}$的Source端卻還有一個$R_{S}I_{out}$的跨壓,也就是說$M_{2}$的$V_{SB} \ne 0$,因此會有Body Effect的情形,其公式為(55)式,則代表說$V_{th1} \ne V_{th2}$,然而(54)式卻忽略了此現象對推導出$I_{out}$的誤差,但實際上<font color="red">**$I_{out}$仍會受到$M_{1}$和$M_{2}$的Body Effect影響而產生誤差。**</font></font> $$ V_{th} = V_{th0} + \frac{\sqrt{2q\varepsilon _{si} N_{A} } }{C_{ox} }\left ( \sqrt{2\phi _{F} + V_{SB} } -\sqrt{2\phi _{F}} \right ) \tag{55} $$ <font face="math">而另外一個從(54)式中看不出來的變因就是$M_{3}/M_{4}$和$M_{1}/M_{2}$本身具有Channel Length Modulation Effect,所以在一開始在(52)式改寫$V_{GS}$的時候,由於電流公式忽略了$\lambda V_{DS}$項,所以(54)式才看不出來$I_{out}$和$V_{DS}$的關係,但實際上兩者之間是成正比的,比例係數為$\lambda$,$V_{DS}$又會因為$V_{DD}$變化和$I_{out}$變化的因素而些微改變,這使得$I_{out}$本身會更加地不確定,因此才會看到<font color="blue">**【Fig. 13】**</font>中$I_{REF}$和$I_{out}$不會到完全相等,為了減少Channel Length Modulation帶來對$I_{out}$的誤差,我們會把<font color="blue">**Circuit 13**</font>的L設計得很大。</font> 除此之外,<font face="math"><font color="blue">**Circuit 13**</font>還有一個很嚴重致命的缺點,那就是$V_{DD}$的供應速度問題。所有電路是電源$V_{DD}$供應的,但是一個電路從沒電供應到有電供應到實際電路啟動是需要一段過程的,如果電源來的太快,有時候電路會完全反應不過來,使得電路內的電晶體被這突如其來的Power升起而瞬間掛掉。<font color="red">**掛掉的原因基本上就是由於$V_{DD}$從0變成1的時間過短,這短時間的Low變High其實是會視為一個交流訊號,若電路內部本身就有寄生電容的存在,則寄生電容會Couple $V_{DD}$訊號到電路PMOS的Gate端上。迫使該PMOS因為$V_{SG}$趨近於0,而永久性地進入Cutoff Region**</font>,PMOS因為斷路則無法讓Power流電流進來電路內,則整個電路就掛掉。<font color="blue">**【Fig. 14】**</font>有詳細的圖解解釋。</font> <div style="text-align: center;"> <img width="90%" src="https://hackmd.io/_uploads/SygB5phj0.png" > </div> <font color="blue" face="math">**▲【Fig. 14】$M_{3}$和$M_{4}$的Gate端與$V_{DD}$之間在PostSim和Tape Out後會有不可避免的寄生電容產生,電容的電流會和該電容的跨壓變化率有關:$I_{C}=C \cdot \left ( dV_{C}/dt \right )$。如果該寄生電容值不小(經HSPICE實測在18製程下大約500fF的電容會有明顯Cutoff的效果。),或是$V_{DD}$來得太快,都會導致流經電容的電流在一瞬間有驚人的量值,使得在這瞬間,$C_{C}$幾乎等效於一個小電阻$R_{C}=1/j \omega C_{C}$,並使得$V_{G3}=V_{G4} \approx V_{DD}$,這便會導致$M_{3}$和$M_{4}$的$V_{SG}$ < $\left | V_{th} \right|$則因此而被關閉,整個電路就不會運作也不會產生電流(大概僅產生nA等級以下的電流)。**</font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/Hk6v9a3o0.png" > </div> <font color="blue" face="math">**▲【Fig. 15】Circuit 13在$I_{ref} = I_{out}$為$0(A)$電流和$6.46 (\mu A)$電流時,都是一個穩態的效果($6.46 (\mu A)$是基於18製程TT Corner在【Fig. 12】的尺寸設定下所模擬出來的結果,其$V_{G3}$大約會等於$1.1(V)$),Razavi把$V_{G3} = V_{DD}$和此情況下所產生出來的電流$I_{ref}=I_{out}=0$亦為電路穩態的行為形容為「簡併/退化」(Degenerate),而$V_{G3}=V_{DD}$就是所謂的Degenerate Bias Point(簡併偏壓點),意思就是說Circuit 13在$V_{G3} = V_{DD}$時,亦可以達到電路的穩態,產生一個穩定、不易變動的電流值$I_{ref}=I_{out}=0$,但是屬於一種極值、其中一變數為0的穩態。在推導(54)式時,我們對整個式子同除$\sqrt {I_{out}}$的行為,就是排除了Circuit 13的電流會為0的可能性,但實際上Circuit 13是有可能會操作在$I_{out}=0$的穩態的。**</font> ```apacheconf=22 Cc Vdd right 100f $$直接掛100fF的電容在M3的Gate端和Vdd之間。 Vdd Vdd Vss pwl 0s 0V 10ns 0V 10.1ns 1.8V 1us 1.8V $$Vdd只有0.1ns的上升時間 .op .tran 0.1p 100n .probe I_REF = "I(X1.M1)" $$ 參考電流源 I_REF .probe I_out = "I(X1.M2)" $$ 產生電流源 I_out .end ``` <font color="blue" face="math">**▲【Fig. 16】但經過我利用18製程進行實測,我發覺模擬和Razavi的AIC內所描述的現象有出入,<font color = "red">經過實測,不論Circuit 13內部的$M_{3}$的Gate端和$V_{DD}$之間的寄生電容大小為何,Circuit 13都有辦法達到產生大約$6 (\mu A)$的穩態電流,只是時間長短問題而已,越小的寄生電容,基本上電流達到穩態的時間就越短</font>。**</font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/Hk4f0H8q0.png" > </div> | 寄生電容 $C_{C}$值 | $20(fF)$ | $40(fF)$ | $60(fF)$ | $80(fF)$ | $100(fF)$ | | -------------------- | ------------ | --- | --- | --- | --- | | **所需時間** | $39.239(ns)$ | $85.374(ns)$ | $175(ns)$ | $314.726(ns)$ | $511.37(ns)$ | <font color="blue" face="math">**▲【Fig. 17】在18製程TT Corner的環境下,如果寄生電容有100fF的話,我們設定$V_{DD}$花了0.1ns上升,則$I_{out}$大概要花$511.370(ns)$的時間才能達到穩態電流$6(\mu A)$,而其他的寄生電容對應到電流Settle好的情形則如表整理所示,以最合理的20fF寄生電容為例,$V_{DD}$只花$0.1(ns)$就供給完畢,但$I_{out}$卻花了足足快$40(ns)$才達到穩態。**</font> <font face="math">透過以上利用插入電容來模擬Layout所產生的寄生電容所跑下去的模擬,我們發覺利用HSPICE進行PreSim和PostSim的模擬是看不太出來這問題,但PreSim沒有這問題,PostSim也沒有問題,你能夠確保說到時候晶片Tape Out回來後也不會有電路啟動不了的問題嗎?你又如何保證Degenerate Bias Point都不會在<font color="blue">**Circuit 13**</font>中發生?PreSim插入了$20(fF)$卻讓$V_{DD}$的Rising Time和$I_{out}$的Settling Time有好幾百倍的差別,我們難道可以忽視這個現象嗎?所以做最保守的打算,保險起見,<font color="blue">**Circuit 13**</font>必須要再加上Start-Up的機制,其電路如同<font color="blue">**Circuit 14**</font>所示,加上後,則可以保證說這Current Mirror可以即時啟動,其產生一個穩態的電流僅需一個極短的時間。</font> <div style="text-align: center;"> <img width="50%" src="https://hackmd.io/_uploads/rJ3wSL89C.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 14:Self-Biasing Current Mirror with Start-up Circuit </div> <font face="math">在此聲明,Start-Up Circuit是一種電路概念,但它可以以多種全貌來呈現出來,<font color="blue">**Circuit 14**</font>只是一種案例,其操作原理如<font color="blue" face="math">**【Fig. 18】**</font>所示。</font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/HJ3AcT3o0.png" > <img width="100%" src="https://hackmd.io/_uploads/rJYzsTnjC.png" > </div> <font color="blue" face="math">**▲【Fig. 18】$M_{5}$在這裡的作用就彷彿一個Diode(二極體),在跨壓$V_{DS5}>V_{th5}$時導通,在跨壓$V_{DS5}<V_{th5}$時關閉。當一開始$V_{DD}$從0升到1時,有一個充電電流從$C_{C}$流下來,由於$M_{5}$的Source端趨近為0,充電電流為$M_{5}$在短時間內把$V_{GS}$充電至極大值,迫使$M_{5}$導通,則充電電流再繼續流至$M_{1}$和$M_{2}$的Source端,迫使$M_{1}$和$M_{2}$的$V_{GS}$上升到超過$V_{th}$,$M_{1}$和$M_{2}$所組成的Current Mirror開始運作。開始產生電流後,則$M_{3}$和$M_{4}$的Drain端電壓才得以下跌,進而使得$M_{3}$和$M_{4}$導通,$M_{3}$和$M_{4}$所組成的Current Mirror開始運作。在這個啟動的瞬間,$M_{1}$、$M_{3}$、$M_{5}$同時打開,則此時$M_{5}$啟動的目的已經達成,這電路不需要它繼續導通,否則$M_{2}$的$V_{G}$將會繼續提升而操作在Linear Region。則此Current Mirror就廢掉了(Current Mirror內部的MOSFET都要被設計到能夠操作在Saturation Region才會有比較良好的複製電流功效)。** </font> <font face="math">藉由<font color="blue" face="math">**【Fig. 18】**</font>的描述,這種Start-Up的開關順序是:<font color="#ff8333" face="math">$M_{5}打開 \rightarrow M_{1}打開 \rightarrow M_{3}打開 \rightarrow M_{5}關閉$</font>,我們可以知道,在這種操作下,在設計這個$M_{5}$有兩種必要條件,這兩種條件都有對應到的條件式,同時注意到:$M_{1}$、$M_{5}$和$M_{3}$三個都是Diode-Connected,所以三者的$V_{GS}$總和剛好就是一個$V_{DD}$</font> <font face="math" size="4" color = "#229954">**第一、在電路啟動的瞬間,$M_{1}$、$M_{5}$、$M_{3}$都必須開啟**</font> $$ \begin{cases} V_{GS1} > V_{th1} \\ \left | V_{GS3} \right | >\left | V_{th3} \right | \\ V_{GS5} > V_{th5} \end{cases} \overset{+}{\Longrightarrow} V_{GS1}+\left | V_{GS3} \right |+V_{GS5}>V_{th1}+\left | V_{th3} \right |+V_{th5} $$ $$ \Longrightarrow V_{DD}>V_{th1}+\left | V_{th3} \right |+V_{th5} \tag{55} $$ <font face="math" size="4" color = "#229954">**第二、在電路啟動過後,為了能夠讓電路能夠繼續正常運作,$M_{5}$必須關閉。**</font> $$ V_{GS5} < V_{th5} \Longrightarrow V_{GS5} + V_{GS1} + \left | V_{GS3} \right | < V_{th5} + V_{GS1} + \left | V_{GS3} \right | $$ $$ \Longrightarrow V_{DD} < V_{th5} + V_{GS1} + \left | V_{GS3} \right | \tag{56} $$ </font> <font face="math" >在設計<font color="blue">**Circuit 14**</font>內部的$M_{5}$時,(56)式、(57)式都必須滿足。我亦提供我自己對於$M_{5}$的設計尺寸,其電路檔設定如同<font color="blue" face="math">**【Fig. 19】**</font>所示。</font> ```apacheconf=10 .subckt Current_Mirror Vdd Vss left right M1 left left Vss Vss nch W = 4u L = 1u m = 1 M2 right left temp Vss nch W = 4u L = 1u m = 4 $$ 設定K=4 M3 right right Vdd Vdd pch W = 3.5u L = 1u m = 1 M4 left right Vdd Vdd pch W = 3.5u L = 1u m = 1 Rs temp Vss 10k $$ 可變電阻 M5 right right left Vss nch W = 3.5u L = 1u m = 1 $$ Start-Up Device .ends ``` <font color="blue" face="math">**▲【Fig. 19】 Circuit 14的電路尺寸設計。** </font> <div style="text-align: center;"> <img width="100%" src="https://hackmd.io/_uploads/HywA4FJiR.png" > </div> | 寄生電容 $C_{C}$值 | $20(fF)$ | $40(fF)$ | $60(fF)$ | $80(fF)$ | $100(fF)$ | | -------------------- | ------------ | --- | --- | --- | --- | | **所需時間** | $6.531(ns)$ | $8.565(ns)$ | $10.43(ns)$ | $12.31(ns)$ | $13.63(ns)$ | <font color="blue" face="math">**▲【Fig. 20】在18製程TT Corner的環境下,如果寄生電容有100fF的話,我們設定$V_{DD}$花了0.1ns上升,則$I_{out}$大概僅花$13.63(ns)$的時間才能達到穩態電流$7(\mu A)$,而其他的寄生電容對應到電流Settle好的情形則如表整理所示,以最合理的20fF寄生電容為例,$V_{DD}$只花$0.1(ns)$就供給完畢,而$I_{out}$僅花了$6.531(ns)$就達到穩態。**</font> <font face="math" >藉由<font color="blue">**【Fig. 17】**</font>和<font color="blue">**【Fig. 20】**</font>的對比,就可以發覺對於這種電路而言,有無Start-Up的設計將會對Current Mirror要產出電流的所花時間有巨大影響,可得知Start-Up在電路中的保險機制中扮演著重要的角色。<font color="red">**讀者也可以試試看$V_{DD}$若在更加不理想的Rising Time(我這裡是設定$0.1(ns)$,大家可以試試看$1(ns)$),在同樣寄生電容的前提下,那麼$I_{out}$將會花費更多的時間才能夠達到穩態。**</font></font> ### <font color="#3498DB" face="Comic sans MS">Start-Up Circuit (2nd Case : 4T Architecture)</font> <div style="text-align: center;"> <img width="60%" src="https://hackmd.io/_uploads/S1D9iT2jA.png" > </div> <div style="text-align: center; color:blue; font-family:math; font-weight: bold;"> ▲ Circuit 15: Self-Biasing Widlar Current Mirror with 4T Start-up Circuit </div> ### <font color="#3498DB" face="Comic sans MS">Constant Gm Technique</font> 待更新QQ ### <font color="#3498DB" face="Comic sans MS">參考資料</font> <font face="math"> 1. Behzad Razavi,Design of Analog CMOS Integrated Circuits 2/e, McGraw-Hill, 2016. 2.Tony Chan Carusone, David A. Johns & Kenneth W. Martin, Analog Integrated Circuit Design 3. Some Explanations about Degenerate Bias Point:https://bbs.eetop.cn/thread-945880-1-1.html 4. Jake Hertz, An Introduction to Switched-capacitor Circuits, April $21^{th}$, 2021: https://www.allaboutcircuits.com/technical-articles/an-introduction-to-switched-capacitor-circuits/ 5.: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10546419</font> ### <font color="#3498DB" face="Comic sans MS">小心得</font> <font face="math"> 1.基本上,我只是針對Razavi所撰寫的這本AIC的內容進行消化,結合自身在類比電路實作的一些經驗,透過我自己的話來寫出來。在一些數學式子上,我會整理得比原文書還要來得詳細。 2.此筆記公開以任何人閱覽,同時也歡迎分享給任何想了解更多類比電路的人。 </font>