《现场总线 学习.pptx》由会员分享,可在线阅读,更多相关《现场总线 学习.pptx(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、8.2.4 通信端口神经元芯片支持多种通信介质,应用最广泛的是双绞线,其次电力线,另外还有无线(RF)、红外、光纤、同轴电缆等。几种典型的收发器类型如表8.4所示。收发器类型波特率RS-485300bps1.25Mbps自由拓扑型和总线型双绞线带变压器(可选通过双绞线供48V电源)78Kbps/1.25Mbps电力线(载波)5.4Kbps电力线(扩频)10Kbps无线(300MHz)1200bps无线(450MHz)4800bps无线(900MHz)39Kbps红外78Kbps光纤1.25Mbps同轴电缆1.25Mbps第1页/共60页神经元芯片通信端口为适合不同的通信介质,可以将五个通信引脚
2、配置为三种不同的接口模式,通信引脚配置如表8.5所示。表8.5 通信管脚的不同配置引脚驱动电流/mA差 分单 端专用模式CP01.4RX+(in)RX(in)RX(in)CP11.4RX(in)TX(out)TX(out)CP240TX+(out)TX Enable(out)Bit Clock(out)CP340TX(out)Sleep(out)Sleep(out)or Wake Up(in)CP41.4Cdet(in)Cdet(in)Frame Clock(out)RX接收接收 TX发送发送 Cdet碰撞侦测碰撞侦测8.2.4 通信端口第2页/共60页8.2.5 时钟系统神经元芯片中包括一个
3、分频器,通过外部晶振提供时钟,输入时钟可选范围:625kHz40MHz。第3页/共60页8.2.6 睡眠-唤醒机制在睡眠状态下,系统时钟、程序时钟和计数器关闭,但使用的状态信息被保留,当有如下输入时,正常的系统操作被唤醒。1、I/O管脚的输入(可屏蔽)(IO4IO7)2、ServicePin信号3、通信端口(可屏蔽)4、差分模式CP0或CP15、单端模式CP06、专用模式CP3第4页/共60页8.2.7 Service Pin主要用于节点配置、安装和维护时。电路图如图8.11。输出引脚时:LED灯亮表示该节点没有应用代码或芯片已坏。LED以1/2Hz的频率闪烁表示该节点处于未配置状态。输入引脚
4、时:输入低电平使神经元芯片传送一个48位的NeuronID网络管理信息。第5页/共60页8.2.8 Watchdog 定时器神经元芯片为防止软件失效和存储器错误,包含三个Watchdog定时器(每个CPU一个)。若应用软件和系统没有定时地刷新这些Watchdog定时器,则整个神经元芯片将自动复位。Watchdog定时器的复位周期依赖于神经元芯片输入时钟的频率。当神经元芯片处于睡眠状态时,所有的Watchdog定时器被禁止。第6页/共60页8.3 通信LonWorks网络的一个重要特点:支持多种通信介质。根据不同环境,可以选择不同的收发器和介质。8.3.1双绞线收发器1.直接驱动使用Neuron
5、芯片的通信端口作为收发器,外接电阻和二极管以限流和ESD保护,如图8.12所示。ESD:Electro-Static discharge “静电释放静电释放”第7页/共60页通信速率最大可达1.25Mbps,此时网络上最多可达64个节点,传输距离最远为30m。差分模式Tx+Tx-Rx+Rx-第8页/共60页2.EIA-485通信速率为39Kbps,能支持32个节点,传输距离最远可达660m,共模电压7V+12V。单端模式第9页/共60页3.变压器耦合对于需要高性能、高隔离度、高抗干扰能力的应用最好使用变压器耦合接口。如表8.6给出采用变压器隔离方式的几种收发器。型号通信速率拓扑结构节点数距离/
6、mFT3120FT315078Kbps自由拓扑64自由结构500;双端总线2700FTT-10A78Kbps自由拓扑64自由结构500;双端总线2700;可由中继器延长LPT-1078Kbps自由拓扑32100mA6450mA2825mA自由结构500;双端总线2200;可由中继器延长第10页/共60页(1)FTT-10A收发器包含一个隔离变压器、一个差分曼彻斯特编码通信收发器和信号处理器件。表8.7给出了其管脚定义。第11页/共60页FTT-10A和神经元芯片互联的框图。第12页/共60页(2)电源线收发器LPT-10所谓电源线,指的是通信线和电源线共用一对双绞线。一方面,所有节点通过一个4
7、8VDC中央电源供电;另一方面,可以节约一对双绞线。可以与FFT-10A及FTT-10兼容。第13页/共60页(3)FT3120和FT3150智能收发器将神经元芯片3120及3150的网络处理核心与自由拓扑的收发器合成在一起。其结构框图见图8.16。第14页/共60页基于FT3120或FT3150智能收发器的节点示意图。第15页/共60页8.3.2 电力线收发器电力线收发器是将通信数据调制成载波信号或扩频信号,通过耦合器耦合到220V或其他交直流电力线上。典型电力线收发器结构框图如图8.18所示。第16页/共60页当Neuron芯片与电力线收发器接口时,其通信端口应工作在单端工作方式,通信速率
8、最高可达10kbps。Echelon提供有一组常用电力收发器,如表8.8所示。收发器收发器波特率波特率/(Kbps)拓扑拓扑带宽带宽/kHz 节点数节点数方式方式 PLT-10A10自由拓扑自由拓扑100450 32385扩频扩频PLT-225.4自由拓扑自由拓扑125140 32385载波载波 PLT-302自由拓扑自由拓扑990 32385载波载波表表8.8 38.8 3种电力线收发器种电力线收发器第17页/共60页8.3.3 其他类型收发器无线收发器、光纤收发器、红外收发器甚至用户自定义的收发器等。第18页/共60页思考题:1、神经元芯片通信端口为适合不同的通信介质,可以将五个通信引脚配
9、置为哪三种接口模式?2、图8.11ServicePin电路中ServicePin做为输入和输出引脚时表示的作用是什么?3、双绞线收发器主要有哪3类收发器?4、变压器耦合的收发器中应用最为广泛的是什么收发器?5、电力线收发器主要有哪两种类型?第19页/共60页8.4 LonWorks通信协议LonTalk一、LonTalk协议概述1.协议定义该协议遵循国际标准化组织(ISO)所定义的开放系统互连(OSI)网络协议七层参考模型,能支持网络中的灵活寻址和多通信信道。该协议提供一套通信服务,使装置中的应用程序能在网上对其他装置发送和接收报文而无需知道网络拓扑、名称、地址或其他装置的功能。该协议能有选择
10、地提供端到端的报文确认、报文认证和优先级发送等功能。LonTalk协议采用的是一种改进的“载波监听多路访问”(CSMA)碰撞避免算法。第20页/共60页发送的报文都是很短的数据(通常几个到几十个字节)。通信带宽不高(几Kbps到2Mbps)。网络上的节点往往是低成本、低维护的单片机。多节点,多通信介质。可靠性高。实时性高。2、LonTalk协议的特点协议的特点第21页/共60页3、术语解释基本通道:数据包的物理传输介质S&F中继器(store&forwardrepeater)传输一个通道或两个通道的所有数据网桥(bridge)连接两个通道(x和y);传输在一个域中的从x到y,或从y到x的所有数
11、据子网(subnet)一系列节点的集合(节点数目128)路由器(router)传输从一个子网到另一个子网的数据网关(gateway)传输从一个域到另一个域的数据第22页/共60页PDU(protocoldataunit)即协议数据单元LonTalk协议的分层符合OSI的标准。各层数据单元的标准接口,如图8.23所示。第23页/共60页LonTalk的PDU包括以下8部分:(1)MPDU:MAC层协议数据单元,数据称为帧(Frame)。(2)LPDU:链路层协议数据单元,数据称为帧(Frame)。(3)NPDU:网络层协议数据单元,数据称为报文(packet)。(4)TPDU:传输层协议数据单元
12、,数据称为消息应答(messageACK)。(5)SPDU:会话层协议数据单元,也称为请求响应(request/response)。(6)NMPDU:网络管理协议数据单元。(7)DPDU:网络检测协议数据单元。(8)APDU:应用层协议数据单元。第24页/共60页二.LonTalk 七层协议LonTalk协议所提供的服务与7层OSI参考模型之间的对应关系,以及各层与三个CPU之间的分配关系如表8.10所示。第25页/共60页LonTalk各层协议及功能(1)物理层LonTalk协议支持一种或多种不同传输介质构成的网络。传输介质:双绞线(twisted-pair)、电力线(powerline)、
13、无线射频(radio-frequency)、红外线(infrared)、同轴电缆(coaxialcable)和光纤(fiber),甚至是用户自定义的通信介质。第26页/共60页不同介质的传输距离、传输速率、网络拓扑结构以及所使用的收发器均不相同,为支持各种传输介质,物理层协议支持多种通信协议。收发器是神经元芯片与信道的接口,LonTalk协议支持在通信介质上的硬件碰撞检测,可自动地将正在发生碰撞的报文取消,重新再发。冲突检测的具体运行随通信端口模式而不同。第27页/共60页(2)链路层为使数据帧传输独立于所采用的物理介质和介质访问的控制方法,将数据链路层分为两个子层:逻辑链路控制LLC(Log
14、icalLinkControl)和介质访问控制MAC。LLC与介质无关,MAC则依赖于介质。第28页/共60页1)MAC子层MAC协议是确定设备安全地传送数据包,减少冲突的控制算法。MAC协议是CSMA(载波监听多路访问技术)协议的改进:可预测的P坚持CSMA(PredictivePpresistentCSMA)。优先级可预测的P坚持CSMA第29页/共60页可预测P-坚持CSMA的碰撞避免算法这是一改进的CSMA(载波监听多路访问)。具体是在一节点要发布报文时,它以动态的概率给出随机时间片的数量。在网络空闲时,所有节点随机给的时间片数为1至16个;当预测到网络上负载加重时(由一算法计算),节
15、点分布的时间片数将可调至设定数(1至1008个)内。第30页/共60页优先级可预测的P坚持CSMALonTalk协议提供一个可选优先级的机制,能缩短重要数据包的响应时间。LonTalk协议允许用户在信道上指定优先级时间片(priorityslot),专供优先级节点使用。优先级时间片为0127。在发送过程中,优先级数据报文将在时间片里将数据报文发送出去。第31页/共60页LonWorks的MAC子层的优点:支持多介质的通信,支持低速率的网络,可以在重负载的情况下保持网络性能,保证在过载情况下不会因为冲突而降低吞吐量。当使用支持硬件冲突检测的传输介质(如双绞线)时,一旦收发器检测到冲突,LonTa
16、lk协议就可以有选择地取消报文的发送,这使节点可以马上重新发送并使冲突不再重发,有效地避免了碰撞。第32页/共60页2)链路层(逻辑链路控制)提供子网内LPDU顺序的无响应传输。提供错误检测,但不提供错误恢复,当一帧数据CRC校验出错时,该帧被丢掉。CRC校验采用的是标准CRC-16编码即多项式是X16+X12+X5+1。第33页/共60页(3)网络层在网络层,LonTalk协议提供给用户一个简单的通信接口,定义了如何接收、发送、响应等,在网络管理上有网络地址分配、出错处理、网络认证、流量控制、路由器机制。1)LonTalk协议的网络地址结构2)寻址格式第34页/共60页LonTalk寻址方式
17、(1)LonTalk协议定义了一种分层式的逻辑寻址方式,最上面一层是域(domain)。域的结构可以保证在不同的域中通信是彼此独立的。(2)寻址的第二层是子网(subnet)。每个域可有最多255个子网。一个子网可以是一个或多个通道上的逻辑分组。智能路由器在子网层运行,该路由器可知道其两侧分别有哪些子网,并把数据包传输给相应的子网。第35页/共60页(3)寻址的第三层是节点(node)。每个子网可有最多127个节点。一个域里可有最多255127=32385个节点。1个节点可属于最多2个域,节点可用作两个域之间的网关,还可把其输出的数据发送到两个不同的域中。协议也支持组地址,以组合某些节点在若干
18、组内。在一个域里,可指定最多255个组;一个节点可隶属于15个组。另外,每个节点在制造过程中都被分配唯一的48位NeuronID,其主要作用是在安装和配置过程中用作网络地址,也可作为唯一的产品序列号被应用程序读和使用。第36页/共60页(4)LonTalk协议的传输层和会话层LonTalk协议的核心部分是传输层和会话层。一个传输控制子层管理着报文执行的顺序、报文的二次检测。传输层是无连接的,它提供1对1节点、1对多节点的可靠传输。信息认证(authentication)也是在这一层实现的。第37页/共60页会话层主要提供了请求/响应的机制,它通过节点的连接,来进行远程数据服务(remotese
19、rvers),因此使用该机制可以遥控实现远端节点的过程建立。LonTalk协议的网络功能虽然是在应用层来完成的,但实际上也是由提供会话层的请求应答机制来完成的。第38页/共60页LonTalk 协议提供四种类型的报文服务:应答方式(acknowledge)请求响应方式(request/response)非应答重发方式(unacknowledgedrepeated)非应答方式(unacknowledged)这些报文服务除请求响应是在会话层实现外,其他三种都在传输层实现。第39页/共60页LonTalk协议可提供4种基本类型的报文服务。分别介绍如下:(1)应答(acknowledge,ACKD)或
20、称端对端(endtoend)的应答即一个报文被发送给一个节点或一组节点,并且期望得到来自每个接收节点的应答。如果没有接收到所有接收报文的节点的应答,则发送节点超时并重发。重发次数和超时都可选择设定。应答是由网络CPU生成的,应用程序不干预。报文服务第40页/共60页(2)请求/响应(request/response,REQUEST)即一个报文被发送给一个节点或一组节点,并且期望得到来自每个接收节点的响应。在生成响应之前,由接收节点上的应用程序对输入报文进行处理。重发和超时的选项与应答服务是相同的。响应中可以包括数据,因此这一服务尤其适用于远程过程调用或客户/服务器(client/server)
21、应用程序。第41页/共60页(3)非应答重发(unacknowledgedrepeated,UNACK_RPT)即一个报文被多次发送给一个节点或一组节点,并且不期望得到响应。适用于节点较多的分组广播发送方式,避免因节点响应或应答而使网络过载。(4)非应答(unacknowledged,UNACKD)即一个报文被发送给一个节点或一组节点,且只被发送一次,并且不期望得到响应。这一类型的服务特别适用于对可靠性要求不高,但需要速度较高、报文长度较长的报文。第42页/共60页认证(Authentication)LonTalk协议支持报文认证,接收报文的节点在接收报文时判断是否是经发送节点认证的报文。认证
22、是通过网络安装时把48位密钥分配给节点实现的,每个域分配一个密钥。该密钥与节点的NeuronID不同。第43页/共60页(5)LonTalk协议的表示层和应用层LonTalk协议采用面向数据的应用协议。在这种方式下,节点间以标准工程单位或其它预定义的单位交换诸如温度、压力、状态和文字串等应用数据,而命令语句封装在接收节点的应用程序中且不是将命令在网上传送。以这种方式,同一工程量可送到多个节点,然而每个节点对该数据有不同的应用程序。第44页/共60页LonTalk协议的表示层和应用层提供五类服务:1)网络变量的服务2)显示报文的服务3)网络管理的服务4)网络跟踪的服务5)外来帧传输的服务第45页
23、/共60页网络管理和网络诊断LonTalk协议的网络管理和网络诊断提供以下4类服务。(1)地址分配(2)节点查询(3)节点测试(4)设置路由器的配置表网络管理和诊断服务由两种特殊类型的报文提供,这两种类型的报文会被每个LonWorks节点所处理。第46页/共60页数据解释LonTalk协议有专门的报文代码用于传输外来帧。一个报文数据包可内嵌最多228个字节的数据,并可象任何其它报文那样被传输。LonTalk协议对外来帧没有特殊的处理,外来帧被认为是一个简单的字节数组。应用程序可通过任意方式对数据进行解释。第47页/共60页8.5 面向对象的编程语言Neuron CNeuronC是专门为Neur
24、on芯片设计的编程语言,它是从ANSIC派生出来的,且为适用于LON分布控制应用而进行了优化及增强。NeuronC支持的数据类型有:整型、字符型、布尔型、枚举类型、数组类型、指针类型、结构类型、联合类型和定义类型(typedef)等。但是NeuronC不支持ANSIC的标准运行库的一些功能,如浮点运算、文件I/O等。NeuronC有自己的扩展运行库和语法。这些功能包括:定时器、网络变量、显示报文、多任务调度和其他多种功能等。第48页/共60页8.5.1 定时器在一个NeuronC程序中,最多可定义15个软件定时器对象:毫秒定时器(164000ms)或者秒定时器(165535s)。这些软件定时器
25、在网络CPU运行,是与神经元芯片的两个硬件定时器/计数器分开的。第49页/共60页8.5.2 网络变量(network variable,NV)网络变量的概念使网络通信采用了面向对象的设计方法,使复杂的网络通信设计简化为参数设置,用户不需处理低层方面的内容。从而方便了以信息为基础而不是以指令为基础的控制系统的设计。1.网络变量的类型和特点网络变量分为输入NV和输出NV。networkinputnv_led_state=0;networkoutputnv_switch_state=0;网络变量可以是任何数据项,它们是期望从网上其他装置得到(输入NV)或期望提供给网上其它装置的(输出NV)一个特定
26、装置应用程序。第50页/共60页2.如何利用网络变量实现网络通信?定义的网络变量,可通过“捆绑”即绑定,建立节点网络变量间的联系,从而实现数据的传输,应用程序不必考虑发送和接收的问题。第51页/共60页3.如何实现网络变量之间的绑定?绑定由网络管理工具(可以是LonBuilder,LonMaker和LNS)执行,其信息位于Neuron芯片的EEPROM中;对简单的网络,节点也可自己更新网络变量的绑定关系。4.网络变量的数字类型和最大长度?网络变量的数字类型可以是整型、字符型或结构等类型,但不能是指针类型。每个节点最多可以定义62个网络变量,每个网络变量的最大长度可达31个字节。若某信息多于31
27、个字节,一般使用显示报文。第52页/共60页5.网络变量的优点网络变量的使用极大的简化了分散系统的开发和安装,各个节点可以独立定义,然后简单连接在一起或者断开某几个连接就可以构成新的LonWorks系统。网络变量通过提供给节点明确的网络接口而极大的提高了节点产品的互操作性。第53页/共60页8.5 面向对象的编程语言Neuron CNeuronC是专门为Neuron芯片设计的编程语言,它是从ANSIC派生出来的,且为适用于LON分布控制应用而进行了优化及增强。NeuronC支持的数据类型有:整型、字符型、布尔型、枚举类型、数组类型、指针类型、结构类型、联合类型和定义类型(typedef)等。但
28、是NeuronC不支持ANSIC的标准运行库的一些功能,如浮点运算、文件I/O等。NeuronC有自己的扩展运行库和语法。这些功能包括:定时器、网络变量、显示报文、多任务调度和其他多种功能等。第54页/共60页8.5.3 显示报文NeuronC提供了另外一种机制显式报文来进行数据的传送。显式报文的长度是可变的,并且最长可以是228个字节。所谓显示报文是一个结构变量,分为输出显示报文、输入显示报文、响应输出报文和响应输入报文。typedef enum FALSE,TRUE boolean;typedef enum ACKD,UNACK_RPT,UNACKD,REQUEST service_typ
29、e;structboolean priority_on;/是否有优先级是否有优先级msg_tag tag /报文标签报文标签int code;/报文码报文码int dataMAXDATA /报文数据,长度不超过报文数据,长度不超过228字节字节boolean authenticated;/是否需要认证是否需要认证service_type service;/报文服务类型报文服务类型msg_out_addr dest_addr;/目的站地址目的站地址msg_out;第55页/共60页显示报文使网络操作更为灵活,但在NeuronC编程的过程中,并不提倡使用显示报文进行通信,主要因为显示报文不像网络变
30、量那样容易实现互操作,它的数据格式更依赖于具体的应用。第56页/共60页8.5.4 调度程序NeuronC的任务调度是事件驱动(event-driven)方式。事件通过When()语句来定义,一个When()语句包含一个表达式。事件可以定义优先级以便重要事件优先执行。NeuronC任务调度是非实时的。在NeuronC中共有5类事件:系统级事件、I/O事件、定时器事件、网络变量和显式报文事件、用户自定义事件。第57页/共60页用NeuronC语言进行软件设计一般分为下面几步:1)定义I/O对象。定义何种I/O对象与具体的硬件有关。在定义I/O对象时,还可以设置I/O对象的工作参数以及对其进行初始
31、化。2)定义定时器对象。并不是所有的应用程序都须定义定时器对象,一般定时器对象用于那些周期执行某种操作的情况,或需要进行延时的情况。3)定义网络变量和显式报文。如果要考虑系统的开放性,使用网络变量;如果系统是封闭的,使用显式报文可以提高网络的数据传输能力,改善系统的性能。4)定义任务。任务是NeuronC实现事件驱动的途径。5)完成用户自定义的其他函数。第58页/共60页思考题:1.LonTalk寻址方式有哪些?每个域可有最多有多少个子网?每个子网可有最多有多少个节点?2.LonTalk协议可提供哪几种基本类型的报文服务?3.网络变量和显示报文的最大字节长度是多少?4.NeuronC的任务调度是什么方式?第59页/共60页感谢您的观看!第60页/共60页