查看完整版本: W5100数据手册 Version 1.2.4 版本之:.功能描述

admin 发表于 2015-4-27 23:58:27

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模式来实现。处理过程如下:
       
       
       
       n 端口初始化
        IP RAW端口初始化过程如下,
       
       
       n IP RAW接收到数据
        同UDP模式,请参阅“5.2.2 UDP”。
       n 接收数据处理
       
        除了数据包头信息和大小与 UDP不同,其它与 UDP相同,参照 5.2.2 UDP。IP RAW数据前面有 6字节的数据,其结构如下:
       
       
       n IP RAW发送数据/发送处理
        除了不需要远程端口号以外,其它与UDP相同。请参阅“5.2.2 UDP”。
       n 完成发送
       n 超时
       n 完成/关闭端口
       
        处理过程与UDP相同。参阅“5.2.2 UDP”。
       
        5.2.4 MAC Raw
        只有端口0 支持MAC Raw模式。
       n 端口初始化
       
        将端口0初始化为MAC Raw的过程如下:
       
       
       n 接收的数据
        处理过程与UDP相同,参阅“5.2.2 UDP”。
       n 接收数据处理
       
        MAC Raw收到的是以太网的数据包,并带有数据包长度信息。 在 MAC Raw数据包中,前面有两个字节的头,头的结构如下:
       
       
       n 发送数据/发送处理
        与 UDP的处理相同,只是不需要远程端口信息。参考 5.2.2 UDP。
页: [1]
查看完整版本: W5100数据手册 Version 1.2.4 版本之:.功能描述