1.物联网LWIP网络,TCP/IP协议簇

一。TCP/IP协议簇

1.应用层:FTP,HTTP,Telent,DNS,RIP

2.传输层:TCP,UDP

3.网络层:IPV4,IPV6,OSPF,EIGRP

4.数据链路层:Ethernet,FrameRelay,Is-Is

注意:IWIP是完全按照TCP/IP协议来创建

2.OSI七层模型与TCP/IP协议模型

3.通讯过程

应用层:FTP协议

传输层:TCP协议

网络层:IP协议

链路层:以太网驱动程序

4.全双工vs半双工

半双工同时只能一方传输消息,否则冲突

全双工两方可以同时传递消息

 5.以太网的帧格式

就是在发送数据时,需要知道目标地址原地址,甚至是哪一个应用程序等这些信息都需要记录。

6.C/S与B/S架构

C/S架构;

        百度网盘客户端与服务器端。

B/S架构:

        百度网盘网页端与服务器端。

二者的区别:

        C/S是直接与服务器端相连,优点是可以传输大容量的文件,缺点是相对于B/S架构来说,需要下载一个客户端不方便。其次是开发软件时需要对不同的操作系统开发,例如Windows,Linux,Android等等,开发困难。

        B/S是通过网页连接服务器端,所以容易连接,但是同时有大量的人加入服务器端,信息会难以传递。这也是在百度网盘网页版在下载大容量任务时,会要求用户下载客户端的一个原因。

具体区别如下图:

二。IWIP物理层设计

1.系统连线图

MII:称为m-two

RMII:称为r-m-two 

上述两个就是接口,是物理层模块连接stm32的接口

2.MII与RMII

MII为8数据线,6控制线,2时钟线,2PHY线

RMII为4数据线,3控制线,1时钟线,2PHY线 

(1)上述接口的解释

MII_TX_CLK:发送数据使用的时钟信号,对于10M位/s的数据传输,此时钟为2.5MHz,对于100M位/s的数据传输,此时钟为25MHz。 
MII_RX_CLK:接收数据使用的时钟信号,对于10M位/s的数据传输,此时钟为2.5MHz,对于100M位/s的数据传输,此时钟为25MHz。 
MII_TX_EN:传输使能信号,此信号必需与数据前导符的起始位同步出现,并在传输完毕前一直保持。                                 
MII_TXD[3:0]:发送数据线,每次传输4位数据,数据在MII_TX_EN信号有效时有效。MII_TXD[0]是数据的最低位,MII_TXD[3]是最高位。当MII_TX_EN信号无效时,PHY忽略传输的数据。 
MII_CRS:载波侦听信号,仅工作在半双工模式下,由PHY控制,当发送或接收的介质非空闲时,使能此信号。 PHY必需保证MII_CRS信号在发生冲突的整个时间段内都保持有效,不需要此信号与发送/接收的时钟同步。 
MII_COL:冲突检测信号,仅工作在半双工模式下,由PHY控制,当检测到介质发生冲突时,使能此信号,并且在整个冲突的持续时间内,保持此信号有效。此信号不需要和发送/接收的时钟同步。 
MII_RXD[3:0]:接收数据线,每次接收4位数据,数据在MII_RX_DV信号有效时有效。MII_RXD[0]是数据的最低位,MII_RXD[3]是最高位。当MII_RX_EN无效,而MII_RX_ER有效时,MII_RXD[3:0]数据值代表特定的信息  
MII_RX_DV:接收数据使能信号,由PHY控制,当PHY准备好数据供MAC接收时,使能该信号。此信号必需和帧数据的首位同步出现,并保持有效直到数据传输完成。在传送最后4位数据后的第一个时钟之前,此信号必需变为无效状态。为了正确的接收一个帧,有效电平不能滞后于数据线上的SFD位出现。 
MII_RX_ER:接收出错信号,保持一个或多个时钟周期(MII_RX_CLK)的有效状态,表明MAC在接收过程中检测到错误。具体错误原因需配合MII_RX_DV的状态及MII_RXD[3:0]的数据值。

以下为四种MII接口

(1)一个 25Mhz 外部晶振 MII接口

(2)一个 25Mhz 外部晶振 + 一个50Mhz外部晶振 RMII接口

(3)一个50Mhz外部晶振 RMII接口

(4)一个 25Mhz 外部晶振 RMII接口

3.PHY,称为pai

PHY(英语:Physical),中文可称之为端口物理层,一个以太网PHY是一个芯片,可以发送和接收以太网数据帧(frame)。

PHY连接一个数据链路层的设备(MAC)到一个物理媒介,即数据链路层与物理层媒介。

(1)DP83848CVV功能框图

        图的上方interfaces与MII等接口连接,与stm32通信,下方为数据输入输出与外设接口连接。 

以下是PHY的一些功能

 以下是stm32f407的原理图

以下是stm32f407的网络变压器接口。

一。以太网

1.nc模拟UDP(不需要硬件板子的帮助)

(1)COMMBOX通信调试工具

(2) 控制台输入nc -u 127.0.0.1 8000,此时串口也可以获得数据

 (3)串口调试程序发送字符串,电脑控制台也会展示同样字符串(说明UDP双向通信)

 2.nc模拟TCP

(1)串口调试助手创建Socket服务器

(2)相互发送数据

输入: nc 127.0.0.1 8001创建TCP连接(TCP的端口号是8001,UDP端口号设置为8000)

(3)在控制台中按Ctrl+C会导致错误

 综上得出结论:

        TCP在连接和断开时,会有连接与释放。UDP是无连接的。所以在控制台强制中断连接时(按Ctrl+c),TCP连接的任务发送数据会报错,而UDP的传输任务会继续发送数据,不会管是否有没有对象接受。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值