99久久99久久精品免费看蜜桃,亚洲国产成人精品青青草原,少妇被粗大的猛烈进出va视频,精品国产不卡一区二区三区,人人人妻人人澡人人爽欧美一区

首頁(yè) > 文章中心 > 數(shù)據(jù)采集論文

數(shù)據(jù)采集論文

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇數(shù)據(jù)采集論文范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

數(shù)據(jù)采集論文

數(shù)據(jù)采集論文范文第1篇

基于表層化方式的DeepWeb數(shù)據(jù)采集方法將DeepWeb數(shù)據(jù)采集問題建模為一個(gè)優(yōu)化問題:已知一個(gè)DeepWeb數(shù)據(jù)庫(kù)DB,對(duì)DB的采集可以表示為尋找一個(gè)查詢集合Q={q1,q2,...,qn},在給定的約束條件C滿足的條件下,查詢集合Q從DB獲取的DeepWeb數(shù)據(jù)最多,即查詢集合Q對(duì)DeepWeb數(shù)據(jù)庫(kù)資源的覆蓋率達(dá)到最大。其中,C表示許向Web數(shù)據(jù)庫(kù)提交查詢請(qǐng)求的次數(shù)?;诒韺踊绞降腄eepWeb數(shù)據(jù)采集問題的目標(biāo)就是針對(duì)一個(gè)給定的DeepWeb數(shù)據(jù)庫(kù),尋找一組查詢集合,使用該查詢集合能夠?qū)eepWeb數(shù)據(jù)庫(kù)資源的覆蓋率達(dá)到最大?;诒韺踊姆椒ǖ闹饕枷胧峭ㄟ^向DeepWeb數(shù)據(jù)的查詢接口提交查詢把數(shù)據(jù)從Web數(shù)據(jù)庫(kù)中挖掘出來。這方法能夠充分利用搜索引擎爬蟲,將DeepWeb數(shù)據(jù)的采集轉(zhuǎn)換為SurfaceWeb數(shù)據(jù)采集的方式,不需要做很大的改變就可以無縫的將DeepWeb數(shù)據(jù)集成到現(xiàn)有的搜索引擎中?;诒韺踊绞降腄eepWeb數(shù)據(jù)采集方法的關(guān)鍵是為查詢接口生成合適的查詢,其目標(biāo)是為DeepWeb數(shù)據(jù)的查詢接口生成有效的查詢實(shí)例,構(gòu)造表單查詢,以便將Web數(shù)據(jù)庫(kù)中的內(nèi)容發(fā)現(xiàn)出來。一個(gè)查詢接口可能包含多個(gè)輸入項(xiàng),如果每個(gè)輸入項(xiàng)有100個(gè)有效的取值,那么對(duì)于一個(gè)有3個(gè)輸入項(xiàng)的查詢接口,組合生成的查詢數(shù)量是1,000,000。因此,在迚行DeepWeb數(shù)據(jù)采集時(shí),為每個(gè)查詢接口生成所有可能的查詢是不實(shí)際的。而且,對(duì)于查詢接口中的一些文本輸入項(xiàng),其對(duì)應(yīng)的有效的取值進(jìn)不止100個(gè),如圖書查詢接口的書名,作者等?;诒韺踊椒ǖ腄eepWeb數(shù)據(jù)采集的目標(biāo)是以最小的查詢數(shù)量達(dá)到最大的DeepWeb數(shù)據(jù)覆蓋率。因此,如何為查詢接口生成有效的查詢是實(shí)現(xiàn)DeepWeb數(shù)據(jù)覆蓋率最大化的重要環(huán)節(jié)。目前,針對(duì)這一問題的研究主要有基于詞頻的方法[11],基于集合覆蓋的方法[12,13],基于強(qiáng)化學(xué)習(xí)(ReinforcementLearning,RL)的方法[14-16],面向領(lǐng)域的方法(HiWE[17]、DeepBot[18,19]),基于屬性值圖的方法[20],基于查詢模板的方法[21],基于本體的方法[22-24]等。通過對(duì)查詢接口的分析發(fā)現(xiàn),查詢接口根據(jù)輸入項(xiàng)素的個(gè)數(shù)可分為:簡(jiǎn)單查詢接口(SimpleQueryInterface)和復(fù)雜查詢接口(ComplexQueryInterface)。簡(jiǎn)單查詢接口包含一個(gè)輸入項(xiàng),即為簡(jiǎn)單的關(guān)鍵字查詢接口,使用方式與搜索引擎接口一樣;復(fù)雜查詢接口則包含兩個(gè)或多個(gè)輸入項(xiàng)。因此,本文根據(jù)查詢構(gòu)造方法支持的接口類型將已有工作分為兩類:簡(jiǎn)單查詢接口查詢構(gòu)造方法,復(fù)雜查詢接口查詢構(gòu)造方法。

1.1簡(jiǎn)單查詢接口查詢構(gòu)造方法簡(jiǎn)單查詢接口只有一個(gè)輸入項(xiàng),因此,對(duì)簡(jiǎn)單查詢接口迚行查詢構(gòu)造時(shí)并不需要考慮表單輸入項(xiàng)乊間的關(guān)系,只需要為該輸入項(xiàng)生成候選查詢關(guān)鍵字集合?;谠~頻的方法[11],基于集合覆蓋的方法[12,13],基于強(qiáng)化學(xué)習(xí)(ReinforcementLearning,RL)的方法[14-16]屬于此類的研究。基于詞頻的方法[11]基于一個(gè)假設(shè):在實(shí)際數(shù)據(jù)庫(kù)或文檔集合中的高頻詞比隨機(jī)選擇的詞具有更高的資源覆蓋能力,而且高頻詞作為查詢能夠獲取更多的查詢結(jié)果。因此,該方法對(duì)簡(jiǎn)單搜索接口所在頁(yè)面和查詢返回的結(jié)果迚行抽樣,然后在每一輪查詢結(jié)果中選擇高頻詞構(gòu)造查詢迚行資源采集。但是該方法有個(gè)明顯的不足:在每次查詢時(shí),高頻詞無法確保獲取更多的新頁(yè)面。為此,Wang等人[12,13]將DeepWeb數(shù)據(jù)庫(kù)采集問題建模為集合覆蓋問題,利用目標(biāo)數(shù)據(jù)庫(kù)采樣方法迚行DeepWeb數(shù)據(jù)爬取:首先從目標(biāo)數(shù)據(jù)庫(kù)中獲取部分樣本,引入文檔權(quán)重和查詢權(quán)重,基于文檔權(quán)重和查詢權(quán)重利用貪心選擇策略選擇能夠覆蓋樣本數(shù)據(jù)庫(kù)的文檔重復(fù)率低的查詢?cè)~集合,使用該查詢?cè)~集合采集目標(biāo)數(shù)據(jù)庫(kù)。該方法將原始數(shù)據(jù)庫(kù)的查詢選擇轉(zhuǎn)換為對(duì)樣本數(shù)據(jù)庫(kù)的查詢選擇問題。但是該方法無法保證樣本數(shù)據(jù)與目標(biāo)數(shù)據(jù)庫(kù)是同分布的,因此覆蓋樣本數(shù)據(jù)庫(kù)的查詢?cè)~集合可能不適用于整個(gè)目標(biāo)數(shù)據(jù)庫(kù)。為此,Jiang和Wu等人提出了基于強(qiáng)化學(xué)習(xí)(RL)的DeepWeb數(shù)據(jù)采集框架[14-16],該方法與以往方法的有很大的不同:乊前的方法大多是基于統(tǒng)計(jì)信息選擇查詢,如詞頻,文檔頻率,詞頻-逆文檔頻率:而該方法不僅利用統(tǒng)計(jì)信息,還利用語(yǔ)言特征(詞性、詞的長(zhǎng)度、語(yǔ))以及HTML本身的特征(關(guān)鍵詞的標(biāo)簽、屬性信息、位置信息等)[14]。RL方法許爬蟲根據(jù)從已執(zhí)行的查詢中獲取經(jīng)驗(yàn),自動(dòng)學(xué)習(xí)查詢選擇策略,從而為每一輪查詢選擇收益最大的查詢關(guān)鍵詞迚行資源采集。該方法充分利用查詢關(guān)鍵詞的不同特征和爬蟲的爬取經(jīng)驗(yàn),自動(dòng)的確定當(dāng)前最優(yōu)的查詢選擇,減少了爬蟲的采集負(fù)載和大量空結(jié)果集的出現(xiàn)。但是該方法學(xué)習(xí)過程相對(duì)復(fù)雜,并且僅能應(yīng)用于GET提交方法的表單,無法應(yīng)用于POST類型的提交表單。

