基于FPGA的可重構智能儀器設計
引言
本文引用地址:http://m.butianyuan.cn/article/150135.htm傳統(tǒng)測試系統(tǒng)由于專用性強、相互不兼容、擴展性差、缺乏通用化、模塊化,不能共享 軟硬件組成,不僅使開發(fā)效率低下,而且使得開發(fā)一套復雜測試系統(tǒng)的價格高昂[1]。 目前,傳統(tǒng)的分析儀表正在更新?lián)Q代,向數(shù)字化,智能化方向邁進[2]。改變以往由儀器 生產(chǎn)廠家定義儀器功能、用戶只能使用的局面,使用戶可自定義儀器、根據(jù)不同測試需求對 儀器進行重構,已經(jīng)成為現(xiàn)代測試技術發(fā)展的一個重要方面。由于其能夠大大減少測試設備 的維修成本、提高資源利用率,可重構儀器技術已引起高度重視。
1 可重構技術
目前對可重構性還沒有形成公認的定義。可重構性一般是指在一個系統(tǒng)中,其硬件模塊 或(和)軟件模塊均能根據(jù)變化的數(shù)據(jù)流或控制流對結構和算法進行重新配置(或重新設置)。
在可重構系統(tǒng)(Reconfigurable System)中,硬件信息(可編程器件的配置信息)也可 以像軟件程序一樣被動態(tài)調用或修改。這樣既保留了硬件計算的性能,又兼具軟件的靈活性。 尤其是大規(guī)??删幊唐骷?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/FPGA">FPGA 的出現(xiàn),實時電路重構思想逐漸引起了學術界的關注[3]???重構的實現(xiàn)技術又很多種方式,包括DSP 重構技術、FPGA 重構、DSP+FPGA 重構、可重 組算法邏輯體系結構、可進化硬件(EHW)、本地重構/Internet 遠程重構、SOPC/SOC 重構。
可重構技術具有以下優(yōu)點:
1)可重構技術能夠高效地實現(xiàn)特定功能??芍貥嬤壿嬈骷隙际怯策B線邏輯,它通過 改變器件的配置來改變功能。2)可重構技術能夠動態(tài)改變器件配置,靈活滿足多種功能的 需求。3)可重構技術適合惡劣工作環(huán)境下的應用。利用可重構邏輯器件的一個優(yōu)勢是不需 要微處理器必需的散熱系統(tǒng),大大減少了電子產(chǎn)品占據(jù)的空間。4)可重構技術具有強大的 技術支持來加速產(chǎn)品開發(fā)。5)可重構技術的使用能夠大大降低系統(tǒng)成本。另外,對于不會 同時被使用的功能,可考慮利用動態(tài)重構技術在不同的需求時段里分別實現(xiàn),做到“一片多 用”,節(jié)省了資源、空間和成本。
2.1 可重構儀器硬件結構
可重構智能儀器技術將先進的微電子技術、半導體技術和微處理器技術引入儀器設計領 域,通過構建通用的硬件平臺,最終由用戶通過選擇不同的軟件來實現(xiàn)不同的儀器功能,因 此軟硬件在可重構儀器設計技術中同樣關鍵。
可重構智能儀器硬件結構由 Nois II 處理器系統(tǒng)(包括可重構FPGA 芯片、FPGA 片外 系統(tǒng))和計算機組成,其硬件結構框圖如圖1 所示。
可重構 FPGA 選用Altera 公司Cyclone II 系列中的EP2C35F672C6 芯片,片外系統(tǒng)主要 包括SDRAM 存儲器、Flash 存儲器、模數(shù)轉換芯片、數(shù)模轉換芯片、EPC16 增強型配置芯 片、MAX232 芯片等組成。片外系統(tǒng)實現(xiàn)數(shù)據(jù)的采集、預處理、存儲和輸出等功能。
2.2 控制核
在基于 FPGA 的可重構智能儀器中,EP2C35F672C6 是整個系統(tǒng)的核心,為了實現(xiàn)FPGA 與其他芯片、器件的正確通信、數(shù)據(jù)交換,需要在FPGA 上配置Nios II 軟核處理器以及其 他控制器核。
(一)Nios II 嵌入式處理器的設置。首先在Quartus II 下建立一個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 個硬斷點、 2 個數(shù)據(jù)觸發(fā)、指令跟蹤和片上系統(tǒng)。整個Debug 模塊將占用2400~2700 個LE,4 個M4K。
?。ǘ┨砑覵DRAM 控制器內核。在SOPC Builder 組件選擇欄中選擇Avalon Components→Memory→SDRAM Controller,加入SDRAM 控制器核,。在Data Width(數(shù)據(jù) 總線寬度)下拉列表框中選擇16Bits,其余設置不變,因為都滿足SDRAM 芯片IS42S16400 的參數(shù)要求。Timing 選項卡的參數(shù)也滿足芯片要求,不必修改。
(三)添加 FLASH 控制器。在對硬件系統(tǒng)進行編程控制時,F(xiàn)lash 用于存儲應用程序。 在SOPC Builder 的組件選擇欄中選擇Avalon Components→Bridge→Avalon Tri-State Bridge, 加入Avalon 三態(tài)總線橋; 在SOPC Builder 的組件選擇欄中選擇AvalonComponents→Memery→Flash Memery(Common Flash Interface),添加CFI 控制器。
?。?四) 定時器設置。在SOPC Builder 組件選擇欄中選擇Avalon Components→Other→Interval timer,加入定時器核。定時器的硬件配置選項會影響定時器的 硬件結構,SOPC 提供了簡單周期中斷配置、完全功能配置和看門狗配置三種硬件配置。
(五)添加 SPI 核。采用的A/D 轉換芯片和D/A 轉換芯片都是基于SPI 總線進行數(shù)據(jù) 傳輸?shù)?,要實現(xiàn)Nios II 系統(tǒng)對轉換芯片的控制必須添加SPI 核。在SOPC Builder 組件選擇 欄中選擇Avalon Components→Communication→SPI(3 Wire Serial),配置SPI 核。由于用到 的模數(shù)轉換芯片AD7810 和數(shù)模轉換芯片AD5611 對于Nios II 系統(tǒng)來說都是從SPI 器件, 所以在FPGA 中添加兩個主SPI 核分別控制A/D 和D/A 轉換芯片。
評論