文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)07-0087-03
信息化、自動(dòng)化、智能化、高集成度已經(jīng)成為當(dāng)今工程技術(shù)領(lǐng)域的發(fā)展趨勢(shì),并廣泛應(yīng)用于各個(gè)領(lǐng)域。可編程片上系統(tǒng)(SoPC)技術(shù)將中央處理器、內(nèi)存、I/O接口以及大型可編程數(shù)字邏輯單元融合到單塊FPGA芯片上,使得整個(gè)系統(tǒng)小型化、集成度高、靈活性強(qiáng)、功耗低且成本低廉。
基樁的低應(yīng)變完整性測試因其簡單易用及較低的成本,被廣泛用于分析和評(píng)價(jià)基樁的工程建造質(zhì)量。大多數(shù)傳統(tǒng)的低應(yīng)變樁身檢測儀器都采用獨(dú)立的單元:包括信號(hào)調(diào)制單元、模數(shù)轉(zhuǎn)換器、存儲(chǔ)器、微控制器及其外圍電路和PC104工控機(jī)。因此,其很難在功耗、成本及抗噪性上令人滿意。本文提出了一種基于以Altera NiosⅡ軟核處理器為核心單元的SoPC的智能低應(yīng)變反射波檢測系統(tǒng)。該系統(tǒng)的硬件結(jié)構(gòu)包括信號(hào)采集單元、存儲(chǔ)器模塊、電源模塊、LCD觸摸屏、USB/UART接口及SoPC模塊Altera CycloneⅡ EP2C8。
1 低應(yīng)變反射波法簡介
大多數(shù)的基樁缺陷檢測都是基于音波回音法,低應(yīng)變反射波法也不例外。在該方法中,通過直徑4~5 cm的小錘敲擊基樁頂部得到震源。再利用基樁上的加速度計(jì)來捕獲記錄加速度的變化情況,進(jìn)而計(jì)算得到速度時(shí)間曲線[1]。其示意圖如圖1所示。
圖1中橫坐標(biāo)為速度,縱坐標(biāo)為時(shí)間。該測試記錄能反映出震源波在樁內(nèi)的運(yùn)動(dòng)情況。根據(jù)一維波理論,聲波信號(hào)的幅度是一個(gè)與基樁阻抗相關(guān)的函數(shù)。因此,基樁的長度及缺陷的位置便可由式(1)計(jì)算得到。
2 系統(tǒng)組成與設(shè)計(jì)原理
根據(jù)上述介紹,不難得知系統(tǒng)設(shè)計(jì)的關(guān)鍵便是獲取低應(yīng)變反射波的波速及模數(shù)轉(zhuǎn)換器的采樣頻率。整個(gè)系統(tǒng)由加速度傳感器、信號(hào)采集單元、SoPC模塊、電源模塊及其他外設(shè)電路組成,如圖2。
將加速度傳感器按照規(guī)范要求,安裝在樁頭磨好的位置,用黃油等介質(zhì)進(jìn)行耦合。用手持小錘進(jìn)行敲擊后,進(jìn)入檢測進(jìn)程。首先由信號(hào)采集單元收集加速度傳感器的輸出信號(hào),信號(hào)經(jīng)過與加速度傳感器輸出端并聯(lián)的電阻處理,由電流信號(hào)變?yōu)殡妷盒盘?hào),并通過濾波器處理濾掉高頻噪音后,經(jīng)模數(shù)轉(zhuǎn)換器捕獲超過閾值電壓的信號(hào),并將轉(zhuǎn)換后的信號(hào)存儲(chǔ)到外部閃存中。最后由控制核心模塊讀取閃存中的數(shù)值并進(jìn)行數(shù)據(jù)處理,將采集到的反射波形顯示到系統(tǒng)的觸摸顯示屏上。并可通過USB/UART接口,將這些數(shù)據(jù)傳輸給PC機(jī)。
3 系統(tǒng)的硬件設(shè)計(jì)
3.1 SoPC模塊設(shè)計(jì)
基于Cyclone Ⅱ FPGA EP2C8的SoPC模塊是整個(gè)系統(tǒng)的核心。如圖3所示,NiosⅡ軟核處理器通過定義了主從設(shè)備之間接口與通信時(shí)序的Avalon交換式總線連接多個(gè)IP核[3]。SoPC Builder也支持在設(shè)計(jì)中整合自定義的IP核。
根據(jù)系統(tǒng)結(jié)構(gòu)需求,IP核的設(shè)計(jì)如下:
NiosⅡ/經(jīng)濟(jì)型軟核處理器:SoPC Builder中包含三種可選的軟核處理器[4]。NiosⅡ/經(jīng)濟(jì)型軟核處理器具備最小的體積,完全能滿足本設(shè)計(jì)的應(yīng)用需求。
片上存儲(chǔ)器:EP2C8 FPGA提供165 888 bit的RAM內(nèi)存,共計(jì)36個(gè)M4k的存儲(chǔ)塊。
定時(shí)器模塊提供了系統(tǒng)所需的時(shí)鐘中斷。
并行輸入輸出模塊(PIO)通過2 bit的二進(jìn)制信號(hào)來控制濾波器的截止頻率,并負(fù)責(zé)檢測觸發(fā)信號(hào)。
串行外設(shè)接口(SPI)作為從屬設(shè)備來與模數(shù)轉(zhuǎn)換器通信。
通用異步收發(fā)器(UART)提供了人機(jī)交互接口。反射波數(shù)據(jù)經(jīng)過采集和調(diào)制后,可以通過USB-UART轉(zhuǎn)換芯片CP2102將其由SoPC模塊上傳至電腦做進(jìn)一步的處理。這里,USB接口可被視作一個(gè)虛擬的通用異步收發(fā)器來訪問。
LCD模塊用來控制分辨率為320×240的液晶觸摸屏,其參數(shù)可自行定制。
EPCS、CFI和SDRAM控制器的作用是控制外圍擴(kuò)展存儲(chǔ)器。EPCS控制器在系統(tǒng)啟動(dòng)時(shí)從EPCS4(串行配置芯片)下載硬件配置文件到FPGA。CFI(通用閃存接口)控制器具備32 Mb的Avalon接口(S29AL032),SDRAM控制器同樣也具備64 Mb的Avalon接口,為訪問存儲(chǔ)器提供了便利。系統(tǒng)運(yùn)行中,閃存存儲(chǔ)配置文件,而SDRAM存儲(chǔ)各類數(shù)據(jù)。
所有的模塊將由用戶或SoPC Builder指派不同的地址。NiosⅡ處理器通過Avalon總線訪問這些模塊或外部設(shè)備。
3.2 信號(hào)采集模塊
選擇用于低應(yīng)變反射波檢測系統(tǒng)的加速度傳感器,必須使其與小錘在敲擊后產(chǎn)生的反射波的頻率匹配。一般來說,用于基樁無損檢測的有效信號(hào)頻率為0~2 kHz,加速度傳感器LC0104T正好滿足這個(gè)條件,其敏感度為100 mV/g,量程為50 g,且頻率范圍達(dá)到9 kHz,安裝諧振點(diǎn)為27 kHz?;赟oPC的信號(hào)采集模塊信道噪聲低,精度高,如圖4。
加速度傳感器的輸出端與20 kΩ的電阻并聯(lián),將電流信號(hào)轉(zhuǎn)換成毫伏級(jí)的電壓信號(hào)。在信號(hào)傳輸過程中,用二階有源巴特沃斯低通濾波器來優(yōu)化信號(hào),并過濾掉高頻噪聲。NiosⅡ通過PIO可以控制4個(gè)可編程中斷的頻率,分別是500 Hz、1 kHz、2 kHz和4 kHz。
AD7764是一種高性能、高速率、24位的Σ-Δ型A/D轉(zhuǎn)換器,融合了寬輸入帶寬、高速率的特性,312 kHz輸出數(shù)據(jù)速率時(shí)動(dòng)態(tài)范圍為109 dB,并且與FPGA有著靈活的SPI接口(SCO、nFSO、SDO、SDI)。FPGA中50 MHz的外部時(shí)鐘信號(hào)可通過鎖相環(huán)分頻輸出20 MHz時(shí)鐘信號(hào),以此驅(qū)動(dòng)AD7764的MCLK,并使A/D轉(zhuǎn)換器的nRESET端口在每個(gè)MCLK時(shí)鐘周期中被置低,這樣,NiosⅡ就可以通過SPI從模塊讀取包括24位轉(zhuǎn)換數(shù)據(jù)的32位信號(hào)。
為了記錄整個(gè)波形,低應(yīng)變反射波的采樣流程如下:通過LCD觸摸屏發(fā)出采集信號(hào)指令,當(dāng)觸發(fā)器偵測到通過濾波器的輸入信號(hào)的電壓達(dá)到閾值電壓時(shí),便傳送給NiosⅡ處理器一個(gè)低電平到高電平的跳變信號(hào),NiosⅡ處理器馬上記錄此閾值電壓信號(hào)的存儲(chǔ)地址。A/D轉(zhuǎn)換器開始捕獲1 024個(gè)采樣的輸入信號(hào),NiosⅡ?qū)?4位轉(zhuǎn)換數(shù)據(jù)寫入外部閃存S29AL032中。最終,通過對(duì)加速度傳感器的數(shù)據(jù)處理,整個(gè)波形就可以用多個(gè)這樣的存儲(chǔ)地址中的數(shù)據(jù),通過式(3)復(fù)原。
4 系統(tǒng)的軟件設(shè)計(jì)
4.1 基于NiosⅡ IDE的軟件開發(fā)
此開發(fā)環(huán)境可在進(jìn)行軟件設(shè)計(jì)時(shí),自動(dòng)根據(jù)NiosⅡ處理器系統(tǒng)的需求生成開發(fā)向?qū)?,包括:硬件抽象層、可調(diào)節(jié)的實(shí)時(shí)操作系統(tǒng)和設(shè)備驅(qū)動(dòng)[5],避免了手動(dòng)設(shè)置帶來的不便,從而節(jié)省了時(shí)間,縮短了開發(fā)周期?;赟oPC平臺(tái)NiosⅡ處理器的軟件開發(fā)環(huán)境有了很大的發(fā)展,整個(gè)軟件系統(tǒng)由分別實(shí)現(xiàn)不同軟件功能的模塊組成,模塊包括:主程序模塊、中斷子程序、A/D轉(zhuǎn)換子程序、數(shù)據(jù)處理子程序、LCD顯示屏控制程序和觸摸子程序。圖5是整體軟件設(shè)計(jì)的流程。
開始初始化后,對(duì)樁長等參數(shù)進(jìn)行設(shè)置,然后通過觸摸屏中斷的方式選擇相應(yīng)的中斷子程序。收到觸發(fā)信號(hào)并開始檢測后,信號(hào)采集模塊將加速度傳感器輸出的信號(hào)與閾值電壓進(jìn)行比較,把有用的信號(hào)經(jīng)A/D轉(zhuǎn)換存儲(chǔ)到寄存器中。在采集信號(hào)存儲(chǔ)完后,通過觸摸屏選擇數(shù)據(jù)處理中斷子程序功能,開始對(duì)寄存器中的數(shù)據(jù)按第1部分中提到的算法進(jìn)行處理,并將波形結(jié)果顯示在觸摸顯示屏上。并可由觸摸屏選擇USB接口中斷子程序,將所有數(shù)據(jù)上傳給PC機(jī),做進(jìn)一步的分析和計(jì)算。
4.2 μClinux操作系統(tǒng)的移植
將μClinux移植到SoPC模塊中,可以使系統(tǒng)表現(xiàn)出完好的實(shí)時(shí)性和穩(wěn)定性。μClinux操作系統(tǒng)可以和沒有內(nèi)存管理單元(mmu)的NiosⅡ處理器兼容,并且可以下載到嵌入式硬件平臺(tái)中[6]。
首先,在Linux Developer Bash開發(fā)環(huán)境中配置和構(gòu)建內(nèi)核。建立映像文件和linux.flash,生成的linux.flash文件即為μClinux的內(nèi)核映像。將linux.flash文件下載到SoPC模塊中,完成內(nèi)核映像的加載。
除了裝載內(nèi)核,還要裝載根文件系統(tǒng)。μClinux使用romfs文件系統(tǒng),比一般的ext2文件系統(tǒng)需求空間更小。在宿主機(jī)Linux的target目錄為μClinux下的根目錄,用當(dāng)前的腳本和工具將其轉(zhuǎn)換成映像文件romdisk.flash。然后根據(jù) userland/.config文件中相應(yīng)變量的指示將應(yīng)用程序二進(jìn)制拷貝到target目錄中,將應(yīng)用程序加載到文件系統(tǒng)中并更新romdisk.flash文件,最后下載romdisk.flash文件到SoPC模塊中。這樣,就可以將μClinux操作系統(tǒng)及應(yīng)用程序成功地移植到SoPC模塊。
本系統(tǒng)充分利用SoPC的高集成性和靈活性,將復(fù)雜的電子系統(tǒng)簡單化、小型化,不僅節(jié)約了開發(fā)成本也更適應(yīng)綠色電子產(chǎn)品低功耗、耗材少的要求。
經(jīng)實(shí)際測試,用本系統(tǒng)檢測一根樁長為5 m的基樁,數(shù)據(jù)采集和處理正常,能通過預(yù)設(shè)的軟件將結(jié)果顯示在觸摸屏上(如圖6所示)。并能成功地與PC機(jī)進(jìn)行傳輸,將采集的波形送至PC機(jī)進(jìn)行進(jìn)一步的分析。測試表明系統(tǒng)具有方便易用、可裁剪性強(qiáng)、擴(kuò)展方便等特點(diǎn),具有廣泛的市場前景。
參考文獻(xiàn)
[1] CHOW Y K, PHOON K K. Low strain integrity testing of piles: three-dimensional effects[J]. Geotech Geoenviron Eng, ASCE, 2003, 129(11):1057-1062.
[2] NI Sheng Huoo, LEHMANN L. Low-strain integrity testing of drilled piles with high slenderness ratio. Computers and Geotechnics, 2006,33(9):283-293.
[3] 李蘭英. SoPC設(shè)計(jì)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社, 2006.
[4] Altera Corporation. NiosⅡ Processor Reference Handbook. http://www.altera.com.cn/literature/lit-nio2.jsp, 2009.
[5] Altera Corporation. NiosⅡ Software Developer's Handbook. http://www.altera.com.cn/litera.com.cn/literature/lit-nio2.jsp, 2009.
[6] 殷偉鳳, 胡錫偉. 基于μClinux的SoPC應(yīng)用系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2005(7).