第二十一章 W55MH32 PHY配置示例

描述

单芯片解决方案,开启全新体验——W55MH32 高性能以太网单片机

W55MH32是WIZnet重磅推出的高性能以太网单片机,它为用户带来前所未有的集成化体验。这颗芯片将强大的组件集于一身,具体来说,一颗W55MH32内置高性能Arm® Cortex-M3核心,其主频最高可达216MHz;配备1024KB FLASH与96KB SRAM,满足存储与数据处理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP协议栈、内置MAC以及PHY,拥有独立的32KB以太网收发缓存,可供8个独立硬件socket使用。如此配置,真正实现了All-in-One解决方案,为开发者提供极大便利。

在封装规格上,W55MH32 提供了两种选择:QFN100和QFN68。

W55MH32L采用QFN100封装版本,尺寸为12x12mm,其资源丰富,专为各种复杂工控场景设计。它拥有66个GPIO、3个ADC、12通道DMA、17个定时器、2个I2C、5个串口、2个SPI接口(其中1个带I2S接口复用)、1个CAN、1个USB2.0以及1个SDIO接口。如此丰富的外设资源,能够轻松应对工业控制中多样化的连接需求,无论是与各类传感器、执行器的通信,还是对复杂工业协议的支持,都能游刃有余,成为复杂工控领域的理想选择。 同系列还有QFN68封装的W55MH32Q版本,该版本体积更小,仅为8x8mm,成本低,适合集成度高的网关模组等场景,软件使用方法一致。更多信息和资料请进入http://www.w5500.com/网站或者私信获取。

此外,本W55MH32支持硬件加密算法单元,WIZnet还推出TOE+SSL应用,涵盖TCP SSL、HTTP SSL以及 MQTT SSL等,为网络通信安全再添保障。

为助力开发者快速上手与深入开发,基于W55MH32L这颗芯片,WIZnet精心打造了配套开发板。开发板集成WIZ-Link芯片,借助一根USB C口数据线,就能轻松实现调试、下载以及串口打印日志等功能。开发板将所有外设全部引出,拓展功能也大幅提升,便于开发者全面评估芯片性能。

若您想获取芯片和开发板的更多详细信息,包括产品特性、技术参数以及价格等,欢迎访问官方网页:http://www.w5500.com/,我们期待与您共同探索W55MH32的无限可能。

以太网

第二十一章 W55MH32 PHY配置示例

本篇文章,我们将详细介绍如何在W55MH32芯片上设置不同的PHY模式。并通过实战例程,为大家讲解如何通过软件配置PHY模式,根据不同的传输场景灵活切换相应的模式,以此来降低功耗。

该例程用到的其他网络协议,例如DHCP,请参考相关章节。有关 W55MH32 的初始化过程,请参考 Network Install 章节,这里将不再赘述。

1 PHY工作模式简介

W55MH32的TOE引擎的PHY工作模式支持两种配置方式,一种是通过PMODE管脚进行配置(硬件配置),另一种则是通过PHYCFGR寄存器的5:3位进行配置(软件配置),PHY工作模式可以配置为10Mbps(全双工/半双工),100Mbps(全双工/半双工),全功能自动协商以及掉电模式,默认为全功能自动协商模式。

以太网

硬件配置示意图

以太网

软件配置示意图

注意:通过PMODE管脚配置仅在初次上电时生效,当使用软件进行配置后,将更改为软件配置的模式。

2 PHY不同模式的特点

速率

10BT:传输速率为10Mbps

100BT:传输速率为100Mbps

工作模式

全双工:允许数据在两个方向上同时传输,提高了网络的效率和带宽利用率。

半双工:在同一时刻,数据只能在一个方向上传输,不能同时双向传输。

掉电模式:TOE引擎停止工作,若想恢复正常工作状态,必须重新复位TOE引擎。

全功能,自动协商:将根据对端接口设置对应速率及工作模式。

3 不同PHY模式的功耗

下表为不同PYH模式下的功耗对比:

状态 最小 标准 最大 单位
100M Link - 128 - mA
10M Link - 75 - mA
Un-Link (Auto-negotiation mode) - 65 - mA
100M Transmitting - 132 - mA
10M Transmitting - 79 - mA
Power Down mode - 13 - mA

4 应用场景

