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

超聲相控陣系統數據傳輸的關鍵技術

2016-03-16 02:39:00施成龍師芳芳張碧星
無損檢測 2016年2期
關鍵詞:檢測系統

施成龍,師芳芳,張碧星

(中國科學院聲學研究所 聲場聲信息國家重點實驗室,北京 100190)

?

超聲相控陣系統數據傳輸的關鍵技術

施成龍,師芳芳,張碧星

(中國科學院聲學研究所 聲場聲信息國家重點實驗室,北京 100190)

摘要:超聲相控陣檢測技術有著較高的靈敏度、分辨率和信噪比,是目前無損檢測領域的熱點。為了提高超聲相控陣檢測速度,對于超聲相控陣系統數據傳輸的關鍵技術進行了探討。介紹了自行開發的超聲相控陣系統結構,對決定超聲相控陣系統數據傳輸速度的三個因素:數據總線、硬件驅動、數據讀取程序進行了說明與分析。選擇高速數據傳輸總線PCI總線為數據總線,使用DriverStudio開發高效的PCI總線驅動,并采用多核多線程技術提高數據讀取程序的效率。試驗表明,采用PCI總線技術和多核編程開發超聲相控陣系統數據傳輸模塊,能提高系統數據傳輸速度,從而提高檢測速度。

關鍵詞:超聲相控陣;PCI總線;DriverStudio;多核編程

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

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

為了提高超聲相控陣系統的檢測速度,筆者基于自行開發的超聲相控陣系統,詳細討論了超聲相控陣系統數據傳輸部分的實現方式和優化方案。

1超聲相控陣系統結構

圖1所示為自行開發的超聲相控陣系統結構框圖,多個數據采集板將采集得到的超聲回波數據通過數據總線上傳給主機板,主機板顯控軟件對得到的數據進行成像顯示和分析。

圖1 超聲相控陣系統結構框圖

在這樣的結構中,若數據總線傳輸速率較慢,或數據總線接口硬件驅動效率不夠高,或主機板不能及時通過驅動程序取出數據,都會導致超聲相控陣系統檢測速度的降低。因此,在這種結構的超聲相控陣系統中,數字板與主機板間的數據總線、軟硬件接口的硬件驅動、數據讀取部分程序結構至關重要。

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

2PCI總線驅動開發

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

因此,筆者選擇DriverStudio來開發超聲相控陣數據總線驅動。

2.1 PCI總線驅動開發步驟

使用DriverStudio開發PCI驅動主要有三個步驟。

2.1.1利用DriverWizard生成PCI總線設備硬件驅動框架

DriverWizard是創建驅動程序框架的工具,能較簡單地對需要的功能設置框架,方便用戶添加功能代碼。關鍵步驟如下:

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

所要開發的是PCI接口芯片PLX9656的驅動,因此這里選擇PCI總線。PCI Vendor ID是廠商標識符,為10B5;PCI Device ID是設備標識符,為9656;PCI Subsystem ID為子系統ID號,為965610B5;PCI Revision ID是修訂號,為BA。

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

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

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

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

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

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

(1) 內存的訪問

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

(2) 中斷處理

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

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

在驅動程序停止前,需要調用KInterrupt成員函數來斷開中斷并釋放資源。

(3) DMA傳輸

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

第一步在SerialRead/SerialWrite中啟動DMA讀寫傳輸;第二步,獲取要傳輸的物理內存的地址和字節數,調用StartDMA例程;第三步,DMA傳輸結束后,產生中斷,Isr_Irq例程處理并清除中斷后,請求DqcFor_Irq例程;第四步,DMA結束,完成IRP(I/O Request Package, 輸入輸出請求)。

如此四步,完成DMA傳輸。

2.1.3調用驅動程序完成所需功能

需要對多塊超聲回波信號數據采集板進行寄存器讀寫和DMA讀寫,因此需要開發應用程序,其框架如圖2所示。

圖2 調用驅動應用程序結構

(1) 打開設備

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

(2) 訪問設備資源

通過DeviceIoControl函數與WDM驅動進行通信,對其進行設置寄存器和DMA地址的操作。

使用ReadFile和WriteFile函數進行讀寫DMA的操作,由于ReadFile/WriteFile有固定的輸入參數,因此DMA地址如果不固定的話,需要由DeviceIoControl函數進行修改。

(3) 關閉設備

通過CloseHandle函數關閉設備。

2.2 驅動測試

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

3數據讀取部分程序結構及優化方案

數據讀取部分程序即為主機板通過調用PCI驅動讀取超聲回波數據的程序。這部分程序的效率十分重要,如果讀取不及時,會導致硬件緩存被采集數據占滿而造成溢出。通常該程序的結構為簡單易調試的串行結構,如圖3所示。

圖3 串行結構流程圖

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

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

圖4 并行結構流程圖

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

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

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

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

表1 不同程序結構的極限參數

4結語

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

參考文獻:

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

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

[3]尹勇,李宇.PCI 總線設備開發寶典[M].北京:北京航空航天大學出版社, 2005.

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

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

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

[7]楊波.基于PCI總線的WDM驅動程序開發研究[D].長沙:國防科學技術大學, 2007:10.

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

歡迎網上投稿歡迎訂閱歡迎刊登廣告

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

文獻標志碼:A

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

DOI:10.11973/wsjc201602009

作者簡介:施成龍(1988-),男,博士研究生,研究方向為超聲傳播與成像。

基金項目:國家自然科學基金資助項目(11374324,11174321)

收稿日期:2015-04-30

猜你喜歡
檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
“幾何圖形”檢測題
“角”檢測題
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: 国产成人资源| 就去色综合| 青青国产成人免费精品视频| 91视频区| 午夜福利网址| 亚洲无码高清免费视频亚洲| 久久亚洲美女精品国产精品| 久久青草精品一区二区三区| 欧美日韩中文国产| 国产精品福利社| 在线看AV天堂| 欧美成人手机在线观看网址| 视频国产精品丝袜第一页| 亚洲—日韩aV在线| 99久久精品免费观看国产| 久久久亚洲国产美女国产盗摄| 亚洲无码视频一区二区三区| 熟妇丰满人妻| 全免费a级毛片免费看不卡| 韩国v欧美v亚洲v日本v| AV不卡在线永久免费观看| 亚洲综合天堂网| 97无码免费人妻超级碰碰碰| 亚洲欧美另类日本| 蝴蝶伊人久久中文娱乐网| 全色黄大色大片免费久久老太| 国产精品自在在线午夜| 综合色区亚洲熟妇在线| 在线欧美日韩| 欧美精品v| 亚洲中文在线看视频一区| 亚洲成人福利网站| 国产国产人成免费视频77777| 一级福利视频| 亚洲av无码专区久久蜜芽| 精品91视频| 国产午夜在线观看视频| 天堂av综合网| 99久久99视频| 国产精品99在线观看| 国产91成人| 黑色丝袜高跟国产在线91| 国产午夜看片| 国产一二三区在线| 精品一区二区三区波多野结衣 | 亚洲免费三区| 男人天堂伊人网| 欧美激情第一区| 51国产偷自视频区视频手机观看 | 色哟哟精品无码网站在线播放视频| 久久五月天综合| 国模沟沟一区二区三区| 国产簧片免费在线播放| 欧美三级视频网站| 日本午夜精品一本在线观看| 欧美激情,国产精品| 青青操视频在线| 久久免费成人| 亚洲,国产,日韩,综合一区| 日韩午夜片| 97se亚洲综合在线韩国专区福利| 中文字幕在线欧美| 天天干天天色综合网| 丝袜美女被出水视频一区| a国产精品| 99精品在线视频观看| 国产草草影院18成年视频| 国产精品深爱在线| 久久青青草原亚洲av无码| 欧美日韩在线亚洲国产人| 99热这里只有精品国产99| 欧美激情福利| 亚洲乱码精品久久久久..| 97久久精品人人做人人爽| 国产成人精品午夜视频'| 亚洲国产成人精品无码区性色| 国内精品伊人久久久久7777人| 国产黑丝视频在线观看| 国产在线精品人成导航| 日本国产精品一区久久久| 九九九久久国产精品| 欧美第一页在线|