日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 通信技術 > 通信技術
[導讀]本文討論了基于ARM+uCLinux平臺的網絡控制系統(tǒng)設計與實現方法。并對該平臺下應用TCP/IP協議進行網絡通信進行了探討。

引言

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

1 系統(tǒng)平臺的構建

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

1.1 硬件開發(fā)平臺

    該系統(tǒng)的硬件開發(fā)平臺可選擇SmartARM2200。該嵌入式設備的核心是ARM7TDMI的LPC2210.開發(fā)板自身具有A/D轉換器和多個GPIO(通用I/O)口,可對工業(yè)現場的各種設備、儀表進行數據采集和監(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的大多數優(yōu)點,包括穩(wěn)定、良好的移植性、優(yōu)秀的網絡功能、完備的文件系統(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(函數庫版本)選擇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掛栽根文件系統(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)功能的實現

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

2.1 數據采集

    使用A/D轉換設備前,首先要創(chuàng)建設備節(jié)點,并加載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也需先創(chuàng)建設備節(jié)點并加載驅動。對GPIO操作前,應通過open()打開,使用后應通過close()關閉。

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

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

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

ioctl(fd1,GPIO_SET_PIN_IN,devicel);

//設置管角為輸出狀態(tài);

ioctl( fd2, GPIO_SET_PIN_OUT, devicel_state);

//設置管角為輸入狀態(tài);

ioctl(fd2,GPIO_READ_PIN,&devicel_state);

//讀取設備狀態(tài)管角;

ioctl(fd1,GPIO_CLR_PIN,device);

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

2.3 網絡通信程序

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

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

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

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

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

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

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

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

3 結束語

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

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

物聯網正在擴大規(guī)模并加速發(fā)展,進而驅動著全新的經濟。而Arm生態(tài)系統(tǒng)正是這一巨大機遇背后的推動力。

關鍵字: ARM 物聯網

ARM公司是一家知識產權(IP)供應商,它與一般的半導體公司最大的不同就是不制造芯片且不向終端用戶出售芯片,而是通過轉讓設計方案,由合作伙伴生產出各具特色的芯片。

關鍵字: ARM

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國CEO吳雄昂在ARM年度技術論壇上對記者如是說,彼時的吳堅定,溫雅,意氣風發(fā)。時隔兩年,ARM中國CEO吳雄昂再次回到媒體視線,這一次,ARM中國與來自投資方和劍...

關鍵字: ARM 芯片 集成電路

喜歡折騰主機的小伙伴一定都知道X86和ARM架構的區(qū)別,前者在PC領域已經統(tǒng)治了幾十年;后者則主要應用于移動領域,尤其是近幾年,ARM的產品在終端應用特別是手持終端應用飛速發(fā)展。

關鍵字: 國產 ARM 主機

科技公司們認為,收購將使英偉達控制一個重要的供應商,該供應商向蘋果、英特爾、三星電子、亞馬遜和華為等公司授權基本的芯片技術,同時也向不計其數的中小技術企業(yè)提供授權。總部位于英國的ARM公司將芯片設計和相關軟件代碼授權給所...

關鍵字: 英偉達 ARM 半導體公司

在去年九月,英偉達宣布以400億美金收購ARM時,就注定這場收購不會太順利。因為一旦ARM成功被英偉達收購,這將使ARM改變在全球半導體市場中的中立立場,因為ARM的很多客戶,都是英偉達的直接或者間接的對手。除此之外,還...

關鍵字: 英偉達 ARM 半導體

以下內容中,小編將對工控主板的相關內容進行著重介紹和闡述,希望本文能幫您增進對工控主板的了解,和小編一起來看看吧。

關鍵字: ARM 工控主板 主板

在這篇文章中,小編將為大家?guī)砉た刂靼宓南嚓P報道。如果你對本文即將要講解的內容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關鍵字: ARM 工控主板 主板

今年8月份公布的財報顯示,軟銀公司報虧3.16萬億日元(約合1644億元人民幣),比上一季度的2.1萬億日元虧損額繼續(xù)擴大,這意味著軟銀連續(xù)第二個季度創(chuàng)下有史以來最大的季度虧損。

關鍵字: ARM 軟銀集團 NVIDIA

據業(yè)內消息,ARM公司稱已準備進行公開上市,新的首席財務官Jason·Child已經上任。

關鍵字: ARM CFO

通信技術

120766 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