您当前的位置:首页 > 电脑百科 > 人工智能

CAN总线面向航天卫星的应用分析

时间:2020-04-02 16:25:18  来源:  作者:

1、引言

can 总线是由德国 bosch 公司为现实汽车测量和执行部件之间的数据通讯而设计的、支持分布式控制及实时控制的串行通讯网络。can 总线通讯的波特率可高达 1mbps,最远距离可达 10km;can 总线通讯采用短帧结构,数据传输的时间短,受干扰的几率低;can 总线协议有良好的检错措施,可靠性较高;can 总线通讯对于传送帧可以设定不同的优先级,通过总线仲裁机制使高优先级的信息能够被优先及时传送,增加了 can 总线通讯的实时性;can 总线的完善可靠的通信协议主要由接口器件完成,降低了软件开发的难度。此外,can 总线网络中的每节点对应一个地址,理论上基于 can 总线的网络上可以添加删除任一节点,通讯方式可以为点对点的通讯也可以为广播方式,可以为单主方式也可以是多主方式,因此 can 总线通讯有相当的灵活性。

can 总线开始主要应用于自动化电子领域的汽车发动机部件、传感器、抗滑系统等应用中,但随着 can 的应用普及,其应用范围已不局限于汽车行业,正在向过程控制、机械、纺织等行业发展,应用领域从高速网络到低成本的多线网络。而且 can 总线的实时性以及抗干扰能力强等优点也逐步为航天领域所认可。1995 年 sstl(surrey 大学卫星技术公司)将 can 作为星载遥测 / 遥控信道,随之 sstl 开发了基于 can 的分布式解决方案。至今 sstl 已经在 uosat-12,snap-1,aisat-1,ukdmc,nigeriasat-1,bilsat-1 等 6 颗 leo 卫星中应用了 can 总线网络,用于实现星载计算机与其他任务节点之间的通信;esa 在 smart-1 上也将 can 作为系统总线和有效载荷总线,实现数据交换和控制命令的传送。在国内,can 总线技术在小卫星中也得到了实际的应用。

本文在分析 can 总线航天应用的基础上,从硬件原理设计、cpu 与 can 总线接口实现以及 can 总线通信软件设计等方面进行了论述。

CAN总线面向航天卫星的应用分析

表 1 can 总线故障及其影响分析

2、can 总线工作原理

can 总线的多主站工作方式的发送原理采用“载波侦听多路访问 / 冲突检测”(csma/cd:carrier sense multiple access with collision detect)技术实现。利用 csma 访问总线,可对总线上信号进行检测,只有当总线处于空闲状态时,才允许发送。利用这种方法,可以允许多个节点挂接到同一网络上。当检测到一个冲突位时,所有节点重新回到‘监听’总线状态,直到该冲突时间过后,才开始发送。在总线超载的情况下,这种技术可能会造成发送信号经过许多延迟。为了避免发送延时,可利用 csma/cd 方式访问总线。当总线上有两个节点同时进行发送时,通过“无损的逐位仲裁”方法来使有最高优先权的报文优先发送。在 can 总线上发送的每一条报文都具有唯一的一个 11 位或 29 位数 id。can 总线状态取决于二进制数‘0’而不是‘1’,所以 id 号越小,该报文拥有越高的优先权。

can 总线的多主站工作方式的接收原理是通过验收滤波器来实现的。独立的 can 控制器 sja1000 设置了一个多功能的验收滤波器,该滤波器允许自动检查标识符和数据字节。使用验收滤波器的滤波方法可以防止对于某个节点无效的报文或报文组存储在接收缓冲器里,因此降低了主控制器的处理负荷。滤波器由验收码寄存器(acc)和屏蔽寄存器(amr)组成。在 basiccan 模式里的验收滤波,其判据为:(acc(7:0) ⊙ id(10:3))+amr(7:0)。如果判据的结果为“11111111”,则表示该帧数据是其他节点传送给本节点的数据,本节点 can 总线控制器将接收本帧数据,在 crc 校验无误后于应答间隙产生应答信号。

