基于ARM開發(fā)板+uCLinux的網(wǎng)絡控制系統(tǒng)設計與實現(xiàn)
發(fā)布時間:2008/8/29 0:00:00 訪問次數(shù):573
引言
隨著網(wǎng)絡和通信技術的發(fā)展,嵌入式系統(tǒng)現(xiàn)已進入高速發(fā)展階段。并在社會各個領域得到了廣泛的應用。本文介紹了一種采用arm+uclinux作為開發(fā)平臺。實現(xiàn)基于tcp/ip的遠程系統(tǒng)監(jiān)控.從而取代傳統(tǒng)單片機來實現(xiàn)數(shù)據(jù)采集、預處理和通信功能;并依靠互聯(lián)網(wǎng)將數(shù)據(jù)向上位機傳送,同時支持遠端客戶對設備進行遠程控制,從而實現(xiàn)遠程監(jiān)控功能的具體方法。
1 系統(tǒng)平臺的構建
本系統(tǒng)由嵌入式平臺服務器、前端控制器、前端傳感器、客戶端和配置pc組成。開發(fā)時可通過配置pc來下載系統(tǒng)和應用軟件。嵌入式系統(tǒng)平臺能夠收集現(xiàn)場數(shù)據(jù)。并傳送到遠端客戶機,之后由遠端客戶機對數(shù)據(jù)進行處理,接著發(fā)送控制信號給系統(tǒng)服務器,以便通過前端控制器對設備進行遠程控制。其系統(tǒng)結構如圖1所示。
1.1 硬件開發(fā)平臺
該系統(tǒng)的硬件開發(fā)平臺可選擇smartarm2200。該嵌入式設備的核心是arm7tdmi的lpc2210.開發(fā)板自身具有a/d轉換器和多個gpio(通用i/o)口,可對工業(yè)現(xiàn)場的各種設備、儀表進行數(shù)據(jù)采集和監(jiān)控。使用時,只要將相應的傳感器信號接入控制器的端口即可。其開發(fā)板系統(tǒng)的硬件配置如圖2所示。
1.2 uclinux操作系統(tǒng)
操作系統(tǒng)是嵌入式設備軟件的核心部分。本系統(tǒng)采用uclinux系統(tǒng)平臺來完成對硬件系統(tǒng)的管理和維護。uclinux是廣泛應用于微控制領域的一種嵌入式linux操作系統(tǒng)。它通過對標準linux內核的裁減,可去除虛擬內存管理部分代碼,以對內存分配進行優(yōu)化。從而達到提高系統(tǒng)運行效率的目的。uclinux則可經過各方面的小型化改造形成一個高度優(yōu)化、代碼緊湊的嵌入式linux,它保留了linux的大多數(shù)優(yōu)點,包括穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡功能、完備的文件系統(tǒng)支持、豐富的api等。
1.3 uclinux在arm平臺上的移植
若將uclinux移植到smartarm2200上,需要進行以下四個步驟:
(1)下載源碼,建立交叉編譯環(huán)境
uclinux是自由軟件(完全開放代碼)。用戶可以直接從http://www.uclinux.org/pub/uclinux處下載源代碼并安裝到red hat9.0系統(tǒng)下,以便正常在red hat9.0建立起交叉編譯環(huán)境。
(2)配置和編譯內核
進入到安裝好的uclinux目錄,依次執(zhí)行下面的命令:
make menuconfig;進入配置菜單后,選擇vendor/product(廠商/產品)下的philips/lpc2200;用kernel version(內核版本)選擇linux-2.4.x,libc version(函數(shù)庫版本)選擇uclibc:其余內核和應用程序選項可根據(jù)情況選擇。
make dep
make clean
make lib_only
make user_only
make romfs
make image
make
編譯結束后會在uclinux安裝目錄下生成romfs.img文件,利用它可以制作ram disk,然后在linux-2.4.x目錄下生成elf格式的linux內核文件,并以下列方式將其轉換成bin格式:
#arm-elf-objcopy-o binary linux linux.bin
從而生成下載用的uclinux內核鏡像文件linux.bin。
(3)制作ram disk掛栽根文件系統(tǒng)
首先創(chuàng)建一個512 kb的虛擬磁盤,并將虛擬磁盤文件格式轉化成ext2格式:
dd if/dev/zero of=initrd.img bs=1024 count=512
mkfs.ext2-c init.img
然后將init.img和romfs.img加載到主機文件系統(tǒng)上,并在ram中建立需要的目錄:/bin,/dev,/etc,/var,進而拷貝rom中的文件到ram目錄中。
下來在ram盤dev目錄下創(chuàng)建設備節(jié)點:
#mknod ram/dev/ttys0 c 4 64
#mknod ram/dev/console c 5 1
最后卸載init.img和romfs.img,并應確保init.img修改已保存,至此,ram disk便創(chuàng)建完成。
(4)下載內核和文件系統(tǒng)
正確設置主板啟動選擇跳線。主板加電后,在超級終端上便可以看到bootloader引導信息,可選擇默認的ftp連接,并使用bootloader默認的ip進行下載,然后啟動gftp,輸入主板默認的ip和端口號。這樣,linux主機就可以和主機連接,最后選擇需要下載的linux內核文件和ram盤及相關的配置文件即可。
2 監(jiān)控系統(tǒng)功能的實現(xiàn)
監(jiān)控系統(tǒng)主要由3個部分組成:數(shù)據(jù)采集部分,設備控制部分,數(shù)據(jù)傳輸部分。數(shù)據(jù)采集部分可對傳感器信號進行a/d轉換,并對采集到的數(shù)據(jù)進行簡單的處理,同時提供調整運行參數(shù)的接口。數(shù)據(jù)傳輸部分可將采集的數(shù)據(jù)傳送到遠端的主機,并接收遠端主機的控制信息。遠端主機則對傳輸過來的遠程數(shù)據(jù)進行處理、存儲和顯示,并可以修改數(shù)據(jù)采集部分的參數(shù)以控制數(shù)據(jù)采集,同時依據(jù)采集
引言
隨著網(wǎng)絡和通信技術的發(fā)展,嵌入式系統(tǒng)現(xiàn)已進入高速發(fā)展階段。并在社會各個領域得到了廣泛的應用。本文介紹了一種采用arm+uclinux作為開發(fā)平臺。實現(xiàn)基于tcp/ip的遠程系統(tǒng)監(jiān)控.從而取代傳統(tǒng)單片機來實現(xiàn)數(shù)據(jù)采集、預處理和通信功能;并依靠互聯(lián)網(wǎng)將數(shù)據(jù)向上位機傳送,同時支持遠端客戶對設備進行遠程控制,從而實現(xiàn)遠程監(jiān)控功能的具體方法。
1 系統(tǒng)平臺的構建
本系統(tǒng)由嵌入式平臺服務器、前端控制器、前端傳感器、客戶端和配置pc組成。開發(fā)時可通過配置pc來下載系統(tǒng)和應用軟件。嵌入式系統(tǒng)平臺能夠收集現(xiàn)場數(shù)據(jù)。并傳送到遠端客戶機,之后由遠端客戶機對數(shù)據(jù)進行處理,接著發(fā)送控制信號給系統(tǒng)服務器,以便通過前端控制器對設備進行遠程控制。其系統(tǒng)結構如圖1所示。
1.1 硬件開發(fā)平臺
該系統(tǒng)的硬件開發(fā)平臺可選擇smartarm2200。該嵌入式設備的核心是arm7tdmi的lpc2210.開發(fā)板自身具有a/d轉換器和多個gpio(通用i/o)口,可對工業(yè)現(xiàn)場的各種設備、儀表進行數(shù)據(jù)采集和監(jiān)控。使用時,只要將相應的傳感器信號接入控制器的端口即可。其開發(fā)板系統(tǒng)的硬件配置如圖2所示。
1.2 uclinux操作系統(tǒng)
操作系統(tǒng)是嵌入式設備軟件的核心部分。本系統(tǒng)采用uclinux系統(tǒng)平臺來完成對硬件系統(tǒng)的管理和維護。uclinux是廣泛應用于微控制領域的一種嵌入式linux操作系統(tǒng)。它通過對標準linux內核的裁減,可去除虛擬內存管理部分代碼,以對內存分配進行優(yōu)化。從而達到提高系統(tǒng)運行效率的目的。uclinux則可經過各方面的小型化改造形成一個高度優(yōu)化、代碼緊湊的嵌入式linux,它保留了linux的大多數(shù)優(yōu)點,包括穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡功能、完備的文件系統(tǒng)支持、豐富的api等。
1.3 uclinux在arm平臺上的移植
若將uclinux移植到smartarm2200上,需要進行以下四個步驟:
(1)下載源碼,建立交叉編譯環(huán)境
uclinux是自由軟件(完全開放代碼)。用戶可以直接從http://www.uclinux.org/pub/uclinux處下載源代碼并安裝到red hat9.0系統(tǒng)下,以便正常在red hat9.0建立起交叉編譯環(huán)境。
(2)配置和編譯內核
進入到安裝好的uclinux目錄,依次執(zhí)行下面的命令:
make menuconfig;進入配置菜單后,選擇vendor/product(廠商/產品)下的philips/lpc2200;用kernel version(內核版本)選擇linux-2.4.x,libc version(函數(shù)庫版本)選擇uclibc:其余內核和應用程序選項可根據(jù)情況選擇。
make dep
make clean
make lib_only
make user_only
make romfs
make image
make
編譯結束后會在uclinux安裝目錄下生成romfs.img文件,利用它可以制作ram disk,然后在linux-2.4.x目錄下生成elf格式的linux內核文件,并以下列方式將其轉換成bin格式:
#arm-elf-objcopy-o binary linux linux.bin
從而生成下載用的uclinux內核鏡像文件linux.bin。
(3)制作ram disk掛栽根文件系統(tǒng)
首先創(chuàng)建一個512 kb的虛擬磁盤,并將虛擬磁盤文件格式轉化成ext2格式:
dd if/dev/zero of=initrd.img bs=1024 count=512
mkfs.ext2-c init.img
然后將init.img和romfs.img加載到主機文件系統(tǒng)上,并在ram中建立需要的目錄:/bin,/dev,/etc,/var,進而拷貝rom中的文件到ram目錄中。
下來在ram盤dev目錄下創(chuàng)建設備節(jié)點:
#mknod ram/dev/ttys0 c 4 64
#mknod ram/dev/console c 5 1
最后卸載init.img和romfs.img,并應確保init.img修改已保存,至此,ram disk便創(chuàng)建完成。
(4)下載內核和文件系統(tǒng)
正確設置主板啟動選擇跳線。主板加電后,在超級終端上便可以看到bootloader引導信息,可選擇默認的ftp連接,并使用bootloader默認的ip進行下載,然后啟動gftp,輸入主板默認的ip和端口號。這樣,linux主機就可以和主機連接,最后選擇需要下載的linux內核文件和ram盤及相關的配置文件即可。
2 監(jiān)控系統(tǒng)功能的實現(xiàn)
監(jiān)控系統(tǒng)主要由3個部分組成:數(shù)據(jù)采集部分,設備控制部分,數(shù)據(jù)傳輸部分。數(shù)據(jù)采集部分可對傳感器信號進行a/d轉換,并對采集到的數(shù)據(jù)進行簡單的處理,同時提供調整運行參數(shù)的接口。數(shù)據(jù)傳輸部分可將采集的數(shù)據(jù)傳送到遠端的主機,并接收遠端主機的控制信息。遠端主機則對傳輸過來的遠程數(shù)據(jù)進行處理、存儲和顯示,并可以修改數(shù)據(jù)采集部分的參數(shù)以控制數(shù)據(jù)采集,同時依據(jù)采集
熱門點擊
- 基于嵌入式處理器的電力諧波多功能實時分析系統(tǒng)
- 基于ARM9芯片S3C2410異常中斷程序設
- 三星ARM9 S3C2410 的的特點及其軟
- VxWorks下實時多任務程序的實現(xiàn)
- ARM、DSP、FPGA的特點和區(qū)別
- 基于CP2200的嵌入式以太網(wǎng)接口設計
- ucos-ii在嵌入式智能視覺監(jiān)控系統(tǒng)中的應
- ARM/uClinux應用程序的開發(fā)
- 基于ARM開發(fā)板的車輛檢測系統(tǒng)控制單元設計
- 425嵌入式開發(fā)平臺簡介
推薦技術資料
- DFRobot—玩的就是
- 如果說新車間的特點是“靈動”,F(xiàn)QPF12N60C那么... [詳細]