你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于ENC28J60的控制寄存器访问问题?

[复制链接]
STM1024 提问时间:2018-9-20 08:20 /
本帖最后由 stm1024 于 2018-9-21 08:58 编辑

由于我是使用的STM32F103,不像互联型的107等有以太网接口,我就在某宝上淘了一个ENC28J60的模块,PHY等一应俱全,看上去很美好。
1.jpg

然后抄起datasheet,美滋滋开始编程,结果发现,写PHY寄存器(通过MII接口)有问题。
后来设置MAC地址,就是控制寄存器MAADR0-MAADR5,结果写进去之后立马读出来,发现读取值不对,每次只有MAADDR1的值是对的,其他的都是错00。如果我直接读EREVID这个只读寄存器,结果是6,符合预期(根据官方errata文档,这个值表明是REV B7)。
怀疑SPI写数据有问题,但是我使用SPI写命令,修改CLKOUT相关的寄存器(ECOCON),用逻辑分析仪测频率,又都符合要求。
大家有没有碰到类似的问题,是否对SPI频率有要求?
注:SPI的模式、BANK我是严格按手册写的。

/*问题解决了,把SPI的预分频反复修改,最后测试改改成128分频就OK了,WTF:
SPI_itd.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128;
*/
SPI也真是的,不像CAN协议等,需要预先约定确定的波特率。



收藏 评论5 发布时间:2018-9-20 08:20

举报

5个回答
CC4 回答时间:2018-9-20 10:08:11
F103 用这个不太合适吧??建议你换成W5500模块
STM1024 回答时间:2018-9-20 20:48:45
select326 发表于 2018-9-20 10:08
F103 用这个不太合适吧??建议你换成W5500模块

ENC28J60是独立以太网控制器,和微处理器没多大关系。W5500只是多了硬件协议而已
maxtch 回答时间:2018-9-21 11:35:53
select326 发表于 2018-9-20 10:08
F103 用这个不太合适吧??建议你换成W5500模块

ENC28J60 不带 TCP/IP,如果 F103 容量大一点自己带一个 lwip 也够。W5500 的硬件 TCP/IP 好像不支持 IPv6 或 FCoE 这类高级协议。
CC4 回答时间:2018-9-21 14:38:58
stm1024 发表于 2018-9-20 20:48
ENC28J60是独立以太网控制器,和微处理器没多大关系。W5500只是多了硬件协议而已 ...

没用过enc28j60 ,只用过W5500
STM1024 回答时间:2018-9-21 14:50:55
select326 发表于 2018-9-21 14:38
没用过enc28j60 ,只用过W5500

我准备把ENC28J60弄清楚了以后,再搞搞W5500

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版