+86-1478258894512522120
葩星12522120 淘宝旺旺passiontechinc

pt@ptinfous.com

+86-14782588945

  加载中,请稍候...
浏览历史

 


基于-CANopen协议的数字伺服电机-通信主站研究

关键词:


简介:基于 CANopen协议的数字伺服电机通信主站研究Abstract: With the CANopen protocol,the upper control of digital servo was realized in the CNC system based on the FPGA,MCP2510,MCP2551 and IDM640-8EIA digital servo drive hardware. The data sending and receiving between master and slave were carried out with the PDO( process data objects) and SDO( service data objects)mode. Duri...
品 牌 ixxat ixxat
产 地 德国
型 号 PXF2999
折 扣 其他电询
咨询专家:

黄工-工业总线-工业自动化-实时仿真

黄工-工业总线-工业自动化-实时仿真 ID:2937

   机电电子工程专业硕士,机械设计制造及其自动化/计算机双学士,高级工程师

    具有丰富的从业、管理经验,曾在机电工程公司,资深设计代理公司工作。历任组织、经理等岗位,同时具有深厚的理论基础和项目项目研发经历。...

[MORE]

赵工-总线系统-嵌入式系统-工业自动化

赵工-总线系统-嵌入式系统-工业自动化 ID:2940

    机械电子工程,嵌入式系统专家,高级工程师

    嵌入式项目开发,ARM,Freescale,Infilion等系列单片机系统开发,DSP嵌入式系统开发,FPGA系统开发,项目经验丰富。


...

[MORE]

产品说明:

 

CANOpen协议的数字伺服电机通信主站研究

Abstract: With the CANOpen protocol,the upper control of digital servo was realized in the CNC system based on the FPGA,MCP2510,MCP2551 and IDM640-8EIA digital servo drive hardware. The data sending and receiving between master and slave were carried out with the PDO( process data objects) and SDO( service data objects)mode. During the compiling process,VHDL was the main program language,the application function of CANOpen master stage can berealized in FPGA. The results show that the digital servo can drive the servo motor in agreement with the requirementsfrom the upper control instructions and realize the CANOpen communicates successfully.[Ch,6 fig. 3 tab. 10 ref.] Key words: CANOpen protocol; field-programmable gate array( EPGA); digital servo; object dictionary

1研究背景之间的通信速度大大提高,传统的脉冲式数据传输已

多轴、多通道复合加工控制策略是当今世界数控经很难满足这种要求。而数字伺服的出现能很好的解技术研究的热点也是难点。其核心问题就是控制器与决这一问题,组成伺服驱动电路的位置、速度和电流控多路伺服驱动之间的通信问题,这里的通信包括控制制环节部分实现数字化,甚至以单片微机或高速数字信号的传递、状态信号的反馈等。传统的伺服系统控信号处理器为硬件基础,进行全数字化控制。文章提制信号都是以脉冲的形式发出,通过脉冲当量再换算出了一种基于 CANOpen协议的数字伺服驱动方案。 出相应的电机转数,但是随着数控系统的发展,多轴、2设计方案概述高速、高精度数控系统所要求的数控系统与伺服驱动系统架构如图 1所示,以 FPGA为硬件基础,建立

收稿日期 :2011-04-11;修回日期 :2011-04-18基金项目 :国家重大科技专项(2009ZX04004-021 );安徽省科技创新专项( 2010AHDS0242)作者简介 :韩江( 1963),男,河南洛阳人,合肥工业大学教授,博士生导师,主要从事现代数控技术与数控系统,数字化与网络化制造技术及其装备等方面的研究,已发表论文 40余篇,出版教材 2部,专著 1部。通信作者:黄涛,E-mail:huangtao501@ 163. com

·68·轻工机械 Light Industry Machinery 2012年第 1期

canopen主站,并组建网络,将各个数字伺服驱动连接CANOpen网络中。CANOpen主站负责整个网络的运行和管理,监视数字伺服驱动上的状态信息,并将数控系统插补器中得出的数据信息传给数字伺服驱动。 IDM640-8EIA型数字智能伺服是一款基于最新 DSP技术的全数字智能伺服驱动器,集多类电机驱动与运动控制功能一体。内置 CANOpen通信对象字典,使用时需对对象字典中的参数进行配置设定。数字智能驱动器可将主站发送来的报文中的有效数字信息提取出来,在驱动器内部对数据进行加工,计算出电机运动的位移、速度、加速度等运动参数,执行相应的运动,以实现数控系统的运动控制。

图 1基于 canopen协议的数字伺服系统架构

Figure 1 Frame of digital servo system

based on CANOpen protocol 3 CANOpen主站的硬件设计

CANOpen协议为一种开源协议,具有较高的配置灵活性,较高数据传输能力,较低的实现复杂度,支持各种 CAN厂商设备的互用与互换2。该协议一经推出便在欧洲得到了广泛的认可与应用,通过对 CANOpen协议规范文本的多次修改,CANOpen协议在稳定性、实时性、抗干扰性等方面都得到了进一步提高。CAN协议只定义了物理层和数据链路层 2个底层协议,而 CANOpen协议在其基础上定义了应用层协议,其模型如下图 2所示3

