摘要:介绍了一种基于高性能51内核网络微控制器的串口至以太网接口转换器的设计方案,采用网络单片机DS80C410,利用集成的MAC通过以太网收发器与以太网相连,借助TINI SDK软件开发包通过Java编程实现串口和以太网之间的数据通讯。串口至以太网接口转换器使得带有RS232/422/485通讯接口的设备和以太网服务器进行数据流传输,通过以太网服务器对串口设备进行实时监控。
关键词:串口;以太网;DS80C410;LXT972ALC;Java
1 引言
互联网硬件和软件的迅猛发展,使得各种电气设备、仪器仪表以及生产过程中的数据采集与控制设备逐渐走向网络化。计算机技术、测控技术、网络与通讯技术不断发展与融合是一个必然的趋势。目前以太网已经广泛应用于计算机网络,成为互联网链接不可缺少的部分,另外以太网一般都基于TCP/IP协议,使得整个网络只有一种互联通讯协议,满足控制系统各个层次的要求,而且易于和Internet实现无缝连接。现今大多数现场设备通过串口与外界通讯,甚至串口是它们与外界通讯的唯一通道,串口设备的广泛使用以及对设备上网能力的不断需求,使得如何实现串口到以太网的转换显得尤为重要。DS80C410利用集成的MAC通过物理层器件与以太网相连,借助TINI SDK软件开发包可以轻松实现串口至以太网的接口转换。
2 系统硬件
2.1 DS80C410简介
DS80C410是与8051兼容的高度集成的网络微控制器。它内置一个10/100bps的以太网MAC,3个串行端口,1个CAN2.0B控制器,一个1-Wire控制器和64个I/O口,具有64K字节内部SRAM,用于存储用户应用和网络堆栈。为了便于访问网络,在ROM中提供了一个完整的、可被应用访问的TCP / IP 协议栈, 支持IPv4 和IPv6, 可执行UDP, TCP, DHCP, ICMP和IGMP,协议栈支持32个TCP连接而且可以通过以太网MAC以5Mbps的速度发送数据。最高达75MHz的系统时钟频率使最短指令周期仅有54ns。为了加快微控制器和内存之间的数据传输, ROM包含固件用DHCP连接TFTP来实现以太网的网络启动。
DS80C410内部集成了10/1000Mbps的以太网控制器(MAC),它支持使用以太网/IEEE802.3协议的物理设备。它通过一个介质无关接口(MII)提供了接收、发送和流控制机制。MII包含了一个串行管理总线,它可以用来设置外部物理设备。MII可以设置为半双工和全双工模式,速率可以是10Mbps和100Mbps,也可以设置成支持1OMbps的ENDEC操作模式。
缓冲控制单元(BCU):是所有DS80C410以太网操作的中央控制器,通过一系列特殊功能寄存器控制CPU与以太网控制模块的读/写操作。
命令/状态寄存器(CSR):旨在控制与检测以太网操作过程。
介质无关接口(MII):包括两个基本模块,即MII I/O模块和MII管理模块。MII I/O模块提供独立的发送和接收数据路径和物理层网络状态信号输入,MII管理模块执行2线串行通讯总线便于访问物理层寄存器。
地址检测模块(Address Check):监控所有输入数据包的目的地址,根据CPU配置的过滤标准决定是转发还是丢弃。地址检测结果和帧类型信号位一起由BCU存入数据包接收状态字中。
发送/接收缓冲寄存器(Tx/Rx):DS80C410用8KB内部SRAM作为发送/接收数据包的缓冲寄存器,CPU可用MOVX指令访问数据存储器,BCU也可以访问SRAM,在需要存储或找回以太网数据包信息时可自动读/写缓冲寄存器。
电源管理模块(Power Management):可以通过CPU设定为休眠模式,在不处理以太网通信时以便节省电源[1]。
2.2 LXT972ALC简介
LXT972ALC是一个遵守快速以太网协议的接口收发芯片,支持10/100MAC的标准MII,它是物理层设备,完成参考模型中以IEEE802.3标准定义的物理编码子层、物理媒体附加层和物理媒体独立子层的功能。LXT972ALC设备实现了标准IEEE802.3定义的MII提供了从MAC到LXT972ALC数据传输的独立通道。每一个通道都有各自的时钟、数据总线和控制信号[3]。MAC每一次发送都使用先导模式,当LXT972ALC检测到先导符时,它发送一个帧开始符,然后进行编码和发送数据包的剩余部分,包含包数据和CRC。当包结束时,LXT972ALC发送包结束分解符,然后转为发送空闲标识符。