• 沒有找到結果。

系統功能模組規劃

第五章 晶片功能模組設計與模擬驗證

5.1 系統功能模組規劃

本論文利用 VHDL 撰寫各模組功能,並且使用 Quartus II 整合所有的模組,完 成一無感測驅動技術的 FPGA 晶片內部系統架構,其內部整體架構圖如圖 5.1。以 下將逐一介紹說明各個模組的功能及其驗證的結果。

圖 5.1: 晶片內部整體架構圖

第五章 晶片功能模組設計與模擬驗證

5.1.1 開關控制模組

開關控制模組方塊圖如圖 5.2 所示,其中 sw 與 reset 訊號由 DE1 開發板上的 KEY3 與 KEY2 兩個按鈕所控制,其腳位定義如下表 5.1 所示。

圖 5.2: 開關控制模組

表 5.1: 開關控制模組腳位說明

腳位名稱 屬性 位元數 腳位說明

clk Input 1 bit Cyclone II 晶片輸出時脈,20ns

sw Input 1 bit 系統啟動開關,當sw=0 且符合防彈跳時間 時,系統啟動。

reset Input 1 bit 外部系統重致訊號,當reset=0 時,系統重致。

ao_en Output 1 bit 定位與開迴路模組致能訊號。

圖 5.3 為開關控制模組流程圖,當時脈 clk 正緣觸發時,開始偵測 sw 與 reset 訊號的狀態。若 reset 為低準位 (KEY2 鈕被按下) ,則將內部計數器 q 歸零;若 sw 為低準位位 (KEY3 鈕被按下) ,則開始計數 q 。當計數器從 000000 計數至 011111 時,代表持續按住 KEY3 鈕達 31x20ns=620ns ,避免偵測到開關彈跳的錯誤訊號,

使定位與開迴路模組的致能訊號轉為高準位,讓定位與開迴路模組開始啟動。

第五章 晶片功能模組設計與模擬驗證

圖 5.3: 開關控制流程圖

5.1.2 除頻器模組

除頻器模組方塊圖如圖 5.4 所示,因每一模組所需的時脈不同,所以在此模組 實現各模組所需要的時脈訊號,其腳位定義如下表 5.2 所示。

圖 5.4: 除頻器模組

第五章 晶片功能模組設計與模擬驗證

表 5.2: 除頻器模組腳位說明

腳位名稱 屬性 位元數 腳位說明

clk Input 1 bit 晶片輸出時脈,20ns

clk_1 Output 1 bit 定位與開迴路模組時脈,327.68 sμ 。 clk_2 Output 1 bit 閉迴路模組時脈,0.64 sμ 。

clk_3 Output 1 bit 錯誤偵測模組時脈,40.96 sμ 。 clk_4 Output 1 bit 轉速計算模組時脈,2.56 sμ 。

如圖 5.5 ,當時脈 clk 正緣觸發時,開始計數內部的暫存器 q ,分別取得時脈:

clk_1 為20 ns⋅214 =327.68 μs; clk_2 為20 ns⋅25 =0.64 μs; clk_3 為20 ns⋅211 =40.96 μs; clk_4 為20 ns⋅27 =2.56 μs

圖 5.5: 除頻器流程圖

第五章 晶片功能模組設計與模擬驗證

5.1.3 定位與開迴路模組

定位與開迴路模組方塊圖如圖 5.6 所示,此模組主要實現無感測驅動程序中的 定位及開迴路啟動步驟。為了避免使計數器的位元數增加,我們利用經除頻器除 頻後的 clk_1 訊號作為 clk_count1 的訊號,並透過 clk_count1 訊號來計數定位及開 迴路啟動程序所需的導通時間。其腳位定義如下表 5.3 所示。

圖 5.6: 定位與開迴路模組

表5.3: 定位與開迴路模組腳位說明

腳位名稱 屬性 位元數 腳位說明

clk_count1 Input 1 bit 模組時脈,327.68 sμ 。 ao_en Input 1 bit 定位與開迴路模組致能訊號。

restart Input 1 bit 系統重致訊號,當外部重致訊號low 或產生 error 訊號時,系統重致。

closed_en Output 1 bit 閉迴路模組致能訊號。

flag1 Output 4 bit 定位與開迴路六橋開關輸出旗標。

如圖 5.7,當 clk_count1 正緣觸發時,開始偵測 restart 訊號。若 restart 為高準 位,則將此模組參數重致,即內部暫存器歸零、flag1 設定為 0110 (旗標狀態 0110 代表外部的六橋開關皆為關閉狀態) 與將 closed_en 訊號維持在低準位。若 restart 為低準位,則偵測ao_en 訊號。當 ao_en 為高準位時,表示啟動定位與開迴路啟動 程序,先將電流導通的方向選擇為 u → v (flag1=0100),導通 0.7 秒後完成定位程

第五章 晶片功能模組設計與模擬驗證 序。之後將導通方向切換為為 v → w (flag1=0000) 導通 0.038 秒,再將導通方向切 換為v → u (flag1=0001) 導通 0.015 秒,完成開迴路啟動程序後將 closed_en 設定為 高準位,使閉迴路模組開始運作。

圖 5.7: 定位與開迴路流程圖

5.1.4 閉迴路模組

