全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

使用RT-Thread提供的SPI驱动框架使能外接以太网设

时间:2018-06-22 08:52

人气:

作者:admin

标签: spi  以太网  控制器 

导读:在电脑端使用 xshell 打开对应端口,波特率配置为115200,编译代码并下载至开发板,然后按 reset 重启开发板,xshell 会显示启动信息,msh 中执行 app_init 命令初始化以太网设备, 显示如下...

1. 准备

本章将介绍使用 RT-Thread 提供的 SPI 驱动框架使能外接以太网设备,实现设备连接网络。

GD32303E-EVAL 评估板没有板载以太网模块,所以需要使用外接以太网设备连接网络,本文使用的模块主控芯片型号为 ENC28J60,它可作为任何配备有 SPI 的控制器的以太网接口,兼容 IEEE 802.3 标准,最高传输速度可达 10M/s,正常工作电压为 3.3V,模块上使用的网络变压器型号为 HR911105A,模块外观如下:

该模块主要使用引脚说明如下:

该模块和 GD32303E-EVAL 开发板连接情况如下:

开发板供电及连接情况:

供电方式:开发板使用 Mini USB 接口或者 DC-005 连接器提供 5V 电源

下载程序:下载程序到开发板需要一套 JLink 或者使用 GD-Link 工具。

串口连接:使用 USB 转串口线连接开发板的串口0对应的 PA9 和 PA10 引脚,并连接电脑

2. 配置工程文件

2.1 开启 ENV 配置界面

切换到工程目录下,在ENV工具命令行界面输入menuconfig命令开启配置界面。

2.1 使能 ENC28J60 驱动

使用 ENC28j60 需要先使能 ENC28J60 SPI 网络接口驱动。

2.2 开启 LWIP2.0.2,优化默认配置

RT-Thread实时操作系统就采用了 LWIP 做为默认的TCP/IP协议栈,设备联网需要开启 LWIP,版本使用最新版本LWIP2.0.2,如下图所示:

LWIP2.0.2 开启之后内存资源占用比较大,而我们的GD32303E-EVAL 评估板内存资源有限,所以我们要对默认开启的 LWIP 参数进行优化配置,减小内存占用,下图为配置方式:

2.3 开启 DFS_NET,使用 POSIX 标准接口

用户使用 POSIX 标准网络接口,需要开启 DFS_NET,并且配置DFS_FD_MAX用于增大网络连接数量,如下图所示:

2.4 保存退出

保存配置,退出配置界面,在ENV工具命令行界面使用 scons--target=mdk5 生成新工程。

3. 运行测试代码

3.1 初始化以太网设备

打开新生成的 MDK 工程,并添加示例代码到工程:

在电脑端使用 xshell 打开对应端口,波特率配置为115200,编译代码并下载至开发板,然后按 reset 重启开发板,xshell 会显示启动信息,msh中执行app_init命令初始化以太网设备, 显示如下信息表明以太网设备初始化成功:

|/‐RT‐ThreadOperatingSystem/|3.0.4buildMay920182006‐2018Copyrightbyrt‐threadteamlwIP‐2.0.2initialized![SFUD]FindaGigaDeviceGD25Q16Bflashchip.Sizeis2097152bytes.[SFUD]gd25qflashdeviceisinitializesuccess.msh/>msh/>app_init[INIT]enc28j60deviceinitializesuccess!//以太网设备初始化成功

输入ifconfig命令查看当前网络状态(IP地址、MAC地址、子网掩码等),如下显示设备获取IP地址成功:

msh />ifconfignetwork interface: e0 (Default)MTU: 1500MAC: 00 04 a3 12 34 56 FLAGS: UP LINK_UP ETHARP IGMPip address: 192.168.12.35gw address: 192.168.10.1net mask: 255.255.0.0dns server #0: 192.168.10.1dns server #1: 223.5.5.5

3.1 TCP Client 示例演示

电脑端网络调试助手开启 TCP 服务器,设备作为客户端连接电脑端服务器,msh中执行命令tcpclient [server_ip] [server_port](server_ip 为服务器地址,server_port 为服务器端口号),进行数据交互,说明网络连接成功,如下图显示:

3.1 TCP Server 示例演示

设备开启 TCP 服务器,msh中执行命令tcpserver(默认端口号为5000),电脑网络调试助手开启客户端连接设备服务器,进行数据交互,说明网络连接成功,如下图显示:

本章节主要介绍了设备通过外接以太网模块 ENC28J60 连接网络并且进行数据交互测试的过程,更多源码请参考测试代码和 RT-Thread 官方应用笔记。

4. 参考

ENV 工具使用手册

GD32303E-EVAL 官网

GD32303E-EVAL BSP源码及资料百度云

ENC28J60 中文数据手册

玩溜 GD32303E-EVAL BSP 系列(一)----基本系统跑起来

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信