《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于ARM的嵌入式網(wǎng)絡(luò)接口控制器設(shè)計
基于ARM的嵌入式網(wǎng)絡(luò)接口控制器設(shè)計
EEworld
EEworld
摘要: 摘要:隨著工業(yè)以太網(wǎng)技術(shù)的發(fā)展,以太網(wǎng)已經(jīng)滲透到了控制系統(tǒng)網(wǎng)絡(luò)的控制層和設(shè)備層,然而大量的工業(yè)現(xiàn)場設(shè)備尚不...
Abstract:
Key words :

關(guān)鍵字:嵌入式 網(wǎng)絡(luò)接口 控制器

1前言   

以太網(wǎng)作為目前應(yīng)用最為廣泛的局域網(wǎng)技術(shù),在工業(yè)自動化和過程控制領(lǐng)域得到了越來越的應(yīng)用。傳統(tǒng)的控制系統(tǒng)在信息層大都采用以太網(wǎng),而在控制層和設(shè)備層一般采用不同的現(xiàn)場總線或其他專用網(wǎng)絡(luò)。目前,隨著工業(yè)以太網(wǎng)技術(shù)的發(fā)展,以太網(wǎng)已經(jīng)滲透到了控制層和設(shè)備層。基于以太網(wǎng)的控制網(wǎng)絡(luò)最典型的應(yīng)用形式是Ethernet+ICP/IP,它的底層是Ethernet,網(wǎng)絡(luò)層和傳輸層采用國際公認(rèn)的標(biāo)準(zhǔn)TCP/IP.然而大量的工業(yè)現(xiàn)場設(shè)備,如數(shù)控機(jī)床、機(jī)械手等設(shè)備,這些設(shè)備最常用的通訊方式為RS-232/485/422串行接口,不具備網(wǎng)絡(luò)接口,以至無法直接接到以太網(wǎng)。

隨著半導(dǎo)體產(chǎn)業(yè)和集成電路技術(shù)的發(fā)展,以微控制器/微處理為硬件核心的嵌入式系統(tǒng)得到迅速發(fā)展,并在無線通訊、網(wǎng)絡(luò)設(shè)備、工業(yè)控制等領(lǐng)域得到廣泛應(yīng)用。本文選用基于ARM9和armlinux開發(fā)嵌入式網(wǎng)絡(luò)接口控制器,實現(xiàn)串行口數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)的相互轉(zhuǎn)換,通過這種方式,可以使傳統(tǒng)串口設(shè)備成為具有網(wǎng)絡(luò)接口的設(shè)備,直接接入工業(yè)以太網(wǎng)。

2嵌入式網(wǎng)絡(luò)接口控制器工作原理   

嵌入式網(wǎng)絡(luò)接口器選用DM9000E芯片作以太網(wǎng)控制器,來完成與上級以太網(wǎng)的數(shù)據(jù)交換,采用32位微處理器s3c2410和嵌入式Linux進(jìn)行協(xié)議實現(xiàn)和數(shù)據(jù)處理,然后將處理過的數(shù)據(jù)下傳給底層設(shè)備終端;把從底層終端設(shè)備接收的數(shù)據(jù),進(jìn)行數(shù)據(jù)處理和協(xié)議實現(xiàn),通過DM900E傳輸?shù)剑桑睿簦澹颍睿澹羯稀9ぷ髟砣纾彼?  

3 嵌入式網(wǎng)絡(luò)接口控制器硬件平臺   

嵌入式網(wǎng)絡(luò)接口控制器硬件平臺的整體連接框圖如圖 2 所示。本文選用基于ARM9內(nèi)核ARM9TDMI的32位微處理器s3c2410作為主控芯片。S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用0.18um制造工藝的32位微控制器。該處理器擁有:獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,MMU,支持TFT的LCD控制器,NAND閃存控制器,3路UART,4路DMA,4路帶PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2個USB主機(jī),1個USB設(shè)備,SD主機(jī)和MMC接口,2路SPI。S3C2410處理器最高可運(yùn)行在203MHz。本系統(tǒng)的FLASH存儲器選INTEL公司的28F128,SDRAM芯片選用兩片HY57V561620構(gòu)成32位的存儲器系統(tǒng).   以太網(wǎng)控制器芯片選擇DM9000,它是完全綜合的、成本較低的單一快速,具有通用的處理器接口,10/100M自適應(yīng),以及4K雙字節(jié)靜態(tài)存取存儲器。它被設(shè)計為低功耗、高處理性能,支持3.3V到5V的容差。DM9000提供一個MII接口來連接HPNA設(shè)備或者其他支持MII接口的收發(fā)器,并支持8位、16位、32位的接口來適應(yīng)不同的處理器對內(nèi)部存儲器的訪問,它支持IEEE802.3u規(guī)格,還支持IEEE 802.3x全雙工流控制。在DM9000和RJ45接口之間需要用漢仁電子有限公司的網(wǎng)絡(luò)隔離變壓器HR601627來連接,網(wǎng)絡(luò)隔離變壓器起信號傳輸、阻抗匹配、波形修復(fù)、雜波抑制以及高電壓隔離等作用,以保護(hù)系統(tǒng)的安全。

   圖1嵌入式網(wǎng)絡(luò)接口控制器工作原理

  

