• 沒有找到結果。

第四章 實作結果

4.3 FPGA 電路合成

在完成實作硬體電路後,接下來就需要在 FPGA 板中完成無電流感測架構之電路合 成。FPGA 的電路合成又可以簡單分為二大部分,其一為電壓迴路,主要包含了輸出電 壓取樣以及 PI 控制器;其二為產生開關訊號之電路,主要包含了建立一正弦波絕對值 之表sinωt 、電感內阻壓降補償、導通電壓壓降補償以及產生開關訊號。

電壓迴路的目的主要是為了達到輸出電壓穩壓的效果,並且得到一相角訊號θ ,其 執行順序示意圖如圖4.8 所示。其中 S2 到 S7 的步驟為完成 PI 控制器,首先將輸出電壓 經過分壓後,接著取樣為12bit 與參考電壓 相減後得到誤差值,將此誤差值分別 乘上 及 I,在程式中將 及 分別設定為

vo Vo,ref

KP K KP KI KP =003F(63)及 。假設考

10V 的誤差並維持

) 60 ( C

=003 KI

10 =00D0(208)

KP後,左移一位取高位元可得到Vm=000E(14),利用此值可以得到此時的相角大小 為14×π6250=0.00224π rad ,因此可以得到

radV

KP =2.24×104π 。同理可以得到 s

radV

KI =0.71083π ⋅ ,差別僅在於需考慮將誤差維持時累加的過程。

在 S4 時進行累加的過程,將本時刻之相乘結果加上上一時刻之相乘結果。圖中包 含二個限制器,能將誤差訊號限制在一正負範圍之內。最後則是將經由比例積分控制器 轉為相角訊號。在實際合成上,電壓迴路使用12μs完成。

S0 S1 S2 S3 S4 S5 S6 S7 S8

vo

ref

Vo,

KP

KI

⊕ ⊕

D A/D θ

12bit

191 Vm

圖4.8. 電壓迴路之執行順序示意圖。

利用上述電壓迴路所得出之相角訊號後,就需要利用此相角訊號得到電路所需要的 開關訊號。根據第三章中所推導之無電流感測控制之公式可知,需要一正弦波絕對值訊 號sinωt ,此訊號在利用FPGA 實現時,是建立一正弦波絕對值之表。利用查表的方式 並配合輸入電壓相位偵測電路,即可以得到一與輸入電壓同相之正弦波絕對值訊號

ωt

sin 。圖4.9 為由相位偵測電路得到之實作波形,其中 為測量TLP620 第三隻腳位 而得,

vPLL

ωt

sin 則為利用vPLL訊號查表而得的正弦波絕對值訊號。

10ms

vs

vPLL

ωt sin

圖4.9. 相位偵測實作波形。

圖 4.10 為產生開關訊號之執行順序示意圖,其中關鍵的步驟即為查表的過程。在實 現上,FPGA 中建立一 6250 筆之正弦波絕對值,選擇 6250 的主要原因為,根據輸入電

壓可知,正弦波絕對值訊號sinωt 的頻率為120Hz,且考慮在每一次開關切換週期查一 次表,亦即查表的時間間格為20μs。利用上述的數據可以知道在一個正弦波絕對值週 期內的查表次數應為112020μ,為了能在一週期內查完一次表,我們則需要找到一整 數,能整除上述之查表次數。同時考慮表的筆數越大對控制的效果越好的條件下,因此 選擇了6250 筆。圖 4.10 中之常數 15 即為6250 20 ⎟=15

⎜ ⎠

÷⎝1120 μ 之結果。

vin

( )

15 sin const

sin

o

s V

o L s

LV r V ω

ˆ

o F

V 3V +

+

+ −

+

⊗ − −

圖4.10. 產生開關訊號之執行順序示意圖。

根據第三章所推導之控制訊號公式,需要對同一個表進行兩次查表的動作,分別得 到與輸入電壓同相位之正弦波絕對值訊號sinωt ,在S14 時完成;以及與輸入電壓有相 位差θ 之正弦波絕對值訊號sin

(

ωt−θ

)

,在S13 時完成。並再個別乘上一常數即可以得 到我們所求之控制訊號,最後即可以得到所希望之開關訊號。在實際合成中,產生開關 訊號的迴路使用了8μs完成。若再加上電壓迴路所需的12μs,則剛好為一個開關切換週 期20μs

本實作合成的電路,根據不同的簡化架構所使用 FPGA 的資源比例如下表 4.1 所 示。根據文獻[18],Spartan-3 XC3S200 FPGA 中可以供使用的 4 輸入 LUT(Look-Up Table) 及D 型正反器(D-type Flip-Flop)皆分別有 3840 個。Block RAM 主要是由建立之正弦波 絕對值表所使用。一組乘法器的使用,僅用於圖4.10 步驟 S15 中。

表4.1 各種架構下之 FPGA 使用率 D-type Flip-Flops 3840 927

(24%)

相關文件