以太网控制芯片W5100的存储装置设计
1.2 串口的设计
在实际应用中,很可能出现数据已经存入但是RJ45口损坏而没有办法读数的情况。为了防止因RJ45口的损坏而导致整个装置不可用,可加入串口模块直接利用串口进行读数。
2 系统工作原理
2.1 工作状态图
工作状态图如图3所示。本文引用地址:https://www.eepw.com.cn/article/173139.htm
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所示。
评论