诸如CAN(控制器局域网)或I2C等低端网络解决方案与Ethernet之间存在巨大差距。Ultimodule Inc.的Ultiwire I/O总线有望使用一种新的单线协议弥补此缺口。

Ultiwire目前在一个FPGA内执行。Ultimodule构建了许多同名Ultimodule,每个都使用一个SCM 220这样的,部分FPGA用于执行Ultiwire接口,其余逻辑电路则用于定制或标准外围设备支持。只要有高容量的FPGA,就可以将Ultiwire与软/硬处理器结合在一个单独的FPGA内。
Ultimodule设计在主/从结构中工作(图2)。一般情况下,主体会结合主处理器、内存和Ultiwire主节点。主节点连接到Ultiwire从节点的雏菊链。每个与主节点通信的从节点,都包含一个用于执行上/下游接口的FPGA。每个FPGA必须主动在节点之间传递信息。
图2。
典型Ultiwire节点接口需要包含在一个Xilinx FPGA内的大约200个逻辑片和250个触发器。典型的CAN A/B内核需要两倍于上述数量的元件,但运行速度较低。Ultiwire支持通常使用FPGA的10%到50%,具体根据FPGA容量而定。这样,仍然还剩余大量的逻辑电路可用于非Ultiwire支持,因此一个Ultimodule可以只使用一个FPGA。
Ultiwire协议使用小16位帧和8位有效负荷,因此系统成本很高。但是,这样做可以得到很短的响应时间。这种配置还适合于Ultiwire可处理的工业自动化I/O控制。同样,从Ulimodules包括16通道数字端口、八通道模拟端口和带有有限数量端口的双轴运动控制模块。
当主节点发送一个TX帧时通信开始。它将沿着链向下传递,直到到达目标节点。目标节点将使用一个RX帧做出响应。TX和RX帧内的命令和类型字段控制节点的动作。数据读写一般是多帧交换,数据字段内包含初始TX帧内的地址信息。所有帧都有一个循环冗余校验(CRC)字段,用于检查错误。RX帧的中断位将状态更改的情况通知主节点。
总体而言,Ultiwire实现了一种简单而快速的通信连接。常见的板上连接距离为0.6米。它支持的最长电缆长度为5米。利用低压差动信号(LVDS)或光连接,还可以支持更长的电缆距离。
Ultimodule能够插到承载板上,使开发人员能够轻松地混合和匹配控制模块与I/O模块。Ultiwire的每个链接最多支持127个节点。可以使用多个链接来提高与主节点之间的通信带宽。可以采用冗余、多个主节点的配置方式。对于OEM批量,Ultimodule电路板的成本为50-225美元。Starter Kit的成本为695美元。第三方Ultimodule最终将使Ultiwire成为一种更吸引人的标准。