999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

超聲相控陣系統(tǒng)數(shù)據(jù)傳輸?shù)年P(guān)鍵技術(shù)

2016-03-16 02:39:00施成龍師芳芳張碧星
無損檢測 2016年2期
關(guān)鍵詞:檢測系統(tǒng)

施成龍,師芳芳,張碧星

(中國科學(xué)院聲學(xué)研究所 聲場聲信息國家重點(diǎn)實(shí)驗(yàn)室,北京 100190)

?

超聲相控陣系統(tǒng)數(shù)據(jù)傳輸?shù)年P(guān)鍵技術(shù)

施成龍,師芳芳,張碧星

(中國科學(xué)院聲學(xué)研究所 聲場聲信息國家重點(diǎn)實(shí)驗(yàn)室,北京 100190)

摘要:超聲相控陣檢測技術(shù)有著較高的靈敏度、分辨率和信噪比,是目前無損檢測領(lǐng)域的熱點(diǎn)。為了提高超聲相控陣檢測速度,對于超聲相控陣系統(tǒng)數(shù)據(jù)傳輸?shù)年P(guān)鍵技術(shù)進(jìn)行了探討。介紹了自行開發(fā)的超聲相控陣系統(tǒng)結(jié)構(gòu),對決定超聲相控陣系統(tǒng)數(shù)據(jù)傳輸速度的三個因素:數(shù)據(jù)總線、硬件驅(qū)動、數(shù)據(jù)讀取程序進(jìn)行了說明與分析。選擇高速數(shù)據(jù)傳輸總線PCI總線為數(shù)據(jù)總線,使用DriverStudio開發(fā)高效的PCI總線驅(qū)動,并采用多核多線程技術(shù)提高數(shù)據(jù)讀取程序的效率。試驗(yàn)表明,采用PCI總線技術(shù)和多核編程開發(fā)超聲相控陣系統(tǒng)數(shù)據(jù)傳輸模塊,能提高系統(tǒng)數(shù)據(jù)傳輸速度,從而提高檢測速度。

關(guān)鍵詞:超聲相控陣;PCI總線;DriverStudio;多核編程

超聲相控陣技術(shù)能夠動態(tài)地進(jìn)行聚焦發(fā)射和聚焦接收,因此具有較高的靈敏度、分辨率和信噪比,是目前無損檢測領(lǐng)域的研究熱點(diǎn)。與傳統(tǒng)的超聲檢測技術(shù)相比,超聲相控陣技術(shù)在分辨率、信噪比、缺陷檢出率等方面的性能都得到了提高。因此,在無損檢測領(lǐng)域中,超聲相控陣系統(tǒng)有著極大的發(fā)展前景[1-2]。

隨著對于超聲相控陣檢測速度與檢測精度要求的提高,超聲相控陣檢測系統(tǒng)的獨(dú)立通道數(shù)和數(shù)據(jù)傳輸率也隨之增加。因此,超聲相控陣系統(tǒng)數(shù)據(jù)傳輸部分性能在很大程度上決定超聲相控陣系統(tǒng)的性能。國內(nèi)市場較高端的相控陣系統(tǒng),如汕頭超聲儀器所的CTS-602超聲相控陣檢測儀和武漢中科創(chuàng)新公司開發(fā)的HS PA20相控陣超聲波檢測儀,它們的最大掃描重復(fù)頻率為5 kHz。國外市場較高端的相控陣系統(tǒng),如Olympus公司研發(fā)的TomoScan Ⅲ檢測儀器的最大數(shù)據(jù)傳輸速率為5 MB·s-1,Zetec公司研發(fā)的DYNARY檢測儀器的最大數(shù)據(jù)傳輸速率為20 MB·s-1,M2M公司研發(fā)的MultiX++檢測儀器的最大數(shù)據(jù)傳輸速率為30 MB·s-1。

