976|2

93

帖子

0

资源

一粒金砂(中级)

【GD32E503评测】+ W5500网络模块移植 [复制链接]

现在搞物联网的趋势日益增长,我在项目中也经常接触到网络。因为GD32E503V这款MCU没有内置网络接口,所以我通过SPI接口扩展了W5500模块来实现网络通讯。   

 

    W5500 芯片是一款集成全硬件 TCP/IP 协议栈的嵌入式以太网控制器,同时也是一颗工业级以太网控制芯片,是韩国WIZnet(微知纳特)发布全硬件TCP/IP协议栈以太网接口芯片。W5500 支持高速标准4线SPI接口与主机进行通信,该 SPI 速率理论上可以达到 80MHz。其内部还集成了以太网数据链路层(MAC)和10BaseT/100BaseTX 以太网物理层(PHY),支持自动协商(10/100-Based全双工/半双工)、掉电模式和网络唤醒功能。与传统软件协议栈不同,W5500内嵌的8个独立硬件 Socket 可以进行8路独立通信,该8路Socket的通信效率互不影响,可以通过 W5500 片上32K 字节的收/发缓存灵活定义各个Socket的大小。

 

本来计划通过开发板外引的IO口来扩展SPI接口,最后查看了半天的原理图,把相关SPI的IO口都一个个标注出来,才发现MCU自带的3个SPI都已经用掉了,一个是SPI Flash,一个是SDIO的SD卡,一个是复用成I2S的音频模块,想找第二公用功能以及remap都找不到能用的,无奈之下,只能焊掉SPI Falsh,也就是GD25Q16芯片,W5500的一直功能才得以实现。

 

W5500的驱动库,可以到github上去下载:https://github.com/Wiznet/ioLibrary_Driver

 

这是我新建的W5500的项目结构

image-20210122112505-1.png

image-20210122112512-2.png

硬件连接接口如下:

PA7—>W5500_MOSI

PA6—>W5500_MISO

PA5—>W5500_SCK

PE3—>W5500_CS

PE6—>W5500_RST

 

调试过程中我自己还发现了一个问题,因为此次调试的W5500是模块形式组成,所以用杜邦线来接到开发板,以前的项目W5500都是直接layout到板上。同样的程序,在STM32上跑得很欢快,但是在这块开发板为啥死活都出不来呢……   经过不断的排查再排查,问题居然出在杜邦线上,可能我用的杜邦线质量比较差(顺便吐槽一下,某宝上的杜邦线压根找不到质量好的,如果坛友有推荐的,还麻烦介绍一下,谢谢哈),后来用了另外一种杜邦线,就可以了。本来信心满满地认为调试只要半天就可以了,后来在这个问题上至少浪费了我3天的时间……

 

主循环里,我做了个Socket Server的服务,端口12345,用网络调试工具连上去,就可以双向发送数据了。有兴趣的可以下载完整项目代码参考一下。

image-20210122112530-3.png

image-20210122112536-4.png

GD32E503V-EVAL-W5500.7z (1.84 MB, 下载次数: 31)

赞赏

1

查看全部赞赏


回复

215

帖子

0

资源

一粒金砂(高级)

牛,tcp这个如何与OS结合起来呢?

回复

1

帖子

0

资源

一粒金砂(初级)

谢谢,分享

 


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/8 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表