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
文章插图
图 3 SJA1000 的接收输入比较器旁路设计
82C250 的 RS 信号通过电阻 Rext 接地 。RS 管脚的电流决定了传输介质上传输信号的信号沿的陡峭程度,Rext 阻值的大小必须根据 CAN 总线的工作速度及其工作环境进行设计和选择,具体可参见 SJA1000 的数据手册或者应用文档 。
5、 CPU 与 SJA1000 的接口逻辑设计
星载计算机的 CPU 不同于 8086,采用的是独立地址和数据总线 。CAN 总线控制器 SJA1000 采用地址 / 数据总线复用方式,需要将 CPU 的总线信号经过适当逻辑处理后才能够满足 CAN 总线控制器的时序要求 。图 4 和图 5 是 SJA1000 在 Intel 模式下的读写时序 。
文章插图
图 4 SJA1000 读时序(Intel 模式)
推荐阅读
- 面向数据的架构
- 如何理解 Python 中的面向对象编程?
- 纯电动汽车不需要变速箱,为何保时捷Taycan 配备了2AT?
- 端口扫描 -- Pscan
- 国企|又一事业单位面向社会招116人,入职能享受编制,符合条件可报名
- 济南茶博物馆开建在即 面向社会征集茶文物
- 用C语言怎样实现面向对象思想?
- 面向对象设计原则之开闭原则
- redis的scan知识点分享
- 面向对象设计原则之接口隔离原则