為了提高超聲相控陣系統(tǒng)的檢測速度,筆者基于自行開發(fā)的超聲相控陣系統(tǒng),詳細(xì)討論了超聲相控陣系統(tǒng)數(shù)據(jù)傳輸部分的實(shí)現(xiàn)方式和優(yōu)化方案。

1超聲相控陣系統(tǒng)結(jié)構(gòu)

圖1所示為自行開發(fā)的超聲相控陣系統(tǒng)結(jié)構(gòu)框圖,多個數(shù)據(jù)采集板將采集得到的超聲回波數(shù)據(jù)通過數(shù)據(jù)總線上傳給主機(jī)板,主機(jī)板顯控軟件對得到的數(shù)據(jù)進(jìn)行成像顯示和分析。

圖1 超聲相控陣系統(tǒng)結(jié)構(gòu)框圖

在這樣的結(jié)構(gòu)中,若數(shù)據(jù)總線傳輸速率較慢,或數(shù)據(jù)總線接口硬件驅(qū)動效率不夠高,或主機(jī)板不能及時(shí)通過驅(qū)動程序取出數(shù)據(jù),都會導(dǎo)致超聲相控陣系統(tǒng)檢測速度的降低。因此,在這種結(jié)構(gòu)的超聲相控陣系統(tǒng)中,數(shù)字板與主機(jī)板間的數(shù)據(jù)總線、軟硬件接口的硬件驅(qū)動、數(shù)據(jù)讀取部分程序結(jié)構(gòu)至關(guān)重要。

在眾多的高速實(shí)時(shí)數(shù)據(jù)傳輸解決方案中,USB 2.0傳輸速率可達(dá)60 MB·s-1,PCI- Express總線數(shù)據(jù)傳輸速率達(dá)16 GB·s-1,32位PCI總線數(shù)據(jù)傳輸速率達(dá)133 MB·s-1[3]。USB 2.0的CPU占用率較高,不適用于超聲相控陣系統(tǒng)。PCI及PCI-Express總線均滿足超聲相控陣系統(tǒng)數(shù)據(jù)傳輸速率的要求,但目前PCI-Express通用性沒有PCI好,而PCI總線接口則是超聲相控陣系統(tǒng)使用較為廣泛的數(shù)據(jù)接口[4-6],因此筆者選擇PCI總線做為上述超聲相控陣系統(tǒng)的數(shù)據(jù)總線。

2PCI總線驅(qū)動開發(fā)

PCI驅(qū)動程序開發(fā)工具主要有三種:DDK(Device Development Kit)、WinDriver與DriverStudio。DDK是微軟提供的一套用于開發(fā)Windows下設(shè)備驅(qū)動程序的工具包,雖然用其開發(fā)的程序執(zhí)行效率高,但開發(fā)難度大,開發(fā)周期長。WinDriver是Jungo公司開發(fā)的驅(qū)動程序開發(fā)組件,具有開發(fā)驅(qū)動難度較低,花費(fèi)時(shí)間少的特點(diǎn),開發(fā)者只需定制和調(diào)用它提供的通用驅(qū)動,但是程序的執(zhí)行效率不高。DriverStudio是一套NuMega公司為簡化Windows設(shè)備驅(qū)動程序和應(yīng)用程序的開發(fā)而提供的軟件工具包,它的函數(shù)庫封裝了針對驅(qū)動程序的各種通用操作,大大減少了驅(qū)動程序的代碼長度;而由于它開發(fā)的驅(qū)動程序本質(zhì)上是在調(diào)用DDK庫函數(shù),所以執(zhí)行效率與DDK相當(dāng)[7]。

因此,筆者選擇DriverStudio來開發(fā)超聲相控陣數(shù)據(jù)總線驅(qū)動。

2.1 PCI總線驅(qū)動開發(fā)步驟

使用DriverStudio開發(fā)PCI驅(qū)動主要有三個步驟。

2.1.1利用DriverWizard生成PCI總線設(shè)備硬件驅(qū)動框架