圖 2嵌入式網(wǎng)絡(luò)接口控制器硬件框   

4 嵌入式操作系統(tǒng)的選擇   

本系統(tǒng)的設(shè)計,網(wǎng)卡驅(qū)動和TCP/IP協(xié)議的實現(xiàn)是重點(diǎn),選擇嵌入式Linux,它已經(jīng)嵌入了TCP/IP協(xié)議棧,使TCP/IP協(xié)議得以實現(xiàn)。嵌入式Linux系統(tǒng)支持多種類型的網(wǎng)卡如各種lOM/lOOM,1000M 的Ethemet網(wǎng)卡等。對于 DM9000E以太網(wǎng)控制器,嵌入式Linux已經(jīng)提供了很好的支持,移植過程中只需要修改源代碼和配置相應(yīng)模塊即可實現(xiàn)對網(wǎng)絡(luò)的支持。

5以太網(wǎng)數(shù)據(jù)與串口數(shù)據(jù)轉(zhuǎn)換實現(xiàn)   

本文開發(fā)的接口控制器主要完成兩個功能,即將串口接收到的數(shù)據(jù)通過網(wǎng)卡發(fā)送至以太網(wǎng),將網(wǎng)卡接收到的數(shù)據(jù)通過串口發(fā)送至另一串口端。工作模式上可以選擇為服務(wù)器或客戶端模式,數(shù)據(jù)傳輸協(xié)議可以選擇為TCP(Transmission Control Protocol,傳輸控制協(xié)議)方式或UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)方式。其中TCP和UDP是以太網(wǎng)數(shù)據(jù)的兩種傳輸協(xié)議,TCP是基于連接的協(xié)議,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接,而UDP是面向非連接的數(shù)據(jù)直接傳輸協(xié)議,不需要對方的回答確認(rèn)。

5.1應(yīng)用程序的開發(fā)環(huán)境和網(wǎng)絡(luò)編程   

由于嵌人式系統(tǒng)程序的開發(fā)和執(zhí)行是在PC和ARM 兩個不同的平臺上進(jìn)行的,因此需要進(jìn)行交叉編譯和連接。用串口和以太網(wǎng)將宿主機(jī)和目標(biāo)板連接起來,程序開發(fā)在RedHat9.0 Linux操作系統(tǒng)下編輯,調(diào)試通過后,加入自己開發(fā)的程序重新編譯armlinux內(nèi)核,并將編譯好的二進(jìn)制文件固化到開發(fā)板的ROM中,使其開機(jī)后自動運(yùn)行。

TCP/IP處理模塊采用SOCKET套接字編程實現(xiàn)。SOCKET最早是在UNIX系統(tǒng)上為TCP/IP網(wǎng)絡(luò)通信而開發(fā)的一個接口程序,后來被成功移植到DOS、Windows等操作系統(tǒng)上,成為Internet上網(wǎng)絡(luò)開發(fā)最為通用的API函數(shù)。用于網(wǎng)絡(luò)開發(fā)的SOCKET主要有Stream Sockets(流格式)和Datagram Sockets(數(shù)據(jù)報格式)兩種類型,流格式Socket與TCP協(xié)議對應(yīng),數(shù)據(jù)報格式Socket與UDP協(xié)議對應(yīng)。

5.2 軟件設(shè)計   

本系統(tǒng)采用工作模式TCP Server服務(wù)器,等待客戶端請求連接,實現(xiàn)數(shù)據(jù)傳輸功能。本程序的流程圖如圖3所示。首先,打開串口,在Linux下打開串口是通過標(biāo)準(zhǔn)的文件打開函數(shù)

   

 圖3 功能實現(xiàn)流程圖

  

