基于FPGA的可重構智能儀器設計
系統(tǒng)軟件模塊庫:包含軟件控制模塊、RS232 通訊模塊、模數轉換模塊、數模轉換模塊、 顯示模塊和DI、DO 開關量模塊。通過軟件控制模塊選擇其他的模塊進行組合就可以實現不 同的軟件功能,從而達到重構的目的。
HAL 程序庫實際上包含了各種不同的硬件驅動,包括MAX232 驅動、AD 轉換芯片驅 動、DA 轉換芯片驅動、FPGA 的I/O 引腳驅動等。
通過選擇軟件模塊庫中的軟件模塊,就可以調用 HAL 程序庫中相應的硬件驅動,從而 實現上層應用程序對底層硬件的控制。軟件模塊的可重構性對應了底層硬件的可重構性。
硬件抽象層(HAL, Hardware Abstraction Layer),是指在應用程序和系統(tǒng)硬件之間的一 個系統(tǒng)庫(System Library),為嵌入式系統(tǒng)與硬件通信的程序提供簡單的設備驅動接口。 SOPC Builder 是一個自動化的SOPC 硬件系統(tǒng)工具。基于HAL 的軟件系統(tǒng)由兩個Nios II 工 程所構建,用戶的程序包含在一個工程中(用戶應用工程),該工程依賴一個獨立的系統(tǒng)庫 工程(HAL 系統(tǒng)庫工程)。用戶應用工程包含開發(fā)的所有代碼,編譯該工程可以產生可執(zhí)行 文件。HAL 系統(tǒng)庫工程包含涉及處理器硬件接口的所有信息。系統(tǒng)庫工程依賴于由SOPC Builder 產生的擴展名為.ptf 的Nios II 處理器系統(tǒng)。
由于該工程的依賴結構,如果 SOPC Builder 生成的系統(tǒng)改變(即.ptf 文件已修改),則 Nios II IDE 管理HAL 系統(tǒng)庫并且修改驅動配置來正確的反應系統(tǒng)硬件。HAL 系統(tǒng)庫將用戶 程序與底層硬件變化分離開來,這樣,用戶可以不用考慮自己的程序是否與目標硬件匹配來 開發(fā)和調試代碼,簡而言之,基于HAL 系統(tǒng)庫的程序和目標硬件是同步的。
由于 HAL 系統(tǒng)庫中包含有各種不同的硬件驅動,用戶可以根據特定的設計需要調用 HAL 系統(tǒng)庫中的相應硬件驅動,從而實現對不同硬件系統(tǒng)的控制,來達到可重構設計的目的。本文所設計的基于HAL 系統(tǒng)庫的可重構智能儀器軟件系統(tǒng)如6 示。在系統(tǒng)軟件控制界 面中選擇了某一功能后,該功能就會調用HAL 程序庫中相應的一些硬件驅動,從而實現對 硬件設備的控制。
4 系統(tǒng)分析
基于 FPGA 的可重構智能儀器主要是針對目前測試儀器生產出來后功能不能改變、維護 費費用過高、資源浪費嚴重等問題。提出基于FPGA 的可重構智能儀器的硬件結構和軟件結 構,實現了八種不同的功能,借鑒虛擬儀器的思想,開發(fā)了基于FPGA 的可重構智能儀器演 示系統(tǒng),該系統(tǒng)具有A/D 采集、D/A 輸出和開關量控制三種功能。
本文作者創(chuàng)新點:基于SOPC技術進行可重構設計;采用了FPGA增強型配置芯片EPC16; 軟件重構采用了應用框架的復用技術。
評論