MCU 可提供非常广泛的以太网连接选择。 随着大多数应用要求互联网连接,在您的下一个基于 MCU 的设计中极有可能需要某些类型的网络连接功能。 无论您的新设计是一个需要在以太网链路上合并数据并进行数据通讯的传感器,一个需要通过以太网连接定期发送更新代码且与该网络连接的安防监控头,还是一个需要使用稳健型工业以太网连接的工业控制器,要获得成功设计所需的各种功能,关键是要选择具有以太网功能的 MCU。
连接无处不在
自从出现电报以来,Ethernet 可能是最成功、最普及的数据通讯标准。 这一标准历经多年的改进和修改,已从最初的 10 Mb/s 规范一直发展到 100 Gb/s 及以上。 现在,已出现如工业以太网等可靠性更强的版本,以及用于传输音视频等实时数据的同步能力更好的版本。 随着嵌入式系统逐渐成为黑客和病毒的目标,安全增强型以太网正在迅速发展。 我们来看一下支持以太网的 MCU 及其目标应用方面的一些例子,让您在为嵌入式应用选择合适的 MCU 时更好地了解自己所做的选择。
廉价以太网实现
您可能认为向嵌入式系统添加以太网仍是一个成本高昂的选项,但其实是,即便低成本 MCU 也能提供以太网连接功能。 实际上,将贵重的 Microchip PIC32MX795 MCU 与 Texas Instruments DP83848 以太网 PHY 配对使用,您的关键元件成本也是很低的(使用当前的 Digi-Key 单价链接)。 PIC32MX795 也具有许多特性,有助于轻松实现与许多以太网有关的常见功能。 特别吸引人的是 DMA 控制器、中断系统和低功耗模式。 这些特性组合在一起,就有可能在收到数据包时(也许使用“魔术包 (Magic Packet)”,把系统从低功耗状态唤醒。 然后,在 CPU 处理数据的同时由 DMA 控制器传输数据,从而最大限度地缩短 CPU 工作时间。 这使得在实现支持网络的传感器以及类似嵌入式系统时,达到惊人的高能效。
在 Microchip PIC32 系列以太网解决方案中,最有用的元件也许是可用于嵌入式设计的免牌照堆栈。 如图 1 所示,堆栈位于 Microchip 以太网入门套件板一侧,已被分为多层,其中每一层都可访问来自下方与其紧邻的某一层或多层的服务。
图 1:Microchip PIC32 以太网入门套件板和免牌照 TCP/IPStack。 (感谢 Microchip 提供数据)
许多 TCP/IP 层不仅在请求服务时工作,而且在发生如超时或新数据包到达时也在工作,从这种意义上讲,这些层处于“活动”状态。 这样,我们就能很容易地支持不需要 OS 或者 RTOS 的简单嵌入式应用。 MicrochipTCP/IP 堆栈的一些主要特性包括:
支持 ARP、IP、ICMP、UDP、TCP、DHCP、 SNMP、HTTP、FTP、TFTP 协议
支持 TCP 和 UDP 的插座
安全插座层 (SSL)
NetBIOS 名称服务
DNS – 域名服务系统
以太网设备发现
为了简化 TCP/IP 支持型系统创建,Microchip 提供多种教程(包括一个有关其 PIC32 系列的产品培训模块)、设计示例以及甚至是全部的参考设计。 例如,Microchip 提供的一种教程展示了一个网络型自动售货机设计。¹
工业以太网实现
如果需要实现更稳健、更耐用的以太网,您可能要考虑使用支持工业以太网的 MCU。 一些 MCU 提供的专门硬件不仅可用于以太网接口,还可用于管理和控制,因此 CPU 可以执行其它任务。 Texas Instruments 的 Sitara 系列器件,如 AM3352BZCZ60 采用了完整的可编程实时单元子系统、工业通讯子系统 (PRU-ICSS)。 这种专用硬件包括双 32 位 RICS 内核(可编程实时单元 (PRU))、共享、数据和指令存储器、内部外设模块以及中断控制器 (INTC)。 PRU(图 2)的可编程特性及其能够访问引脚、事件和所有资源,使得在快速执行实时响应、专门的数据处理操作、定制外设接口,以及从其他片载处理元件分担任务时变得灵活自如。
图 2:Texas Instruments 的 Sitara MCU 具有可编程实时单元子系统、工业通讯子系统 (PRU-ICSS)。 [感谢 Texas Instruments 提供数据]
PRU 可以通过接口/OCP 主端口访问所有片载资源,外部主处理器可以通过接口/OCP 从端口访问 PRU-ICSS 资源。 32 位互连总线将各种内外主机元件与 PRU-ICSS 内的资源连接。 INTC 处理系统输入事件,并向后将事件通知设备级主 CPU。
PRU 内核通过小型确定性指令集编程。 每个 PRU 可以独立工作或者相互配合工作,也可与设备级主 MCU 配合工作。 这种处理器之间的交互是由加载到 PRU 指令存储器中的固件性质决定的。 工业以太网外设 (IPE) 用于管理和生成工业以太网功能,具体包括:
一个具有 10 个捕获和 8 个比较事件的工业以太网定时器
两个工业以太网同步信号
两个工业以太网 16 位看门狗定时器
工业以太网数字式 IO
专用 PRU 内核和 IPE 的存在大大简化了具有工业以太网功能的嵌入式应用的设计。 Texas Instrumentsalso 提供支持如 Linux 和 Android 等目前流行的操作系统 (OS) 的多种软件包,以适应要求比简单的传感器或计量表有更多功能的嵌入式应用。 对于更复杂的要求安全通讯、文件系统、图像处理和强大用户界面的工业应用,操作系统 (OS) 的功能可能是一个关键性要求。
高能效以太网设计
为能在最少的功耗下提供最多的数据和处理带宽,一些 MCU 同时具有低功耗和高运行效率特性。 Freescale Kinetis MK60DN512 包括专用硬件,以支持从专门为以太网量身打造的低功耗模式功能下唤醒。 以太网端口在接收到“魔术包 ( Magic Packet)”时可为低功耗状态提供异步唤醒源。 如图 3 所示,这只是多个唤醒源中的一个,在使用各种不同的外设、GPIO 引脚和内部定时器时,它们能让设计更具能效。
图 3:Kinetis MK60 MCU 系列的异步低功耗唤醒源。 (感谢 Freescale 提供数据)
片载以太网 MAC 块包含几个能大大提升传输效率的特性。 接收器通道上的专用嵌入式 FIFO 提供无损耗流量控制功能(如,自动式 802.3 x31A 暂停帧生成和终止),以提升数据传输效率。 片载 IEEE 1588 定时器也可用于时间敏感型以太网的实现,例如工业以太网。 利用硬件加速优化网络控制器的性能,以提供 IP 和 TCP、UDP、ICMP 协议服务。 加速块执行硬件中的关键功能,在实现这些功能时一般会伴随显著的 CPU 处理开销。 以下为几个 IP 协议性能优化特性包括:
按照 TCP/IP、UDP/IP、ICMP/IP 协议数据或仅在 IP 报头上运行
实现线速处理
支持 IPv4 和 IPv6
其它类型和协议的透明帧传输
利用 VLAN 标记和控制域的透明转发 ,支持符合 IEEE 802.1q 的 VLAN 标记型帧
接收时,进行自动 IP 报头和有效载荷(协议特定型)检验和计算和验证
在传输可配置后,以每帧为基础进行 IP 报头和有效载荷(协议特定型)检验和的自动生成和插入
支持所有 IEEE 1588 帧
硬件高级别协议加速功能不仅能提升以太网数据的传输效率,还能明显提升 CPU 的处理效率。 由于 CPU 不需要执行许多与高级别协议有关的常见管家功能,因此可以使其进入低功耗模式或者执行其它处理任务。
连接以太网的系统的安全性
嵌入式以太网应用正越来越关注数据传输和嵌入式系统中静止数据的安全性。 根据美国国土安全部关于电网中的嵌入式系统所受潜在攻击的报告(如来自“精力熊”²的攻击),嵌入式系统变得特别易受攻击。 通过在操作系统最底层安装代码,即可以引导系统的代码,攻击者就能完全控制某个嵌入式系统。 一旦引导代码被损坏,黑客就能肆意修改,获取机密信息,或者甚至是完全控制系统,损坏昂贵的设备,最严重时可毁掉整个处理系统。
一些 MCU 和 MPU 现已包括专门硬件来支持安全数据传输,甚至进行安全引导。 Atmel SAMA5D33 凭借其在加密技术 (AES, TDES) 方面的安全引导机制、硬件加速性引擎以及哈希函数 (SHA),能够确保具有反克隆(以防仅通过读取所有的片上数据就能对 MCU 进行复制或逆向工程)和代码保护功能,以及安全的外部数据传输。 SAMA5D3 还有两个独立的以太网端口(一个具有 10/100/1000 Mbps 连接,另一个则用于 10/100 Mbps 连接),用于实现需要支持桥接、路由和聚合功能的嵌入式系统。 由于桥接器和路由器能提供更多网络信息的访问权限,因此常常沦为网络入侵攻击的主要目标,这点不同于传感器或量表,因为这些设备常位于系统的端部节点处,且只能有限访问系统的其余部分。 所以,源引导是桥接器和路由器的关键功能;因此在 SAMA5D3 系列器件上使用该功能将是一大优势。
总结
如今以太网连接已成为许多应用的必要功能,同时 MCU 供应商正推出各种具有以太网功能的 MCU 来应对这一要求。 您应按照具体应用所需的以太网连接类型来选择 MCU——工业以太网、带附加安全性的以太网、低功耗或是低成本解决方案。 经过精挑细选,您或许会找到一款专门针对您的应用优化的 MCU。
全部0条评论
快来发表一下你的评论吧 !