可重構(gòu)技術(shù)及基于FPGA的可重構(gòu)智能儀器設(shè)計(jì)
3.2 基于HAL 的可重構(gòu)智能儀器軟件開發(fā)
硬件抽象層(HAL, Hardware Abstraction Layer),是指在應(yīng)用程序和系統(tǒng)硬件之間的一 個(gè)系統(tǒng)庫(System Library),為嵌入式系統(tǒng)與硬件通信的程序提供簡(jiǎn)單的設(shè)備驅(qū)動(dòng)接口。 SOPC Builder 是一個(gè)自動(dòng)化的SOPC 硬件系統(tǒng)工具?;贖AL 的軟件系統(tǒng)由兩個(gè)Nios II 工 程所構(gòu)建,用戶的程序包含在一個(gè)工程中(用戶應(yīng)用工程),該工程依賴一個(gè)獨(dú)立的系統(tǒng)庫 工程(HAL 系統(tǒng)庫工程)。用戶應(yīng)用工程包含開發(fā)的所有代碼,編譯該工程可以產(chǎn)生可執(zhí)行 文件。HAL 系統(tǒng)庫工程包含涉及處理器硬件接口的所有信息。系統(tǒng)庫工程依賴于由SOPC Builder 產(chǎn)生的擴(kuò)展名為.ptf 的Nios II 處理器系統(tǒng)。
由于該工程的依賴結(jié)構(gòu),如果 SOPC Builder 生成的系統(tǒng)改變(即.ptf 文件已修改),則 Nios II IDE 管理HAL 系統(tǒng)庫并且修改驅(qū)動(dòng)配置來正確的反應(yīng)系統(tǒng)硬件。HAL 系統(tǒng)庫將用戶 程序與底層硬件變化分離開來,這樣,用戶可以不用考慮自己的程序是否與目標(biāo)硬件匹配來 開發(fā)和調(diào)試代碼,簡(jiǎn)而言之,基于HAL 系統(tǒng)庫的程序和目標(biāo)硬件是同步的。
由于 HAL 系統(tǒng)庫中包含有各種不同的硬件驅(qū)動(dòng),用戶可以根據(jù)特定的設(shè)計(jì)需要調(diào)用 HAL 系統(tǒng)庫中的相應(yīng)硬件驅(qū)動(dòng),從而實(shí)現(xiàn)對(duì)不同硬件系統(tǒng)的控制,來達(dá)到可重構(gòu)設(shè)計(jì)的目的。本文所設(shè)計(jì)的基于HAL 系統(tǒng)庫的可重構(gòu)智能儀器軟件系統(tǒng)如6 示。在系統(tǒng)軟件控制界 面中選擇了某一功能后,該功能就會(huì)調(diào)用HAL 程序庫中相應(yīng)的一些硬件驅(qū)動(dòng),從而實(shí)現(xiàn)對(duì) 硬件設(shè)備的控制。
4 系統(tǒng)分析
基于 FPGA 的可重構(gòu)智能儀器主要是針對(duì)目前測(cè)試儀器生產(chǎn)出來后功能不能改變、維護(hù) 費(fèi)費(fèi)用過高、資源浪費(fèi)嚴(yán)重等問題。提出基于FPGA 的可重構(gòu)智能儀器的硬件結(jié)構(gòu)和軟件結(jié) 構(gòu),實(shí)現(xiàn)了八種不同的功能,借鑒虛擬儀器的思想,開發(fā)了基于FPGA 的可重構(gòu)智能儀器演 示系統(tǒng),該系統(tǒng)具有A/D 采集、D/A 輸出和開關(guān)量控制三種功能。
本文作者創(chuàng)新點(diǎn):基于SOPC技術(shù)進(jìn)行可重構(gòu)設(shè)計(jì);采用了FPGA增強(qiáng)型配置芯片EPC16; 軟件重構(gòu)采用了應(yīng)用框架的復(fù)用技術(shù)。
評(píng)論