CANOpen主站主要是由收发器、CAN控制器以及 CANOpen应用层芯片组成,其中 :

1) CAN收发器为协议层中的物理层,把 CAN控制器生成的数字信号转化成为适合总线传输的(差分输出 )信号。本文采用的收发器为 MCP2551芯片,MCP2551是一个可容错的高速 CAN器件,为 CAN协议控制器提供差分收发能力,具有很强的抗干扰性。

  1. 2) CAN控制器中固化了数据链路层的协议,其功能是处理所有总线上的报文发送和接收。本文采用的 CAN控制器为 MCP2510芯片,它是一款局域网络 ( CAN)协议控制器,完全支持 can总线V2. 0A/B技术规范,具备验收过滤以及报文管理功能。该器件包含三个发送缓冲器和两个接收缓冲器,具备状态寄存器和逻辑处理器,用来存储控制器的各种状态,进行总线优先权评定以及完成错误处理等功能。与应用层芯片的通讯是通过行业标准串行外设接口 ( SPI)来实现的,其数据传输速率高达 5 Mb/s。

     

  2. 3) CANOpen应用层芯片是在 FPGA ( Field Programmable Gate Array)中实现的。FPGA是在 PAL、 GAL等逻辑器件的基础上发展起来的,是一种特殊的 ASIC芯片,具有规模大、体积小、可靠性高、计算速度快等优点4。文中采用的是 Altera公司的 CycloneⅢ系列 EP3C80F484C8型 FPGA,数控系统的插补计算模块也在该 FPGA中实现,这样一来 CANOpen应用层模块就可以与插补计算模块共享数据存储器,用于存放插补运算的结果,并等待 CANOpen网络将其发送到各个从节点。

     

CANOpen应用层芯片加上 CAN控制器和 CAN收发器是构成 CANOpen主站的三大部分,在外加一些外围电路就形成 CANOpen主站的硬件电路,原理图如图 3所示,MCP2510通过 SCK、SI、SO和 CS与 FPGA的 I/O接口相连。

图 2 CANOpen通信模型 Figure 2 CANOpen communication model

[自控 ·检测]韩江,等基CANOpen协议的数字伺服电机通信主站研究·69·

图 3 canopen主站原理图 Figure 3 Task scheduler in CANOpen master

4 CANOpen主站任务调度状态机

有限状态机 ( Finite-State-Machine,简称 FSM)在数字集成电路中是指输出取决于过去输入部分和当前输入部分的时序逻辑电路,它将一个时序逻辑抽象成一个同步有限状态机,有限个状态以及在这些状态之间的转移和动作等行为的数学模型就是状态机的调

[5-7]

CANOpen主站应用层芯片共包含 14种状态。如图 4所示,当主站上电以后,首先需要对 CAN控制器与 CANOpen网络进行初始化,包括 SPI接口初始化,引脚功能配置,CAN控制器工作模式设定等。而后状态机跳转到主站应用层接口任务状态,此任务状态的控制逻辑最为复杂,上接 4个状态输入,下启 5个输出状态。该状态对 CAN控制器进行监控,根据 CAN控制器的中断类型,进行相应的操作,如读到接收报文中断时,便启动 CAN报文接收状态 ;若长期无报文接收则新 PDO生成状态进行数据发送;若满足其他要求则进入其他相应状态。

当第 1次进入 st1时,需跳入新 Sync生成状态以产生同步报文,使整个网络进行同步。第 3个状态为报文接收,在该状态被启动以后,CAN控制器接收缓冲区的报文被取出存放在 FPGA的接收缓冲区中,同时 CAN控制器的相关状态寄存器将被复位。接下来是报文解析分发状态,在此模块根据接收报文的 COBID将报文分类,并相应地启动 PDO处理、SDO处理和 NMT处理 3个状态中相应的状态。随后报文将在此 3个处理器中进行处理。新 PDO生成状态模块用于产生新的 PDO数据,数控系统插补器计算的数据结构都是由此模块发送给相应的轴节点。新 SDO生成状态模块是进行对象字典读取与改写的场所。新 NMT生成状态模块用于网络管理指令的下达。报文封装状态

图 4 canopen主站状态转移图 Figure 4 State transition diagram of CANOpen master

·70·轻工机械 Light Industry Machinery 2012年第 1期

模块是将各个状态产生的报文按CANOpen协议进行封装。封装好之后的报文需通过 CAN报文发送状态模块进行发送。主站应用层接口在接收到错误中断时,便启动错误处理,经过分析之后若需要通过 NMT报文进行管理的则跳至新 NMT报文生成状态以产生网络管理报文,若无需响应则直接返回主站应用层芯片接口进行其他处理。

