傳統測試系統由于專(zhuān)用性強、相互不兼容、擴展性差、缺乏通用化、模塊化,不能共享 軟硬件組成,不僅使開(kāi)發(fā)效率低下,而且使得開(kāi)發(fā)一套復雜測試系統的價(jià)格高昂。 目前,傳統的分析儀表正在更新?lián)Q代,向數字化,智能化方向邁進(jìn)。改變以往由儀器 生產(chǎn)廠(chǎng)家定義儀器功能、用戶(hù)只能使用的局面,使用戶(hù)可自定義儀器、根據不同測試需求對 儀器進(jìn)行重構,已經(jīng)成為現代測試技術(shù)發(fā)展的一個(gè)重要方面。由于其能夠大大減少測試設備 的維修成本、提高資源利用率,可重構儀器技術(shù)已引起高度重視。 1 可重構技術(shù) 目前對可重構性還沒(méi)有形成公認的定義?芍貥嬓砸话闶侵冈谝粋(gè)系統中,其硬件模塊 或(和)軟件模塊均能根據變化的數據流或控制流對結構和算法進(jìn)行重新配置(或重新設置)。 在可重構系統(Reconfigurable System)中,硬件信息(可編程器件的配置信息)也可 以像軟件程序一樣被動(dòng)態(tài)調用或修改。這樣既保留了硬件計算的性能,又兼具軟件的靈活性。 尤其是大規?删幊唐骷FPGA 的出現,實(shí)時(shí)電路重構思想逐漸引起了學(xué)術(shù)界的關(guān)注? 重構的實(shí)現技術(shù)又很多種方式,包括DSP 重構技術(shù)、FPGA 重構、DSP+FPGA 重構、可重 組算法邏輯體系結構、可進(jìn)化硬件(EHW)、本地重構/Internet 遠程重構、SOPC/SOC 重構。 可重構技術(shù)具有以下優(yōu)點(diǎn): 1)可重構技術(shù)能夠高效地實(shí)現特定功能?芍貥嬤壿嬈骷隙际怯策B線(xiàn)邏輯,它通過(guò) 改變器件的配置來(lái)改變功能。2)可重構技術(shù)能夠動(dòng)態(tài)改變器件配置,靈活滿(mǎn)足多種功能的 需求。3)可重構技術(shù)適合惡劣工作環(huán)境下的應用。利用可重構邏輯器件的一個(gè)優(yōu)勢是不需 要微處理器必需的散熱系統,大大減少了電子產(chǎn)品占據的空間。4)可重構技術(shù)具有強大的 技術(shù)支持來(lái)加速產(chǎn)品開(kāi)發(fā)。5)可重構技術(shù)的使用能夠大大降低系統成本。另外,對于不會(huì ) 同時(shí)被使用的功能,可考慮利用動(dòng)態(tài)重構技術(shù)在不同的需求時(shí)段里分別實(shí)現,做到“一片多 用”,節省了資源、空間和成本。 2 可重構智能儀器硬件設計 2.1 可重構儀器硬件結構 可重構智能儀器技術(shù)將先進(jìn)的微電子技術(shù)、半導體技術(shù)和微處理器技術(shù)引入儀器設計領(lǐng) 域,通過(guò)構建通用的硬件平臺,最終由用戶(hù)通過(guò)選擇不同的軟件來(lái)實(shí)現不同的儀器功能,因 此軟硬件在可重構儀器設計技術(shù)中同樣關(guān)鍵。 可重構智能儀器硬件結構由 Nois II 處理器系統(包括可重構FPGA 芯片、FPGA 片外 系統)和計算機組成,其硬件結構框圖如圖1 所示。 可重構 FPGA 選用Altera 公司Cyclone II 系列中的EP2C35F672C6 芯片,片外系統主要 包括SDRAM 存儲器、Flash 存儲器、模數轉換芯片、數模轉換芯片、EPC16 增強型配置芯 片、MAX232 芯片等組成。片外系統實(shí)現數據的采集、預處理、存儲和輸出等功能。 2.2 控制核 在基于 FPGA 的可重構智能儀器中,EP2C35F672C6 是整個(gè)系統的核心,為了實(shí)現FPGA 與其他芯片、器件的正確通信、數據交換,需要在FPGA 上配置Nios II 軟核處理器以及其 他控制器核。 (一)Nios II 嵌入式處理器的設置。首先在Quartus II 下建立一個(gè)Project,在SOPC Builder 中選擇組件列表中的Nios II Processor-Altera Corporation,考慮到芯片的性能以及資 源利用率,選擇Nios II/s(標準型)CPU,在Cache & Tightly Coupled Memories 標簽下設置 Instruction Cache 為4KB。在JTAG Debug Module 標簽下選擇Level 3,可設置2 個(gè)硬斷點(diǎn)、 2 個(gè)數據觸發(fā)、指令跟蹤和片上系統。整個(gè)Debug 模塊將占用2400~2700 個(gè)LE,4 個(gè)M4K。 (二)添加SDRAM 控制器內核。在SOPC Builder 組件選擇欄中選擇Avalon Components→Memory→SDRAM Controller,加入SDRAM 控制器核,。在Data Width(數據 總線(xiàn)寬度)下拉列表框中選擇16Bits,其余設置不變,因為都滿(mǎn)足SDRAM 芯片IS42S16400 的參數要求。Timing 選項卡的參數也滿(mǎn)足芯片要求,不必修改。 (三)添加 Flash 控制器。在對硬件系統進(jìn)行編程控制時(shí),Flash 用于存儲應用程序。 在SOPC Builder 的組件選擇欄中選擇Avalon Components→Bridge→Avalon Tri-State Bridge, 加入Avalon 三態(tài)總線(xiàn)橋; 在SOPC Builder 的組件選擇欄中選擇AvalonComponents→Memery→Flash Memery(Common Flash Interface),添加CFI 控制器。 (四) 定時(shí)器設置。在SOPC Builder 組件選擇欄中選擇Avalon Components→Other→Interval timer,加入定時(shí)器核。定時(shí)器的硬件配置選項會(huì )影響定時(shí)器的 硬件結構,SOPC 提供了簡(jiǎn)單周期中斷配置、完全功能配置和看門(mén)狗配置三種硬件配置。 (五)添加 SPI 核。采用的A/D 轉換芯片和D/A 轉換芯片都是基于SPI 總線(xiàn)進(jìn)行數據 傳輸的,要實(shí)現Nios II 系統對轉換芯片的控制必須添加SPI 核。在SOPC Builder 組件選擇 欄中選擇Avalon Components→Communication→SPI(3 Wire Serial),配置SPI 核。由于用到 的模數轉換芯片AD7810 和數模轉換芯片AD5611 對于Nios II 系統來(lái)說(shuō)都是從SPI 器件, 所以在FPGA 中添加兩個(gè)主SPI 核分別控制A/D 和D/A 轉換芯片。 2.3 可重構配置文件生成 在完成可重構智能儀器的各個(gè)控制器核之后,要生成相應的配置文件,才能配置FPGA 芯片,使其實(shí)現各種功能。 配置是對 FPGA 的內容進(jìn)行編程的一個(gè)過(guò)程。目前大部分FPGA 都是基于SRAM 工藝 的,而SRAM 工藝的芯片在掉電后信息就會(huì )丟失,需要外加專(zhuān)用配置芯片,在上電時(shí),由 這個(gè)專(zhuān)用配置芯片把配置數據加載到FPGA 中,之后FPGA 就可以正常工作了。 在被動(dòng)模式(PS)方式下,FPGA 處于完全被動(dòng)的地位。FPGA 接收配置時(shí)鐘、配置命 令和配置數據,給出配置的狀態(tài)信號以及配置完成指示信號等。PS 配置時(shí)序如圖2 所示: 根據 SOPC Builder 中對FPGA 添加的各種控制器核,利用Quatus II 軟件例化Nios II 處 理器,生成了完整的FPGA 內部頂層模塊圖,如圖3 所示。然后利用引腳規劃器Pin Planner 對其進(jìn)行引腳分配。最后用進(jìn)行Compilation,生成.sof 和.pof 配置文件,完成硬件設計。 2.4 外圍電路設計 外圍電路設計包括存儲器設計、AD 轉換電路設計、DA 轉換設計、顯示電路設計、開(kāi) 關(guān)量DI、DO 設計和RS232 通信設計等。 儀器上的存儲器包含 1 片8M 字節的SDRAM 和一片32M 字節的FLASH 存儲器。限于 篇幅SDRAM(IS42S16400)與EP2C35F672C6 連接的引腳、FLASH 存儲器(AT49BV163) 與EP2C35F672C6 連接的引腳分配這里不再贅述。 A/D 轉換電路采用了AD7810 芯片、DA 轉換電路采用AD5611 芯片。 DI、DO 均為16 路,數字端口滿(mǎn)足標準TTL 電氣特性。數字量輸入最低的高電平為2V, 數字量輸入最高的低電平為0.8V;數字量輸出最低的高電平為3.4V,數字量輸出最高的低 電平為0.5V。DI、DO 部分的電路如圖4 所示: 3 可重構智能儀器軟件設計 3.1 可重構儀器軟件結構 可重構智能儀器的軟件結構如圖5 所示。 系統軟件模塊庫:包含軟件控制模塊、RS232 通訊模塊、模數轉換模塊、數模轉換模塊、 顯示模塊和DI、DO 開(kāi)關(guān)量模塊。通過(guò)軟件控制模塊選擇其他的模塊進(jìn)行組合就可以實(shí)現不 同的軟件功能,從而達到重構的目的。 HAL 程序庫實(shí)際上包含了各種不同的硬件驅動(dòng),包括MAX232 驅動(dòng)、AD 轉換芯片驅 動(dòng)、DA 轉換芯片驅動(dòng)、FPGA 的I/O 引腳驅動(dòng)等。 通過(guò)選擇軟件模塊庫中的軟件模塊,就可以調用 HAL 程序庫中相應的硬件驅動(dòng),從而 實(shí)現上層應用程序對底層硬件的控制。軟件模塊的可重構性對應了底層硬件的可重構性。 3.2 基于HAL 的可重構智能儀器軟件開(kāi)發(fā) 硬件抽象層(HAL, Hardware Abstraction Layer),是指在應用程序和系統硬件之間的一 個(gè)系統庫(System Library),為嵌入式系統與硬件通信的程序提供簡(jiǎn)單的設備驅動(dòng)接口。 SOPC Builder 是一個(gè)自動(dòng)化的SOPC 硬件系統工具;贖AL 的軟件系統由兩個(gè)Nios II 工 程所構建,用戶(hù)的程序包含在一個(gè)工程中(用戶(hù)應用工程),該工程依賴(lài)一個(gè)獨立的系統庫 工程(HAL 系統庫工程)。用戶(hù)應用工程包含開(kāi)發(fā)的所有代碼,編譯該工程可以產(chǎn)生可執行 文件。HAL 系統庫工程包含涉及處理器硬件接口的所有信息。系統庫工程依賴(lài)于由SOPC Builder 產(chǎn)生的擴展名為.ptf 的Nios II 處理器系統。 由于該工程的依賴(lài)結構,如果 SOPC Builder 生成的系統改變(即.ptf 文件已修改),則 Nios II IDE 管理HAL 系統庫并且修改驅動(dòng)配置來(lái)正確的反應系統硬件。HAL 系統庫將用戶(hù) 程序與底層硬件變化分離開(kāi)來(lái),這樣,用戶(hù)可以不用考慮自己的程序是否與目標硬件匹配來(lái) 開(kāi)發(fā)和調試代碼,簡(jiǎn)而言之,基于HAL 系統庫的程序和目標硬件是同步的。 由于 HAL 系統庫中包含有各種不同的硬件驅動(dòng),用戶(hù)可以根據特定的設計需要調用 HAL 系統庫中的相應硬件驅動(dòng),從而實(shí)現對不同硬件系統的控制,來(lái)達到可重構設計的目的。本文所設計的基于HAL 系統庫的可重構智能儀器軟件系統如6 示。在系統軟件控制界 面中選擇了某一功能后,該功能就會(huì )調用HAL 程序庫中相應的一些硬件驅動(dòng),從而實(shí)現對 硬件設備的控制。 4 系統分析 基于 FPGA 的可重構智能儀器主要是針對目前測試儀器生產(chǎn)出來(lái)后功能不能改變、維護 費費用過(guò)高、資源浪費嚴重等問(wèn)題。提出基于FPGA 的可重構智能儀器的硬件結構和軟件結 構,實(shí)現了八種不同的功能,借鑒虛擬儀器的思想,開(kāi)發(fā)了基于FPGA 的可重構智能儀器演 示系統,該系統具有A/D 采集、D/A 輸出和開(kāi)關(guān)量控制三種功能。 本文作者創(chuàng )新點(diǎn):基于SOPC技術(shù)進(jìn)行可重構設計;采用了FPGA增強型配置芯片EPC16; 軟件重構采用了應用框架的復用技術(shù)。 |