CANopen协议通讯.ppt
《CANopen协议通讯.ppt》由会员分享,可在线阅读,更多相关《CANopen协议通讯.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CANopen通讯协议培训王兆宇2018-03-03CAN通通讯的的简介介历史CAN(ControllerAeraNetwork,控制器局部网)是德国Bosch公司在1983年开发的一种串行数据通讯协议,最初应用于现代汽车中众多的控制与测试仪器之间的数据交换,是一种多主方式的串行通讯总线,介质可以是双绞线、同轴电缆和光纤,速率可达1Mbps,支持多达128个节点;具有高抗电磁干扰性,而且能够检测出产生的任何错误,保证数据通讯的可靠性。通信机制比较简单,适合于所有机械的嵌入式网络,可以降低设备的复杂程度,在工业领域(如汽车、电梯、医疗、船舶、纺织机械等)得到了广泛应用,是欧洲重要的网络标准CAN
2、open的的术语1993年CiA发布用来描述传送机制的CAL(CommunicationApplicationLayer)规范1995年CiA发布DS-301通信描述文件:CANopen2001年CiA发布DS-304,在标准CANopen总线上集成4层安全元件(CANsafe)2CAN通通讯术语CAN=Controller Area Network 控制器局域网控制器局域网CiA=CAN in Automation 协会会 CANopen 是是CAN应用用层协议,它基于信息广播的通,它基于信息广播的通讯概念概念:每一个连接到总线的站点都在接收其它站点的信息.然后决定他们的动作,是否回答相关指
3、令.CAN协议授权所有的站点同步访问总线.然后根据COB-ID给予优先权.COBIDComunication Object Identifier-由通由通讯标识码和从站地址和从站地址组成成EDSElectronic Data Sheet,用于描述,用于描述设备通通讯相相关的文件关的文件CAL-CAN的应用层CAL(CANapplicationlayer),由Cia(CANInAutomation)定义3CAN通通讯的模型的模型模型CANopen和ISO模型CiADS-301=CommunicationprofileEMPTYEMPTYEMPTYEMPTYCAN2.0AandB+ISO11898
4、CAN2.0AandB=ISO11898-1and2ISO11898+DS-102DeviceProfileCiADSP-401I/OmodulesDeviceProfileCiADSP-402DrivesDeviceProfileCiADSP-404MeasuringdevicesDeviceProfileCiADSP-4xxCAL=CANApplicationLayer应用层描述层会话层传输层网络层链路层=LLC+MAC物理层7654321CAN CAN specificationsspecifications4CAN通通讯的模型的模型CANopen的物理层CAN的非的非归零零编码:用两种
5、不同的电平分别表示显性状态和隐性状态显性电平会覆盖隐性电平当同一网络的不同设备同时发显性和隐性数据,则总线显示显性电平,否则是隐性电平隐性电平的逻辑值为1,显性电平的逻辑值为0每个位可以没有上升或下降沿5CAN通通讯的模型的模型CAN的物理层CAN数据数据帧的位的位填充填充:非归零编码的一个特点是,如果传输大量连续的相同极性的位,发生的数据信号不能提供可用于重新同步的上升沿或下降沿。因此,使用位填充技术用于确保所有总线节点的同步。这意味着在传输消息期间,最多五个连续位具有相同的极性。CAN帧中的位填充区域包括SOF,仲裁字段,控制字段,数据字段和CRC字段。理论最差情况Smax=(34+8 d
6、lc-1):4=8+2 dlc,dlc表示数据表示数据长度代度代码,CAN报文有效文有效数据字数据字节数量数量6CAN通通讯的模型的模型CAN的物理层CAN数据数据帧的的位位定定时:位定时是一个复杂的话题,为了减轻用户处理这种艰难任务的负担,CANopen不仅规定了波特率,也规定了位定时的采样点,位定时分为4个部分:同步段、传播段、相位段1和相位段2采样点恰好位于相位段1和2之间。每个段由基本时间单位(tq)的整数倍构成。基本时间单位是CAN节点使用的最小时间分辨率。其长度由CAN控制器的振荡器频率的分频后产生。同步段1个tq,传播段18个tq,相位段1-18个tq,相位段2-2个tq,采样点
7、同步跳转宽度SJW为1个基本时间单位。7CAN通通讯的模型的模型CAN的物理层CANopen 电平:平:在显性状态时,CAN-High线上的电压值会升高一个预定值(对CAN驱动数据总线来说,这个值至少为1V)。而CAN-Low线上的电压值会降低一个同样值(对CAN驱动数据总线来说,这个值至少为1V)。于是在CAN驱动数据总线上,CAN-High线就处于激活状态,其电压不低于3.5(2.5V+1V=3.5V),而CAN-Low线上的电压值最多可降至1.5V(2.5V-1V=1.5V)。CAN的高低的高低电平是一个差分信号平是一个差分信号在受到干扰时,因为CAN_H和CAN_L是差分信号,所以Vd
8、iff不变8CAN通通讯模型-物理层硬件接硬件接线使用屏蔽双绞线,三根线,CAN_H,CAN_L和CAN_GND通讯长度与通讯速度的关系如下图所示可以使用CANopen中继器完成总线长度的扩展拓扑拓扑直线拓扑,总线的末端需加两个120欧姆的终端电阻总线最大个数最大个数128主站1+从站1279CAN通通讯模型-物理层通通讯线的的线径和通径和通讯长度的关系度的关系电缆阻抗:32 站站:21 64 站站:18,5 100 站站:16 10CAN通通讯模型-物理层通通讯线的相关参数:的相关参数:每米阻抗(r):70 m /m终端电阻(Rt):一般一般120 (最小最小 108 ,最大最大132 )线
9、缆阻抗(Z):一般一般 120 (最小最小108 ,最大最大 132 )电缆延迟:5 ns/m11CAN通通讯模型-物理层通通讯线的支的支线长度限制度限制最大支最大支线长度度计算公式:算公式:未未连接接终端端电阻支阻支线电缆的最大的最大长度度Ld和累和累计支支线长度度Ldi的的经验法法则:t PROPSEG:位周期的数据位周期的数据传输段的段的长度度t P:每个每个长度度单位的特定位的特定线路延路延迟例例:波特率波特率=500 kbit/s:t PROPSEG=12*125ns=1500 ns;t P=5 ns/m 12CAN通通讯模型-物理层CiA DS-102 Bit-rates13CAN
10、通通讯模型-物理层CiA DS-102 设计时建建议CANopen设备应至少支持波特率至少支持波特率20K,并且支持的越多越好,并且支持的越多越好超超过200米米长度的度的CANopen线缆建建议加光加光电隔离隔离超超过1Km建建议使用使用CANopen repeater-重重发器。器。14CAN通通讯的模型的模型CAN的物理层CANopen 中中继器的作用:器的作用:可以使用CANopen中继器完成总线长度的扩展电气的隔离拓扑方式的扩展很小的延迟-与产品有关CANopen 硬件接硬件接线的的针脚定脚定义:RJ45使用使用1,2和和3脚而脚而SUB-D9接接头采用采用2,3和和715CAN通通
11、讯的模型的模型CAN的物理层CANopen 5针迷你接迷你接头针脚定脚定义:针脚定脚定义:1:(CAN_SHLD)=CAN屏蔽层可选2:(CAN_V+)=CAN外部电源正可选3:CAN_GND=Ground/0V/V-4:CAN_H=CAN_H5:CAN_L=CAN_L16CAN通通讯的模型的模型CAN的物理层CANopen 5针端子接端子接头针脚定脚定义:针脚定脚定义:1:CAN_GND=Ground/0V/V-2:CAN_L=CAN_L3:(CAN_SHLD)=CAN屏蔽可选4:CAN_H=CAN_H5:(CAN_V+)=CAN外部电源正可选17CAN通通讯的模型的模型CANopen的数据
12、链路层总线访问CAN数据帧的结构错误处理18CAN通通讯的的链路路层CANopen的数据链路层ISO11898进行了标准化,CAN的数据链路层是其核心内容数据链路层的服务由逻辑链路控制(LLC)和媒体访问控制(MAC)中实现,LLC提供:数据接收过滤,过载通知和管理恢复MAC负责:数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串/并转换等功能。这些功能都是围绕信息帧传送过程展开的。19CAN通通讯的的链路路层广播方式CAN 广播广播发送方式送方式广播通信的广播通信的CAN概念意味着网概念意味着网络的每个站可以的每个站可以监听听发送站的送站的帧(这里:站里:站2)。收到)。收到
13、帧后,每个后,每个节点决定广播的消息接受点决定广播的消息接受还是不接受。是不接受。数据接收数据接收过滤是在每个是在每个CAN节点中点中实现。CAN广播广播发送的送的处理方式与司机接听交通台的广播的情况是理方式与司机接听交通台的广播的情况是类似的。似的。每个司机根据自己要走的路和广播每个司机根据自己要走的路和广播发送的路况信息决定广播的数据是否采用。送的路况信息决定广播的数据是否采用。20CAN通通讯的的链路路层RTRCAN 的的RTR远程程传输请求(求(RTR)就像是提)就像是提问题。具有答案的。具有答案的节点将在第二次通信中点将在第二次通信中产生所生所请求的数据。求的数据。该数据数据帧也可以
14、由也可以由对该对象感象感兴趣的其他消趣的其他消费者接收。者接收。远程程帧和数据和数据帧由称由称为标识符的特定字段符的特定字段标识。21CAN通通讯的的链路路层多主访问CAN多多总线访问CAN协议允允许从不同从不同节点同点同时进行行总线访问。如果多个如果多个节点点访问总线,则需要需要进行仲裁。行仲裁。CAN中使用的中使用的总线访问方法是一种非破坏性的逐位仲裁,称方法是一种非破坏性的逐位仲裁,称为具有冲突具有冲突检测和消息和消息优先先级仲仲裁(裁(CSMA/CD+AMP)的)的载波波侦听多路听多路访问。消息消息优先先级在在CAN标识符中解符中解码。当当总线处于空于空闲状状态时,几个,几个节点可以开
15、始点可以开始传输帧。每个每个节点在完整消息期点在完整消息期间从从总线逐位逐位读回,并将回,并将发送的比特送的比特值与接收的比特与接收的比特值进行比行比较。根据定根据定义,具有主,具有主导值的位将覆盖具有的位将覆盖具有隐性性值的位(的位(这必必须由收由收发器提供)。器提供)。22CAN通通讯的的链路路层Producer-consumerCAN 的生的生产者和消者和消费者者该写入写入对象服象服务将数据将数据帧从一个从一个节点(生点(生产者)者)发送到一个或多个接收送到一个或多个接收节点(消点(消费者)。者)。这并不意味着一个并不意味着一个节点将接受消息,点将接受消息,这意味着某些站点意味着某些站点
16、对此信息感此信息感兴趣。趣。这项服服务是是经典的典的CAN通信服通信服务。第二通信服第二通信服务是是请求特定消息。求特定消息。此此读取取对象服象服务由一个或多个消由一个或多个消费者启者启动。因此,因此,这些些节点将点将传输所所谓的的远程程帧。拥有所有所请求信息的求信息的节点将点将传送相送相应的数据的数据帧。23CAN通通讯的的链路路层总线仲裁CAN 的的总线仲裁仲裁24CAN通通讯的数据的数据帧4种数据帧CAN 的的4种数据种数据帧数据帧:这些帧将数据从生产者传输到消费者,而不保证将被处理。远程帧:这些请求帧由客户端发送到服务器以请求传输数据帧(标识符将具有与请求相同的值)。错误帧:当站检测到
17、总线上存在错误时,会发送这些帧。过载帧:这些帧被发送以要求连续帧之间的额外的时间间隔(数据或请求)。25CAN通通讯的模型的模型帧结构以及CAN2.0A和CAN2.0BCAN数据数据帧结构构帧起始和起始和帧结束束-表示帧开始或结束仲裁段仲裁段-表示帧的优先级控制段控制段-表示数据的字节数及保留位的段数据段数据段-数据的内容,可发送08个字节的数据CRC段段-用于检验数据的正确与否ACK-表示确认正常接收的段CAN的的2.0A和和2.0BCAN针对ID参数规定了两种不同的格式。其中标准消息格式用了11位的ID,而扩展消息格式用了29位的ID。CAN2.0A-只规定了标准消息格式(扩展消息会被认为
18、是错误)CAN2.0Bactive-能处理标准和扩展消息格式CAN2.0Bpassive-处理标准消息,忽略扩展消息CAN控制器必控制器必须完全支持完全支持11位信息包括收、位信息包括收、发,和必,和必须支持接收支持接收扩展展帧26CAN通通讯的模型的模型CANopen的应用层CANopen的4种标准服务CANopen的对象字典CANopen的标识符CANopen的CIA405功能块CIA402的流程27CANopen通通讯的模型的模型模型-应用层4种种标准服准服务1.网络管理:参数设置,启动,监视(主/从)2.实时小容量过程数据(8字节)传送:SDO=ServiceDataObject(客户
19、端-服务器)4.管理同步(SYNC),时基参数,致命错误的预定义信息:SFO=SpecialFunctionObjectCANopen 定定义:数据怎样传输:DS-301通信描述文件适用于所有产品、定义每种信息COB-ID标示符的分配什么样的数据:DS-4XX产品描述文件对每个产品家族进行详细规定(discreteI/O,analogueI/O,variablespeeddrives,encoders,etc.)这些功能通过设备对象词典OD=ObjectDictionary进行描述28CANopen通通讯的模型的模型DS301DS4XXDS301描述OD和通信配置文件区域中的对象的一般结构:索
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CANopen 协议 通讯
限制150内