首頁>技術中心>技術資訊>基于USB接口的多通道金屬磁記憶檢測儀
基于USB接口的多通道金屬磁記憶檢測儀
發布時間:2017-09-01
金屬磁記憶檢測(MMT)是利用金屬磁記憶效應來檢測部件應力集中部位的一種快速無損檢測方法。該方法可對鐵磁性部件因疲勞蠕變損傷產生的微裂紋進行早期診斷[1]?,F有的金屬磁記憶檢測儀器均采用嵌入式設計,與PC機的通訊采用串行接口或并行接口。串行通信雖然數據傳遞距離遠但傳遞速度慢,并行通信雖數據傳遞速度快但傳遞距離近,二者都需采用外界電源單獨供電。USB(Univer-sal Serial Bus)是一種支持即插即用的新型接口,主系統和USB外圍設備之間的數據通過一個4針的接頭連接起來傳輸,具有自帶電源、傳輸速度快,支持熱插拔、易于擴展、使用方便等優點。USB接口的傳輸速度要比串行口快得多,USBv1.1規范的數據傳輸速率可達1.5~2 Mb/s,USBv2.0所規定的傳輸速率達到了(360~480)Mb/s[2]。
1硬件設計
1.1儀器結構
圖1為基于USB接口的多通道金屬磁記憶檢測儀器原理框。它包括磁敏傳感器、溫度傳感器及測速裝置組成的探頭,由濾波器、放大器及A/D轉換器、微處理器、USB接口等。其中,傳感器是關鍵,微處理器是核心。本文主要介紹USB接口部分,其余部分可參考文獻1。
1.2USB接口設計
目前各個廠商推出的USB芯片類型眾多,不同類型的芯片,在功能上有著很大的差異。有些USB控制器包含有內置的CPU,如Intel公司的8x93CA和Cypress公司的FZ-USB等;有些則是依靠外部的CPU,較流行的專用芯片有National Semicon-ductor公司的USBN96C2和Philips公司的PDIUSBD12等。為了充分利用原有的研究成果,選用后一種方式,即單片機+USB接口芯片。綜合比較此類芯片,我們選用Philips公司的PDIUSBD12。PDIUSBD12是儀器USB技術得以實現的關鍵。它是Philips公司的一個帶并行總線的USB接口器件,支持本地的DMA傳輸。它完全符合USB1.1規范,同時集成了SIE(串行接口引擎)、FI-FO存儲器、收發器以及電壓調整器。其主端點的雙緩沖配置增加了數據吞吐量并輕松實現實時數據傳輸,功能框圖如圖2所示。
USB接口的重要特征之一是USB設備能從總線獲得電源,一般總線供電設備可以獲得不超過100 mA的電流;對于大功率總線供電設備,主機配置設備完成后,可以從總線獲得不超過500 mA的電源,而當USB外設處于掛起狀態時,它從總線上吸收的電流小于500μA。本儀器采用低功耗器件設計,整個儀器直接利用總線電源進行供電,一般不需外加其它電源。
2軟件設計
軟件設計主要包括:磁記憶數據采集和USB固件(firmware)、主機USB設備驅動程序、主機數據分析與處理軟件。磁記憶數據采集和USB通信軟件的功能主要是控制數據采集以及通過USB接口與主機進行數據通信。主機數據分析與處理軟件是將磁記憶數據進行分析處理,顯示出被測試件的磁記憶圖形。主機USB設備驅動程序是實現主機與多通道金屬磁記憶儀器連接和數據通信功能。下面分析主機的USB設備驅動程序設計和多通道金屬磁記憶儀器的USB固件設計。2.1USB固件設計設備固件是被固化到EPROM中的程序。其主要功能是控制A/D模塊的數據采集;控制PDIUSB12按USB驅動程序的請求;控制PDIUS-BD12接受USB應用程序指令;通過PDIUSBD12存儲數據并實時上傳PC機。
本儀器PDIUSBD12的固件設計成完全的中斷驅動,當CPU處理前臺任務時USB的傳輸可在后臺進行,確保傳輸速率,同時有利于編程和調試。后臺ISR中斷服務程序的后臺A/D中斷服務程序與前臺主程序循環之間的數據交換通過事件標志和數據緩沖區來實現。當PDIUSBD12接收到主機發來的令牌后就給單片機發中斷,單片機進入中斷服務程序ISR。它將數據從PDIUSBD12的內部FIFO取回到CPU存儲器并根據中斷寄存器判斷USB令牌包類型從而建立正確的事件以通知主循環程序進行處理,主循環檢查事件標志并進入對應的子程序。
2.2USB設備驅動程序設計
Windows98以后的操作系統提出的多種USB設備的驅動程序,如鼠標、鍵盤、游戲操縱桿、監視器、硬盤、MODEM等USB設備,此類設備接入系統后可以被系統自動識別并且支持,但對于數據采集卻沒有專門的驅動程序,必須由設計者自己編寫驅動程序。
Windows的USB設備驅動程序必須遵循微軟公司所定義的Win32驅動程序模型。開發USB驅動程序可利用WINDOWS DDK、Windrivder[4]和DriverStudio等。WINDOWS DDK可免費使用,但開發效率低。而windrivder、DriverStudio對Win-dows DDK的很多函數進行封裝,大大簡化了開發USB設備驅動程序,提高開發效率。在該系統的開發中我們選用Windirver進行開發。
Windriver包括一個功能強大的硬件探測器和調試器,在寫入代碼前,可通過調試器對硬件進行全面的測試。這種方式能夠在寫驅動程序前,校驗硬件是否按照期望的那樣工作。Windirver可根據檢測到的USB設備自動生成設備驅動程序代碼以及INF文件,用戶幾乎可以不加修改就可直接編譯生成USB設備驅動程序。Windriver還能根據用戶對USB設備的具體操作生成程序代碼,用戶可以將此程序代碼直接加入到用戶應用程序中,另外,用戶還可直接利用WindriverAPI函數開發應用程序。
2.3應用軟件設計
固件和USB設備驅動程序設計是USB設備開發者的工作,對于用戶而言,與儀器的交互是通過應用軟件實現的,主要的數據處理、顯示也是在此完成。因此,運行效率高、界面友好、具有強大數據分析和處理功能的應用軟件的設計是很重要的。應用軟件的功能包括啟動/關閉USB設備,檢測USB設備,設置USB數據傳輸管道/端口,設置A/D,采集數據,顯示分析數據。我們采用界面設計方面的Borland C Builder為軟件開發環境,并運用多線程技術,使界面顯示、數據接收、數據處理顯示同時進行。
3結束語
基于USB總線的多通道金屬磁記憶檢測儀器在設計上嚴格遵循USB,其性能特點如下:
(1)安裝方便,支持即插即用。安裝時可在不關機不打開機箱的情況下將設備插入USB端口,運行驅動程序即可,以后可直接對設備熱插拔。
(2)易擴展。最長傳輸距離5 m,采用Hub或中繼器可達30 m。
(3)供電方便。整個儀器直接利用總線電源進行供電,一般不需外加其它電源。
(4)電磁干擾小。由于本儀器放置在計算機機箱外,避免了受箱內板間的電磁干擾。
(5)實時顯示。
摘自:中國計量測控網