當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]uClinux的網(wǎng)絡(luò)化遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)理念

1 引 言

隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,應(yīng)用多傳感器的控制系統(tǒng)實(shí)現(xiàn)多參數(shù)的遠(yuǎn)程測(cè)量和多象的遠(yuǎn)程控制成為計(jì)算機(jī)控制領(lǐng)域的研究熱點(diǎn)之一。它能大幅縮小生產(chǎn)周期,節(jié)約勞動(dòng)力成本,提高企業(yè)效益,對(duì)于市場(chǎng)競(jìng)爭(zhēng)日益激烈的今天來(lái)說(shuō)具有重要意義。本文結(jié)合快速發(fā)展的嵌入式技術(shù),給出了一種基于嵌入式網(wǎng)絡(luò)化遠(yuǎn)程監(jiān)控系統(tǒng)的實(shí)現(xiàn)方案。它采用uClinux操作系統(tǒng),內(nèi)嵌嵌入式Web服務(wù)器,通過(guò)CAN總線連接多個(gè)傳感器控制單元實(shí)現(xiàn)了對(duì)多對(duì)象的遠(yuǎn)程測(cè)量和控制。

2 網(wǎng)絡(luò)化監(jiān)控系統(tǒng)系統(tǒng)概述

嵌入式系統(tǒng)是嵌入到對(duì)象體系中,以應(yīng)用為中心,軟硬件可裁減,對(duì)體積、功耗、成本都有嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)。與傳統(tǒng)的單片機(jī)相比,它重要的突破之一就是解決了設(shè)備和internet的互連問(wèn)題,使得人們可以通過(guò)現(xiàn)有的網(wǎng)絡(luò)設(shè)施對(duì)網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的設(shè)備進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)控。近年來(lái),嵌入式技術(shù)飛速發(fā)展,種類繁多、功能強(qiáng)大的CPU和片外連接, 為網(wǎng)絡(luò)應(yīng)用提供了穩(wěn)定、可靠的硬件環(huán)境;嵌入式操作系統(tǒng)對(duì)這些硬件和以太網(wǎng)也又很好的支持,操作系統(tǒng)的移植大為化簡(jiǎn),這些就為嵌入式webserver的實(shí)現(xiàn)提供了方便。嵌入式webserver將監(jiān)控系統(tǒng)中的各種協(xié)議的數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一的TCP/IP協(xié)議格式,以便用戶通過(guò)以太網(wǎng)遠(yuǎn)程訪問(wèn) webserver,實(shí)現(xiàn)對(duì)設(shè)備的監(jiān)控。

本文介紹的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)采用客戶端/服務(wù)器結(jié)構(gòu)模式,它由客戶端主機(jī)、現(xiàn)場(chǎng)嵌入WebServer和底層傳感控制單元三層的體系結(jié)構(gòu)組成。最底層為傳感控制單元,負(fù)責(zé)從現(xiàn)場(chǎng)采集數(shù)據(jù)并執(zhí)行控制指令。第二層為現(xiàn)場(chǎng)WebServer構(gòu)成,WebServer 具有Internet功能,可通過(guò)網(wǎng)絡(luò)通信線纜直接與Internet連接。它的主要功能是將傳感控制單元上傳來(lái)的數(shù)據(jù)以網(wǎng)絡(luò)服務(wù)形式實(shí)時(shí)發(fā)布,發(fā)布的信息可以被第三層的客戶端主機(jī)接收??蛻舳酥鳈C(jī)為普通的PC機(jī),用戶在客戶端主機(jī)上通過(guò)Web瀏覽器遠(yuǎn)程訪問(wèn)嵌入式WebServer主頁(yè)并向底層的傳感控制單元發(fā)出各種控制指令,進(jìn)而實(shí)現(xiàn)采集數(shù)據(jù)、監(jiān)視和控制等功能。在這三層的結(jié)構(gòu)中,

嵌入式webServer是系統(tǒng)的核心。系統(tǒng)的總體框圖如圖1所示:


圖 1

3 系統(tǒng)的硬件設(shè)計(jì)