1.2復(fù)雜查詢接口查詢構(gòu)造方法不同于簡(jiǎn)單查詢接口,復(fù)雜查詢接口包含兩個(gè)或多個(gè)輸入項(xiàng),對(duì)于表單中的選擇輸入項(xiàng)(如select,radio,checkbox)其輸入值是確定的,但是文本輸入項(xiàng)(如text)的值則是無法確定的,文本輸入項(xiàng)可能只接受數(shù)值類型的輸入值(如商品價(jià)栺)也可能只接受區(qū)間類型的輸入值(如日期),而且表單不同的輸入項(xiàng)乊間可能存在關(guān)聯(lián)關(guān)系。值得注意的是,復(fù)雜查詢接口并不一定為所有的輸入項(xiàng)都準(zhǔn)備輸入值才能獲得查詢結(jié)果,因此,對(duì)復(fù)雜查詢接口迚行查詢構(gòu)造時(shí),首先需要確定輸入項(xiàng)的值域或約束,然后選擇迚行查詢構(gòu)造的輸入項(xiàng)并為其準(zhǔn)備輸入值,生成表單查詢實(shí)例。HiWE[17],DeepBot[18,19],基于屬性值圖的方法[20],基于查詢模板的方法[21],基于本體的方法[22-24]等則屬于此類工作。HiWE[17]是一面向特定領(lǐng)域(仸務(wù))的采集方法,該方法需要人工提供領(lǐng)域?qū)傩约皩傩匀≈导?并且通過查詢接口屬性集合與領(lǐng)域?qū)傩约系南嗨菩詣`斷,自動(dòng)選擇領(lǐng)域相關(guān)的查詢接口;接著利用人工提供的屬性取值填充表單,生成表單查詢;然后迚行DeepWeb數(shù)據(jù)的采集,并根據(jù)采集經(jīng)驗(yàn)利用表單選擇輸入項(xiàng)素的取值更新屬性取值。但是該方法沒有考慮自動(dòng)為文本輸入項(xiàng)產(chǎn)生新的查詢?cè)~,只能依賴人工提供的知識(shí)。不同于HiWE,Wu[20]提出一基于屬性值圖的查詢構(gòu)造方法。該方法將基于查詢的DeepWeb數(shù)據(jù)采集建模為圖的遍歷問題:定義基于屬性值的圖模型,將一個(gè)結(jié)構(gòu)化的Web數(shù)據(jù)庫(kù)看作是一個(gè)單一關(guān)系的數(shù)據(jù)表,每個(gè)屬性值為圖中的一個(gè)結(jié)點(diǎn),邊為兩個(gè)不同的屬性取值在一個(gè)數(shù)據(jù)實(shí)例中的共現(xiàn)關(guān)系。該工作得出結(jié)論認(rèn)為結(jié)構(gòu)化的數(shù)據(jù)庫(kù)屬性值圖中結(jié)點(diǎn)的度分布與冪律分布(powerlaw)相似,并以此為依據(jù)采用貪心選擇策略選擇度大的結(jié)點(diǎn)生成表單查詢。但是該方法需要將每一次的查詢結(jié)果更新到已有的屬性值圖中,然后選擇下一個(gè)新的待提交的查詢?cè)~,這方法更新屬性值圖的代價(jià)較高。DeepBot[18,19]是一個(gè)基于瀏覽器內(nèi)核開發(fā)的DeepWeb數(shù)據(jù)采集的框架,它與HiWE類似,都采用面向特定領(lǐng)域的方式。DeepBot接受一組領(lǐng)域定義集合作為輸入,自動(dòng)識(shí)別與該集合相關(guān)的表單;然后利用領(lǐng)域定義集合為匹配的表單素賦值,生成表單查詢。其中,領(lǐng)域定義集合用于定義采集仸務(wù)。該方法通過領(lǐng)域定義與表單乊間的相似度計(jì)算自動(dòng)選擇匹配的表單,許表單素和領(lǐng)域定義乊間存在不完全匹配的情況。DeepBot采用瀏覽器內(nèi)核解決網(wǎng)頁(yè)客戶端瀏覽器腳本解析問題,但是該方法完全依賴人工提供的領(lǐng)域定義集合,不能自動(dòng)產(chǎn)生新的查詢?cè)~。為此,Madhavan[21]提出了一基于查詢模板的DeepWeb數(shù)據(jù)自動(dòng)采集方法,該方法自動(dòng)刞斷查詢接口中輸入素接受的數(shù)據(jù)類型,選擇查詢接口中的輸入項(xiàng)的一個(gè)子集作為約束項(xiàng)構(gòu)造查詢模板。在約束項(xiàng)乊間利用笛卡爾積的形式產(chǎn)生不同的查詢請(qǐng)求。約束項(xiàng)的取值有兩方式確定:對(duì)于選擇輸入項(xiàng),則利用查詢接口提供的取值集合;對(duì)于文本輸入項(xiàng),首先利用表單所在頁(yè)面的信息構(gòu)造刜始候選詞,然后從查詢結(jié)果文檔中提取額外的關(guān)鍵詞更新候選詞列表,重復(fù)該步驟直到不能提取新的關(guān)鍵詞為止或是達(dá)到停止條件,最后將這些查詢?cè)~作為該文本輸入項(xiàng)的取值集合。該方法通過表單查詢返回結(jié)果驗(yàn)證查詢模板的有效性,并且采用自底向上的有效模板的增量式算法構(gòu)造查詢模板。雖然該方法能夠自動(dòng)實(shí)現(xiàn)DeepWeb數(shù)據(jù)查詢請(qǐng)求的生成,但是對(duì)于包含多個(gè)輸入項(xiàng)的查詢接口來說,其對(duì)應(yīng)文本輸入項(xiàng)取值集合的確定,查詢模板有效性的驗(yàn)證過程復(fù)雜,導(dǎo)致DeepWeb數(shù)據(jù)采集的效率較低?;诒倔w的查詢構(gòu)造方法[22-24]與上述方法不同,該方法通過本體直接定義查詢接口中每個(gè)素的類型和取值以及素乊間的依賴關(guān)系,將本體作為輸入直接生成表單查詢。[22]是一針對(duì)語(yǔ)義網(wǎng)環(huán)境的DeepWeb數(shù)據(jù)查詢方法。[23]是一基于本體的屬性自動(dòng)抽取和查詢轉(zhuǎn)換方法,該方法將WordNet作為本體,利用本體在DeepWeb數(shù)據(jù)中加入語(yǔ)義層實(shí)現(xiàn)表單查詢的生成。[24]是一基于面向?qū)嶓wDeepWeb數(shù)據(jù)查詢的方法,該方法將Freebase作為本體知識(shí),利用本體和查詢?nèi)罩?querylogs)產(chǎn)生實(shí)體查詢,用于DeepWeb數(shù)據(jù)的采集。但是基于本體的方法與HiWE和DeepBot類似都依賴外部的人工指定的輸入信息,自適應(yīng)性差。

2DeepWeb數(shù)據(jù)采集查詢構(gòu)造方法分析

仸何一查詢構(gòu)造方法的一個(gè)非常重要的特征是其自動(dòng)化程度,這是指在查詢構(gòu)造過程中需要用戶完成的工作量。除此乊外,由于DeepWeb數(shù)據(jù)面向的領(lǐng)域廣泛,類型多樣,因此,查詢構(gòu)造方法最需要具備擴(kuò)展性,如:在DeepWeb數(shù)據(jù)源的類型或領(lǐng)域發(fā)生變化時(shí),該方法仍然能夠正常工作。本節(jié)從支持的查詢接口提交方法,查詢?cè)~提供方式,自動(dòng)化程度,擴(kuò)展性角度對(duì)比分析目前已有的查詢構(gòu)造方法。表1是目前已有的查詢構(gòu)造方法定性比較的結(jié)果,在自動(dòng)化程度一列,“AUTO”表示完全自動(dòng)、“SEMI”表示半自動(dòng)、“NO”表示人工完成。在擴(kuò)展性方面,劃分為三個(gè)層次,分別用“好”、“中”、“差”表示使用相關(guān)方法或工具的可擴(kuò)展程度?;诒韺踊椒ǖ腄eepWeb數(shù)據(jù)采集的目標(biāo)是以最小的查詢數(shù)量達(dá)到最大的DeepWeb數(shù)據(jù)覆蓋率,因此,構(gòu)造的表單查詢的好壞直接影響目標(biāo)的實(shí)現(xiàn)。雖然已有的查詢構(gòu)造方法能夠表明確實(shí)可以使大量的DeepWeb數(shù)據(jù)內(nèi)容對(duì)用戶可見,但它也存在一些局限性,如表2所示。從表1可以看出,這些查詢構(gòu)造方法只能處理提交方法是GET類型的DeepWeb數(shù)據(jù)庫(kù),不能應(yīng)用于使用POST方法的DeepWeb數(shù)據(jù)庫(kù)。除此乊外,從表2可以看出,已有的查詢構(gòu)造方法都存在不同程度的局限性。通過對(duì)相關(guān)工作的分析可以看出,目前,缺少一能夠同時(shí)處理GET和POST提交方法,具備自動(dòng),可擴(kuò)展應(yīng)用到不同領(lǐng)域的表單查詢構(gòu)造方法。因此,DeepWeb數(shù)據(jù)采集的查詢構(gòu)造方法仍然需要做迚一步的研究。表層化的方法通過向DeepWeb數(shù)據(jù)的查詢接口提交查詢把數(shù)據(jù)從DeepWeb數(shù)據(jù)庫(kù)中挖掘出來,得到的DeepWeb數(shù)據(jù)可以用于構(gòu)造以數(shù)據(jù)分析和挖掘?yàn)槟康牡母鲬?yīng)用或是數(shù)據(jù)集成應(yīng)用。利用該方法迚行DeepWeb數(shù)據(jù)采集有以下優(yōu)點(diǎn):(1)該方法能夠無縫的集成搜索引擎爬蟲,不需要對(duì)搜索引擎爬蟲做改動(dòng)就可以實(shí)現(xiàn)DeepWeb數(shù)據(jù)的采集;(2)基于表層化方法的DeepWeb數(shù)據(jù)采集系統(tǒng)可以將對(duì)應(yīng)的DeepWeb數(shù)據(jù)庫(kù)的數(shù)據(jù)保存到本地,這樣可以根據(jù)需求對(duì)得到的DeepWeb數(shù)據(jù)迚行預(yù)處理,如:連接來自不同DeepWeb數(shù)據(jù)庫(kù)的數(shù)據(jù),初除重復(fù)內(nèi)容等;可以為DeepWeb數(shù)據(jù)預(yù)先創(chuàng)建索引,以便快速響應(yīng)用戶查詢請(qǐng)求;(4)該方法可以使從DeepWeb數(shù)據(jù)庫(kù)得到的內(nèi)容和從SurfaceWeb得到的內(nèi)容以相同方式采集。雖然基于表層化處理方式的DeepWeb數(shù)據(jù)采集方法確實(shí)可以使大量的DeepWeb數(shù)據(jù)內(nèi)容對(duì)搜索引擎用戶可見,但它也存在嚴(yán)重的局限性。(1)有很大一部分DeepWeb數(shù)據(jù)庫(kù)的內(nèi)容無法通過現(xiàn)有的DeepWeb數(shù)據(jù)采集技術(shù)爬取到,原因在于,目前的表層化處理方法只能處理查詢接口的提交方法是GET類型的DeepWeb數(shù)據(jù)庫(kù),不能應(yīng)用于使用POST方法的DeepWeb數(shù)據(jù)庫(kù);(2)該方法對(duì)保持采集的DeepWeb數(shù)據(jù)庫(kù)的數(shù)據(jù)的時(shí)新性(datafreshness)非常困難,因?yàn)镈eepWeb數(shù)據(jù)庫(kù)的內(nèi)容是動(dòng)態(tài),多變的,搜索引擎爬蟲可能無法跟上快速變化的DeepWeb數(shù)據(jù)。表層化的方法面臨的最大的挑戰(zhàn)是如何為DeepWeb數(shù)據(jù)庫(kù)的查詢接口選擇合適的查詢,這涉及到兩個(gè)主要問題:第一,需要為查詢接口中的各表單輸入項(xiàng)找出合適的輸入值,對(duì)于表單中的選擇輸入項(xiàng)(如下拉、單選、多選等),它們的輸入值是已知的,可以直接利用查詢接口中提供的取值即可,但是對(duì)于表單中的文本輸入項(xiàng),則需要為其預(yù)測(cè)合適的輸入值;第二,必須控制向查詢接口提交查詢請(qǐng)求的數(shù)量,以免對(duì)DeepWeb數(shù)據(jù)庫(kù)的提供商(DeepWeb數(shù)據(jù)所在站點(diǎn))帶來不合理的負(fù)載。通過對(duì)表層化方式的DeepWeb數(shù)據(jù)采集方法分析,我們發(fā)現(xiàn)現(xiàn)有的表層化方法在解決DeepWeb數(shù)據(jù)采集的難題時(shí),也存在不同程度的局限性,這導(dǎo)致現(xiàn)有的DeepWeb數(shù)據(jù)采集方法難滿足大數(shù)據(jù)的規(guī)模性,多樣性和高速性的特點(diǎn),因此如何克服現(xiàn)有DeepWeb數(shù)據(jù)采集方法的局限性,在現(xiàn)有方法的基礎(chǔ)上做出迚一步改迚是未來需要研究的問題。

3研究展望

數(shù)據(jù)采集論文范文第2篇

關(guān)鍵詞:USBLabVIEW數(shù)據(jù)采集

通用串行總線USB(UniversalSerialBus)作為一種新型的數(shù)據(jù)通信接口在越來越廣闊的領(lǐng)域得到應(yīng)用。而基于USB接口的數(shù)據(jù)采集卡與傳統(tǒng)的PCI卡及ISA卡相比具有即插即用、熱插拔、傳輸速度快、通用性強(qiáng)、易擴(kuò)展和性價(jià)比高等優(yōu)點(diǎn)。

USB的應(yīng)用程序一般用VisualC++編寫,較為復(fù)雜,花費(fèi)的時(shí)間較長(zhǎng)。由美國(guó)國(guó)家儀器(VI)公司開發(fā)的LabVIEW語(yǔ)言是一種基于圖形程序的編程語(yǔ)言,內(nèi)含豐富的數(shù)據(jù)采集、數(shù)據(jù)信號(hào)分析分析以及控制等子程序,用戶利用創(chuàng)建和調(diào)用子程序的方法編寫程序,使創(chuàng)建的程序模塊化,易于調(diào)試、理解和維護(hù),而且程序編程簡(jiǎn)單、直觀。因此它特別適用于數(shù)據(jù)采集處理系統(tǒng)。利用它編制USB應(yīng)用程序,把LabVIEW語(yǔ)言和USB總線緊密結(jié)合起來的數(shù)據(jù)采集系統(tǒng)將集成兩者的優(yōu)點(diǎn)。USB總線可以實(shí)現(xiàn)對(duì)外部數(shù)據(jù)實(shí)時(shí)高速的采集,把采集的數(shù)據(jù)傳送到主機(jī)后再通過LabVIEW的功能模塊順利實(shí)現(xiàn)數(shù)據(jù)顯示、分析和存儲(chǔ)。

1USB及其在數(shù)據(jù)采集設(shè)備中的應(yīng)用

USB自1995年在Comdex上亮相以來,已廣泛地為各PC廠家所支持。現(xiàn)在生產(chǎn)的PC幾乎都配置了USB接口,Microsoft的Windows98、NT以及MacOS、Linux等流行操作系統(tǒng)都增加對(duì)USB的支持。USB具有速度快、設(shè)備安裝和配置容易、易于擴(kuò)展、能夠采用總線供電、使用靈活等主要優(yōu)點(diǎn),應(yīng)用越來越廣泛。

一個(gè)實(shí)用的USB數(shù)據(jù)采集系統(tǒng)硬件一般包括微控制器、USB通信接口以及根據(jù)系統(tǒng)需要添加的A/D轉(zhuǎn)換器和EPROM、SRAM等。為了擴(kuò)展其用途,還可以加上多路模擬開關(guān)和數(shù)字I/O端口。系統(tǒng)的A/D、數(shù)字I/O的設(shè)計(jì)可沿用傳統(tǒng)的設(shè)計(jì)方法,根據(jù)采集的精度、速率、通道數(shù)等諸元素選擇合適的芯片,設(shè)計(jì)時(shí)應(yīng)充分注意抗干擾性,尤其對(duì)A/D采集更是如此。在微控制器和USB接口的選擇上有兩種方式:一種是采用普通單片機(jī)加上專用的USB通信芯片;另一種是采用具備USB通信功能的單片機(jī)。USB的另一大優(yōu)點(diǎn)是可以總線供電,在數(shù)據(jù)采集設(shè)備中耗電量通道不大,因此可以設(shè)計(jì)成總線供電。

一個(gè)USB設(shè)備的軟件一般包括主機(jī)的驅(qū)動(dòng)程序、應(yīng)用程序和寫進(jìn)ROM里面的Firmware。Windows98提供了多種USB設(shè)備的驅(qū)動(dòng)程序,但還沒有一種專門針對(duì)數(shù)據(jù)采集系統(tǒng),所以必須針對(duì)特定的設(shè)備編制驅(qū)動(dòng)程序。盡管系統(tǒng)已經(jīng)提供了很多標(biāo)準(zhǔn)接口函數(shù),但編制驅(qū)動(dòng)程序仍然是USB開發(fā)中最困難的一件事。通常采用WindowsDDK實(shí)現(xiàn),但現(xiàn)在有許多第三方軟件廠商提供了各種各樣的生成工具,如Compuware的DriverWorks、BlueWaters的DriverWizard等軟件能夠輕易地生成高質(zhì)量的USB驅(qū)動(dòng)程序。單片機(jī)程序的編制也同樣困難,而且沒有任何一家廠商提供了自動(dòng)生成的工具。編制一個(gè)穩(wěn)定、完善的單片機(jī)程序直接關(guān)系到設(shè)備性能,必須給予充分的重視。以上兩個(gè)程序是開發(fā)者所關(guān)心的,而用戶卻不太關(guān)心。用戶關(guān)心的是如何高效地通過鼠標(biāo)操作設(shè)備,如何處理和分析采集進(jìn)來的大量數(shù)據(jù)。因此還必須有高質(zhì)量的用戶軟件。用戶軟件必須有友好的界面、強(qiáng)大的數(shù)據(jù)分析和處理能力以及提供給用戶進(jìn)行再開發(fā)的接口。

2LabVIEW及其外部動(dòng)態(tài)鏈接庫(kù)的調(diào)用

LabVIEW是美國(guó)國(guó)家儀器(NI)公司開發(fā)的一種基于圖形程序的虛擬儀表編程語(yǔ)言,其在測(cè)試與測(cè)量、數(shù)據(jù)采集、儀器控制、數(shù)字信號(hào)分析、工廠自動(dòng)化等領(lǐng)域獲得了廣泛的應(yīng)用。LabVIEW程序稱為虛擬儀器程序(簡(jiǎn)稱VI),主要包括兩部分:前面板(即人機(jī)界面)和方框圖程序。前面板用于模擬真實(shí)儀器的面板操作,可設(shè)置輸入數(shù)值、觀察輸出值以及實(shí)現(xiàn)圖表、文本等顯示。框圖程序應(yīng)用圖形編程語(yǔ)言編寫,相當(dāng)于傳統(tǒng)程序的源代碼。其用于傳送前面板輸入的命令參數(shù)到儀器以執(zhí)行相應(yīng)的操作。LabVIEW的強(qiáng)大功能在于層次化結(jié)構(gòu),用戶可以把創(chuàng)建的VI程序當(dāng)作子程序調(diào)用,以創(chuàng)建更復(fù)雜的程序,而且,調(diào)用階數(shù)可以是任意的。LabVIEW這種創(chuàng)建和調(diào)用子程序的方法使創(chuàng)建的程序模塊化,易于調(diào)試、理解和維護(hù)。LabVIEW編程方法與傳統(tǒng)的程序設(shè)計(jì)方法不同,它擁有流程圖程序設(shè)計(jì)語(yǔ)言的特點(diǎn),擺脫了傳統(tǒng)程序語(yǔ)言線形結(jié)構(gòu)的束縛。LabVIEW的執(zhí)行順序依方塊圖間數(shù)據(jù)的流向決定,而不像一般通用的編程語(yǔ)言逐行執(zhí)行。在編寫方框圖程序時(shí),只需從功能模塊中選用不同的函數(shù)圖標(biāo),然后再以線條相互連接,即可實(shí)現(xiàn)數(shù)據(jù)的傳輸。

LabVIEW雖有接口卡的驅(qū)動(dòng)和管理程序,但主要是針對(duì)NI公司自己生產(chǎn)的卡。對(duì)于普通的I/O卡,還不能直接被LabVIEW所應(yīng)用,必須采取其他方法。其中可以用LabVIEW的PortIn和PortOut功能,但此法應(yīng)用簡(jiǎn)單,無法實(shí)現(xiàn)較復(fù)雜的接口功能。而采用動(dòng)態(tài)鏈接庫(kù),可以根據(jù)具體需要編寫適當(dāng)?shù)某绦?,靈活利用LabVIEW的各項(xiàng)功能。用戶可以自己編寫DLLs實(shí)現(xiàn)LabVIEW與硬件的鏈接。用VC++6.0編制動(dòng)態(tài)鏈接庫(kù),首先生成DLL框架,AppWizard將自動(dòng)生成項(xiàng)目文件,但不產(chǎn)生任何代碼,所有代碼均需用戶自己鍵入。DLL需要的文件有:①h函數(shù)聲明文件;②c源文件;③def定義文件。H文件的作用是聲明DLL要實(shí)現(xiàn)的函數(shù)原型,供DLL編譯使用,同時(shí)還提供應(yīng)用程序編譯使用。C文件是實(shí)現(xiàn)具體文件的源文件,它有一個(gè)入口點(diǎn)函數(shù),在DLL被初次調(diào)用的運(yùn)行,做一些初始化工作。一般情況下,用戶無須做什么初始化工作,只需保留入口點(diǎn)函數(shù)框架即可。def文件是DLL項(xiàng)目中比較特殊的文件,它用來定義該DLL項(xiàng)目將輸出哪些函數(shù),只有該文件列出的函數(shù)才能被應(yīng)用函數(shù)調(diào)用。要輸出的函數(shù)名列在該文件EXPORTS關(guān)鍵字下面。

3基于AN2131Q的單光子采集系統(tǒng)

該采集系統(tǒng)由筆者自行開發(fā)并用于單光子計(jì)數(shù)種子活性快速檢測(cè)儀中。它主要由將光子信號(hào)轉(zhuǎn)為電信號(hào)的光電倍增管(PMT)及其輔助電路和基于AN2131Q的USB采集卡組成。PMT及其前置放大器、放大器、甄別器等輔助電路能將微弱的光子信號(hào)轉(zhuǎn)換為15ns的標(biāo)準(zhǔn)TTL脈沖信號(hào),脈沖信號(hào)經(jīng)過分頻處理后再被USB采集,USB將采集的結(jié)果實(shí)時(shí)地傳給主機(jī)處理。

3.1USB采集卡的硬件組成

該采集卡由微控制器、USB通信接口、主機(jī)以及數(shù)字I/O端口組成,如圖1所示。

筆者設(shè)計(jì)了一種同步傳輸方式的單片方案,應(yīng)用了內(nèi)置微處理器的USB設(shè)計(jì)——EZ-USBAN2131Q。它是Cypress公司的一種內(nèi)嵌微控制器的80腳USB芯片,包含三個(gè)8位多功能口,8位數(shù)據(jù)端口,16位地址端口,二個(gè)USB數(shù)據(jù)端口,二個(gè)可定義16位的定時(shí)/計(jì)數(shù)器和其他輸入輸出端口。其采用一種基于內(nèi)部RAM的解決方案,允許客戶隨時(shí)不斷地設(shè)置和升級(jí),不受端口數(shù)、緩沖大小和傳輸速度及傳輸方式的限制。片內(nèi)嵌有一個(gè)增強(qiáng)型8051微控制器,其4個(gè)時(shí)鐘的循環(huán)周期使它比標(biāo)準(zhǔn)8051的速度快3倍。采用同步傳輸方式將單片機(jī)的計(jì)數(shù)值實(shí)時(shí)傳送給主機(jī),而主機(jī)對(duì)計(jì)數(shù)器的控制信號(hào)則采用塊傳輸方式傳送。EZ-USB是Cypress公司推出的USB開發(fā)系統(tǒng),它為USB外設(shè)提供了一種很好的集成化解決方案。EZ-USB在其內(nèi)核已做了大量繁瑣的、重復(fù)性的工作,這樣就簡(jiǎn)化了開發(fā)代碼,進(jìn)而縮短了開發(fā)周期。此外,開發(fā)商還提供了配套的開發(fā)軟件(包括編譯軟件uVision51、調(diào)試軟件dScope51、控制軟件EZUSBControllPanel)以及驅(qū)動(dòng)程序GPD(GeneralPurposeDriver)接口,以便于用戶進(jìn)行開發(fā)使用。

圖2開啟設(shè)備和獲取采集數(shù)據(jù)的流程圖

3.2USB采集卡的軟件構(gòu)成

在USB的Firmware中,采取同步傳輸(IsochronousTransactions)和塊傳輸(BulkTransactions)兩種傳輸方式。同步方式用來實(shí)時(shí)傳送采集的數(shù)據(jù),塊傳輸主要用來傳輸主機(jī)命令信號(hào)和USB的狀態(tài)信息。塊傳輸中利用端點(diǎn)(Endpoint)2。兩種傳輸方式的核心中斷程序如下:

voidISR_Sutok(void)interrupt0//塊傳輸方式

{

//initializethecoutersinthe8051

TMOD=0x05;

TCON=0x10;

TH0=0;

TL0=0;

Thb=0,

TH0=0;

TL0=0;

thb=0;

EZUSB_IRQ_CLEAR();

USBIRQ=bmSUTOK;//ClearSUTOKIRQ

}

voidISR_Sof(void)interrupt0//同步傳輸方式

{

if(TCON&0x21){//Dealwiththecounteroverflow

TH0=0;

Tl0=0;

THB++;

TCON&=0xdf;}

IN8DATA=TH0;//3Bytescounterresult

IN8DATA=TL0;

IN8DATA=THB;

EZUSB_IRQ_CLEAR();

USBIRQ=bmSOF;//ClearSOFIRQ

}

在LabVIEW應(yīng)用程序中設(shè)計(jì)了一Usb.dll文件作為L(zhǎng)abVIEW與USB的驅(qū)動(dòng)程序。由于EZ-USB開發(fā)系統(tǒng)中已經(jīng)提供了底層驅(qū)動(dòng)程序(GPD)接口函數(shù),用戶只需調(diào)用這些函數(shù)即可與USB設(shè)備連接。因此在DLL的編制中只需調(diào)用它提供的函數(shù),大大節(jié)約了開發(fā)時(shí)間,提高了開發(fā)速度。創(chuàng)建的Usb.dll文件中包含了如下五個(gè)輸出函數(shù),功能說明如表1所示。

表1Usb.dll包含函數(shù)的功能說明

Control主機(jī)對(duì)USB設(shè)備的控制

ReadResult獲取USB發(fā)送到主機(jī)的數(shù)據(jù)

StartIsoStream啟動(dòng)設(shè)備的同步傳輸流

StartThread得到標(biāo)準(zhǔn)設(shè)備的設(shè)備描述符

StopThread關(guān)閉設(shè)備的同步傳輸流

其定義如下:

LPSTR_declspec(dllexport)_stdcallControl(intinput);

int_declspec(dllexport)_stdcallReadResult(void);

int_declspec(dllexport)_stdcallStartIsoStream(void);

int_declspec(dllexport)_stdcallStartThread(void);

int_declspec(dllexport)_stdcallStopThread(void);

開啟設(shè)備和獲取采集數(shù)據(jù)的過程如圖2所示。它的主要功能有:開啟或關(guān)閉USB設(shè)備、檢測(cè)USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道(pipe)和端點(diǎn)(endpoint)、實(shí)時(shí)從USB接口采集數(shù)據(jù)、顯示并分析數(shù)據(jù)。

數(shù)據(jù)采集論文范文第3篇

基于通用信號(hào)處理開發(fā)板,利用FPGA技術(shù)控制AD9233芯片對(duì)目標(biāo)模擬信號(hào)采樣,再將采樣量化后的數(shù)據(jù)寫入U(xiǎn)SB接口芯片CY7C68013的FIFO中,F(xiàn)IFO寫滿后采用自動(dòng)觸發(fā)工作方式將數(shù)據(jù)傳輸?shù)絇C機(jī)。利用VC++6.0軟件編寫上位機(jī)實(shí)現(xiàn)友好的人機(jī)交互界面,將傳輸?shù)絇C機(jī)上的數(shù)據(jù)進(jìn)行儲(chǔ)存和實(shí)時(shí)回放。本系統(tǒng)主要實(shí)現(xiàn)以下兩大功能:1)ADC模塊對(duì)目標(biāo)模擬信號(hào)進(jìn)行采樣,利用FPGA技術(shù)將采樣后的數(shù)據(jù)傳輸?shù)経SB接口芯片CY7C68013的FIFO中存儲(chǔ)。2)運(yùn)用USB2.0總線數(shù)據(jù)傳輸技術(shù),將雷達(dá)回波信號(hào)數(shù)據(jù)傳輸?shù)絇C機(jī)實(shí)時(shí)回放。分為應(yīng)用層、內(nèi)核層和物理層3部分。應(yīng)用層和內(nèi)核層主要由軟件實(shí)現(xiàn)。應(yīng)用層采用VC++6.0開發(fā)用戶界面程序,為用戶提供可視化操作界面。內(nèi)核層基于DriverWorks和DDK開發(fā)系統(tǒng)驅(qū)動(dòng)程序,主要起應(yīng)用軟件與硬件之間的橋梁作用,把客戶端的控制命令或數(shù)據(jù)流傳到硬件中,同時(shí)把硬件傳輸過來的數(shù)據(jù)進(jìn)行緩存。物理層主要以FPGA為核心,對(duì)USB接口芯片CY7C68013進(jìn)行控制,通過USB2.0總線實(shí)現(xiàn)對(duì)中頻信號(hào)采集。系統(tǒng)設(shè)計(jì)采用自底向上的方法,從硬件設(shè)計(jì)開始逐步到最終的應(yīng)用軟件的設(shè)計(jì)。

2硬件設(shè)計(jì)

FPGA在觸發(fā)信號(hào)下,控制ADC采樣輸入信號(hào),并存入FIFO中。當(dāng)存滿時(shí),將數(shù)據(jù)寫入U(xiǎn)SB接口芯片CY7C68013,同時(shí)切換另一塊FIFO接收ADC轉(zhuǎn)換的數(shù)據(jù),實(shí)現(xiàn)乒乓存儲(chǔ),以提高效率。FPGA模塊的一個(gè)重要作用是控制USB接口芯片CY7C68013。當(dāng)ADC采樣后,數(shù)據(jù)進(jìn)入FPGA模塊,F(xiàn)PGA控制數(shù)據(jù)流將其寫入CY7C68013的FIFO中,以便于USB向PC機(jī)傳輸。CY7C68013的數(shù)據(jù)傳輸模式采用異步slaveFIFO和同步slaveFIFO切換模式。通過實(shí)測(cè),前者傳輸速度約為5~10Mbit/s,后者傳輸速度最高可達(dá)20Mbit/s,傳輸速度的提高可通過更改驅(qū)動(dòng)程序的讀取方式實(shí)現(xiàn)。

3軟件設(shè)計(jì)

3.1USB驅(qū)動(dòng)程序設(shè)計(jì)

USB2.0總線傳輸技術(shù)最高速率可達(dá)480Mbit/s。本系統(tǒng)采用批量傳輸?shù)膕laveFIFO模式。CY7C68013芯片內(nèi)部提供了多個(gè)FIFO緩沖區(qū),外部邏輯可對(duì)這些端點(diǎn)FIFO緩沖區(qū)直接進(jìn)行讀寫操作。在該種傳輸模式下,USB數(shù)據(jù)在USB主機(jī)與外部邏輯通信時(shí)無需CPU的干預(yù),可大大提高數(shù)據(jù)傳輸速度。Cypress公司為CY7C68013芯片提供了通用的驅(qū)動(dòng)程序,用戶可根據(jù)需求開發(fā)相應(yīng)的固件程序。

3.2FPGA模塊程序設(shè)計(jì)

系統(tǒng)中FPGA模塊的核心作用是控制AD9233芯片進(jìn)行采樣。AD9233作為高速采樣芯片,其最高采樣速率達(dá)125Mbit/s,最大模擬帶寬為650MHz。通過改變采樣速率可使該系統(tǒng)采集不同速率需求的信號(hào),擴(kuò)展了該系統(tǒng)的應(yīng)用范圍。描述FPGA控制USB數(shù)據(jù)寫入接口芯片F(xiàn)IFO的狀態(tài)機(jī)如圖6所示。狀態(tài)1表示指向INFIFO,觸發(fā)FIFOADR[1:0],轉(zhuǎn)向狀態(tài)2;狀態(tài)2表示若FIFO未滿則轉(zhuǎn)向狀態(tài)3,否則停留在狀態(tài)2;狀態(tài)3表示驅(qū)動(dòng)數(shù)據(jù)到總線上,通過觸發(fā)SLWR寫數(shù)據(jù)到FIFO并增加FIFO的指針,然后轉(zhuǎn)向狀態(tài)4;狀態(tài)4表示若還有數(shù)據(jù)寫則轉(zhuǎn)向狀態(tài)2,否則轉(zhuǎn)向完成。

3.3上位機(jī)設(shè)計(jì)

為實(shí)現(xiàn)人機(jī)交互,利用VC++MFC在PC機(jī)上編寫了可視化操作界面,即上位機(jī)。上位機(jī)既用于數(shù)據(jù)采集的控制,同時(shí)也用于采集數(shù)據(jù)的實(shí)時(shí)回放。上位機(jī)界面如圖7所示。上位機(jī)主要功能:1)按下“檢測(cè)USB”按鈕,可檢測(cè)USB是否連接正常,并顯示USB基本信息。2)按下“開始采集”按鈕,可將采集的數(shù)據(jù)傳輸?shù)絇C機(jī)并實(shí)時(shí)回放數(shù)據(jù)波形;再次按下“開始采集”按鈕,可暫停數(shù)據(jù)波形回放。3)按下“保存數(shù)據(jù)”按鈕,可將采集的數(shù)據(jù)以*.dat文件的形式存儲(chǔ)到PC機(jī)硬盤。4)按下“結(jié)束采集”按鈕,可關(guān)閉采集系統(tǒng)并退出界面;或按下“確定”和“取消”按鈕,也可直接退出界面。

4系統(tǒng)實(shí)測(cè)

為了測(cè)試數(shù)據(jù)采集與回放系統(tǒng),利用通用信號(hào)處理開發(fā)板設(shè)計(jì)了DDS模塊。該DDS模塊產(chǎn)生一個(gè)正弦波作為測(cè)試信號(hào),通過AD9744芯片轉(zhuǎn)換后變?yōu)槟M信號(hào)輸出,并將此輸出信號(hào)接至示波器以便驗(yàn)證系統(tǒng)。數(shù)據(jù)采集與回放系統(tǒng)的實(shí)物圖及系統(tǒng)實(shí)測(cè)波形與回放波形。

5結(jié)束語(yǔ)

數(shù)據(jù)采集論文范文第4篇

1.1TCD1208AP驅(qū)動(dòng)電路TCD1208AP是一種二相雙溝道線陣CCD圖像傳感器芯片,其驅(qū)動(dòng)信號(hào)如圖2所示。四路驅(qū)動(dòng)信號(hào)分別為:轉(zhuǎn)移脈沖SH,復(fù)位脈沖RS,時(shí)鐘脈沖Φ1、Φ2。SH為高電平時(shí)信號(hào)電荷轉(zhuǎn)移到CCD模擬移位寄存器,SH跳變?yōu)榈碗娖胶笤跁r(shí)鐘脈沖Φ1、Φ2交變作用下OS逐個(gè)按位輸出像元電壓信號(hào),隨后發(fā)出RS脈沖去掉信號(hào)輸出緩沖器中的殘余電荷為下一像元電壓輸出做準(zhǔn)備。根據(jù)傳感器結(jié)構(gòu)安排,TCD1208AP在一個(gè)采樣周期中首先輸出40個(gè)啞元信號(hào),之后輸出2160個(gè)有效像元輸出,其后又輸出12個(gè)啞元信號(hào)后一個(gè)輸出周期結(jié)束,因此一個(gè)采樣周期中至少包含2212次時(shí)鐘信號(hào)交變和2212個(gè)復(fù)位脈沖RS。CCD傳感器對(duì)驅(qū)動(dòng)信號(hào)的頻率有嚴(yán)格要求[2],其時(shí)鐘特性如表1所示。STM32驅(qū)動(dòng)信號(hào)產(chǎn)生方法有兩種:a.設(shè)定通用定時(shí)器產(chǎn)生;b.直接設(shè)置IO口模擬。第一種方法計(jì)時(shí)準(zhǔn)確,通過設(shè)置相應(yīng)定時(shí)器的預(yù)分頻寄存器精度可達(dá)0.05μs,但通用定時(shí)器同步困難,需要使用中斷來實(shí)現(xiàn),操作困難且由于CCD交變時(shí)鐘信號(hào)工作頻率高而難以保證準(zhǔn)確同步[3]。系統(tǒng)采用庫(kù)函數(shù)直接設(shè)置CPU寄存器控制IO口的方法輸出驅(qū)動(dòng)信號(hào),通過設(shè)置鎖相環(huán)PLL,STM32的指令執(zhí)行速度高達(dá)72MHz,克服了以往單片機(jī)直接驅(qū)動(dòng)頻率低的問題。IO跳變時(shí)間只有28ns,采用CPU空指令_nop()延時(shí),精度為13ns,完成一個(gè)采樣周期最快只需5ms左右,通過庫(kù)函數(shù)設(shè)置相應(yīng)GPIO口的GPIOx_BSRR寄存器實(shí)現(xiàn)相應(yīng)端口同時(shí)輸出高或低電平可以確保各端口滿足驅(qū)動(dòng)信號(hào)同步性要求。通過分析TCD1208AP驅(qū)動(dòng)信號(hào)時(shí)序圖可以看出除去SH中斷位在一個(gè)Φ1或Φ2周期內(nèi)可以將信號(hào)分為6種狀態(tài)[4],如圖3所示,Φ1、Φ2相位相反,周期為2倍的RS。因此可以采用循環(huán)狀態(tài)分割法讓STM32周期性的輸出大于1106(2212/2)個(gè)Φ1周期內(nèi)的這6種狀態(tài)即可完成一次采樣。根據(jù)圖3可以列出各狀態(tài)的時(shí)序變化值,如表2所示。通過調(diào)整每種狀態(tài)的延時(shí)時(shí)間進(jìn)而得到復(fù)合CCD傳感器驅(qū)動(dòng)信號(hào)頻率要求的信號(hào),在實(shí)際測(cè)量中,延時(shí)函數(shù)的輸入?yún)?shù)可以隨時(shí)調(diào)整,以取得最佳采樣結(jié)果。STM32的引腳輸出高電平為3.3V,輸出信號(hào)經(jīng)由74LS04P芯片組成的電平轉(zhuǎn)換電路放大到5V后接入CCD傳感器相應(yīng)引腳,以滿足傳感器對(duì)驅(qū)動(dòng)信號(hào)電平的要求。調(diào)整延時(shí)函數(shù)的輸入?yún)?shù),在示波器上可以得到輸出驅(qū)動(dòng)信號(hào)的時(shí)序圖如圖4所示。

1.2傳感器輸出電壓處理電路CCD正常工作時(shí)有兩路輸出信號(hào):輸出信號(hào)OS和補(bǔ)償信號(hào)DOS,但該信號(hào)有效信號(hào)幅值小,且存在周期性的復(fù)位脈沖串?dāng)_。系統(tǒng)采用差分運(yùn)算方式處理輸出信號(hào),差分運(yùn)算放大器選用AD公司的AD8031芯片,它是一款低功耗、高速的單電源電壓反饋性放大器,小信號(hào)帶寬為80MHz,壓擺率為30V/μs,建立時(shí)間為125ns。采用+5V電源時(shí),對(duì)于2V峰值、1MHz輸出信號(hào)的總諧波失真(THD)為-62dBc,完全可以滿足系統(tǒng)需要。將CCD的輸出信號(hào)OS和補(bǔ)償輸出信號(hào)DOS分別接到芯片的+IN引腳和-IN引腳可以有效去除OS中含有的復(fù)位噪聲。由于AD8031差分運(yùn)算放大器的最小放大倍數(shù)為1,CCD傳感器的最高模擬電壓輸出為5V,而STM32芯片內(nèi)集成A/D轉(zhuǎn)換器的外接參考電壓VREF+為3.3V,因此需要對(duì)經(jīng)過差分處理的模擬信號(hào)進(jìn)行降壓處理以滿足A/D轉(zhuǎn)換器的量程要求。輸出電壓信號(hào)處理電路如圖5所示,圖中R1=R2=R3=R4=10kΩ,R6=2R5=20kΩ。[5]線陣CCD傳感器輸出信號(hào)頻率高,因此需要AD傳感器有較高的轉(zhuǎn)換速率,系統(tǒng)將時(shí)鐘ADCCLK配置為9MHz,同時(shí)把所用ADC1通道11配置為7.5個(gè)采樣周期,根據(jù)STM32的ADC采樣時(shí)間計(jì)算公式:TCONV采樣周期+12.5個(gè)周期[6]得系統(tǒng)所用ADC1轉(zhuǎn)換通道的轉(zhuǎn)換時(shí)間為:TCONV=(55.5+7.5)×1÷9=7μs,完全滿足線陣CCD傳感器對(duì)轉(zhuǎn)換速率的要求。同時(shí)將ADC1設(shè)置為自動(dòng)DMA傳輸模式,每次轉(zhuǎn)換完成后會(huì)自動(dòng)開啟DMA傳輸功能將所得數(shù)據(jù)采用硬件方式轉(zhuǎn)移到STM32內(nèi)存預(yù)設(shè)位置的數(shù)據(jù)存儲(chǔ)數(shù)組中,這個(gè)過程不需要CPU的參與,不影響CPU產(chǎn)生驅(qū)動(dòng)信號(hào)。ADC1采用軟件啟動(dòng)模式,編程時(shí)在時(shí)序狀態(tài)變化表的特定時(shí)刻插入ADC_SoftwareStartConvCmd()庫(kù)函數(shù)啟動(dòng)ADC轉(zhuǎn)換。

1.3觸控液晶顯示器電路設(shè)計(jì)系統(tǒng)采用2.4寸(240×320)TFT液晶顯示器,由于STM32內(nèi)部沒有集成專用的液晶屏和觸摸屏的控制接口,所以需要外接專用芯片來控制顯示面板,系統(tǒng)采用ILI9325和TSC2046芯片。由STM32的FSMC(靜態(tài)存儲(chǔ)控制器)的NOR/PSRAM模式模擬產(chǎn)生ILI9325的8080接口通信時(shí)序,通過對(duì)FSMC的操作向ILI9325寫入控制命令或GRAM數(shù)據(jù)。通過配置STM32的SPI接口向四線電阻觸摸屏控制器TSC2046寫入控制字和接收控制器返回的屏幕X、Y方向的觸電電壓值。

2系統(tǒng)軟件設(shè)計(jì)

根據(jù)系統(tǒng)硬件功能設(shè)計(jì),系統(tǒng)軟件主要有3個(gè)模塊組成:驅(qū)動(dòng)信號(hào)產(chǎn)生模塊、數(shù)據(jù)處理模塊、液晶顯示模塊。為了使3個(gè)模塊協(xié)調(diào)運(yùn)行、更好地管理微處理器及縮短軟件開發(fā)周期,系統(tǒng)在STM32微處理器平臺(tái)上移植了μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)[7]。根據(jù)所完成任務(wù)性質(zhì)及特性的不同,3個(gè)模塊有不同的優(yōu)先級(jí)及運(yùn)行頻率,其中驅(qū)動(dòng)信號(hào)產(chǎn)生模塊擁有最高優(yōu)先級(jí),可剝奪型的實(shí)時(shí)內(nèi)核在任何時(shí)候都運(yùn)行就緒了的最高優(yōu)先級(jí)任務(wù),數(shù)據(jù)處理模塊的運(yùn)行是基于驅(qū)動(dòng)信號(hào)產(chǎn)生的基礎(chǔ)之上,優(yōu)先級(jí)次低,窗口顯示模塊對(duì)實(shí)時(shí)性要求最低,可設(shè)置最低的優(yōu)先級(jí)。驅(qū)動(dòng)采樣任務(wù)、數(shù)據(jù)處理任務(wù)及顯示任務(wù)的流程如圖6所示。液晶顯示處理任務(wù)負(fù)責(zé)及時(shí)按指定格式顯示出處理后的數(shù)據(jù)及完成通過觸摸屏控制系統(tǒng)的運(yùn)行啟停等人機(jī)交互任務(wù),為了簡(jiǎn)化開發(fā)步驟和提高程序開發(fā)效率,系統(tǒng)在μC/OS-Ⅱ操作系統(tǒng)的基礎(chǔ)上移植了uCGUI嵌入式圖形支持系統(tǒng)。uCGUI設(shè)計(jì)用于為任何使用LCD圖形顯示的應(yīng)用提供高效且獨(dú)立于處理器及LCD控制器的圖形用戶接口。uCGUI可以在任何的CPU上運(yùn)行,因?yàn)樗?00%的標(biāo)準(zhǔn)C代碼編寫的。系統(tǒng)的控制顯示界面如圖7所示。

3結(jié)語(yǔ)

數(shù)據(jù)采集論文范文第5篇

關(guān)鍵詞:數(shù)據(jù)采集PCI總線焊縫缺陷VXD

焊縫缺陷自動(dòng)超聲檢測(cè)系統(tǒng)是一種重要的無損探傷設(shè)備,可用于檢測(cè)平板、管道、容器等的縱、橫焊縫以及接管角焊縫缺陷。與手工檢測(cè)方法相比,該系統(tǒng)具有運(yùn)行平穩(wěn)、漏檢率低、顯示直觀等優(yōu)點(diǎn)。

在焊縫缺陷自動(dòng)超聲檢測(cè)系統(tǒng)中,缺陷回波信號(hào)通常為寬度約10ns~100ns、幅值在幾十μV到幾十mV之間的窄脈沖。為滿足缺陷回波信號(hào)的檢測(cè)要求,研制了一種基于PCI總線的高速數(shù)據(jù)采集卡,它是面向超聲檢測(cè)應(yīng)用而設(shè)計(jì)的:該卡采用轉(zhuǎn)換速率為60MHz的八位高速A/D以滿足數(shù)據(jù)采集的要求;為緩存A/D芯片輸出的高速數(shù)據(jù)并充分利用PCI總線帶寬,加入32KB的高速FIFO緩存組;同時(shí),為滿足多通道探傷的要求,設(shè)計(jì)了通道選擇電路以實(shí)現(xiàn)通道之間的切換;此外,為調(diào)理缺陷回波信號(hào),卡上還配有高增益高帶寬放大電路。

1高速數(shù)據(jù)采集卡的工作原理

焊縫缺陷自動(dòng)超聲檢測(cè)系統(tǒng)的信號(hào)采集框圖如圖1所示。系統(tǒng)的工作原理是:首先由高壓脈沖發(fā)生電路發(fā)射高壓脈沖;高壓脈沖經(jīng)換能器形成超聲波信號(hào),遇到缺陷或雜質(zhì)時(shí)產(chǎn)生反射波,經(jīng)換能器轉(zhuǎn)換為電壓信號(hào),該信號(hào)經(jīng)放大調(diào)理、A/D轉(zhuǎn)換后,形成數(shù)字量,寫入高速FIFO存儲(chǔ)器中。最后,由PCI接口芯片將FIFO中的數(shù)據(jù)適時(shí)地寫入內(nèi)存。

2數(shù)據(jù)采集電路的硬件設(shè)計(jì)

2.1高增益高帶寬放大電路

采用帶觸發(fā)的直流逆變電路產(chǎn)生高壓脈沖,采用多路模擬通道選擇電路實(shí)現(xiàn)通道切換以滿足多通道探傷要求。模擬信號(hào)經(jīng)五級(jí)放大、濾波后,作為A/D轉(zhuǎn)換電路的輸入。放大電路采用最高增益為80dB、帶寬為15MHz且分辨率為1dB的放大器,并且采用數(shù)字電位器實(shí)現(xiàn)放大增益的動(dòng)態(tài)調(diào)整。

2.2A/D轉(zhuǎn)換電路

A/D轉(zhuǎn)換電路采用美國(guó)BB公司的ADS830。該芯片的信噪比高、功耗低、非線性畸變小,廣泛應(yīng)用于圖像處理、數(shù)字通信和視頻測(cè)試系統(tǒng)中。ADS830的精度為八位,最高采樣頻率為60MHz,可滿足焊縫缺陷自動(dòng)超聲檢測(cè)系統(tǒng)對(duì)數(shù)據(jù)采集精度和采樣頻率的要求。它有共模和差模兩種信號(hào)輸入方式,且輸出的數(shù)字量可直接與5V或3.3V芯片接口。

2.3高速FIFO存儲(chǔ)器

高速緩存是保證高速數(shù)據(jù)不丟失的關(guān)鍵,確保了數(shù)據(jù)的真實(shí)性。同時(shí),高速FIFO緩存使A/D芯片不必工作在PCI同步時(shí)鐘下,提高了A/D芯片的利用率。IDT公司的存儲(chǔ)器性能優(yōu)良,且同系列存儲(chǔ)器一般可以做到管腳級(jí)兼容,容易實(shí)現(xiàn)硬件設(shè)計(jì)的模塊化。為方便讀寫數(shù)據(jù),選擇先進(jìn)先出式(FIFO)的緩沖存儲(chǔ)器IDT7205L15。其訪問時(shí)間為15ns,每片容量為8K×9位。支持異步讀寫,并提供諸如滿、半滿、空等用于位擴(kuò)展和深度擴(kuò)展的信號(hào)。高速數(shù)據(jù)采集卡為實(shí)現(xiàn)8位A/D和32位PCI總線的寬度匹配,采用了位擴(kuò)展技術(shù)。為加深FIFO的緩沖深度,將外加FIFO緩存與PCI接口芯片內(nèi)部的FIFO相級(jí)連。

2.4基于CPLD的控制邏輯

基于CPLD的控制邏輯是高速數(shù)據(jù)采集卡的核心,它為PCI接口芯片提供滿足時(shí)序要求的讀寫信號(hào),同時(shí)選擇模擬信號(hào)的輸入通道、控制高壓脈沖發(fā)生邏輯并設(shè)定放大電路的增益。此外,CPLD還能利用高速FIFO緩存的空、滿標(biāo)志位,配合PCI接口芯片實(shí)現(xiàn)DMA寫操作,完成高速數(shù)據(jù)傳輸。Xilinx公司的XC9572XL-VQ64芯片的腳到腳延遲最大為10ns,可滿足PCI總線接口時(shí)序的要求。單片XC9572XL-VQ64能滿足焊縫缺陷自動(dòng)超聲檢測(cè)系統(tǒng)邏輯控制的要求,且具有體積小、可靠性高、調(diào)試方便等突出優(yōu)點(diǎn)。

圖2是基于有限狀態(tài)機(jī)FSM(FiniteStateMachine)方法設(shè)計(jì)的控制邏輯狀態(tài)轉(zhuǎn)換圖。其中,RST和IRQ是由PCI接口芯片S5933輸出的可由程序任意控制的兩個(gè)信號(hào),它們的高低狀態(tài)同高速FIFO緩存的空、滿信號(hào)一起決定了控制邏輯的六個(gè)可能的狀態(tài),圖中以橢圓表示。計(jì)算機(jī)上電時(shí),控制邏輯處于RST=IRQ=1的狀態(tài)。值得一提的是,RST和IRQ信號(hào)都有適當(dāng)?shù)纳侠娮瑁圆粫?huì)出現(xiàn)高阻浮空的狀態(tài),使控制邏輯能夠穩(wěn)定地工作。實(shí)線是控制邏輯采用的狀態(tài)轉(zhuǎn)移路線,而虛線是可能的但不采用的狀態(tài)轉(zhuǎn)移路線。在各狀態(tài)之間進(jìn)行切換是很容易的,只需通過程序使RST或IRQ信號(hào)出現(xiàn)高或低跳變。狀態(tài)轉(zhuǎn)移時(shí)伴隨著的電路動(dòng)作見轉(zhuǎn)換線旁的注釋。

2.5PCI接口芯片

PCI總線協(xié)議2.1版出現(xiàn)以后,集成芯片商們紛紛推出了與其兼容的總線接口芯片。其中,AMCC(AppliedMicroCircuitCorperation)公司的S5933接口方便、控制靈活,軟件配置簡(jiǎn)單,在高速網(wǎng)絡(luò)接口、數(shù)字通信、高速成像等領(lǐng)域有著廣泛應(yīng)用2。S5933最突出的優(yōu)點(diǎn)是能夠作為PCI主控設(shè)備發(fā)起DMA操作,即S5933完全具備雙字DMA控制器的功能。

圖3是結(jié)合系統(tǒng)應(yīng)用而繪制的S5933結(jié)構(gòu)框圖。由圖3可知,S5933內(nèi)部具有配置寄存器組和操作寄存器組,配置寄存器組用于控制S5933在PCI總線系統(tǒng)中的運(yùn)作方式(訪問延遲、能否發(fā)起主控DMA操作等)以及記錄系統(tǒng)分配給S5933的資源信息(如中斷引腳、I/O等)3,而PCI總線和外加電路之間的數(shù)據(jù)交換則通過操作寄存器組實(shí)現(xiàn)。以I/O資源為例,計(jì)算機(jī)上電后,系統(tǒng)將分配給S5933的I/O資源首地址填入基地址寄存器,此值決定了操作寄存器組在I/O空間中的映射位置(S5933的操作寄存器組缺省地映射到I/O地址空間,便于軟件操作),見圖3。之后,CPU只需執(zhí)行簡(jiǎn)單的I/O操作就可以讀寫操作寄存器組,隱含的地址譯碼工作由S5933完成。外加電路控制邏輯則保證操作寄存器組與外加電路的正常通信。S5933提供了三種形式的外加電路接口,高速數(shù)據(jù)采集卡使用信箱(Mailbox)寄存器實(shí)現(xiàn)雙字輸出,用FIFO方式實(shí)現(xiàn)高速DMA寫操作。

圖3S5933的結(jié)構(gòu)框圖

3高速數(shù)據(jù)采集卡的軟件設(shè)計(jì)

3.1虛擬設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)

系統(tǒng)的控制軟件工作在WINDOWS98操作系統(tǒng)下,為此開發(fā)了高速數(shù)據(jù)采集卡的虛擬設(shè)備驅(qū)動(dòng)程序(VXD)。由S5933的結(jié)構(gòu)可知,VXD需要實(shí)現(xiàn)雙字I/O操作和物理內(nèi)存管理。雙字I/O的操作相對(duì)簡(jiǎn)單,調(diào)用虛擬機(jī)管理器(VMM)的SIMULATE_VM_IO例程即可,較困難的是物理內(nèi)存管理。由于S5933發(fā)起的DMA操作需要物理內(nèi)存的起始地址,因此必須涉及頁(yè)面級(jí)的物理內(nèi)存操作,故采用下述內(nèi)存管理策略:

·應(yīng)用程序加載VXD;

·加載成功后發(fā)送申請(qǐng)緩沖區(qū)的事件給VXD;

·VXD使用PAGEALLOCATE例程得到地址連續(xù)的適當(dāng)長(zhǎng)度(如四頁(yè)即16K字節(jié))的物理內(nèi)存;

·鎖定緩沖區(qū)并將物理地址逆映射為線性地址;

·將物理首地址填入S5933的寫RAM地址寄存器;

·允許S5933進(jìn)行主控DMA傳輸;

·傳輸完畢時(shí),應(yīng)用程序請(qǐng)求VXD釋放上述物理內(nèi)存。

3.2應(yīng)用VXD設(shè)計(jì)數(shù)據(jù)采集程序

將VXD放在應(yīng)用程序的同級(jí)目錄下,則以下VC++代碼就能動(dòng)態(tài)加載(VXDVIEWER可驗(yàn)證)一個(gè)VXD:

HANDLEhDEVICE=CreateFile“\\\\.\\pathname”00NULL0FILE_FLAG_DELETE_ON_CLOSENULL;

編好的VXD為應(yīng)用程序提供了若干服務(wù)例程,應(yīng)用程序執(zhí)行下面的代碼即可調(diào)用服務(wù)例程ZHC1:

DeviceIoControlHDEVICEZHC1lpinbufferninsizelpoutbuffernoutsizeNULLNULL;

數(shù)據(jù)采集算法如下:

DO{讀取寫RAM字節(jié)計(jì)數(shù)器;

再次讀取寫RAM字節(jié)計(jì)數(shù)器;

IF計(jì)數(shù)器內(nèi)容為零THEN

跳出循環(huán)進(jìn)行后續(xù)數(shù)據(jù)處理;

ELSEIF兩次讀取的結(jié)果不同THEN

不做任何處理而進(jìn)入下一次循環(huán);

ELSE

清相應(yīng)的狀態(tài)標(biāo)志并設(shè)置有關(guān)寄存器以從斷點(diǎn)處續(xù)傳;

ENDIF

}

相關(guān)期刊更多

數(shù)據(jù)

省級(jí)期刊 審核時(shí)間1個(gè)月內(nèi)

北京市統(tǒng)計(jì)局

大數(shù)據(jù)

統(tǒng)計(jì)源期刊 審核時(shí)間1個(gè)月內(nèi)

工業(yè)和信息化部

數(shù)據(jù)通信

部級(jí)期刊 審核時(shí)間1個(gè)月內(nèi)

信息產(chǎn)業(yè)部