发明名称 一种适于多主通信的星载CAN总线通信方法
摘要 本发明涉及一种适于多主通信的星载CAN总线通信方法,该方法通过合理利用现有CAN2.0A协议中规定的数据帧中的11bit标识符,将11bit标识符划分为三个部分,依次是源地址(4bit)、目的地址(4bit)和帧类型(3bit),同时通过采用合理的节点地址分配及屏蔽策略,使得基于本发明通信方法的CAN总线上的多个通信节点间可以进行自主的点对点或广播发送数据,实现多主通信,且在不影响数据帧接收的同时可以根据需要屏蔽掉无关节点发送的全部数据,本发明一方面增强了星上通信节点间通信的灵活性,另一方面可以大幅提高星上CAN总线传输的利用率,并且提升数据传输的实时性。
申请公布号 CN101977094B 申请公布日期 2012.09.26
申请号 CN201010517678.9 申请日期 2010.10.18
申请人 航天东方红卫星有限公司 发明人 刘思远;李国军;谢松;蒙薇;杨芳
分类号 H04L1/00(2006.01)I;H04L12/40(2006.01)I 主分类号 H04L1/00(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 安丽
主权项 一种适于多主通信的星载CAN总线通信方法,基于卫星CAN总线通信协议的CAN2.0A标准规范,其特征在于按照如下方法进行节点间通信:将CAN2.0A协议中的11bit标识符区域划分为三个部分,依次是源地址、目的地址和帧类型,其中源地址表示发起数据传输的节点自身地址,分配4bit;目的地址表示发送目标节点的地址,分配4bit;帧类型分配3bit,包括单帧数据、多帧数据起始帧、多帧数据中继帧和多帧数据结束帧;所述节点为卫星上使用CAN总线连接起来的各个分系统中具有CAN通信接口的设备或传感器;单帧数据的数据场长度为8字节,第一个字节表示数据类型,后面七个字节全部为应用数据;多帧数据起始帧数据场长度为4个字节,第一个字节为数据帧数,表示实际传送的数据帧的数目,第二个字节为数据长度,第三个字节为数据类型,第四个字节为保留字节;多帧数据的中继帧数据场长度为8字节,全部为应用数据,不足8字节的中继帧补足8字节;多帧数据结束帧数据场长度为1字节,该字节为应用数据的校验和;节点地址设计为两类,第一类节点仅接收发给自己的数据,即数据帧中的目的地址与接收节点的本地地址一致,第二类节点可以接收发给自己的数据,即数据帧中的目的地址与接收节点的本地地址一致,同时还可以接收网络广播数据,即数据帧的目的地址为设定的广播地址;网络中广播地址设置为“1111”,其余地址的分配依据网络中第二类地址数目需求来定,分为三种情况:1)当第二类节点数目需求为0时,广播地址以外的其余地址可全部分配为第一类地址,共计15个;2)当第二类节点数目需求为1~4时,4bit节点地址中“1”的数目为3的组合分配作为第二类地址,即“1110”、“1101”、“1011”和“0111”, 共计4个;4bit节点地址中“1”的数目为0、1和2的组合均可以分配作为第一类地址,共计11个;3)当第二类节点数目需求为5~6时,4bit节点地址中“1”的数目为2的组合分配作为第二类地址,即“1100”、“1001”、“0011”、“1010”、“0110”和“0101”,共计6个;4bit节点地址中“1”的数目为0和1的组合均可以分配作为第一类地址,共计5个,4bit节点地址中“1”的数目为3的节点地址禁用;对第一类节点的4bit目的地址全部进行接收滤波设置,仅当接收数据帧中的目的地址与本节点本地地址完全一致时接收,即本地节点仅仅接收发给自己的数据,所述进行接收滤波设置是指在节点所对应的CAN总线控制器中设置接收代码寄存器和接收屏蔽寄存器的数值;对第二类节点的4bit目的地址进行选择性滤波,即对本地4bit地址中为“1”的位进行滤波,对接收到的数据帧,只要目的地址的相应位为“1”,即与本地4bit地址中为“1”对应的位为“1”,则进行接收,否则不接收;对于第一类和第二类节点的4bit源地址进行滤波设置,以屏蔽掉非约定节点发来的非法数据;所述滤波设置是指在节点所对应的CAN总线控制器中设置接收代码寄存器和接收屏蔽寄存器的数值,使得本地节点拒绝接收非约定节点发过来的错误数据;根据上述方法设置完所有节点所对应的CAN总线控制器中的接收滤波寄存器并且根据上述方法编写发送模块和接收模块,最后卫星上各个通信节点之间通过发送模块和接收模块进行通信。
地址 100094 北京市5616信箱