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总线通信软件设计等方面进行了论述。
表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器件。
表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上。正常情况下优先在一条总线上通信,这条总线出现故障时通过另一条进行通信并重新初始化出错的总线以备将来再用。这样即使一条通信通道故障后不会影响整个系统的数据交换,大大提高了通信的可靠性。
图1 基于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《td1,提高了CAN总线的最大长度,休眠模式的电流将显著降低。在CBP为1时,硬件设计必须保证RX1接地。
按照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要求。
6 、CAN总线通讯软件的设计
双冗余总线结构的通讯软件主要由初始化、接收和发送三个模块组成,控制流图见图7。在程序设计时采用了SJA1000的Basic模式,初始化中需要对BUS0和BUS1分别进行初始化,包括SJA1000的控制寄存器、接收代码寄存器、接收屏蔽寄存器、总线时序寄存器等。
发送模块采用主动发送方式,BUS0为优先通讯通道,若BUS0通道状态不正常,则启动BUS1通道进行通讯,并对BUS0通道进行初始化以备下次通讯时使用。
接收模块采用中断接收方式,为了保证接收到的数据被实时处理,CAN总线的接收中断被设置为高优先级中断。在接收中断中首先判断接收通道是BUS0还是BUS1,然后从接收通道按数据长度进行数据接收。
7 、结束语
CAN总线技术的诸多优点如实时性好,通信速率高,抗干扰能力强,低廉的价格等使它不仅广泛应用于工业控制领域,而且开始向航天领域进军。其COTS工业级器件SJA1000经过飞行也得到了验证,CAN总线适宜航天应用的特点得到了充分的展示和飞行验证。
责任编辑:gt
-
CAN总线
+关注
关注
145文章
1969浏览量
132043 -
计算机
+关注
关注
19文章
7614浏览量
89902 -
卫星
+关注
关注
18文章
1746浏览量
67952
发布评论请先 登录


CAN通信网在汽车中的应用研究
关于PCI9052在多功能CAN适配卡中的应用研究

CAN总线的应用研究
CAN总线在汽车领域的应用及挑战

ElfBoard技术贴|如何调整eMMC存储分区
ELF 2开发板基于瑞芯微RK3588高性能处理器设计,拥有四核ARM Cortex-A76与四核ARM Cortex-A55的CPU架构,主频高达2.4GHz,内置6TOPS算力的NPU,这一设计让它能够轻松驾驭多种深度学习框架,高效处理各类复杂的AI任务。

米尔基于MYD-YG2LX系统启动时间优化应用笔记
1.概述MYD-YG2LX采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31GPU(500MHz)和视频处理单元(支持H.264硬件编解码),16位的DDR4-1600/DDR3L-1333内存控制器、千兆以太网控制器、USB、CAN、

运放技术——基本电路分析
虚短和虚断的概念由于运放的电压放大倍数很大,一般通用型运算放大器的开环电压放大倍数都在80dB以上。而运放的输出电压是有限的,一般在10V~14V。因此运放的差模输入电压不足1mV,两输入端近似等电位,相当于“短路”。开环电压放大倍数越大,两输入端的电位越接近相等。“虚短”是指在分析运算放大器处于线性状态时,可把两输入端视为等电位,这一特性称为虚假短路,简称

飞凌嵌入式携手中移物联,谱写全国产化方案新生态
4月22日,飞凌嵌入式“2025嵌入式及边缘AI技术论坛”在深圳成功举办。中移物联网有限公司(以下简称“中移物联”)携OneOS操作系统与飞凌嵌入式共同推出的工业级核心板亮相会议展区,操作系统产品部高级专家严镭受邀作《OneOS工业操作系统——助力国产化智能制造》主题演讲。

ATA-2022B高压放大器在螺栓松动检测中的应用
实验名称:ATA-2022B高压放大器在螺栓松动检测中的应用实验方向:超声检测实验设备:ATA-2022B高压放大器、函数信号发生器,压电陶瓷片,数据采集卡,示波器,PC等实验内容:本研究基于振动声调制的螺栓松动检测方法,其中低频泵浦波采用单频信号,而高频探测波采用扫频信号,利用泵浦波和探测波在接触面的振动声调制响应对螺栓的松动程度进行检测。通过螺栓松动检测

