登录/注册

stm32f107以太网配置

更多

配置STM32F107的以太网功能需要结合硬件连接、外设初始化和协议栈集成,以下是关键步骤和注意事项:


1. 硬件配置


2. 软件配置(HAL库示例)

时钟初始化

// 使能以太网时钟(AHB)
__HAL_RCC_ETHMAC_CLK_ENABLE();
__HAL_RCC_ETHMACTX_CLK_ENABLE();
__HAL_RCC_ETHMACRX_CLK_ENABLE();

// 配置RMII时钟源(通常来自外部25MHz晶振,通过PLL生成50MHz REF_CLK)
RCC_PeriphCLKInitTypeDef clk_config;
clk_config.PeriphClockSelection = RCC_PERIPHCLK_ETH;
clk_config.EthClockSelection = RCC_ETHCLKSOURCE_PLL;
HAL_RCCEx_PeriphCLKConfig(&clk_config);

GPIO配置

将相关引脚设置为复用功能(AF11):

GPIO_InitTypeDef gpio_init;
// 示例:RMII引脚(以具体型号的参考手册为准)
gpio_init.Pin = GPIO_PIN_1 | GPIO_PIN_2 | ...;  // 如PA1(REF_CLK), PA2(TXD0), PB11(TXD1)等
gpio_init.Mode = GPIO_MODE_AF_PP;
gpio_init.Pull = GPIO_NOPULL;
gpio_init.Speed = GPIO_SPEED_HIGH;
gpio_init.Alternate = GPIO_AF11_ETH;  // 根据实际引脚选择AF号
HAL_GPIO_Init(GPIOA, &gpio_init);

MAC和DMA初始化

ETH_HandleTypeDef heth;
heth.Instance = ETH;
heth.Inx.AutoNegotiation = ETH_AUTONEGOTIATION_ENABLE;
heth.Inx.Speed = ETH_SPEED_100M;
heth.Inx.DuplexMode = ETH_MODE_FULLDUPLEX;
heth.Inx.MediaInterface = ETH_MEDIA_INTERFACE_RMII;

// DMA描述符配置(需定义接收和发送缓冲区)
HAL_ETH_Init(&heth);

// 启动MAC接收
HAL_ETH_Start(&heth);

PHY初始化

通过MDIO读写PHY寄存器:

// 读取PHY ID(确认通信正常)
uint32_t phy_id;
HAL_ETH_ReadPHYRegister(&heth, PHY_ADDRESS, PHY_ID1_REG, &phy_id);

// 配置PHY自动协商
HAL_ETH_WritePHYRegister(&heth, PHY_ADDRESS, PHY_BCR_REG, PHY_AUTONEGOTIATION);

3. 协议栈集成

推荐使用LwIP轻量级TCP/IP协议栈:


4. 调试技巧


参考资源

  1. STM32F107参考手册:重点查看“Ethernet (ETH)”章节。
  2. PHY芯片数据手册:如DP83848的寄存器配置说明。
  3. LwIP官方文档:协议栈配置指南。
  4. ST官方示例:如STM32CubeF1库中的ETH示例工程。

通过以上步骤,结合硬件调试工具(示波器、逻辑分析仪),逐步验证信号和协议栈行为,可完成以太网功能的稳定配置。

请问STM32F207的MCO是否比STM32F107差?

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

2024-05-14 08:05:43

STM32F107以太网通信接口在应用编程(IAP)解决方案

本应用笔记的目的是针对STM32F107微控制器开发人员。它提供了用STM32F107以太网通信接口在应用编程(IAP)解决方案。

2022-12-01 07:08:30

STM32F107移植LWIP 精选资料分享

1.4.1的大量bug所以这里用的版本是2.0.3,其实移植上没有什么太大区别。STM32F107集成了以太网媒体接入控制器MAC(主要负责控制和连接物理层的物理介质),所以按四层分层模型组...

2021-08-05 07:33:39

STM32F107通过以太网实现在应用中编程(IAP)

电子发烧友网站提供《STM32F107通过以太网实现在应用中编程(IAP).pdf》资料免费下载

资料下载 fansz 2023-09-21 11:52:37

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

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

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

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

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

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

智嵌STM32F107络互联开发板V2.2原理图

智嵌 STM32F107网络互联开发板V2.2原理图免费下载。

资料下载 1579 2022-03-28 15:37:38

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

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

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

STM32F105/107系列以太网PHY设计

STM32F105/107系列以太网PHY设计资料。图说的很详细,废话就不说了,自己看图吧。Technorati 标签:

2021-08-05 06:55:47

介绍STM32F107微控制器的主要片内外设

2.2 主要板载资源本节介绍STM32F107微控制器的主要片内外设,着重介绍10/100M以太网接口、CAN总线接口和RS485总线接口。2.2.1 10/100M

2021-08-05 06:19:26

请问有stm32f107以太网例程吗?

求一个3tm32f107以太网的例程,最好是官网例程

2020-04-03 04:35:19

STM32F107的LWIP内存溢出

最近在用STM32F107做以太网,移植了LWIP1.3.1进行TCP客户端/服务器通讯,,,短时间通讯没问题,每200ms发送1300字节,串口发给以太网

2020-03-26 20:51:51

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

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

2019-10-28 23:03:22

STM32F107可以通过LWIP连接网络时间服务器获取时间吗?

STM32F107可以通过LWIP连接网络,连接网络时间服务器获取时间吗?STM32是通过以太网连接网络!

2019-08-07 04:35:31

请问lm3s0b90的以太网控制器比STM32的好吗?

TI的lm3s0b90的以太网插座上的灯与电脑基本是一致的,就是电脑上的以太网口灯闪一下,lm3s0b90插座的以太网灯也闪一下。

2019-07-16 03:08:23
7天热门专题 换一换
相关标签