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)(下)
主站蜘蛛池模板: 亚洲成A人V欧美综合天堂| 激情综合婷婷丁香五月尤物 | 日本亚洲最大的色成网站www| 欧美日韩中文国产| 波多野结衣二区| 国产AV无码专区亚洲精品网站| 中文字幕无码中文字幕有码在线 | 91无码网站| 自慰网址在线观看| 亚洲成a∧人片在线观看无码| 国产高清免费午夜在线视频| 日韩无码视频播放| 国产精品极品美女自在线| 人人澡人人爽欧美一区| 欧美区日韩区| 国产精品浪潮Av| 国产精品夜夜嗨视频免费视频| 日韩 欧美 小说 综合网 另类 | 青青久久91| 911亚洲精品| 一级毛片免费的| 免费视频在线2021入口| 欧美爱爱网| 国产精品视频第一专区| 五月激激激综合网色播免费| 99精品国产自在现线观看| 国产h视频免费观看| 国产人妖视频一区在线观看| 99视频全部免费| 国产网站在线看| 欧美成人一级| 亚洲精品卡2卡3卡4卡5卡区| 国产网友愉拍精品视频| 精品国产Av电影无码久久久| 六月婷婷综合| 欧美精品另类| 免费99精品国产自在现线| 91亚洲影院| 国产一区二区丝袜高跟鞋| 成年A级毛片| 色综合天天娱乐综合网| 欧美成人二区| 一级毛片中文字幕| 伊人久久精品无码麻豆精品| 中日韩欧亚无码视频| 干中文字幕| 久久国产免费观看| 欧美一区二区人人喊爽| 无码中文字幕精品推荐| 亚洲精品中文字幕无乱码| 亚洲一级色| 国产簧片免费在线播放| 国产jizz| 亚洲国产高清精品线久久| 免费人欧美成又黄又爽的视频| 国产精品免费福利久久播放| 99成人在线观看| 日日噜噜夜夜狠狠视频| 国产电话自拍伊人| 91精品国产综合久久香蕉922| 国产精品爽爽va在线无码观看| 国产新AV天堂| 国产人成乱码视频免费观看| 香蕉国产精品视频| YW尤物AV无码国产在线观看| 又粗又硬又大又爽免费视频播放| 原味小视频在线www国产| 91小视频在线观看免费版高清| 亚洲精品自在线拍| 亚洲中文字幕精品| 国产亚洲欧美在线人成aaaa| 亚洲一区二区三区麻豆| 亚洲欧洲国产成人综合不卡 | 熟女成人国产精品视频| 一级不卡毛片| 女同久久精品国产99国| 狠狠色噜噜狠狠狠狠色综合久 | 午夜电影在线观看国产1区| 国产人前露出系列视频| 国产亚洲精久久久久久无码AV| 国产美女免费| 在线a视频免费观看|