基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明

上传人:xmg****18 文档编号:120276845 上传时间:2020-02-06 格式:DOC 页数:5 大小:39.50KB
返回 下载 相关 举报
基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明_第1页
第1页 / 共5页
基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明_第2页
第2页 / 共5页
基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明_第3页
第3页 / 共5页
基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明_第4页
第4页 / 共5页
基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明》由会员分享,可在线阅读,更多相关《基于ARM9和ARMLinux的嵌入式网络接口控制器设计说明(5页珍藏版)》请在金锄头文库上搜索。

1、.word格式.基于ARM9和ARM Linux的嵌入式网络接口控制器设计摘要:随着工业以太网技术的发展,以太网已经渗透到控制系统网络的控制层和设备层。然而,大量的工业现场设备没有安装网络接口,只是通过串行端口进行通信,因此不能直接接入以太网。随着技术的发展,32位微处理器已经成为嵌入式应用领域的主流。本文选择32位微处理器S3C2410为嵌入式接口控制器,作为实现以太网数据和串行口数据之间相互转换的主要芯片。此控制器不需要改变原有的设备,仅增加网络接口就可以使传统的串行接口设备通过标准的TCP/IP协议连接到因特网。关键词:ARM9;ARMLinux;串口;以太网;嵌入式1 引言目前,随着局

2、域网技术的广泛应用,以太网已经在工业自动化和进程控制领域越来越多的应用。传统的控制系统主要采用的是以太网的信息层,或者在控制层和应用层采用不同位现场总线和专业网络。目前,随着工业以太网技术的发展,以太网已经渗透到控制层和设备层,基于以太网的控制网络最典型的应用形式就是Ethernet+TCP/IP,并且它的最底层就是以太网。网络层和传输层采用的是国际公认的标准TCP/IP协议。然而,对于数量庞大的工业现场设备,例如NC机械,机器人,PLC,仪器和传感器等,由于他们没有网络接口,最常用的通信方式是RS232/485/422串行端口,所以不能直接连接到以太网。因此,如何以最低的成本改变传统串行端口

3、设备,而使其通过TCP/IP协议连接到因特网是很多企业面临的一个问题。随着半导体工业和IC技术的发展,以微处理器或微控制器为核心的嵌入式系统正在迅速的发展,并且在无线通信,网络设备和工业控制等领域已经得到了广泛的应用。本文设计的基于ARM9和ARMLinux操作系统的嵌入式网络接口控制器,在传统的串口设备上配备网络接口,实现了串行端口数据和以太网数据相互转换。2 嵌入式网络接口控制器工作原理嵌入式网络接口控制器选择DM9000E芯片作为以太网控制器,在以太网的顶层完成数据的交换。32位微处理器S3C2410和嵌入式Linux操作系统用于实现协议和数据处理,并将处理的数据传递到底层设备终端。从设

4、备终端接收的数据通过数据处理和协议实现,然后通过DM9000E传送到因特网。功能实现框图如图1所示。图 1 功能实现框图2.1 嵌入式网络接口控制器硬件平台如图2为嵌入式网络接口控制器硬件平台的全部连接框图。系统选择ARM9内核ARM9TDMI的32位微处理器S3C2410作为主控制芯片。S3C2410处理器是由三星公司生产的基于ARM公司ARM920T的处理内核,最高运行速率达203MHz。系统的FLASH闪存选择由英特尔公司生产的28F128芯片,SDRAM选择由两片HY57V561620芯片组成的32位存储系统。DM9000以太网控制器芯片高度集成、单片、高速、低成本,并且具有通用处理器

5、接口。它是10/100M自适应网卡收发器,具有4K双字节静态存取存储器。它具有低功耗、高性能的特征,支持3.3V到5V供电。DM9000提供一个可以连接到HPNA设备和其他支持MII接口的收发器的MII接口。通过不同的处理器同样支持8位、16位、32位接口接入内部存储器。支持IEEE802.3u规范和IEEE802.3x全双工数据流控制。来自HanRun Electronic 有限公司的网络隔离变压器HR601627用于DM9000和RJ45接口之间的连接。HR601627具有信号传送、阻抗匹配、波形修复、杂波抑制、高压隔离和系统安全保护的功能。图2 嵌入式网络接口控制器的硬件结构框图2.2嵌

6、入式操作系统的选择目前,在市场上有许多受欢迎的嵌入式操作系统产品,这里根据实际情况我们选择嵌入式Linux操作系统。原因如下:1. Linux可以应用于多种类型的硬件平台。由于其具有吸引R&D项目的开发时间和成本,已经成功移植于多种类型的硬件平台。原型可以在标准硬件平台上进行开发,然后移植到专用硬件,可以加速软件和硬件的开发时间。2. 源码开源,是最吸引人的一点。无疑,可以节省很多的开发费用。3. Linux 具有强大的网络支持。微内核提供直接的网络支持,并且Linux不需要像其它操作系统一样挂载TCP/IP协议包,因为它是在网络基础上发展起来的。在系统设计的过程中,网卡驱动和TCP/IP协议