嵌入式Webserver以高性能微處理器為核心,其上可以運(yùn)行uClinux操作系統(tǒng)。根據(jù)網(wǎng)絡(luò)服務(wù)的要求,選擇 Samsung公司ARM7TDMI內(nèi)核的微處理器S3C44BOX。S3C44BOX是一款具有豐富的片上外設(shè)的高性價(jià)比嵌入式處理器,如:擴(kuò)展內(nèi)存控制器;帶專用DMA通道的LCD控制器;2個(gè)DMA通道,1個(gè)帶外部請(qǐng)求引腳的DMA通道;I2C總線控制器;5個(gè)PWM定時(shí)器及1個(gè)內(nèi)部定時(shí)器; 8個(gè)外部中斷源;5個(gè)PWM定時(shí)器及1個(gè)內(nèi)部定時(shí)器;帶PLL的時(shí)鐘發(fā)生器等等。其高集成度極大地簡(jiǎn)化了其應(yīng)用系統(tǒng)硬件設(shè)計(jì),軟件設(shè)計(jì)過(guò)程也大為縮短,并提高了系統(tǒng)的可靠性。為運(yùn)行uClinux提供硬件上的支持,存儲(chǔ)系統(tǒng)采用了2MB Flash(AM29LV160DB,AMD)和2片8MB SDRAM(57V651620B,HYUNDAI)。Flash用來(lái)存儲(chǔ)啟動(dòng)代碼和壓縮的linux內(nèi)核;SDRAM作為系統(tǒng)內(nèi)存使用。系統(tǒng)采用 SJA1000T和TJA1040T為S3C44BOX擴(kuò)展一個(gè)CAN總線接口,使之可以通過(guò)CAN總線與各傳感控制單元連接起來(lái)。以太網(wǎng)控制器芯片選用是RTL8019AS。RTL8019AS是Realtek公司生產(chǎn)的一款具有高性價(jià)比的、即插即用的全雙工以太網(wǎng)控制器。它內(nèi)部集成有RAM,用作收發(fā)緩沖,降低了對(duì)處理器速度的要求。整個(gè)硬件系統(tǒng)如圖2所示。


圖 2

[!--empirenews.page--]

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

4.1 uClinux操作系統(tǒng)的移植

由于嵌入式websever硬件資源有限,在此平臺(tái)上只能運(yùn)行一個(gè)小型的操作系統(tǒng)??紤]到硬件的特點(diǎn)和對(duì)系統(tǒng)的功能要求等因素,我們選擇了一款目前比較成熟的uClinux操作系統(tǒng),并在此基礎(chǔ)上實(shí)現(xiàn)了嵌入式webserver。uClinux從標(biāo)準(zhǔn)的Linux 內(nèi)核派生而來(lái),通過(guò)對(duì)內(nèi)存管理和進(jìn)程管理等相關(guān)方面進(jìn)行改寫,滿足無(wú)MMU處理器的開發(fā)要求。它繼承了Linux穩(wěn)定而優(yōu)良的性能,同時(shí)通過(guò)個(gè)性化的內(nèi)核定制,能夠更好的滿足嵌入式應(yīng)用的多樣化需要,提供豐富的應(yīng)用軟件支持。

為了使uClinux能運(yùn)行于硬件平臺(tái),必須對(duì)uClinux進(jìn)行移植。uClinux的移植可以修改內(nèi)核中相關(guān)文件來(lái)實(shí)現(xiàn)。要修改的文件很多,不能一一介紹,主要有以下幾處: (1)linux/arch/mach-S3C44B0X目錄下處理器結(jié)構(gòu)的,如:arch.c、irq.c等。arch.c指定了系統(tǒng)啟動(dòng)時(shí)用到的地址,按照硬件設(shè)計(jì)的不同,地址將有所不同;irq.c是與中斷處理相關(guān)的程序。由于linux所支持體系結(jié)構(gòu)的種類繁多,所以對(duì)一個(gè)新型的體系,其低級(jí)例程可以模仿與其相似的體系例程編寫,在這里可以從mach-S3C4510目錄下的文件修改得到。(2)include/asm-armnommu /arch-S3C44B0X下相關(guān)文件,如:dma.h、hardware.h、irq.h、system.h、time.h等。dma.h這條文件定義了DMA通道,以及DMA可以使用的內(nèi)存空間。hardware.h件定義了內(nèi)存地址和10地址,根據(jù)設(shè)計(jì)的硬件電路不同而不同。irq.h中定義了 fixup_irq()、irq_init_irq()等函數(shù)。system.h在該文件中需要定義兩個(gè)函數(shù):arch-idle()和arch- reset()。time.h實(shí)現(xiàn)了定時(shí)器中斷處理s3c44b0x_timer_interrupt()和相關(guān)函數(shù)。(3)各級(jí)相關(guān)makefile。在交叉編譯環(huán)境下編譯內(nèi)核,當(dāng)編譯結(jié)束時(shí)會(huì)生成內(nèi)核的鏡像文件image.rom,將其和bootloader一起燒寫在板子的Flash中,重新加電通過(guò)串口可以觀測(cè)到內(nèi)核的啟動(dòng)信息,證明系統(tǒng)移植成功。