MOS管驱动电路——电机干扰与防护处理
此电路分主电路(完成功能)和保护功能电路。MOS管驱动相关知识:1、跟双极性晶体管相比,一般认为使MOS管导通不需要电流,只要GS电压(Vbe类似)高于一定的值,就可以了。MOS管和晶体管向比较c,b,e—–>d(漏),g(栅),s(源)。2、NMOS的特性,Vgs大于一定的值就会导通,适合用于源极接地时的情况(低端驱动),只要栅极电压达到4V或10V就可以

压敏(MOV)在电机上的应用剖析
一前言有刷直流电机是一种较为常见的直流电机。它的主要特点包括:1.结构相对简单,由定子、转子、电刷和换向器等组成;2.通过电刷与换向器的接触来实现电流的换向,从而使电枢绕组中的电流方向周期性改变,保证电机持续运转;3.具有调速性能较好等优点,可以通过改变电压等方式较为方便地调节转速。有刷直流电机在许多领域都有应用,比如一些电动工具、玩具、小型机械等。但它也存

硬件原理图学习笔记
这一个星期认真学习了硬件原理图的知识,做了一些笔记,方便以后查找。硬件原理图分为三类1.管脚类(gpio)和门电路类输入输出引脚,上拉电阻,三极管与门,或门,非门上拉电阻:正向标志作用,给悬空的引脚一个确定的状态三极管:反向三极管(gpio输出高电平,NP两端导通,被控制端导通,电压为0)->NPN正向三极管(gpio输出低电平,PN两端导通,被控制端导通,

TurMass™ vs LoRa:无线通讯模块的革命性突破
TurMass™凭借其高传输速率、强大并发能力、双向传输、超强抗干扰能力、超远传输距离、全国产技术、灵活组网方案以及便捷开发等八大优势,在无线通讯领域展现出强大的竞争力。

RZT2H CR52双核BOOT流程和例程代码分析
RZT2H是多核处理器,启动时,需要一个“主核”先启动,然后主核根据规则,加载和启动其他内核。本文以T2H内部的CR52双核为例,说明T2H多核启动流程。

干簧继电器在RF信号衰减中的应用与优势
在电子测试领域,RF(射频)评估是不可或缺的一部分。无论是研发阶段的性能测试,还是生产环节的质量检测,RF测试设备都扮演着关键角色。然而,要实现精准的RF评估,测试设备需要一种特殊的电路——衰减电路。这些电路的作用是调整RF信号的强度,以便测试设备能够准确地评估RF组件和RF电路的各个方面。衰减器的挑战衰减器的核心功能是校准RF信号的强度。为了实现这一点,衰

ElfBoard嵌入式教育科普|ADC接口全面解析
当代信息技术体系中,嵌入式系统接口作为数据交互的核心基础设施,构成了设备互联的神经中枢。基于标准化通信协议与接口规范的技术架构,实现了异构设备间的高效数据交换与智能化协同作业。本文选取模数转换接口ADC作为技术解析切入点,通过系统阐释其工作机理、性能特征及重要参数,为嵌入式学习者爱好者构建全维度接口技术认知框架。

深入理解C语言:C语言循环控制
在C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C语言提供了多种循环控制语句,如break、continue和goto,用于改变程序的执行流程,使代码更加灵活和可控。本文将详细介绍这些语句的作用及其应用场景,并通过示例代码进行说明。Part.1break语句C语言中break语句有两种

第 21 届(顺德)家电电源与智能控制技术研讨会圆满落幕--其利天下斩获颇丰
2025年4月25日,其利天下应大比特之邀出席第21届(顺德)家电电源与智能控制技术研讨会,已圆满落幕。一、演讲回顾我司研发总监冯建武先生在研讨会上发表了主题为《重新定义风扇驱动:一套算法兼容百种电机的有效磁链观测器方案》的演讲,介绍了我司研发自适应技术算法(简称),该方案搭载有效磁链观测器,适配百种电机类型,结合FOC算法可实现免调参稳定启动、低速静音控制

来自资深工程师对ELF 2开发板的产品测评
来自资深工程师对ELF 2开发板的使用测评
评论