CAN总线应用层协议在空间机器人中的应用

更新时间:2023-05-28 19:51:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CAN总线应用层协议在空间机器人中的

应用

杨晓华,孙汉旭,贾庆轩

(北京邮电大学自动化学院, 北京 100876)

摘要:外太空高辐照和高温差的恶劣环境以及空间机器人系统在轨任务的复杂性,对空间机器人数据处理和通信系统的可靠性提出了较高的要求。本文针对六关节空间机器人系统CAN网络构架,详细介绍了其CAN总线应用层协议的实现。本协议充分考虑了空间机器人所处特殊的太空环境对通讯数据流可能造成的破坏,在CAN物理层携带的CRC校验基础上专门增加了自定义的CRC校验(Cyclic Redundancy Check, 循环冗余校验),以保证数据流安全性。协议本着简洁、耦合性小的原则,充分满足空间机器人嵌入式体系结构所要求的实时性、稳定性。 关键词:嵌入式系统;CAN;应用层协议;空间机器人

1引言

空间机器人作为在太空这个特殊环境下的嵌入式体系结构的机器人,在选择总线时遵循的原则是高可靠、高速、高实时性同时要考虑小型化设计。CAN总线可以提供高达1 Mbit/ s 的数据传输速率和很高抗电磁干扰性,这些特性使得CAN总线在空间机器人中应用越来越普遍。

然而CAN2.0规范仅定义了OSI模型的数据链路层、物理层,而没有规定OSI模型的上层,所以当用户要组建一个具有实际工作意义的CAN总线通讯网络时,必须自己制定应用层协议。本文基于863机械手系统项目详细介绍了空间机器人系统中CAN总线应用协议的具体实现。

2 CAN总线简介

CAN(Controller Area Network)即控制器局域网,是国际上应用最广泛的

现场总线之一。它作为一种多主方式的串行通讯总线,采用点对点、全局广播形式发送接收数据,可实现全分布式多机系统,且无主从机之分,网络各节点都有权

向其他节点发送信息,并采用非破坏性总线优先级仲裁技术,方便地构成多机备份

系统。

CAN适合空在间机器人中应用的主要特点有:①低成本②极高的总线利用

率③很远的数据传输距离(长达10Km)④高速的数据传输速率(高达1Mbps)⑤可

根据报文的ID决定接收或屏蔽该报文⑥可靠的错误处理和检错机制⑦发送的信

息遭到破坏后,可自动重发⑧节点在错误严重的情况下具有自动退出总线的功能⑨报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

3 关节空间机器人系统CAN总线网络结构

六关节空间机器人系统中包含1个中央控制器和6个关节模块,采用上下位机

的系统控制策略,上下位机通过CAN总线进行通讯,如图1所示。上位机——中央控制器,是一个基于ARM内核设计的嵌入式系统,实现对六个关节运动角度

规划和控制;下位机——六个关节,采用基于DSP设计的智能控制节点,依据上位机传下的数据运动,并且将自身的硬件状态和运动角度实时反馈给上位机。

图1 六关节空间机器人系统CAN网络

其中每一个CAN总线电气接口由82C250芯片或其兼容芯片定义,利用备份

串行通信总线实现信息交换,如图2给出了某节点的总线接口形式。

图2 CAN总线电器接口图

注①:图2中,R*为匹配电阻,各节点应保留该匹配电阻的设计,便于总线阻抗匹配。

4 关节空间机器人CAN总线应用层协议实现

CAN 2.0 规范分为CAN 2.0A与CAN 2.0B。CAN 2.0A支持标准的11位标识

符;CAN 2.0B同时支持标准的11位标识符和扩展的29位标识符。本项目采用的

是CAN2.0A规范。

1.1 CAN2.0A标准帧格式:

CAN2.0A标准帧信息为11个字节,包括两部分:信息和数据部分。前3个字

节为信息部分。如表1所示:

表1 CAN2.0A

标准帧格式

字节1为帧信息。第7位(FF)表示帧格式,在标准帧中,FF=0;第6位(RTR)

表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC表示在数据帧

时实际的数据长度。字节2、3为报文识别码,其中ID10-ID0这11位有效。字节4~

11为数据帧的实际数据,远程帧时无效。

1.2关节空间机器人CAN总线帧内容

基于CAN2.0A标准帧格式的应用层协议的设计实际上就是确定标准帧内11

位报文识别码和数据场的内容,以下详细介绍了六关节空间机器人系统中CAN

总线应用层协议的具体实现。

1.2.1 11位报文识别码ID10-ID0的定义

11位报文识别码ID10-ID0分成3部分,如表2所示。

表2 六关节空间机器人CAN标识符结构

标识符

ID10~~ID3

帧源地址 帧目的地址 ID2 应答/主动发送标识 ID1~ID0 帧类型

在表2中,报文识别码的高8位(ID10~ID3)统称为帧代码,用于标识发送

该帧的分系统和接收该帧的分系统及优先级控制,代码值小的标识符具有较高的

优先级。其中,高4位(ID10~ID7)用于指示发送帧的分系统,低4位(ID6~ID3)

用于指示接收帧的分系统。具体代码如表3所示。

表3 六关节空间机器人数据场源/目的节点代码 序 号 目标说明 ID6~中央控制器

关节1 001B 3 1B 关节2

关节3 010B 5 1B 关节4

关节5 011B 7 1B 关节6

在表2中的ID2位用于指示该帧是主动发送帧还是应答帧。如表4:

表4 六关节空间机器人CAN数据场ID2含义

序号应答帧/主动发送帧

主动发送帧

应答帧

在表2中的ID1~ID0用于描述帧类型,如表5:

表5 六关节空间机器人CAN数据场ID1-ID0含义

序号~ID0 帧类型

单帧数据

开始帧数据

中间帧数据

结束帧数据

空间机器人系统内通信数据流向只能有两个:中央控制器→关节;关节→中

央控制器。关节之间不存在直接的CAN总线命令和数据的传递,如果出现这一类

指令则认为是出错。表6中列出了所有有效的帧ID。 表6 六关节空间机器人帧ID及帧定义

ID2 序号~ID3 帧名称

中央控制器->关节 1数据帧

中央控制器->关节2 数据帧

中央控制器->关节3 数据帧

中央控制器->关节4 数据帧

中央控制器->关节5 数据帧

中央控制器->关节6 数据帧

关节1->中央控制器 数据帧

关节2->中央控制器 数据帧

关节3->中央控制器 数据帧

关节4->中央控制器 数据帧 关节5->中央控制器 数据帧 关节6->中央控制器 数据帧 关节1->中央控制器 应答帧 关节2->中央控制器 应答帧 关节3->中央控制器 应答帧 关节4->中央控制器 应答帧 关节5->中央控制器 应答帧 关节6->中央控制器 应答帧

2.2.2数据场定义

数据场为8字节长度,数据场的第一个字节作为命令索引字,最后一个字节

作为CRC校验字节;数据场最多传送6个有效的字节数据,当有效数据少于6个字

节时剩余字节补零。数据场通用格式参见表7。

表7 六关节空间机器人CAN总线的数据场通用格式

帧内偏移量 名 称 说 明

0 索引 命令索引字(用来说明后6字节数据的功能)

第一个16位整型数据 第二个16位整型数据 第三个16位整型数据 校验字节帧内0~6数据的CRC校验

2.2.3自定义的CRC校验:

因为太空中电离层中存在不规则体,会使经其传播的高频、甚高频直至超高频波

受到法拉第效应和电离层闪烁的影响,使波发生延迟、信号衰落,通信质量下降。

为了防止这些影响引起的通讯数据流改变而造成误操作,在CAN总线本身物理