3、can 总线航天应用分析

esa 开展的 can、1553b、spacewire 技术研究表明以差分信号传输的高速串行总线用于星载设备之间的数据传输能保证通信的及时性, 利于降低星载设备的功耗,有助于获得低噪声、抗电磁干扰性强、emi 低、信号不受电源开关状态变化影响等优势, 具有良好的航天应用前景。

can 总线作为一种专为汽车工业设计的现场总线,具有很多适合航天应用的特点:作为多主站方式的串行通讯总线,can 总线具有低成本,高抗电磁干扰性,高总线利用率,很远的数据传输距离(长达 10km),高速的数据传输速率(高达 1mbps),可根据报文的 id 决定接收或屏蔽该报文,可靠的错误处理和检错机制,发送的信息遭到破坏后,可自动重发,节点在错误严重的情况下具有自动退出总线的功能等特点。

iso11898 建议的 can 总线的物理电气性能,能够保证在总线发生某些故障时不至于中断通信,而且可以为故障的定位提供可能。表 1 列出了 can 总线可能发生的各种开路和短路故障,以及在该故障模式下 can 总线受影响的情况。

can 总线具有安全可信性。从协议分析,can 总线的每个 ecu 具备错误检测、标定和自检的强有力措施。检测错误包括:发送自检、crc 校验、位填充和报文格式检验。其错误检测具有如下特性:其一, 所有全局错误都可以检测;其二,发送器的所有局部错误都可以被检测;其三,报文中 5 个以内的随机分布错误都可以被检测到;其四,报文中长度小于 15 的突发性错误都可以被检测得到;其五,报文中任何奇数个错误都可以被检测得到;其六,没有检测出的已损报文的剩余错误概率为报文出错率的 4.7×10-11。

sstl 经过研究发现,在 600 公里~1000 公里的空间领域,空间辐射对卫星的影响相对较小。在这个高度上,总剂量为每年 1krad 左右(其量级相当于增加 5mm 的铝屏蔽层),seu 发生率相当于每天每 mbyte 一次(此数据来源于试验观察),并且观测到的 sel 发生概率非常低,在 sstl 整个记录中只记录到 3 到 4 次值得怀疑的情况(确定的只有 4 次)。sstl 还发现几乎所有的商业 cmos 器件,在经受 10 krad 辐照后其性能并无明显下降。sstl 在低轨道小卫星采用工业级 can 控制器芯片构建卫星 can 总线网络的成功,验证了上述结论。表 2 为 sstl 在近年来采用的 cots can 器件。

CAN总线面向航天卫星的应用分析

表 2 surrey 大学采用的 cots can 器件统计列表

器 件 飞行任务次数

philips can 收发器:当前主流产品 4

philips pca82c250 10

philips p87c592 10

philips can 8 位外设:产权主流产品 4

philips pca82c200:can 8 位外设 6

infineon:8 位 can 微控制器(a/d,pwm,例如 8051) 6

microchip can spi 外设 4

4 、 星载计算机中的双冗余容错 can 总线设计

图 1 描述了基于 can 的双冗余总线结构。基于 can 总线的双冗余系统通信总线的基本设计思想是在卫星各功能模块之间布下两条基于 can 的系统通信总线,即用两套 can 总线控制模块分别连接到总线 bus0 和 bus1 上。正常情况下优先在一条总线上通信,这条总线出现故障时通过另一条进行通信并重新初始化出错的总线以备将来再用。这样即使一条通信通道故障后不会影响整个系统的数据交换,大大提高了通信的可靠性。

CAN总线面向航天卫星的应用分析

图 1 基于 can 的双冗余总线结构

CAN总线面向航天卫星的应用分析

图 2 can 总线硬件设计原理简图

