STM32F4_网络通信(网口)

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

前言

        STM32F4开发板上自带了网口。可以通过开发板自带的网口和LWIP实现:TCP服务器、TCP客服端、UDP以及WEB服务器等四个功能。

1. STM32 以太网简介

        STM32F4 芯片自带以太网模块,该模块包括带有专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口(MII)和简化介质独立接口(RMII),并自带了一个用于外部PHY通信的SMI接口,通过一组配置寄存器,用户可以为 MAC 控制器和 DMA 控制器选择所需的模式和功能。

stm32以太网接口,STM32,stm32,单片机,嵌入式硬件

        STM32F4必须外接PHY芯片,才可以完成以太网通信,外部PHY芯片可以通过 MII/RMII 接口与STM32F4 内部MAC连接,并且支持 SMI (MDIO&MDC)接口配置外部以太网PHY芯片。

SMI 接口:

        SMI 接口,即站管理接口,该接口允许应用程序通过2条线时钟(MDC)和数据线(MDIO)访问任意 PHY寄存器,访问任意PHY寄存器。该接口支持访问多达32个PHY,应用程序可以从32个PHY中选择一个PHY,然后从任意PHY包含的32个寄存器中选择一个寄存器,发送控制数据和接收状态信息。任意给定时间内只能对一个PHY中的一个寄存器进行寻址。

        MII 接口,即介质独立接口,用于 MAC层 与 PHY层 进行数据传输。

stm32以太网接口,STM32,stm32,单片机,嵌入式硬件

MII_TX_CLK:连续时钟信号。该信号提供进行TX 数据传输时的参考时序。标称频率为:速率为 10 Mbit/s 时为2.5 Mhz;速率为 100 Mbit/s 时为25 Mhz。

MII_RX_CLK:连续时钟信号。该信号提供进行RX 数据传输时的参考时序。

MII_TX_EN:发送使能信号。

MII_TXD[3:0]:数据发送信号。该信号是4个一组的数据信号。

MII_CRS:载波侦听信号。

MII_COL:冲突检测信号。

MII_RXD[3:0]:数据接收信号。

MII_RX_DV:接收数据有效信号。

MII_RX_ER:接收错误信号

RMII 接口:

        RMII 接口,即精简介质独立接口,该接口降低了在10/100 Mbits/s 下微控制器以太网外设与外部PHY 间的引脚数。根据 IEEE 802.3u 标准,MII 包括16 个数据和控制信号的引脚。RMII 规范将引脚数减少为7个。

stm32以太网接口,STM32,stm32,单片机,嵌入式硬件

什么是PHY?

        物理层芯片称为PHY、数据链路层芯片称为MACPHY的作用就是将差分信号转换为数字信号(PHY数据是穿过网络接口的差分信号)。

LAN8720A 是低功耗的 10/100M以太网PHY层芯片,I/O 引脚电压符合 IEEE802.3-2005 标准,支持通过RMII 接口与以太网MAC 层通信。

stm32以太网接口,STM32,stm32,单片机,嵌入式硬件

2. TCP/IP LWIP简介

2.1 TCP/IP简介

        TCP/IP 中文名为传输控制协议/因特网互联协议,又称为网络通讯协议,是Internet最基本的协议,也是Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在他们之间传输的标准。

        该协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。简单来说就是,TCP 负责发展传输的问题,一旦有问题就发出信号,要求重新传输,直到所有数据都安全正确的传输到目的地。IP是给因特网的每一台联网设备规定一个地址。

        TCP/IP 协议不是TCP和IP这两个的协议的合称,而是指因特网整个 TCP/IP 协议族。从协议分层模型方面来讲,TCP/IP 由四个层次组成:网络接口层、网络层、传输层、应用层

        OSI模型将 TCP/IP 分为七层物理层、数据链路层(网络接口层)、网络层(网络层)、传输层(传输层)、会话层、表示层和应用层(应用层)

stm32以太网接口,STM32,stm32,单片机,嵌入式硬件

        在本节中:PHY层芯片LAN8720A相当于物理层,STM32F407自带的MAC层相当于数据链路层,LWIP提供的就是网络层、传输层的功能,应用层是需要用户自己根据自己想要的功能去实现的。

2.2 LWIP简介

        LWIP 是瑞典计算机科学院开发的一个小型开源的TCP/IP 协议栈,是TCP/IP的一种实现方式。LWIP是轻量级IP协议,有无操作系统的支持都可以运行,LWIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,它只需十几 KB 的 RAM 和 40K左右的ROM就可以运行,这使 LWIP 协议栈适合在低端的嵌入式系统中使用。

