《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于ARM的嵌入式網絡接口控制器設計
基于ARM的嵌入式網絡接口控制器設計
EEworld
EEworld
摘要: 摘要:隨著工業以太網技術的發展,以太網已經滲透到了控制系統網絡的控制層和設備層,然而大量的工業現場設備尚不...
Abstract:
Key words :

關鍵字:嵌入式 網絡接口 控制器

1前言   

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

隨著半導體產業和集成電路技術的發展,以微控制器/微處理為硬件核心的嵌入式系統得到迅速發展,并在無線通訊、網絡設備、工業控制等領域得到廣泛應用。本文選用基于ARM9和armlinux開發嵌入式網絡接口控制器,實現串行口數據與以太網數據的相互轉換,通過這種方式,可以使傳統串口設備成為具有網絡接口的設備,直接接入工業以太網。

2嵌入式網絡接口控制器工作原理   

嵌入式網絡接口器選用DM9000E芯片作以太網控制器,來完成與上級以太網的數據交換,采用32位微處理器s3c2410和嵌入式Linux進行協議實現和數據處理,然后將處理過的數據下傳給底層設備終端;把從底層終端設備接收的數據,進行數據處理和協議實現,通過DM900E傳輸到Internet上。工作原理如1所示   

3 嵌入式網絡接口控制器硬件平臺   

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

   圖1嵌入式網絡接口控制器工作原理

  

圖 2嵌入式網絡接口控制器硬件框   

4 嵌入式操作系統的選擇   

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

5以太網數據與串口數據轉換實現   

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

5.1應用程序的開發環境和網絡編程   

由于嵌人式系統程序的開發和執行是在PC和ARM 兩個不同的平臺上進行的,因此需要進行交叉編譯和連接。用串口和以太網將宿主機和目標板連接起來,程序開發在RedHat9.0 Linux操作系統下編輯,調試通過后,加入自己開發的程序重新編譯armlinux內核,并將編譯好的二進制文件固化到開發板的ROM中,使其開機后自動運行。

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

5.2 軟件設計   

本系統采用工作模式TCP Server服務器,等待客戶端請求連接,實現數據傳輸功能。本程序的流程圖如圖3所示。首先,打開串口,在Linux下打開串口是通過標準的文件打開函數

   

 圖3 功能實現流程圖

  

圖4 以太網數據通過串口發送

  

圖5 串口數據通過網卡發送   

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

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

6結束語   

