1. 协议概述
LonTalk 协议是为LON 总线设计的专用协议,和我们以往商用网络的通信协议不同,它具有以下特点:
(1)发送的报文都是很短的数据(通常几个到几十个字节);
(2)通信带宽不高(几kb/s 到2 Mb/s);
(3)网络上的节点往往是低成本、低维护的单片机;
(4)多节点,多通信介质;
(5)可靠性高、实时性高。
LonTalk 的协议数据单元(PDU,Protocol Data Unit)包含以下8 部分:
(1)MPDU(MAC Protocol Data Unit)MAC 层协议数据单元,数据称为帧(Frame);
(2)LPDU(Link Protocol Data Unit)链路层协议数据单元,数据称为帧(Frame);
(3)NPDU(Network Protocol Data Unit)网络层协议数据单元,数据称为报文(Packet);
(4)TPDU(Transport Protocol Data Unit)传输层协议数据单元,数据称为消息应答(Message/ACK);
(5)SPDU(Session Protocol Data Unit)会话层协议数据单元,也称为请求/响应(Request/Response);
(6)NMPDU(Network Management Protocol Data Unit)网络管理协议数据单元;
(7)DPDU(Diagnostic Protocol Data Unit)网络检测协议数据单元;(www.xing528.com)
(8)APDU(Application Protocol Data Unit)应用层协议数据单元。
LonTalk 是ISO 组织制定的OSI 开放系统互连参考模型的七层协议的一个子集,该协议与OSI 对比如表4-8 所示。它包容了LON 总线的所有网络通信的功能,包含一个功能强大的网络操作系统,通过所提供的网络开发工具生成固件,可使通信数据在各种介质中非常可靠地传输。
表4-8 LonTalk 与OSI 七层协议对比
由于LonTalk 协议对OSI 的七层协议的支持,使LON 总线能够直接面向对象通信,具体实现就是采用网络变量这一形式。网络变量使节点之间的通信实现只是通过网络变量的互相连接便可完成。
LonTalk 协议在物理层协议支持多种通信协议,也就是为适应不同的通信介质而支持不同的数据解码和编码。例如,通常双绞线使用差分曼彻斯特编码、电力线使用扩频、无线通信使用频移键控(FSK)。由于LonTalk 协议考虑对各种介质的支持,LON 总线可以容许使用非常广泛的通信介质,如双绞线、电力线、无线电、红外线、同轴电缆、光纤甚至是用户自定义的通信介质。LonTalk支持在通信介质上的硬件碰撞检测,如双绞线。LonTalk 协议可以自动地将正在发送碰撞的报文取消,重新再发。如果没有碰撞检测,当碰撞发生时,只有到响应或应答超时时才会重发报文。
2. LonTalk 协议网络地址结构及对大网络的支持
网络地址可以有三层结构:域(Domain)、子网(Subnet)和节点(Node)。
第一层结构是域。域的结构可以保证在不同的域中通信是彼此独立的。例如,不同的应用的节点共存在同一个通信介质中,如无线电,不同域的区分可以保证它们的应用完全独立,彼此不会受到干扰。
第二层结构是子网。每一个域最多有255 个子网。一个子网可以是一个或多个通道的逻辑分组,有一种子网层的智能路由器产品可以实现子网间的数据交换。
第三层结构是节点。每个子网最多有 127 个节点,所以一个域最多有255×127=32 385 个节点。任一节点可以分属一个或两个域,容许一个节点作为两个域之间的网关(Gateway),也容许一个节点将采集来的数据分别发向两个不同的域。
节点也可以被分组(Grouped),一个分组(Group)在一个域中跨越几个子网,或几个通道。在一个域中最多有256 个分组,每一个分组对于需应答服务最多有64 个节点,而无应答服务的节点个数不限,一个节点可以分属15 个分组去接收数据。分组结构可以使一个报文同时为多个节点所接收。另外,每一个神经元芯片有一个独一无二的48 位ID 地址,这个ID 地址是在神经元芯片出厂时由厂方规定的。一般只在网络安装和配置时使用,可以作为产品的序列号。
一个通道是指在物理上能独立发送报文(不需要转发)的一段介质,LonTalk规定一个通道至多有32 385 个节点。通道并不影响网络的地址结构,域、子网和分组都可以跨越多个通道,一个网络可以由一个或多个通道组成。通道之间是通过桥接器(Bridge)来连接的。这样做不仅可以实现多介质在同一网络上的连接,而且可以使一个通道的网络信道不致过于拥挤。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。