讲义文稿分析_第1页
讲义文稿分析_第2页
讲义文稿分析_第3页
讲义文稿分析_第4页
讲义文稿分析_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CANopen 名词汇编1CANopen 名词汇编1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.CAN - Controller Area Network - CANopenCiA - CAN in Automation - CAN 国际用户和制造商组织CiA 301Object Dictionary - 对象字典PDO - Process Data Object - 进程数据对象SDO Service Data Object - 服务数据对象NMT Network Management 网络管理Heartbeat - 心跳协议SYNC - 同步对象Emerge

2、ncy - 紧急对象默认 CAN-IDEDS - Electronic Data Sheet - 电子数据表单CAN-ID CAN Identifier CAN 标识符COB-ID Communication Object IdentifierCANopen 的行业规范器局域网1.CAN - Controller Area Network -器局域网CAN 是德国 Bosch 公司为解决现代汽车中众多的与测试仪器之间的而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导,速率可达 1Mbps,通讯距离可达 10km。CAN 协议的一个最大特点是了传统的站地址编码

3、,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。CAN 协议采用 CRC 校验并提供相应的错误处理能力,保证了数据通信的可靠性。由于 CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程受到工业界的重视。设备的互连,因此越来越CAN 属于现场总线的范畴,它是一种有效支持分布式或实时的串行通信网络。经过 20 余年的发展,CAN 的应用范围已经遍及高速网络及低成本的多线路网络。在汽车电子领域的汽车发部件、传感器、抗滑系统等应用中,CAN 的位速率可高达 1Mbps,满足了实时性的要求。同时,它可以廉价地用于交通运载工具电气系统中。ISO 11898系列标准中已对CAN

4、 数据链路层以及一些CAN 物理层进行了国际标准化:lllllISO 11898-1ISO 11898-2ISO 11898-3ISO 11898-4ISO 11898-5对CAN的数据链路层(DLL) 和物理信令进行了规定; 对传输速率高达1Mbit/s下的高速CAN 进行了规定;对传输速率介于40kbit/s 和125 kbit/s之间的容错CAN进行了规定; 对时间触发的CAN(TTCAN)进行了规定;对高速CAN的低耗电模式进行了规定。2.CANopenCANopen 是CAN 网络的一种应用层协议,是目前应用最广泛的网络。其应用领域包括:汽车、车载附加设备、轨道交通、海事电子、航空电

5、子、工程车辆、起重设备、新能源测控(光电,风能)、注塑机、印刷设备、电梯、门控、海底测量、电动汽车等。2图 A.1: CANopen 网络层次参考模型CANopen通信的概念和ISO的开放式系统参考模型(OSI)相似。CANopen建立在CAN 数据链路层之上,除了对应用层规范进行定义外,CANopen还专门定义了位定时并且对一些连接器推荐了管脚定义。图 A.2: CANopen 设备模块如上图所示,一个典型的CANopen设备可以被分为3部分: 通信部分 对象字典 应用部分通信部分提供在总线上收发通信对象的服务。对象字典是应用部分和通信部分的接口,它描述了设备使用的所有的数据类型、通信对象和

6、应用对象。应用部分除了处理硬件接口外还提供设备的内部功能。3.CiA - CAN in Automation - CAN 国际用户和制造商组织1992年,一些公司创建了非性组织CAN in Automation (CiA),以提供与CAN相3和市场方面的信息。此项举措旨在提升CAN的形象,并且为CAN协议关的技术、未来的发展铺平道路。目前(截至2007年1月)有460多家公司成为国际用户和制造商组织CiA的成员。CiA作为非性组织在德国Erlangen。CiA的代表积极支持CAN协议的国际标准化,其成员制定技术规范,并作为CiA的技术标准而。CiA 技术规范涵盖物理层定义以及应用层和设备规范的

7、说明。CiA 组织开展包括在展览会和博览会上设立展位在活动,举办研讨会以及与CiA市场内的市场组织合作推出指南和特殊应用手册。其它的活动还包括为选定此外,CiA还提供关于CAN技术方面的新加入的成员提供活动,包括发布的CAN培训和大会。稿、技术文献以及应用报告。4.CiA 301CANopen应用层及通讯规范,任何CANopen设备都必须满足的部分,它也包括了对NMT从节点(见图A.11)行为的描述。5.Object Dictionary - 对象字典CANopen设备描述中最重要的部分是对象字典。对象字典是一组对象的集合,它可以以一种定义好的方式通过网络。字典中的每一个对象都用16位的索引和

