如何快速实现CANopen主站设备——基于CANopen协议的PCI-5010P

2010-06-03 09:13广州致远电子有限公司
电子技术应用 2010年5期
关键词:波特率驱动程序板卡

1 引言

由于可靠性、实时性、低成本、抗干扰性、兼容能力等多方面的优势,CAN-bus与其高层协议CANopen已成为车辆数据通信系统的事实标准,并普遍应用于所有的可移动设施。符合CANopen协议标准及其设备协议子集标准的系统,就可以在功能和接口上保证各厂商设备的互用性和可交换性。

前几期文章中介绍了CANopen从站设备 (XGate-COP10),本期文章将介绍CANopen网络中具有主站功能的设备如何开发。

尽管在CiA组织的CANopen规范中没有明确地定义主站设备和从站设备,但大家还是习惯把具有网络管理(NMT)能力的 CANopen设备称之为 CANopen主站设备。除此之外CANopen主站还应具有服务数据(SDO)客服端功能,这样CANopen主站能够控制以及访问网络中的所有CANopen从站。PCI-5010P就是具有这些功能的CANopen主站板卡(PCI接口)。下文将介绍如何基于该产品快速实现功能强大的CANopen主站设备。

2 CANopen网络的拓扑结构

一个CANopen网络中的主站设备管理着其他的从站设备,而且一个网络只允许有一个CANopen主站设备和最多127个从站设备存在。图 1所示为PCI-5010P在CANopen网络中的典型应用形式。

3 PCI-5010P CANopen主站卡简介

PCI-5010P系列工业级CAN通信卡支持CANopen主站协议,支持CiA建议的标准波特率以及自定义波特率,并提供多个操作系统的设备驱动、工具软件等,能真正地满足客户的各种应用需求,为工业通信CANopen网络提供了可靠、高效率的解决方案,在计算机中的硬件与软件结构如图2所示。

PCI-5010P具有如下特性:

·通用 PCI总线,兼容 PCI 2.2规范;

·支持CAN2.0A协议;

·支持CANopen协议;

·符合ISO/DIS 11898-2规范;

·集成1路电气完全隔离的CAN通道;

·DC 2 500 V电气隔离保护;

·增强ESD/EMI性能;

·遵守工业应用规范。

4 PCI-5010P驱动安装

PCI-5010P通信卡没有任何开关和跳线用于分配中断和I/O地址,这些都是由BIOS自动分配。因此在安装驱动程序之前板卡必须事先安装到PCI槽上,以下是安装步骤。通常在新加装PCI板卡后,启动计算机之后会弹出“找到新硬件”的界面,这时需要手动把PCI-5010P的驱动所在的文件夹添加到搜索的位置,这样直接点击下一步,驱动程序加载程序就自动地把驱动程序安装完成。

5 基于PCI-5010P的PC机端软件设计

图3所示为PCI-5010P的操作流程,其概括性地描述了PCI-5010P的所有功能及相应的API函数调用结构。以下将详细介绍常用的API函数功能及使用。

(1)

初始化

PCI-5010P

PCI-5010P被打开时,必须按照图 3所示的顺序来操作,即需要经历打开、初始化参数、添加节点、启动CANopen主站等步骤。在关闭PCI-5010P时,其操作与初始化的流程相反,操作代码如下:

CANopen主站设备能接收来自CANopen网络中的所有PDO数据,PCI-5010P CANopen主站卡同样也接收任意的PDO数据,但是需要在接收指定的PDO数据之前把该PDO的COB-ID注册到CANopen协议栈中。其实现可参考以下代码:

(3)SDO传送数据

作为一个CANopen主站设备应该具备SDO客服端功能,这样就可以通过SDO来访问网络中节点的任意对象字典,其中包括下载和上传数据。其操作可参考以下代码:

(4)NMT网络管理

PCI-5010P作为CANopen主站设备,其最主要的特征就是拥有对整个网络的控制权,即网络管理功能(NMT)。可使网络中的CANopen设备进入到不同的操作状态(启动从站、停止从站、进入预操作状态、复位协议栈、复位通信参数等)。其操作示例可参考以下程序代码:

(5)其他功能

PCI-5010P不仅具有如上所述的基本功能,还具有其他一些CANopen相关的功能特性,例如获取指定从站的当前工作状态、发送网络时间标识、PDO的远程请求以及紧急错误代码功能等(具体操作可参考API函数库手册)。这些功能都为开发一个完整的CANopen主站设备提供了必备条件。

6 结束语

经过以上步骤,通过调用PCI-5010P的API函数库实现一个特定功能的CANopen主站设备。因为PCI-5010P CANopen协议栈通过了CiA的一致性测试,所以能很好地兼容其他的CANopen设备。

广州致远电子有限公司提供各种接口的CANopen接口卡、CANopen终端设备(包括数据采集、电机控制等)、CANopen分析仪、网关及网桥、OPC服务器以及基于CANopen协议的整套组网方案及应用开发。

猜你喜欢
波特率驱动程序板卡
CAN 总线波特率自适应程序设计
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
计算机硬件设备驱动程序分析
一种基于光纤数据传输的多板卡软件程序烧写技术
一种通用模拟量及开关量信号采集板卡的设计
基于MPC8280的CPU单元与内部总线驱动程序设计
C*Core芯片SCI串口波特率容限优化
UART波特率发生电路设计
计算机多设备接口波特率不匹配的研究