LWIP 的主要特性如下:文章来源地址https://www.toymoban.com/news/detail-766253.html

  •         ARP协议,以太网地址解析协议;
  •         IP协议,包括 IPv4 和 IPv6 ,支持 IP 分片与重装,支持多网络接口下数据转发;
  •         ICMP 协议,用于网络调试与维护;
  •         IGMP 协议,用于网络组管理,可以实现多播数据的接收;
  •         UDP 协议,用户数据报协议;
  •         TCP 协议,支持 TCP 拥塞控制,RTT 估计,快速恢复与重传等;
  •         提供三种用户编程接口方式:raw/callback API、sequential API、BSD-style socket API;
  •         DNS,域名解析;
  •         SNMP,简单网络管理协议;
  •         DHCP,动态主机配置协议;
  •         AUTOIP,IP地址自动配置;
  •         PPP,点对点协议,支持PPPoE

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

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

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

相关文章

  • STM32以太网通信-LWIP简介

    LwIP全名:Light weight IP,意思是轻量化的TCP/IP协议,是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。 LwIP的设计初衷是:用少量的资源消耗实现一个较为完整的TCP/IP协议栈,其中“完整”主要指的是TCP协议的完整性,实现的重点是在保持TCP协议主要功能

    2024年02月07日
    浏览(55)
  • STM32+W5500实现以太网通信

    STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。本例采用STM32作为MCU。 W5500是一款全硬件TCP/

    2023年04月22日
    浏览(43)
  • STM32CubeMX+STM32F407+FreeRTos+LAN8720 以太网通信实现数据收发功能

    目录 前言 一、STM32CubeMX配置 二、修改代码 三、硬件测试 总结 该工程应用的以太网芯片是LAN8720,代码是基于STM32CUbeMx6.2.1配置生成的,在CubeMx中配置了ETH和LWIP,还有串口1和FREERTOS,最后通过创建任务函数实现udp的以太网数据收发功能。在测试中,可以在电脑的DOS窗口ping通在

    2024年02月08日
    浏览(60)
  • 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)
  • STM32F4-ETH通信(lwip)——学习笔记

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

    2024年02月03日
    浏览(40)
  • 【STM32F1】以太网通信之UDP/TCP实验

    在本实验中,开发板主控芯片通过 SPI 接口与 CH395Q 以太网芯片进行通讯,从而完成对 CH395Q 以太网芯片的功能配置、数据接收等功能,同时将 CH395Q 以太网芯片的 Socket0 配 置为 UDP 模式,并可通过按键发送 UDP 广播数据至其他的 UDP 客户端,也能够接收其他 UDP 客户端广播的数

    2024年02月07日
    浏览(53)
  • STMicroelectronics的STM32微控制器和WIZnet的W5500以太网通信单片机代码

    单片机代码   #include \\\"stm32f1xx_hal.h\\\" #include \\\"string.h\\\"   #define W5500_CS_GPIO_Port GPIOB #define W5500_CS_Pin GPIO_PIN_12   SPI_HandleTypeDef hspi2;   void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_SPI2_Init(void);   uint8_t W5500_ReadByte(void) {     uint8_t byte;     HAL_SPI_Receive(hspi2, byte, 1, 10);  

    2023年04月13日
    浏览(86)
  • [计算机通信网络]以太网的帧格式详解

    目录 一、前言 二、以太网的帧格式 Preamble(前导码): SFD(帧开始定界符): Destination Address,Source Address: Type/Len(类型/长度): Data(数据): FCS(Frame Check Sequence)(帧校验码): 以太网的帧格式对于我们理解mac地址与局域网间通信有着很大的帮助。 这篇博客主要记录

    2024年02月06日
    浏览(51)
  • 实现VLAN间通信&以太网链路聚合与交换机堆叠、集群&华为ICT网络赛道

    使用路由器物理接口 路由器三层接口作为网关,转发本网段前往其它网段的流量。 路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access. 路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLA就需要占用一个路由器物理接口。 路由

    2024年02月21日
    浏览(61)
  • 串口通信(stm32F4)——通过串口助手发送led on或者led off控制LED灯的亮灭

    通过串口助手发送led on来点亮LED灯,发送led off来关闭LED灯(这里是LED1,其端口是GPIOF,引脚是PIN10,串口是USART1,其端口是GPIOA,引脚是PIN9、PIN10,一个用来收数据,一个用来发收据) 初始化LED; 初始化串口; 编写接收数据中断函数; 编写空闲中断函数。 2.1 初始化LED 2.2 初

    2024年02月16日
    浏览(57)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包