STM32F4-ETH通信(lwip)——学习笔记

这篇具有很好参考价值的文章主要介绍了STM32F4-ETH通信(lwip)——学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、关键知识点:

1、国际标准组织将整个以太网通信结构制定了 OSI 模型,总共分层七个层,分别 为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层,每个层功能不同,通信 中各司其职,整个模型包括硬件和软件定义。OSI 模型是理想分层,一般的网络系统只是涉及其 中几层。

2、TCP/IP 只有四个分层,分别为应用层、传输层、网络层以及网络访问层。

stm32 lwip通信管理,stm32,iot,物联网

3、 以太网 (Ethernet) 是互联网技术的一种,以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于参考模型 的物理层 (PHY) 和数据链路层中的介质访问控制子层 (MAC)。IEEE 还有 其它局域网标准,如 IEEE 802.11 是无线局域网,俗称 Wi-Fi。IEEE 802.15 是个人域网,即蓝牙 技术,其中的 802.15.4 标准则是 ZigBee 技术。

4、PHY 层:在物理层,由 IEEE 802.3 标准规定了以太网使用的传输介质、传输速度、数据编码方式和冲突检 测机制,物理层一般是通过一个 PHY 芯片实现其功能的。

5、传输介质:

6、编码:为了让接收方在没有外部时钟参考的情况也能确定每一位的起始、结束和中间位置,在传输信号 时不直接采用二进制编码。在 10BASE-T 的传输方式中采用曼彻斯特编码,在 100BASE-T 中则采 用 4B/5B 编码。曼彻斯特编码把每一个二进制位的周期分为两个间隔,在表示“1”时,以前半个周期为高电平, 后半个周期为低电平。表示“0”时则相反

7、CSMA/CD 冲突检测:

8、MAC 子层:

MAC 数据包、MAC 数据包格式、

MAC 地址:MAC 地址由 48 位数字组成,它是网卡的物理地址,在以太网传输的最底层, 就是根据 MAC 地址来收发数据的。部分 MAC 地址用于广播和多播,在同一个网络里不能 有两个相同的 MAC 地址。PC 的网卡在出厂时已经设置好了 MAC 地址,但也可以通过一 些软件来进行修改,在嵌入式的以太网控制器中可由程序进行配置。数据包中的 DA 是目 标地址,SA 是源地址。

9、TCP/IP 协议栈:

为什么需要协议栈?

10、各网络层的功能:

10.1:LLC 层:处理传输错误;调节数据流,协调收发数据双方速度,防止发送方发送得太快而接收方 丢失数据。主要使用数据链路协议。

10.2:网络层:本层也被称为 IP 层。LLC 层负责把数据从线的一端传输到另一端,但很多时候不同的 设备位于不同的网络中 (并不是简单的网线的两头)。此时就需要网络层来解决子网路由拓扑问 题、路径选择问题。在这一层主要有 IP 协议、ICMP 协议。

10.3:传输层:由网络层处理好了网络传输的路径问题后,端到端的路径就建立起来了。传输层就负责 处理端到端的通讯。在这一层中主要有 TCP、UDP 协议

10.4:应用层:经过前面三层的处理,通讯完全建立。应用层可以通过调用传输层的接口来编写特定的 应用程序。而 TCP/IP 协议一般也会包含一些简单的应用程序如 Telnet 远程登录、FTP 文件传输、 SMTP 邮件传输协议。

11、以太网外设 (ETH)

STM32F4xx 系列控制器内部集成了一个以太网外设,它实际是一个通过 DMA 控制器进行介质 访问控制 (MAC),它的功能就是实现 MAC 层的任务。借助以太网外设,STM32F4xx 控制器可以 通过 ETH 外设按照 IEEE 802.3-2002 标准发送和接收 MAC 数据包。ETH 内部自带专用的 DMA 控制器用于 MAC,ETH 支持两个工业标准接口介质独立接口 (MII) 和简化介质独立接口 (RMII) 用于与外部 PHY 芯片连接。MII 和 RMII 接口用于 MAC 数据包传输,ETH 还集成了站管理接口 (SMI) 接口专门用于与外部 PHY 通信,用于访问 PHY 芯片寄存器。 物理层定义了以太网使用的传输介质、传输速度、数据编码方式和冲突检测机制,PHY 芯片是 物理层功能实现的实体,生活中常用水晶头网线 + 水晶头插座 +PHY 组合构成了物理层。

