




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ARM9和ARM Linux的嵌入式网络接口控制器设计摘要:随着工业以太网技术的发展,以太网已经渗透到控制系统网络的控制层和设备层。然而,大量的工业现场设备没有安装网络接口,只是通过串行端口进行通信,因此不能直接接入以太网。随着技术的发展,32位微处理器已经成为嵌入式应用领域的主流。本文选择32位微处理器S3C2410为嵌入式接口控制器,作为实现以太网数据和串行口数据之间相互转换的主要芯片。此控制器不需要改变原有的设备,仅增加网络接口就可以使传统的串行接口设备通过标准的TCP/IP协议连接到因特网。关键词:ARM9;ARMLinux;串口;以太网;嵌入式1 引言目前,随着局域网技术的广泛应用,以太网已经在工业自动化和进程控制领域越来越多的应用。传统的控制系统主要采用的是以太网的信息层,或者在控制层和应用层采用不同位现场总线和专业网络。目前,随着工业以太网技术的发展,以太网已经渗透到控制层和设备层,基于以太网的控制网络最典型的应用形式就是Ethernet+TCP/IP,并且它的最底层就是以太网。网络层和传输层采用的是国际公认的标准TCP/IP协议。然而,对于数量庞大的工业现场设备,例如NC机械,机器人,PLC,仪器和传感器等,由于他们没有网络接口,最常用的通信方式是RS232/485/422串行端口,所以不能直接连接到以太网。因此,如何以最低的成本改变传统串行端口设备,而使其通过TCP/IP协议连接到因特网是很多企业面临的一个问题。随着半导体工业和IC技术的发展,以微处理器或微控制器为核心的嵌入式系统正在迅速的发展,并且在无线通信,网络设备和工业控制等领域已经得到了广泛的应用。本文设计的基于ARM9和ARMLinux操作系统的嵌入式网络接口控制器,在传统的串口设备上配备网络接口,实现了串行端口数据和以太网数据相互转换。2 嵌入式网络接口控制器工作原理嵌入式网络接口控制器选择DM9000E芯片作为以太网控制器,在以太网的顶层完成数据的交换。32位微处理器S3C2410和嵌入式Linux操作系统用于实现协议和数据处理,并将处理的数据传递到底层设备终端。从设备终端接收的数据通过数据处理和协议实现,然后通过DM9000E传送到因特网。功能实现框图如图1所示。图 1 功能实现框图2.1 嵌入式网络接口控制器硬件平台如图2为嵌入式网络接口控制器硬件平台的全部连接框图。系统选择ARM9内核ARM9TDMI的32位微处理器S3C2410作为主控制芯片。S3C2410处理器是由三星公司生产的基于ARM公司ARM920T的处理内核,最高运行速率达203MHz。系统的FLASH闪存选择由英特尔公司生产的28F128芯片,SDRAM选择由两片HY57V561620芯片组成的32位存储系统。DM9000以太网控制器芯片高度集成、单片、高速、低成本,并且具有通用处理器接口。它是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嵌入式操作系统的选择目前,在市场上有许多受欢迎的嵌入式操作系统产品,这里根据实际情况我们选择嵌入式Linux操作系统。原因如下:1. Linux可以应用于多种类型的硬件平台。由于其具有吸引R&D项目的开发时间和成本,已经成功移植于多种类型的硬件平台。原型可以在标准硬件平台上进行开发,然后移植到专用硬件,可以加速软件和硬件的开发时间。2. 源码开源,是最吸引人的一点。无疑,可以节省很多的开发费用。3. Linux 具有强大的网络支持。微内核提供直接的网络支持,并且Linux不需要像其它操作系统一样挂载TCP/IP协议包,因为它是在网络基础上发展起来的。在系统设计的过程中,网卡驱动和TCP/IP协议是实现的关键。通过选择,协议栈已经被嵌入,TCP/IP协议从而得以实现。嵌入式Linux操作系统支持多种类型的网卡,例如10M、100M、1000M的以太网卡,令牌环和无线局域网等。对于DM9000和它的NE2000兼容的以太网控制器,嵌入式Linux系统提供了很好的支持,在移植的过程中,只需要修改源代码和安装相应的模块来实现对网络的支持。3 实现以太网数据和串行端口数据的转换本文开发的控制器接口主要实现两个功能,将串行端口接收数据通过网卡发送给以太网,将通过网卡接收的数据发送给其它串行端口终端。工作模式可以选择为服务器或客户端,数据传送协议可以选择TCP模式或UDP模式,TCP和UDP 是以太网的两种传输协议。TCP是基于连接的协议,在发送和接收数据之前必须与另一端建立可靠的连接。而UDP是一种面向非连接的数据直接传输协议,因此它不需要另一端的回答或确认。3.1 应用程序的网络编程和开发环境嵌入式系统的开发和运行需要在PC和ARM两个不同的平台上完成,因此交叉编译和链接是必要的。用串行端口和以太网连接宿主机和目标板,在RedHat9 Linux操作系统上进行程序的开发。调试通过之后,自己添加程序的定制重新编译嵌入式Linux内核,然后将编译好的二进制文件烧写到开发板的ROM中,以便于在启动时自动的运行。TCP/IP处理模块的实现是使用套接字编程,最初套接字是在UNIX系统为了TCP/IP网络通信上发展起来的接口程序。后来,它被成功的移植到DOS和Windows操作系统上,并且在因特网的网络开发中成为了最通用的API函数。套接字应用于网络开发主要有两种类型,流式套接字,数据报套接字和原始套接字,流式套接字和TCP协议相一致,数据报套接字和UDP协议相符合,原始套接字主要用于协议的开发和一些底层的操作。3.2 软件设计系统采用TCP服务器的工作模式,等待客户端请求连接实现数据传送的功能。图3 显示了程序流程图。首先打开串口,在Linux操作系统打开串口是通过标准文件打开函数实现的,程序代码如下:int fd;fd=open(“/dev/ttyso”,O_RDWR;if(fd=1 perror(“error alert!”;图3 功能实现流程图Y然后设置波特率,串行端口的校验位和停止位。为了用网卡来发送和接收数据,必须首先建立套接字,程序代码如下: Int sock_fd;sock_fd=socket(AF_INET,SOCK_STREAM,0If(sock_fd=-1perror(“socket”;exit(1;然后设置相关属性,等待客户端的连接请求,一旦连接建立,就能够实现数据的接收和发送。在整个程序中数据处理是关键性的。连接实现了网络数据和串口数据的相互交换。根据实际需要,网络数据可以转换成并行的或者其它接口类型的数据。这里,网络数据和串口数据的交互式处理被分成两个部分,一部分是网络数据转化成串口数据,另一个方面是串口数据发送数据到网络,流程图见图4、图5所示。嵌入式网络接口控制器通过串口接收来自底层设备的数据,并且将数据储存在缓冲区中。然后控制器完成从上到下一层一层打包,将数据打包成TCP/IP数据包,并且通过以太网控制器DM9000将数据发送到以太网。图5 串行口数据通过网卡发送调用数据处理程序Select()函数。函数不但解决阻塞情况,还充分利用了系统的资源。Select()函数允许使用者自行挂载,同时使系统能够监听任何文件描述符组的请求活动。一旦发生在任何监听文件描述符的活动被确认,select()函数将会直接返回文件描述符准备好的信息。在没有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机械中心能得到充分利用。然而,问题存在于网络的连接过程中,特别是通过串口获得数据时,通过上层管理软件没有办法实现无缝集成。本文研究的嵌入式接口控制器,很容易将NC机械中心连接到因特网,实现网络生产。首先,利用Winsock在VC+开发环境下开发了NC传输软件。然后将NC机械中心通过嵌入式网络接口控制器连接到局域网中心。然后设置控制器的IP地址为192.1683.2.222和监听端口为6555。在传输软件选择客户端终端设定服务器名和端口号。按下连接按钮,与控制器建立连接,NC的程序将会被发送,如图6所示。在这种模式下,在局域网中的任何电脑都可以通过嵌入式网络接口控制器将NC程序传送NC机械中心,或者所有的串口设备都可以连接到局域网实现远程控制。这就给信息集成带来了方便,为实现网络生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程排架方案设计
- 建筑作业空间构建方案设计
- 吸附解析塔拆除施工方案
- 电焊培训课件
- 物业管理多元化服务质量监督评估方案
- 数字化赋能连锁餐饮:2025年运营与管理效率提升实践报告
- 泵的原理培训课件
- 数字化展示技术在文化创意产品市场推广2025年应用效果评估报告
- 消防水箱间施工方案
- 农用浅井施工方案编制
- 泥浆护壁旋挖钻孔灌注桩施工技术交底
- 初中地理跨学科学习实践研究
- 幼儿园常见传染病的预防课件
- GB/T 36287.1-2025轨道交通地面装置直流牵引供电能量利用第1部分:储存系统
- TY/T 3501.5-2024高山滑雪板性能测定第5部分:弯曲振动
- DB42∕T 1496-2019 公路边坡监测技术规程
- 塔拉韦斯特弗《你当像鸟飞往你的山》中英互译
- 工勤技能考试职业道德试题
- 全国2024年10月自学考试财务报表分析(一)试题和答案
- 《红色的天空》话剧剧本
- 2025版地热能钻井服务合同范本3篇
评论
0/150
提交评论