文獻標識碼: B
文章編號: 0258-7998(2010)10-0037-03
X射線熒光分析是一種快速、準確而又經濟的多元素分析方法[1]。目前,X射線熒光分析技術已被廣泛應用于地質、冶金、化工、材料、石油、醫療等領域,尤其是能量色散X射線熒光EDXRF(Energy Dispersive X-Ray Fluorescence)光譜儀,由于具有體積小、價格低廉、自動化程度高等優點,已成為普遍多元素同時分析的有力手段。
EDXRF光譜儀利用X射線熒光對于不同元素具有不同能量的特點,依靠探測器實現對測試樣品中元素的定性、定量分析。隨著電子學技術、計算機科學技術以及半導體材料的發展,特別是嵌入式技術的應用,為X射線熒光光譜儀智能化、小型化及高性能提供了必要的硬件基礎。本文提出了基于S3C2440嵌入式處理器的便攜式EDXRF光譜儀的設計方案,用于分析檢測合金、礦石中的多種元素。
1 方案設計
便攜式EDXRF光譜儀采用X射線管作為激發源,Si-PIN探測器作為X射線探測器。X射線打到測試樣品后,X射線熒光光量子通過探測器轉變為一定形狀和數量的電脈沖。該電脈沖經前置放大處理后,變為可測電脈沖信號。本方案采用S3C2440高性能的嵌入式處理器,外擴高速A/D轉換芯片AD7676,由S3C2440硬件定時和AD7676組成數字脈沖分析器,將可測電脈沖信號變成數字信號,實現EDXRF光譜的采集。
S3C2440以ARM920T為內核,支持Windows CE操作系統。本系統基于Windows CE系統上的AD7676驅動程序,在應用程序層控制AD7676的工作,實現了EDXRF光譜的采集、存儲、分析。其整體方案如圖1所示。
2 硬件設計
2.1 AD7676
AD7676是美國模擬器件公司生產的16位高速(500 kS/s)SAR ADC[2],內置16位高速采樣ADC、差分輸入結構、內部轉換時鐘、糾錯電路以及串行和并行系統接口。
AD7676的采樣數據讀取有兩種方式:轉換完成后讀取和采樣中讀取。圖2所示為采樣中讀取方式時序,當AD7676轉換結束后,忙信號變為低電平,保持片選信號為低,使得轉換及讀信號由高變低,此時數據總線上出現上次轉換后的數據。采樣中讀取方式時,在轉換完成后,可同時讀取數據及啟動下一次采樣,消耗時間少,適用于本系統。
2.2 數字脈沖分析器
數字脈沖分析器由信號處理電路(信號調理、放大)、高速AD轉換器(AD7676)及S3C2440處理器組成,圖3所示為系統電路框圖。
X射線熒光光量子通過SI-PIN探測器轉變為電脈沖,經調理、前置放大處理后變為可測電脈沖信號傳給AD7676采樣處理。為了保證采樣的正確性,采用基準電壓芯片為AD7676提供基準電壓,同時為了防止電源串入的干擾,采用專用的DC-DC隔離電源使得模擬部分電源與數字處理部分電源隔離。S3C2440處理器與AD7676之間的數據總線采用數據緩沖器SN74LVC16245驅動。
3 基于Windows CE的AD7676驅動程序開發
由圖3可知,AD7676被直接映射到S3C2440系統內存,所以其驅動程序采用單片式流接口設備驅動模型。同時當AD7676轉換結束后,采用中斷方式通知S3C2440讀取轉換結果,并啟動下一次轉換。AD7676驅動程序由內核部分和流接口函數部分組成。內核部分完成中斷的處理,包括中斷的使能、禁止、喚醒中斷服務線程等工作;流接口函數完成AD7676的打開、關閉、初始化以及數據的讀、寫操作。
3.1 內核部分
系統硬件電路采用中斷方式對AD7676進行數據的讀取,以提高S3C2440的使用效率。Windows CE對中斷的響應過程如圖4所示[3]。
參照時序圖,修改Windows CE中與中斷相關的內核文件,完成物理中斷到邏輯中斷的映射。主要工作如下:(1)修改oalintr.h文件,完成中斷向量的注冊;(2)修改cfw.c文件,完成中斷允許、中斷禁止和中斷完成操作。經過修改Windows CE內核文件,完成物理中斷Eint0到邏輯中斷號SYSINTR_ADC的映射,就可以利用Windows CE提供的API函數完成物理中斷Eint0的操作。
3.2 流接口函數
Windows CE流接口驅動程序是動態鏈接庫,由設備管理器統一加載、管理和卸載。在Windows CE中,流接口函數一共有10個,所開發的驅動程序采用了其中的7個接口函數:AD7676_Deinit、AD7676_Init、AD7676_Open、AD7676_IoControl、AD7676 _Read、AD7676 _Write、AD7676_Close。
流接口函數需要完成兩個主要方面的工作:AD7676數據結構的建立、流接口函數代碼的實現。其中AD7676初始化、中斷服務程序最為重要。
(1)PADC_CONTEXT AD7676_Init(LPCTSTR pContext,LPCVOID lpvBusContext)
AD7676_Init接口函數在驅動程序加載時,由設備管理器調用,主要完成硬件初始化,如映射設備物理內存、配置相關寄存器、創建中斷事件、中斷服務線程等工作。
AD7676_Init接口函數按照圖5所示調用順序完成驅動的初始化工作。調用成功后,將返回AD7676數據結構的首地址[4]。
(2)中斷服務線程AD7676_ISR
AD7676_ISR中斷服務線程是中斷處理的核心部分,負責將緩沖區中的數據讀至系統內存[3]。
DWORD AD7676_ISR(PVOID pContext){
PHW_INDEP_INFO pHead=(PHW_INDEP_INFO)
pContext;
ULONG WaitReturn;
While(!Done()){
WaitReturn=WaitForSingleObject((PHW_INDEP_
INFO)pContext,INFINITE);
if(WaitReturn==WAIT_OBJECT_0){
……//讀取AD7676轉換后的數據
InterruptDone(pHead->dwIntID);
}
}
return 0;
}
4 定性分析應用實例
利用此方案設計的便攜式EDXRF光譜儀對某被測樣品進行了定性分析。圖6所示為該被測樣品經過光滑、扣背景后的譜線,圖中標出了Ni的Kα線與Kβ線、Au的Lα線與Lβ線。
表1為對圖6譜線經尋峰、能量刻度后,計算獲得的被測樣品中元素已知能量值與測量值的對比。
從表1元素已知能量值與測量值之間的相對誤差可以看出,使用此方案獲得的譜線經過光滑、扣背景、尋峰、能量刻度后,完全能達到定性分析的要求。
參考文獻
[1] 楊明太.X射線熒光光譜儀的現狀[J].核電子學與探測技術,2006,26(6):1025-1029.
[2] 16 Bit,±1 LSB INL,500 kS/s,Differential ADC AD7676 [EB/OL].http://www.analog.com/,2002.
[3] 金振興.基于S3C2410作業環境監測系統的設計[J].機械制造及其自動化,2007(6):121-122.
[4] 周怡君,金振興.基于Windows CE.net的AD7854驅動開發[J].機械制造及其自動化,2008(7):76-79.
[5] 張林艷.能量色散X射線熒光光譜背景扣除方法的探討[J].分析試驗室,2009(12):111-114