新聞中心

EEPW首頁 > 模擬技術(shù) > 設計應用 > 基于NiosII的便攜式超聲波流量計設計

基于NiosII的便攜式超聲波流量計設計

作者: 時間:2011-02-15 來源:網(wǎng)絡 收藏

系統(tǒng)超聲波換能器驅(qū)動信號是由微處理器產(chǎn)生的,微處理器產(chǎn)生一個200 kHz的矩形脈沖信號,經(jīng)光耦隔離后進入功率放大電路。根據(jù)換能器的特點,該矩形脈沖信號占空比為2%。超聲波換能器激勵信號如圖3所示。

本文引用地址:http://butianyuan.cn/article/187622.htm

d.JPG


2.2 超聲波信號處理電路
超聲發(fā)射換能器發(fā)射的超聲波信號,經(jīng)過管壁和流體,衰減比較大,因此超聲波接收換能器接收的信號比較微弱,通常只為幾十mV數(shù)量級,這時放大器的噪聲對測量精度的影響也比較大。同時,由于中使用的超聲波頻率較高,所以要求運算放大的增益帶寬積足夠高,因此該級電路采用低噪聲高速運算放大器。本系統(tǒng)中選用MAX410作為放大器。
工作的過程中,由于振動、流動及工業(yè)現(xiàn)場的管道噪聲和變頻設備的電噪聲等電子干擾,會引起周期性的噪聲信號出現(xiàn),并導致在相關(guān)圖上出現(xiàn)周期性波峰。當其疊加到流動噪聲的相關(guān)曲線上,會使真實的渡越時間對應的波峰不明顯,甚至被其他的波峰掩蓋,無法得到正確的測量結(jié)果。通過低噪聲高速運算放大器對信號進行放大后還需要對信號進行濾波。本系統(tǒng)中的濾波電路為帶通濾波。系統(tǒng)中換能器發(fā)射接收的超聲波中心頻率為200 kHz,所以需要設計一個中心頻率為200 kHz的帶通濾波器,它可以使200 kHz的超聲波信號順利地通過,而阻止或衰減非200 kHz的超聲波信號及其他干擾信號。
另外,超聲波信號在管道中傳輸時,由于各個聲道長度不同,傳感器特性存在差異,氣體介質(zhì)不同以及測量時氣體流速的變化,導致每次測量時傳感器接收信號的幅度也不同。為了后端進行高精度的計時,需要自動增益控制對接收信號的大小進行調(diào)節(jié),使接收信號有一個穩(wěn)定的幅度,從而滿足系統(tǒng)測量高精度的要求。

3 數(shù)字電路設計部分
3.1 概述
本系統(tǒng)數(shù)字電路設計部分的核心是FPGA。在本系統(tǒng)中FPGA主要實現(xiàn)兩部分功能:一是實現(xiàn)高精度計時,為準確測量流速提供保證;二是通過構(gòu)建軟核CPUNioslI來實現(xiàn)對整個系統(tǒng)的控制。本系統(tǒng)選用Altera公司Cyclone II系列的EP2C8Q208C8N芯片。
關(guān)于計時這里不再贅述,主要就是通過MEGA WIZARD調(diào)用PLL模塊實現(xiàn)倍頻到200 MHz然后供給計數(shù)器模塊來計數(shù),計數(shù)結(jié)果通過移位寄存器來上傳給CPU,再通過CPU處理后傳給上位機。
是32位RISC嵌入式處理器,它是Altera公司的第二代FPGA嵌入式處理器,其性能超過200DMIPS,在Altera FPGA中實現(xiàn)僅需35美分。特別是,NioslI系列支持使用專用指令。專用指令是用戶增加的硬件模塊,它增加了算術(shù)邏輯單元(ALU)。用戶能為系統(tǒng)中使用的每個處理器創(chuàng)建多達256個專用指令,這使得設計者能夠細致地調(diào)整系統(tǒng)硬件以滿足性能目標。系列支持60多個外設選項,開發(fā)者能夠選擇合適的外設,獲得最合適的處理器、外設和接口組合,而不必支付根本不使用的硅片功能?;谄淝度胧降奶攸c以及其成本,NiosII特別適用于儀表方面的應用。
3.2 SOPC的硬件構(gòu)建
通過Quartus中的SOPC Builder來構(gòu)建SOPC系統(tǒng)。首先要添加一個CPU。為了節(jié)省片上資源,選用經(jīng)濟型的CPU,外部晶振是50 MHz。程序運行內(nèi)存直接選用0n-Chip Memory,因為EP2C8Q208C8N片上的RAM空間大概有20 KB左右,通過優(yōu)化,片上內(nèi)存完全能夠滿足程序的需要,這樣就不必添加外接的SDRAM芯片,減少了PCB板的面積,大大降低了成本。代碼優(yōu)化方法是通過NioslI IDE里面的System Library Proper-ties來設置:依次選中Program Never Exit,Small C Library,Reduced Device Drivers,Lightweight Device Drivers API,取消選中
Support C++并設定Optimize Size為-0s級,這樣就可以有效的縮減程序代碼。
另外,為了向上位機傳遞測試數(shù)據(jù),需要添加UART。這里添加的UART只是一個協(xié)議,與上位機實現(xiàn)通信,還需要在外圍添加電平轉(zhuǎn)換芯片MAX232以實現(xiàn)與上位機的正常通信。
為保證系統(tǒng)正常運行,添加內(nèi)部定時器實現(xiàn)看門狗功能,另外需要添加的就是一些PIO接口。能夠產(chǎn)生中斷的PIO口注意要分給一定的中斷號。CPU的Reset Vectot。地址和Exception Vector地址都設為On-Chip Memory,并讓系統(tǒng)自動分配基地址以及中斷。點擊Generate生成整個SOPC,圖4即為整個SOPC的構(gòu)成圖。

e.JPG


3.3 用Niosll IDE編寫整個系統(tǒng)的控制程序
NiosII IDE(Integrated Development Environment,集成開發(fā)環(huán)境)提供了完整的C/C++軟件開發(fā)套件,包括編輯器、項目管理器和構(gòu)建工具、調(diào)試器和兼容CFI(Common Flash Interface)的Flash編程器。調(diào)試器連接多種目標系統(tǒng),包括FPGA硬件(通過JTAG電纜)、NioslI指令集仿真器和Modelsim-Altera軟件,因而能夠提供最靈活的調(diào)試方案。
為了方便用戶編程,NiosII為用戶提供了設備驅(qū)動程序,也就是硬件驅(qū)動層數(shù)據(jù)庫HAL。軟件編寫人員只要利用HAL提供的各種函數(shù)就能編寫應用程序,從而方便地與底層硬件進行通信,而無需關(guān)心底層硬件的實現(xiàn)細節(jié)。HAL系統(tǒng)庫可在IDE創(chuàng)建一個新工程時,由系統(tǒng)自動生成。



關(guān)鍵詞: NiosII 便攜式 超聲波流量計

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