DriverWizard是創(chuàng)建驅(qū)動程序框架的工具,能較簡單地對需要的功能設(shè)置框架,方便用戶添加功能代碼。關(guān)鍵步驟如下:

(1) 第4步——選擇設(shè)備的總線類型并填寫硬件類型

所要開發(fā)的是PCI接口芯片PLX9656的驅(qū)動,因此這里選擇PCI總線。PCI Vendor ID是廠商標(biāo)識符,為10B5;PCI Device ID是設(shè)備標(biāo)識符,為9656;PCI Subsystem ID為子系統(tǒng)ID號,為965610B5;PCI Revision ID是修訂號,為BA。

(2) 第9步——選擇設(shè)備文件類名和接口

在Resources項(xiàng)中,選擇需要被使用的硬件資源,如存儲空間,I/O空間,中斷和DMA等。在文章中需要用到的資源有:基地址為0的存儲空間、基地址為2的存儲空間、中斷和DMA。

在Interface中,可以選擇應(yīng)用程序打開設(shè)備的方式:用GUID接口或符號鏈接名。GUID是一種說明軟件訪問硬件過程的命名方案,一個128位GUID唯一標(biāo)識一個設(shè)備接口。若使用GUID,接口方式必須是每一個數(shù)字板都對應(yīng)一個唯一GUID標(biāo)識的驅(qū)動,這意味著驅(qū)動無法復(fù)用。而符號鏈接名(Symbolic link name)的主要用途是把DOS(Disk Operating System, 磁盤操作系統(tǒng))形式的名稱鏈接到設(shè)備上。當(dāng)多塊相同配置的PCI板卡插入PCI插槽時(shí),可以使用同一個PCI驅(qū)動,因此選擇符號鏈接名的方式。

(3) 第10步——定義驅(qū)動與應(yīng)用程序之間通信的DeviceIoControl控制代碼

需要使用驅(qū)動來完成對硬件設(shè)備寄存器與DMA讀寫的操作。最后一步選擇生成與驅(qū)動通信的應(yīng)用程序,單擊Finish完成驅(qū)動程序框架。

2.1.2在已完成的驅(qū)動框架中添加功能代碼

(1) 內(nèi)存的訪問

KMemoryRange類封裝了對于內(nèi)存的操作,實(shí)現(xiàn)對內(nèi)存映射芯片的訪問。在生成的驅(qū)動框架中已經(jīng)完成對于資源的定義、初始化及卸載,只需要在DeviceIoControl控制代碼函數(shù)中加入對于資源的讀寫即可。

(2) 中斷處理

KInterrupt類實(shí)現(xiàn)硬件中斷處理。其成員函數(shù)包括中斷的初始化,將一個中斷服務(wù)例程連接到中斷和解除其連接等操作。

在中斷服務(wù)例程中,首先判斷該中斷是否為需要處理的中斷,若不是,返回False;若是,進(jìn)行必要的處理,請求一個DPC(Deferred Procedure Call, 延遲過程調(diào)用),然后返回True。這里需要處理的是DMA中斷,因此Isr_Irq函數(shù)判斷的是中斷寄存器(PCI9656中為0x68)的某個特定位是否為1。

在驅(qū)動程序停止前,需要調(diào)用KInterrupt成員函數(shù)來斷開中斷并釋放資源。

(3) DMA傳輸

DriverWorks提供了三個類:KDmaAdapter、KDmaTransfer和KCommonDmaBuffer類,用于實(shí)現(xiàn)DMA操作。KDmaAdapter類用于建立一個DMA適配器,它說明DMA通道的特性。KDmaTransfer類用于DMA傳輸控制。KCommonDmaBuffer類用于申請系統(tǒng)提供的公用緩沖區(qū)。具體參數(shù)的定義與初始化在驅(qū)動框架中提供。

第一步在SerialRead/SerialWrite中啟動DMA讀寫傳輸;第二步,獲取要傳輸?shù)奈锢韮?nèi)存的地址和字節(jié)數(shù),調(diào)用StartDMA例程;第三步,DMA傳輸結(jié)束后,產(chǎn)生中斷,Isr_Irq例程處理并清除中斷后,請求DqcFor_Irq例程;第四步,DMA結(jié)束,完成IRP(I/O Request Package, 輸入輸出請求)。

