• 沒有找到結果。

系統的整合實現

在文檔中 中 華 大 學 (頁 41-45)

第四章 系統實作

4.4 系統的整合實現

本研究將在一個 FPGA 發展平台上實現影像的動態偵測,依照之前所模擬的 方法進行設計,根據所設計的偵測影像方法所繪製的有限狀態機(FSM, Finite State Machine)的狀態圖(State Diagram)如圖 4-8 所示。使用 Verilog HDL 將這個方法實現在 FPGA 上,實際測試這個方法是否可以有效的達成我們所需要的 功能。

CMOS Sensor FPGA

Bus switch

TFT LCD

圖 4-8 有限狀態機狀態圖

設計這個功能是可以將此偵測功能打開或是關閉,所以一開始的起始狀態都 會在 Idle 的狀態下,當有將此偵測功能打開才會開始整個動作流程:

(1) 一開始需先收集一個完整的 8x16 的區塊,收集完 8x16 的區塊後,再 判斷 Proc 是否為 1,當 Proc 不是 1 時繼續此程序依序往後進行處理。

(2) 收集到 8x16 的區塊後,將此 8x16 的區塊內的 Y 值相加之後除 128,以 此來平均這個區塊內的所有 Y 值,計算出的值暫存在緩衝儲存器內。

(3) 將緩衝儲存器內的值寫入到 SRAM 內。

(4) 清空此緩衝儲存器,將狀態再回到 Idle。

(5) 再來 收 集 一個 完整的區塊 收 集完一個區塊,再判 斷 Proc 是否為 1,當 Proc 為 1 時繼續以此程序依序往後進行處理。

(6) 收集到 8x16 的區塊後,將此 8x16 的區塊內的 Y 值相加之後除 128,以 此來平均這個區塊內的所有 Y 值。計算出的值存在 SRAM 內。

(7) 將 SRAM 內的兩個值相加除於 2 代表完成了一個 16x16 的區塊的值。

於我們設定的門檻值,則將此區塊記錄起來。

(10)有超過門檻值時,將此區塊記錄起來並且設定 Flag 並進行累加動作,

當累加數等於 8 時,將所記錄的值存入到 SRAM 記憶體內。

以上為所設計的有限狀態機說明描述,……。

再來說明存取在 SRAM 內的記憶體配置圖,如圖 4-9 所示。

7 6 5 4 3 2 1 0

Bit

Save alarm data space

Save current frame data space

Save reference frame data space

圖 4-9 記憶體配置圖

圖 4-9 為 SRAM 內我們存取的資料,我們將 SRAM 分成三個區域,第一個區域 擺放的是每一張的參考畫面資料,就是當目前這張畫面比對完之後,就會以目前 這張畫面當做下一張畫面的參考資料,以此類推下去,第二個區域為運算處理資

料,就是儲存各個 8x16 的區塊運算結果,第三個區域為設定 Flag 的區域,我們 根據運算的結果在此找尋有設定 Flag 的區域,並將設定 Flag 的區域框出來,以 利判別。

在使用 Verilog HDL 實現時,使用 Verdi 來產生數位波形如圖 4-10 所示

圖 4-10 完整畫面數位波型圖

從圖 4-10 可以看出虛線的部份為完整畫面的開始和完整畫面的結束,代表著 一張完整的畫面所包含的所有資料格式。

再來看本文所提到的 8x16 個區塊,在數位波形時所看到的資料格式如圖 4-11 所示。

由圖 4-11 所示代表每一個水平位址掃描 8 次,垂直位址掃描 1 次,接著再繼 續進行掃描程序,接著垂直位址掃描 1 次,水平位址掃描 8 次,依此進行完成 8x16 個區塊,直到區塊掃描結束時會有高準位脈衝表示已將完成了一個區塊的 8x16 的 區塊掃描結果。

接著看本文所提到的當運算出的 Y 值結果超出設定的門檻值時,所展現出來 的結果在數位波形時所看到的資料格式如圖 4-12 所示。

圖 4-12 異常累加數位波形圖

如圖 4-12,在進行區塊運算時,如發現差異的值超過所設定的門檻值之後,

就會觸發中斷,並且進行累加運算,累加計算會計算出現多少個區塊有差異值,

根據此累加數量的差異值,再去 SRAM 內中將有設定 Flag 的值讀出來,並且使用 紅色外框將其標示記錄起來。

在文檔中 中 華 大 學 (頁 41-45)

相關文件