基於FPGA 的VME自定義匯流排介面設計論文

基於FPGA 的VME自定義匯流排介面設計論文

  1 引言

  在光刻機雙工件臺控制系統中,VME 匯流排使用了三個介面共430 根線路接入, 透過背板互聯的有P1, P2 兩個介面320 根線路接入。實際上V M E 標準協議並沒有完全使用全部線路, 而是為使用者預留了部分自定義線路,增加了設計的靈活性。由於V M E 匯流排主要用於工控機與各板卡的通訊, 同步控制卡與鐳射計數卡和光柵譯碼卡使用匯流排就會產生嚴重衝突, 影響採用是實時性,因此這裡將V M E 匯流排中未使用的管腳作為自定義匯流排管腳, 這樣避免了增加新的硬體介面, 而且在硬體設計上可以和VME 匯流排一起考慮。

  自定義同步匯流排資料傳輸完全根據主控匯流排提供的時序進行, 地址線包含了對資料傳送和接收方的定義。每個匯流排傳輸週期中, 資料傳送端和接收端的身份根據地址定址關係自動切換, 而避免了匯流排控制權更迭時的握手, 及資料傳輸優先順序或傳輸搶佔等問題, 匯流排控制訊號來自同一個時鐘域, 從節點僅響應控制訊號, 可忽略節點間時鐘相位差影響。在每個伺服週期, 設計了一個數據傳輸序列來實現共享資料互動。資料傳輸序列由若干個匯流排傳輸週期構成, 每個週期完成32b i t 的資料共享。透過設定匯流排地址來設定資料傳輸序列的傳輸內容, 當所有的設定匯流排地址被遍歷, 則當前週期數據傳輸已經完成, 所有被規劃傳輸的資料都被所有的運動控制卡所共享。

  2 VME 自定義匯流排邏輯協議的實現

  V M E 自定義匯流排是一條並行執行的匯流排, 該匯流排

  採用資料廣播的方式, 可以方便各個板塊同時接收同一個資料。其由同步控制卡提供5KHz 時鐘, 每200us同步控制卡將資料鎖存線拉高, 向光柵譯碼卡發出一個脈衝, 此時光柵譯碼卡和鐳射干涉儀等裝置鎖存該時刻的資料, 其讀數不再發生變化, 然後同步控制卡產生一連串的讀取訊號, 將各個光柵尺的資料讀出。同時切換總線上的地址, 並生成取樣保持, 讀取和地址三個訊號置於自定義匯流排, 運動控制卡透過對自身所需的地址的識別在讀訊號低電平時獲得相應位置感測器的訊號。

  2.1 VME 自定義匯流排介面的實現

  V M E 自定義匯流排在V M E 的P2 口上, 時鐘頻率是5KHz, 用於傳輸鐳射干涉儀和光柵尺的測量資料。在實際應用中, 位置環取樣週期為200us, 並且有大量的實時伺服資料在運動控制卡與光柵譯碼卡之間、運動控制卡與運動控制卡之間、運動控制卡與同步匯流排控制卡之間交換。如果在運動控制中, 這些伺服資料使用V M E匯流排進行交換, 則會堵塞系統匯流排, 使P o w e r P C 無法進行正常工作。為此, 利用光柵譯碼卡的技術特點以及V M E 的P2 自定義介面, 構造自定義區域性匯流排。並設計專用同步匯流排控制模組對同步匯流排進行控制。自定義同步匯流排介面邏輯同樣採用FPGA 晶片來實現, 使其達到靈活、可靠、整合度高的設計要求。

  自定義同步匯流排的主控制器由運動控制系統中的同步匯流排控制卡來實現, 而運動控制卡中只需實現自定義匯流排的從介面。從控制器結構如 所示, 其功能包含以下方面:

  (1) 提供DSP 對於雙口RAM 訪問的地址譯碼, 將DSP 的標準EMIF 介面時序轉換成雙口RAM 訪問時序,該功能在EMIF 時序匹配模組中完成;

  (2) 完成自定義匯流排的讀寫邏輯, 當自定義匯流排的地址有效後, 資料方向控制模組將判斷當前運動控制卡是資料傳送端還是資料接收方, 以切換資料匯流排方向;

  (3) 當某一個特定的自定義匯流排地址訪問出現的時候, 匯流排時序匹配模組將產生中斷訊號提供給D S P , 提供同步觸發。

  2.2 同步控制卡VME 自定義匯流排邏輯功能的實現

  光柵譯碼卡接收來自光柵尺的訊號, 實現對工件臺宏動部分的位置測量, 測量資料透過自定義匯流排傳送給同步控制卡。同步控制卡透過內部的定時器, 產生運動週期開始訊號, 讀取光柵譯碼卡的資料, 然後將各個運動控制卡所需的訊號, 按照一定的地址編碼,傳送到V M E64x 匯流排的自定義總線上, 由運動控制卡接收。運動控制卡接收到同步控制卡的運動週期開始訊號後, 依次接收指令位置和光柵尺資料, 運動控制卡進行資料儲存等其他操作, 並等待下個運動週期的開始訊號。

  對於同步控制卡FPGA 中邏輯協議的.設計, 採用三段式狀態機進行設計, 第一段描述次態暫存器轉到現態暫存器; 第二段對狀態轉移條件進行判斷, 從而完成狀態轉移變換; 第三段描述在各個狀態完成的動作和對狀態轉移條件進行描述。

  在狀態S0 處檢測200u s 的脈衝, 因為同步控制卡每200u s 向光柵譯碼卡發出一個脈衝, 光柵譯碼卡接收到該脈衝後就會鎖存當前資料, 當脈衝到來時則轉到S1狀態, 否則仍然處於S0。在S1 狀態時等待20n s , 即讓光柵譯碼卡把資料鎖存完成, 接著轉到狀態S2。在狀態S2, 將地址傳送給光柵譯碼卡, 並且等待30n s , 讓輸出資料穩定, 然後轉到狀態S3。在狀態S3, 將資料鎖存,讀操作的次數置零, 並且將地址傳送給雙口R A M , 延時10n s 等待資料和地址穩定, 然後轉到狀態S4。在S4對雙口R A M 進行寫操作使能, 即給寫使能引腳置高電平, 然後進入狀態S5。在S5 將讀操作次數加1, 並判斷是12 路資料是否讀取完畢, 即讀次數是否等於12, 若否則進入狀態S6, 否則進入狀態S11。從狀態S6 到狀態S10 重複狀態S1 到S5 的過程, 直到讀取完成。在狀態S11, 發出讀取完成脈衝, 並延時20ns 到狀態S12, 最後返回狀態S0 等待。

  2.3 同步控制卡VME 自定義匯流排設計實測結果

  實測模組是接收12 路光柵尺的資料, 從 可以看出, 送到光柵譯碼卡的地址, 在延遲一定時間後, 穩定的資料才輸出, 所以這裡是根據實測的延遲時間來決定模組設計中的相關訊號的延遲。將資料寫入快取必須等待資料穩定才能發出寫訊號。

  2.4 運動控制卡讀取VME 自定義匯流排資料邏輯功能的實現

  在光刻機雙工件臺控制系統中, 每塊運動控制卡實現對三個電機的控制, 整個系統需要12 塊運動控制卡,它透過光纖口將控制訊號傳送到電機驅動。同步控制卡透過內部的定時器, 產生運動週期訊號, 讀取光柵譯碼卡中資料, 進行解耦, 然後將各個運動控制卡所需的訊號, 按照一定的地址編碼, 傳送到V M E64x 自定義匯流排, 由運動控制卡接收。運動控制卡接收到同步控制卡的運動週期開始訊號後, 依次接收指令位置和光柵譯碼卡的資料。

  3 結束語

  本文提供了一種基於FPGA 的VME 自定義匯流排的邏輯介面設計, 同步控制卡作為“主卡”, 讀取光柵譯碼卡中的測量資料, 並將資料置於VME 自定義總線上,其負責自定義在匯流排的邏輯設計。運動控制卡, 接收來自自定義總線上的資料, 並透過DSP 進行處理, 最後傳送給電機, 控制電機的運動軌跡。該設計方案通過了實際驗證, 並利用SignalTapII 觀測了其邏輯時序, 可得該方案正確。

最近訪問