淺談嵌入式在地鐵雜散電流監(jiān)測裝置的設計
1 地鐵雜散電流產(chǎn)生原理
地鐵牽引供電一般為直流供電,而當直流大電流沿地面敷設的軌道流動時,直流電流除了在軌道中流動外,還會從軌道泄漏到大地,在大地中的各種金屬物體上流動,然后再回到電源系統(tǒng)。這部分泄漏出來的電流稱為雜散電流,在地鐵工程中又稱為迷流,如圖0所示。由于雜散電流對埋入地下金屬產(chǎn)生腐蝕作用,就可能使得某些地方的地下金屬在自然腐蝕的同時又受到嚴重的雜散電流電腐蝕作用,導致地鐵電化腐蝕速度加快。
2 實驗室模擬裝置的設計
由于地下鐵道的特殊環(huán)境,理論上和實際中都難以在現(xiàn)場進行實驗,因此這類課題的研究和實驗,多數(shù)情況下往往要在實驗室里進行,圖1是自行設計的一個實驗室模擬地下鐵道雜散電流的產(chǎn)生和對地下金屬腐蝕作用的實驗裝置。
3 數(shù)據(jù)采集系統(tǒng)的設計
3.1 系統(tǒng)概述
本系統(tǒng)由硬件和軟件兩部分組成。硬件以SST89C51 和8位ADC 芯片AD0809 為核心,具有鍵盤控制和液晶顯示功能,該系統(tǒng)還具有實時時間顯示和看門狗功能,可以通過RS232接口與外部(微機) 通信。系統(tǒng)的軟件以實時嵌入式操作系統(tǒng)ucos2 為基礎,采用多任務機制,通過任務調(diào)度和任務監(jiān)視,系統(tǒng)具有較好的實時性和安全性。ucosII 是源碼公開的實時嵌入式操作系統(tǒng),采用優(yōu)先級調(diào)度算法完成任務間的調(diào)度,并支持搶占式調(diào)度。ucosII具有可裁減的體系結(jié)構(gòu),μC/OS-II是一種可移植的,可植入ROM的,可裁剪的,搶占式的,實時多任務操作系統(tǒng)內(nèi)核。它被廣泛應用于微處理器、微控制器和數(shù)字信號處理器。嚴格地說uC/OS-II只是一個實時操作系統(tǒng)內(nèi)核,它僅僅包含了任務調(diào)度,任務管理,時間管理,內(nèi)存管理和任務間的通信和同步等基本功能。沒有提供輸入輸出管理,文件系統(tǒng),網(wǎng)絡等額外的服務。但由于uC/OS-II良好的可擴展性和源碼開放,這些非必須的功能完全可以由用戶自己根據(jù)需要分別實現(xiàn)μC/OS-II 的前身是μC/OS,并把μC/OS 的源碼發(fā)布在該雜志的 BS上。并具有內(nèi)存管理、中斷管理和任務控制塊(TCB) 擴展的功能。ucosII還提供很多系統(tǒng)服務,例如郵箱、消息隊列、信號量等等。還具有可移植性好,結(jié)構(gòu)簡單等優(yōu)點。
3.2 系統(tǒng)的硬件設計
系統(tǒng)的硬件組成框圖如圖2 所示。各電阻電壓信號經(jīng)過隔離放大,然后通過線性光耦的隔離后,別傳送到多路采集A/D轉(zhuǎn)換芯片0809的輸入端進行數(shù)據(jù)采集。經(jīng)A/D轉(zhuǎn)換后的數(shù)字量被單片機讀入,經(jīng)處理后可,在液晶上顯示出具體數(shù)據(jù)。同時也可以由通信接口讀入微機進行進一步的處理和分析。液晶有系統(tǒng)提示和實時時間顯示,可以通過鍵盤進行選擇和控制。
A/D轉(zhuǎn)換可采用價格低廉又通用的8位逐次逼近式ADC ADC,即移動ADC,是ApplicatiON data center的縮寫,其實是ASP模式與IDC業(yè)務的結(jié)合的演變,是由中國移動推出的一項移動信息化產(chǎn)品業(yè)務,主要針對中小企業(yè),屬于移動信息化的行業(yè)應用,業(yè)務主要包括有移動OA、手機郵箱、無線網(wǎng)站以及移動進銷存等四款行業(yè)應用托管解決方案。AD轉(zhuǎn)換就是模數(shù)轉(zhuǎn)換,顧名思義,就是把模擬信號轉(zhuǎn)換成數(shù)字信號。,適合數(shù)據(jù)采集,轉(zhuǎn)換時間可達100 us .系統(tǒng)外部擴展32 kROM 和RAM ,供緩存數(shù)據(jù)和存貯程序。液晶采用日立公司系列產(chǎn)品中的D44780 ,可以顯示16字×2行的字符模組。時間芯片采用的是M48T86 ,具有實時時間和日歷顯示功能。整個系統(tǒng)采用全地址譯碼法,外部設備和存儲器統(tǒng)一編址。
3.3 系統(tǒng)的軟件設計
3.3.1 傳統(tǒng)的程序流程
一個典型的單片機數(shù)據(jù)采集系統(tǒng)的程序通常包括輸入/ 輸出控制、數(shù)據(jù)處理和顯示、鍵盤管理等模塊。程序采用循環(huán)方式,流程如圖3所示。
可以看到,傳統(tǒng)的程序是基于單任務機制的,各個模塊構(gòu)成一個整體,作為一個任務運行。在實際應用中,這種程序的安全性差,只要一個系統(tǒng)的設計模塊出了錯誤,整個系統(tǒng)工作就會被打亂,只有利用看門狗進行復位。這對于比較復雜的系統(tǒng),在實際運行中看門狗就會頻繁地發(fā)生復位操作。而且由于數(shù)據(jù)采集和鍵盤程序的執(zhí)行頻率可能相差很多,這樣對系統(tǒng)的定時要求就會很高,傳統(tǒng)的程序流程對實時性就難以很好地滿足。
3.3.2 基于ucosII 的系統(tǒng)程序流程
基于ucosII 的程序流程如圖4所示。程序中,每個模塊對應一個任務,彼此之間是并行的,但每個模塊都對應著一個不同的優(yōu)先級,由操作系統(tǒng)進行調(diào)度運行。系統(tǒng)可以通過監(jiān)控模塊對其他模塊的工作進行監(jiān)控,從而減少看門狗的復位次數(shù)。而且通過ucosII 內(nèi)核的任務調(diào)度,系統(tǒng)的實時性會提高很多。
3. 4 任務的劃分和構(gòu)成
系統(tǒng)中并行存在的幾個任務按優(yōu)先級從高到低依次是:顯示任務、鍵盤管理任務、輸出任務、各路數(shù)據(jù)數(shù)據(jù)采集任務和數(shù)據(jù)處理任務。系統(tǒng)采用靜態(tài)優(yōu)先級,這樣系統(tǒng)的控制會相對比較簡單。
系統(tǒng)中的每個任務包括應用程序、任務堆棧以及任務控制塊( TCB) 三部分。任務控制塊是一個數(shù)據(jù)結(jié)構(gòu),當任務的CPU 使用權(quán)被剝奪時,ucosII 用它來保存該任務的狀態(tài)。當任務重新獲得CPU 的使用權(quán)時,任務控制塊能確保任務從被中斷的那一點執(zhí)行下去。操作系統(tǒng)可以通過查詢?nèi)蝿湛刂茐K的內(nèi)容從而對任務進行管理。系統(tǒng)中任務的狀態(tài)有5 種:休眠態(tài)、就緒態(tài)、運行態(tài)、中斷服務和等待態(tài)。狀態(tài)之間的轉(zhuǎn)換如圖5所示。
休眠態(tài)時任務駐留在程序空間中,還沒有交給uc/ os2II 管理。當任務一旦建立,就進入就緒態(tài)。就緒態(tài)中優(yōu)先級最高的任務轉(zhuǎn)為運行態(tài)。如果系統(tǒng)的運行導致就緒態(tài)中的一個任務優(yōu)先級高于運行態(tài)的任務優(yōu)先級,則系統(tǒng)通過調(diào)度使運行態(tài)任務喪失對CPU 的控制權(quán)轉(zhuǎn)為等待態(tài)或者就緒態(tài),轉(zhuǎn)而運行就緒態(tài)中的那個任務。這樣就實現(xiàn)了任務的切換。
每個處于等待態(tài)的任務都對應一個等待時間,時間管理函數(shù)可將等待時間已過的等待態(tài)的任務轉(zhuǎn)為就緒態(tài),這實際上也就是時鐘中斷的中斷服務程序。
3.5 任務的通信和調(diào)度
本系統(tǒng)中任務間的通信采用消息隊列來完成的。消息隊列是uc/ os2II 中的一種通信機制,可以使一個任務或者中斷服務子程序向另一任務發(fā)送以指針方式定義的變量。為方便易用,采用消息隊列,用于數(shù)據(jù)采集任務、數(shù)據(jù)處理任務、鍵盤管理任務、輸出任務、顯示任務之間的通信。系統(tǒng)通過隊列控制塊來管理消息隊列,每個消息隊列對應一個隊列控制塊。消息的存取基于優(yōu)先級原則,隊列控制塊中等待任務列表內(nèi)優(yōu)先級任務最高的任務先從消息隊列中取消息,系統(tǒng)采用搶占式內(nèi)核,調(diào)度函數(shù)總是保證優(yōu)先級最高的就緒態(tài)任務轉(zhuǎn)為運行態(tài)。當就緒態(tài)的任務搶占CPU 時,系統(tǒng)執(zhí)行一次中斷服務程序。當任務中的消息發(fā)送完成以及中斷返回時,系統(tǒng)調(diào)用調(diào)度函數(shù),將任務從等待態(tài)轉(zhuǎn)為就緒態(tài),這樣就緒態(tài)中任務的最高優(yōu)先級就會發(fā)生變化,進而影響到運行態(tài)和就緒態(tài)間的任務切換。
4 系統(tǒng)的工作過程
本系統(tǒng)采用兩種方式顯示采集電流的大小,循環(huán)顯示和指定顯示,在正常工作情況下,采用循環(huán)顯示方式顯示8路采集電流大小,每采集完一路電壓,就向數(shù)據(jù)處理任務發(fā)送一條消息,而數(shù)據(jù)處理任務每處理完一路就向顯示任務發(fā)送一條消息,由于鍵盤掃描任務優(yōu)先級比數(shù)據(jù)采集任務最高,每當用戶鍵盤選擇時,就搶斷當前采集任務,而去處理用戶需要選擇的那路電壓,并相應顯示。當采集電流超過一定標準時,系統(tǒng)會報警,以告之監(jiān)測人員,另外本系統(tǒng)還留有串行232接口,用于和微機通信,以儲存雜散電流的歷史情況
5 結(jié)束語
本系統(tǒng)經(jīng)調(diào)試,軟硬件工作均正常。實驗證明,本系統(tǒng)較傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)在安全性和實時性方面都有了很大的提高,數(shù)據(jù)采集系統(tǒng)包括了:可視化的報表定義、審核關(guān)系的定義、報表的審批和發(fā)布、數(shù)據(jù)填報、數(shù)據(jù)預處理、數(shù)據(jù)評審、綜合查詢統(tǒng)計等功能模塊。通過信息采集網(wǎng)絡化和數(shù)字化,擴大數(shù)據(jù)采集的覆蓋范圍,提高審核工作的全面性、及時性和準確性;最終實現(xiàn)相關(guān)業(yè)務工作管理現(xiàn)代化、程序規(guī)范化、決策科學化,服務網(wǎng)絡化。完全能夠適應復雜系統(tǒng)的需要。隨著網(wǎng)絡和多媒體技術(shù)的發(fā)展,嵌入式系統(tǒng)的應用有著更廣闊的空間。