嵌入式网络canopen协议

嵌入式网络canopen协议

ID:24611215

大小:170.07 KB

页数:4页

时间:2018-11-15

嵌入式网络canopen协议_第1页
嵌入式网络canopen协议_第2页
嵌入式网络canopen协议_第3页
嵌入式网络canopen协议_第4页
资源描述:

《嵌入式网络canopen协议》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、嵌入式网络Canopen协议1引言CANopen是一种架构在控制局域网路(ControlAreaNetwork,CAN)上的高层通讯协定,包桮通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen实作了OSI模型中的网络层以上(包括网络层)的协定。CANopen标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。CANopen支援网络管理、设备监控及节点间的通讯,其屮包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言资料链结层及实体层会用CAN來实作。除了C

2、ANopen外,也有其他的通讯协定(如EtherCAT)实作CANopen的设备子协定。基本的CANopen设备及通讯子协定定义在CANinAutomation(CiA)draftstandard301.中。针对个别设备的子协定以CiA301为基础再进行扩充。如针对I/O模组的CiA401及针对运动控制的CiA402.2TinyARM简介TinyARM模块内置了CANopen从站协议,为用户灵活快速设计CANopen从站,构建符合国际标准的工业现场总线及分布式网络提供了更多、更好的选择。TinyARM模块外观如图1所示

3、。困1TinyARM外观曲TinyARMCANopen从站模块提供了网络管理(NMT)、实时数据发送(TPDO)、实时数据接收(RPDO)、服务数据对象、同步报文、紧急事件等支持,同时还能够根据耑求支持不同的协议描述规范。使用Tiny-ARMCANopen从站模块可快速开发基于CANopen协议的控制设备、数据采集设备等,配合CANopen系列主站设备组建CANopen网络,迅速搭建工业现场总线分布式监控系统。3TinyARMCANopen协议栈配置TinyARM是一款可二次开发的嵌入式模块,提供API函数库。CANo

4、pen协议栈也是以API函数库形式提供,使开发者在开发CANopen设备的时候使用起来非常方便。由于CANopen协议栈会使用到相应的硬件资源,因此开发者首先需耍配置CANopen协议栈硬件资源,例如CANopenRUN和ERROR指示灯所对应的I/O端口等,正确的硬件配賈可使协议栈稳定可靠地运行。3.1CANopen协议栈硬件资源配置通讯单元处理和网络上其他模组通讯所耑要的通讯协定。设备的启动及重置由状态机(statemachine)控制。状态机需包拈以下的几个状态:Initialization,Pre-operat

5、ional,Operational及Stopped.当接收到网络管理(NMT)通讯对象,状态机会转换到对应的状态。对象字典(ObjectDictionary)是一个有16位元索引(Index)的变量阵列。每个变量可以(但非必须)有8位元的子索引(Subindex)。变量可川来调整设备的组态,也可以对应设备量测的资料或设备的输出。当状态机设定为operational之后,设备的应用(application)部份就会实现设备预期的机能。此部份可以由对象字典中的变量调整其设定,而资料由通讯层传收或接收。(1)指示灯端口配置按

6、照CANopen协议DS303-3的定义,CANopen从站需要使用两种颜色的LED指示灯来指示运行和错误状态,运行指示灯使用绿色,错误指示灯使用红色,根据实际硬件来设置LED控制端口。协议桟通过调用如表1所示的3个函数来实现,配賈文件与协议栈结构如图2所示。1«2CAN«prn协议代与娩件资源钴W(2)参数存储函数参数存储相对来说更S杂一些,需要根据实呩硬件条件来修改相应的实现函数,其屮的jrgtCavInit、」rgtCavOpen、」「gtCavClose、_TgtCavDelete、__TgtCavCreate

7、、_TgtCavShutDovvn等函数执行对存储器进行初始化或关闭存储器等操作,在协议桟初始化或关闭时被调川。函数_丁8『3¥510比、_TgtCavRestore主要负贵参数的存储与读取,CANopen协议栈的参数存储以对象字典为最小单位,每存储或恢复一次对象字典的参数都会调用存储或恢复参数函数,存储、恢复函数与协议栈的关系如图2所示。3.2设H•对象字典设计CANopen的对象字典主要分为以下两个步骤,其与协议栈结构关系如图2所示。(1)生成对象字典对象字典是CANopen的核心,不同的设备描述规范或不同的应用就

8、有不同的对象字典,因此对于一款能支持二次开发的模块来说,根裾具体需求生成相应的对象字典也是必不可少。TinyARM中的CANopen对象字典可以通过ODBuilder软件来生成,生成的对象字典为3个标推C文件,文件名分別力:obdcfg.h,、objdict.Csobjdict.h,把工程屮的同名文件複盈即可将CANopen的对象

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。