• 沒有找到結果。

第三章 可程式類比陣列之設計與模擬

3.7 開關控制電路設計

本論文在 2.4 節中提到了幾個用來規劃電路的可程式化策略,基本原 理都是利用電晶體開關控制類比訊號流向以達到規劃目的[25],因此為了 有效控制開關導通與否,必須在系統中加入儲存開關資訊的記憶電路。一 般而言這部分皆是由多位元的位移暫存器(Shift register)所完成,例如圖 3.37 就是單一位元的正緣觸發 D 型正反器(D-type positive-edge-triggered flip-flop)。其特性是只有當震盪訊號(Clk)由低轉高準位時,才會將輸入

Din的數位資料送至輸出 Q,同時亦會產生反相輸出訊號 Q’,所以只要把 此 D 型正反器基本單元頭尾相互串接後,便可得到串列輸入/串列輸出

(Serial-in /Serial-out)的位移暫存器如圖 3.38,並負責接收及傳遞開關規 劃資料的工作。因此只要輸入的數位控制資料能夠搭配適當震盪訊號後,

便可使規劃資料一級級地傳至位移暫存器內並儲存起來。圖3.39 便是將輸 入資料串列送入 3 級位移暫存器的波形模擬結果,其中使用的震盪訊號 Clkin頻率為500KHz,並將 Clkin與enable 兩訊號完成邏輯 AND 運算後所 形成的Clk 當做各正反器真正的震盪訊號,如此使用者便能藉由 enable 功 能來決定震盪是否送入正反器,也就能讓位移暫存器得以選擇做資料保留 或移位的動作。

Clk

Din

Q

Q'

1

2

3

4

5

6

Q

Q'

Clk Din

D-FF symbol

a b

圖3.37 單一位元之正緣觸發 D 型正反器(a)邏輯電路圖(b)方塊圖

Clkin

D-FF1 D-FF2 D-FFn

Q1 Q2 s_out

s_in

enable Clk

圖3.38 多位元之位移暫存器

時間(Sec) clkinenableclks_inQ1Q2s_out

圖3.39 3 級位移暫存器之波形模擬圖

在規劃FPAA 的過程中,規劃資料必定會經由某種傳輸介質才會送至 晶片內部,因此資料容易受到傳輸條件的改變所影響。為了瞭解傳輸時錯 誤發生的主因,先將常見錯誤的發生情況大致分為以下三種

1. 傳輸距離:當傳輸距離增加時,訊號強度會隨著減弱,所以接收 端較不易將所收到的訊號完整復原。

2. 傳輸頻率:訊號衰減與訊號頻率呈現正相關,亦即頻率越高時訊 號扭曲將會越嚴重。

3. 雜訊干擾:雜訊是指任何混雜在接收訊號內的干擾能量,例如熱 雜訊、線與線間Crosstalk 所造成的影響皆屬之。

因此在規劃資料的傳輸方法確立下來之後,便可以來考慮如何建構出一套 檢查機制來避免傳輸錯誤發生,其中最常見也最有效的偵錯方式就是循環

重複檢查(Cyclic Redundancy Check, CRC)[26]。此檢查機制的主要運作 方式可說明如下,首先CRC 會針對 k 位元資料區段產生 n 位元的檢查碼,

再以k+n 個位元為一組來檢查傳送資料是否有錯誤。檢查的方法則是核對 該組資料是否可以被預先定義好的函式整除,亦即在執行完所定義的除法 後觀察是否有餘數產生,若餘數不為零則代表有錯誤隱藏在該組資料串 內,便可通知傳送端重新遞送資料以大幅減少錯誤發生率。以下就舉一個 簡單例子作為說明,假設原始規劃資料 M 具有 5 個有效位元 11001(k = 5),並且規定CRC 在 M 之後必須額外產生 3 個檢查位元 N(n = 3),同時 預先定義的除式P 為 1011,那麼傳送端為了計算出最後在傳送資料所必須 加入的檢查位元 N,應該先將 M 乘上 23以向左平移 3 個位元後,再將所 得到的結果除以P 而等於

111 11101

1011 11001000 23

K

= K

⋅ = P

M (3.45)

