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