如表 1和表 2所示,CAN报文包括帧起始、仲裁字段、数据段、CRC校验以及帧结束几大部分组成8,其中仲裁字段定义了 8个优先级,每个优先级拥有 220个 COB-ID,范围从 1到 1760。CRC校验是为了确保报文传输的正确性。CANOpen协议则是将自己的数据信息按照协议要求打包放在 CAN报文的 8字节数据当中。

5基于 CANOpen协议的数字伺服电机控制

5. 1 SDO数据帧

表 1和表 2表示出了 CANOpen服务数据信息 ( SDO)报文的帧结构形式,SDO将 8字节数据段分为请求码、对象和子对象索引以及 4字节数据,从而进行对象字典数据的读写。

表 1请求帧 (主站 -数字伺服 ) Table 1 Request frames ( master-digital servo)

8字节数据字段

帧起始 仲裁字   请求码 对象索引 ( index) 对象子索引 ( sub-index) 数据 ( 4 Byte)   校验 帧结束
  COB-ID                
  (数字伺服从站 TD) RTR Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 CRC  

表 2响应帧 (数字伺服 -主站 ) Table 2 Response frames ( digital servo-master)

8字节数据字段

帧起始 仲裁字   响应码 对象索引 ( index) 对象子索引 ( sub-index) 数据 ( 4 Byte)   校验 帧结束
  COB-ID                
  ( CANOpen主站 TD) RTR Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 CRC  

5. 2数字伺服电机的对象字典个元素,同时定义了一个 8位的子索引9。由于对象对象字典 ObjecDictionary)是 CANOpen协议的字典条目众多,再此以索引号为 1800h( TPDO1通信参核心它连接了 CANOpen设备的通讯接口和应用部数)的对象字典为例,如表 3所示,可通过修改相应对分,对象字典是一个有序的对象组,每个对象采用一个 象字典中的参数对通信加以配置1016位的索引值来寻址,为了允许访问数据结构中的单

表 3 1800h号对象字典 ( TPDO1通信参数 ) Table 3 Object dictionary( TPDO1 parameters)

索引子索引数据类型描述读写类型缺省

1800h( TPDO1通信参数 ) 00h-子索引个数只读

5 1800h( TPDO1通信参数 ) 01h无符号 32位 TPDO1的 COB-ID读/写 180h + Node-ID 1800h( TPDO1通信参数 ) 02h无符号 8位传输类型读/写 255 1800h( TPDO1通信参数 ) 03h-保留-1800h( TPDO1通信参数 ) 04h-保留-1800h( TPDO1通信参数 ) 05h无符号 16位时间定时器读/写 0

5. 3数字伺服电机对象字典的操作过程举例公司 CycloneⅢ系列 EP3C80F484C8型 FPGA中建立,编

如图 5所示,本研究搭建了一个基于 CANOpen协程环境为 Quartus Ⅱ,采用 VHDL语言。CAN控制器采议的数字伺服电机控制平台,应用层在型号为 Altera用 MCP2510,CAN收发器采用 MCP2551。

[自控 ·检测]韩江,等基于 canopen协议的数字伺服电机通信主站研究·71·

图 5系统实物图 Figure 5 Experiment platform of the systems

程序中建立了发送与接收的数据缓冲区,并在其相应的逻辑状态利用循环语句对数据进行传输操作, FPGA与 CAN控制器之间的数据交换是通过 SPI接口实现的。截取代码如下 :

TX _ Buffer: OUT STD _ LOGIC _ VECTOR ( 63 DOWNTO 0); --定义发送缓冲区

RX _ Buffer: IN STD _ LOGIC _ VECTOR ( 63

DOWNTO 0); --定义接收缓冲区

L1: FORI IN0 TO63 LOOP–循环,将发送缓冲区中的数据在 CLK上升沿发送出去 IF CLK’EVENT ANG CLK = 1 THENSI< = TX_Buffer( I); END IF;

END LOOP[L1];

图 6为截取的一段 Modesim仿真图,对应程序为上位机访问数字伺服中索引号为 1800h的对象字典, CLK时钟周期为 40 ns。

图 6读对象字典波形仿真 Figure 6 Simulation of Reading object dictionary

6结语

利用 canopen高层协议实现了 CANOpen主站与数字伺服之间的数据通信,为多轴、高速数控系统数据传输提出了一种解决方案,改变了传统的脉冲控制模式,改用数字伺服系统,对多轴多通道数控机床的研究具有重要的意义。

 

CANOpencan总线CAN总线
参数资料:
基于-CANopen协议的数字伺服电机-通信主站研究
该文章系原厂商文章翻译,不通之处请参考原文
价格列表: 基于-CANopen协议的数字伺服电机-通信主站研究
葩星订货号 订货号 产品名称 报价 品牌  
PXO_2723400W ,BM60004-1NN0 (带刹车)400W ,BM60004-1NN0 (带刹车)3003~3837etherrt
相关产品: 基于-CANopen协议的数字伺服电机-通信主站研究
  咨询历史: