FPGA培训
  首页 FPGA培训 北京FPGA培训 成都FPGA培训 四川FPGA培训 深圳FPGA培训 广州FPGA培训 广东FPGA培训 西安FPGA培训 陕西FPGA培训
空白
空白
技  术  频  道
        嵌入式系统     电源管理
        3G手机     汽车电子
        数字电视     消费电子
        传感器     通信技术
        工业控制     测试测量
        可编程逻辑     中国RoHS
        DSP与MCU     无源元件
        电子制造     模拟电路
哈佛结构  运算放大器  非结晶硅太阳电池
DSP MCU双核  数据转换器  MODEM
专用型DSP   检波器   通用型DSP
请您来编写词条                     更多>>
CANopen 协议在现场总线网络中 应用

贾 佳

( 西安航空职业技术学院 陕西 西安 710089)

1 引 言

 

基于现场总线 网络技术研究是自动控制领域发展 一个热点,  在各种各样 工业现场总线中, CAN 总线以其成本低, 速度快, 实时性和可靠性较高等特点被快速应用于汽车电子, 医疗, 军事等领域,  但是, CAN 总线只定义了物理层和数据链路层,本身并不完整,针对这一问题, CiA(CAN in Automation) 协会经过不断 发展于 1995 年发布了完整 CANopen 协议,它不仅定义了应用层和通讯子协议,也为可编程系统, 不同器件, 接口, 应用子协议定义了帧状态,为基于现场总线 全数字分布式控制系统 广泛应用和系统 一体化管理提供了解决之道, 

 

本文以改善现场总线网络通讯系统 运行效率,提高实时性和信息处理能力为前提,针对并条机自调匀整控制系统中各功能模块 作用,浅析 CAN 总线高层通讯协议 CANopen ,实现各功能模块间 数据通信,  通过实验测试,证明系统工作稳定, 可靠,保证了全数字分布式网络系统工作 快速性, 准确性和实时性, 

 

2 CANopen 协议概述

 

2.1 设备模型

 

CANopen 协议是由 CiA 协会针对 CAN 协议 不完整性而定义出来 一个更高层次 协议——应用层协议,  一个 CANopen 设备模块可以被分为 3 部分,如图 1 所示,  通信接口和协议软件提供在总线上收发通信对象 服务,  不同 CANopen 设备间 通信都是通过交换通信对象完成 ,  这一部分直接面向 CAN 控制器进行操作,  对象字典描述了设备使用 所有 数据类型,通信对象和应用对象,  对象字典位于通信程序和应用程序之间,向应用程序提供接口,应用程序对对象字典进行操作就可以实现 CANopen 通信,  应用程序包括功能部分和通信部分,通信部分通过对对象字典进行操作实现 CANopen 通信,而功能部分则根据应用要求实现, 

 

2.2 对象字典

 

对象字典 (Object Dictionary , OD) 是一个有序 对象组,每个对象采用一个 16 位 索引值来寻址,为了允许访问数据结构中 单个元素,同时定义了一个 8 位 子索引,对象字典 结构参照表 1 ,对象字典 描述参照表 2 , 

 

在 CANopen 网络系统中每个节点都有一个惟一 对象字典,每个节点 对象字典都具有相同 结构,但具体 内容要根据不同 设备而定,包含了描述这个设备和它 网络行为 所有参数, 

 

2.3 通讯对象

通过 CAN 网络传输 CANopen 通讯对象可以通过服务和协议来描述,  分类如下:

 

(1) 实时数据通过过程数据对象 (PDO) 协议传输, 

 

用 8 个字节 数据字段把过程数据对象 PDO 映象到一个单一 CAN 帧从而传输应用对象,  每个 PDO 有一个惟一 标识符且仅可以通过一个节点发送,但其接收者不止一个,  每个 PDO 在对象字典中用 2 个对象描述: PDO 通讯参数,规定了 PDO 通讯行为,包含哪个 COB ID 将被 PDO 使用,传输类型,禁止时间和定时器周期; PDO 映射参数,规定了哪个对象被映射到一个 PDO 里,生产者和消费者必须知道这个映射,以解释 PDO 内容, 

 

(2) 服务数据对象 (SDO) 协议用来对对象字典进行读写操作, 

 

通过服务数据对象 SDO 可以访问一个设备 对象字典,  为了使通讯得到确认,一个 SDO 需要两个带有不同标识符 CAN 数据帧,通过 SDO ,在两个设备问可以建立点对点 通信,被访问对象字典 设备是 SDO 通讯 服务器,一个设备可以支持多个 SDO 对象,但是,至少有一个 SDO 在一个设备中被支持, 

 

(3) 特殊功能对象协议提供了特定应用,网络同步,时间戳和紧急报文传输, 

 

