【转】以太网控制芯片W5100的存储装置设计

Home / 博客 / 【转】以太网控制芯片W5100的存储装置设计

(本文转自电子工程世界:http://www.eeworld.com.cn/mcu/2010/1119/article_2436.html)

关键字:W5100;MSP430;数据存储
引言
网络的开放性和全球化,促进了人类知识的共享和经济的全球化。以太网技术以其灵活方便的连接方式、良好的开放性、高效、成本低等优点,已经广泛地应用于各种计算机网络,并且还在不断地发展。目前,网络技术在电子产品中的应用越来越广,更多的设备需要提供网络接口,以方便与外部互联通信。
随着技术的不断发展,越来越多的测试系统、控制机构等都需要实时地、快速地并且远距离地传输数据。传统的存储装置利用RS232、RS485等串口,数据传输速率非常有限,面对大数据量实时传输的要求显得无能为力。现在流行的USB总线可以达到非常高的传输速率,但传输距离有较大的限制。利用以太网接口实现快速、远距离的数据传输和存储是一种非常好的解决方法。

1 系统硬件设计
系统结构框图如图1所示。该存储装置由双绞线接口RJ45口、以太网接口芯片W5100、TI公司的MSP430系列单片机MSP430FG4618、电源模块、串口读数口等组成。计算机通过自身的网卡及网线与该存储设备相连。RJ45口采用集成网络变压器的13F-60FGYDPNW2NL,可以减少硬件平台的面积,并且使连接更方便。这种网口自带两个小灯,可以直观地显示双绞线的连接情况和数据的传输情况。


1.1 W5100的接口设计
1.1.1 W5100简介
W5100是一款多功能的单片网络接口芯片,内部集成有10/100M以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。使用W5100可以实现没有操作系统的Internet连接。W5100与IEEE802.310BASE-T和IEEE802.3u 100BASE-TX兼容,内部集成了全硬件的TCP/IP协议栈、以太网介质传输层(MAC)和物理层(PHY)。W5100内部还集成有16 KB存储器用于数据传输。使用W5100不需要考虑以太网的控制,只需要进行简单的端口(Socket)编程。
W5100的主要特性如下:支持自动通信握手(全双工和半双工);支持自动MDI/MDIX,自动校正信号极性;支持ADSL连接(支持PPPoE协议中的PAP/CHAP认证模式);支持4个独立端口同时运行;不支持IP的分片处理;内部16 KB存储器用于数据发送/接收缓存;3.3 V工作电压,I/O口可承受5 V电压;80脚LQFP小型封装;支持SPI接口(SPI模式O、3);多功能LED信号输出(TX、RX、全双工/半双工、地址冲突、连接、速度等)。
通信模式可选为自动识别,或者强制设定为10BASE-T/100BASE-TX、HDX/FDX等设置的组合通信方式。芯片还提供了许多接口用于接发光二极管,包括Tx(发送)、Rx(接收)、Full/Duplex(全/半双工)、Collision(冲突)、Link(连接)、Speed(速度)的指示灯,以显示芯片的当前工作态。
1.1.2 W5100的接口电路
W5100和单片机的接口如图2所示。W5100的数据线SD0~SD7直接与单片机的通用I/O口相连。读信号线、写信号线、片选信号、中断信号INT分别与单片机的通用I/O引脚相连。W5100上的复位引脚采用低电平复位,至少要保持20 ms的复位时间,此处采用阻容电路对其进行复位。调节电阻值到10 kΩ,电容值到10μF。


W5100供电电压为3.3 V和1.8 V,其中1.8 V可由芯片内部线性稳压电源产生,外接滤波电路后供回芯片。W5100通过异步数据地址等接口与单片机相接。芯片的以太网物理单元通过接收RXIP/RXIN和发送TXOP/TXON,将网络接口RJ45和双绞线接入到计算机当中。
W5100与单片机的接口方式有3种:直接总线接口模式、间接总线接口模式和SPI模式。其中,直接总线接口模式适用于大数据量传输的情况;SPI模式的接口连线较少,适用于数据量不大、传输速率相对较低的情况;间接总线接口模式下的数据传输性能则介于两者之间。在本系统中选用直接总线接口模式,以最大限度地提高数据的传输速率。
1.2 串口的设计
在实际应用中,很可能出现数据已经存入但是RJ45口损坏而没有办法读数的情况。为了防止因RJ45口的损坏而导致整个装置不可用,可加入串口模块直接利用串口进行读数。

2 系统工作原理
2.1 工作状态图
工作状态图如图3所示。


2.2 网络协议的选择
W5100本身集成了高度成熟的TCP/IP协议栈、以太网MAC层、PHY层等,支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE等协议。
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过3次“对话”才能建立起来。
UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。虽然UDP是无连接的协议,它不保证数据包一定能够到达目的主机,但是在本应用中存储器跟主机通常位于同一内部局域网内,网络环境良好,数据丢失的可能性很小。另外,UDP容易实现,占用资源少,传输速度高,可以满足整个装置的应用需要。

3 软件设计
3.1 主程序设计
软件实现的主程序流程如图4所示。


3.2 寄存器的设置
通过设置W5100内部的控制寄存器,完全可以像在局域网中配置IP地址一样简单地配置设计的系统。
常用寄存器主要包括:模式寄存器(MR)、网关地址寄存器(GWR)、子网掩码寄存器(SUBR)、物理地址寄存器(SHAR)、源IP地址寄存器(SI-PR)、中断寄存器(IR)、中断屏蔽寄存器(IMR)、重试时间寄存器(RTR)、重试次数寄存器(RCR)、接收数据缓冲区大小寄存器(RMSR)、发送数据缓冲区大小寄存器(TMSR)等。套接字寄存器平均分为4部分,对4个独立的网络通道单独设置;发送和接收数据缓冲区用来存放临时数据。通过对这些寄存器的设置可以选择工作模式及协议栈,设置装置自己的网关、IP、子网掩码、物理地址,还可以对端口进行打开和关闭。
用户自己定义MAC地址时必须注意,MAC地址的第一个字节必须为偶数。第一个字节为奇数的MAC地址为多播地址,如果把MAC地址的第一个字节定义为奇数,可能会引起网络通信错误。
3.3 读写程序设计
读时序如图5所示,写时序如图6所示。

地址线有15位,所以占用单片机的第7、8口,数据线占用第10口。按照读时序编写的读控制函数程序如下:

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 结论
单片机对以太网卡的驱动是非常关键的一步。利用以太网控制电器设备,无需另外铺设线路,降低了成本,是现代控制发展的一条新出路。该设计方案具有硬件连接简单、功耗低、体积小、运行稳定可靠等优点。
(本文转自电子工程世界:http://www.eeworld.com.cn/mcu/2010/1119/article_2436.html

以上内容仅代表原作者观点)