ENC28J60
ENC28J60 是在嵌入式开发、物联网、单片机联网中常见的一种芯片。
我们来从硬件、软件、应用三个角度讲清楚它。
🧩 一、基本定义
ENC28J60 是 Microchip(微芯科技) 公司生产的一款
独立的以太网控制器芯片(Ethernet Controller),
内部带有 MAC + PHY 模块,通过 SPI 接口 与主控 MCU 通信。
换句话说:
它是一个 “让单片机能上网的网卡芯片”。
🧩 二、核心功能与规格
| 项目 | 内容 |
|---|---|
| 通信接口 | SPI(最高 20 MHz) |
| 网络接口 | 10Base-T(10 Mbps 以太网) |
| 工作电压 | 3.3V |
| 内部 RAM | 8KB(用于收发缓冲区) |
| MAC + PHY | 内置 |
| 引脚 | 28 脚(典型封装 SSOP28) |
| 其他功能 | CRC校验、自动包过滤、全/半双工、唤醒模式 |
🧩 三、典型使用场景
| 应用 | 举例 |
|---|---|
| 🏠 智能家居 | MCU 控制灯、空调并通过局域网通信 |
| ⚙️ 工控监测 | STM32/AVR 上传数据到服务器 |
| 🌐 物联网 | 无需 WiFi,直接用网线连接到路由器 |
| 💡 教学实验 | 常用于以太网协议学习、TCP/IP 栈移植实验 |
🧩 四、典型连接示意
🧩 五、软件层面怎么用
1️⃣ MCU侧驱动
MCU(如 STM32、AVR、PIC)通过 SPI 读写 ENC28J60 的寄存器与缓冲区。
典型库函数:
2️⃣ TCP/IP 协议栈
ENC28J60 不包含 TCP/IP 协议栈,只负责收发以太帧。
因此需要软件实现协议栈,例如:
-
uIP(轻量级 TCP/IP 栈)
-
lwIP(广泛使用于 STM32、RTOS)
-
Microchip TCP/IP Stack
🧩 六、ENC28J60 与常见替代品对比
| 芯片 | 通信接口 | 速度 | 是否内置协议栈 | 备注 |
|---|---|---|---|---|
| ENC28J60 | SPI | 10 Mbps | ❌ 无 | 低速但常见 |
| W5500 (WIZnet) | SPI | 100 Mbps | ✅ 有(硬件TCP/IP) | 性能更好 |
| LAN8720 | RMII | 100 Mbps | ❌ 无 | 需MCU带MAC(如STM32F107) |
| RTL8201F | MII/RMII | 100 Mbps | ❌ 无 | 常用于ARM或Linux系统 |
🧩 七、实际项目例子
💡 例子1:STM32 + ENC28J60 + lwIP
MCU 通过 SPI 与 ENC28J60 通信,lwIP 实现 TCP/IP 协议,实现简单的 Web 服务器或 Modbus TCP。
🧩 八、优缺点总结
| 优点 | 缺点 |
|---|---|
| SPI接口简单,易用 | 仅支持 10Mbps |
| 不依赖操作系统 | 无硬件TCP/IP协议栈,MCU负担大 |
| 成本低(约10元) | 对 MCU 性能有要求 |
| 教学和实验价值高 | 不适合高负载网络应用 |
浙公网安备 33010602011771号