当我们期望降低 TOE 引擎的功耗时,可依据不同的传输场景灵活切换相应的速率,以此来实现功耗的降低。比如,在高速传输的场景下,将其设置为 100Mbps 全双工模式;而当不使用 TOE 引擎时,则将其设置为掉电模式,从而有效节省功耗。

5 实现过程

接下来,我们看看在代码上如何设置PHY工作模式。

注意:测试实例需要PC端和W55MH32处于同一网段。

步骤1:设置为100Mbps全双工模式

 

/* config init massage */
phy_conf.by     = PHY_CONFBY_SW;   // Use software config
phy_conf.mode   = PHY_MODE_MANUAL; // User config mode
phy_conf.duplex = PHY_DUPLEX_FULL; // Full duplex
phy_conf.speed  = PHY_SPEED_100;   // Speed
/* setting phy 100M and full-duplex mode */
printf("setting phy 100M and full-duplex modern");
ctlwizchip(CW_SET_PHYCONF, &phy_conf);
ctlwizchip(CW_GET_PHYCONF, &get_conf);
printf("The current Mbtis speed : %drn", get_conf.speed == PHY_SPEED_100 ? 100 : 10);
printf("The current Duplex Mode : %srn", get_conf.duplex == PHY_DUPLEX_HALF ? "Half-Duplex" : "Full-Duplex");
delay_ms(10000);

 

步骤2:设置为10Mbps半双工模式

 

/* setting phy 10M and half-duplex mode */
printf("setting phy 10M and half-duplex modern");
phy_conf.speed  = PHY_SPEED_10;
phy_conf.duplex = PHY_DUPLEX_HALF;
ctlwizchip(CW_SET_PHYCONF, &phy_conf);
ctlwizchip(CW_GET_PHYCONF, &get_conf);
printf("The current Mbtis speed : %drn", get_conf.speed == PHY_SPEED_100 ? 100 : 10);
printf("The current Duplex Mode : %srn", get_conf.duplex == PHY_DUPLEX_HALF ? "Half-Duplex" : "Full-Duplex");
delay_ms(10000);

 

步骤3:设置为掉电模式

 

/* setting phy 10M and half-duplex mode */
printf("setting phy 10M and half-duplex modern");
phy_conf.speed  = PHY_SPEED_10;
phy_conf.duplex = PHY_DUPLEX_HALF;
ctlwizchip(CW_SET_PHYCONF, &phy_conf);
ctlwizchip(CW_GET_PHYCONF, &get_conf);
printf("The current Mbtis speed : %drn", get_conf.speed == PHY_SPEED_100 ? 100 : 10);
printf("The current Duplex Mode : %srn", get_conf.duplex == PHY_DUPLEX_HALF ? "Half-Duplex" : "Full-Duplex");
delay_ms(10000);

 

6 运行结果

烧录例程运行后,首先可以看到进行了PHY链路检测,然后打印了设置的网络地址信息,依次设置PHY为100Mbps全双工模式,然后设置PHY为10Mbps半双工模式,最后设置为PHY为掉电模式,打印信息如下图所示:

以太网

掉电模式时,无法ping通。

以太网

7 总结

本文讲解了如何在 W55MH32 芯片上设置不同的 PHY 模式,通过实战例程展示了根据不同传输场景,将 PHY 模式在 100Mbps 全双工、10Mbps 半双工和掉电模式之间切换以降低功耗的过程。文章详细介绍了 PHY 工作模式的配置方式、不同模式的特点、功耗差异和应用场景,帮助读者理解如何在实际应用中优化设备的网络性能与功耗。

下一篇文章将讲解如何在W55MH32上实现MQTT协议并连接阿里云平台,并实现与阿里云物模型的数据交互,敬请期待!

WIZnet 是一家无晶圆厂半导体公司,成立于 1998 年。产品包括互联网处理器 iMCU™,它采用 TOE(TCP/IP 卸载引擎)技术,基于独特的专利全硬连线 TCP/IP。iMCU™ 面向各种应用中的嵌入式互联网设备。

WIZnet 在全球拥有 70 多家分销商,在香港、韩国、美国设有办事处,提供技术支持和产品营销。

香港办事处管理的区域包括:澳大利亚、印度、土耳其、亚洲(韩国和日本除外)。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分