8、8位的子索引编址。一个对象字典的总的层次结构如下图所示: 表 A.1: 对象字典标准的对象字典可以包含最大到65536 个,这些通过一个16位的主索引编址,对简单对象而言,该索引所指的值即为该对象的值。为了能够数据结构中的元素,还定义了子索引。对于单个对象字典而言, 子索引的值总是为0的。对于包含了多个数据区域的复杂对象如和数列而言,子索引则指出了由主索引指出的数据结构内部的各个数据区域。子索引的概念有助于我们这些的数据域。如下图所示: 4表 A.2: 主索引和子索引举例在对象字典主索引1A00h处定义了传输PDO参数, 在其子索引0h处定义了对象的数量,01h处定义了1h-8h位输入,以此类

9、推。部索引还有其缺省值。6.PDO - Process Data Object - 进程数据对象实时数据的传输是通过进程数据对象PDO来完成的。PDO的通信方式可以用生产者/消费者模式来描述。进程数据(process data)可以从一个设备(生产者)那里到另一个设备(消费者)或许多其它设备(通过广播方式),并且是无确认模式的传输。生产者用专用的标识符一个传输PDO(Transmit-PDO,TxPDO),该标识符与一个或是多个消费者那里的接收PDO(Receive-PDO,RxPDO)相对应。设备PDO的长度和数量由应用决定,并且必须在对象字典的设备描述中说明。PDO在对象字典中有一个CAN

