微操控器(µC)是当今各种先进电子产品的中心,它需求与一个或多个外设器材通讯。曾经,µC的外设是以存储器映射办法与数据和地址总线衔接的。对地址线译码以取得片选信号,然后在有限的地址规模内为每个外设分配仅有的地址。这种接口类型所需的最少引脚数(除电源和地之外)为:8 (数据) + 1 (R//W) + 1 (/CS) + n条地址线[n = log2(内部寄存器或存储器字节的数目)]。例如,与一个16字节外设通讯时,需求的引脚数为:8 +1 + 1 + 4 = 14。这种接口的拜访速度快,但较多的引脚数也一同带来了封装尺度增大和总本钱进步的问题。要降低本钱和缩小封装尺度,串行接口显然是抱负的代替计划。
挑选串行总线并非易事。除需求考虑数据速率、数据位传输次序(先传最高位或最低位)和电压外,规划者还应该考虑以下几点:
通过何种办法挑选某个外设(通过硬件片选输入或软件协议)。 外设怎么与µC坚持同步(凭借一条硬件时钟线,或凭借内嵌于数据流中的时钟信息)。 数据是在单根线上传输(在“高”和“低”之间转化),仍是在一对差分线上传输(两根线按相反的方向一同转化其电压)。 通讯线路的两头均运用匹配电阻完结阻抗匹配(一般用于差分信号传输),仍是不匹配或仅在一端匹配(一般用于单端总线)。
表1以矩阵的办法展现了各种通用总线体系之间的差异。16种或许组合中只要4种通用类型为咱们所熟知。
除这些特性外,详细运用还会提出更多要求,如供电办法、阻隔、噪声按捺、µC (主机)与外设(从机)间的最大传输间隔、以及电缆衔接办法(总线型、星型、可接受线路反接等)。提出相似要求的运用包括楼宇自动化、工业操控和抄表等,而且都已拟定了相应的规范。1, 2
表1. 串行总线体系归纳
电路板到背板的运用需求
供给外设功用的串行总线体系不应该给运用体系添加任何沉重的负荷。特别需求留意以下几点:
互连布线必定要简略(信号线越少越好)。 有必要能够轻松地通过软件完结协议(或所选的µC/µP自身供给这种接口)。 需求供给功用广泛的器材。 总线体系有必要易于扩展。
运用软件协议完结寻址的单端、自同步体系需求的信号线最少。从表1能够看出,1-Wire、LIN总线和SensorPath能够满意这些条件。在这类总线体系中,还需求考虑其它要素(见表2)。
表2. 1-Wire、LIN总线和SensorPath总线体系的功用差异
物理网络尺度
只要SensorPath局限于电路板尺度的运用。必定条件下,运用恰当的硬件和软件网络驱动器,能够极大地扩展1-Wire总线网络的间隔。
网络驱动器
关于依据协议的网络,规划者需求软件驱动程序来发生通讯波形(链路层),辨认并寻址网络(网络层)的单个从器材/节点,并发送/接纳数据(传输层)。软件驱动程序与特定操作体系和通讯端口有关。可供给依据各类端口的1-Wire硬件驱动芯片(主机)以及适配器,端口类型包括COM、LPT、USB和I²C。在未作匹配的大型网络中,电缆结尾、衔接器和分支的反射会约束网络的传输功用。
电源
有必要为网络中的每个从器材供电,以完结正常作业。最具本钱效益的办法是通过数据线长途供电。该办法也称为“寄生供电”,这使得读取体系诊断信息(比如在掉电方法下)成为或许。详细典范请参阅运用笔记178中的图3和相关内容:”运用1-Wire产品标识印刷电路板”10。当然因为有必要为供电留出时刻,寄生供电也降低了可用的数据速率。
数据速率
一般来说,数据速率越高,网络传输间隔越短,反之亦然。1-Wire体系具有电源传输功用,因而最大数据传输速率取决于网络的从器材数目以及电缆总长度(%&&&&&%)。
网络节点查找功用
该特性答应主机辨认网络中从器材的数目、类型和地址。这一点关于节点数动态(改变)的网络来说必不可少。请参阅Dallas工程期刊(第2期)11第22页中的示例。
器材功用挑选
规模假如不能供给运用所需求的功用,即便再超卓的总线也毫无用处。与LIN总线和SensorPath比较,1-Wire体系现在能够供给最丰厚的功用。
I²C/SMBus与1-Wire总线
假如实践运用能够供给时钟线,则总线挑选规模可扩展到I²C12和SMBus13器材。依据SMBus的规范,它能够看作是100kbps I²C总线规范添加了超时特性后的派生总线类型。在某个节点与总线主机失掉同步的情况下,超时特性可防止总线发生闭锁,而I²C体系则需求通过一次上电复位进程,才干从这种毛病状况康复至正常作业状况。在1-Wire体系中,复位/在线检测周期可将通讯接口复位至确认的发动条件下。
除了时钟线外,I²C/SMBus还为总线上传输的每个字节供给一个应对位。这使得有用数据速率降低了12%。通讯进程开始于一个发动条件,并跟侍从器材地址和一个数据方向位(读/写),最终完毕于一个中止条件。关于1-Wire体系,首要需求满意网络层的要求(即挑选某个特定器材,履行search ROM指令或许播送);接下来发送与特定器材相关的指令代码,该代码一同会影响数据的传输方向(读/写)。
原有I²C和SMBus总线体系的一个杰出问题是其有限的7位地址空间。因为可供给超越127种不同器材类型,咱们无法依据从器材地址揣度器材功用。此外,许多I²C器材还答运用户随意设置1个或多个地址位,以在总线上挂接多个相同器材。这种特性进一步减少了可用的地址空间。处理地址抵触问题的规范做法是将总线体系划分红若干段,某一时刻可在软件操控下激活某个网络段。该网络段需求添加更多硬件,也使运用固件更为杂乱。I²C体系不具备网络节点查找或枚举功用,因而很难处理节点数动态改变的体系。这一问题可凭借SMBus Specification Version 2.013中的地址分辨率协议得以处理。可是,支撑该特性的SMBus器材极为稀疏。
SPI和MICROWIRE接口
SPI14和MICROWIRE15 (SPI的子集)均需求为每个从器材供给一条额定的片选线。因为具有片选信号,SPI协议只界说了针对存储器地址和状况寄存器的读/写指令。它不供给应对功用。一般,SPI器材的数据输入和数据输出选用不同的引脚。鉴于数据输出在除了读操作外的任何情况下均为三态(制止),因而可将两个数据引脚接到一同以构成单根双向数据线。当其它总线体系无法供给所需的功用或需求较高的数据传输速率时,可选用SPI总线,它能够支撑2Mbps或更高的速率。SPI和MICROWIRE的不利要素在于发生CS信号的译码逻辑,以寻址某个特定器材。可是不会发生地址抵触问题。和I²C总线相同,不供给节点查找功用。主机无法依据从器材的逻辑地址来揣度器材功用,因而很难办理节点动态改变的网络。
RS-485、LVDS、CAN、USB 2.0和FireWire
咱们对这些规范进行评论,以举例说明差分传输的特色。这类总线体系中传输速率最快的两种是FireWire16和USB 2.017,它们选用点对点电气衔接。运用先进的节点或集线器,能够构成树状拓扑的虚拟总线,数据包从源发送至端点(USB),或选用对等传输(FireWire),突发数据速率高达480Mbps (USB 2.0)或1600Mbps (FireWire)。尺度有限的数据包以及接纳/缓冲/重发通讯机制添加了传输时刻,反过来降低了有用的数据吞吐能力。USB的拓扑和协议答应最多衔接126个节点,FireWire答应最多63个节点,运用无源电缆时节点间的最大传输间隔为4.5m。专为包括PC外设、多媒体、工业操控和航空(仅FireWire)运用而规划,USB和FireWire器材能够带电刺进体系(热插拔)。该特性答应网络节点数动态改变。
LVDS18、RS-48519和CAN20可完结挂接主机和从机的总线型结构,乃至能够衔接多个主机。这些规范中低压差分信号(LVDS)是速率最快的,假如总线长度不超越10m,可作业在100Mbps速率下。可用的数据速率及吞吐能够更快或更慢,详细取决于网络尺度。LVDS电气规范专为背板运用而规划,支撑热插拔功用,但不包括任何协议。
RS-485也仅界说了电气参数。RS-485界说了负载和每条总线的最大负载数目(32),而不是以节点的办法给出。一个电气节点的负载能够小于1。12m网络间隔下的典型数据速率可高达35Mbps,1200m间隔下数据速率可达100kbps,这些特性足以满意数据收集和操控运用。RS-485设备的协议一般依据本来规划用于RS-232的部分协议。
与此不同,操控器局域网(CAN)为分布式实时操控界说了通讯协议,安全性十分高,专门面向轿车运用和工业自动化范畴。数据速率从40m间隔下的1Mbps到1000m间隔下的50kbps。寻址办法是依据音讯的,协议自身对节点数没有任何约束。CAN节点支撑热插拔,网络节点数能够动态改变。
结语
在简略、低本钱总线体系中,与LIN总线和SensorPath比较,1-Wire体系的从器材可供给最广泛的功用和网络驱动器。I²C和SMBus除了需求数据线和参阅地之外,还需求时钟线和VCC电源,当然可供挑选的器材功用也十分多。SPI和M%&&&&&%ROWIRE需求额定的片选线,但能够供给更高的数据速率。除支撑寄生供电和网络节点查找功用外,1-Wire接口和协议还支撑热插拔,这一特性一般仅在运用差分信号的高速体系以及SMBus 2.0兼容产品中才供给。iButton®产品是运用极为广泛的热插拔1-Wire器材,热插拔是这类器材的正常作业办法。现完成已证明,1-Wire器材在下列运用中极为有用:全球辨认号21、电路板/配件标识与认证10、温度检测和履行设备等。别的一种十分成功的1-Wire产品是具有安全存储器和质询-呼应机制的器材,它能以最低的本钱完结双向认证和软件代码维护22, 23。