《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于ARM uCLinux的網絡控制系統設計與實現
基于ARM uCLinux的網絡控制系統設計與實現
任海剛 孟克
摘要: 引言隨著網絡和通信技術的發展,嵌入式系統現已進入高速發展階段。并在社會各個領域得到了廣泛的應用。本文介紹了一種采用ARM+uCLinux作為開發平臺。
Abstract:
Key words :

引言

隨著網絡和通信技術的發展,嵌入式系統現已進入高速發展階段。并在社會各個領域得到了廣泛的應用。本文介紹了一種采用ARM+uCLinux作為開發平臺。實現基于TCP/IP的遠程系統監控.從而取代傳統單片機來實現數據采集、預處理和通信功能;并依靠互聯網將數據向上位機傳送,同時支持遠端客戶對設備進行遠程控制,從而實現遠程監控功能的具體方法。

1 系統平臺的構建

本系統由嵌入式平臺服務器、前端控制器、前端傳感器、客戶端和配置PC組成。開發時可通過配置PC來下載系統和應用軟件。嵌入式系統平臺能夠收集現場數據。并傳送到遠端客戶機,之后由遠端客戶機對數據進行處理,接著發送控制信號給系統服務器,以便通過前端控制器對設備進行遠程控制。其系統結構如圖1所示
 

1.1 硬件開發平臺
 

該系統的硬件開發平臺可選擇SmartARM2200。該嵌入式設備的核心是ARM7TDMI的LPC2210.開發板自身具有A/D轉換器和多個GPIO(通用I/O)口,可對工業現場的各種設備、儀表進行數據采集和監控。使用時,只要將相應的傳感器信號接入控制器的端口即可。其開發板系統的硬件配置如圖2所示。

1.2 uCLinux操作系統

操作系統是嵌入式設備軟件的核心部分。本系統采用uCLinux系統平臺來完成對硬件系統的管理和維護。uCLinux是廣泛應用于微控制領域的一種嵌入式Linux操作系統。它通過對標準Linux內核的裁減,可去除虛擬內存管理部分代碼,以對內存分配進行優化。從而達到提高系統運行效率的目的。uCLinux則可經過各方面的小型化改造形成一個高度優化、代碼緊湊的嵌入式Linux,它保留了Linux的大多數優點,包括穩定、良好的移植性、優秀的網絡功能、完備的文件系統支持、豐富的API等。

1.3 uCLinux在ARM平臺上的移植

若將uCLinux移植到SmartARM2200上,需要進行以下四個步驟:

(1)下載源碼,建立交叉編譯環境

uCLinux是自由軟件(完全開放代碼)。用戶可以直接從http://www.uclinux.org/pub/uclinux處下載源代碼并安裝到Red Hat9.0系統下,以便正常在Red Hat9.0建立起交叉編譯環境。

(2)配置和編譯內核

進入到安裝好的uCLinux目錄,依次執行下面的命令:

make menuconfig;進入配置菜單后,選擇Vendor/Product(廠商/產品)下的PHILIPS/lpc2200;用Kernel Version(內核版本)選擇Linux-2.4.x,Libc Version(函數庫版本)選擇uClibc:其余內核和應用程序選項可根據情況選擇。

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掛栽根文件系統

首先創建一個512 kB的虛擬磁盤,并將虛擬磁盤文件格式轉化成ext2格式:

dd if/dev/zero of=initrd.img bs=1024 count=512

mkfs.ext2-c init.img

然后將init.img和romfs.img加載到主機文件系統上,并在RAM中建立需要的目錄:/bin,/dev,/etc,/var,進而拷貝ROM中的文件到ram目錄中。

下來在RAM盤dev目錄下創建設備節點:

#mknod ram/dev/ttyS0 c 4 64

#mknod ram/dev/console c 5 1

最后卸載init.img和romfs.img,并應確保init.img修改已保存,至此,RAM DISK便創建完成。

(4)下載內核和文件系統

