采用VC++程序的FPGA重配置設計方案
利用現場可編程邏輯器件FPGA的多次可編程配置特點,通過重新下載存儲于存儲器的不同系統數據,從而實現不同的芯片邏輯功能,可以在很大程度上提高資源利用率。原始配置FPGA的方法是硬件設計者根據需求設計生成配置數據流,然后通過專用配置芯片對FPGA進行配置,例如通過下載電纜將配置數據流存儲到FPGA配置存儲芯片中,該方法的整個過程需要芯片廠商的專用軟件參與。因此,該配置方法對依賴下載電纜,適合于產品研制過程中下載配置操作,且有一定的局限性,不適用對產品應用中的系統升級或系統重構。
結合對
圖1中借用原系統DSP處理器的控制功能來完成上位機控制命令及下載數據的接收,上位機與系統之間采用PCI總線接口。上位機命令由DSP處理器進行解析,并隨后發送到配置芯片控制器中,配置芯片控制器可由CPLD器件構成,它的編程采用EEPROM或FLASH技術,且無需外部存儲器芯片。
在設計中,上位機通過PCI總線建立通信并發送配置命令及數據至DSP,DSP以串行方式通知配置芯片控制器發送控制命令以及要進行配置的數據包,同時,配置芯片控制器在解析命令后,還應執行相應的操作,并完成FPGA配置芯片所需的下載時序及配置數據。配置芯片的數據下載過程稱為編程操作,編程完成后,再啟動配扁平型電感置操作,即可進行FPGA從配置芯片讀取新的系統配置程序過程。與常用的FPGA配置方法相比較,本文所采用的FPGA可重構設計的硬件結構更加簡單,用戶操作也更加方便,而且在對FPGA的配置芯片寫入配置程序數據的時候,并不會影響到FPGA的繼續工作,系統重構的時隙也更小。
DSP控制程序一般采用中斷等待的設計思想,處理器上電啟動后,首先對自身的工作方式進行設置,然后對系統各個功能模塊進行初始化操作,使其工作在一個確定的已知狀態下。之后,在完成系統的初始化以后,DSP程序進入空閑等待狀態,直到標志著上層命令大電流電感已送達控制邏輯的中斷功率電感信號有效,程序再從空閑等待狀態進入中斷服務程序,然后判斷是系統配置命令,還是其他工作命令。若接收到配置命令,則進入串口中斷服務程序,隨后判斷配置命令的類別,并進入相應的子函數程序,包括配置模式、用戶模式、擦除、擦除延時、寫數據等多個子函數。配置模式是指系統通過發送控制命令來獲取FPGA配置芯片的數據信號線、時鐘信號線以及片選信號線的控制權,從而進行讀寫操作。調用配置模式子函數后,發送不同的命令控制字,便可以選擇配置不同的配置器件。
本系統中的邏輯電路平臺由2片Altra公司FPGA芯片構成,其對應的配置芯片分別為EPCS16和EPCS1器件,設計中,可以分別為這兩片配置芯片設置各自的32位控制字。用戶模式子函數可在系統對EPCS配置芯片的寫數據操作完成后,通過系統發送控制命令來釋放配置芯片EPCS的數據信號線、時鐘信號線以及片選信號線的控制權,這樣,FPGA將恢復到用戶繞行電感所設置的工作模式。
2 可重配置軟件方案
用戶發送配置數據流到EPCS對FPGA進行配置的結構圖如圖2所示,其中PC機部分為上位機配置控制的用戶軟件宿主。配置控制軟件主要包括用戶應用程序(Win32應用程序)、儀器驅動程序、總線驅動程序三部分,總線驅動位于整個軟件系統的最底層,可通過硬件抽象層(HAL)直接與硬件進行交流。儀器驅動位于總線驅動和用戶應用程序之間。它對上可為屏蔽底層工作細節提供應用程序調用的接口函數,對下則可發送命令或接收數據。用戶應用程序則位于軟件結構的最上層,可通過調用儀器驅動程序,間接地與底層進行交互。其結構圖如圖3所示。
Windows XP操作系統中的驅動程序開發主要是基于Win32模式驅動程序,即基于WDM(Win32 Driver Model)。在WDM驅動模型中,每個硬件設備至少有兩個驅動程序:總線驅動程序和功能驅動程序。其中總線驅動程序由Window環型線圈電感器s提供,需要考慮的是負責實現PCI設備邏輯功能的功能驅動程序。所以,驅動程序分為以動態鏈接庫形式的儀器驅動程序和以WDM格式的底層的接口驅動程序。前者用于實現對目標硬件的操作,即下載配置數據流對FPGA的配置;后者則可實現資源分配、接口管理及數據的控制傳輸。
大功率電感廠家 |大電流電感工廠