如此四步,完成DMA傳輸。

2.1.3調(diào)用驅(qū)動程序完成所需功能

需要對多塊超聲回波信號數(shù)據(jù)采集板進(jìn)行寄存器讀寫和DMA讀寫,因此需要開發(fā)應(yīng)用程序,其框架如圖2所示。

圖2 調(diào)用驅(qū)動應(yīng)用程序結(jié)構(gòu)

(1) 打開設(shè)備

由于驅(qū)動框架生成過程中選擇的是通過符號鏈接名的方法打開設(shè)備,因此當(dāng)所有數(shù)字板都裝上生成的驅(qū)動后,板卡命名規(guī)律是“PCI9656Device+數(shù)字位”,其中數(shù)字位根據(jù)板卡數(shù)目自動加1,如第1塊板卡的符號鏈接名是“PCI9656Device 0”,第2塊板卡就是“PCI9656Device 1”,依此類推,第N塊板卡是“PCI9656DeviceN-1”。通過CreateFile函數(shù)得到驅(qū)動句柄。

(2) 訪問設(shè)備資源

通過DeviceIoControl函數(shù)與WDM驅(qū)動進(jìn)行通信,對其進(jìn)行設(shè)置寄存器和DMA地址的操作。

使用ReadFile和WriteFile函數(shù)進(jìn)行讀寫DMA的操作,由于ReadFile/WriteFile有固定的輸入?yún)?shù),因此DMA地址如果不固定的話,需要由DeviceIoControl函數(shù)進(jìn)行修改。

(3) 關(guān)閉設(shè)備

通過CloseHandle函數(shù)關(guān)閉設(shè)備。

2.2 驅(qū)動測試

采用DriverStudio開發(fā)的PCI9656驅(qū)動能夠正確地讀寫設(shè)備資源,并且DMA讀寫的最大傳輸速率為112 MB·s-1。

3數(shù)據(jù)讀取部分程序結(jié)構(gòu)及優(yōu)化方案

數(shù)據(jù)讀取部分程序即為主機(jī)板通過調(diào)用PCI驅(qū)動讀取超聲回波數(shù)據(jù)的程序。這部分程序的效率十分重要,如果讀取不及時(shí),會導(dǎo)致硬件緩存被采集數(shù)據(jù)占滿而造成溢出。通常該程序的結(jié)構(gòu)為簡單易調(diào)試的串行結(jié)構(gòu),如圖3所示。

圖3 串行結(jié)構(gòu)流程圖

這種結(jié)構(gòu)的好處是DMA讀寫會自行阻塞,邏輯簡單,容易調(diào)試。但由于是依次串行讀取數(shù)據(jù),讀完任意一塊數(shù)據(jù)采集板的數(shù)據(jù)后,需要等待讀取n-1塊其他板卡所消耗的時(shí)間,才能再次讀取同一塊數(shù)字板上的數(shù)據(jù)。因此,當(dāng)數(shù)據(jù)采集板個數(shù)變多時(shí),等待的時(shí)間會過長,以至于不能及時(shí)讀取數(shù)據(jù)采集板上的數(shù)據(jù)。此時(shí)得到的數(shù)據(jù)將會發(fā)生錯位、解析錯誤等一系列問題,無法進(jìn)行正確的成像處理。

為了提高效率,采用多線程的并行結(jié)構(gòu)來解決這個問題[8],如圖4所示。

圖4 并行結(jié)構(gòu)流程圖

如圖4所示,每一個板卡對應(yīng)一個數(shù)據(jù)獲取線程,如此則可以解決板卡過多而造成的等待時(shí)間過長的問題。但是這樣會產(chǎn)生另一個問題,即如果線程數(shù)大于系統(tǒng)處理器的運(yùn)算核心數(shù)時(shí),運(yùn)算核心會在多個線程之間進(jìn)行切換,而導(dǎo)致程序運(yùn)行效率的降低。

