登录/注册

STM32F107 STM32 ETH

STM32F107 STM32 ETH

更多

STM32F107 的以太网功能 (ETH) 使用要点如下:

  1. 内置 MAC 控制器: STM32F107 属于 STM32F1 系列的“互联型”产品,其核心优势在于集成了一个符合 IEEE 802.3-2002 标准的以太网 MAC 控制器

    • 支持 10Mbps (10Base-T) 和 100Mbps (100Base-TX) 速率。
    • 支持全双工和半双工模式。
    • 支持自动协商 (Auto-Negotiation)。
    • 支持多种物理层接口模式:MII (媒体独立接口) 和 RMII (简化媒体独立接口)。RMII 是更常用、引脚更节省的选择。
  2. 需要外接 PHY 芯片: 这是关键点! STM32F107 本身只提供了 MAC 控制器,它不包含物理层收发器 (PHY)。因此,你必须:

    • 选择合适的 PHY 芯片: 例如常用的 Microchip LAN8742A/LAN8720A, TI DP83848, SMSC LAN8700/LAN8710/LAN8720 等。
    • 连接 MAC 和 PHY: 使用 MII 或 RMII (推荐) 接口连接 STM32F107 的 ETH 相关引脚与 PHY 芯片的对应引脚。
    • 提供时钟: 对于 RMII 模式,需要给 STM32F107 的 ETH_RMII_REF_CLK 引脚提供 50MHz 的时钟信号。这个时钟可以来源于:
      • 外部晶振直接提供给 PHY,PHY 输出 50MHz 时钟给 STM32 (最常见方式)。
      • 或者由 STM32 的 MCO 输出 50MHz 时钟给 PHY,PHY 再回送时钟给 STM32。
      • 或者使用单独的 50MHz 晶振同时供给 STM32 和 PHY(较少用)。
    • 设计网络变压器和 RJ45 接口: PHY 芯片的输出需要通过网络变压器 (MagJack) 连接到 RJ45 插座。
  3. 软件配置与驱动:

    • STM32CubeMX: 这是 ST 官方推荐的配置工具。在 CubeMX 中选择你的 STM32F107 型号,启用 ETH 外设。
      • 选择接口模式 (MII/RMII)。
      • 配置 PHY 地址 (通常由 PHY 芯片上的硬件引脚决定)。
      • 配置 ETH 使用的 GPIO 引脚、中断优先级等。
      • 配置 ETH 时钟源 (通常来自 AHB)。
    • 外设库/HAL 库: ST 提供 HAL (硬件抽象层) 库或较早的标准外设库来操作 ETH 外设。
      • 初始化: 使用 HAL_ETH_Init() 初始化 MAC 控制器及其 DMA。
      • PHY 初始化: MAC 初始化后,需要调用 PHY 初始化函数。这通常涉及读取/写入 PHY 芯片的寄存器(通过 MAC 的 MII Management Interface - MDIO/MDC),进行复位、设置工作模式 (速度、双工、自协商) 等。ST 的 HAL 库通常提供类似 HAL_ETH_ReadPHYRegister()HAL_ETH_WritePHYRegister() 的函数,但具体的 PHY 驱动代码需要你根据所选 PHY 芯片的数据手册实现或参考例程。
      • 中断处理: 处理 ETH 中断(发送完成、接收完成、错误等)。
    • TCP/IP 协议栈: 要让开发板通过网络通信,需要在 ETH 驱动之上移植或使用 TCP/IP 协议栈。常见选择:
      • LwIP (Lightweight IP): 小型、开源、广泛应用的 TCP/IP 协议栈。ST 提供的 CubeF1 HAL 库包中通常包含基于 LwIP 的以太网应用例程,这是最常用的起点
      • FreeRTOS+TCP: 如果系统使用 FreeRTOS,这是一个集成的选择。
      • 其他商业或开源协议栈 (如 uIP, embOS/IP 等)。
      • Raw Socket (无协议栈): 在简单应用中,可以直接操作 ETH 驱动收发原始以太网帧,但这需要你自己处理 ARP、IP 等底层协议,不推荐用于常规网络通信。
  4. 硬件设计关键点:

    • PHY 电源: 确保给 PHY 芯片提供稳定、干净的电源(通常有模拟和数字部分)。
    • RMII 时钟 (REF_CLK): 50MHz 是关键时钟! 确保其来源稳定、抖动低。布线时作为高速时钟处理(等长、阻抗控制、远离干扰源)。
    • RMII/MII 信号布线: 尽量短且对称,避免干扰源。特别是 RMII 的 REF_CLK, TXEN, TXD[1:0], RXD[1:0], CRS_DV 等信号。
    • 复位电路: 确保 PHY 和 STM32 在上电和需要时能可靠复位。
    • MDIO/MDC 上拉电阻: MDIO 线上通常需要外部上拉电阻 (如 2.2KΩ)。
    • 网络变压器 (MagJack): 选择符合标准的网络变压器模块或分立方案。
    • 滤波电容: PHY 芯片的模拟电源和数字电源引脚附近放置足够的去耦电容。
    • ESD 保护: 在 RJ45 接口处考虑 ESD 保护器件。
  5. 典型应用场景:

    • 工业控制设备联网 (HMI, PLC, 传感器网关)
    • 数据传输设备
    • 远程监控设备
    • 网络化调试接口