所以上式的餘數“111”即為所需的 3 位元檢查碼 N,然後只要將 N 接至 M 之後即可得到最後引入檢查碼的傳送資料F=11001111。至於接收端檢查資 料是否有誤的方法,就只需將F 除以 P 後再檢查餘數是否為零即可。

接著再來說明CRC 演算法在 FPAA 中的功能,因為在規劃開關導通 的過程中,資料是先經過PC 端軟體編譯後再送至晶片內部,因此人機介 面軟體只要依循上述傳送端的步驟編寫程式便可成功地加入檢查碼。至於

+ +

欲檢查之資料串 F: 11001111 : 1- bit 移位暫存器

+ : XOR 運算子

A B C

error

圖3.40 CRC 等效電路表示圖

接收端的角色則是由晶片來扮演,因此這部分的演算法必須轉換成電路形 式加以完成。圖3.40 便畫出了前述例子的等效電路表示圖,由圖中可看出 電路中只需要位移暫存器與 XOR 運算子便可完成所定義的除法動作。接 著就以所收到的資料F 為例說明詳細執行步驟,首先如表 3.1 所示先將暫 存器A、B、C 的值清為零(Step1),然後把 F 從最高位元開始送入此電路 內後,便會使得暫存器內的值根據 F 或前一級運算結果做變化而產生了 Step2~Step9 等步驟,最後等到 F 的最低位元也處理完成後,暫存器內的 儲存值就是餘數。接著只要將暫存器內各值接至 OR 閘並觀察輸出訊號 error 即可研判出是否有餘數產生,其中若有任一暫存器值不為零則代表餘 數亦不為零,所以就會觸發error 訊號由低轉高準位來通知傳送端資料接收 錯誤,如此便完成接收端利用CRC 演算法檢查錯誤的步驟。

表3.1 CRC 執行步驟

A B C F

step1 0 0 0

step2 0 0 0 1 step3 0 0 1 1 step4 0 1 1 0 step5 1 1 0 0 step6 1 1 1 1 step7 1 0 0 1 step8 0 1 0 1 step9 1 0 1 1 step10 0 0 0

第四章

可程式類比陣列之應用規劃與佈局

4.1 前言

經由前章介紹完可程式類比陣列的工作原理以建立出整體系統電路 後,本章將著重於利用現有電路資源規劃出常見的一階及二階濾波器,並 經由模擬軟體分析各濾波器的效能與特性,藉此展現出使用可程式類比陣 列設計時,該系統擁有即時規劃各項參數的優點。同時希望能將此設計的 實際應用面拓展至一般工業控制器,以賦予控制系統能依外在環境改變而 自我調整的能力。

第二節將說明如何利用現有可程式類比陣列電路組合出具有實用價 值的系統方塊,同時討論該可程式化方塊的應用方式及其使用特性,藉以 凸顯本研究所具有的方向與價值。第三節則指出在執行電路佈局動作時所 必須注意到的技巧與方法,有助於降低類比電路區塊受到不必要的雜訊影 響。最後第四節介紹一個控制可程式類比陣列的介面程式,以方便測試時 隨時改變參數的設定值。

4.2 各式濾波器之實現

本節將以圖3.1 所建構出的 FPAA 系統架構圖為基礎,利用內建的 CAB 相互組合出二階以下的濾波器電路。由於在 Gm-C 等效電路函數中的各項 係數皆是由轉導值與電容值組合而成,因此首先應該對這兩大基本元素訂

下通用的定義以簡化之後使用到的轉移函數表示式。因為 CAB 內各種可 變的元件值皆是採取數位化的方式加以控制,也就是先設定出各元件的單 位基準值之後,再將其依照二進制放大以建立出各種不同的等效元件值。

所以根據這個概念便可將各轉導值與電容值表示如下

×

=

n

n n Gmx mbase

mx G d

G , 2 (4.1)

×

=

n

n n Cx base

x C d

C , 2 (4.2)

其中 dGmx,ndCx,n

{ }

