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