12、SMI 接口:

12.1:SMI 是 MAC 内核访问 PHY 寄存器标志接口,它由两根线组成,数据线 MDIO 和时钟线 MDC。 SMI 支持访问 32 个 PHY,这在设备需要多个网口时非常有用,不过一般设备都只使用一个 PHY。 PHY 芯片内部一般都有 32 个 16 位的寄存器,用于配置 PHY 芯片属性、工作环境、状态指示等 等,当然很多 PHY 芯片并没有使用到所有寄存器位。MAC 内核就是通过 SMI 向 PHY 的寄存器 写入数据或从 PHY 寄存器读取 PHY 状态,一次只能对一个 PHY 的其中一个寄存器进行访问。 SMI 最大通信频率为 2.5MHz,通过控制以太网 MAC MII 地址寄存器 (ETH_MACMIIAR) 的 CR 位可选择时钟频率。

12.2:SMI 帧格式

12.3:SMI 读写操作

12.4:MII 和 RMII 接口 介质独立接口 (MII) 用于连接 MAC 控制器和 PHY 芯片,提供数据传输路径。RMII 接口是 MII 接口的简化版本,MII 需要 16 根通信线,RMII 只需 7 根通信,在功能上是相同的。图 36_1_8 为 MII 接口连接示意图,图 36_1_9 为 RMII 接口连接示意图。

stm32 lwip通信管理,stm32,iot,物联网

TX_CLK:数据发送时钟线。标称速率为 10Mbit/s 时为 2.5MHz;速率为 100Mbit/s 时为 25MHz。RMII 接口没有该线。

RX_CLK:数据接收时钟线。标称速率为 10Mbit/s 时为 2.5MHz;速率为 100Mbit/s 时为 25MHz。RMII 接口没有该线。

TX_EN:数据发送使能。在整个数据发送过程保存有效电平。

TXD[3:0] 或 TXD[1:0]:数据发送数据线。对于 MII 有 4 位,RMII 只有 2 位。只有在 TX_EN 处于有效电平数据线才有效。 

CRS:载波侦听信号,由 PHY 芯片负责驱动,当发送或接收介质处于非空闲状态时使能该 信号。在全双工模式该信号线无效。

COL:冲突检测信号,由 PHY 芯片负责驱动,检测到介质上存在冲突后该线被使能,并且 保持至冲突解除。在全双工模式该信号线无效。

RXD[3:0] 或 RXD[1:0]:数据接收数据线,由 PHY 芯片负责驱动。对于 MII 有 4 位,RMII 只有 2 位。在 MII 模式,当 RX_DV 禁止、RX_ER 使能时,特定的 RXD[3:0] 值用于传输来 自 PHY 的特定信息。

RX_DV:接收数据有效信号,功能类似 TX_EN,只不过用于数据接收,由 PHY 芯片负责 驱动。对于 RMII 接口,是把 CRS 和 RX_DV 整合成 CRS_DV 信号线,当介质处于不同状 态时会自切换该信号状态。

RX_ER:接收错误信号线,由 PHY 驱动,向 MAC 控制器报告在帧某处检测到错误。 REF_CLK:仅用于 RMII 接口,由外部时钟源提供 50MHz 参考时钟。

因为要达到 100Mbit/s 传输速度,MII 和 RMII 数据线数量不同,使用 MII 和 RMII 在时钟线的 设计是完全不同的。对于 MII 接口,一般是外部为 PHY 提供 25MHz 时钟源,再由 PHY 提供 TX_CLK 和 RX_CLK 时钟。对于 RMII 接口,一般需要外部直接提供 50MHz 时钟源,同时接入 MAC 和 PHY。

LAN8720A、DP83848C

13、LwIP:轻型 TCP/IP 协议栈

LwIP 是 Light Weight Internet Protocol 的缩写,是由瑞士计算机科学院 Adam Dunkels 等开发的 适用于嵌入式领域的开源轻量级 TCP/IP 协议栈。

ETH 初始化结构体详解:

