1、一、一、LonWorks技术特点技术特点 LonWorksLonWorks是基于神经元芯片的现场总线技术是基于神经元芯片的现场总线技术,它是由它是由美国美国EchelonEchelon公司推出并由它们与摩托罗拉、东芝公司共公司推出并由它们与摩托罗拉、东芝公司共同倡导同倡导,于于19901990年正式公布而形成的。它采用了年正式公布而形成的。它采用了ISO/OSIISO/OSI模模型的型的全部七层通讯协议全部七层通讯协议(物理层、数据链路层、网络层、物理层、数据链路层、网络层、传输层、会话层、表示层、应用层传输层、会话层、表示层、应用层),其通讯速率从其通讯速率从300bps300bps至至1.
2、25Mbps1.25Mbps不等不等,直接通信距离可达到直接通信距离可达到27002700(78kbps,(78kbps,双绞线双绞线),),支持双绞线、同轴电缆、光纤、射频、支持双绞线、同轴电缆、光纤、射频、红外线、电力线等多种通信介质红外线、电力线等多种通信介质,并开发相应的本安防爆并开发相应的本安防爆产品产品,被誉为通用控制网络。被誉为通用控制网络。LonWorks技术所采用的技术所采用的LonTalk协议被封协议被封装在称之为装在称之为Neuron的芯片中并得以实现。集成的芯片中并得以实现。集成芯片中有芯片中有3个个8位位CPU:一个用于完成开放互连:一个用于完成开放互连模型中第模型中
3、第12层的功能,称为介质访问控制处层的功能,称为介质访问控制处理器,实现介质访问的控制与处理;第二个用于理器,实现介质访问的控制与处理;第二个用于完成第完成第36层的功能,称为网络处理器,进行层的功能,称为网络处理器,进行网络变量处理的寻址、处理、诊断、路径选择、网络变量处理的寻址、处理、诊断、路径选择、软件计时、网络管理,并负责网络通信控制、收软件计时、网络管理,并负责网络通信控制、收发数据包等;第三个是应用处理器,执行操作系发数据包等;第三个是应用处理器,执行操作系统服务与用户代码,芯片中还具有存储信息缓冲统服务与用户代码,芯片中还具有存储信息缓冲区区,以实现以实现CPU之间的信息传递,并
4、作为网络缓之间的信息传递,并作为网络缓冲区和应用缓冲区。冲区和应用缓冲区。二、二、LonWorks应用应用 LonWorksLonWorks被广泛应用在楼宇自动化、家被广泛应用在楼宇自动化、家庭自动化、保安系统、办公设备、运输设备、庭自动化、保安系统、办公设备、运输设备、工业过程控制等行业。为了支持工业过程控制等行业。为了支持LonWorksLonWorks与其它协议和网络之间的互连与互操作与其它协议和网络之间的互连与互操作,该该公司正在开发各种网关公司正在开发各种网关,以便将以便将LonWorksLonWorks与与以太网、以太网、FFFF、ModebusModebus、DeviceNetD
5、eviceNet、ProfibusProfibus、SerplexSerplex等互连为系统。另外等互连为系统。另外,在在开发智能通信接口、智能传感器方面开发智能通信接口、智能传感器方面 ,LonWorksLonWorks神经元芯片也具有独特的优势。神经元芯片也具有独特的优势。网关就是一个网络连接到另一个网络的网关就是一个网络连接到另一个网络的“关口关口”,网间连接器、协议转换器。,网间连接器、协议转换器。一、一、LonTalk协议简介协议简介 所有所有LonWorks设备之间的相互通讯都设备之间的相互通讯都采用了一种称为采用了一种称为LonTalk的底层协议,它固的底层协议,它固化在每一个化
6、在每一个LonWorks设备的神经元芯片设备的神经元芯片(3120或或3150两种系列)中或片外存储器两种系列)中或片外存储器中。采用神经元芯片的网络节点含有中。采用神经元芯片的网络节点含有LonTalk协议固件,使网络节点可以可靠地协议固件,使网络节点可以可靠地通信。通信。1.LonTalk协议特点协议特点1)采用分级编址方式,即域、子网和节点)采用分级编址方式,即域、子网和节点地址。地址。2)支持多种通信介质。)支持多种通信介质。3)支持多点通信,互操作性强。)支持多点通信,互操作性强。4)发送的报文是很短的数据。)发送的报文是很短的数据。5)网络节点是低成本、低维护的单片机。)网络节点是
7、低成本、低维护的单片机。层层号号OSI层层次次标准服务标准服务LON提供的服务提供的服务处理器处理器7应用层应用层 网络应用网络应用定义标准网络变量类型定义标准网络变量类型应用处理器应用处理器6表示层表示层 数据表示数据表示网络变量、外部帧传送网络变量、外部帧传送网络处理器网络处理器5会话层会话层 远程操作远程操作请求请求/响应、认证、网络响应、认证、网络管理管理网络处理器网络处理器4传送层传送层端对端的可靠端对端的可靠传输传输应答、非应答、点对点、应答、非应答、点对点、广播、认证等广播、认证等网络处理器网络处理器3网络层网络层 目的地址寻址目的地址寻址地址、路由地址、路由网络处理器网络处理器
8、2链路层链路层介质访问和数介质访问和数据组帧据组帧帧结构、数据解码、帧结构、数据解码、CRC差错检测预测、差错检测预测、CSMA磁撞回避、选择优磁撞回避、选择优先级、碰撞检测先级、碰撞检测MAC处理器处理器1物理层物理层 电气连接电气连接介质、电气接口介质、电气接口MAC处理器处理器2.LonTalk的七层协议的七层协议1.物理层物理层 LonTalk协议在物理层支持多种通信介质,为了适应协议在物理层支持多种通信介质,为了适应不同的通信介质而支持不同的数据不同的通信介质而支持不同的数据解解码和编码。例如,通码和编码。例如,通常双绞线使用差分曼彻斯特编码;电力线使用扩频;无线常双绞线使用差分曼彻
9、斯特编码;电力线使用扩频;无线通信使用频移健控(通信使用频移健控(FSK)。)。依据通信介质的不同,具有依据通信介质的不同,具有300bpsl.25Mbps的通信速率的通信速率,当通信速率最高达当通信速率最高达1.25Mbits时,通信距离为时,通信距离为130m;对;对78kbits的双绞线的双绞线,直接通信距离汪达直接通信距离汪达2700m。2.链路层链路层 MAC子层:介质访问控制子层:介质访问控制 LLC子层:帧结构、数据解码、子层:帧结构、数据解码、CRC错误检查错误检查 二、二、LonTalk各层协议及功能各层协议及功能 3.网络层网络层 在网络层,在网络层,LonTalk协议提供
10、给用户一个简单的通信协议提供给用户一个简单的通信接口,定义了如何接收、发送、响应等,在网络管理上有接口,定义了如何接收、发送、响应等,在网络管理上有网络地址分配、出错处理、网络认证、流量控制,路由器网络地址分配、出错处理、网络认证、流量控制,路由器的机制也是在这一层实现的。的机制也是在这一层实现的。4.传输层和会话层传输层和会话层 LonTalk协议的核心部分是传输层和会话层。传输层协议的核心部分是传输层和会话层。传输层管理着报文执行的顺序、报文的二次检测,传输层是未连管理着报文执行的顺序、报文的二次检测,传输层是未连接的,它提供一对一节点、一对多节点的可靠传输。接的,它提供一对一节点、一对多
11、节点的可靠传输。会话会话层主要提供了请求层主要提供了请求/响应的机制,它通过节点的连接,来进响应的机制,它通过节点的连接,来进行远程服务,因此使用该机制可以遥控实现远端节点的过行远程服务,因此使用该机制可以遥控实现远端节点的过程建立。程建立。5.表示层和应用层表示层和应用层 (l)网络变量的服务()网络变量的服务(2)显示报文服务()显示报文服务(3)网络管)网络管理的服务(理的服务(4)网络跟踪的服务()网络跟踪的服务(5)外来帧传输的服务)外来帧传输的服务第三节 神经元芯片 硬件结构图硬件结构图 A15A0R/WEMC143150D0D7CPLD32K8EEPROM2K8双口RAM收发器F
12、FT10AAT89C55D0D7PORTL8019SA0SA1993C46SPI隔离变压器RJ45 工业以太网RDWRIORIOWD0D7D0D7 LonWorks现场总线RDWR74LS373PO P262256D0D7A0A7A8A15A0A15 LON-Ethernet网络接口作为一个特殊的网络节点,网络接口作为一个特殊的网络节点,应能与应能与LonWorks总线上所有分布在现场的智能节点总线上所有分布在现场的智能节点进行对等的数据通信,起到进行对等的数据通信,起到“上传下达上传下达”的桥梁作用。的桥梁作用。当现场有数据送到网上后,网络接口要负责把所当现场有数据送到网上后,网络接口要负责
13、把所有发送给它的信息接收下来,并立即转发到以太网上有发送给它的信息接收下来,并立即转发到以太网上进行监视和处理;当以太网有监控命令或所设参数需进行监视和处理;当以太网有监控命令或所设参数需要下达时,网络接口也应实现转发功能,及时准确地要下达时,网络接口也应实现转发功能,及时准确地将以太网的信息发送给分布在现场的各个智能节点。将以太网的信息发送给分布在现场的各个智能节点。同时,为减轻以太网的部分数据处理任务,提高系统同时,为减轻以太网的部分数据处理任务,提高系统实时性,网络接口也应提供对部分通信数据的打包、实时性,网络接口也应提供对部分通信数据的打包、拆包和整理等功能。拆包和整理等功能。1)1)
14、单片机单片机AT89C55(作为(作为网络处理MCU),以,以及及74LS373、62256等外围器件,构成以太网控等外围器件,构成以太网控制单元,负责制单元,负责TCP/IP协议的实现以及数据交换协议的实现以及数据交换的处理的处理 2)MC143150神经元芯片(神经元芯片(作为LonWorks网络的通信MCU)、外围存储器和收发器,构成、外围存储器和收发器,构成LonWorks现场总线控制单元,负责收发现场总线控制单元,负责收发LonWorks报文,并实现对双口报文,并实现对双口RAM的寻址和的寻址和数据访问数据访问3)3)RTL8019ASRTL8019AS及其外围器件及其外围器件(如隔
15、离变压器、如隔离变压器、RJ45)RJ45),支持以太网数据通信的部分协议和物理接口支持以太网数据通信的部分协议和物理接口 4)4)可编程逻辑器件可编程逻辑器件CPLD,负责,负责MC143150和和AT89C55两个两个MCU的地址译码和读写的地址译码和读写信号的转换信号的转换 5)5)双口双口RAM,作为两个处理器交换数据的,作为两个处理器交换数据的缓冲区缓冲区 采用可编程逻辑器件采用可编程逻辑器件CPLD,可以实,可以实现地址译码和读写信号转换的功能,灵活现地址译码和读写信号转换的功能,灵活性强,可以简化电路的设计。性强,可以简化电路的设计。地址的选择地址的选择RAM62256:单片机:
16、单片机A15接其片选,接其片选,A14A0接其接其A14A0,故,故62256的的32K地址空间编址为地址空间编址为0000H7FFFH。以太网卡以太网卡RTL8019AS:A15接其接其SA9,A14接接其其SA8,A4A0接其接其SA4SA0,其,其32个字节个字节的地址编址为的地址编址为8000H801FH。双口双口RAMIDT7132:A15和和A14经经CPLD译码后,译码后,接其片选,其接其片选,其2K字节的地址编址为:字节的地址编址为:F000HF7FFH。(1)嵌入式)嵌入式TCP/IP网络协议的实现网络协议的实现 由于由于LonWorks接入以太网只是一个通信手段,接入以太网
17、只是一个通信手段,主要用于监控,传输二进制数据,因此主要用于监控,传输二进制数据,因此ISOISO七层结七层结构不必每层都有。可按如下原则选择:构不必每层都有。可按如下原则选择:1)1)应用层满足系统要求;应用层满足系统要求;2)2)省去会话层和表示层;省去会话层和表示层;3)3)传输层采用相对简单的传输层采用相对简单的UDP协议,网络层当然要用协议,网络层当然要用IP协议;协议;4)4)物理层和数据链路层因具体的物理网络选为物理层和数据链路层因具体的物理网络选为I IEEE802.3 5)5)如要考虑传输错误的处理,还可简单的配上如要考虑传输错误的处理,还可简单的配上ICMP协议,保证数据的
18、可靠传输协议,保证数据的可靠传输 应用程序UDP协议IP协议ICMP协议ARP协议IEEE802.3协议 发送部分软件框图发送部分软件框图 应用层产生的待传送数据构造UDP帧数据构造IP帧数据构造IEEE802.3帧数据启动NIC芯片发送到物理传输介质上 发送部分首先在应发送部分首先在应用层产生待传送的数据,用层产生待传送的数据,然后构造然后构造UDP帧数据和帧数据和IP帧数据,然后构成符帧数据,然后构成符合合IEEE802.3帧数据,帧数据,最后启动最后启动NIC芯片发送芯片发送到物理传输介质上到物理传输介质上。接收部分软件接收部分软件 接收部分首先读取IEEE802.3帧数据,然后进行对数
19、据包的解包,并通过判断数据包的类型,转入不同的处理子程序。其软件框图如下图所示。从NIC读取IEEE802.3帧数据ARP or IP?包正确否?此包是否发给自己此包是否完整接收缓冲区满否?放入接收缓冲区接收到齐否?返回返回ARP请求 or ARP响应?作出响应的ARP响应返回UDP or ICMP?UDP包是否正确解析命令返回IPARPYNYNNYYNNYUDPICMPYN请求响应二、神经元芯片二、神经元芯片 神经元芯片技术和神经元芯片技术和LonTalk协议是协议是LonWorks技术的核心,技术的核心,LonTalk协议是固化在神经元芯片中的。协议是固化在神经元芯片中的。Neuron芯片
20、将通信协议和控制用微处理器有效地集成在一芯片将通信协议和控制用微处理器有效地集成在一起,实现通信、控制、调度和起,实现通信、控制、调度和I/O等功能。等功能。1、Neuron芯片的基本组成芯片的基本组成 Neuron芯片作为一种多处理器结构的神经元芯芯片作为一种多处理器结构的神经元芯片,有着完整的系统资源,其内部集成有三个片,有着完整的系统资源,其内部集成有三个CPU,最高工作频率可达最高工作频率可达10MHz。它设置有。它设置有11编程输入、输编程输入、输出引脚(出引脚(IO0IO10),编程方法多达),编程方法多达34种,方便了种,方便了实现应用。片内设有实现应用。片内设有EEPROM和和
21、RAM,支持有外部,支持有外部扩展多种存储器的接口,最大存储空间允许有扩展多种存储器的接口,最大存储空间允许有64KB。内部含有两个内部含有两个16位定时器位定时器/计数器,能够由固件产生计数器,能够由固件产生15个软件定时器。个软件定时器。Neuron芯片的长处还在于它的网络通芯片的长处还在于它的网络通信功能,引出的五个通信引脚(信功能,引出的五个通信引脚(CP0CP4)提供了)提供了单端、差分和专用模式等三种网络通信方式。单端、差分和专用模式等三种网络通信方式。(1)处理器单元)处理器单元 Neuron芯片集成有三个处理器,其中一个用于执行用户编写芯片集成有三个处理器,其中一个用于执行用户
22、编写的应用程序,另外两个完成网络任务。图示意了的应用程序,另外两个完成网络任务。图示意了Neuron芯片内三个处芯片内三个处理器的功能分配及与内部共享存储器区域之间的关系。理器的功能分配及与内部共享存储器区域之间的关系。1)MAC处理器是媒体访问控制处理器。它处理处理器是媒体访问控制处理器。它处理OSI七层网络协议七层网络协议中的中的1,2层,主要包括驱动通信子系统硬件以及执行冲突回避算法等。层,主要包括驱动通信子系统硬件以及执行冲突回避算法等。MAC处理器使用位于共享存储器中的网络缓冲区与网络处理器进行通处理器使用位于共享存储器中的网络缓冲区与网络处理器进行通信。信。2)网络处理器实现网络协
23、议中的)网络处理器实现网络协议中的36层。它实现网络变量处理、层。它实现网络变量处理、寻址、事务处理、文电鉴别、软件定时器、网络管理和路由等功能。寻址、事务处理、文电鉴别、软件定时器、网络管理和路由等功能。网络处理器通过共享存储器中的网络缓冲区与网络处理器通过共享存储器中的网络缓冲区与MAC处理器通信,并采处理器通信,并采用应用缓冲区与应用处理器进行通信。应用缓冲区也是设置在共享存用应用缓冲区与应用处理器进行通信。应用缓冲区也是设置在共享存储器中的。对缓冲区的访问都用硬件信号灯来协调,以便在更新共享储器中的。对缓冲区的访问都用硬件信号灯来协调,以便在更新共享数据时消除竞争。数据时消除竞争。3)
24、应用处理器一方面执行用户编写的应用程序代码,另一方面执)应用处理器一方面执行用户编写的应用程序代码,另一方面执行由用户代码所调用的操作系统服务。大多数应用程序均可采用行由用户代码所调用的操作系统服务。大多数应用程序均可采用Neuron C语言来编制,使编程工作真正从繁琐的汇编语言中解脱出来语言来编制,使编程工作真正从繁琐的汇编语言中解脱出来(2)存储器分配)存储器分配 MC143150的外扩存储器接口总线中,有的外扩存储器接口总线中,有8位双向数据总线、位双向数据总线、16位处位处理器驱动的地址总线以及用于外部存储器存取访问的两个接口信号线理器驱动的地址总线以及用于外部存储器存取访问的两个接口
25、信号线R/W和和E。总的地址空间为。总的地址空间为64KB,其中有,其中有6KB的地址空间保留在芯片内,剩余的地址空间保留在芯片内,剩余的的58KB的地址空间供外扩存储器使用。在外扩存储器中,通常用的地址空间供外扩存储器使用。在外扩存储器中,通常用16KB存存放固件,其余的放固件,其余的42KB用于存放用户程序和数据信息。用于存放用户程序和数据信息。(3)应用)应用I/O口口 具有具有11个引脚的个引脚的I/O接口提供有接口提供有34种编程方式,另外,种编程方式,另外,2个个16位定时位定时器器/计数器可用于频率和定时计数器可用于频率和定时I/O。由固件产生的。由固件产生的15种软件定时器并不
26、占用应种软件定时器并不占用应用处理器的运算时间,而由完成网络功能的处理器实现。因此,用户可直用处理器的运算时间,而由完成网络功能的处理器实现。因此,用户可直接使用软件定时器,不必考虑其具体操作。接使用软件定时器,不必考虑其具体操作。Neuron芯片提供的芯片提供的11个个I/O引脚(引脚(IO0IO10)可通过编程设定为)可通过编程设定为34种不同的种不同的I/O对象,支持电平、脉冲、频率、编码等各种信号模式,有直对象,支持电平、脉冲、频率、编码等各种信号模式,有直接接I/O对象、定时器对象、定时器/计数器计数器I/O对象、串行对象、串行I/O对象、并行对象、并行I/O对象等供用户选对象等供用
27、户选择。它们与集成的硬件和固件一起可用于连接马达、阀门、显示驱动器、择。它们与集成的硬件和固件一起可用于连接马达、阀门、显示驱动器、A/D转换器、压力传感器、热敏电阻、开关量、继电器、可控硅、转速计、转换器、压力传感器、热敏电阻、开关量、继电器、可控硅、转速计、其他处理器和调制解调器等,方便了实际应用。表其他处理器和调制解调器等,方便了实际应用。表1列举了所有列举了所有I/O对象的对象的基本类型。基本类型。I/O对象类型注 释Bit input/output位输入/输出Bitshift input/output位称输入/输出Byte input/output字节输入/输出Dualslope i
28、nput双积分输入Edgedivide output脉冲沿分离输出Edgelog input边沿跳变时间间隔序列输入Frequency output频率输出I2C input/outputI2C输入/输出Infrared input远红外输入Leveldetect input电平监测输入Magcard input磁卡编码输入Magtrackl input经录入1输入Muxbus input/output多总线输入/输出Neurowire input/output神经元接口输入/输出Nibble input/output半字节输入/输出Oneshot output单稳输出Ontime input
29、逻辑电持续时间输入Parallel input/output并行输入/输出Preiod input周期输入Pulsecount input脉冲计数输入Pulsecount output脉冲计数输出Pulsewidth output脉宽输出Quadrature input位置码盘输入Serial input/output串行输入/输出Totalcount input累加计数输入Touch input/output触点输入/输出Triac output触发输出Triggeredcount output计数触发输出Wiegand input维甘德输入(4)通信口)通信口由由CP0CP4组成的通信接口
30、,允许工作在单端或差组成的通信接口,允许工作在单端或差分模式,既可直接驱动,也可外接变压器驱动或外接分模式,既可直接驱动,也可外接变压器驱动或外接485总线驱动。传输速率的选择范围为总线驱动。传输速率的选择范围为0.6kb/s1.2Mb/s。(5)附加功能)附加功能二、二、Neuron固件固件 Neuron芯片的固件主要包括基于芯片的固件主要包括基于OSI参考模型的参考模型的LonTalk协议、协议、I/O驱动程序、事件驱动的多任务调试程度以驱动程序、事件驱动的多任务调试程度以及函数库等部分。其中的及函数库等部分。其中的LonTalk协议具有通用性,支持多协议具有通用性,支持多种媒体和多种网络拓扑结构,并提供多种服务。种媒体和多种网络拓扑结构,并提供多种服务。LonTalk协协议可使控制信息在各种介质中可靠地传输。上表列出了议可使控制信息在各种介质中可靠地传输。上表列出了LonTalk与与OSI 7层协议之间的比较,以及与层协议之间的比较,以及与Neuron芯片中芯片中三个处理器之间的关系。三个处理器之间的关系。