7、是实现的关键。通过选择,协议栈已经被嵌入,TCP/IP协议从而得以实现。嵌入式Linux操作系统支持多种类型的网卡,例如10M、100M、1000M的以太网卡,令牌环和无线局域网等。对于DM9000和它的NE2000兼容的以太网控制器,嵌入式Linux系统提供了很好的支持,在移植的过程中,只需要修改源代码和安装相应的模块来实现对网络的支持。3 实现以太网数据和串行端口数据的转换本文开发的控制器接口主要实现两个功能,将串行端口接收数据通过网卡发送给以太网,将通过网卡接收的数据发送给其它串行端口终端。工作模式可以选择为服务器或客户端,数据传送协议可以选择TCP模式或UDP模式,TCP和UDP 是以

8、太网的两种传输协议。TCP是基于连接的协议,在发送和接收数据之前必须与另一端建立可靠的连接。而UDP是一种面向非连接的数据直接传输协议,因此它不需要另一端的回答或确认。3.1 应用程序的网络编程和开发环境嵌入式系统的开发和运行需要在PC和ARM两个不同的平台上完成,因此交叉编译和链接是必要的。用串行端口和以太网连接宿主机和目标板,在RedHat9 Linux操作系统上进行程序的开发。调试通过之后,自己添加程序的定制重新编译嵌入式Linux内核,然后将编译好的二进制文件烧写到开发板的ROM中,以便于在启动时自动的运行。TCP/IP处理模块的实现是使用套接字编程,最初套接字是在UNIX系统为了TC

9、P/IP网络通信上发展起来的接口程序。后来,它被成功的移植到DOS和Windows操作系统上,并且在因特网的网络开发中成为了最通用的API函数。套接字应用于网络开发主要有两种类型,流式套接字,数据报套接字和原始套接字,流式套接字和TCP协议相一致,数据报套接字和UDP协议相符合,原始套接字主要用于协议的开发和一些底层的操作。3.2 软件设计系统采用TCP服务器的工作模式,等待客户端请求连接实现数据传送的功能。图3 显示了程序流程图。首先打开串口,在Linux操作系统打开串口是通过标准文件打开函数实现的,程序代码如下:int fd;fd=open(“/dev/ttyso”,O_RDWR;if(f

10、d=1 perror(“error alert!”;图3 功能实现流程图Y然后设置波特率,串行端口的校验位和停止位。为了用网卡来发送和接收数据,必须首先建立套接字,程序代码如下: Int sock_fd;sock_fd=socket(AF_INET,SOCK_STREAM,0If(sock_fd=-1perror(“socket”;exit(1;然后设置相关属性,等待客户端的连接请求,一旦连接建立,就能够实现数据的接收和发送。在整个程序中数据处理是关键性的。连接实现了网络数据和串口数据的相互交换。根据实际需要,网络数据可以转换成并行的或者其它接口类型的数据。这里,网络数据和串口数据的交互式处理

11、被分成两个部分,一部分是网络数据转化成串口数据,另一个方面是串口数据发送数据到网络,流程图见图4、图5所示。嵌入式网络接口控制器通过串口接收来自底层设备的数据,并且将数据储存在缓冲区中。然后控制器完成从上到下一层一层打包,将数据打包成TCP/IP数据包,并且通过以太网控制器DM9000将数据发送到以太网。图5 串行口数据通过网卡发送调用数据处理程序Select()函数。函数不但解决阻塞情况,还充分利用了系统的资源。Select()函数允许使用者自行挂载,同时使系统能够监听任何文件描述符组的请求活动。一旦发生在任何监听文件描述符的活动被确认,select()函数将会直接返回文件描述符准备好的信息

12、。在没有CPU消耗的情况下,进程可以选择随机变化进行输入测试。Select()函数的原型描述如下:Int select(int numfds,fd_set *readfds,fd_set *writeset,fd_set *exceptset,const struct timeval *timeout;返回:文件描述符的值(应为0),-1表明出错Timeval结构的定义如下:Struct timevalLong tv_sec;Long tv_usec;4 嵌入式网络接口控制器应用实例目前,嵌入式网络接口控制器已经开始应用于只有RS-232串行接口的数控机器中心。在网络生产执行过程中,希望NC机

13、械中心能得到充分利用。然而,问题存在于网络的连接过程中,特别是通过串口获得数据时,通过上层管理软件没有办法实现无缝集成。本文研究的嵌入式接口控制器,很容易将NC机械中心连接到因特网,实现网络生产。首先,利用Winsock在VC+开发环境下开发了NC传输软件。然后将NC机械中心通过嵌入式网络接口控制器连接到局域网中心。然后设置控制器的IP地址为192.1683.2.222和监听端口为6555。在传输软件选择客户端终端设定服务器名和端口号。按下连接按钮,与控制器建立连接,NC的程序将会被发送,如图6所示。在这种模式下,在局域网中的任何电脑都可以通过嵌入式网络接口控制器将NC程序传送NC机械中心,或者所有的串口设备都可以连接到局域网实现远程控制。这就给信息集成带来了方便,为实现网络生产和远程控制更好的实现打下基础。5 总结本文研究了嵌入式网络接口控制器,基于ARM9和ARMLinux基础上,实现以太网数据和嵌入式之间数据的成功转换。随着嵌入式网络接口技术的发展,在不改变原有结构的基础上,底层设备具有连接到工业以太网的接口。它的控制软件是在新的网络控制系统平台上重新设计的,先进的编程语言VC+用于开发实现NC程序传送模块和网络监听模块。测试和调试也是由机械中心管理的。结果证实新系统的可行性。. 专业.专注 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号