(4) 网络管理 (NMT) 协议提供了网络初始化,错误控制和设备状态控制服务, 

 

在 CANopen 网络中,需要一个节点履行 NMT Master( 主节点 ) 功能,  其他节点作为 NMT Slave( 从节点 ) ,  NMT 提供了以下功能:模块控制服务 ( 初始化参加网络通讯 从节点 ) ;错误控制服务 ( 管理节点和网络通讯 状态 ) ;配置控制服务 ( 上传和下载网络 配置数据 ) , 

 

(5) 层设置服务 (LSS) 协议用来配置 CAN 总线通讯参数和设备参数, 

 

使用 CANopen 协议定义 LSS 报文实现对 CAN 总线网络 配置,包括节点 ID ,通讯波特率,仪器 产品号, 序列号等,  LSS 报文在 CANopen 协议通讯中是可选 ,可以在节点初始化时直接指定节点 ID ,通讯速率等参数,它 使用可以提高系统灵活性, 

 

3 通信网络 CANopen 协议实现

 

3.1 自调匀整系统通信网络结构

 

本并条机自调匀整系统由键盘显示控制器, DSP 控制器, A 孔伺服电机控制器, B 孔伺服电机控制器, PLC 逻辑控制器和 PC 机监控组成,各节点在 CAN 总线 基础上采用 CANopen 协议实现通讯,完成系统预定义 功能,  图 2 所示为 A 孔开环式并条机自调匀整原理图, 

 

3.2 硬件部分

 

DSP 控制器部分为整个系统 核心,负责对整个通信网络进行信息采集, 数据运算, 工作控制,  下面主要说明 DSP 控制器 CANopen 协议实现, 

 

采用集成 CAN 模块 TMS 320F 2810 DSP 实现,它有多达 32 个邮箱,占用 512 B RAM ,都可以配置为发送或接收邮箱,且都有一个可编程 接收屏蔽寄存器,  这样就使数据传输更加方便灵活, 信息量大大增加,  图 3 为 DSP 控制器 CAN 总线部分驱动电路图,分别选用 TMS 320F 2810 64 引脚 CANTXA 和 65 引脚 CANRXA 作为 CAN 总线 发送和接收引脚,  采用 ADuM1100 高速数字隔离器替代传统 光电耦合器,  采用 MCP2551 作为高速 CAN 收发器,具有差分发射和接收能力,可将许多节点与同一网络相连接, 

 

3.3 软件部分

 

根据 CANopen 协议软件框架,分别设置了 NMT 报文, SYNC 报文, SDO 报文, PDO 报文和 Heartbeat 报文,并针对 DSP 控制器从节点 性质及其与各节点之间 关系,设置了各报文 COB - ID ,见表 3 , 

 

在系统中键盘显示控制器为主节点,通过液晶显示监控各从节点信息,主节点通过检测 4 个从节点发送 周期性心跳报文 (Heartbeat) 来判断各个从节点 工作状态,  图 4 为 DSP 控制器从节点 CANopen 协议通讯流程:在系统上电后,首先向主节点发送 Boot-up 报文,通知主节点进入 Pre-operational 状态,等待主节点 SDO 报文访问对象字典,在完成对象字典 配置后,等待接收主节点 NMT 报文进入 Operational 状态,开始 PDO 报文 发送及接收,完成信息数据 交换,实现分布式网络控制, 

 

4 测试结果

 

为了保证系统中每个模块都能够正常工作,需要设计一个能够与 PC 机进行实时通讯 通用板,满足对系统各部分在实验室环境下进行测试,确保系统正常运行,  采用 LabVIEW 软件设计 PC 机监控面板,内置信号采集, 测量分析与数据显示功能,摒弃了传统开发工具 复杂性,在提供强大功能 同时还保证了系统灵活性, 


 

在监控面板上可以设置节点号 (Node ID) ,主/从节点,设置要发送报文 类型 ( 如 TPDOn , SDO) , NMT , Heartbeat , LSS) 及内容 ( 数据长度,内容 ) ,选择通讯端口,还可以观察到接收 CAN 报文类型, 数据长度, 节点号和报文内容,  图 5 显示 数据是在初始化状态时进行 设置,可以在数据接收窗口看到进行 LSS 节点号设置和存储设置参数 返回报文,以及节点根据 CANopen 协议 规定发送 Boot-up 报文,和进入预操作状态后 Heartbeat 报文, 

 

5 结语

 

本文将 CANopen 协议应用于自调匀整系统,实现了现场总线分布式网络控制系统 数字化, 模块化,增强了设备 可扩展性,提高了数据传输 可靠性,  这种基于现场总线应用层标准协议 开发和使用,对提高系统 工作效率,特别是对复杂系统 研制具有一定 指导意义, 

 
本文摘自《现代电子技术》
版权所有2010 备案号:沪ICP备05030316号