多核技術(shù)作為新世紀(jì)的前沿技術(shù),它能夠在硬件資源不變的基礎(chǔ)上,最大程度地提高程序運(yùn)行效率。采用多核技術(shù),將多個線程分配到固定處理器核心中,能解決核心在線程中切換的問題,從而提高程序運(yùn)行的極限參數(shù)。

筆者采用的處理器運(yùn)算核心數(shù)為2,總共有6個板卡,可以編程實(shí)現(xiàn)兩個線程,每個線程串行處理3個板卡的數(shù)據(jù),并利用多核技術(shù)將這兩個線程分配到其對應(yīng)的運(yùn)算核心中,測試結(jié)果如表1所示。

從表1可看出,將讀取數(shù)據(jù)程序從串行結(jié)構(gòu)修改為并行結(jié)構(gòu)后,程序的極限參數(shù)反而降低了,這是由于雙核心在6個線程上切換從而降低了程序運(yùn)行效率;而在使用多核技術(shù)編程后,程序的性能得到了比較大的提高。

表1 不同程序結(jié)構(gòu)的極限參數(shù)

4結(jié)語

介紹了自行開發(fā)的超聲相控陣系統(tǒng)結(jié)構(gòu),對決定超聲相控陣系統(tǒng)數(shù)據(jù)傳輸速度的三個因素:數(shù)據(jù)總線、硬件驅(qū)動、數(shù)據(jù)讀取程序進(jìn)行了分析,選擇高速數(shù)據(jù)傳輸總線PCI總線為數(shù)據(jù)總線,使用DriverStudio開發(fā)高效的PCI總線驅(qū)動,并采用多核多線程技術(shù)提高數(shù)據(jù)讀取程序效率。結(jié)果表明,采用PCI總線技術(shù)和多核多線程技術(shù)開發(fā)超聲相控陣系統(tǒng)數(shù)據(jù)傳輸模塊,能提高系統(tǒng)數(shù)據(jù)傳輸速度從而提高檢測速度,對于超聲無損檢測有著較好的實(shí)用價(jià)值。

參考文獻(xiàn):

[1]鐘志民,梅德松.超聲相控陣技術(shù)的發(fā)展及應(yīng)用[J].無損檢測, 2002,24(2):69-71.

[2]潘亮,董世運(yùn),徐濱士,等.相控陣超聲檢測技術(shù)研究與應(yīng)用概況[J].無損檢測, 2013,35 (5):26-29.

[3]尹勇,李宇.PCI 總線設(shè)備開發(fā)寶典[M].北京:北京航空航天大學(xué)出版社, 2005.

[4]鮑曉宇,施克仁,陳以方,等.超聲相控陣系統(tǒng)中相控發(fā)射與同步的實(shí)現(xiàn)[J].無損檢測, 2003,25(10):507-510.

[5]李勁松,葉琛,梅德松.超聲波檢測數(shù)據(jù)高速采集和傳輸技術(shù)的研究[J].無損檢測, 2003,25(8):395-398.

[6]高松巍,黃紹博,楊理踐.鋼板應(yīng)力集中區(qū)域的磁檢測[J].無損檢測, 2013,35(2):38-41.

[7]楊波.基于PCI總線的WDM驅(qū)動程序開發(fā)研究[D].長沙:國防科學(xué)技術(shù)大學(xué), 2007:10.

[8]許藥林,朱晛,徐大專.超聲相控陣成像系統(tǒng)軟件設(shè)計(jì)[J].無損檢測, 2013,35(4):5-9.

歡迎網(wǎng)上投稿歡迎訂閱歡迎刊登廣告

The Key Technology of Data Transmission in an Ultrasonic Phased Array System

SHI Cheng-long, SHI Fang-fang, ZHANG Bi-xing

(State Key Laboratory of Acoustics, Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China)