层的CRC校验基础上专门用数据场中一个字节作为Data0-Data6这6个字节数据

的CRC8校验。采用查表法来完成CRC-8校验,

CRC多项式定义:x^8 + x^2 + x^1 + x^0, init = 0

5 总结

本文详细介绍了中央控制器和六个关节之间的通讯CAN总线应用层协议的

具体实现。完全遵循空间机器人的特殊环境要求,协议简单、耦合性小、且检错

能力强,有效防止在太空中因数据流破坏而造成的误操作,保证通讯的可靠性和

实时性。

参考文献及注释

[1]广州.周立功.单片机发展有限公司. CAN总线现场总线基础方案-通讯篇.2004.3.30

[2]刘淑芬,孙听. CAN总线在卫星中的应用技术研究[C].全国第十一届空间及运动体控制技

术学术年会.

[3]李月琴,王进峰.TMS320LF2407的CAN总线通讯[J].嵌人式论文,2003.9

[4]饶运涛.现场总线CAN原理与应用技术[M]. 北京:北京航天航空大学出版社,2003.

[5]都宽明. CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社

The application protocol of CAN-bus for space robot

Yang Xiao-hua, Sun Han-xu, Jia Qing-xuan

(Beijing University of Posts and Telecommunication,Beijing 100876,China)

Abstract: Because of the great difference in temperature and the high radiation

environment of the outer space and the complicated space robot flying missions, the data processing and communication system of the space robot needs high reliability. On the analysis of the architecture of space robot with six joints, this paper presents a CAN-bus application protocol which has little coupling to satisfy the real-time performance of embedded-system,. In additional this protocol especially adds an user-defined CRC(Cyclic Redundancy Check) to enhance reliability of the system.

Key words: embedded system; CAN; application protocol; space robot

作者联系方式:

电话:010-62282543

通信地址:北京邮电大学191#信箱04级研究生

邮政编码:100876

Email:

CAN总线应用层协议在空间机器人中的应用

作者:

作者单位:杨晓华, 孙汉旭, 贾庆轩北京邮电大学自动化学院, 北京100876

本文读者也读过(10条)

1. 杨晓华.孙汉旭.贾庆轩 CAN总线应用层协议在空间机器人中的应用[会议论文]-2006

2. 朱文彪.孙增圻.高晓颖.杜诚谦.曹炬.刘准.林金永 柔性空间机器人的自适应模糊控制[会议论文]-2006

3. 程龙.蔡远文.刘党辉.Cheng Long.Cai Yuanwen.Liu Danghui 基于CAN总线的星上交互式仿真框架[期刊论文]-兵工自动化2011,30(3)

4. 刘站立.宁祎.薛文奎.LIU Zhan-li.NING Yi.XUE Wen-kui 空间机械臂单关节驱动器的设计[期刊论文]-制造业自动化2009,31(8)

5. 任立平.周军.REN Li-ping.ZHOU Jun CAN总线高层协议CANaerospace及其设计应用[期刊论文]-测控技术2008,27(2)

6. 洪昭斌.陈力 具有未知载荷参数的漂浮基双臂空间机器人姿态、关节运动的自适应控制方法[会议论文]-2007

7. 胡广清.HU Guang-qing 航天器CAN总线拓朴结构比较和使用[期刊论文]-信息技术2010,34(8)

8. 尹建珍.高峰 基于CAN总线行星探测车试验台测控系统的研究[会议论文]-2008

9. 唐晓腾.陈力 基于Backstepping的双臂空间机器人关节空间鲁棒控制[会议论文]-2008

10. 刘淑芬.孙昕 CAN总线在卫星中的应用技术研究[期刊论文]-航天控制2004,22(6)

引用本文格式:杨晓华.孙汉旭.贾庆轩 CAN总线应用层协议在空间机器人中的应用[会议论文] 2006

本文来源:https://www.bwwdw.com/article/4ir4.html

Top