欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第十二章CANbus应用层协议全解ppt课件.ppt

    • 资源ID:1419645       资源大小:668.50KB        全文页数:53页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第十二章CANbus应用层协议全解ppt课件.ppt

    共52页,1,第十二章 CAN-bus应用层协议,12.1 CAN-bus应用层协议简介,12.2 常用的CAN-bus应用层协议介绍,12.3 如何购建CAN-bus应用层协议,12.4 基于CAN-bus的iCAN协议,共52页,2,12.1 CAN-bus应用层协议简介,一、基于CAN-bus的通信模型,1、CAN-bus现场总线的应用特点,用CAN-bus构造的网络功能并不复杂;网络节点多为传感器、控制器、执行器等;网络传输的数据量不大;要求较高的实时性和可靠性。,CAN-bus协议参考模型仅仅包含网络通信参考模型的物理层和数据链路层方面的协议,其本身只能保证节点之间数据的及时和可靠地传输。但是各个节点之间的关系和功能则没有定义,只能由应用确定。为了同类应用开发的控制产品具有开放性和可互换性,必须根据应用特点,构造CAN-bus通信的参考模型。,2、基于CAN-bus通信的参考模型,共52页,3,根据CAN-bus总线的应用特点,CAN-bus通信参考模型一般把OSI模型中的其它层有关功能协议全部放在一层定义,这一层一般把它统称为应用层,有些协议的通信模型又把它进一步分为应用层和用户层,如图12-1所示。,总线协议由专用芯片完成,协议定义好后一般由软件完成,共52页,4,3、应用层协议及其主要功能,网络控制与管理;大于8个字节的数据块传输;数据发送的确认;不同的物理节点的编址;帧报文内容及其含义的定义;网络节点的监控,节点故障的诊断和标识;,二、常用CAN-bus应用层协议介绍,1、常用的CAN-bus高层协议,应用层协议就是定义了如何实现应用层功能,满足信息传递要求的具体规范。基于CAN-bus的应用层协议其主要功能为:,DeviceNet协议 制定组织:ODVA;CAL协议 制定组织:CiA;CANOpen协议 制定组织:CiA;CANKingdom协议 制定组织:Kvaser;SDS协议 制定组织:Honeywell;J1939协议 制定组织:SAE,共52页,5,2、CAN-bus标准应用层协议的特点,一个开放的、标准化的CAN-bus高层协议;制定属于特定行业的CAN-bus应用方案;支持不同厂商设备的互用性、可交换性;完善地定义标准设备模型;开放扩充自定义设备的接口;对总线仲裁、数据交换、错误处理有明确的限定。,参考资料或网站:,www.odva.org;www.can-cia.de;,共52页,6,12.3 如何购建CAN-bus应用层协议,一、CAN报文的分配,1报文ID的分配,CAN报文标识ID决定了报文相关的优先权和报文的等待时间,报文标识符分配的方法被认为是基于CAN-bus系统的主要结构元素。在一个网络中,通常只选取一种报文类型,一般情况下,扩展帧ID可以容纳较多的数据和信息。,2CAN报文数据的分配,CAN报文为短帧报文,最多可以传送8个数据字节。在协议中的报文数据部分主要用于传送与功能码相关的参数,以及特定的功能数据。由于在实际应用中需要传送大于8个字节的数据,因此对于报文数据部分的分配需要考虑分段传送的方法。另外,在报文数据部分时要充分利用报文数据区的8字节长度,合理分配特殊的功能码和有效数据,尽量在每帧报文中携带尽可能多的有效数据。,共52页,7,3报文格式的定义,应用层协议的报文格式的定义,实质是对CAN报文的分配规则进行详细地描述,即CAN报文的ID和Data定义。,二、CAN上层网络数据通信的实现,1数据通信模型(数据交换规则),可用命令/响应模型以及生产者和消费者或事件触发模型,如图12-2、12-3所示。,共52页,8,2、数据通信协议(数据交换的基础,规定报文识别和接收的规则),面向节点的协议,在这种协议中,两个或更多节点之间的数据交换是基于对节点寻址实现的。媒介中传输的报文包含目的节点地址,有时也包含源节点地址。另外,有些节点地址具有成组和广播功能。这种协议是连接定位和确认数据通信的基础。显然,这种协议要求所有节点都要有地址。,面向报文的协议,面向报文协议的数据传输是建立在帧或报文标识符的基础之上的。报文通过节点标识符进行传输,而报文本身带有一个唯一的特定标识符(报文标识符)。报文的目的地并不根据标识符进行定义,而是单独由节点来决定是否接收传输的报文。这样一个报文就可能不会被任何节点接收,或者被一个或多个节点所接收。CAN-bus本身具有这个功能,它的上层协议也可以使用这种方法实现数据传输。,共52页,9,三、CAN网络管理,网络管理的主要任务是检测和显示网络的中各节点通信状态,通过协调服务方式控制网络上节点的工作状态。一旦网络通信出现异常,应该能采用适当的方式恢复通信。 一般网络管理可以包括以下两部分:,节点控制,初始化参加分布控制的节点,迫使这些节点处于同步工作状态。,错误控制,在应用层协议中通过规定节点在网络中启动时必须执行的状态图,详细规定各节点的状态切换的规则,通过特定的报文对节点状态进行控制。同时在协议中,采用具体措施对每个节点的通信均进行监控,保证在通信异常时,通过适当的方式能够恢复通信。,共52页,10,四、CAN网络设备建模,在网络中除了定义通信以外,还要求对网络中相似设备的功能类型进行定义,以满足对设备的可交换性的需求。除了设备的功能性描述外,设备模型还必须提供关于设备的版本号、状态、诊断信息、通信和配置参数的描述。,1、设备建模内容,2、设备建模原则,设备类型特点的统一描述,即设备基本框架描述的方法,包括设备功能及标识的描述等;设备必备功能,即特定设备必须具有的功能;设备可选功能,即设备除必备功能以外,可选的功能;扩展性的考虑,即对设备功能可扩展性的考虑。,共52页,11,12.4 基于CAN-bus的iCAN协议,一、iCAN协议的通信参考模型,iCAN应用协议详细地定义了CAN报文中ID以及数据的分配和应用,并定义了设备的IO资源和访问规则,iCAN协议参考模型如图12-4所示。,共52页,12,二、iCAN的报文格式,iCAN协议报文格式定义了iCAN报文的标识符以及数据部分使用原则和功能含义,见表12-1和12-2。,共52页,13,1、iCAN报文标识符的分配,(1)节点编号,在通信报文的标识符中指定了发送节点(源节点SrcMACID)和接收节点(目标节点DestMACID)的编号。源节点和目标节点各有8个ID位,但是它们的最高两位必须为0,取值范围为003F。另外,源地址0 xFF是保留地址,不用;目标地址0 xFF是广播地址。,(2)ACK(C/R),ACK是应用帧类型标志位,占用CAN的ID的1位,为0的应用帧是命令帧,必须响应,假如是广播帧,则无意思;为1的应用帧是响应帧。,共52页,14,(3)FUNC ID,FUNC ID(功能码)占用CAN的ID的4位,用于指示报文所需要实现的功能,接收报文的节点根据报文中的功能码进行相应的处理,功能码的含义见表12-3。,共52页,15,(4)Source ID,Source ID(资源节点地址编号)占用CAN的ID的8位,用于表示节点内部的单元。接收报文的节点根据报文中资源地址标号对设备内部对应的单元进行操作,节点内的资源单元一般只有256个。,2iCAN帧数据部分定义,在iCAN协议中报文的数据部分主要用于传送与功能码相关的参数。帧的数据区,最多可以有8个字节数据;不同位置的字节具有不同的功能,可以分为2个部分,见表12-4。,共52页,16,(1)CAN帧数据第一个字节Byte0(SegFlag),分段代码 (SegFlag)占用CAN数据帧的第一个字节Byte0,用于传输大于7个字节长度的数据,其具体含义见表12-5。SegPolo表示分段标志,占用SegFlag的最高2位;SegNum表示分段编号,占用SegFlag的最低6位,见表12-6。,共52页,17,当传送的数据长度不越过7个字节时,帧数据部分中SegFlag0 x00。当报文分帧传送时,接收节点(目标节点)只在接收完报文全体的最后1帧后才做出响应。采用分段传输时,分段传送的最大报文长度为647448个字节。,共52页,18,(2)Dyte17,报文数据中的字节Bytel7通常作为功能码的参数,在某些特定的帧中, 数据字节Byte1可以具有以下功能:LengthFlag在“读端口”命令中出现,表示需要读出的字节数;ErrID(错误响应码)在错误响应报文中使用,用于说明错误响应的类型(见表12-7);,二、iCAN的报文传输协议,1、iCAN协议通信模式,(1)主从通信模式,点对点方式是主站与一个从站设备进行通信;广播方式是主站发送请求给所有的从站;,在iCAN网络中,主从通信模式用于主站设备对从站设备的配置、管理等数据的传送,也可以用于向从站设备请求或者分配IO数据。,共52页,19,(2)事件触发通信模式,在iCAN协议中也采用事件触发通信模式。在该模式下,从,共52页,20,站设备可以定时循环向主站发送I/O数据,或者在特定状态下向主站上传I/0数据。但是,iCAN网络中的设备不能够同时支持这两种传送模式。,2、iCAN协议报文处理流程,当从站应答主站时,功能码域表明是一个正常的回应还是异常回应(有错误产生)。正常回应时,从站返回原样的功能码;异常回应的时候,功能码为异常功能码(0X0F),同时在响应报文中返回异常代码。,共52页,21,共52页,22,3iCAN报文传输协议,(1) iCAN帧格式,“命令帧”格式:,“正常响应帧”格式:,共52页,23,“出错响应帧”格式:,错误类型代码见表12-7。,(2)iCAN分段帧格式,如果采用分段传输,则第1分段的SegFlag0 x40,最后一个分段的SegFlag0 xC0的值。当报文分帧传送时,接收节点(目标节点)只在接收完报文全体的最后1帧后才做出响应。,4、iCAN报文传输的一般规则,在iCAN通信协议中报文传输遵从“命令/响应”的模式,如图12-12。,共52页,24,(1)MAC ID检测帧,MAC ID检测帧是指命令帧中功能码(FuncID)为0 x07的报文。该报文由任何的从站设备在上电初始化完毕后向网络上发送,任何从站设备都可以检测并决定是否响应,见图12-13。,(2)广播帧,广播帧是指命令帧中目的地址(DestMACID)0XFF的报文。对于广播帧,从站设备不需应答,见图12-14。,共52页,25,(3)事件触发帧,事件触发帧是由从站设备主动上传的报文,由连接该从站设备的主站设备处理,如图12-15所示。,5iCAN分段报文传输协议,在传送大干7个字节长度的数据时,需要采用分段传送报文的方法。当命令报文分帧传送时,接收节点(目标节点)在接收完所有的分帧报文后才向主站设备回送响应报文,见图12-16和12-17。对于分段传送的节点,当分段报文全部发送完毕后才进入下一个连接定时监控周期;对于分段接收的节点,当处于分段报文传送的过程中时,每接收一个分段报文,即进入下一个连接定时监控周期。分段报文的传送规则见表12-8,分段报文的接受规则见表12-9。,共52页,26,共52页,27,共52页,28,对于分段报文的接收需要根据分段标志和分段计数将接收到的有效分段报文解析为完整的通信数据并进行处理。分段标志和分段计数值必须吻合,如对于起始分段的分段计数值必须为0 x00。分段接收过程可能会被其他报文打断。如果在接收分段报文中接收到其他节点的报文,则分段报文的接收过程并不受到影响,直到将完整的分段报文接收完毕;如果在接收分段报文的过程中接收到启动该分段传送节点传来的非分段报文,则分段接收过程终让,转为处理新的报文。,6iCAN通信帧格式解析,(1) 连续写端口”命令,命令帧格式,共52页,29,在“连续写端口”命令帧中,报文数据长度至少为2个字节,第一个字节表示分段码标识,第二个字节开始为所要写入的数据;当所要写入的数据超过7个字节时,则要采用分段传输。使用连续写端口命令时,最多允许修改32个单元的数据。,响应帧格式,正常响应帧格式:,从站判断接收到的命令帧是合法的,且正确处理完毕,则返回正常响应。,错误响应帧格式:,从站接收到“连续写端口”命令后,判断该命令帧非法,则返回错误响应帧,该响应帧中的ErrID用于说明错误类型。,共52页,30,示例1,示例2,共52页,31,(2)“连续读端口”命令,命令帧格式,“连续读端口”命令帧中报文数据长度为2个字节,报文数据第1个字节表示分段码标识(SegFlag0 x00),第2个字节为所要读出的数据长度(LengthFlag32)。使用连续读端口命令时,最多允许读出32个单元的数据。如果所读的字节数据超过7个字节,则为分段响应。在访问配置区域某些单元时,需要在数据部分的第3个字节附加上资源节点子地址。,正常响应帧格式:,从站判断接收到的命令帧是合法的,已正确处理完毕,则返回正常响应;当所要读出的数据超过7个字节时,则要采用分段传输。使用连续读端口命令时,最多允许读出32个单元的数据。,共52页,32,错误响应帧格式:,从站接收到“连续读端口”命令后,判断该命令帧非法,则返回错误帧。在响应帧中以错误响应来表示,响应帧中的ErrID用于说明错误类型。,示例1,共52页,33,示例2,(3)“输入端口事件触发传送”命令,命令帧格式,根据输入端口的数据长度,决定是否采用分段传输。,“输入端口循环命令”仅对输入端口有效。当正确配置了设备的循环参数(SourceID:0 xF4)后,设备可以定时将输入数据上传到主站。,共52页,34,示 例,(4)“建立连接”命令,“建立连接”命令帧用于建立主站设备与从站设备之间的通信。,命令帧格式,“建立连接”命令帧中源节点地址为主站MACID,报文数据长度为3个字节,报文数据第1个字节表示分段码标识,报文数据第2个字节表示MASTER MACID,报文数据的第3个字节表示主站定时循环参数(Cyclic-Master)。当Cyclic-Master0时,从站判断主站发送通信报文是否超时的时间间隔是CyclicMaster4 。如果在通信过程中,从站判断主站通信报文超时,将自动删除连接,退出通信。,共52页,35,正常响应帧格式:,从站判断接收到的命令帧是合法的,且正确处理完毕,则返回正常响应;在响应帧数据部分中,第1个字节表示设备中DI单元长度,第2个字节表示设备中的DO单元长度,第3个字节表示设备中的AI单元长度,第4个字节表示设备中的AO单元长度,长度单位为字节。,错误响应帧格式:,如果从站接收到“建立连接”命令后,已经与其他主站建立连接或者命令帧参数有错,则从站返回错误帧,响应帧中的ErrID用于说明错误类型。,共52页,36,(5)“删除连接”命令,“删除连接”命令帧用于主站撤销与从站建立的通信。,命令帧格式,“删除连接”命令帧中报文数据长度为2个字节,报文数据第1个字节表示分段码标识,报文数据第2个字节表示Master MACID。,响应帧格式,正常响应帧格式:,共52页,37,从站判断接收到的命令帧是合法的,且正确处理完毕,则返回正常响应。,错误响应帧格式:,从站接收到“删除连接”命令后,如果从站没有建立连接或者命令帧参数非法,则返回错误帧,帧中的ErrID用于说明错误类型。,(6)设备复位”命令,“设备复位”命令帧用于复位设备。,命令帧格式:,共52页,38,“设备复位”命令帧中资源节点可以为任意地址,报文数据长度为2个字节,第1个字节表示分段码标识,第2个字节表示目标节点ID。,示例,(7)“MAC ID检测”命令,“MAC ID检测”命令帧用于检测网络中是否具有相同MAC ID的节点。如果网络中已存在MAC ID的节点,则在接收到MAC ID检测命令帧后会给出响应,告知该MAC ID已经被占有。,命令帧格式,共52页,39,“MAC ID检测”命令帧中源节点和目的节点ID均为MAC ID,报文数据长度为2个字节,报文数据第1个字节表示分段码标识,报文数据第2个字节表示节点的MAC ID。,响应帧格式,网络上具有MAC ID的节点接收到MAC ID检测请求报文时,会发出响应帧。,示例,共52页,40,三、iCAN的设备定义,在iCAN协议中提供了统一的设备描述以及设备访问方法,即资源节点。在iCAN协议中资源节点分为两部分,即I/O数据资源以及配置资源。在ICAN协议中定义的资源节点见表12-9和图12-18。,共52页,41,配置资源占用0 xE00XFF资源空间,包括设备的标识信息、通信参数以及I/O配置参数。,1I0资源说明,(1)DI,DI区支持连续读端口和输入循环命令,每次至少读出8位(1字节),见表12-10。,(2)DO,DO区支持连续写端口,每次至少写入8位,见表12-11。,共52页,42,(3)AI,AI区支持连续读端口和循环命令,每次至少读出1个通道(2字节)。软件获得的AI值与AI通道的分辨率、基准电压值有关。可以通过对IO配置寄存器的访问获得目标节点的AI分辨率参数。同一节点的AI所有通道的分辨率一致,见表12-12。,(4)A0,AO区支持连续读端口命令,每次至少写入1个通道(2字节)。AO输出参数有A0通道的分辨率、响应模式以及通信超时输出状态等。可以通过对于IO配置寄存器的读/写来获得或者设置目标节点的A0参数。同一节点的AO所有通道的参数一致,见表12-13。,共52页,43,(5)SeriaI Port,支持串口Seria1PortO(串口1)和SerialPortl(串口2)的读写。,(6)保留应用单元,保留单元用于扩展。,2配置资源说明,配置单元主要用于设备的标识信息、通信参数以及I0配置参数,见表12-14。,共52页,44,共52页,45,(1)设备标识资原,设备标识资源支持连续读端口命令,对于设备标识资源的访问,要注意不同设备标识资源的长度并不一致,见表12-15。,(2)通信参数资源,通信参数支持连续与端口,连续读端口,对于通信参数资源的访问注意不同通信参数的长度并不一致,见表12-16。,3IO参数及设置,共52页,46,IO parameter支持连续读端口,读取IO parameter时读得的数据长度为4字节。目前IO parameter暂不支持对于索引地址的访问,见表12-17。,IO通道的配置参数用于配置输出通道在通信未连接时的输出值,配置模拟量通道的测量范围,分辨率等属性。对于输入/输出配置参数的访问,需要指定访问的子地址。输入/输出配置参数支持连续写端口和连续读端口功能。对于输入/输出配置参数的访问,还需要指定访问的子地址,见表12-18。,共52页,47,在iCAN协议中,资源节点只占用256宁节空间,对于任意I/O数据的访问只需指定资源地址但对于配置资源中的IO配置单元需要通过配置资源地址+子地址的方式访问,如图12-19所示。,IO通道的参数主要为IO通道的长度。对于输入/输出通道参数,还需要指定访问的子地址;,共52页,48,四、iCAN的网络管理,11CAN设备网络访问状态机制,基于iCAN协议的网络设备必须执行网络切始化过程,如图12-20。,基于iCAN的设备上电后无论处于什么状态,都接受MAC ID检测报文,发现重号立即进入通信错误状态,通信状态,共52页,49,2MAC ID检测应用说明,MAC ID报文检测应用规则可参考图12-21和图12-22。,3iCAN通信的控制,通信的控制用于对网络的通信报文进行监控,保证在通信异常时,通过适当的方式能够恢复通信。通信的控制是以主站设备和从站设备之间的通信时间间隔作为依据。在iCAN网络中,通信是否异常是通过“超时机制”来判断。在iCAN协议中定义了MAC ID检测定时器、连接定时器和循环传送定时器。,共52页,50,(1)MAC ID检测定时器,iCAN设备在成功发送MAC ID检测报文后,会启动MAC ID检测定时器。定时器计时时间到达1s时,如果设备没有接收到MAC ID检测报文,则进入可操作状态,如图12-23所示。,主站通过连接命令,建立主站设备与从站设备的通信连接,同时主站设备可以启动从站设备的连接定时器,完成该连接通信管理,见图12-23。,共52页,51,(2) 连接定时器,iCAN设备在成功发送MAC ID检测报文后,会启动MAC ID检测定时器。定时器计时时间到达1s时,如果设备没有接收到MAC ID检测报文,则进入可操作状态,如图12-23所示。,主站通过连接命令,建立主站设备与从站设备的通信连接,同时主站设备可以启动从站设备的连接定时器,完成该连接通信管理,见图12-23。,共52页,52,(3)循环传送定时器,当连接建立并设置了循环定时参数后,从站设备的循环传送定时器被激活,从站设备工作状态见图12-24。,(4)事件触发时间管理,关于事件触发时间管理在iCAN协议中并没有明确的定义。事件触发机制会使从站主动上传数据报文,从站根据触发事件,共52页,53,不断发送报文有可能导致从站过多地占据总线,因此对于从站的事件触发间隔时间也必须进行管理,事件触发时间间隔可以设定为10ms,如图12-25。,

    注意事项

    本文(第十二章CANbus应用层协议全解ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开