歡迎聯(lián)系我
有什么可以幫您?
在線咨詢
USB便攜式多道γ的設(shè)計(jì)與實(shí)現(xiàn)
摘要:討論了串行總線(usb)技術(shù)應(yīng)用于便 攜式多道γ能譜儀的可行性,并詳細(xì)介紹了 系統(tǒng)的硬件、固件、設(shè)備驅(qū)動(dòng)程序以及應(yīng)用程序的設(shè)計(jì)方法,zui后給出了其性能測(cè)試結(jié)果。
關(guān)鍵詞:usb γ能譜數(shù)據(jù)采集 wdm
野外地面γ能譜測(cè)量技術(shù)主要研究地殼巖石土壤中產(chǎn)生的能量范圍約為30kev~3000kev的γ射線,這里面包含著軸、鉀等天然放射性核元素信息、核工程活動(dòng)產(chǎn)生的大量人工放射性核元素信息以及γ射線與地殼相互作用產(chǎn)生的相關(guān)信息。而用于獲取和處理γ能譜數(shù)據(jù)的多道γ能譜儀是重要的研究課題,其功能是把從γ射線探測(cè)器得到的脈沖信號(hào)轉(zhuǎn)換為x-y軸的能譜形式并顯示出來(x軸代表能量,y軸代表脈沖計(jì)數(shù))。
傳統(tǒng)的多道γ能譜儀一般采用nim(nuclear instrument module)插件的標(biāo)準(zhǔn)模式。但其存在體積龐大、抗*力差等缺點(diǎn),不適合于野外現(xiàn)場(chǎng)測(cè)量。為適應(yīng)多道γ能譜儀智能化、微機(jī)化、便攜化的實(shí)際需要,本設(shè)計(jì)采用筆記本電腦作為γ能譜儀的上位機(jī)。常用接口方式主要有rs-232c串口、紅外線端口、epp并口、usb、1394、ethernet等。這幾種接口方式的特點(diǎn)比較如表1所示。
表1 接口方式特點(diǎn)比較
方式 長(zhǎng)度(m) 速度(b/s) 主要優(yōu)點(diǎn) 主要缺點(diǎn)
串口 15 20k 應(yīng)用廣泛,研發(fā)簡(jiǎn)單 速度慢,逐漸被淘汰
并口 10 8m 速度較快,研發(fā)簡(jiǎn)單 逐漸被淘汰
紅外線 2 115k 無線傳輸 距離短,可靠性差,耗電大
usb1.1 5 12m 傳輸穩(wěn)定,速度快,使用方便,具有彈性,代表接口發(fā)展方向 協(xié)議復(fù)雜,研發(fā)難度較大
1394 1.5 400m 傳輸速度快,具有彈性 特定用途(視頻),研發(fā)難度大
ethernet 500 10m 傳輸可靠,使用方便 ,資源共享 特定用途(lan),研發(fā)難度大
經(jīng)過比較輪證發(fā)現(xiàn),usb作為近年出現(xiàn)的一種代表微機(jī)接口發(fā)展方向的新型總線規(guī)范,其便捷易用、速度快、可靠性高等特點(diǎn),使之非常適合作為便攜式多道γ能譜儀的接口方式。目前大多數(shù)筆記本電腦一般都有兩個(gè)以下的usb端口,usb規(guī)范規(guī)定每個(gè)端口提供5v、500ma的電量,而筆記本電腦在實(shí)際應(yīng)用時(shí),通常是通過自帶鋰電池供電的,無法提供足夠的電量給外設(shè),這時(shí)就會(huì)造成外設(shè)工作不正常,甚至使系統(tǒng)崩潰??紤]到本系統(tǒng)下位機(jī)部分功耗較大,因此供電方式使用外置電源。
筆者在吸收借鑒γ能譜測(cè)量技術(shù)研究成果的基礎(chǔ)上,進(jìn)行了usb便攜式多道γ能譜儀的設(shè)計(jì)。本設(shè)計(jì)主要完成硬件、固件、設(shè)備驅(qū)動(dòng)程序以及應(yīng)用程序等的設(shè)計(jì)工作。
1 硬件設(shè)計(jì)
1.1 系統(tǒng)總線結(jié)構(gòu)
圖1所示為usb便攜式多道γ能譜儀的總體結(jié)構(gòu)框圖。下位機(jī)硬件部分主要由γ射線探測(cè)系統(tǒng)(探頭)、脈沖信號(hào)調(diào)理電路、數(shù)字電位器、多道脈沖幅度分析器、usb接口電路以及電源電路等構(gòu)成,其中探頭部分包括閃爍探測(cè)器、前置電路和高壓電路等,多道脈沖幅度分析器主要包括峰值別電路、控制電路、a/d轉(zhuǎn)換電路以及微控制器系統(tǒng)等。上位機(jī)由筆記本電腦系統(tǒng)構(gòu)成。
軟件部分由固件、設(shè)備驅(qū)動(dòng)和應(yīng)用程序組成。
1.2 usb接口電路
由于usb本身的控制協(xié)議較為復(fù)雜,需要使用相應(yīng)的usb接口芯片。本設(shè)計(jì)采用了philips公司的usb接口芯片pdiusbd12(簡(jiǎn)稱d12),其優(yōu)點(diǎn)是可以選擇合適的微控制器及其開發(fā)系統(tǒng)進(jìn)行外設(shè)開發(fā)。
d12內(nèi)部集成了串行輸入引擎(sie)、320字節(jié)的多結(jié)構(gòu)fifo存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器,支持dma方式,采用雙緩沖區(qū)技術(shù),遵從usb1.1標(biāo)準(zhǔn)。芯片中串行輸入引擎(sie)模塊起著至關(guān)重要的作用,完成所有usb協(xié)議層功能,如同步模式識(shí)別、并/串轉(zhuǎn)換、位填充/解填充、crc檢驗(yàn)/產(chǎn)生、包pid產(chǎn)生/確認(rèn)、地址識(shí)別、握手信號(hào)包響應(yīng)產(chǎn)生等。另外,d12還集成了softconnect、goodlink、可編程時(shí)鐘輸出、低頻晶振和終端電阻等特性,提高了系統(tǒng)的性價(jià)比。
微控制器采用hyundai公司的gms90l32,它是一種兼容in8032微控制器的產(chǎn)品,其主要特點(diǎn)是工作電壓范圍寬(2.7v~5.5v)、功耗低、性價(jià)比高。d12與gms90l32的連接如圖2所示。本設(shè)計(jì)使用了多路地址/數(shù)據(jù)總線復(fù)用方式。
此外,本系統(tǒng)選用了美國(guó)st公司的psd913f2,它是用于8位微控制器的具有大容量flash存儲(chǔ)器、在系統(tǒng)編程(isp)能夠和可編程邏輯的器件。它將地址鎖存器、flash、sram、pld等集成在一個(gè)芯片內(nèi),成功地實(shí)現(xiàn)了微控制器系統(tǒng)的“mcu+psd”兩芯片解決方案。這種方案既可簡(jiǎn)化電路設(shè)計(jì),節(jié)省pcb印制板空間,縮短產(chǎn)品開發(fā)周期,又可增加系統(tǒng)可靠性,降低產(chǎn)品功耗。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 微控制器固件程序
所謂固件程序就是固化在程序存儲(chǔ)器中的程序代碼。本系統(tǒng)的固件存儲(chǔ)在psd913f2的flash存儲(chǔ)器中,固件開發(fā)使用的是keil c51語言,開發(fā)平臺(tái)為μvision2集成開發(fā)環(huán)境。
固件的開發(fā)是移植與開發(fā)相結(jié)合。本設(shè)計(jì)參考了philips公司提供的d12固件程序范例,對(duì)于usb協(xié)議操作的相關(guān)代碼可以直接移植使用,而數(shù)據(jù)采集、傳輸、存儲(chǔ)等部分則是全新的開發(fā)工作。
固件程序結(jié)構(gòu)如圖3所示。硬件抽象層對(duì)d12的數(shù)據(jù)讀、寫以及各種指令的寫入進(jìn)行函數(shù)封裝;d12命令接口層對(duì)d12的所有控制指令的函數(shù)進(jìn)行封裝;usb向量請(qǐng)求模塊完成usb上電配置、向量請(qǐng)求等各類事件的響應(yīng)處理;usb協(xié)議層包括對(duì)usb協(xié)議操作的封裝以及對(duì)usb標(biāo)準(zhǔn)請(qǐng)求的響應(yīng);中斷服務(wù)進(jìn)程包括usb中斷、adc中斷以及定時(shí)器0中斷(記錄測(cè)量時(shí)間)等。
主程序及adc中斷服務(wù)程序流程圖如圖4所示。主程序首先完成各種初始化,然后進(jìn)入主循環(huán),等待中斷的發(fā)生,并根據(jù)標(biāo)志變量執(zhí)行相應(yīng)的函數(shù)。當(dāng)打開控制電路時(shí),脈沖峰值別電路自動(dòng)啟動(dòng)a/d轉(zhuǎn)換,轉(zhuǎn)換結(jié)束信號(hào)會(huì)觸發(fā)微控制器外部中斷1,進(jìn)入adc中斷服務(wù)程序,讀取a/d轉(zhuǎn)換結(jié)果并存入緩存中,然后中斷返回。
當(dāng)d12有事件需要處理時(shí),將觸發(fā)微控制器外部中斷0,微控制器讀取d12的中斷狀態(tài)寄存器,判斷中斷的來源并作出相應(yīng)的處理。若由數(shù)據(jù)端點(diǎn)觸發(fā),則相應(yīng)地讀取或?qū)懭霐?shù)據(jù);若由控制端點(diǎn)0觸發(fā),則判斷請(qǐng)求的類型。標(biāo)準(zhǔn)請(qǐng)求由usb協(xié)議處理模塊處理,用戶自定義向量請(qǐng)求由usb向量請(qǐng)求模塊處理。
2.2 usb設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)
在windows環(huán)境下,usb設(shè)備驅(qū)動(dòng)程序遵循wdm(win32 driver mode)方式。為了簡(jiǎn)化設(shè)計(jì),并兼顧驅(qū)動(dòng)程序的運(yùn)行效率,筆者選用了driverstudio2.7工具軟件中的driverworks組件進(jìn)行usb設(shè)備驅(qū)動(dòng)程序的開發(fā)。driverworks為wdm設(shè)備驅(qū)動(dòng)程序的開發(fā)提供了完善的支持。其中包含一個(gè)非常完善的源代碼生成工具driverwizard以及相應(yīng)的類庫和驅(qū)動(dòng)程序范例,它還支持在c++下進(jìn)行設(shè)備驅(qū)動(dòng)程序的開發(fā)。通過driverwizard生成的代碼只需要進(jìn)行少量的修改可以使用,這使得驅(qū)動(dòng)程序可以將精力集中在驅(qū)動(dòng)功能的實(shí)現(xiàn)上,而不必理會(huì)太多的wdm開發(fā)細(xì)節(jié)。
本設(shè)計(jì)在driverwizard的zui后自定義了三個(gè)ioctl接口對(duì)usb設(shè)備進(jìn)行控制,如表2所示。然后在自動(dòng)生成的驅(qū)動(dòng)程序代碼中向相應(yīng)的ioctl函數(shù)添加代碼,用函數(shù)buildverdorrequest構(gòu)建usb協(xié)議的自定義向量請(qǐng)求(vendor request)。由編譯修改后的源代碼即可得到驅(qū)動(dòng)程序文件mcad12.sys。
表2 自定義ioctl接口
自定義ioctl接口 功能說明
mca_ioctl_start 啟動(dòng)多道采集數(shù)據(jù)
mca_ioctl_read 開始讀取數(shù)據(jù)
mca_ioctl_start 停止多道數(shù)據(jù)
2.3 usb應(yīng)用程序的設(shè)計(jì)
應(yīng)用程序的設(shè)計(jì)在visual c++6.0開發(fā)環(huán)境下進(jìn)行。根據(jù)實(shí)際要求,本設(shè)計(jì)需要在軟件中對(duì)采集的數(shù)據(jù)進(jìn)行整理、分析并顯示。其功能模塊主要有數(shù)據(jù)采集、譜數(shù)據(jù)顯示、roi操作、系統(tǒng)刻度、譜分析等,其結(jié)構(gòu)框圖如圖5所示。
在win32系統(tǒng)中,usb設(shè)備被抽象為一個(gè)文件,應(yīng)用程序只需要通過幾個(gè)api函數(shù)就可以實(shí)現(xiàn)與驅(qū)動(dòng)程序中usb設(shè)備的通信。api函數(shù)如表3所示。
表3 設(shè)備文件操作api函數(shù)
api函數(shù) 功能說明
cr-eatefile 打開設(shè)備
readfile 從設(shè)讀取數(shù)據(jù)
writefile 向設(shè)備發(fā)送數(shù)據(jù)
closehandle 關(guān)閉設(shè)備
deviceiocontrol i/o控制操作
本程序設(shè)計(jì)使用mfc多線程技術(shù)。單擊開始按鈕,程序就創(chuàng)建一個(gè)用戶接口線程,并且通過ioctl啟動(dòng)usb設(shè)備,然后在此線程每隔一定時(shí)間(10~20ms)從usb總線上讀取一次數(shù)據(jù);而程序自身的主線程則不斷地依據(jù)讀取的數(shù)據(jù)刷新屏幕,顯示多道能譜。當(dāng)單擊停止按鈕或是設(shè)定采集時(shí)間到時(shí),程序則通過ioctl停止usb設(shè)備的數(shù)據(jù)采集,終止用戶接口線程,并且停止屏幕譜線的更新。
當(dāng)創(chuàng)建用戶接口線程時(shí),首先從cwinthread類派生一個(gè)ciothread類,然后調(diào)用afxbeginthread()函數(shù)創(chuàng)建ciothread類的對(duì)象進(jìn)行初始化,啟動(dòng)線程運(yùn)行。根據(jù)需要可將初始化和結(jié)束代碼分別放在類的initinstance()和exitinstance()函數(shù)中。其中,initinstance()函數(shù)是從usb采集數(shù)據(jù)的線程的主要函數(shù)。從中實(shí)現(xiàn)對(duì)ioctl的調(diào)用、對(duì)usb設(shè)備數(shù)據(jù)的讀取等功能。其流程如圖6所示。
3 測(cè)試與結(jié)論
實(shí)測(cè)cs放射源γ能譜如圖7所示。根據(jù)能量為0.6641mev的譜峰,系統(tǒng)可以自動(dòng)計(jì)算能量分辨率,實(shí)測(cè)能量分辨率小于10%。
經(jīng)過嚴(yán)格測(cè)試,該系統(tǒng)其它主要技術(shù)指標(biāo)為:γ射線能量分析范圍為20kev~3.0mev; γ能譜分析道數(shù)為1024道;放射源能量非線性系數(shù)小于5%;使用nai(t1)探測(cè)器時(shí),整機(jī)功耗小于960mw;實(shí)測(cè)usbzui大數(shù)據(jù)傳輸速率約為1mbps;連續(xù)測(cè)量數(shù)據(jù)符合放射性統(tǒng)計(jì)漲落規(guī)律;設(shè)備驅(qū)動(dòng)及應(yīng)用程序兼容win98/2000/xp。
上述結(jié)果表明,本系統(tǒng)的技術(shù)路線和軟硬件設(shè)計(jì)*,方案合理,并具有一定的創(chuàng)新性和實(shí)用價(jià)值。對(duì)本系統(tǒng)編譯稍加修改便可應(yīng)用于其它基于微機(jī)的數(shù)據(jù)采集、自動(dòng)化測(cè)控系統(tǒng)中。
版權(quán)與免責(zé)聲明:
凡本網(wǎng)注明“來源:食品機(jī)械設(shè)備網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-食品機(jī)械設(shè)備網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:食品機(jī)械設(shè)備網(wǎng)www.123daigua.cn”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它來源(非食品機(jī)械設(shè)備網(wǎng)www.123daigua.cn)的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或和對(duì)其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來源,并自負(fù)版權(quán)等法律責(zé)任。
-
免費(fèi)注冊(cè)后,你可以
了解食品行業(yè)更多資訊查看食品行業(yè)供求信息凸顯食品行業(yè)自身價(jià)值
馬上注冊(cè)會(huì)員
-
想快速被買家找到嗎
只需要發(fā)布一條商機(jī),被買家找到的機(jī)會(huì)高達(dá)90%!還等什么?
馬上發(fā)布信息