根据单片机的以太网络接入系统的实现及网络性能分析
扫描二维码
随时随地手机看文章
根据单片机的以太网络接入系统的实现及网络性能分析
[摘 要] 介绍以太网控制芯片RTL8019AS,并设计在有限存储空间的单片机中嵌入TCP/IP协议的以太网接入系统,实现了RS-485现场总线设备通过嵌入TCP/IP单片机系统接入以太网,完成PC机与终端设备的远程通信和控制,最后对系统性能进行测试分析,取得了满意的效果。
[关键词] 单片机;以太网;RTL8019AS芯片;TCP/IP协议;网络性能分析
1 引 言
互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长,在电子设备日趋网络化的背景下,越来越多的嵌入式应用需要支持网络功能。 TCP/IP是一套把因特网上的各种系统互连起来的协议组,成为事实上最常用的网络标准之一。在使用计算机进行网络互联的同时,各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备在逐步地走向网络化,以便共享网络中庞大的信息资源。只要那些设备上实现了TCP/IP协议并增加一个网络接口,就可方便地接入到现有的网络中。考虑到单片机成本低廉,利用TCP/IP协议中的UDP(用户数据报协议)、IP(网络报文协议)、ARP(地址解析协议)及简单的应用层协议,根据应用的需要做相应的裁减,文中将介绍用AT90S8515单片机与10Mbps以太网控制器芯片RTL8019AS设计嵌入式TCP/IP单片机系统,成功地实现了RS-485现场总线设备通过嵌入TCP/IP的单片机系统接入以太网,完成PC 机与终端设备的远程通信和控制,最后对系统性能进行分析。
2 以太网控制器RTL8019AS简介
RTL8019AS是台湾REALTEK公司生产的基于ISA总线的10 Mbps以太网控制器芯片。由于其优良的性能、低廉的价格,使其在市场上10Mbps网卡中占有相当的份额。
主要性能:
(1)符合EthernetⅡ与IEEE802.3(10Base5、10Base2、10BaseT)标准;
(2)支持全双工,收发可同时达到10Mbps速率;
(3)16KB片内SRAM,用于收发缓冲,降低对主处理器的速度要求;
(4)支持8/16位数据总线,8个中断请求线以
(6)支持跳线和非跳线模式;
(7)允许4个诊断LED引脚可编程输出;
(8)100脚的PQFP封装。
该芯片功能很强,它集成介质访问子层(MAC)和物理层的功能,对RTL8019做了很大改进,处理能力更强,操作更灵活。但与一般单片机接口时,只需要用到其中一部分即可完成网络通信功能,其它引脚悬空。
3 与AT90S8515单片机系统的接口电路
该文选用AT90S8515单片机,与8051系列单片机相比,具有系统内可编程8KFLASH,内部集成了在片512字节EEPROM和512字节SRAM,使用精简指令集,编写程序简练,调试程序方便。
系统硬件连接如图3—1所示,系统提供RJ45接口连接Ethernet网络,提供一个RS-485接口与现场设备连接,实现数据的网络传输和设备的远程控制。
AT90S8515单片机所提供的接口信号线为:PA口的8位数据总线D0~D7、5根地址线A8~A12、读信号线RD、写信号线WR、2根控制线 PB0、PB1。这些信号线与RTL8019AS的各信号线对应连接。其中,RTL8019AS的IOCS16B接下拉电阻,使芯片工作在8位总线方式,复位通过PB0控制,PB1片选地址使能。时钟电路为单片机8MHz和网络芯片20MHz。在现场控制端,需要一个RS-232转RS-485的485芯片(WM485),在网络接入端需要一个网络隔离滤波器(FM2146),这样接口电路设计完成,然后计算并分配地址空间,编写汇编程序。该系统中网络芯片在单片机中地址映射空间为80××H-0x9F××H,网络芯片的内部I/O基地址为300H。
对设计电路的几点说明,RTL8019AS的JP引脚接高电平,使芯片工作在跳线模式;没有使用地址锁存器,直接用地址数据复用口读写 RTL8019AS数据,网络芯片只用到5位地址线,没有冲突;系统采用查询工作方式,没有连接中断信号线,简化电路设计。
4 软件设计
4.1 嵌入TCP/IP协议的单片机汇编程序设计
单片机接入以太网,必须嵌入TCP/IP协议,用户终端的应用程序才可以使用通用的网络编程技术,例如使用Socket套接字,与单片机建立连接,实现数据通信。汇编流程图如图4—1所示,单片机首先初始化堆栈和串口,初始化RTL8019AS网络芯片,系统的IP地址存放在单片机的片内EEPROM 中,单片机复位后首先读取这些数据以初始化网络。 由于单片机的资源有限,所以网络协议根据嵌入式应用的需求作了裁剪,系统中使用了ARP、RARP、 IP、UDP等部分协议,既保证单片机接入以太网,又保证足够小的代码量。单片机主要完成网络数据的解包和串口RS-485数据的打包。当以太网有数据到达该设备,单片机采用查询方式,读取网络数据并分析,如果是ARP(物理地址解析协议)数据包,则转入ARP处理程序,并发送RARP数据包,将IP地址和物理地址加入到局域网中建立映射。如果是UDP数据包且IP地址和端口号正确,则接收数据包,数据解包后,将数据部分通过串口输出,控制RS-485现场设备。反之,如果现场通过串口发送数据到单片机,单片机将数据按照UDP协议格式打包,送入RTL8019AS,由RTL8019AS将数据输出到局域网中。根据需要还可以在收到串口数据时,先完成数据预处理,再将处理好的数据送到局域网。