DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1911|回复: 0
打印 上一主题 下一主题

[待整理] W5100数据手册 Version 1.2.4 版本之:.功能描述

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 23:58:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-24 22:17 , 耗时 0.094432 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表