Abstract:Ultrasonic phased array technology has a high sensitivity, resolution and signal to noise ratio, which makes it a hot research field of nondestructive testing. To improve the detection speed of ultrasonic phased array system, the key part of data transfer in ultrasonic phased array system is studied. The structure of self-developed ultrasonic phased array system is introduced. Three factors which include data bus, hardware driver and data reading program that determine the data transfer rate of system are described. To develop the system, PCI bus is chosen to be the data bus, DriverStudio is used to develop the PCI bus driver, and multi-core technology is applied to improve the efficiency of the data reading program. Experimental results show that using PCI bus technology and multi-core programming technology to develop the data transfer module of the ultrasonic phased array system can increase the data transfer rate speed of the system

Key words:Ultrasonic phased array system; PCI bus; DriverStudio; Multi-core programming

中圖分類號:O426.9;TG115.28

文獻(xiàn)標(biāo)志碼:A

文章編號:1000-6656(2016)02-0036-04

DOI:10.11973/wsjc201602009

作者簡介:施成龍(1988-),男,博士研究生,研究方向?yàn)槌晜鞑ヅc成像。

基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(11374324,11174321)

收稿日期:2015-04-30

猜你喜歡
檢測系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機(jī)系統(tǒng)
“幾何圖形”檢測題
“角”檢測題
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
主站蜘蛛池模板: 亚洲欧美日本国产综合在线| 精品一区二区三区中文字幕| 高清色本在线www| 亚洲国模精品一区| 欧美亚洲一二三区| 精品人妻一区无码视频| 国产成人乱码一区二区三区在线| 欧美啪啪网| 波多野结衣二区| 欧美一区日韩一区中文字幕页| 中文字幕久久亚洲一区| 这里只有精品在线播放| 国产门事件在线| 国产在线一区视频| 国产精品亚洲一区二区三区z| 国产欧美在线视频免费| 在线人成精品免费视频| 在线观看免费AV网| 成人免费午夜视频| 欧美不卡二区| 91久久偷偷做嫩草影院电| 99人体免费视频| 亚洲一区二区视频在线观看| 成人亚洲视频| 亚洲日本中文字幕天堂网| 在线中文字幕日韩| 国产精品女主播| 国产成人一区在线播放| 97视频精品全国在线观看| 亚洲狠狠婷婷综合久久久久| 最新无码专区超级碰碰碰| 四虎影视8848永久精品| 九九视频免费看| 色妞永久免费视频| 欧美成在线视频| 国产成人亚洲无吗淙合青草| 小说区 亚洲 自拍 另类| 91精品国产福利| 国产日本欧美亚洲精品视| 日本亚洲欧美在线| 四虎成人在线视频| 久久精品娱乐亚洲领先| 九色91在线视频| 久久亚洲国产最新网站| 日韩av手机在线| 欧美97色| 九色综合视频网| 久久女人网| 国产精品性| 人人爱天天做夜夜爽| 深夜福利视频一区二区| 中文字幕在线一区二区在线| 在线看片国产| 三上悠亚一区二区| 丰满的少妇人妻无码区| 日韩在线视频网| a色毛片免费视频| jizz在线免费播放| 91精品国产综合久久不国产大片| 色网站免费在线观看| 亚洲成人免费在线| 高清精品美女在线播放| 亚洲国产天堂久久九九九| 在线毛片免费| 日本人真淫视频一区二区三区| 国产在线观看成人91| 视频一本大道香蕉久在线播放| 亚洲va视频| 亚洲综合亚洲国产尤物| 欧美中文字幕在线二区| 成人午夜免费观看| 国产丝袜啪啪| 91成人免费观看在线观看| 永久免费无码日韩视频| 伊人久久综在合线亚洲91| 久久性妇女精品免费| www.精品国产| 欧美激情第一欧美在线| 国产免费福利网站| 亚洲人成色在线观看| 久久精品无码中文字幕| 国产乱人伦偷精品视频AAA|