打印
[新闻中心]

《杰发微课堂》开讲丨AC7840x-W5500适配指导文档

[复制链接]
781|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
《杰发微课堂》今天开讲第六课啦!W5500是一款集成全硬件TCP/IP协议栈的嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。本文将从杰发科技功能安全MCU芯片AC7840x为何适配W5500出发,提供Demo测试、代码适配流程等指导,方便用户开发更加丰富的应用方案。

方案简介

W5500集成了TCP/IP协议栈,10M/100M以太网数据链路层(MAC)及物理层(PHY),用户使用单芯片就能够在应用中拓展网络连接。久经市场考验的WIZnet全硬件TCP/IP协议栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP和PPPoE协议。用户使用W5500时只需简单的Socket编程就能实现以太网应用。与传统软件协议栈不同,W5500内嵌的8个独立硬件 Socket可进行8路独立通信,相互之间通信效率互不影响,可通过W5500片上32K字节的收/发缓存灵活定义每个Socket的大小。

W5500提供高速标准4线SPI(外设串行接口),速率可达到80MHz,更容易与外设MCU整合,从而能更好地实现高速网络通讯。为减少系统能耗,W5500还提供了网络唤醒模式(WOL)和掉电模式供用户选择使用。

方案主要特性:
  • 支持10M/100M以太网自适应适配;
  • 使用SPI接口,支持mode0和mode3;
  • SPI速率理论可以达到80MHz,实际可以提供到33.3MHz稳定传输;
  • 支持8路Socket单独通路,具有32K片上缓存。

AC7840x-W5500 Demo测试



1. 接线图


2. 实物图

3. W5500通过网线连接路由器,电脑也通过网线或Wifi连接到路由器(确保在同一网段)。

4. 参数配置
打开代码,在main.c的Load_Net_Parameters配置自己的网络参数,网络工具端网络参数需为本地电脑参数,以Demo为例:
Gateway_IP:网关IP //代码默认 192.168.50.1
Sub_Mask:子网掩码 //代码默认 255.255.255.0
Phy_Addr:物理地址 //代码默认 0c:29:ab:7c:00:01
IP_Addr:本机IP地址 //代码默认 192.168.50.199
S0_Port:本机断开0端口号 //代码默认 5000
S0_DIP:目的IP //代码默认 192.168.50.232
S0_DPort:目的端口//代码默认 6000

5. TCP客户端测试
5.1 打开网络测试工具,点击创建服务器→设置本机端口→点击确定→启动服务器。
5.2 给开发板上电
5.3 可以看到W5500已经连接上TCP服务器
5.4 进行数据收发,发送数据,开发板可以收到,并且log打印出来,开发板按下k4,会向TCP服务器发送数据。

6. TCP服务器测试
6.1 修改网络参数后(参考步骤4),下载到开发板,并且给开发板上电。
6.2 打开网络工具,创建TCP客户端,点击创建连接→选择类型为TCP,设置目标IP和端口号,点击创建。
6.3 点击连接,可以看到开发板log连接成功。

7. UDP测试
7.1 打开网络工具,创建UDP:点击创建连接→选择类型为UDP,设置目标IP和端口号→点击创建。
7.2 给开发板上电
7.3 收发数据测试

代码适配流程

1. GPIO配置
W5500的RST和INIT引脚,RST是重启的作用,低电平有效,时间大于500us,INIT是中断脚,低电平有效,当W5500有事件发生时,会将INIT脚拉低,提示AC7840x处理事件。

2. SPI配置

2.1 SPI主设备配置

2.2 SPI读写时序
W5500的帧分为3段:地址段、控制段、数据段。地址段为W5500寄存器或TX/RX内存指定了16位的偏移地址。控制段指定了地址段设定的偏移区域的归属,读/写访问模式以及SPI工作模式(可变长度模式/固定长度模式)。数据段可以设定为任意长度(N-字节,1≤N)或者是固定的长度:1字节,2字节或4字节,如果SPI工作模式设置为可变数据长度模式(VDM),SPI的SCSn信号需要由外部主机通过SPI帧控制。在可变数据长度模式下,SCSn控制SPI帧的开始和停止:SCSn信号拉低(高电平到低电平),即代表W5500的SPI帧开始(地址段);SCSn信号拉高(低电平到高电平),即代表W5500的SPI帧结束(数据段的随机N字节数据结尾)。

SPI数据帧
W5500的SPI数据帧包括了16位地址段的偏移地址,8位控制段和N字节数据段,如下图所示。8位控制段可以通过修改区域选择位(BSB[4:0]),读/写访问模式位(RWB)以及SPI工作模式位(OM[1:0])来重新定义。区域选择位选择了归属于偏移地址的区域。W5500支持数据的连续读/写,其流程为数据从(2/4/N字节连续数据的)偏移地址的基址开始传输,偏移地址会(自增寻址)加1传输接下来的数据。

地址段
地址段为W5500的寄存器或TX/RX缓存区指定了16位的偏移地址,这16位偏移地址的值来自于从最高标志位到最低标志位的顺序传输。SPI数据帧的数据段(2/4/N字节)通过偏移地址自增(每传输1字节偏移地址加1)支持连续数据读/写。

控制段
控制段指定了地址段设定的偏移区域的归属,读/写访问模式以及SPI工作模式。具体见W5500数据手册。

向W5500指定寄存器地址发送一个字节数据

向W5500指定寄存器地址发送n字节数据

读取W5500指定寄存器n字节数据

3. W5500Socket配置
3.1 配置W5500MAC地址、网关、IP等网络参数
3.2 配置Socket的读写缓存大小(默认为2K)
3.3 配置Socket收发超时时间和重传次数
3.4 配置对端网络IP、端口号等网络参数
3.5 监听或者连接服务器

4. 中断处理流程
4.1 W5500会拉低INIT IO,抛出中断时间,AC7840x获取中断后,读取SIR寄存器,获取Socket事件号。
4.2 再根据事件号读取对应Sn_IR,获取事件(如connect/receive/timeout)。
4.3 处理具体事件
4.4中断事件处理

更多关于AC7840x适配W5500技术咨询,请联系support@autochips.com

使用特权

评论回复

相关帖子

沙发
lulugl| | 2023-11-29 11:22 | 只看该作者
大佬,有案例包吗?下载学习一下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:合肥杰发科技有限公司
简介:四维图新全资子公司 全球多地布局;专注于汽车电子芯片及相关系统的研发与设计 车规级芯片覆盖整车;客户遍及海内外 全球超过8000万辆车搭载杰发科技芯片。

87

主题

97

帖子

3

粉丝