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