基于嵌入式遠(yuǎn)程測(cè)控系統(tǒng)設(shè)計(jì)
前言
目前,大多數(shù)遠(yuǎn)程測(cè)控系統(tǒng)中,系統(tǒng)的硬件采用8/16位的單片機(jī),軟件多采用匯編語(yǔ)言編程,該編程僅包含一個(gè)簡(jiǎn)單的循環(huán)處理的控制流程;單片機(jī)與單片機(jī)(或上位機(jī))之間的通信通過(guò)RS232、RS485或CAN總線來(lái)組成局域網(wǎng),再用Pc機(jī)作為 Web服務(wù)器,與Internet進(jìn)行通訊。這樣的遠(yuǎn)程測(cè)控設(shè)備成本高、體積大、速度慢、功耗大?,F(xiàn)在,32位嵌入式CPU價(jià)格已下降,性能指標(biāo)也有提高,為嵌入式系統(tǒng)的廣泛應(yīng)用提供了可能性?;谏鲜銮闆r,我們將嵌入式系統(tǒng)應(yīng)用于遠(yuǎn)程測(cè)控系統(tǒng),大大提高了測(cè)控系統(tǒng)的性能,同時(shí)降低了成本和功耗,體積也大大減小。
嵌入式系統(tǒng)一般應(yīng)用嵌入式操作系統(tǒng)來(lái)開發(fā)。在嵌入式操作系統(tǒng)的選擇上,由于Linux有完整開放的源代碼,因而它具有修改和優(yōu)化系統(tǒng)、內(nèi)核穩(wěn)定、適用于多種CPU和多種硬件平臺(tái)、支持網(wǎng)絡(luò)等特點(diǎn),所以選擇Linux作為嵌入式操作系統(tǒng)較好。本文提出的基于 ARMlinux的嵌入式遠(yuǎn)程測(cè)控系統(tǒng)不僅能夠?qū)崿F(xiàn)本地?cái)?shù)據(jù)采集與控制,還能實(shí)現(xiàn)遠(yuǎn)程測(cè)控任務(wù)。
1、硬件系統(tǒng)
硬件系統(tǒng)如圖1。S3C2410包含一個(gè)16/32-bit的Risc(ARM920T)的CPU內(nèi)核,主頻200Hz,內(nèi)部含有8通道1O位AD轉(zhuǎn)換器和大量的I/O口、LCD控制器等豐富接口,能運(yùn)行Ucosll、ARMlinux和Wince嵌入式操作系統(tǒng),DM 9OOO是10M/100M以太網(wǎng)接口控制芯片。本硬件系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,成本低,不需要Pc機(jī)就可直接接入Internet。
2、軟件系統(tǒng)
嵌入式操作系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心。本系統(tǒng)選擇ARMlinux系統(tǒng)。由于嵌入式系統(tǒng)的存儲(chǔ)容量很小,因此要把ARMLinux操作系統(tǒng)裝入有限的存儲(chǔ)器內(nèi),就要對(duì)它進(jìn)行裁剪。很多資料對(duì)此都有論述,這里就不再累述。下面主要介紹基于操作系統(tǒng)上的遠(yuǎn)程測(cè)控軟件設(shè)計(jì)。其體系結(jié)構(gòu)如圖2。
2.1 基于Boa的Web服務(wù)器
嵌入式linux主要有三個(gè)web Server:Hapd、Thttpd和Boa。Httpd是最簡(jiǎn)單的一個(gè)web Server。它的功能最弱,不支持認(rèn)證,不支持CG1。Thttpd和Boa都支持認(rèn)證、CGI等,功能都比較全。Boa是一個(gè)單任務(wù)的小型Httpd 服務(wù)器,源代碼開放、性能優(yōu)秀,特別適合應(yīng)用在嵌入式系統(tǒng)中。下面介紹Boa的移植與編譯。
對(duì)于有MMU嵌入式linux,把Boa下載到Redhat宿主機(jī)上后,解壓到任意目錄,再修改Boa/src/Makefde里面的編譯器。例如:
CC=/opfhosfarmv41/bin/armv41—unkllown—linux—gcc
CPP=/opt/host/army41/bin/armv41—unknown—linux—g++
此后直接在Boa/src目錄下執(zhí)行make即可生成Boa可執(zhí)行文件。將其復(fù)制到ramdisk加載mount的目錄的bin里面后,等一同加入配置文件和HTML/CGI文件后,重做ramdisk即可。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論