#本文内容摘抄于文档:[野火EmbedFire]《STM32%20HAL库开发实战指南——基于野火F4系列开发板》—20211027.pdf文章来源地址https://www.toymoban.com/news/detail-774698.html

到了这里,关于STM32F4-ETH通信(lwip)——学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32F4_串口通信详解

    目录 1. 串口相关介绍及使用 1.1 串口设置的一般步骤: 1.1.1 串口时钟和GPIO时钟使能 1.1.2 设置引脚复用器映射 1.1.3 GPIO端口模式设置 1.1.4 串口参数初始化 1.1.5 开启中断并且初始化NVIC,使能中断 1.1.6 使能串口 1.1.7 串口数据发送与接收 1.1.8 串口状态 1.1.9 获取中断状态 1.1.10 中

    2024年02月11日
    浏览(49)
  • 【物联网学习笔记】CubeMx+STM32F407ZGT6+LWIP最最最基础配置

    使用正点原子探索者开发板 板载芯片:STM32F407ZGT6 PHY芯片:LAN8720 LWIP版本:2.1.2 本次目标:先ping通开发板再说! 修订: · 2024.4.23经评论区反馈又重新下载6.10版本CubeMX,发现确实没有Advanced Parameters,目前使用6.6.1存在,如有需要可以改成这个版本。 更改引脚 在ethernetif.c中找

    2024年04月27日
    浏览(73)
  • STM32F4_网络通信(网口)

            STM32F4开发板上自带了网口。可以通过 开发板自带的网口和LWIP实现 :TCP服务器、TCP客服端、UDP以及WEB服务器等四个功能。         STM32F4 芯片自带以太网模块,该模块包括带有专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口(MII)和简化介质独

    2024年02月04日
    浏览(38)
  • 【单片机学习笔记】Windows+Vscode+STM32F4+freeRTOS+FatFs gcc环境搭建

    为摒弃在接受keil邮件,研究了下gun编译,以STM32F407为例,简单记录 Git 选择对应版本直接安装即可https://git-scm.com/download/win make gcc ​ 1)将上述软件包放置于C盘根目录 2)添加环境变量 3)cmd命令行测试环境 分别输入 启动文件及LD文件 目录路径表示问题 字节对齐及指定位置存

    2024年02月07日
    浏览(57)
  • STM32F4 基于USART串口的蓝牙通信

    目录 一、硬件资源 连接方案 其他配置 二、实验原理 基本定义 USART介绍 USART工作原理 数据发送 数据接收 蓝牙HM-10配置 三、代码部分 usart.c usart.h Serial.c Serial.h main.c 结语 STM32F401,OLED,蓝牙hm10 连接方案 设备1的TX与设备2的RX连接,这样设备1发送的数据可以被设备2接收到。

    2024年01月17日
    浏览(49)
  • 【STM32】学习笔记(串口通信)

    串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。 电平标准

    2024年02月10日
    浏览(42)
  • 【STM32】学习笔记-SPI通信

    SPI通信(Serial Peripheral Interface)是一种同步的串行通信协议,用于在微控制器、传感器、存储器、数字信号处理器等之间进行通信。SPI通信协议需要使用4个线路进行通信:时钟线(SCLK)、主输入/主输出线(MISO)、主输出/主输入线(MOSI)和片选线(SS)。其中,SCLK由主设备提供,用于

    2024年02月09日
    浏览(45)
  • 【STM32】STM32学习笔记-I2C通信外设(34)

    I2C(Inter-Integrated Circuit)总线 是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。 串行的 8 位双向数据传输位速率在标准模式下可

    2024年01月17日
    浏览(64)
  • 【STM32】STM32学习笔记-I2C通信协议(31)

    I2C(Inter-Integrated Circuit)总线 是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。 串行的 8 位双向数据传输位速率在标准模式下可

    2024年01月23日
    浏览(75)
  • STM32的QSPI通信(学习笔记)

    1、首先说说FLASH,不管是QSPI Flash还是SPI Flash说的实际上是一种闪存芯片,比如最常见的W25Q128(下图),真正不同的是SPI协议与QSPI协议罢了。可以看到下图的芯片,2、3、5、7这四个引脚是可以复用的,根据不同的通信协议变换功能。 W25Q128 是华邦公司推出的大容量 SPI FLASH 产

    2024年02月15日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包