閉迴路模組方塊圖如圖 5.8 所示,此模組主要實現無感測驅動程序中的閉迴路 加速程序,執行 150 度十二步方波、 180 度六步方波、 180 度九步方波與 210 度 六步方波等驅動。其腳位說明如表 5.4 所示。

第五章 晶片功能模組設計與模擬驗證

如圖 5.9,當 clk_count2 正緣觸發時,開始偵測 restart 訊號。若 restart 為高準 位,則將此模組參數重致;若 restart 為低準位,則判斷 closed_en 訊號。當 closed_en 為高準位時,表示啟動閉迴路加速程序,因此開始以不同角度驅動的方式來驅動 馬達,其中驅動方式在 3.2 節有做詳細介紹。

第五章 晶片功能模組設計與模擬驗證

圖 5.9: 閉迴路流程圖

第五章 晶片功能模組設計與模擬驗證

第五章 晶片功能模組設計與模擬驗證 如圖 5.12,當 clk_3 正緣觸發時,將 error_r 訊號歸零,並且開始偵測 closed_en 訊號。若 closed_en 為低準位,代表目前馬達還在定位中,不需偵測馬達是否卡位。

第五章 晶片功能模組設計與模擬驗證 10011000100 此臨界值時,表示馬達轉速低於 100 rpm,必須將 error_r 訊號設定為 高準位使系統重致。

5.1.6 模式切換模組

模式切換模組方塊圖如圖 5.13 所示,其功能主要分為兩部份,一為選擇定位 與開迴路模組或是閉迴路模組的六橋開關輸出旗標,另一為依據六橋開關輸出旗 標選擇三相端電壓中正確的未激發相來產生零交越點訊號。其腳位說明如表 5.6 所示。

圖 5.13: 模式切換模組

表 5.6: 模式切換模組腳位說明

腳位名稱 屬性 位元數 腳位說明

clk Input 1 bit 模組時脈,20ns

reset Input 1 bit 外部系統重致訊號,當reset=0 時,系統重致。

closed_en Input 1 bit 閉迴路模組致能訊號。

u Input 1 bit v 相電壓與中心相電壓比較後的訊號。

v Input 1 bit v 相電壓與中心相電壓比較後的訊號。

w Input 1 bit w 相電壓與中心相電壓比較後的訊號。

第五章 晶片功能模組設計與模擬驗證

腳位名稱 屬性 位元數 腳位說明

error_r Input 1 bit 錯誤訊號輸入,與FG_error 的 error_r_out 相 連接,當此模組error_r 接收 high 訊號時,則 設定系統重新啟動。

flag1 Input 4 bit 定位與開迴路六橋開關輸出旗標。

flag2 Input 4 bit 閉迴路六橋開關輸出旗標。

restart Output 1 bit 系統重致訊號,當外部重致訊號low 或產生 error 訊號時,系統重致。

emf Output 1 bit 零交越點訊號,由u, v, w 訊號所組成

flag_out Output 4 bit 六橋開關輸出旗標,由 closed_en 訊號決定,

為align_open 旗標或是 closed 旗標。

第五章 晶片功能模組設計與模擬驗證

第五章 晶片功能模組設計與模擬驗證 在要產生零交越點產生的區域 (dead_out=0),若是的話則將 PWM 的 duty cycle 設 定為1,也就是將 PWM 輸出訊號 pwm_con 設定為高準位。若是馬達還在定位與開 迴路程序時,也不做速度控制,將 PWM 輸出訊號 pwm_con 設定為高準位。若 dead_out=0 且在閉迴路程序時,則將圖 5.16(a) 所得的 PWM 訊號傳送給 pwm_con 輸出訊號。

第五章 晶片功能模組設計與模擬驗證

圖 5.16: 脈波寬度調變流程圖

5.1.8 轉速計算模組

轉速計算模組方塊圖圖 5.17所示,其模組功能為依據轉速產生訊號 FG_c 的週 期來計算馬達目前的轉動速度。其腳位說明如表 5.9 所示。

圖 5.17: 轉速計算模組

第五章 晶片功能模組設計與模擬驗證

表5.9: 轉速計算模組腳位說明

腳位名稱 屬性 位元數 腳位說明

clk_4 Input 1 bit 模組時脈,2.56 sμ 。

restart Input 1 bit 系統重致訊號,當外部重致訊號low 或產生 error 訊號時,系統重致。

FG_c Input 1 bit 轉速產生訊號。轉速產生訊號。

closed_en Input 1 bit 閉迴路模組致能訊號。

rpm Input 14 bit 經計算的馬達轉速,rpm=39062500/qfout。

圖5.18: 轉速計算流程圖

第五章 晶片功能模組設計與模擬驗證 如圖 5.18,當 clk_4 正緣觸發時,先判斷 restart 訊號是否為高準位,若是則將 此模組的參數重致歸零,若 restart 訊號為低準位時,則偵測 closed_en 訊號,判斷 是否進入閉迴路程序。若 closed_en 訊號為高準位時,則依據閉迴路模組輸出的 FG_c 訊號來計算出目前的轉速。計算轉速的方法為利用此模組內的計數器 qfout 不斷計數十個週期的 FG_c 訊號,然後將 qfout 值套入 (3.8)式 的 N 中,即可得知 目前的轉速。

相關文件