本文作者創新點:本文采用性價比高的32位微處理器s3c2410作為主控芯片,移植了源代碼開放的Linux,它易于實現了TCP/IP處理模塊,這樣大大縮短了產品開發周期,并有利于提高了串口數據和以太網數據的轉換速率,提高數據傳輸的實時性,使傳統串口設備方便接入以太網,為以太網在控制層和設備層的應用奠定了基礎。

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美α欧美αv大片| 国产精品视频九色porn| 欧美一区二区黄| 亚洲欧美国产高清va在线播| 中日韩美女免费视频网站在线观看| 亚洲美女av电影| 亚洲精品韩国| 亚洲精品国产系列| 日韩视频永久免费观看| 亚洲伦理精品| 一区二区三欧美| 亚洲图中文字幕| 亚洲性视频网站| 午夜精品久久久久久久久久久久| 亚洲综合色噜噜狠狠| 亚洲欧美bt| 欧美一区二区三区视频在线| 午夜视频一区在线观看| 欧美在线观看视频在线| 久久er精品视频| 久久久久久久久伊人| 麻豆精品视频在线| 欧美大片在线看| 欧美日韩在线三级| 国产精品日韩在线一区| 国产无一区二区| 1024日韩| 99精品国产在热久久婷婷| 日韩视频免费大全中文字幕| 一二美女精品欧洲| 亚洲专区一区二区三区| 欧美综合国产| 亚洲美女在线看| 亚洲午夜羞羞片| 久久国产精品久久久久久电车| 久久久久一区| 欧美激情精品久久久久久大尺度| 欧美日韩少妇| 国产美女精品| 在线观看亚洲专区| 一本色道久久综合亚洲精品不卡 | 欧美日韩亚洲综合| 国产精品日韩在线观看| 国产亚洲欧美另类中文| 91久久久久久久久| 亚洲午夜av在线| 亚洲盗摄视频| 亚洲一区二区三区高清| 久久久久国产精品一区二区| 欧美极品影院| 国产美女搞久久| 亚洲人成网站在线观看播放| 亚洲欧美日韩区| 亚洲精品视频一区二区三区| 午夜久久99| 欧美国产极速在线| 国产精品网站在线| 亚洲第一黄色| 亚洲欧美一区二区视频| 亚洲另类黄色| 久久精品一区四区| 欧美三级午夜理伦三级中文幕| 国产亚洲欧洲| 一区二区高清在线观看| 亚洲国产高清在线| 亚洲欧美成人综合| 欧美激情影音先锋| 国产精品日韩在线| 亚洲区在线播放| 久久精品观看| 午夜久久久久| 欧美日韩精品久久久| 精品1区2区| 午夜一级在线看亚洲| 亚洲午夜av在线| 男人的天堂亚洲| 国产亚洲欧美日韩美女| 9色国产精品| 亚洲欧洲日本在线| 久久精品国产精品亚洲| 国产精品高清免费在线观看| 在线日韩电影| 久久国产乱子精品免费女| 亚洲自拍偷拍网址| 欧美女人交a| 尤物99国产成人精品视频| 亚洲资源av| 亚洲免费小视频| 欧美日韩国产精品成人| 亚洲成色www8888| 久久riav二区三区| 久久成人亚洲| 国产精品一区一区| 亚洲午夜精品在线| 亚洲一区久久久| 欧美视频中文一区二区三区在线观看| 亚洲黄色大片| 最新国产拍偷乱拍精品| 鲁大师成人一区二区三区| 国产一区二区丝袜高跟鞋图片| 亚洲永久在线| 亚洲女优在线| 国产精品丝袜xxxxxxx| 一区二区三区日韩在线观看| 99国产精品久久久久久久久久| 麻豆精品网站| 在线看片欧美| 亚洲欧洲免费视频| 欧美国产日韩一区| 亚洲国产片色| 日韩视频不卡中文| 欧美黄色日本| 亚洲精品社区| 一区二区三区精品视频在线观看| 欧美激情性爽国产精品17p| 亚洲人成免费| 一本到12不卡视频在线dvd| 欧美日本在线播放| 99视频精品在线| 亚洲一区国产| 国产精品一区二区三区久久| 亚洲免费视频网站| 久久gogo国模啪啪人体图| 国产日韩在线视频| 欧美在线999| 美女主播精品视频一二三四| 亚洲大胆视频| 一级成人国产| 国产精品久久久久久一区二区三区| 9i看片成人免费高清| 亚洲欧美区自拍先锋| 国产精品视频一区二区三区| 亚洲欧美综合精品久久成人| 久久九九全国免费精品观看| 激情欧美日韩| 日韩视频精品在线| 国产精品r级在线| 午夜在线电影亚洲一区| 久久久久久网站| 亚洲福利视频一区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国产一区二区欧美| 亚洲国产精品第一区二区| 欧美jjzz| 亚洲美女精品一区| 亚洲综合色婷婷| 国产精品亚洲综合天堂夜夜| 欧美一区激情| 美女网站在线免费欧美精品| 亚洲日本欧美| 亚洲欧美成人| 激情成人在线视频| 一本色道久久99精品综合| 国产精品久久久久久久久免费樱桃| 午夜精品久久久久影视| 欧美aa在线视频| 洋洋av久久久久久久一区| 欧美一区二区三区在线播放| 精品成人在线视频| 在线一区观看| 国产一区二区三区久久久| 亚洲精品一区二区三区99| 国产精品国产三级国产aⅴ浪潮| 欧美中文字幕久久| 欧美日韩成人综合天天影院| 亚洲在线视频网站| 蜜臀av性久久久久蜜臀aⅴ| 夜夜嗨av一区二区三区四区| 久久久久久一区二区三区| 亚洲精选在线观看| 久久精品日韩欧美| 99精品视频免费观看视频| 久久久免费精品视频| 亚洲美女性视频| 久久九九有精品国产23| 99国产精品私拍| 久久一区欧美| 亚洲一区二区黄色| 欧美国产亚洲精品久久久8v| 亚洲欧美中文另类| 欧美日韩免费高清一区色橹橹| 午夜视频一区| 欧美色欧美亚洲另类二区| 久久精品免费播放| 国产精品毛片高清在线完整版| 亚洲成在人线av| 国产精品欧美经典| 日韩午夜电影av| 激情欧美一区二区三区在线观看 | 午夜亚洲福利| 亚洲精品一区二区三区四区高清| 久久久精品午夜少妇| 一区二区欧美激情| 免费不卡视频| 欧美一级久久| 欧美色偷偷大香| 亚洲欧洲精品一区二区三区不卡 | 亚洲美女视频| 狠狠色2019综合网| 久久国内精品自在自线400部|