10、open设备最多可以有512个TxPDO和512个RxPDO。并且向应用程序提供接口。l3 种PDO 触发模式图A.3: PDO3种消息触发模式如上图, PDO通信区别3种消息触发模式: 1,异步触发模式:当在设备描述中定义的对象发生时,消息)。被触发。而定时2, PDO。的节点由定时器触发(即定时器到时作为索取模式:当收到另一个设备初始化的请求时,设备会相应的53,同步触发模式:同步PDO将在由接收的同步对象决定的时间间隔后被触发。同步PDO的传输可以再细分为循环传输模式和非循环传输模式, 如下图图A.4: 同步和异步PDO同步循环 PDO 的触发只取决于接收到的同步对象;同步非循环 PDO

11、 除了取决于接收到的同步对象外,还取决于对象。lPDO 通信参数PDO通信参数分为传输PDO通信参数( 1800h19FFh) 和接收PDO通信参数( 1400h-15FFh)。PDO通信参数说明了PDO的基本特性,如COB-ID、传输类型、时间和示: 定时器等,它只决定了PDO是以何种方式和接收的。如下图所* If a device supports PDOs, the according PDO communication parameter and PDO mapping entries in the object dictionary are mandatory. These may

12、beread_only.6Receiv e PDO Communication Parameter1400RECORD1st receive PDO ParameterPDOCommParrwM/O*1401RECORD2nd receive PDO ParameterPDOCommParrwM/O*:15FFRECORD512th receive PDO ParameterPDOCommParrwM/O*Receiv e PDO Mapping Parameter1600ARRAY1st receive PDO mappingPDOMappingrwM/O*1601ARRAY2nd rece

13、ive PDO mappingPDOMappingrwM/O*:17FFARRAY512th receive PDO mappingPDOMappingrwM/O*Transmit PDO Communication Parameter1800RECORD1st transmit PDO ParameterPDOCommParrwM/O*1801RECORD2nd transmit PDO ParameterPDOCommParrwM/O*:19FFRECORD512th transmit PDO ParameterPDOCommParrwM/O*Transmit PDO Mapping Pa

14、rameter1A00ARRAY1st transmit PDO mappingPDOMappingrwM/O*1A01ARRAY2nd transmit PDO mappingPDOMappingrwM/O*:1BFFARRAY512th transmit PDO mappingPDOMappingrwM/O*表A.3: PDO通信参数图 A.5:PDO 的 COB-IDlPDOPDO参数参 数 分 为 传 输参 数 ( 1A00h1BFFh ) 和 接 收参 数或接收( 1600h17FFh),它说明了PDO中所包含的应用对象, 它只决定了的数据。图A.6: PDO如上图所示,将应用对象A

15、、B、C到PDO_1中,的应用对象数目最多可以达到64个。PDO完成了对象字典和通信部分之间的。如:我们希望数字输入(对象字典6000h)的1h-8h位输入和9h-10h位输入( 子索引01h和02h)到第一个传输PDO参数( 1A00h) 中, 必须将以下的值写入1A00h 中: 7表A4: PDO举例7.SDO Service Data Object - 服务数据对象对象字典是应用部分和通信部分的桥梁。CANopen设备的所有数据都由对象字典管理。每个对象字典都可以用索引和子索引来寻址。CANopen定义了SDO来这些,如下图所示:图 A.7: 通过 SDO对象字典 1SDO在对象字典中的

16、描述见下图。* If a device supports SDOs, the according SDO parameters in the Object Dictionary are mandatory8Serv er SDO Parameter1200RECORD1st Server SDO parameterSDOParameterroO1201RECORD2nd Server SDO parameterSDOParameterrwM/O*:127FRECORD128th Server SDO parameterSDOParameterrwM/O*Client SDO Parameter

17、1280RECORD1st Client SDO parameterSDOParameterrwM/O*1281RECORD2nd Client SDO parameterSDOParameterrwM/O*:12FFRECORD128th Client SDO parameterSDOParameterrwM/O*1300:13FF子索引( hex)值( hex)说明016000 01 08读第一个对象:输入1h-8h bit026000 02 08读第二个对象:输入9h-10h bit表 A.5:SDO 参数VALUE DEFINITION of COB-IDs31 30 29 2811

18、100MSBLSB31: SDO exists (0), does not exist (1)30:(always 0)29: base frame format (0), extended frame format (1)图 A.8:SDO 的 COB-ID 定义对CANopen对象字典的读写是通过SDO完成的。读对象字典的对象称为上传,写对象字典的对象称为及可选的值。如下图:。在一个SDO里面包含了16位的索引和8位的子索引以图 A.9 通过 SDO对象字典 2的通信模式是基于客户机/服务器结构的。读/写操作一般由客户机这种初始化,而由服务器服务。一个CANopen设备的对象字典必须可以通

19、过SDO服务器通道被,并且最多可以拥有127个SDO服务器通道。90/1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 011-bit CAN-ID0/10129-bit CAN-IDIndexSub- IndexDescriptionData Type12XXh00hNumber of entriesUnsigned801hCOB-ID client-to-serverUnsigned3202hCOB-ID server-to-clientUnsigned3203hNode-ID of server/clientUnsigned8SDO传输需要两个不同的CAN-ID。

20、第一个CAN-ID用于传输客户机向服务器发出的请求。服务器用第二个CAN-ID向客户机传输响应。为了避免CAN总线上的不同的方向有不同的CAN-ID,如下图: ,图A.10: SDO传输需要两个不同的CAN-ID在检测到通信错误时,SDO 服务器端或客户机端将发出SDO 错误代码,见下图。表 A.6:SDO 错误代码8.NMT Network Management 网络管理CANopen网络管理基于主/从结构模式。这要求在网络中有一个节点专门作为NMT的管理者(NMT主节点),其他的节点都是NMT的从属(NMT从节点)。网络管理提供了以下一组功能:为NMT从节点中参与分布式应用程序的模块服务提

21、供初始化;为监视节点提供错误服务和网络通信状态服务。一个NMT从节点用一个唯一的模块ID来标识。10Abort codeDescription0503 0000hToggle bit not alternated0504 0000hSDO protocol timed out0504 0001hClient/server command specifier not valid or unknown0504 0002hInvalid block size (block mode only)0504 0003hInvalid sequence number (block mode only)050

22、4 0004hCRC error (block mode only)0504 0005hOut of memory0601 0000hUnsupported access to an object:0602 0000hObject does not exist in the object dictionary:0609 0011hSub index does not exist:图A.11: NMT状态机一个CANopen NMT从节点可以实现一个NMT状态机, 该状态机将在上电复位后自动运行,并且节点在预运行状态内部实现初始化。在预运行状态,节点可以通过SDO配置参数,但不可以实现PDO通信

23、。NMT主节点可以所有的从节点进入运行状态。在运行状态PDO的通信才被。如果一个节点被转换到停止状态,那么它将不能实现PDO和SDO通信,但可以执行NMT命令。网络管理状态表: 主节点向从节点的NMT命令结构如下:表A.7: NMT命令说明: CAN-ID为0表示它是NMT命令, 如果节点ID是0表示命令会被广播至所有从节点,所有从节点必须执行相应给节点ID为01h的节点命令说明符功能见下表:令, 如果节点ID为01h则表示此NMT命令表A.8: NMT命令说明符任何NMT从设备在上电时都必须主动报告理,见下图。其CAN-ID为700h + 节点号。的上电信息,便于NMT主设备进行管11命令说

24、明符 (hex)意义01节点进入运行状态02节点进入停止状态80节点进入预运行状态81复位节点82复位通信CAN-ID( hex)1 字节1 字节0命令说明符节点IDNMT slaveNMT masterDLC = 1requestindicationCAN-ID = 1793 to 1919图A.12: 上电信息网络管理主设备对应的对象字典索引见下表。表A.9: 网络管理主设备对应的对象字典索引网络管理主设备的启动过程见下图。120图A.13: 网络管理主设备的启动过程9.Heartbeat - 心跳协议心跳协议可以取代节点守卫协议。CiA推荐在新设备的设计上只实现心跳。心跳是一种管理服务,

25、它基于生产者/消费者模式。一个心跳生产者以一个频率循环心跳消息,此频率的值就是生产者的心跳时间,该时间在1017h中定义; 心跳消费者又以另一个频率是否收到这些信息, 此频率的值为消费者的心跳时间,该时间在1016h中定义。如果心跳消费者在该时间内未接收到心跳生产者的心跳信息,一个心跳就会发生。如下图所示: 图 A.14: 心跳协议10. SYNC - 同步对象13图A.15: 同步对象如上图,CANopen的同步机制基于生产者/消费者模式。在网络中,一个SYNC生产者以循环方式SYNC报文。Sync报文中一般不包含数据。对象字典中指定1005h描述了SYNC报文的标识符,这个还用来指定该设备

26、是否是SYNC生产者。另外两个对象字典指定了传输的时间特性。1006h定义了SYNC时间即两个相邻的SYNC报文的时间间隔。1007h定义了同步窗口,即收到SYNC报文和发送TxPDO之间所的最大时间间隔。11. Emergency - 紧急对象网络中的节点检测到硬件或软件的错误可以将其通过紧急对象通知其它节点。内部的任何错误都将被编码为定义好的错误代码传送给其他节点,如果错误全部被纠正,则节点将发送一个带有代码无错误的报文。CANopen的紧急对象包含以下两类错误: 通信错误传输报文时频繁发生错误; CAN器脱离总线状态;缓冲器溢出; 接收缓冲器溢出; 心跳( Heartbeat)或生命守卫

27、( Life-Guarding)信息的丢失; 在SDO块传递中出现CRC错误。 应用错误应用程序错误是指诸如短路,欠压,超出温度极限,代码或RAM错误等。紧急对象遵从生产者/消费者模式,见图A.16。14图 A.16:紧急对象传输模式紧急状态报文包含 8 个字节,第 1 和第 2 字节包含了设备规范中定义的信息,第 3 字节包含了错误寄存器的内容,剩下的五个字节包含了设备制造商定义的错误信息。紧急状态错误代码 在对象字典索引 1003h 处,错误将按照时间顺序被写入该索引,最旧的错误将占据最高的子索引位置。表 A.10:紧急对象报文紧急对象的状态机见下图。图 A.17:紧急对象状态机15字节0

28、1234567内容错误代码错误寄存器对象1001h制造商定义的错误区域其中,0:上电后自动进入无错误状态;1:紧急对象产生后进入有错误状态;2: 一个错误被改正,但非全部错误;3:产生新的错误;4:所有的错误被改正。Object 1003h0311615Sub-index 1Sub-index 2Sub-index 3Sub-index 254MSBLSB图 A.18:索引 1003h图 A.19:错误编码12. 默认 CAN-IDCiA 301 对于设备的默认CAN-ID 做了规定,见下图。其CAN-ID 由高 4 位的功能码和低 7 位的节点号组成。默认的 CAN-ID 保证了设备间的最大

29、兼容性,如无十分必要不应由用户修改。1600xxhError reset or no error60xxhDevice software 10xxhGeneric error61xxhinternal20xxhCurrent62xxhuser 21xxhdevice input side63xxhdata set 22xxhinside of device70xxhAdditional modules 23xxhdevice output side80xxhMonitoring30xxhVoltage81xxhcommunication31xxhmain8110hCAN overrun 32x

30、xhinside of device8120hError Passive (EP) 33xxhoutput8130hLife Guard Error40xxhTemperature8140hrecovered from Bus-off41xxhambient82xxhProtocol error42xxhdevice8210hPDO not processed 50xxhDevice hardware8220hlength exceeded90xxhExternal errorF0xxhAdditional functions FFxxhDevice-specificAdditional er

31、ror infoError code n - 253Additional error infoError code nAdditional error infoError code n - 1Additional error infoError code n - 2Bit-No.: 10.0CAN-ID (11-bit)Function codeNode-ID表 A.11:默认的 CAN-ID 组成注意:下图中的绿域为可以修改的 CAN-ID,红域为不可修改的 CAN-ID。表 A.12:默认的 CAN-ID17EMERGENCY0001b129 (81h) - 255 (FFh)1014h,

32、 1015hTPDO1 (tx)0011b385 (181h) - 511 (1FFh)1800hRPDO1 (rx)0100b513 (201h) - 639(27Fh)1400hTPDO2 (tx)0101b641 (281h) - 767 (2FFh)1801hRPDO2 (rx)0110b769 (301h) - 895 (37Fh)1401hTPDO3 (tx)0111b897 (381h) - 1023 (3FFh)1802hRPDO3 (rx)1000b1025 (401h) - 1151 (47Fh)1402hTPDO4 (tx)1001b1153 (481h) - 1279

33、(4FFh)1803hRPDO4 (rx)1010b1281 (501h) - 1407 (57Fh)1403hSSDO (tx)1011b1409 (581h) - 1535(5FFh)1200hSSDO (rx)1100b1537 (601h) - 1663 (67Fh)1200hNMT ERROR CONTROL1110b1793 (701h) - 1919 (77Fh)1016h, 1017hObjectFunction codeCAN IdentifierCommunication parameters at IndexNMT0000b0-SYNC0001b128 (80h)1005

34、h, 1006h, 1007hTIME STAMP0010b256 (100h)1012h, 1013h12341234567EMCY message<80h + node ID>NMT message 0h SYNC message 80hTime stamp message 100h RPDO1 <200h + node ID> RPDO2 <300h + node ID> RPDO3 <400h + node ID> RPDO4 <500h + node ID>SDO(rx) <600h + node ID>TPDO

35、1 <180h + node ID> TPDO2 <280h + node ID> TPDO3 <380h + node ID> TPDO4 <480h + node ID>SDO(tx) <580h + node ID>Node guarding RTR<700h + node ID>Node status<700h + node ID>* node ID 0 is图 A.20:默认的 CAN-ID 与 CANopen 设备的关系13. EDS - Electronic Data Sheet - 电子数据表单

36、以标准格式描述 CANopen 设备的对象字典的文本文件,用于系统集成的配置及CANopen 一致性测试。14. CAN-ID CAN Identifier CAN 标识符用于在 CAN 总线中标识 CAN 报文的数字,可为 11 位(基本格式)或 29 位(扩展格式),其数值的大小决定了在总线仲裁中的地位。15. COB-ID Communication Object IdentifierCANopen 中描述 CAN 标识符和其它附加信息(如是否激活、是否支持文格式等)的对象。传输、报16. CANopen 的行业规范CiA 401: CANopen profile for generic

37、 I/O modules 通用 I/O 单元CiA 402: CANopen profile for drives and motion controllers 驱动和运动单元CiA 404: CANopen profile for measuring devices and closed-loop 测量和闭环CiA 405: CANopen profile for IEC 61131-3 programmable devices PLC 可编程设备类CiA 406: CANopen profile for rotary and linear encoders 转动和线性编码CiA 408:

38、CANopen profile for fluid power devices 液体动力设备CiA 411: CANopen profile for inclinometer 倾斜仪CiA 412: CANopen profile for medical devices 医疗设备CiA 414: CANopen profiles for weaving machines 纺织机CiA 415: CANopen profile for asphalt paving machines 沥青铺路机CiA 416: CANopen profile for building doors 楼宇门禁18CANopen devicenode ID*CiA 417: CANopen profile for lift control systems 电梯系统CiA 418. CANopen profile for battery modules 电池模块CiA 419: CANopen profile for battery charger 电池充电系统CiA 420: CAN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论