图 2 为星载计算机中 can 总线硬件设计原理框图。 can 总线协议控制芯片选用 philip 的工业级器件 sja1000,收发器选用 philip 的 pca82c250。cpu 与 sja1000 的接口控制逻辑通过 actel 的反熔丝 fpga 实现。sja1000 工作在 intel 模式,工作时钟为 7.3728mhz。复位信号通过 max708 产生。为了有更好的 emc/emi 性能和抑制比较器的噪声,vdd 通过 rc 滤波器退耦。

SJA1000 的 RX1 信号处理非常关键。如果使用外部集成收发器电路而且没有在时钟分频寄存器里使能比较器旁路功能,RX1 输出要被连接到 2.5V 的参考电压(82C250 的 Vref 输出)。图 3 显示了 CBP 的两种设置所对应的电路。对于使用 82C250 集成的收发器电路,SJA1000 的相关数据手册建议使用旁路功能,即 CBP 设置为 1,在这种情况下,SJA1000 的比较器旁路功能有效,减少了内部传播延迟,即 td2

CAN总线面向航天卫星的应用分析

图 3 SJA1000 的接收输入比较器旁路设计

82C250 的 RS 信号通过电阻 Rext 接地。RS 管脚的电流决定了传输介质上传输信号的信号沿的陡峭程度,Rext 阻值的大小必须根据 CAN 总线的工作速度及其工作环境进行设计和选择,具体可参见 SJA1000 的数据手册或者应用文档。

5、 CPU 与 SJA1000 的接口逻辑设计

星载计算机的 CPU 不同于 8086,采用的是独立地址和数据总线。CAN 总线控制器 SJA1000 采用地址 / 数据总线复用方式,需要将 CPU 的总线信号经过适当逻辑处理后才能够满足 CAN 总线控制器的时序要求。图 4 和图 5 是 SJA1000 在 Intel 模式下的读写时序。

CAN总线面向航天卫星的应用分析

图 4 SJA1000 读时序(Intel 模式)

CAN总线面向航天卫星的应用分析

图 5 SJA1000 写时序(Intel 模式)

按照 SJA1000 的数据手册,确保 SJA1000 的读写正确,如下的时序参数必须满足:

l tW(AL):必须保证 ALE 的时间,最小不能小于 8ns;

l tLLRL/tLLWL:读写时 ALE 无效到读写信号有效的时间,最小不能小于 10ns;

l tLCRL/tLCWL:片选信号有效后读写信号有效的时间,最小不能小于 0,即片选有效必须出现在读写信号有效前;

l tW(R):读信号有效宽度,最小不能小于 40ns;

l tW(R):写信号有效宽度,最小不能小于 20ns;

l tWHLH:写信号无效到下一次 ALE 有效的时间,最小不能小于 15ns;

l th(AL-A):在 ALE 为低电平后地址应该保持时间,最小不能小于 2ns。

CPU 和 CAN 总线接口采用地址直接映射。接口时序设计重点是接口控制逻辑必须产生符合上述关键参数的读写时序。如果简单的按照 ALE《=not nADS 方法处理,不满足要求时序关系,这在调试过程中已经得到验证。为此,在设计中采用了 FPGA 技术,以求很好地解决 CAN 总线与 CPU 的接口问题。图 6 描述了通过 VHDL 编写实现接口电路的状态转移图和 FPGA 设计产生的读写 CAN 总线时序,其中时钟周期不低于 67ns,该时序满足 SJA1000 要求。

CAN总线面向航天卫星的应用分析

图 6 CAN 总线接口时序设计的状态转移和时序

6、 CAN 总线通讯软件的设计

双冗余总线结构的通讯软件主要由初始化、接收和发送三个模块组成,控制流图见图 7。在程序设计时采用了 SJA1000 的 Basic 模式,初始化中需要对 BUS0 和 BUS1 分别进行初始化,包括 SJA1000 的控制寄存器、接收代码寄存器、接收屏蔽寄存器、总线时序寄存器等。

CAN总线面向航天卫星的应用分析

图 7 CAN 总线通讯软件的控制流图

发送模块采用主动发送方式,BUS0 为优先通讯通道,若 BUS0 通道状态不正常,则启动 BUS1 通道进行通讯,并对 BUS0 通道进行初始化以备下次通讯时使用。

