2. PIC32以太网硬件平台选型与最小系统
要让PIC32真正跑通以太网通信,第一步不是写代码,而是把硬件平台选对、把最小系统搭稳。PIC32MX与PIC32MZ两大系列在以太网能力上差异明显,PHY芯片、晶振和电源设计又直接决定链路能否稳定建立。本节围绕“选型—外设资源—PHY—时钟与电源”这条硬件主线展开,帮助你在动手画板前就把关键决策定下来。
一、PIC32MX与PIC32MZ的以太网能力对比
PIC32MX中带以太网MAC的典型型号是PIC32MX795F512L,它内置10/100Mbps以太网MAC,需外接PHY芯片,配合DMA完成收发;而PIC32MZ EF系列(如PIC32MZ2048EFM100)同样集成10/100Mbps MAC,但主频更高、RAM更大、DMA通道更多,且部分型号支持更丰富的外设与更高的吞吐余量。选型时不能只看“有没有MAC”,还要看RAM能否容纳协议栈缓冲、DMA描述符数量是否够用、引脚是否与RMII/MII接口复用冲突。
下面这张对比图把两类芯片在以太网相关资源上的关键差异集中呈现,便于快速判断项目该落在哪一档。
二、以太网外设资源与接口选择
PIC32的以太网控制器包含MAC层、DMA引擎和专用缓冲描述符。以PIC32MX795为例,它提供8个DMA通道,其中以太网收发各占用一个通道,剩余通道可分配给UART、SPI等外设。RMII接口只需2根数据线(TXD0/TXD1)加时钟和使能,引脚占用少,适合引脚紧张的设计;MII接口需要4根数据线,但时序裕量更大,适合长走线或高干扰环境。实际选型时,若PCB空间允许且对EMC要求高,可优先考虑MII;若追求紧凑,RMII是更常见的选择。
此外,PIC32MZ的以太网MAC支持更灵活的缓冲分配,配合更大的SRAM可以运行完整的TCP/IP协议栈(如Harmony自带的TCP/IP栈)而不必频繁搬运数据。若项目需要同时跑Web服务器、Modbus TCP和自定义UDP,MZ系列会明显更从容。
三、PHY芯片选型要点
PHY是MAC与网线之间的桥梁,选型时重点看接口类型、供电电压、时钟输出和封装。常用型号包括LAN8720A(RMII,3.3V,支持自动协商)、DP83848(MII/RMII均可,工业级温度范围宽)、KSZ8081(RMII,低功耗)。选型时需确认三点:一是PHY的接口模式与PIC32的MAC配置一致;二是PHY是否需要外部25MHz晶振,还是可由PIC32提供50MHz参考时钟;三是PHY的复位引脚和中断引脚是否方便接到MCU。
以LAN8720A为例,它支持RMII模式,通常外接25MHz晶振,并通过内部PLL产生50MHz时钟输出给MAC。若使用PIC32MZ,也可由MCU输出50MHz时钟给PHY,省去一颗晶振。实际布线时,RMII的REF_CLK走线要尽量短且等长,TXD/RXD差分对要按100Ω阻抗控制。
四、晶振与电源设计要点
晶振是以太网稳定性的隐形关键。PIC32主晶振通常选8MHz或25MHz,经内部PLL倍频到80MHz或200MHz。以太网PHY则需要25MHz(RMII)或50MHz参考时钟。若PHY与MCU共用同一晶振源,需注意时钟抖动和驱动能力,建议在PHY侧加缓冲器或使用专用时钟芯片。
电源方面,PIC32内核电压通常为1.8V~3.3V(MX系列多为3.3V,MZ系列内核为1.8V),PHY一般需要3.3V模拟电源和1.2V/1.8V内核电源。设计时应在每个电源引脚旁放置0.1μF去耦电容,PHY的模拟电源还需加磁珠或LC滤波,避免数字噪声串入。以太网变压器(如HR911105A)应靠近PHY放置,TX±/RX±差分对保持等长,减少反射和EMI。
五、最小系统搭建示例
以PIC32MX795F512L + LAN8720A为例,最小系统包含:MCU主控、25MHz主晶振、PHY芯片、RJ45带变压器接口、3.3V稳压电路和去耦网络。连接关系为:MCU的RMII接口(TXD0/TXD1、TXEN、RXD0/RXD1、CRS_DV、REF_CLK)连到PHY;PHY的MDIO/MDC连到MCU的I2C或专用MDIO引脚;PHY的TX±/RX±经变压器到RJ45。上电后,MCU先复位PHY,再通过MDIO读取PHY的ID寄存器(地址0x00~0x01),若读到0x0007C0F1(LAN8720A的典型ID),说明PHY通信正常,随后配置自动协商并等待链路建立。
判断链路是否建立,可读取PHY的BSR寄存器(地址0x01)的bit2(Link Status),若为1且bit5(Auto-Negotiation Complete)为1,说明链路已通。此时再用Ping测试或抓包工具观察是否有ARP请求发出,即可确认MAC层收发正常。
总结来说,选型时先定芯片档位(MX还是MZ),再定PHY型号和接口模式,最后把晶振、电源和差分走线做扎实。这三步决定了以太网通信的物理层基础,后续的协议栈配置和应用程序才有稳定的运行环境。