资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第讲第章总线(zn xin)应用应用层协议,第一页,共45页。,1,5.1 CAN总线应用层协议(xiy)的制定,CAN协议本身只定义了物理层和数据链路层的标准。,好处:适应性强;,缺点:具体使用CAN时可能带来不便。,用户在应用CAN协议时,应根据实际需求自行(zxng)定义CAN高层协议。,为方便应用并满足产品兼容性和互操作性,国际上已形成诸多基于CAN的高层应用协议,如,CAL、CANopen、DeviceNet、SDS、CAN Kingdom、SAE J1939等PPT第9讲。这些协议主要应用在工业控制、汽车、仪器仪表等行业中。,第二页,共45页。,2,本节参考基于CAN的工业应用层协议,结合温室控制系统的实际情况,介绍适合于温室环境控制的一个简易的CAN高层应用协议,以方便基于CAN的应用系统开发时参考。,基于具体应用的一个CAN应用协议主要规定以下(yxi)几方面的内容:,信息标识符分配;,过程数据交换方法;,点对点通信实现;,报文滤波机制的使用方法等。,第三页,共45页。,3,5.1.1 信息(xnx)标识符分配方案,在CAN系统中,可以用信息标识符ID来标识数据的含义。ID决定了信息的优先权,同时也影响(yngxing)信息滤波的适用性。因而,合理、高效的ID分配方案是充分发挥CAN总线性能的前提条件。,第四页,共45页。,4,1.信息标识符结构,所制定(zhdng)的协议中,信息标识符采用静态分配的策略,采用BasicCAN模式。,11位标识符结构如下:,信息功能码 节点号 数据场格式,2位 6位 3位,1信息功能码11位标识符的最高2位,信息功能码字段表征信息的如下四种情况每种情况都可以有远程帧和数据帧两类。,第五页,共45页。,5,00网络(wnglu)传感器信息帧:该类信息的远程帧用于请求节点发送其传感器信息ID中间6位节点号应取相关联节点的节点号,数据帧用于发送节点节点号取本节点号的传感器信息。,01输入变量信息帧:该类信息的远程帧用于请求节点发送其输入变量,数据帧用于发送节点的输入变量信息。,10输出控制信息帧:该类信息的远程帧用于请求节点发送其输出变量,数据帧用于发送节点的输出变量信息。,11点对点信息帧:该类信息主要用于节点参数如通信参数等配置,或者是发送超过8个字节的数据块。,第六页,共45页。,6,2节点号 11位标识符的中间6位,节点号字段共6位,总线上最多可以接64个节点。,3数据场格式信息 11位标识符的最后3位,说明数据场中数据的格式。在不同功能的信息帧中,该字段的含义有所不同。分4种情况分述如下(rxi)。,对于网络传感器信息帧信息功能码00,不同的传感器给予不同的编码:,000温度传感器信息;,001光照传感器信息;,第七页,共45页。,7,010湿度传感器信息;,011二氧化碳浓度传感器信息;,100土壤电导率传感器信息;,101、110、111未用今后扩展用。,对于输入变量信息帧信息功能码01,000位型开关量输入,数据(shj)场:每字节代表8通道,每帧可发送64个位型变量8位8字节;,001字节型8位A/D输入,数据(shj)场:每字节代表1通道,每帧可发送8路8位A/D输入;,010字节型8位频率量输入,数据(shj)场:每字节代表1通道,每帧可发送8路8位频率量输入;,第八页,共45页。,8,011字型16位A/D输入916位均可,数据场:每二字代表1通道,每帧最多可发送(f sn)4路16位A/D输入;,100字型16位频率量输入916位均可,数据场:每二字节代表1通道,每帧最多可发送(f sn)4路16位频率量输入;,111请求输入变量错误节点无此输入变量;,101、110 未用。,对于输出信息帧信息功能码10,000 开关量输出,数据场:目标节点号第一字节+通道号第二字节+通道值通道值仅能为0、1,占用一个字节;,第九页,共45页。,9,00116位脉冲量输出,数据场:目标节点号+通道(tngdo)号+通道(tngdo)值通道(tngdo)值表示脉冲个数,占用两个字节;,010 字节型8位D/A输出,数据场:目标节点号+通道(tngdo)号+通道(tngdo)值通道(tngdo)值占用一个字节;,011字型16位D/A输出包括916位,数据场:目标节点号+通道(tngdo)号+通道(tngdo)值通道(tngdo)值占用两个字节;,111请求输出变量错误节点无此输出变量;,100、101、110 未用。,第十页,共45页。,10,对于点对点信息帧信息功能码11,000读、写通信波特率参数BTR0,BTR1;,001读、写报文滤波器设置ACR,AMR;,010读、写输出控制存放器OCR;,011读、写时钟分频存放器CDR;,100用于发送超过8个字节的数据块;,101、110、111目前未用保存。,注:由于信息标识符的高7位不能全为1,所以111110、111111号节点不允许发送点对点帧,在节点号设置时应尽量避开;或者不用(byng)其作为具有管理功能的节点的编号。,第十一页,共45页。,11,综上所述:,标识符分配采用面向节点的原那么,系统总共可容纳26=64个节点。,每个节点可以有4组不同类型的信息标识符:第一组用作传感器信息的传输00;第二组用作输入变量的传输01,每个节点可以有8种不同类型的输入变量,每类变量的通道数视变量类型有所不同,位型可达64通道,字型仅有4通道;第三组用作输出控制信息的传输10,每个节点可有8种类型的输出控制信息;第四组信息主要用于设备配置或者(huzh)长数据块的传输11。,第十二页,共45页。,12,2.信息优先权分配,按上述的信息标识符ID分配方案,在CAN的仲裁机制作用下,信息优先权遵循以下原那么。,1发送网络传感器信息的帧具有最高的优先权因为11位标识符的最高位为00,发送输入变量信息的帧的优先权次之01,发送输出控制信息的帧的优先权再次之10,点对点信息帧的优先权最低11。,2在同类信息帧中,节点(ji din)号小的帧具有较高的优先权。,3具有相同标识符的帧,数据帧优先权高于远程帧。,第十三页,共45页。,13,假设有如下4组帧信息同时发送:ID RTR,11XXXXXXXXXX X (输出控制信息帧),201101101XXX X (节点号为101101的输入变,量信息帧),301101100XXX 1 (节点号为101100的输入变,量信息帧远程帧),401101100XXX 0 (节点号为101100的输入变,量信息帧数据(shj)帧),假设3和4两种帧的ID号相同,那么可用以下图说明仲裁过程。,第十四页,共45页。,14,01101101,t1时刻发送输出(shch)控制信息帧的节点失去仲裁,t2时刻(shk)发送输入变量信息帧的节点中节点号较大的101101号节点失去仲裁101100继续发送,t3时刻:在ID相同情况下发送(f sn)远程帧的节点RTR=1失去仲裁,第十五页,共45页。,15,5.1.2 应用信息(xnx)帧格式,应用层信息帧是应用层与CAN根本通信局部之间数据交换的纽带,有两个方面的作用:,1应用层将接收的信息帧解析后,输出给用户程序;,2应用层将用户程序需要发送的信息通过应用层装配成帧后供CAN根本通信局部发送。,在前面(qin mian)介绍了信息标识符结构的根底上,应用层要处理的信息帧格式如下表所示即如何确定下面各局部的值,然后写入相应的CAN协议芯片的存放器中。,2位 6位 3位,第十六页,共45页。,16,1.应用层信息帧的组装(发送时),用户数据需要在应用层按照上面所示的应用层信息帧的固定格式组装起来,以供CAN根本通信程序发送时使用。,1在应用层中,CAN信息帧封装函数依据用户程序提供的待发送信息,判断待发送数据的功能(gngnng)和具体数据类型,形成仲裁场中的信息功能(gngnng)段、信息格式段和RTR位。比方要发送开关量输入变量数据,那么信息功能(gngnng)码为01、信息格式码为000、RTR=0。,然后依据RTR的值设置节点号字段,假设RTR=1,那么节点号应取相关联节点的节点号,反之就取本节点号。,第十七页,共45页。,17,至此(zhc),11位标识符的各个位均已确定。,对于使用SJA1000的节点而言,可以向其CAN地址为17和18的存放器写入相关信息。,SFF标准帧;X不影响,CAN,地址,帧格式,位,BIT7,BIT6,BIT5,BIT4,BIT3,BIT2,BITl,B1T0,17,SFF,ID.28,ID.27,ID.26,ID.25,ID.24,ID.23,ID.22,ID.21,EFF,ID.28,ID.27,ID.26,ID.25,ID.24,ID.23,ID.22,ID.2l,18,SFF,ID.20,ID.19,ID.18,X,l,X,2,X,2,X,2,X,2,EFF,ID.20,ID.19,ID.18,ID.17,ID.16,ID.15,ID.14,ID.13,19,SFF,未使用(数据字节1),EFF,ID.12,ID.1l,ID.10,ID.9,ID.8,ID.7,ID.6,ID.5,20,SFF,未使用,(数据字节2),EFF,ID.4,ID.3,ID.2,ID.1,ID.0,X,1,X,2,X,2,第十八页,共45页。,18,在介绍SJA1000的存放器时,其“10.发送缓冲器局部介绍了如下内容:,发送缓冲器分为描述符区和数据区。描述符区的第一个字节是帧信息,它说明(shumng)了帧格式(标准帧SFF或扩展帧EFF)、远程或数据帧及数据长度。SFF有2个字节的识别码占用CAN地址17和18其格式如前表所示,按格式填写。数据区最长为8个数据字节,占用CAN地址为1926。,第十九页,共45页。,19,2接着设置数据长度码,假设RTR=0,那么为数据帧,数据长度码的值通过计算待发送(f sn)的用户数据取得。,假设RTR=1,那么为远程帧,它没有数据场,数据长度码不设置数据长度代码的数值可标注为容许范围内08中的任意值。此时,默认为请求对方节点的该类型所有通道的数据。,对于使用SJA1000的节点而言,如何来设置这些相关的信息?需要确定的相关信息有:,确定是标准帧;,确定是数据帧还是远程帧;,数据帧时确定数据长度码。,第二十页,共45页。,20,通过对CAN地址16TX帧信息字节,见前图进行配置来实现。该字节如下表所示:,注:,1帧格式,1=EFF(扩展帧),0=SFF(标准帧)。,2远程发送请求位,1=远程帧,0=数据帧。,3不影响。推荐在使用自接收设备(shbi)(自检测)时和接收缓冲器(0)兼容。,4数据长度码位,编码范围为18。,BIT7,BIT6,BIT5,BIT4,BIT3,BIT2,BIT1,BIT0,FF,1,RTR,2,X,3,X,3,DLC.3,4,DLC.2,4,DLC.1,4,DLC.0,4,第二十一页,共45页。,21,3数据场的信息,在RTR=0时数据帧,数据场的信息就是待发送的数据实体(sht)。,在RTR=1时远程帧,这局部不设置。,对于使用SJA1000的节点而言,如何来设置数据帧中要发送的?,根据数据字节的长度,往前图所示的TX数据字节1CAN地址19至TX数据字节8CAN地址26写入要发送的数据字节。,至此,较为完整地介绍了发送时要进行的主要工作。,第二十二页,共45页。,22,2.应用层信息帧的解析接收时,接收到的CAN信息帧在应用层中解析出来,供用户程序
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6