概述
STM32+网口设计方案(有效信息整理):
- 网口芯片选型:W5100 w5500 CH9121 DM9000 DM9000A、ENC28J60、LAN91C111、RTL8019,LAN7820
- 韩国WIZnet公司生产的W5300芯片
- 很多stm32内部不带以太网,带以太网功能的内部只有以太网mac,没有phy。因此需要外扩以太网芯片。对于不带以太网的stm32,外扩常用的芯片有spi接口的enc28j60和并口的dm9000芯片。对于带以太网的stm32还需要外扩一片phy芯片。
- 网卡工作在osi的最后两层,物理层(PHY)和数据链路层(MAC)。
物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。
数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。 - DP83848:物理层(PHY),跟MII接口。
DM9000:物理层(PHY)和数据链路层(MAC)。跟8/16/32总线接口
enc28j60:MAC+PHY(10M Base T)。spi接口
w5100:硬件TCP/IP协议栈+MAC+PHY(10/100M Base T)。并行总线接口
RLD8019:和w5100类似,比较老。
举个例子:
W5100里面用硬件逻辑电路实现了TCP/IP的协议栈结构,不需要向ENC28J60这样的网络控制器那样还需要一个资源较大的MCU跑软件协议栈。你直接把W5100当外部RAM使用,MCU初始化一下I/O,寄存器等就能使用了。 - 这个要看你使用STM32的那个系列了,STM32F107+DP83848,STM32F103+DM9000 STM32F407+LA8720等等,有很多方案可选的,主要还是看你的需求
- STM32的分类有很多的,有的是带MAC的,有的不带的。
不带的可以通过外挂MAC与PHY进行通讯,串行的有W5500,28J60这样,并行的,有DM9000这样的;如果是STM32带MAC,网络外设的,可以只是接一个PHY就可以了,83848就可以的。
8.SPI方式的W5100 2.SPI的ENC28J60 3.RMII的DP83848 4.RMII的DM9161 5.FSMC的DM9000 直接用RMII+以太网PHY的话,需要自己移植软件协议栈。SPI+W5X00的话,硬件协议栈,通信速率因素主要在SPI。两者比较,前者开发难度相对后者大,开发速度相对后者慢,但是通信速率比后者快。
总结:目前单片机联网方式主要有以下三种:
①单片机自带MAC,需外加PHY(比如DM9162等),单片机需处理TCP/IP协议栈。(也有单片机自带了MAC和PHY,就无需外加芯片了)
②单片机未带MAC功能,需外加网络接口芯片(包含MAC和PHY,比如DM9000、ENC28J60等),需单片机处理TCP/IP协议栈
③普通单片机,外加TCP/IP协议栈芯片(包含MAC+PHY+TCP/IP协议栈)。单片机消耗资源极少,无需详细了解TCP/IP协议栈,开发方便。如W5500,CH9121,CH395
最后
以上就是动听小虾米为你收集整理的STM32以太网通讯设计方案的全部内容,希望文章能够帮你解决STM32以太网通讯设计方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复