来源:本站整理 作者:佚名 2009-03-31 14:30:12
通过服务数据对象 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 总线部分驱动电路图,分别选用 TMS320F 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 测试结果