MCU网络接口方案的自由选择
摘要:单片机(微控制器,MCU)的连通性正成为带一个或多个网络接口MCU的附加标准。本文介绍国外带一个或多个网络接口MCU的发展、网络构成、芯片选择、嵌入式无线网络及其应用情况。
关键词:MCU网络 网络接口 嵌入式系统网络 嵌入式无线网络
微控制器不再工作于隔离状态,从工厂楼层到汽车内部,到处都有分布计算驻留。带双以太网或CAN(控制局域网)总线接口的MCU是很有用的,而这还只是冰山一角。
当今,有各种形式和大小的网络。许多嵌入式系统已有多种网络。随着TCA(电信计算架构)的新进展,其开关结构网络(switch-fabric network)引人注意。它可以是以太网,使用了一对I2C(内部集成电路)总线来支持IPM(综合功率管理)控制器(IPMC),这是架构管理支持的一部分。
今天,虽然获得通信软件相当复杂,但是选择一种与网络匹配的MCU是相当容易的。在多节点或多网络中采用分区(或分块)应用,可以解决耐用性方面的问题。与分布处理器相比,联网还能减少电缆需求,并允许系统由廉价的MCU阵列组成,从而代替一对高性能的处理器。
javascript:window.open(this.src);" style="cursor:pointer;"/>
MCU网络覆盖了广泛的嵌入式环境。以太网是最流行的网络,特别是对因特网与局域网的连通。RS-232接口很流行,但它的速度慢,主要用来控制的装置;而应用于网络的网关,则对接口的要求更高。对许多嵌入式设计问题。研发者可选一个或多个合适的网络接口来解决。
1 网络与外设
很多流行的网络接口都是装在MCU上的(见表1和表2所列)。串行接口很流行,它主要用于串行接口设备,但并不支持网络。有些接口执行SLIP(串行链路接口协议)或PPP(点对点协议),通过调制解调器(MODEM)与因特网连接。
表1 连接总线用在MCU网络的情况
总线名称 | 所占百分比/(%) |
RS-232 | 57.5 |
以太网 | 39.3 |
USB(通用串行总线) | 20.0 |
CAN(控制域网络) | 17.8 |
802.11(无线) | 7.9 |
蓝牙(短距离无线) | 8.6 |
火线/1394(高速串行总线) | 5.7 |
专门的 | 15.8 |
其它 | 20.4 |
无名 | 4.7 |
表2 网络接口
接 口 | 性能说明 | 传输速度/距离 | 架 构 | 协 议 | 连线数 |
以太 | 10/100/1000BaseT局域网(LAN) | 10、100、1000Mb/s 100以上 | 多主机,CSMA/CD | IPv4,IPv6, TPP/IP | 4(Cat5) 光 |
1394b | 火线LAN/外设网络 | 8002400Mb/s 100mUTP(未屏蔽双绞线) | 多主机 | 1394 TCP/IP | 6 光 |
USB | 通用串行总线外设网络 | 12Mb/s sv1.1 480Mb/s sv2,0 25m | 主/从 星形 127个设备 | USB | 4 |
SPI | 串行外设接口设备网络 | 1Mb/s 5m | 主/从 | - | 3加线地和片选 |
I2C | 内部集成电路设备网络 | 1000kb/s 标准 400kb/s 快速 3.4Mb/s 高速 10m | 主/从 多个主机 | - | 2加地线 |
CAN | 控制域网络设备网络 | 1Mb/s 40m 10kb/s 5000m | 主/从 多个主机 | CANopen | 1加地线 差分 光 |
LIN | 局部互连网络设备网络 | 20kb/s 80m | 主/从 16个设备 | LIN 触发时间 | 1加地线 |
1Wire | Maxim(专用) | 16kb/s 140kb/s 600m | 主/从 | 1Wire | 1加地线 |
以太网是现在最通用的,其高速硬件很容易插入片上系统(SoC)。为把多种设备与因特网连接起来,增加以太网已变得很重要。
后来,USB(通用串行总线)在MCU中更多地出现。最初,是把MCU当成一个USB外设来处理。支持USB的主机总是有用的,MCU被用作像键盘一样带有PC风格的设备,而且与存储设备和其它USB外设一起工作得非常好。USB在那些靠近主机的外部嵌入式网络中变得更加重要。
正在慢慢嵌入MCU的接口有1394(高速总线接口)。这种情况可能随着1394b的出现而变化,它强调是作为多媒体网络的基础设施。
CAN总线是一种网络接口,其流行的程序与以太网相同,尤其是当它进入汽车和过程控制环境后,就更是这样了。
2 设备网络
MCU更通用的是与CAN、LIN(局部互连网络)、SPI(串行外设接口)、I2C和单线(1Wire)总线相连接。虽然这些接口的运行速度比以太网慢,但它们更容易实现。有些设备的主装置,像单线协议,能完全用软件实现,而以太网则很少有能这样做的设备。
CAN已在汽车和过程控制工业中找到了自己的位置。它受到广泛支持,并适合嵌入式应用范围,常用于LIN的分级网络。
速度为20kb/s的LIN适合低性能网络。虽然瞄准的是汽车工业,但LIN可作为传感器,方便地进入其它嵌入式应用网络。CAN和LIN都有单线设计的优点。作为大多数单线设计,对设备采取共地是有效的。
国家半导体和摩托罗拉公司开发了SPI,它使用主/从架构方式,与从机的数据收集、整理系统链接在一起(daisy-chain together),如力所示。要实现串行外设接口是相当简单的,为保持靠近主机的SPI从机,使用单独的芯片选择。
I2C使用双线时钟总线,支持主/从和多架构。从先进的TCA到电池的监视。I2C已在广泛的嵌入式应用范围内找到了自己的位置。一个运行在3.4Mb/s下的高速能版本工作在100kb/s范围内时也同样的好。飞利浦是I2C的支持者之一。
I2C的同步特性及其每个字节的证实(per-byteacknowledgement),使它能相当容易地用硬件实现。如没有大量的软件开销,它本身对UART(通用异步收发器)的执行是没有帮助的。与以太网、CAN和LIN比较、I2C有广泛的零售商支持。
单线架构是专用的只有一条连线的主/从网络。主网络可由任何人开发,但从网络必注册。有各种消息来源(source)提供给单线从设备。此架构对简单、低功耗设备是很有用的。
在MCU上,单独的网络接口已成功一段时间了。后来,更多出现的是多于一个接口的MCU。这允许MCU作网络之间连接的网关。
3 网关芯片
带有一对网络接口的MCU,在从Ubicom公司的低价IP3023网络处理器(它能支持6种网络)到NEC公司的400MHz、64位Vr7701处理器(它带有一对10/100Mb/s的以太网接口)上都能运行。这些MCU能轻松地支持常驻的网关和机顶盒应用。许多MCU零售商正推动在此范围应用的解决方法。以太网的网关保持了在SOHO(小型办公和家庭办公)环境的流行。借助于装运(shipment),CAN到CAN的网关却领选于以太网,这是因为它位于大多数汽车内。
网桥应用构成了另一领域,在那里MCU已应用于娱乐、玩耍和表演。在这些应用中,不同的网络连接在一起。CAN到LIN的网桥,比如三菱电子公司的M16C产品,就用在了汽车环境。在该环境中,可能要支持多个网桥来隔离汽车电子设备的不同部分。CAN到LIN网桥能接入廉价的LIN从处理器进行存取。虽然CAN是相当便宜的网络,但LIN设备更加便宜。二者都采用了单线连接,使得关键选择因素的成本变得较低,如图2所示。
今天,以太网到I2C和以太网到SPI,实际上是在计算机系统管理下完成的。类似的,CAN设备都在过程控制环境中流行。有几个例子,包括Microchip公司的PIC MCU和日本日六公司的H8产品都带有CAN 2.0b,并支持SPI或I2C网络。甚至有单个的设备,像Lan-tronix Xport,它使用了X186(基于DSTNI LX)的MCU,带内置桥接串行设备的以太网,整个系统内部装配置有扩展的RJ45插座(即水晶头)。
4 嵌入式无线网络
至今,无线网络可以肯定会流行,但事例了MCU的流行无线解决方案尚未出现,如802.11、蓝牙和ZigBee(802.15)全都需要在MCU外有大量的硬件电路块。支持的网络协议和以太网是相同级别的,要把协议集成到小的网络内困难更多。ZigBee要整合到MCU内,看起来是最容易的,因为它的工作速度更慢,所需的功耗更低,协议更简单。
驻留的网关,特别是那些无线网关,在嵌入式网络中对安全的要求比对隔离的要求更高一些。这就是为什么像IDT公司的RC32365芯片整合了加密硬件的原理。为支持VPN(Virtual Person Network,虚拟个人网络)设计提供的MCU,还需要包括一对以太网MAC(媒体存取控制)和SPI。
分布嵌入式系统的解决方法,容易用这样的MCU来构成,这些MCU内整合了大部分(如果说不是全部的话)一个或多个网络所需的硬件。选择正确的网络可能是一个更困难的任务,但至少有相当大的范围可自由选择,这是有益的。javascript:window.open(this.src);" style="cursor:pointer;"/>
5 单线网络
单线是Maxim公司集成产品专用网络架构。其获益来自廉价的主/从架构,包括给通信所用的小线路上提供小功率的能力。
单线主机在MCU上仅使用单根I/O线,通过软件很容易实现。许多MCU已有单线主机路由。USB-单线和串行-单线的网桥芯片也都已出现。
主机没有注册限制,注册随从机进入运行,每个从机有一个唯一的64位串行号。初始握手协议允许主机单独地识别每台从机。
在戴尔半导体/Maxim公司工作的自动化信息产品经理Hal Kurkowski指出:单线方法能给从设备供电(如图3所示)。当数据传输时,电容器维持设备上的电压。
在必要时,结构主机有可能通过总线提供更大的功率。在此情况,主机必须能编程,这样在请求送到从设备后,22Ω电源电阻被交替切换。有一个基于快闪存储器设备的例子,对存储器编程时需要更多的功率。此时主机将对设备发送请求,切入电源,等待规定的时间到后,再切回到1.2kΩ电阻。