圖4 以太網(wǎng)數(shù)據(jù)通過串口發(fā)送

  

圖5 串口數(shù)據(jù)通過網(wǎng)卡發(fā)送   

操作,程序代碼如下:   int fd;   fd=open(“/dev/ttyS0”,O_RDWR);   if(fd==-1) {perror(“提示錯誤!”);}   然后設(shè)置串口的波特率、校驗位和停止位。要用網(wǎng)卡接收發(fā)送數(shù)據(jù),就要首先創(chuàng)建套接字,程序代碼如下:   int sock_fd;   sock_fd=socket(AF_INET,SOCK_STREAM,O)   if(sock_fd==-1)   {perror(“socket”);   exit(1);}   然后設(shè)置屬性,然后等待客戶端的連接,一旦建立連接,就可以實現(xiàn)數(shù)據(jù)的接收和傳送。

數(shù)據(jù)處理在整個程序中是十分關(guān)鍵的一環(huán),該環(huán)節(jié)中實現(xiàn)的是在網(wǎng)絡(luò)數(shù)據(jù)和串口數(shù)據(jù)之間的相互交換,根據(jù)實際需要也可以將網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)或者其他類型接口的數(shù)據(jù);這里網(wǎng)絡(luò)和串口數(shù)據(jù)交互處理分成兩部分,一部份是網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)變成串口數(shù)據(jù),另一部份是串口數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上,其流程圖如圖4、5所示。為了充分利用系統(tǒng)資源,在數(shù)據(jù)處理程序中調(diào)用select()函數(shù)。Select函數(shù)原型為:int select(int numfds,fd_set *readfds,fd_set *writeset,fd_set *exceptset,const struct timeval *timeout);   返回:準(zhǔn)備好的文件描述符個數(shù)(可以是0),-1表示出錯。

6結(jié)束語   

