【分享】使用STM32F1x或4x系列的硬件SMI配置KSZ8863时需慎重考虑

2019-12-20 21:31发布

如果你要使用STM32F107或407/429等系列的硬件SMI去管理KSZ8863的寄存器时需慎重考虑,因为这个片子不支持操作码(OP code)配置,只有读写控制位,读时操作码默认为:10,写为01,这个10或01是无法修改的。

由于标准的MIIM=SMI协议中,PHY和REG地址都是5bit的,最多寻址32个寄存器。但是像KSZ8863这样的switch的寄存器有100多个,超出了标准PHY的寄存器个数,这样就不能使用标准的SMI协议来读取了。
标准的SMI格式如下:
STM32F407-429_2017-08-09_144211.png (46.16 KB, 下载次数: 0) 下载附件 2017-8-9 16:36 上传

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
sblpp
1楼-- · 2019-12-21 03:20
感谢楼主分享,正打算用这片子呢。
richards
2楼-- · 2019-12-21 05:04
我原来以为 直接 接交换芯片就好了 结果还有这么多内涵 长知识了
ibichao
3楼-- · 2019-12-21 09:26
 精彩回答 2  元偷偷看……
guxingganyue
4楼-- · 2019-12-21 12:18
richards 发表于 2017-8-9 17:02
我原来以为 直接 接交换芯片就好了 结果还有这么多内涵 长知识了


寄存器比简单的PHY多好多,如PHY有32个寄存器,这货就就198个

不过多数都不用配置,默认就行。
guxingganyue
5楼-- · 2019-12-21 17:38
本帖最后由 guxingganyue 于 2017-8-9 21:27 编辑
ibichao 发表于 2017-8-9 17:13
用bigbang,就是io模拟smi协议,microchip官网有例程


嗯,谢谢提醒。正打算模拟一个呢,有的寄存器还是必须得读写下啊
guxingganyue
6楼-- · 2019-12-21 22:44
ibichao 发表于 2017-8-9 17:13
用bigbang,就是io模拟smi协议,microchip官网有例程

你说的是这个吧,linux下的驱动,看了下,内容好复杂啊

2017-08-09_232451.png (37.05 KB, 下载次数: 0)

下载附件

2017-8-9 23:27 上传

一周热门 更多>