0,1 其中 x 表示各元件的索引值,Gmbase與Cbase則分別為轉導器與電容的單位 基準值,dGmx,n與 dCx,n則是電路內部用來控制開關的數位訊號。所以各元 件對應的等效值便可輕易地以數學式完整表示,另外因為轉導值除以電容 值(Gm/C)可形成頻率參數,因此再定義出另一基準頻率參數如下

base mbase

base =G C

ω (4.3)

此ωbase將有助於設計者設定FPAA 的預計工作頻率範圍,並藉此適當地選 擇電路元件基準值的大小。在完成以上的參數定義之後,接著便可以此為 基礎著手建構出較為複雜的電路形式與轉移函數表示式。

4.2.1 一階濾波器之規劃

首先考慮比較簡單的一階濾波器,由式(3.1)中可看出 CAB 本身即 具有直接實現一階函數的能力,因此對於一階以下的濾波器電路僅需使用 到一個 CAB 即可完成,算是 FPAA 應用中基本的使用類型。另外為了將 注意力直接放在實現等效轉移函數的電路設計方法,以下所推導的對象將

圖4.1 一階濾波器電路圖

另外雖然式(4.4)與(4.5)就數學上而言只是單純的變數轉換,但 若從電路的觀點出發卻可以分別解釋出不同意義。首先將式(4.4)與標準 轉移函數表示法對照後得到(Gm1/Gm3)與(Gm3/C1)分別為該濾波器的直 流增益與極點位置,所以當使用者根據所需給定這兩個參數之後,介面程 式便能藉此計算出相對應的 Gm1、Gm3和C1之值,並自行規劃出最有效距 離的開關以控制 FPAA。如此使用者便能在忽略內部詳細電路的情況下,

以系統整體需要滿足的規格為出發點來完成開發工作,所以能夠有效地加 快設計時程,並簡化大型系統設計的複雜度。至於由式(4.5)則可看出兩 點特性:

1. 濾波器直流增益(K1)與轉導器單位基準值(Gmbase)互不影響,

而是由開關控制訊號所構成的二進位數值直接決定。

2. 濾波器極點頻率乃是基準頻率 ωbase的倍數,而此倍數(K2)亦可 由開關控制訊號所構成的二進位數值決定。

因此濾波器的重要規格乍看下雖然好像都與電路內元件絕對值相關,但若 將式子經過化簡後便會發現實際上還是由元件相對值所決定,只不過再經 過數位訊號將其做倍率放大縮小的手續而已,如此可以有效地避免濾波器 效能受到製程漂移的嚴重影響,同時確保可規劃能力存在於電路內。

圖4.2、4.3 為所實現的一階濾波器波德圖模擬結果。首先圖 4.2 中藉

頻 率 Hz)

增益dB

-9.5dB( K1=1/3)

-6dB( K1=1/2)

0dB( K1=1)

6dB(K1=2)

9.5dB( K1=3)

圖4.2 一階濾波器增益圖(改變直流增益)

頻率 Hz

相位 度)

K1=1/3 ,1/2 ,1 , 2 ,3

圖4.3 一階濾波器相位圖(改變直流增益)

由改變式(4.5)直流增益 K1中的數位訊號dGm1,n與dGm3,n來驗證是否具有 可規劃能力,可發現當 K1 依序向上遞增時並不會對極點位置引起連動效 應,所以透過此種調整機制便可在固定頻寬的要求下控制增益大小。另外 需要注意的是從圖4.3 的相位中可以看出在高過 30MHz 左右的頻率下,相 位的表現會受到寄生高頻極點影響而產生相位角偏移,所以在高過此邊界 頻率後濾波器整體表現便會偏離一階函數的趨勢。一般說來電路應盡量避

由改變式(4.5)直流增益 K1中的數位訊號dGm1,n與dGm3,n來驗證是否具有 可規劃能力,可發現當 K1 依序向上遞增時並不會對極點位置引起連動效 應,所以透過此種調整機制便可在固定頻寬的要求下控制增益大小。另外 需要注意的是從圖4.3 的相位中可以看出在高過 30MHz 左右的頻率下,相 位的表現會受到寄生高頻極點影響而產生相位角偏移,所以在高過此邊界 頻率後濾波器整體表現便會偏離一階函數的趨勢。一般說來電路應盡量避