基于MCU的嵌入式物联网设计中的以太网连接
扫描二维码
随时随地手机看文章
随着我们进入普及的物联网(IoT)世界,嵌入式设备的连接性是必不可少的。无线连接似乎是主流趋势,但大多数无线设备最终需要找到有线互联网连接以增加带宽和可靠性。我们的好朋友传统有线以太网连接仍然需要集线器,聚合器,网桥,存储和应用服务器嵌入式节点。当成本,带宽,便利性或可靠性问题排除无线方法时,低成本传感器也可以使用有线以太网而不是无线解决方案。幸运的是,许多低成本MCU系列现在提供有线以太网支持,因此可以开发传感器,廉价桥接器和连接聚合器,而不会“破坏”预算库。
本文将概述支持有线以太网连接的廉价MCU类型。将提供一些需要有线连接的常见嵌入式应用示例,以演示关键MCU特性和功能如何与重要应用要求相匹配。
嵌入式环境中的以太网连接
以太网在嵌入式系统中是如此普遍的元素,我们通常不会多考虑它 - 它只是计算机通信的“以太”。自从1985年最初的标准化以来,以太网已经从最初的3 Mbit/s数据传输速率发展并发展到100 Gbit/s,并产生了各种不同的媒体和连接拓扑。多层OSI模型和底层消息结构的灵活性支持了以太网在几十年内生存和繁荣的发展和优化。
嵌入式设备使用以太网连接来发送和接收数据和控制信息。更高级的嵌入式系统可以使用以太网来传输和接收代码更新,以添加新功能并修复可被黑客利用来窃取机密信息的漏洞或安全漏洞。必须保护这些更新免受安全漏洞攻击,或者黑客可以使用更新工具完全破坏系统并将其用作攻击网络其他部分的入口点。即使是低成本的嵌入式系统也可以利用远程更新的便利性,因此即使设计“按预算”完成,也必须考虑某种程度的安全性。
以太网幸存的原因之一这个标准的早期版本已经变得越来越具有成本效益。例如,在双绞线和8P8C模块化连接器上运行的标准(10BASE-T和100BASE-TX)的低带宽10 Mbit/s和100 Mbit/s版本,即使在标准化后数十年仍然是一种流行的版本。这些版本现在通常在低成本MCU中得到支持,甚至可以为成本受限的设计提供连接。
预算中的以太网连接
MCU供应商即使在一些最低端设备上也提供以太网连接。这使得即使是低成本的传感器,控制器和分布式系统外围的其他元件也可以添加Internet连接。最普遍的MCU系列之一是Microchip的PIC,PIC18F MCU系列的一些成员具有片上10BASE-T以太网控制器和集成PHY。这样就可以仅使用带有集成磁性元件的外部连接器(如Bel Fuse S811-1X1T-06-F)连接到以太网。集成PHY非常简单,因为它实现了低速10BASE-T标准,但由于它们的向后兼容性,它仍然可以连接到100BASE-T和1000BASE-T标准。
尽管Microchip PIC18F97J60 MCU价格低廉,以太网控制器具有多种先进功能,可轻松实现更高级别通信协议所需的软件。如图1所示,控制器中包含一个8 KB的以太网RAM缓冲区,用于本地数据包存储,从而减少对系统内存的带宽要求。仲裁器管理从DMA控制器,CPU,发送模块和接收模块对数据缓冲区的访问,以最大限度地提高性能和效率。
图1:Microchip PIC18F97J60以太网控制器框图。 (由Microchip提供)
PIC18F以太网控制器的其他高级功能之一是能够在接收到特殊数据包时唤醒。这在传感器应用中特别有用,在传感器应用中,设备可以进入低功耗模式,直到需要读数。当接收到唤醒数据包时,CPU被中断并转换出低功耗状态。传感器读数通过以太网传送回主机。 CPU返回低功耗模式,直到收到另一个唤醒数据包。
构建网桥
通常,需要将具有不同接口要求的多个传感器合并并“桥接”到单一标准接口。在这个应用中,MCU可能需要具有更强大的以太网实现,可能使用100BASE-T标准来提升我们之前看到的单传感器设备的性能,其中较慢的10BASE-T标准就足够了。 MCU还需要支持各种其他标准,例如USB,SPI,I 2 C,CAN和SMBus/PMBus,因此它可以覆盖所有潜在的传感器接口。例如,STMicroelectronics STM32F405xx/7xx MCU不仅支持以太网10/100BASE-T连接,还支持许多其他流行接口。如图2中的框图所示,它支持所有通用接口,并且由于它提供从64引脚到176引脚的各种封装,您可以将器件与优化电路板所需的精确接口端口数相匹配空间使用。
图2:ST Microelectronics STM32F405xx/7xx MCU的框图。 (由ST Microelectronics提供)
STM32F405xx/7xx的另一个关键特性是其片上总线的结构,使其成为桥接应用的理想选择。请注意,低速串行外设由两个不同的总线组成,带有独立的DMA控制器,以最大限度地减少总线冲突。以太网和USB接口与高速AHB总线交换矩阵有自己的连接,可以优先访问片上和外部存储器。在组合和整合多个传感器数据流以通过单个以太网接口进行通信时,这种灵活的片上总线结构至关重要。
聚合和存储
以低成本实现嵌入式应用程序将有足够的数据由本地传感器生成或从远程传感器集线器聚合,MCU中可用的内部存储将是不够的。在这些情况下,将需要外部存储器控制器来管理外部存储设备。对于中等容量的应用,静态存储器就足够了,但在高容量应用中,将需要动态存储器。与NXP LPC178x/7x上的存储器控制器一样,它支持任何类型的接口,并且可以特别高效,因为具有不同存储器要求的多个产品变体可以由同一MCU支持。如图3所示,支持静态存储器(ROM,RAM和Flash)和动态存储器(SDRAM),可以存储大量数据。嵌入式数据缓冲区在合并写入事务以最小化内存访问时非常有用。读操作可以使用缓冲区来聚合事务以最小化总线带宽。此外,对先前缓冲的位置的访问可以使用缓冲的数据而不是外部存储器,从而改善存储器带宽并降低功耗。
图3:恩智浦LPC178x/7x外部存储器控制器框图。 (恩智浦提供)
安全预防措施
在某些以太网连接的嵌入式系统中,安全性是一个关键考虑因素。许多低成本MCU没有集成的安全功能,但有一些安全外设可用于为低成本MCU系统增加安全功能。例如,Atmel CryptoAuthentication ATSHA204A安全设备可以存储安全密钥,验证接收的数据,并生成随机数,以便在通用安全协议中使用。标准安全散列算法(SHA)用于生成和检查用于安全地验证传输的安全摘要。设备中可用的安全命令类型列表如图4所示.MCU的接口使用熟悉的I 2 C总线,以便于集成。
图4:Atmel ATSHA204A上可用的安全命令。 (由Atmel公司提供)
结论
以太网已经存在,现在支持有线以太网连接的低端MCU,嵌入式物联网设备将能够使用性能和可靠性由有线连接提供。确保将应用程序所需的以太网功能与目标MCU提供的功能相匹配,以便成功进行设计。