完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
之前的文章主要介绍了STM32的ExternalPHY Intereface部分,《STM32网络电路设计》也就是下图区域1。
本文将重点讲解STM32的MAC控制器,也就是下图区域2。 01、STM32的MAC概述 STM32的MAC控制器全称是:MediaAccess Control。 STM32F207的MAC控制器支持的模式 符合IEEE 802.3 MAC 10/100Mbps网络 全双工和半双工通信 和外部PHY的MII接口和RMII接口 支持前导码和帧起始数据(SFD)插入或删除 支持IPv4的头部checksum校验和检查 支持以太网唤醒 有效载荷检查 其实ST在设计MAC控制器时,设计了其他功能,PTP(IEEE1588)精确时间协议,MMC网络统计功能,这些功能并不常用,本人也没有接触,就不再讲解。 对于上面说到的:支持前导码和帧起始数据(SFD)插入或删除。 之前的推文《以太网数据首部》中并没有说到前导码和帧起始数据(SFD)。一个以太网数据结构如下: 大多数网络设备都是支持前导码和帧起始数据(SFD)插入或删除。所以可以说,这是网络硬件设备在以太网帧前打包的数据。个人认为并不属于TCP/IP协议簇的内容。 02、MAC地址过滤 STM32的MAC控制器支持MAC地址过滤的。 目的地址过滤: 单播过滤 组播过滤 广播过滤 源地址过滤: 单播过滤 STM32的MAC控制器还支持:规则翻转,比如,原来只允许单播过滤接收,翻转之后,只有单播不接收。 在STM32实际项目开发中,只需要调用ST的库文件即可 ETH_InitStructure.ETH_BroadcastFramesReception =ETH_BroadcastFramesReception_Enable;//允许接收所有广播帧 关于MAC地址相关信息,什么是广播,MAC地址表示方法,请看之前的推文《以太网数据首部》。 03、有效载荷检查 有效载荷检查其实是IP协议要求长度必须大于46个字节,不足时填充pad字节,具体细节请看《5000字“肝”了这篇IP协议》。 当从应用程序接收的字节数低于60时(DA+SA+LT+Data),零被附加到发送帧以使数据长度正好为46字节,以满足最小数据字段的要求IEEE802.3要求。 04、Checksum校验和 首先明确,STM32的MAC控制器并不能对TCP/IP协议中所有的Checksum自动校验。STM32实现了IPv4,ICMP,TCP和UDP协议的Checksum校验和。 发送的时候,STM32会自动计算Checksum校验和并自动插入。 接收的时候,STM32会自动校验Checksum校验和是否正确。 上述功能可以通过以下操作开启: 通过在ETH_MACCR寄存器中设置IPCO位来启用接收校验和卸载。 通过在TDES1寄存器中设置CIC位,在传输时启用校验和计算和插入。 但实际代码开发中,并不需要操作寄存器,使用ST的库接口如下 ETH_InitStructure.ETH_ChecksumOffload = ETH_ChecksumOffload_Enable; //开启ipv4和TCP/UDP/ICMP的帧校验和卸载 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1537 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1490 浏览 1 评论
910 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
654 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1538 浏览 2 评论
1843浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
593浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
496浏览 3评论
494浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
475浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 06:18 , Processed in 0.751067 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号