总结:

STM32F107 提供了强大的内置以太网 MAC (ETH) 控制器,支持 10/100Mbps 速率和 RMII/MII 接口。使用时必须搭配外部的以太网 PHY 芯片,并仔细设计接口电路和时钟(特别是 50MHz RMII REF_CLK)。软件上需要使用 HAL 库初始化 MAC 和 PHY,并集成 LwIP 等 TCP/IP 协议栈来实现完整的网络功能。ST 的 CubeMX 工具和配套的 HAL 库/LwIP 例程是开发的重要起点。

强烈建议:

  1. 仔细阅读 STM32F107xC Reference Manual 中的以太网控制器 (ETHERNET) 章节。
  2. 仔细阅读你选择的 PHY 芯片数据手册
  3. 参考 STMicroelectronics 官方提供的 STM32CubeF1 软件包中的以太网示例工程(通常在 Projects/STM3210C_EVAL/Applications/LwIP 或类似路径下)。
  4. 严格遵循硬件设计指南,确保时钟和信号完整性。

STM32F107使用ETH的远程唤醒功能,怎么配置唤醒帧过滤寄存器?

在STM32F107上使用ETH的远程唤醒功能,请问怎么配置唤醒帧过滤寄存器?

2024-06-04 09:02:04

请问STM32F207的MCO是否比STM32F107差?

我用STM32F107做一个带以太网通讯功能的产品,超频到100MHz左右,一切工作正常。于是换成STM32F207,我拿了两个STM32F20

2024-05-14 08:05:43

STM32-P107

ST M3 STM32F107 PROTOTYPE BOARD

2023-03-30 11:48:03

AN3226_基于STM32F107以太网应用升级应用手册

AN3226_基于STM32F107以太网应用升级应用手册

资料下载 佚名 2022-11-24 08:31:00

AN3411_基于stm32F107的IEEE1588高精度时间协议演示

AN3411_基于stm32F107的IEEE1588高精度时间协议演示

资料下载 佚名 2022-11-21 08:11:30

STM32F103和STM32F107区别

,stm32f103采用8MHz外部晶振,stm32f107(互联型,STM32F10_CL)采用25MHz外部晶振(这时候默认时钟不用修改)。

资料下载 佚名 2021-12-02 17:06:08

STM32F107单片机开发板的模板文件免费下载

本文档的主要内容详细介绍的是STM32F107单片机开发板的模板文件免费下载。

资料下载 佚名 2020-04-23 17:14:13

STM32F107官方开发板原理图及PCB资料免费下载

本文档的主要内容详细介绍的是STM32F107官方开发板原理图及PCB资料免费下载。

资料下载 ah此生不换 2019-07-22 08:00:00

怎样将STM32F103工程移植成STM32F107工程呢

STM32F107与STM32F103有何区别?怎样将STM32F103工程移植成ST

2021-10-27 08:07:01

STM32F107开发板板载资源包括哪些

STM32F107开发板是什么?STM32F107开发板板载资源包括哪些?

2021-10-27 06:01:23

STM32F103和STM32F107的主要区别有哪些

STM32F103和STM32F107的晶振有何区别?STM32F103和STM32F

2021-10-15 07:58:18

STM32F107移植LWIP 精选资料分享

STM32F107上移植LWIP2.0.3 因为最近需要在STM32F107上实现TCP/IP协议栈,所以网上查了一下,准备使用LWIP,虽然大多数用的是1.4.1版本但是官方说2系大版本修复了

2021-08-05 07:33:39

stm32f107移植ucos的教程步骤

基于Gokit STM32F103C8T6至UCOS-II移植教程          Step1:在UCOS官网下载源码,这里选择Micrium_uC-Eval-STM32F107

2021-07-22 14:19:15

请问谁有STM32F107的以太网ETH固件库的使用手册吗?

哪位大神有STM32F107的以太网ETH固件库的使用手册吗,跪求

2019-10-28 23:03:22

请问STM32F107如何访问HTTP?

STM32F107如何访问HTTP,比如地址为http://192.168.1,单片机程序里应如何写

2019-10-22 03:59:28
7天热门专题 换一换
相关标签