正確設置主板啟動選擇跳線。主板加電后,在超級終端上便可以看到BootLoader引導信息,可選擇默認的FTP連接,并使用BootLoader默認的IP進行下載,然后啟動gftp,輸入主板默認的IP和端口號。這樣,linux主機就可以和主機連接,最后選擇需要下載的Linux內核文件和RAM盤及相關的配置文件即可。

2 監控系統功能的實現

監控系統主要由3個部分組成:數據采集部分,設備控制部分,數據傳輸部分。數據采集部分可對傳感器信號進行A/D轉換,并對采集到的數據進行簡單的處理,同時提供調整運行參數的接口。數據傳輸部分可將采集的數據傳送到遠端的主機,并接收遠端主機的控制信息。遠端主機則對傳輸過來的遠程數據進行處理、存儲和顯示,并可以修改數據采集部分的參數以控制數據采集,同時依據采集到的數據對設備發出操作指令,或對遠端的設備進行控制,從而實現遠程監控功能。

2.1 數據采集

使用A/D轉換設備前,首先要創建設備節點,并加載ADC驅動,然后通過open()和close()將其打開和關閉.主要的數據采集程序如下:

……

ioctl(fd,ADC_SET_CLKDIV,(Fpclk+fadc1)/fadc-1);//設置A/D轉換速度

ioctl(fd,ADC_SET_BITS,10);//設置A/D轉換精度; 