接收模块采用中断接收方式,为了保证接收到的数据被实时处理,CAN 总线的接收中断被设置为高优先级中断。在接收中断中首先判断接收通道是 BUS0 还是 BUS1,然后从接收通道按数据长度进行数据接收。

7 、结束语

CAN 总线技术的诸多优点如实时性好,通信速率高,抗干扰能力强,低廉的价格等使它不仅广泛应用于工业控制领域,而且开始向航天领域进军。其 COTS 工业级器件 SJA1000 经过飞行也得到了验证,CAN 总线适宜航天应用的特点得到了充分的展示和飞行验证。



Tags:CAN   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
BC省首席卫生官Bonnie Henry博士和卫生厅长Adrian Dix 12月7日下午1:30在新闻发布会上表示,BC省目前奥密克戎(Omicron)变种病毒的确诊病例已从上周的1例变成了如今的5例。这5人...【详细内容】
2021-12-08  Tags: CAN  点击:(19)  评论:(0)  加入收藏
1. 2.位置: Long userId = (Long) info.getPrincipals().getPrimaryPrincipal();//error48:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang....【详细内容】
2021-07-03  Tags: CAN  点击:(192)  评论:(0)  加入收藏
部署mysql数据源文档:CentOS7 yum方式安装MySQL5.7.note链接:http://note.youdao.com/noteshare?id=38744e6dee57ec85864991af48440537 [mysqld] log-bin=mysql-bin # 开启 bi...【详细内容】
2021-06-25  Tags: CAN  点击:(145)  评论:(0)  加入收藏
发动机和变速箱被认为是汽车中最重要的技术,甚至一款好的变速箱,还可以弥补发动机本身动力的不足,让动力的传递更加顺畅直接。 但是,大多数电动汽车没有单独的变速器的。与内燃...【详细内容】
2021-05-12  Tags: CAN  点击:(127)  评论:(0)  加入收藏
工具简介本工具只可用于安全性测试,误用于非法用途! 工具定位边界打点后的自动化内网工具,完全与服务端脱离。服务端只用于生成poc,网段信息等配置。内网渗透痛点目前已有的扫...【详细内容】
2021-04-21  Tags: CAN  点击:(317)  评论:(0)  加入收藏
CAN总线定义:CAN(Control Area Network)属于现场总线的范畴,是一种高性能、高可靠性、易于开发和低成本的串行总线。CAN是由德国Bosch公司在1986年为汽车监测和控制而设计的。...【详细内容】
2020-11-10  Tags: CAN  点击:(187)  评论:(0)  加入收藏
机缘巧合,最近接触了一款开源的web安全工具OWASP ZAP,着实眼前一亮。操作简单易用、功能齐全、插件种类丰富,具备代理、数据截断、扫描、主动攻击、爬虫、fuzzing、渗透测试等...【详细内容】
2020-10-22  Tags: CAN  点击:(334)  评论:(0)  加入收藏
使用DBSCAN标识为员工分组 照片由Ishan @seefromthesky 在 Unsplash拍摄基于密度的噪声应用空间聚类(DBSCAN)是一种无监督的ML聚类算法。无监督的意思是它不使用预先标记的...【详细内容】
2020-08-17  Tags: CAN  点击:(82)  评论:(0)  加入收藏
端口扫描,是网络安全中非常常用的技术手段。通过对于特定的IP范围和端口范围进行穷举扫描,发现网络中开放的端口,从而为进一步的探查提供基本信息。端口扫描一般针对TCP端口进...【详细内容】
2020-08-11  Tags: CAN  点击:(3730)  评论:(0)  加入收藏
本文重点还是要介绍Canvas,但每次提起Canvas,脑海总会想起SVG,因此先做个简单的对比。  *Canvas 和 SVG 对比 Canvas 和 SVG 都是 HTML5 中推荐的也是主要的2D图形绘...【详细内容】
2020-08-10  Tags: CAN  点击:(59)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(16)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(49)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条