W5100数据手册 Version 1.2.4 版本之:.功能描述
5. 功能描述
通过设置寄存器和存储器,W5100就可以进行 Internet连接。这一章叙述操作过程。
5.1 初始化
n 基本设置
对于5100的操作需要设置以下寄存器的参数:
1. 模式寄存器(MR)
2. 中断屏蔽寄存器(IMR)
3. 重发时间寄存器(RTR)
4. 重发计数寄存器(RCR)
更多关于以上寄存器的详细信息请参阅"寄存器描述"一节。
n 设置网络信息
下面的寄存器是关于网络的基本配置,需要根据网络环境来进行设置。
1. 网关地址寄存器(GAR)
2. 本机物理地址寄存器(SHAR)
3. 子网掩码寄存器(SUBR)
4. 本机IP地址寄存器(SIPR)
本机物理地址寄存器(SHAR)的地址是MAC层的硬件地址,这是生产商指定使用的地址。MAC地址可由IEEE指定。 更多信息请参阅IEEE的网站。
n 设置端口存储器信息
这一步设置端口TX/RX 存储信息,每个端口的基地址和屏蔽地址在这里确定并保存。
5.2 数据通信
通过 TCP、UDP、IP_RAW和 MAC_RAW模式进行数据通信。在端口 n的模式寄存器(Sn_MR) 的协议类型选择通信模式(W5100总共支持 4个端口)。
5.2.1 TCP
TCP是以连接为基础的通信方式,它必须首先建立连接,然后利用连接的 IP地址和端口号进行数据传输。TCP有两种连接方式:一种是服务器模式(被动开启),即等待接收连接请求以建立连接;另一种是客户端模式(主动开启),即发送连接请求到服务器。
5.2.1.1 服务器模式
n 端口初始化
初始化一个端口需要设置运行模式和端口号,并在端口命令寄存器打开(OPEN)端口。端口初始化涉及到以下寄存器:
端口 n 模式寄存器 (Sn_MR)
本机端口n的端口号 (Sn_PORT)
端口 n 命令寄存器 (Sn_CR)
n 监听
在命令寄存器中设置LISTEN 命令。涉及到的寄存器如下。 端口 n 命令寄存器 (Sn_CR)
n 建立连接
当接收到远程对端发来的连接请求(SOCK_SYNRECV状态),W5100将回复 ACK数据包,并将状态改变成 SOCK_ESTABLISHED。该状态可以用以下方法检测到。
当连接建立完成后,便可执行数据的传送和接收。
n 连接成功:接收数据
通过以下方法可以检测到是否收到从远程对端发来的数据。
n 连接成功:读取数据过程
以下是读取数据的过程:
n 连接成功:发送数据/发送过程
数据发送程序如下:
n 连接成功:接受完成
等待接收远程对端发来的终止连接请求。可以通过以下方法检测远程对端发送的终止连接请求。
n 连接成功:断开连接/断开连接过程
检查是否有终止连接的请求。终止连接的处理过程如下:
n 连接成功:关闭端口
没有连接状态。检查过程如下,
n 连接成功:超时
在数据接收或连接终止过程中,因远程对端的故障而终止连接,数据传输不能正常进行。这种情况下,等待一段时间后,将产生超时错误。
n 端口关闭
数据交换完成后,端口需要终止连接;或产生超时错误时,端口必须关闭;或因非正常操作而使端口强迫终止连接。在这几种情况下都必须执行端口关闭,操作如下:
5.2.1.2 客户端模式
整个处理过程如下:
n 端口初始化
可参阅"5.2.1.1 服务器模式"(与服务器程序相同)。
n 连接
发送连接请求给远端主机(服务器),过程如下
n 建立连接
可按照下面方法检测端口是否连接成功。
n 超时
当远程对端没有响应而产生超时并使端口关闭,检测如下。
n 建立连接
请参照5.2.1.1服务器一节(与服务器处理过程相同)
5.2.2 UDP
UDP是一种不可靠的、无连接的数据传输方式。它不需要建立连接就可以进行数据传输,因此UDP的信息可能丢失、覆盖或反转。由于数据包传输的速度可能比较快,接收方可能无法及时处理数据包,因此,用户在应用层必须确保数据传输的可靠性。UDP的传输过程如下:
n 端口初始化
UDP的端口初始化过程如下:
n 接收到数据
可通过下面方法检测是否收到远端数据
n 接收处理
下面是对接收到的数据的处理过程。在UDP传输时,在接收的数据前面有一个8字节 的头。其结构如下:
n 发送数据/发送处理
数据发送处理如下:
n 完成发送
在发送(SEND)命令后,可以通过下面的方法检测数据是否全部发送完成:
n 超时
当远端不存在或数据传输不正常时将产生超时错误。可以通过下面方法检测:
n 完成/端口关闭
当发送操作全部完成后,关闭端口
5.2.3 IP RAW
W5100不支持传输层的某些协议,如ICMP或IGMP,可使用IP RAW模式来实现。处理过程如
W5100 寄存器 存储器 TCP IP RAW 相关文章:
- 多功能的单片网络接口芯片W5100完整数据手册和应用案例指南(09-18)
- W5100数据手册 Version 1.2.4 版本之:.W5100寄存器(09-18)
- 高性能32位移位寄存器单元的设计(06-14)
- STM32F之RTC(07-05)
- iEthernet W5200数据手册(版本1.2.4)之:寄存器说明(09-18)
- W5500 数据手册 Version 1.0 之:寄存器和内存构成(09-18)