STM32移植lwip之硬件连接

一直以来都想写一些帖子和博客,但对于刚毕业迷茫的我就是狠不下心来,一番准备之后,决定把前几天学习的一些东西写下来,作为一个记录的开始。
前段日子接触了关于lwip在stm32上面的移植,建立tcp服务器与tcp客户端,以及搭建最简单的web服务器等,我打算分开来一篇篇条理性地记录下来。


stm32建立tcp的硬件基础

每次博客的记录我都想有个目标,以便以后翻阅都能带个目标性地去看。
本篇目标:能够了解stm32的数据是怎么通过网卡和端口连接到PC机的,是建立在哪些硬件基础上的呢?


硬件电路包括:

  1. stm32f407zg(MAC)
  2. smsc lan9303(PHY)
  3. hr681680(网络隔离变压器)
  4. rj45(水晶接头)

依次来看看上面几个芯片的作用

  • stm32f4系列自带MAC控制器,而lan9303在这里就是一个PHY芯片(也叫物理接口收发器),他们之间用接线更少的RMII接口相连,他们组成了数据收发的重要部分。
  • hr681680是一个网络隔离变压器,主要功能是为了隔离,防止网络接头连接的另一端地线电位不同而引起的不可预计的后果(干扰,损坏等等)。
  • rj45水晶头就是平时连接网线的接头,也有器件把网络隔离变压器和水晶头做在一起的。

重点还是看MAC和PHY之间的工作过程!
RMII接口(借鉴一下官方数据手册)
RMII接口(借鉴一下官方数据手册)
主要看MAC与PHY连接的几根线:

  • RMII_TX_EN:数据发送使能
  • RMII_TXD[1:0]:发送数据引脚,共两位
  • RMII_RXD[1:0]:接收数据引脚,共两位
  • RMII_CRX_DV:这个引脚的电平由RX_DV和CRS两个信号合成,比较复杂
  • RMII_REF_CLK:外部时钟源提供的50MHz的时钟信号
  • MDIO:PHY管理接口的双向数据总线
  • MDC:PHY管理接口的同步时钟

当完成对STM32F4的MAC控制器和PHY芯片寄存器的配置后,他们之间的连接就真正建立起来了。
整个一条回路:

  • STM32的DMA控制器 <—> RMII_TXD/RMII_RXD <—> PHY芯片
  • PHY芯片 <—> PHY芯片的Tx+/Tx-、Rx+/Rx- <—> HR681680隔离芯片
  • HR681680隔离芯片 <—> Tx+/Tx-、Rx+/Rx- <—> RJ45水晶头
  • RJ45水晶头 <—> 网线 <—> PC机

接下来就是创建工程,移植lwip到stm32上,建立stm32与pc机的以太网连接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图图Tuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值