提高實(shí)時(shí)系統(tǒng)數(shù)據(jù)采集質(zhì)量的研究
摘要:從實(shí)現(xiàn)原理、實(shí)際應(yīng)用效果等方面詳細(xì)敘述了提高實(shí)時(shí)系統(tǒng)數(shù)據(jù)采集質(zhì)量的幾種實(shí)用技術(shù),其中所述電路、方法均已在實(shí)際生產(chǎn)中得到了應(yīng)用。
本文引用地址:http://www.ex-cimer.com/article/255621.htm關(guān)鍵詞:前向通道 數(shù)據(jù)采集 實(shí)用技術(shù)
有向通道是實(shí)時(shí)系統(tǒng)的“人口”,即數(shù)據(jù)之源。對(duì)小型實(shí)時(shí)系統(tǒng)來說,其一般構(gòu)成模型為:傳感器、放大器、采集器為(A/D)以及相關(guān)聯(lián)的外圍電路。這些器件乃至構(gòu)成的電路的穩(wěn)定性、線性度、抗干擾能力直接影響到數(shù)據(jù)的采集質(zhì)量。如果不考慮成本,在系統(tǒng)設(shè)計(jì)時(shí)全部采用軍用級(jí)芯片,情況會(huì)好些,但仍程度不同地存在上述問題;如果采用一般商用級(jí)芯片,問題就嚴(yán)重了。這就要求工程人員在系統(tǒng)設(shè)計(jì)時(shí),無論是采用商用級(jí)、工業(yè)級(jí)芯片,還是采用軍用級(jí)芯片,都應(yīng)該從設(shè)計(jì)角度尋求、采取一些彌補(bǔ)措施,以提高數(shù)據(jù)采集質(zhì)量,進(jìn)而提高系統(tǒng)的可靠性和穩(wěn)定性。
1 動(dòng)態(tài)“零漂”補(bǔ)償技術(shù)
前向通道中的傳感器、放大器、A/D易受溫度(導(dǎo)致溫漂)、時(shí)間(導(dǎo)致時(shí)漂)等因素影響而引起系統(tǒng)“零位”動(dòng)態(tài)變化,即所謂“零漂”。恰當(dāng)?shù)厥褂脛?dòng)態(tài)“零漂”補(bǔ)償技術(shù)能夠有效地抑制“零漂”帶來的采集數(shù)據(jù)誤差。圖1為筆者在某爐溫閉環(huán)控制系統(tǒng)中采用的動(dòng)態(tài)“零漂”補(bǔ)償實(shí)用電路。其中AD7503是單片集成的CMOS 8選1多路模擬開關(guān),其前7路分別接7個(gè)傳感器,第8路S8接模擬地。公共輸出端OUT通過R1電阻與放大器AD524輸入端相連。A/D采用12位雙積分ICL7109芯片。其補(bǔ)償原理是:在單片機(jī)8031控制下,分時(shí)地對(duì)動(dòng)態(tài)“零漂”及各路傳感器進(jìn)行采集、處理,最終得到不含“零漂”的有效采術(shù)凈值參加插值運(yùn)算。具體步驟如下:
(1)通過8031程控使AD7503開關(guān)SK接S8,即模擬地。
(2)延遲1ms,消除AD7503開關(guān)時(shí)間及電阻、電容放電時(shí)間帶來的開關(guān)閉合過渡過程。這點(diǎn)應(yīng)引起足夠注意,只有在SK可靠接地之后才能進(jìn)行“零位”采集;否則,如果在過度過程進(jìn)行“零位采集,則會(huì)產(chǎn)生隨機(jī)性誤差,而且被測(cè)試的溫度愈高,呈現(xiàn)的誤差愈大,出現(xiàn)的概率愈頻繁。但延遲時(shí)間也不能過大,過長(zhǎng)會(huì)影響系統(tǒng)的實(shí)時(shí)速度。
過渡過程主要由R、C放電時(shí)間決定。
T=(R1+Ron) ×C1=(220+170)×10×10 5×10 -9=0.39ms
其中:
T:放電時(shí)間;
Ron:AD7503導(dǎo)通電阻。
圖2是用示波器在放大器AD524輸出端(管腳10)觀察到的這一過程的波形圖。
(3)啟動(dòng)A/D連續(xù)采樣數(shù)次,然后求其算術(shù)平均值,記為x0(x0即動(dòng)態(tài)“零漂”采樣值):
(4)通過8031程控制AD7503開關(guān)SK接某一路傳感器(例如傳感器1端S1)。
(5)延遲1ms,消除電阻、電容充電帶來的過渡過程。
(6)啟動(dòng)A/D連續(xù)采樣數(shù)次,然后求其算術(shù)平均值,記為x1(x1即含有動(dòng)態(tài)“零漂”的有效信號(hào)采樣值):
(t:當(dāng)前采樣值,n:采樣次數(shù))
(7)求有效信號(hào)采樣凈值y(即從上述有效信號(hào)采樣值中濾掉“零漂”值)。按照理論x1≥x0,但實(shí)際用于在“零位”附近的有效信號(hào)采樣值,很可能出現(xiàn)x1x0的現(xiàn)象。因而求有效信號(hào)采樣凈值y不能簡(jiǎn)單地使用公式y(tǒng)=x1-x0,而應(yīng)按照下列關(guān)系式進(jìn)行:
若x1≥x0 則y=x1-x0
否則y=0
(8)使用y進(jìn)行插值運(yùn)算,最終求出實(shí)際溫度值,并在數(shù)碼管組成的顯示器LED上進(jìn)行顯示。
此方法顯然編程(特別是用匯編語言或梯形語言編程)較復(fù)雜,但效果相當(dāng)明顯。
2 濾波技術(shù)
2.1 電容濾波器
電容濾波法是小型實(shí)時(shí)系統(tǒng)經(jīng)常采用的一種廉價(jià)而有效的無源濾波技術(shù)。但在實(shí)際應(yīng)用中,采用什么樣的電容?電容容量應(yīng)該選取多大?濾波電容接在靠近放大器輸出一端還是在接在靠近A/D輸入一端效果好些?這些都是系統(tǒng)設(shè)計(jì)中要經(jīng)常遇到的實(shí)際問題。筆者曾在某便攜式巡檢記錄儀中使用美國MAXIM公司的MAX189串行、12位A/D芯片,它為8腳封裝,實(shí)用電路如圖3所示。使用PIC16C74單片機(jī)的SPI(串行外圍接口)口進(jìn)行全雙工編程采集。按照MAXIM公司給出的典型應(yīng)用電路,在MAX189模擬信號(hào)輸入Ain端(管腳2)無圖3中的濾波器,但實(shí)際應(yīng)用時(shí)發(fā)現(xiàn),按照典型應(yīng)用電路進(jìn)行采集誤差很大。后在MAX189 Ain端接入如圖3所示的低、高通濾波器(以下簡(jiǎn)稱濾波器),收到了顯著的效果。
根據(jù)筆者近幾年的工程設(shè)計(jì)與實(shí)踐,認(rèn)為對(duì)電容濾波器,一般應(yīng)選擇耐壓高、絕緣性好、溫度系數(shù)小、自諧振頻率高的電容。其容量要根據(jù)具體系統(tǒng)進(jìn)行實(shí)驗(yàn)確定,既不能選擇過大,也不能選擇過小。過大會(huì)損傷有用信號(hào),過小則達(dá)不到濾波效果。另外,在許多實(shí)用采集電路中,將濾波器電容接在放大器的輸出一端,筆者認(rèn)為沒有接在A/D輸出一端效果好。
2.2 數(shù)字濾波
2.2.1 數(shù)字濾波方法
硬件濾波器只是提高實(shí)時(shí)系統(tǒng)數(shù)據(jù)采集質(zhì)量的措施之一,它和其它任何濾波技術(shù)一樣,很難徹底抑制各種干擾,因此很有必要進(jìn)行數(shù)字濾波。經(jīng)典的數(shù)字濾波方法較多,有算術(shù)平均值法、超值濾波法、比較取舍法、滑動(dòng)算術(shù)平均法、競(jìng)賽評(píng)分法以及一階低通濾波法等。究竟采用哪種濾波技術(shù)應(yīng)視具體情況而定。筆者認(rèn)為至少應(yīng)考慮采集器A/D的類型。如果A/D屬積分型,其對(duì)尖脈沖有較強(qiáng)的抑制能力,但轉(zhuǎn)換速度慢,采用滑動(dòng)濾波技術(shù)能夠達(dá)到揚(yáng)長(zhǎng)避短的作用?;瑒?dòng)濾波技術(shù)的基本思想是:取長(zhǎng)度為N的隊(duì)列,把每次采樣值放入隊(duì)尾,同時(shí)仍掉隊(duì)首的一個(gè)采樣值,再求隊(duì)列的算術(shù)平均值作為本次采集的最終有效值。這種數(shù)字濾波方法速度快,但對(duì)尖脈沖干擾抑制能力較差。筆者曾在某綜合測(cè)試臺(tái)濕度、溫度監(jiān)視系統(tǒng)設(shè)計(jì)中采用國產(chǎn)3位半雙積分型5ZG14433采集器。為既能達(dá)到數(shù)字濾波的效果,又不影響系統(tǒng)實(shí)時(shí)速度,故使用上述的滑動(dòng)濾波技術(shù),收到了良好的效果。如果A/D為逐次比較式,一般轉(zhuǎn)換速度快,但對(duì)尖脈沖抑制能力相對(duì)較弱,宜采用競(jìng)賽評(píng)分濾波法。
2.2.2 改進(jìn)型競(jìng)賽評(píng)分濾波法
競(jìng)賽評(píng)分濾波法由于既能消除脈沖干擾,又能濾除低頻紋波,是工程上常用的一種數(shù)字濾波方法。其基本思想是:對(duì)某一點(diǎn)的多次采樣值進(jìn)行比較,舍棄最大、最小值,把余下的采樣值取算術(shù)平均值作為該點(diǎn)的最終有效采樣值。實(shí)踐證明此方法對(duì)干擾噪音較大的系統(tǒng)來效果不夠理想,為此筆者在某配料系統(tǒng)研制中上述經(jīng)典的競(jìng)賽評(píng)分濾波法進(jìn)行了改進(jìn),稱“改進(jìn)型競(jìng)賽評(píng)分濾波法”。其基本思想是:加大某一點(diǎn)的采樣次數(shù),然后對(duì)該點(diǎn)的多次采樣值進(jìn)行排序,舍棄最大、最小段(而不是最大、最小值),把余下的中間段4(或8)個(gè)采樣值進(jìn)行算術(shù)累加,然后后移2(3或)次即取算術(shù)平均值作為該點(diǎn)的最終有效采樣值。這種方法雖然效果明顯,但不能直接應(yīng)用到小型實(shí)時(shí)系統(tǒng)中,因小型實(shí)時(shí)系統(tǒng)一般采用可編程控制器PLC或單片機(jī)作為控制部件直接面對(duì)物理層,其內(nèi)存空間極為有限。為此進(jìn)一步改進(jìn)如下:對(duì)某一點(diǎn)施以N次(N≥6)改進(jìn)型競(jìng)賽評(píng)分濾波法,得到N個(gè)有效采樣值,記為t1,T2…tn(n=N),再對(duì)t1,t2…tn進(jìn)行一次改進(jìn)型競(jìng)賽評(píng)分濾波法,將所得值作為該點(diǎn)的最終有效采樣值。當(dāng)然這種方法是以時(shí)間和空間來換取數(shù)據(jù)精度的。
3 接地技術(shù)
在低電平放大電路中,合理地接地是減少地噪聲干擾,提高數(shù)據(jù)采集質(zhì)量的重要舉措,必須予以特別注意。就一般情況而言,在硬件設(shè)計(jì)時(shí),系統(tǒng)中的模擬公共地線應(yīng)該與數(shù)字公共地線分開,然后只在一點(diǎn)匯集,呈“星形”狀。筆者在某分析儀系統(tǒng)研制中曾使用北京某公司生產(chǎn)的PS_2119放大、采集多功能模板,為減少長(zhǎng)距離信號(hào)傳輸帶來的空間干擾,選用差分輸入。該系統(tǒng)的工作原理是:當(dāng)用X光線以不同的角度照射光電裝置中的被測(cè)物時(shí),其光電轉(zhuǎn)換裝置輸出的電壓幅值與X光線照射的角度成函數(shù)關(guān)系。該輸出電壓經(jīng)放大、采集、數(shù)據(jù)處理、最后以余弦波的形式在PC上顯示測(cè)試結(jié)果。圖4為該系統(tǒng)曾經(jīng)使用的不正確接地線路,其中:
H:差分高端輸入端子。
L:差分低端輸入端子。
AGND:模擬地端子。
這種接地方法產(chǎn)生的后果是PC上顯示的余弦波形毛刺較大,經(jīng)檢驗(yàn)產(chǎn)品合格率低。后改為圖5所示的接地方法,其輸出的余弦波形光滑,經(jīng)檢驗(yàn)產(chǎn)品誤差在允許范圍之內(nèi)。
從電路分析的角度看,圖4、圖5都使放大采集板的差分低端L、模擬地AGND與光電轉(zhuǎn)換裝置的“模擬地”等三點(diǎn)達(dá)到“共地”的目的,但接地形式不同,產(chǎn)生的結(jié)果卻截然相反。
4 供電技術(shù)
電源噪聲對(duì)數(shù)據(jù)采集質(zhì)量有著嚴(yán)重的危害性。在采用交流供電的實(shí)時(shí)系統(tǒng)中,電壓波動(dòng)會(huì)使系統(tǒng)產(chǎn)生隨機(jī)性誤差。同樣,在采用干電池供電的便攜式實(shí)時(shí)系統(tǒng)中,電池衰減會(huì)導(dǎo)致系統(tǒng)出現(xiàn)“時(shí)漂”。對(duì)于這些問題,已經(jīng)出現(xiàn)了許多成熟有效的技術(shù)措施,如各種穩(wěn)壓器、低通濾波器、光電隔離器等。然而,前向通道對(duì)電壓的波動(dòng)是非常敏感的,僅采用上述措施還不夠,特別對(duì)于那些物理要求傳感器信號(hào)在現(xiàn)場(chǎng)放大,而采樣、控制又獨(dú)成體系的實(shí)時(shí)系統(tǒng),其供電應(yīng)特別注意。一般在設(shè)計(jì)這種系統(tǒng)時(shí),為供電方便,往往將傳感器、放大器與A/D所在的電路采用分開供電的方法,即傳感器、放大器由現(xiàn)場(chǎng)供電,而A/D所在的電路采用另外的供電形式。這種將前向通道分開供電的方法存在一定的弊端。比較好的方法應(yīng)當(dāng)盡可能地對(duì)傳感器、放大器、A/D采用同一電源,最好是同一電源的同一輸出端子供電。這樣一旦發(fā)生電源波動(dòng),則傳感器、放大器、A/D的滿度輸出也隨之變化,其最終采樣值會(huì)相對(duì)基本保持不變或變化很小。
5 接口初始化技術(shù)
電源噪聲及空間干擾常常會(huì)引起系統(tǒng)接口參數(shù)的變化,進(jìn)而導(dǎo)致系統(tǒng)出現(xiàn)許多異?,F(xiàn)象,嚴(yán)重時(shí)會(huì)使系統(tǒng)死機(jī)。在實(shí)際運(yùn)行的實(shí)時(shí)系統(tǒng)中,往往會(huì)發(fā)生這樣的現(xiàn)象:當(dāng)某系統(tǒng)在前一時(shí)刻還處于最佳運(yùn)行狀態(tài)時(shí),后一時(shí)刻卻突然出現(xiàn)死機(jī)現(xiàn)象,甚至這種現(xiàn)象無法使用系統(tǒng)復(fù)位鍵進(jìn)行清除,只好去電再加電即冷啟動(dòng)之后才能使系統(tǒng)恢復(fù)正常工作。出現(xiàn)這種情況除系統(tǒng)的容錯(cuò)處理存在一定缺陷之外,另一個(gè)重要原因就是因?yàn)橄到y(tǒng)對(duì)接口的初始化時(shí)序安排不當(dāng)。例如,有些實(shí)時(shí)系統(tǒng)在設(shè)計(jì)時(shí)把初始化參數(shù)安排在冷啟動(dòng)之后一次完成,隨后予之不理。這種方法至少會(huì)使系統(tǒng)潛伏著一定的缺陷。比較好的方法是在系統(tǒng)每次調(diào)度某一接口之前,先對(duì)其進(jìn)行初始化,然后再調(diào)度。當(dāng)然這對(duì)使用一塊或兩塊可編程接口的簡(jiǎn)單系統(tǒng)來說比較容易。隨著數(shù)字技術(shù)的不斷發(fā)展,市場(chǎng)上已經(jīng)涌現(xiàn)出了可編程放大器、可編程A/D、可編程鍵盤/顯示驅(qū)動(dòng)、可編程實(shí)時(shí)鐘、可編程E2PROM以及本身帶有多種可編程功能接口和可編程雙向位控功能的單片機(jī)。使用這些智能器件能使系統(tǒng)硬件變得簡(jiǎn)單而可靠,但同時(shí)也帶來了接口初始化和編程問題。為避免上述干擾對(duì)接口產(chǎn)生影響,較好的方法應(yīng)當(dāng)是在系統(tǒng)設(shè)計(jì)之前,首先從系統(tǒng)軟、硬件兩方面進(jìn)行仔細(xì)分析,研究各接口在具體系統(tǒng)中的時(shí)序及相互制的關(guān)系;然后在每次調(diào)試具體接口之前先對(duì)其進(jìn)行初始化,然后再調(diào)度。在沒對(duì)系統(tǒng)進(jìn)行上述分析的情況下,簡(jiǎn)單地按先初始化再調(diào)度的方法對(duì)各接口進(jìn)行操作,會(huì)顧此失彼,甚至整個(gè)系統(tǒng)無法運(yùn)行。
上述方法均已在實(shí)際生產(chǎn)中得到應(yīng)用,且收到了良好的效果。需要指出的是:上述方法適宜的采集對(duì)象為緩慢變化的信號(hào),工業(yè)現(xiàn)場(chǎng)的大部分信號(hào)例如壓力、溫度、濕度、交變的電壓、電流等均屬此類信號(hào)。如果采集的對(duì)象為高速變化信號(hào),應(yīng)采用DSP(數(shù)字信號(hào)處理機(jī))及其相關(guān)技術(shù)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論