本文作者創(chuàng)新點(diǎn):本文采用性價比高的32位微處理器s3c2410作為主控芯片,移植了源代碼開放的Linux,它易于實現(xiàn)了TCP/IP處理模塊,這樣大大縮短了產(chǎn)品開發(fā)周期,并有利于提高了串口數(shù)據(jù)和以太網(wǎng)數(shù)據(jù)的轉(zhuǎn)換速率,提高數(shù)據(jù)傳輸?shù)膶崟r性,使傳統(tǒng)串口設(shè)備方便接入以太網(wǎng),為以太網(wǎng)在控制層和設(shè)備層的應(yīng)用奠定了基礎(chǔ)。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产伦精品一区二区三区高清| 亚洲国产日韩欧美在线99| 久久深夜福利免费观看| 亚洲尤物在线| 一区二区三区视频在线| 亚洲免费av网站| 亚洲经典自拍| 亚洲国产专区校园欧美| 久久精品一本久久99精品| 性做久久久久久| 欧美一级在线视频| 欧美亚洲视频一区二区| 亚洲欧美变态国产另类| 亚洲砖区区免费| 亚洲综合欧美| 性欧美超级视频| 久久福利影视| 亚洲国产一区二区a毛片| 亚洲国产女人aaa毛片在线| 亚洲大胆视频| 亚洲片区在线| 亚洲剧情一区二区| 99国产精品视频免费观看一公开| 亚洲免费精彩视频| 亚洲特色特黄| 午夜精品视频在线| 欧美一区深夜视频| 久久久久9999亚洲精品| 久久久亚洲成人| 老司机免费视频一区二区三区| 免费观看成人网| 欧美精品激情| 欧美视频一区| 国产精品一区久久| 好吊妞**欧美| 亚洲国产成人一区| av成人免费观看| 亚洲小视频在线| 欧美在线观看视频在线| 亚洲国产精品传媒在线观看| 亚洲欧洲另类国产综合| 亚洲视频一区在线观看| 亚洲欧美综合| 久久综合福利| 欧美日韩在线视频一区| 国产日韩欧美二区| 在线观看欧美视频| 亚洲另类视频| 亚洲欧美视频在线| 亚洲精品国产精品久久清纯直播| 99热精品在线观看| 亚洲欧美一区二区三区久久 | 一本色道久久加勒比88综合| 亚洲小视频在线观看| 久久成人免费电影| 妖精成人www高清在线观看| 午夜精品久久| 久久一区国产| 欧美日韩在线三区| 国语精品中文字幕| 亚洲免费电影在线观看| 午夜影视日本亚洲欧洲精品| 亚洲日本欧美在线| 午夜一区不卡| 欧美mv日韩mv亚洲| 国产精品一级| 最新成人在线| 欧美中在线观看| 亚洲午夜激情在线| 噜噜噜91成人网| 国产精品久久中文| 亚洲福利视频网| 性欧美videos另类喷潮| 一个色综合av| 久久在线免费观看| 国产精品久久一区二区三区| 亚洲福利一区| 午夜精品一区二区在线观看 | 精品二区久久| 亚洲在线视频免费观看| 日韩视频久久| 久久久久se| 国产精品久久一卡二卡| 亚洲国产美女| 欧美一区二视频在线免费观看| 夜夜嗨av一区二区三区四区| 久久成人精品无人区| 欧美日韩一区二区在线| 一区二区三区在线视频观看| 亚洲一区国产精品| 一本色道久久综合亚洲91| 久久这里只有| 国产日韩一区二区三区在线播放 | 在线看日韩av| 欧美一级久久久久久久大片| 亚洲一二三四久久| 欧美极品在线观看| 在线欧美日韩精品| 欧美一区久久| 欧美自拍偷拍| 国产精品系列在线播放| 99在线热播精品免费99热| 亚洲免费观看在线视频| 免费一级欧美片在线播放| 国产一区二区你懂的| 亚洲影院免费观看| 亚洲一区二区免费看| 欧美精品xxxxbbbb| 亚洲国产精品传媒在线观看| 久久精品2019中文字幕| 久久精品91久久久久久再现| 国产精品你懂的| 亚洲视频碰碰| 亚洲系列中文字幕| 欧美手机在线视频| 一区二区成人精品 | 久久成人精品无人区| 久久国产一区二区三区| 国产麻豆综合| 性亚洲最疯狂xxxx高清| 久久国产精品久久精品国产| 国产欧美日韩一区二区三区在线观看| 亚洲深夜福利网站| 亚洲男人的天堂在线观看| 欧美午夜视频在线观看| 在线一区观看| 校园春色国产精品| 国产精品欧美日韩一区二区| 亚洲一二三区精品| 性伦欧美刺激片在线观看| 国产免费成人| 午夜一级久久| 久久久免费观看视频| 伊人男人综合视频网| 亚洲人成毛片在线播放女女| 欧美福利小视频| 亚洲人体偷拍| 亚洲午夜在线观看视频在线| 国产精品久久夜| 亚洲欧美综合网| 久久久久久久久久久久久女国产乱| 韩国av一区二区| 亚洲黄色视屏| 欧美精品久久久久久久久老牛影院| 亚洲毛片视频| 欧美亚洲视频| 狠狠狠色丁香婷婷综合久久五月 | 国产精品久久久久久久一区探花| 亚洲一二三区视频在线观看| 久久激情婷婷| 亚洲国产cao| 亚洲一区在线免费观看| 国产欧美不卡| 亚洲第一狼人社区| 欧美成年人视频| 一本色道久久综合亚洲精品高清| 午夜在线一区二区| 狠久久av成人天堂| 亚洲作爱视频| 国产女人水真多18毛片18精品视频| 欧美一区二区在线免费播放| 欧美高清视频一二三区| 99视频超级精品| 久久精品一区蜜桃臀影院| 亚洲丰满少妇videoshd| 亚洲一区二区黄| 国产亚洲在线| 亚洲精品视频免费观看| 欧美少妇一区二区| 午夜在线视频观看日韩17c| 美女主播一区| 亚洲午夜精品网| 狂野欧美激情性xxxx欧美| 亚洲精品裸体| 久久精品视频va| 亚洲日韩中文字幕在线播放| 欧美一区二区三区四区高清 | 亚洲欧美激情视频在线观看一区二区三区| 国产亚洲欧美日韩精品| 99精品国产热久久91蜜凸| 国产麻豆精品在线观看| 亚洲精品久久久久久久久久久久久| 国产精品成人在线观看| 久久精品日产第一区二区| 欧美日韩免费在线| 欧美一区二区三区四区在线观看地址| 欧美黑人一区二区三区| 亚洲在线视频观看| 欧美风情在线观看| 欧美在线3区| 欧美日韩亚洲一区二区三区在线| 欧美一区二视频在线免费观看| 欧美日韩视频在线一区二区 | 亚洲视频精选在线| 怡红院精品视频在线观看极品| 亚洲影院免费| 在线日韩av| 欧美在线啊v一区| 日韩午夜在线视频| 噜噜噜噜噜久久久久久91|