4.2 守護(hù)進(jìn)程的實(shí)現(xiàn)

uClinux移植完成后就可以在此平臺(tái)上進(jìn)行應(yīng)用程序開發(fā)了。系統(tǒng)開發(fā)的主要功能要求是使系統(tǒng)響應(yīng)遠(yuǎn)程客戶機(jī)的請(qǐng)求,完成特定的操作,同時(shí)能夠自動(dòng)的將本地的監(jiān)測(cè)數(shù)據(jù)傳送到遠(yuǎn)程客戶機(jī)上。根據(jù)這一要求,必須對(duì)在服務(wù)器上實(shí)現(xiàn)一個(gè)守護(hù)進(jìn)程。該程序在uClinux下用C語(yǔ)言編寫,當(dāng)uClinux操作系統(tǒng)啟動(dòng)后會(huì)自動(dòng)運(yùn)行,流程圖如圖3所示。


圖 3

4.3 嵌入式Webserver的實(shí)現(xiàn)

考慮到硬件資源的限制,這里我們選擇uClinux下的boa服務(wù)器。Boa是一款單任務(wù)的HTTP服務(wù)器,它通過(guò)建立HTTP請(qǐng)求列表來(lái)處理多路連接請(qǐng)求,而且它只為CGI程序創(chuàng)建新的進(jìn)程,這樣就節(jié)省了大量的系統(tǒng)資源, 因此,Boa具有很高的HTTP請(qǐng)求處理速度和效率,在嵌入式系統(tǒng)中具有很高的應(yīng)用價(jià)值。要在uClinux上運(yùn)行boa需要對(duì)uClinux進(jìn)行修改, 在user/Makefile,加入dir_$(CONFIG_USER_BOA_SRC_BOA) += boa;在config/config.in中加入

comment "Network Applications"

bool "boa" CONFIG_USER_BOA_SRC_BOA

在uClinux-dist/vendors/Samsung/44b0/rc中加入一行ifconfig eth0 202.117.0.2 up,再增加一行腳本命令boa &,把Default.html定義為遠(yuǎn)程客戶瀏覽的控制頁(yè)面,放在/uClinux-dist/romfs下面[3]。最后,在進(jìn)行內(nèi)核配置時(shí)make Menuconfig時(shí)選中boa ,重新編譯內(nèi)核,將最終生成的文件燒寫進(jìn)Flash中即可。

[!--empirenews.page--]

4.4 客戶端軟件實(shí)現(xiàn)

用戶端使用了Java語(yǔ)言編寫的應(yīng)用程序?yàn)g覽該嵌入式Webserver上的html信息,并完成數(shù)據(jù)處理和相應(yīng)的控制功能。主要包括:產(chǎn)生發(fā)送至Webserver的指令流,顯示從Webserver返回的數(shù)據(jù);當(dāng)命令執(zhí)行過(guò)程中所要執(zhí)行的信息的提示;對(duì)返回?cái)?shù)據(jù)的簡(jiǎn)單處理等等。

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

本文作者創(chuàng)新點(diǎn):本文克服單片機(jī)在組建大型網(wǎng)絡(luò)方面的局限,提出了基于uClinux的網(wǎng)絡(luò)化遠(yuǎn)程監(jiān)控系統(tǒng)。該系統(tǒng)充分利用以太網(wǎng)網(wǎng)絡(luò)的諸多優(yōu)點(diǎn)以及CAN總線網(wǎng)絡(luò)在工業(yè)控制方面的廣泛應(yīng)用, 實(shí)現(xiàn)了兩種網(wǎng)絡(luò)的無(wú)縫互連, 并在這種連接的基礎(chǔ)上實(shí)現(xiàn)對(duì)機(jī)電設(shè)備的遠(yuǎn)程集中監(jiān)測(cè)和控制。該監(jiān)控系統(tǒng)具體積小、性能可靠、組網(wǎng)方便靈活等優(yōu)點(diǎn), 它能夠大幅提高企業(yè)的自動(dòng)化和信息化水平,有著廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