【正文】
conferencing equipment, and achieve longrange surveilance of an embedded system, control, diagnosistesting and configuration, and other functions. Such as highspeed Ethemet technology in industrial distributed control site ofers a convenient, fast and genericstrong,relatively lowcost control programme.In the first paper explained the concept of an embedded network remote monitoring system, introduced the system of history, research methodology and research significance of the development of a vision of the system.Communication agreement is the key to the realization of network munications. The second chapter in the use of a wide range of introduced several munications agreements, especially after the realization of the monitoring system needs TCP/IP agreement and the contents of a detailed exposition Taojiezi.Secondly, on an embedded operating system 16ug Clinux main function modules, and the practical application of 16ug Clinux in some aspects of the corresponding analysis。控制系統(tǒng)結(jié)構(gòu)網(wǎng)絡(luò)化與控制系統(tǒng)體系開放性將是控制系統(tǒng)技術(shù)發(fā)展的趨勢(shì)。預(yù)計(jì)在不遠(yuǎn)的將來,每臺(tái)設(shè)備中都將有一個(gè)IP地址,與Internet網(wǎng)絡(luò)相連接,具有遠(yuǎn)程診斷和維護(hù)等功能[1]。國際上現(xiàn)有多種現(xiàn)場(chǎng)總線標(biāo)準(zhǔn),包括基金會(huì)現(xiàn)場(chǎng)總線FF、控制局域網(wǎng)絡(luò)CAN、局部操作網(wǎng)絡(luò)Lonworks過程現(xiàn)場(chǎng)總線包括PROFIBUS和HART協(xié)議,以及DeviceNet,Controlnet,PNet等,而且在今后相當(dāng)長(zhǎng)一段時(shí)間內(nèi)多種現(xiàn)場(chǎng)總線將并存。因此,需要另一種通信網(wǎng)絡(luò)取代傳統(tǒng)的現(xiàn)場(chǎng)總線應(yīng)用于工業(yè)現(xiàn)場(chǎng)通信。與此同時(shí),各種嵌入式系統(tǒng)也在不斷發(fā)展,越來越多的嵌入式控制設(shè)備都具有了以太網(wǎng)接入功能,因而能夠利用以太網(wǎng)的開放性實(shí)現(xiàn)嵌入式控制系統(tǒng)的網(wǎng)絡(luò)化,實(shí)現(xiàn)通過瀏覽器訪問并監(jiān)控設(shè)備,為用戶提供了一種方便、快速、通用性強(qiáng)、傳遞信息多樣、成本相對(duì)低廉的現(xiàn)場(chǎng)通信方式。隨著工業(yè)以太網(wǎng)在速度上不斷提高以及交換技術(shù)、全雙工工作方式等技術(shù)的融入,以太網(wǎng)與工業(yè)通信網(wǎng)絡(luò)的差距正在逐步縮小??梢哉f,目前研究嵌入式以太網(wǎng)的條件已經(jīng)成熟。在工業(yè)控制領(lǐng)域,美國OPT22公司采用嵌入式以太網(wǎng),研制開發(fā)了“以太網(wǎng)I/O系統(tǒng)”—SNAPI/O系統(tǒng),通過以太網(wǎng)對(duì)分布在遠(yuǎn)程設(shè)備現(xiàn)場(chǎng)的I/O口進(jìn)行訪問,從而實(shí)現(xiàn)對(duì)一遠(yuǎn)程設(shè)備的監(jiān)測(cè)和控制。此外,研制的嵌入式以人網(wǎng)控制器具有10BaseT以太網(wǎng)接口,能夠運(yùn)行FTP/HTTP/TCP/UDP協(xié)議,應(yīng)用于傳感器、驅(qū)動(dòng)器等現(xiàn)場(chǎng)設(shè)備。 嵌入式以太網(wǎng)監(jiān)測(cè)系統(tǒng)的實(shí)現(xiàn)方法嵌入式以太網(wǎng)監(jiān)測(cè)系統(tǒng)的實(shí)質(zhì)是在嵌入式系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)網(wǎng)絡(luò)化,使嵌入式系統(tǒng)能夠?qū)崿F(xiàn)TCP/IP網(wǎng)絡(luò)通信協(xié)議,接入以太網(wǎng)。這種方一法的優(yōu)點(diǎn)是可靠性高,執(zhí)行速度快,但往往硬件電路復(fù)雜,價(jià)格昂貴,硬件成本高;⑵軟件方式:將基于TCP/IP協(xié)議以軟件方式嵌入到嵌入式系統(tǒng)的ROM中。通過比較這兩種實(shí)現(xiàn)方法的優(yōu)缺點(diǎn),論文選用以軟件方式實(shí)現(xiàn)了基于TCP/IP協(xié)議的嵌入式系統(tǒng)。 嵌入式以太網(wǎng)監(jiān)測(cè)系統(tǒng)的研究意義當(dāng)一臺(tái)設(shè)備具有網(wǎng)絡(luò)接入功能時(shí),人們可以在任何地方、任何時(shí)間、任何地點(diǎn)、使用任何平臺(tái)隨時(shí)瀏覽設(shè)備實(shí)時(shí)的狀態(tài)、并在遠(yuǎn)程實(shí)現(xiàn)對(duì)這臺(tái)設(shè)備的監(jiān)視、控制、診斷、測(cè)試和配置。與之相比,若采用嵌入式以太網(wǎng),只要將嵌入式設(shè)備連接到以太網(wǎng),就能很方便的實(shí)現(xiàn)監(jiān)控功能,其意義如下:不需要專用的通信線路,可以使用現(xiàn)成網(wǎng)絡(luò)資源;不僅可以傳遞數(shù)據(jù)信息,還可以傳遞聲音及圖像信息; 現(xiàn)階段以太網(wǎng)監(jiān)測(cè)技術(shù)與嵌入式系統(tǒng)的發(fā)展 以太網(wǎng)監(jiān)測(cè)技術(shù)的發(fā)展目前,以太網(wǎng)監(jiān)測(cè)技術(shù)得到迅速的發(fā)展,主要表現(xiàn)在以下幾個(gè)方面:首先,以太網(wǎng)的通信速率從最初的10M,100M提高到了1000M,10G,這些高速以太網(wǎng)為網(wǎng)絡(luò)通信提供了足夠的帶寬。其次,在星型拓?fù)浣Y(jié)構(gòu)的以太網(wǎng)中使用交換機(jī)將網(wǎng)絡(luò)劃分為若干個(gè)網(wǎng)段。再次,全雙工通信方式使得以太網(wǎng)中的沖突域不復(fù)存在。絕大多數(shù)以太網(wǎng)接插件、集線器、交換機(jī)和電纜均是為辦公領(lǐng)域設(shè)計(jì)的,其抗干擾性能差,不符合工業(yè)現(xiàn)場(chǎng)惡劣環(huán)境的要求,也不具備本質(zhì)安全特性和向現(xiàn)場(chǎng)儀表供電的性能。在可靠性方面,提出了以太網(wǎng)環(huán)冗余的概念,在一定程度上提高了以太網(wǎng)通信的可靠性。第二階段:以嵌入式實(shí)時(shí)操作系統(tǒng)為標(biāo)志。第三階段:以基于互聯(lián)網(wǎng)為標(biāo)志的嵌入式系統(tǒng)。 以太網(wǎng)監(jiān)測(cè)技術(shù)中尚需解決的主要問題以太網(wǎng)在應(yīng)用于工業(yè)通信網(wǎng)絡(luò)時(shí),還需要解決以下關(guān)鍵問題:所謂實(shí)時(shí)通信服務(wù)質(zhì)量(Quality of Service,QoS),是指以太網(wǎng)用于工業(yè)控制現(xiàn)場(chǎng)時(shí),為滿足工業(yè)自動(dòng)化實(shí)時(shí)控制要求,而提出的一系列通信特征需求,主要用來反映工業(yè)過程控制中的實(shí)時(shí)性能。這些信息對(duì)于實(shí)時(shí)性和通信帶寬的要求各不相同,因此要求工業(yè)通信網(wǎng)絡(luò)能夠適應(yīng)各種信息的通信要求,為緊急任務(wù)提供優(yōu)先服務(wù),同時(shí)為非緊急任務(wù)提供(BestEfort,BE)服務(wù),從而保證整個(gè)工業(yè)控制系統(tǒng)的性能。對(duì)此,一般采用網(wǎng)絡(luò)隔離(如網(wǎng)關(guān)、服務(wù)器隔離)辦法,將控制區(qū)域內(nèi)部通信網(wǎng)絡(luò)與外部信息網(wǎng)絡(luò)分開。但目前還沒有針對(duì)工業(yè)自動(dòng)化通信網(wǎng)絡(luò)安全的成熟軟件。 本文研究的內(nèi)容和組織安排。因此,基于以上考慮,全文共分為七章對(duì)本項(xiàng)目進(jìn)行論述。第2章介紹嵌入式操作系統(tǒng)uClinux的主要功能模塊,同時(shí)對(duì)uClinux在實(shí)際應(yīng)用的一些方面進(jìn)行相應(yīng)的分析;然后介紹移植的概念,主要介紹了嵌入式操作系統(tǒng)uClinux的移植過程,包括編譯環(huán)境的建立、針對(duì)硬件的改動(dòng)和裁減,對(duì)uClinux的文件系統(tǒng)進(jìn)行了簡(jiǎn)要的分析。第4章介紹了圖形化處理語言LabVIEW,并將此語言作為客戶機(jī)/服務(wù)器模式下的編程語言。實(shí)驗(yàn)效果表明,用戶不但可以采集嵌入式系統(tǒng)的實(shí)時(shí)數(shù)據(jù),而且可以將該數(shù)據(jù)進(jìn)行有效的分析,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè),診斷和配置功能。最后概括出本實(shí)驗(yàn)的整體設(shè)計(jì)框圖。uClinux主要是針對(duì)口標(biāo)處理器沒有存儲(chǔ)管理單元MMU(Memory Management Unit)的嵌入式系統(tǒng)而設(shè)計(jì)的。 uClinux操作系統(tǒng)介紹Linux是一種很受歡迎的操作系統(tǒng),它與UNIX系統(tǒng)兼容,開放源代碼。而更大的影響在于它正逐漸的應(yīng)用于嵌入式設(shè)備。在uClinux這個(gè)英文單詞中u表示Micro,小的意思,C表示控制的意思,所以u(píng)Clinux就是McrocontrolLinux,字面上的理解就是“針對(duì)微控制領(lǐng)域而設(shè)計(jì)的Linux系統(tǒng)”[10]。它很適合那些沒有MMU的處理器。本系統(tǒng)中使用的ARM7內(nèi)核微赴理器,其本身也沒有MMU。但是,在uClinux上運(yùn)行的絕大多數(shù)的用戶程序并不需要多任務(wù)。這就使得uClinux的內(nèi)核同標(biāo)準(zhǔn)的Linux內(nèi)核相比非常之小,但是它仍保持了Linux操作系統(tǒng)的主要的優(yōu)點(diǎn),如穩(wěn)定性、強(qiáng)大的網(wǎng)絡(luò)功能和出色的文件系統(tǒng)支持等。操作系統(tǒng)所有的代碼量較小。這些網(wǎng)絡(luò)協(xié)議都在uClinux上得到了很好的實(shí)現(xiàn)。uClinux所支持的文件系統(tǒng)有多種,其中包括了最常用的NFS(網(wǎng)絡(luò)文件系統(tǒng))、ext2,romfs、MSDOS及FAT 16/32等[9]。理想情況下應(yīng)該可以運(yùn)行任意大小的程序。⑶可以使多個(gè)程序同時(shí)駐留在內(nèi)存中提高CPU的利用率。即程序可以放于內(nèi)存中的任何一處,而且可以在執(zhí)行過程中移動(dòng)。程序不必韋先約定機(jī)器的配置情況。⑺可以進(jìn)行共享,例如,如果兩個(gè)進(jìn)程運(yùn)行同一個(gè)程序,它們應(yīng)該可以共享程序代瑪?shù)耐粋€(gè)副本。否則,用戶程序可能會(huì)偶然(或惡意)地破壞內(nèi)核或其它用戶程序。進(jìn)程地址空間包括.可以訪問或引用的內(nèi)存單元的集合,進(jìn)程控制點(diǎn)通過一個(gè)一般稱為程序計(jì)數(shù)器(program counter,PC)的硬件寄存器控制和跟蹤進(jìn)程指令序列。Linux系統(tǒng)提供系統(tǒng)調(diào)用拷貝現(xiàn)行進(jìn)程的內(nèi)容,以產(chǎn)生新的進(jìn)程,調(diào)用fork的進(jìn)程稱為父進(jìn)程:而所產(chǎn)生的新進(jìn)程則稱為子進(jìn)程。父進(jìn)程和子進(jìn)程共享一個(gè)程序段。換言之,兩個(gè)進(jìn)程執(zhí)行的程序代碼是一樣的,但是各有各的程序計(jì)數(shù)器與自己的私人數(shù)據(jù)。如果上述說三個(gè)條件滿足,那么操作系統(tǒng)會(huì)給子進(jìn)程一個(gè)進(jìn)程識(shí)別碼,并且設(shè)定CPU時(shí)間,接著設(shè)定與父進(jìn)程共享的段,同時(shí)將父進(jìn)程的文件節(jié)點(diǎn)索引mode拷貝一份給予進(jìn)程運(yùn)用,最終子進(jìn)程會(huì)返回?cái)?shù)值0以表示它是子進(jìn)程。uClinux沒有MMU管理存儲(chǔ)器,在實(shí)現(xiàn)多個(gè)進(jìn)程時(shí)(fork調(diào)用生成子進(jìn)程)需要實(shí)現(xiàn)數(shù)據(jù)保護(hù)。這意味著uClinux系統(tǒng)調(diào)用完成后,要么子進(jìn)程代替父進(jìn)程執(zhí)行(此時(shí)父進(jìn)程己經(jīng)sleep直到子進(jìn)程調(diào)用exit退出),要么調(diào)用exec執(zhí)行一個(gè)新的進(jìn)程,這個(gè)時(shí)候?qū)a(chǎn)生可執(zhí)行文件的加載,即使這個(gè)進(jìn)程只是父進(jìn)程的拷貝,這個(gè)過程也不能避免。uClinux的這種多進(jìn)程實(shí)現(xiàn)機(jī)制同它的內(nèi)存管理緊密相關(guān)。缺少了MMU的內(nèi)存重映射機(jī)制,uClinux必須在可執(zhí)行文件加載階段對(duì)可執(zhí)行文件reloc處理,使得程序執(zhí)行時(shí)能夠直接使用物理內(nèi)存。另外有一種LinuxRTlinux關(guān)注實(shí)時(shí)問題。而非實(shí)時(shí)進(jìn)程則交給普通Linux內(nèi)核處理。這種方法優(yōu)點(diǎn)之一是實(shí)現(xiàn)簡(jiǎn)單,且實(shí)時(shí)性能容易檢驗(yàn)。優(yōu)點(diǎn)之三是可以支持硬實(shí)時(shí)時(shí)鐘的應(yīng)用。 uClinux的內(nèi)核加載方式uClinux的內(nèi)核有兩種可選的運(yùn)行方式:可以在flash上自接運(yùn)行,也可以加載到內(nèi)存中運(yùn)行。Flash運(yùn)行方式:把內(nèi)核的可執(zhí)行映象燒寫到flash上,系統(tǒng)啟動(dòng)時(shí)從flash的某個(gè)地址開始逐句執(zhí)行。內(nèi)核加載方式:把內(nèi)核的壓縮文件存放在flash上,系統(tǒng)啟動(dòng)時(shí)讀取壓縮文件在內(nèi)存里解壓,然后開始執(zhí)行,這種方式相對(duì)復(fù)雜一些,但是運(yùn)行速度可能更快(ram的存取速率要比flash高)。在我們的嵌入式系統(tǒng)中,我們采用的是這種方式??臻g的節(jié)約來自于兩個(gè)方面,首先內(nèi)核支持romfs文件系統(tǒng)比支持ext2文件系統(tǒng)需要更少的代碼,其次romfs文件系統(tǒng)相對(duì)簡(jiǎn)單,在建立文件系統(tǒng)超級(jí)塊(superblock)需要更少的存儲(chǔ)空間。 uClinux的應(yīng)用程序庫 uClinux小型化的另一個(gè)做法是重寫了應(yīng)用程序庫,相對(duì)于越來越大且越來越全的libc庫,uClibc對(duì)libc做了精簡(jiǎn)。 建立uClinux開發(fā)環(huán)境 移植概述1.基于處理器的移植這種類型的移植要求從一種處理器的編譯器開始。通常當(dāng)一個(gè)操作系統(tǒng)要運(yùn)行于一定的處理器,都需要特定的編譯器把操作系統(tǒng)(應(yīng)用程序)編譯成特定處理器可識(shí)別的字節(jié)碼。而且如前文所述,GNU編譯器GCC在設(shè)計(jì)時(shí)就已經(jīng)考慮跨平臺(tái)的問題,所以在進(jìn)行GCC移植時(shí)我們可以不考慮前端高級(jí)語言解析的部分(針對(duì)C語言等解析的過程),而只需要考慮后端的移植(主要針對(duì)處理器部分),這些后端告訴GCC在編譯時(shí)怎樣形成匯編代碼,怎樣滿足處理器體系結(jié)構(gòu)下的參數(shù)傳遞,怎樣針對(duì)處理器進(jìn)行流水線優(yōu)化等。任何操作系統(tǒng)都有一定的代碼是同處理器相關(guān)的,而操作系統(tǒng)為了增加運(yùn)行效率,通??偸鞘褂昧舜罅刻囟ㄌ幚砥魈峁┑牡讓庸δ苤С?。另外從編寫應(yīng)用的角度來看,還必須提供函數(shù)庫。2.基于平臺(tái)的移植這種移植相對(duì)于處理器的移植而言所處的開發(fā)層次更高,在板級(jí)上進(jìn)行。因此操作系統(tǒng)在運(yùn)行時(shí)必須初始化特定目標(biāo)板的器件。這些設(shè)備在系統(tǒng)啟動(dòng)后必須能夠正確尋址,從而操作系統(tǒng)能夠正常運(yùn)行。本系統(tǒng)涉及移植類型即是基于平臺(tái)的移植。所以編譯器己經(jīng)不需要做太多的上作,只需對(duì)其中有些地方加以修改,這樣將極大節(jié)省工作量。這種方式通常不適合于嵌入式系統(tǒng)的軟件開發(fā)。通常嵌入式系統(tǒng)的軟件開發(fā)采用一種交叉編譯調(diào)試方式。開發(fā)時(shí)使用宿主機(jī)上的交叉編譯、匯編及鏈接上具形成可執(zhí)行的二進(jìn)制代碼,然后把可執(zhí)行文件下載到口標(biāo)機(jī)上運(yùn)行和調(diào)試。對(duì)于嵌入式uClinux,宿主機(jī)上的操作系統(tǒng)一般要求為Redhat Li