什么是以太网应用的好微控制器?

电器工程 微控制器 以太网 tcp-ip
2022-01-23 04:39:33

什么是做以太网应用的好微控制器?还是我只需要一个好的以太网库来连接以太网 MAC/PHY?

4个回答

Microchip 带有内置以太网的 PIC18 非常适合这一点,只需添加一个 magjack(或其他带有内置磁性的连接器)并下载他们的 TCP/IP 堆栈。你很快就会ping通东西。更麻烦的是,PIC24 和 PIC32 还具有 TCP/IP 堆栈,旨在与它们提供的 SPI 以太网 MAC/PHY 部件之一(ENC624J600 或 ENC628J60)一起运行。

ST 最近还增强了他们基于 ARM Cortex 的 STM32 系列以包括片上以太网,但您需要外部 PHY 和磁性元件。如果您已经在查看 PIC32,这是一个选择。

关于拥有 TCP/IP 堆栈,您应该查看三个项目:

Contiki 是一个开源的、高度可移植的、多任务操作系统,用于内存高效的网络嵌入式系统和无线传感器网络。Contiki 已用于各种项目,例如公路隧道火灾监测、入侵检测、波罗的海水域监测以及监控网络。

Contiki 专为具有少量内存的微控制器而设计。典型的 Contiki 配置是 2 KB 的 RAM 和 40 KB 的 ROM。

开源 uIP TCP/IP 堆栈为微型嵌入式 8 位微控制器提供 TCP/IP 连接,并保持互操作性和 RFC 标准合规性。

  • lwIP TCP / IP 堆栈

    比 uIP 快得多,但更难上手

通常以太网不内置在微控制器中。首先,您需要一个可以将以太网信号转换为微控制器读取的信号的插孔(这通常称为“磁性”)。然后你需要一个 TCP/IP 堆栈,然后你需要 DHCP、DNS 和任何其他你想使用的协议。因此,您使用的实际微控制器并不重要。如果你得到一个非常强大的东西,比如上面运行 Linux 的 ARM,那么为它开发将非常简单,几乎与在运行 Linux 的台式 PC 上编写一个网络应用程序一样。或者你可以选择功能更弱、更便宜的东西,比如 AVR 或 PIC。

如果您想在软件中实现整个 TCP/IP 堆栈,以太网和 TCP/IP 可能会非常复杂。一种常见的解决方案是使用类似 Wiznet 的 W5100 芯片,它为您处理所有低级 TCP/IP 内容。您可以在包含以太网连接器和所有东西的预制模块中以相当便宜的价格购买它,WIZ812MJ 模块约为 20 美元您可以仅使用 SPI 与它通信,因此它不会占用微控制器上的大量 I/O 引脚。

Lantronix 还提供了一些功能更强大的模块,这些模块看起来更易于使用,但价格更高(50-100 美元,具体取决于型号)。例如,参见他们的XPort

ARM 是当今的微控制器,恩智浦提供广泛的产品。截至此日期 (2011-07-13),此网页实际上列出了太多以太网控制器,无法在此提及:

17 ARM7 设备
2 ARM9 设备
16 Cortex-M3 设备

编辑
我将 ARM 优势讨论移至此答案