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

关于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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版