while(1) {

ad_data=0;

read(fd,&ad_data,sizeof(ad_data));//讀取A/D轉換的值;

……
 

2.2 GPIO設備控制

同A/D轉換設備類似,使用GPIO也需先創建設備節點并加載驅動。對GPIO操作前,應通過open()打開,使用后應通過close()關閉。


 首先。選定開發板上沒有使用過的GPIO端口,設定其輸入/輸入狀態,然后根據客戶端返回的信息對端口進行操作,輸出0/1的電平,以使其外部連接的繼電器動作。從而控制設備的運轉。程序主要通過函數ioctl來實現。ioctl是設備驅動程序中對設備的I/O通道進行管理的函數,通過它可對設備的一些特性進行控制.其函數原形為:

int ioctl(int fd,ind cmd,…);

其中,fd是用程序打開設備時,使用open函數返回的文件標示符;cmd是用戶程序對設備的控制命令;至于后面的省略號,則是一些補充參數(一般最多一個,有或沒有是和cmd的意義相關的)。在這里,可通過如下一組函數來實現:

ioctl(fd1,GPIO_SET_PIN_IN,devicel);

//設置管角為輸出狀態;

ioctl( fd2, GPIO_SET_PIN_OUT, devicel_state); 

//設置管角為輸入狀態;

ioctl(fd2,GPIO_READ_PIN,&devicel_state);

//讀取設備狀態管角;

ioctl(fd1,GPIO_CLR_PIN,device);

//清除設備管角控制信號;

2.3 網絡通信程序

網絡通信程序可使用TCP/IP協議下標準的socket套接字編寫。套接字(socket)是網絡通信的基本操作單元。它提供了不同主機間進程雙向通信的端點。這些進程在通信前應各自建立一個socket,并通過對socket的讀/寫操作實現網絡通信功能。常用的套接字有兩種:流式套接字(Stream Socket)和數據報套接字(Datagram Socket)。其中,流式套接字是可靠的面向連接的通信數據流,是無錯誤的傳輸;而數據報套接字則使用UDP來傳送數據包,數據包的順序是沒有保障的。本系統采用流式套接字進行程序設計。

流式套接字的服務進程和客戶進程建立連接及通信的程序流程如圖3所示?,F具體說明如下:
 

(1)服務進程首先調用socket()創建一個流式套接字,并調用bind()將服務器地址捆扎在該套接字上,接著調用listen()監聽連接請求,隨后調用accept()做好與客戶進程建立連接的準備。無連接請求時,服務進程被阻塞;

(2)客戶進程先調用socket()創建流式套接字,然后調用connect()向服務進程發出連接請求;

(3)當連接請求到來后,服務進程被喚醒,并生成一個新的流式套接字。同時用新套接字同客戶進程的套接字建立連接,而服務進程最早生成的套接字則繼續用于監聽網絡上的服務請求;

(4)服務進程和客戶進程通過調用send()和recv()來交換數據,服務器可向客戶端傳送所收集的數據。客戶端則向服務器反饋控制信息和參數調整信息; 
 

(5)服務進程或客戶進程可通過調用close()來撤消套接字并中斷連接。

服務器端的程序通過交叉編譯環境編譯后??赏ㄟ^NFS(網絡文件系統)下載到開發板中,然后手動加入到rc引導文件中。即可實現開機自動運行
 

3 結束語

基于ARM和CLinux嵌入式系統代表了目前嵌入式系統的發展方向。嵌入式系統與網絡技術和控制技術相結合.是嵌入式系統發展的必然趨勢。本文討論了基于ARM+uCLinux平臺的網絡控制系統設計與實現方法。并對該平臺下應用TCP/IP協議進行網絡通信進行了探討。該方法對于自動化樓宇、工業控制、智能家居等方面都有一定的借鑒意義。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久在线免费观看| 国产精品h在线观看| 亚洲一区二区网站| 欧美在线观看网址综合| 亚洲性人人天天夜夜摸| 亚洲裸体视频| 亚洲毛片一区| 亚洲精品视频在线观看免费| 在线观看日韩精品| 伊人久久久大香线蕉综合直播 | 欧美视频不卡| 欧美精品 国产精品| 欧美阿v一级看视频| 裸体一区二区| 男女精品网站| 欧美成人精品在线| 欧美成人网在线| 欧美国产日韩一区二区| 欧美电影打屁股sp| 欧美华人在线视频| 欧美伦理91i| 欧美日本韩国| 欧美日韩国产一区| 欧美色区777第一页| 欧美性大战久久久久久久蜜臀| 欧美日韩亚洲免费| 国产精品福利片| 国产精品美女久久久免费| 国产精品久久久久永久免费观看| 国产精品一区二区久久久久| 国产精品视频精品视频| 国产欧美日韩在线播放| 国内一区二区在线视频观看| 在线观看亚洲精品| 亚洲另类自拍| 亚洲自拍电影| 久久精品123| 日韩系列欧美系列| 亚洲午夜精品视频| 久久成人精品电影| 美女日韩欧美| 国产精品v欧美精品v日韩精品| 国产精品亚洲欧美| 在线免费观看成人网| 日韩亚洲国产精品| 新片速递亚洲合集欧美合集 | 亚洲激情一区二区| 亚洲午夜久久久久久久久电影网| 亚洲一区二区av电影| 欧美一区二区性| 美女脱光内衣内裤视频久久影院| 欧美理论片在线观看| 国产精自产拍久久久久久蜜| 狠狠v欧美v日韩v亚洲ⅴ| 91久久国产综合久久| 亚洲午夜在线观看| 91久久精品国产91性色tv| 一区二区三区高清不卡| 午夜精品福利在线观看| 老牛嫩草一区二区三区日本| 欧美日本韩国一区| 国产伦理精品不卡| 极品中文字幕一区| 夜夜爽www精品| 欧美一区二区三区日韩视频| 亚洲国产精品一区二区第一页| 亚洲精品一二三| 亚洲在线中文字幕| 欧美中文字幕在线| 欧美暴力喷水在线| 欧美视频免费在线| 伊大人香蕉综合8在线视| 亚洲精品久久久久久下一站| 亚洲五月婷婷| 亚洲第一黄色| 亚洲视频在线看| 欧美一区三区二区在线观看| 蜜桃av噜噜一区| 国产精品分类| 在线观看成人小视频| 亚洲综合清纯丝袜自拍| 亚洲国产精品电影| 亚洲视频在线观看三级| 久久人人爽国产| 欧美日韩亚洲综合一区| 国产一区二区精品久久99| 亚洲精品乱码久久久久久蜜桃91| 亚洲欧美日韩国产一区| 亚洲人精品午夜| 亚洲一区在线免费观看| 欧美韩日亚洲| 国产欧美精品日韩精品| 亚洲国产一区二区三区青草影视| 正在播放欧美一区| 亚洲激情一区二区| 欧美一区永久视频免费观看| 欧美成人免费观看| 国产精品影音先锋| 亚洲欧洲一区| 精品99一区二区三区| 亚洲欧美一区二区三区久久 | 亚洲欧美日韩一区| 麻豆av一区二区三区久久| 国产日韩一区二区三区在线| 亚洲精品国产欧美| 久久精品二区亚洲w码| 亚洲小说欧美另类社区| 另类春色校园亚洲| 国产精品制服诱惑| 99国产精品久久久久久久久久| 亚洲第一精品夜夜躁人人爽| 亚洲欧美制服另类日韩| 久久国产天堂福利天堂| 国产伦精品一区二区三区在线观看 | 怡红院精品视频| 亚洲视频一二| 99亚洲伊人久久精品影院红桃| 久色婷婷小香蕉久久| 国产欧美精品日韩| 亚洲午夜电影网| 一区二区三区视频在线看| 噜噜爱69成人精品| 国产综合久久| 性欧美在线看片a免费观看| 亚洲一区二区三区视频播放| 欧美极品在线观看| 亚洲国产成人av在线| 亚洲欧洲一二三| 久久综合色一综合色88| 国产一区三区三区| 亚洲欧美日韩精品久久久| 亚洲视频一区在线观看| 欧美理论在线| 亚洲精品国久久99热| 亚洲精品中文在线| 欧美freesex8一10精品| 精品成人免费| 亚洲国产精彩中文乱码av在线播放| 欧美在线观看你懂的| 国产精品天美传媒入口| 亚洲一区二区三区四区五区午夜| 亚洲一区在线看| 国产精品久久久久久亚洲调教 | 美女啪啪无遮挡免费久久网站| 国内精品一区二区| 久久激情综合| 久久精品主播| 亚洲第一色中文字幕| 亚洲国产第一页| 毛片av中文字幕一区二区| 精品69视频一区二区三区| 久久精品官网| 麻豆精品网站| 亚洲国产天堂久久综合| 亚洲精选在线| 欧美电影在线观看完整版| 99re6热在线精品视频播放速度| 在线视频精品| 国产精品国产精品| 亚洲欧美经典视频| 久久国产精品毛片| 国产香蕉久久精品综合网| 欧美一区2区三区4区公司二百| 久久久久国色av免费观看性色| 国产婷婷色综合av蜜臀av| 欧美伊人影院| 免费欧美高清视频| 亚洲精品在线视频观看| 亚洲私人影院| 国产视频精品免费播放| 久久精品一区蜜桃臀影院| 欧美成人免费在线视频| 亚洲精品乱码久久久久久| 正在播放亚洲一区| 国产精品天美传媒入口| 久久xxxx| 亚洲精品午夜| 久久久精品网| 91久久精品网| 亚洲一区久久久| 国产精品色一区二区三区| 午夜精品福利一区二区三区av| 久久久久久欧美| 亚洲精品久久久久久久久久久久| 亚洲欧美另类国产| 黄色成人免费观看| 一区二区三区精密机械公司 | 午夜伦理片一区| 美女诱惑黄网站一区| 日韩视频专区| 老牛影视一区二区三区| 亚洲美女淫视频| 久久久7777| 亚洲精品美女久久7777777| 亚洲女女做受ⅹxx高潮| 好吊色欧美一区二区三区四区| 99视频精品全国免费| 欧美日韩dvd在线观看| 午夜影视日本亚洲欧洲精品| 免费视频久久|