文獻標識碼: 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為內(nèi)核,,支持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],內(nèi)置16位高速采樣ADC,、差分輸入結構,、內(nèi)部轉換時鐘、糾錯電路以及串行和并行系統(tǒng)接口,。
AD7676的采樣數(shù)據(jù)讀取有兩種方式:轉換完成后讀取和采樣中讀取,。圖2所示為采樣中讀取方式時序,當AD7676轉換結束后,,忙信號變?yōu)榈碗娖?,保持片選信號為低,使得轉換及讀信號由高變低,,此時數(shù)據(jù)總線上出現(xiàn)上次轉換后的數(shù)據(jù),。采樣中讀取方式時,在轉換完成后,,可同時讀取數(shù)據(jù)及啟動下一次采樣,,消耗時間少,適用于本系統(tǒng),。
2.2 數(shù)字脈沖分析器
數(shù)字脈沖分析器由信號處理電路(信號調(diào)理,、放大)、高速AD轉換器(AD7676)及S3C2440處理器組成,,圖3所示為系統(tǒng)電路框圖,。
X射線熒光光量子通過SI-PIN探測器轉變?yōu)殡娒}沖,經(jīng)調(diào)理,、前置放大處理后變?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)內(nèi)存,,所以其驅動程序采用單片式流接口設備驅動模型。同時當AD7676轉換結束后,,采用中斷方式通知S3C2440讀取轉換結果,,并啟動下一次轉換。AD7676驅動程序由內(nèi)核部分和流接口函數(shù)部分組成,。內(nèi)核部分完成中斷的處理,,包括中斷的使能、禁止,、喚醒中斷服務線程等工作,;流接口函數(shù)完成AD7676的打開、關閉,、初始化以及數(shù)據(jù)的讀,、寫操作。
3.1 內(nèi)核部分
系統(tǒng)硬件電路采用中斷方式對AD7676進行數(shù)據(jù)的讀取,,以提高S3C2440的使用效率,。Windows CE對中斷的響應過程如圖4所示[3]。
參照時序圖,,修改Windows CE中與中斷相關的內(nèi)核文件,,完成物理中斷到邏輯中斷的映射。主要工作如下:(1)修改oalintr.h文件,,完成中斷向量的注冊,;(2)修改cfw.c文件,完成中斷允許,、中斷禁止和中斷完成操作,。經(jīng)過修改Windows CE內(nèi)核文件,完成物理中斷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ù)在驅動程序加載時,,由設備管理器調(diào)用,主要完成硬件初始化,,如映射設備物理內(nèi)存,、配置相關寄存器、創(chuàng)建中斷事件,、中斷服務線程等工作,。
AD7676_Init接口函數(shù)按照圖5所示調(diào)用順序完成驅動的初始化工作。調(diào)用成功后,,將返回AD7676數(shù)據(jù)結構的首地址[4],。
(2)中斷服務線程AD7676_ISR
AD7676_ISR中斷服務線程是中斷處理的核心部分,負責將緩沖區(qū)中的數(shù)據(jù)讀至系統(tǒng)內(nèi)存[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