CN101977094B - 一种适于多主通信的星载can总线通信方法 - Google Patents

一种适于多主通信的星载can总线通信方法 Download PDF

Info

Publication number
CN101977094B
CN101977094B CN201010517678A CN201010517678A CN101977094B CN 101977094 B CN101977094 B CN 101977094B CN 201010517678 A CN201010517678 A CN 201010517678A CN 201010517678 A CN201010517678 A CN 201010517678A CN 101977094 B CN101977094 B CN 101977094B
Authority
CN
China
Prior art keywords
address
node
data
frame
4bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010517678A
Other languages
English (en)
Other versions
CN101977094A (zh
Inventor
刘思远
李国军
谢松
蒙薇
杨芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Dongfanghong Satellite Co Ltd
Original Assignee
Aerospace Dongfanghong Satellite Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aerospace Dongfanghong Satellite Co Ltd filed Critical Aerospace Dongfanghong Satellite Co Ltd
Priority to CN201010517678A priority Critical patent/CN101977094B/zh
Publication of CN101977094A publication Critical patent/CN101977094A/zh
Application granted granted Critical
Publication of CN101977094B publication Critical patent/CN101977094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种适于多主通信的星载CAN总线通信方法,该方法通过合理利用现有CAN2.0A协议中规定的数据帧中的11bit标识符,将11bit标识符划分为三个部分,依次是源地址(4bit)、目的地址(4bit)和帧类型(3bit),同时通过采用合理的节点地址分配及屏蔽策略,使得基于本发明通信方法的CAN总线上的多个通信节点间可以进行自主的点对点或广播发送数据,实现多主通信,且在不影响数据帧接收的同时可以根据需要屏蔽掉无关节点发送的全部数据,本发明一方面增强了星上通信节点间通信的灵活性,另一方面可以大幅提高星上CAN总线传输的利用率,并且提升数据传输的实时性。

Description

一种适于多主通信的星载CAN总线通信方法
技术领域
本发明涉及一种星载CAN总线通信方法,特别是一种适于多主通信的星载CAN总线通信方法,属于星载CAN总线技术领域。
背景技术
CAN(Controller Area Network)总线是一种串行通信的现场总线,具有可靠性高、实时性好、抗干扰能力强、通信方式灵活、组网简单等优点,因此国内外均已将其引入卫星上电子系统,甚至作为星上骨干网络来完成星上设备间的信息传递。
在CAN总线协议方面,德国BOSCH公司的“CAN SpecificationVersion2.0,1991”对CAN总线通信协议进行了详细说明,即我们现在使用的CAN2.0A标准规范。该协议后经国际标准化组织(ISO)采用开放系统互联(OSI)模型标准化后得到ISO11898和ISO11519两个标准,分别对高、低速CAN总线的物理层和数据链路层作出了规定。由于CAN的OSI模型标准没有对数据链路层以上的协议进行规定,因此增强了CAN总线应用的灵活性。多个行业根据应用特点在CAN底层协议的基础上形成了高层应用标准,如Rockwell公司针对工业自动化建立基于CAN总线的开放式现场总线标准DeviceNet;CiA组织针对工业应用建立的CANopen规范;德国Stock Flight System公司针对航空飞行器应用建立的新型航空机载设备通信总线协议CANaerospace;美国航空无线电公司ARI NC针对航空飞行器应用建立了ARI NC-825标准。
在卫星应用领域,目前还没有代表性的针对CAN总线的应用协议规范。现有星上使用的CAN总线应用协议普遍是基于CAN2.0A标准规范建立的仅适于主从通信或准多主通信的方法,不能适用星上多个通信节点间自主数据交换的多主通信需求。满足星载CAN总线多个通信节点间自主数据交换的多主通信方法还未见有专利及文献报道
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供了一种适于多主通信的星载CAN总线通信方法,解决星载CAN总线网络上多个通信节点间自主数据交换的问题。
本发明的技术解决方案是:
一种适于多主通信的星载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总线控制器中的接收滤波寄存器并且根据上述方法编写发送模块和接收模块,最后卫星上各个通信节点之间通过发送模块和接收模块进行通信
本发明与现有技术相比的有益效果是:
(1)本发明通信方法中的每帧数据中都包含了数据的源地址和目的地址,因此,连接在星载CAN总线上的多个通信节点都可以作为主节点的方式自主在网络上发送数据,接收节点可以根据接收到数据帧中的目的节点地址来判断该数据帧是否是发送给自己的,同时可以通过接收到数据帧中的源地址判断该帧数据是从总线上哪个节点发送的,从而确保了总线上多个通信节点多主通信的实现,增强了节点间通信的灵活性。
(2)现有星载CAN总线所采用的主从式通信模式是主节点通过轮询的方式(逐个向从节点发送数据请求)要求从节点返回所需的数据,主节点需要等待前一个从节点返回所需的数据后才能向下一个节点发送数据请求,而每个接收到数据请求的从节点从收到数据请求到将数据通过CAN总线发送给主节点都有一个不确定的时间延迟(该延迟主要由从节点处理器的性能、总线接收数据中断优先级、数据准备时间等因素决定),因此导致主节点在轮询到每个从节点时都存在一个不确定的时间等待,进而使得主节点不能在确定时间内完成与当前从节点及后续从节点的通信,基于本发明通信方法的星载CAN总线上的多个节点由于都可以以主节点的方式根据自己的时序自主安排向其他通信节点发送数据或广播数据,各个节点的通信彼此独立,多个节点可以实现同时对CAN总线的访问(向总线上发送数据),利用CAN总线自身的总线仲裁机制可以确保多个节点在同一时刻发送的数据依据优先级依次在总线上传输,因此可以大幅提高总线传输的利用率,消除主从通信方式中的通信时间延迟及时间不确定性,提升数据传输的实时性;
(3)采用基于本发明通信方法的节点地址分配及屏蔽策略,可实现多个通信节点间在不影响数据帧接收的同时根据需要屏蔽掉无关节点发送的全部数据,通过目的节点地址屏蔽设置可以确保总线上某通信节点只接收事先约定的总线上其它通信节点发送来的数据帧(即以数据接收通信节点为目的地址的数据帧),通过源节点地址屏蔽设置可以避免总线上非约定通信节点在故障情况下以错误的以某节点的地址为目的地址而向该节点发送数据帧。
附图说明
图1为本发明的适于多主通信的星载CAN总线通信方法的协议格式;
图2为本发明的适于多主通信的星载CAN总线通信方法的流程。
具体实施方式
采用CAN总线实现星上多个通信节点间的数据交换是目前小卫星上常用的节点间通信方式,星载CAN总线通信节点通常为星上某分系统中具有CAN通信接口的设备或传感器,通信节点的基本构成是CAN总线收发器,CAN总线控制器、微处理器等,连接关系是通信节点的处理器和CAN总线控制器连接,CAN总线控制器和CAN收发器连接,CAN收发器连接CAN总线通信线缆。
CAN总线连接的多个通信节点的通信方式有两种基本形式,即主从式通信和多主通信。CAN总线的主从式通信方式指CAN总线上只能有一个主节点,该节点可以主动向总线上发送数据,其它节点(从节点)不能主动向总线上发送数据,只能在接收到主节点的数据请求后向主节点发送数据。CAN总线的多主通信是指CAN总线上可以有多个可以自主向总线上发送数据的通信节点,多个主节点间可以自主的发起数据通信。
现在普遍使用的CAN2.0A协议定义的数据帧结构可以参考德国BOSCH公司的“CAN Specification Version2.0,1991”,数据帧由7个位域构成,包括:帧起始、仲裁域(12bit,含11bit的标识符和1bit的远程发送请求位)、控制域、数据场(0~8字节)、CRC校验域、应答域和帧结尾。
下面结合附图对本发明的具体实施方式进行进一步的详细描述。
本发明基于CAN总线通信协议的CAN2.0A标准规范,结合图1和图2,按照如下方式实现星上通信节点之间的多主通信:
1)将现有的CAN2.0A协议中的11bit标识符区域划分为三个部分,依次是源地址(4bit)、目的地址(4bit)和帧类型(3bit),帧类型“000”表示单帧数据、“001”表示多帧起始帧、“010”表示多帧中间帧、“011”表示多帧结束帧,其余保留;
2)将CAN2.0A协议中的数据段针对单帧和多帧数据传送进行区别设计。单帧数据的数据场长度设计为8字节,第一个字节表示数类型,后面七个字节全部为应用数据。多帧数据起始帧数据场长度设计为4个字节,第一个字节为数据帧数,表示实际传送的数据帧的数目,第二个字节为数据长度,第三个字节为数据类型,第四个字节为保留字节。多帧数据的中间帧数据场长度为8字节,全部为应用数据,不足8字节的中间帧补足8字节。多帧数据结束帧数据场长度设计为1字节,该字节为应用数据的校验和。
进行通信节点间地址编排及设置接收滤波具体如下:
节点地址设计为两类,第一类节点仅接收发给自己的数据,即数据帧中的目的地址与接收节点的本地地址一致,称为A类节点地址;第二类节点可以接收发给自己的数据,即数据帧中的目的地址与接收节点的本地地址一致,同时还可以接收网络广播数据,即数据帧的目的地址为设定的广播地址,称为B类节点地址;
网络中广播地址设置为“1111”,其余地址的分配依据网络中B类节点数目需求来定,分为三种情况:
1)当B类节点数目需求为0时,广播地址以外的其余地址可全部分配为第一类地址,共计15个;
2)当B类节点数目需求为1~4时,4bit节点地址中“1”的数目为3的组合分配作为B类地址,即“1110”、“1101”、“1011”和“0111”,共计4个;4bit节点地址中“1”的数目为0、1和2的组合均可以分配作为A类地址,共计11个;
3)当B类节点数目需求为5~6时,4bit节点地址中“1”的数目为2的组合分配作为B类地址,即“1100”、“1001”、“0011”、“1010”、“0110”和“0101”,共计6个;4bit节点地址中“1”的数目为0和1的组合均可以分配作为A类地址,共计5个,4bit节点地址中“1”的数目为3的节点地址禁用;
对A类节点的4bit目的地址全部进行接收滤波设置,仅当接收数据帧中的目的地址与本节点本地地址完全一致时接收,即本地节点仅仅接收发给自己的数据,所述进行接收滤波设置是指在节点所对应的CAN总线控制器中设置接收滤波寄存器的数值;
对B类节点的4bit目的地址进行选择性滤波,即对本地4bit地址中为“1”的位进行滤波,对接收到的数据帧,只要其目的地址的相应位为“1”,即与本地4bit地址中为“1”对应的位为“1”,则进行接收,否则不接收。
对于A类和B类节点的4bit源地址进行滤波设置,以屏蔽掉非约定节点发来的非法数据;所述滤波设置是指在节点所对应的CAN总线控制器中设置接收滤波寄存器的数值,使得本地节点拒绝接收非约定节点发过来的错误数据。
根据上述方法设置完所有节点所对应的CAN总线控制器中的接收滤波寄存器并且根据上述方法编写发送模块和接收模块,最后卫星上各个通信节点之间通过发送模块和接收模块进行通信。
实施例1:
1)如表1所示,B类节点地址需求为6个,设定广播地址为“1111”,B类节点的地址设置为“0011”、“0101”、“0110”、“1001”、“1010”、“1100”,A类节点地址设置为“0000”、“0001”、“0010”、“0100”、“1000”,其余地址禁用;
表1
Figure BSA00000316622600071
Figure BSA00000316622600081
2)对A类节点的4bit目的地址全部进行接收滤波设置,即仅当接收数据帧中的目的地址数据与本节点地址完全一致时接收;该过程可以通过设置CAN控制器的接收代码寄存器和接收屏蔽寄存器的相应位来实现。比如采用CAN总线控制器SJA1000,设置方式为配置寄存器ACR的(bit3~Bit0)为本节点地址的4bit数值,其余为任意;配置寄存器AMR的(bit7~Bit0)为“11110000”。
3)对B类节点的4bit目的地址进行选择性滤波,即对本地地址(4bit)中为“1”的位进行滤波设置,对接收到数据帧,只要其目的地址的相应位(与本地地址(4bit)中为“1”对应的位)为“1”,则进行接收,否则不接收。对于CAN总线控制器SJA1000,设置方式为配置寄存器ACR的(bit3~Bit0)为本节点地址的4bit数值,其余为任意;配置寄存器AM R的(bit7~Bit4)为“1111”,配置寄存器AM R的(bit3~Bit0)为本节点地址的按位取反,如本节点地址为“1100”,则AM R的(bit3~Bit0)配置为“0011”。
4)对A类和B类节点的4bit源地址,根据应用需要进行滤波设置,以屏蔽掉非约定节点发来的非法数据;该过程可以通过设置CAN控制器的接收代码寄存器和接收屏蔽寄存器的相应位来实现,方法同上。
5)单帧数据的数据场长度设计为8字节,第一个字节表示数类型,后面七个字节全部为应用数据;
6)多帧数据起始帧数据场长度设计为4个字节,第一个字节为数据帧数,表示实际传送的数据帧的数目;
7)多帧数据的中间帧数据场长度为8字节,全部为应用数据,不足8字节的中间帧补足8字节;
8)多帧数据结束帧数据场长度设计为1字节,该字节为应用数据的校验和。
3.依据节点地址编排及接收滤波策略进行各个通信节点相应参数的设置,可采用配置CAN总线控制器寄存器的方式实现。
4.依据本发明的CAN总线通信方法完成通信节点发送和接收函数模块的代码实现,其中发送模块的代码实现包括以下步骤:
1)将要发送数据的指针、数据长度、本节点地址、目的节点地址、帧类型作为函数模块的输入参数;
2)通过读取CAN控制器的状态寄存器的状态位来判断是否为可发送状态,如果是可发送状态则继续,否则等待;
3)设置CAN控制器中表示11bit标识符的寄存器的值,分别是将前4bit设置为源地址,即函数模块输入参数的本节点地址,紧接着的4bit为目的地址,即函数模块输入参数的目的节点地址,最后3bit为帧类型;
4)向CAN控制器的发送缓冲区中写入要发送的数据,0~8个字节;
5)通过向CAN控制器的发送使能寄存器写入使能数据启动发送;
6)函数返回;
其中接收模块的代码实现包括以下步骤:
1)接收函数模块无输入参数;
2)读取CAN控制器状态寄存器的相应状态位来判断是否有接收到的数据帧,有则依次从CAN控制器接收缓冲区读出数据,无则继续;
3)通过向CAN控制器的命令寄存器写入释放缓冲区指令来清除接收缓冲区;
4)函数返回;
5.通信节点间通过发送和接收函数模块进行发送和接收通信。
接收函数模块和发送函数模块均是现有技术中比较成熟的应用模式。
实施例2
本发明的实现步骤如下:
1.基于CAN总线通信协议的CAN2.0A标准规范,进行节点间通信应用协议约定,具体如下:
1)将CAN2.0A协议中的11bit标识符区域划分为三个部分,依次是源地址(4bit)、目的地址(4bit)和帧类型(3bit),帧类型“000”表示单帧数据、“001”表示多帧起始帧、“010”表示多帧中间帧、“011”表示多帧结束帧,其余保留;
2)将CAN2.0A协议中的数据段针对单帧和多针数据传送进行区别设计。单帧数据的数据场长度设计为8字节,第一个字节表示数类型,后面七个字节全部为应用数据。多帧数据起始帧数据场长度设计为4个字节,第一个字节为数据帧数,表示实际传送的数据帧的数目。多帧数据的中间帧数据场长度为8字节,全部为应用数据,不足8字节的中间帧补足8字节。多帧数据结束帧数据场长度设计为1字节,该字节为应用数据的校验和。
2.进行通信点间地址编排及设置接收滤波策略,具体如下:
1)如表2所示,B类节点地址需求为4个,设定广播地址为“1111”,B类节点的地址设置为“0111”、“1011”、“1101”、“1110”,其余为A类节点地址;
表2
Figure BSA00000316622600101
Figure BSA00000316622600111
2)对A类节点的4bit目的地址全部进行接收滤波设置,仅当接收数据帧中的目的地址域数据与本节点本地地址完全一致时接收。该过程可以通过设置CAN控制器的接收代码寄存器和接收屏蔽寄存器的相应位来实现。对于CAN总线控制器SJA1000,设置方式为配置寄存器ACR的(bit3~Bit0)为本节点地址的4bit数值,其余为任意;配置寄存器AM R的(bit7~Bit0)为“11110000”。
3)对B类节点的4bit目的地址进行选择性滤波,即对本地地址(4bit)中为“1”的位进行滤波设置,对接收到数据帧,只要其目的地址的相应位(与本地地址(4bit)中为“1”对应的位)为“1”,则进行接收,否则不接收。对于CAN总线控制器SJA1000,设置方式为配置寄存器ACR的(bit3~Bit0)为本节点地址的4bit数值,其余为任意;配置寄存器AM R的(bit7~Bit4)为“1111”,配置寄存器AM R的(bit3~Bit0)为本节点地址的按位取反,如本节点地址为“1101”,则AM R的(bit3~Bit0)配置为“0010”。
4)对A类和B类节点的4bit源地址,根据应用需要进行滤波设置,以屏蔽掉非约定节点发来的非法数据;该过程可以通过设置CAN控制器的接收代码寄存器和接收屏蔽寄存器的相应位来实现,方法同上。
5)单帧数据的数据场长度设计为8字节,第一个字节表示数类型,后面七个字节全部为应用数据;
6)多帧数据起始帧数据场长度设计为4个字节,第一个字节为数据帧数,表示实际传送的数据帧的数目;
7)多帧数据的中间帧数据场长度为8字节,全部为应用数据,不足8字节的中间帧补足8字节;
8)多帧数据结束帧数据场长度设计为1字节,该字节为应用数据的校验和。
3.依据节点地址编排及接收滤波策略进行各个通信节点相应参数的设置,可采用配置CAN总线控制器寄存器的方式实现。
4.依据通信协议完成通信节点发送和接收函数模块的代码实现,其中发送模块的代码实现包括以下步骤:
1)将要发送数据的指针、数据长度、本节点地址、目的节点地址、帧类型作为函数模块的输入参数;
2)通过读取CAN控制器的状态寄存器的状态位来判断是否为可发送状态,如果是可发送状态则继续,否则等待;
3)设置CAN控制器中表示11bit标识符的寄存器的值,分别是将前4bit设置为源地址,即函数模块输入参数的本节点地址,紧接着的4bit为目的地址,即函数模块输入参数的目的节点地址,最后3bit为帧类型;
4)向CAN控制器的发送缓冲区中写入要发送的数据,0~8个字节;
5)通过向CAN控制器的发送使能寄存器写入使能数据启动发送;
6)函数返回;
其中接收模块的代码实现包括以下步骤:
1)接收函数模块无输入参数;
2)读取CAN控制器状态寄存器的相应状态位来判断是否有接收到的数据帧,有则依次从CAN控制器接收缓冲区读出数据,无则继续;
3)通过向CAN控制器的命令寄存器写入释放缓冲区指令来清除接收缓冲区;
4)函数返回;
5.通信节点间通过发送和接收函数模块进行发送和接收通信。
发送函数模块和接收函数模块的编写与上面第一个实施例相同。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (1)

1.一种适于多主通信的星载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总线控制器中的接收滤波寄存器并且根据上述方法编写发送模块和接收模块,最后卫星上各个通信节点之间通过发送模块和接收模块进行通信。
CN201010517678A 2010-10-18 2010-10-18 一种适于多主通信的星载can总线通信方法 Active CN101977094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010517678A CN101977094B (zh) 2010-10-18 2010-10-18 一种适于多主通信的星载can总线通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010517678A CN101977094B (zh) 2010-10-18 2010-10-18 一种适于多主通信的星载can总线通信方法

Publications (2)

Publication Number Publication Date
CN101977094A CN101977094A (zh) 2011-02-16
CN101977094B true CN101977094B (zh) 2012-09-26

Family

ID=43576945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010517678A Active CN101977094B (zh) 2010-10-18 2010-10-18 一种适于多主通信的星载can总线通信方法

Country Status (1)

Country Link
CN (1) CN101977094B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102332948B (zh) * 2011-05-26 2015-08-05 北京航空航天大学 控制主微纳卫星通信的方法及系统
CN104753749B (zh) * 2013-12-30 2018-12-04 欧普照明股份有限公司 一种多主机通信方法及通信系统
CN103810131B (zh) * 2014-02-24 2017-09-19 重庆邮电大学 一种车载系统用蓝牙与can的数据转换装置及方法
CN104063350B (zh) * 2014-06-26 2017-01-25 航天东方红卫星有限公司 一种星载can总线即插即用方法
CN104660373B (zh) * 2015-03-05 2018-05-18 浙江中控技术股份有限公司 一种站间通信数据的发送方法、接收方法及相关设备
CN105577694B (zh) * 2016-02-15 2018-10-12 北京锁定精密科技有限公司 一种传输数据包的方法
CN105812048B (zh) * 2016-04-22 2018-12-11 哈尔滨工业大学 一种可切换通信路径的纳卫星遥测遥控方法
CN105915456B (zh) * 2016-06-14 2019-01-15 南京工业职业技术学院 一种可变报头的中继通讯协议方法
CN106534717A (zh) * 2016-11-15 2017-03-22 深圳市华泰敏信息技术有限公司 一种基于fpga交换的视频处理方法及设备
CN106712907B (zh) * 2017-02-16 2019-08-20 北京中航通用科技有限公司 数据传输方法及设备
CN106888141A (zh) * 2017-02-28 2017-06-23 北京艾利特科技有限公司 一种高效can总线通信方法
CN107094109B (zh) * 2017-04-26 2020-07-07 广州睿嵌电子技术有限公司 一种车载电子处理单元系统公共网络通讯方法
CN108810102B (zh) * 2018-05-23 2023-05-02 邓晓燕 一种使用两个can标识符划分的应用层分配方法
CN108833377A (zh) * 2018-05-30 2018-11-16 武汉高仕达电气有限公司 一种改进的can协议数据帧结构及数据处理方法
CN110719218B (zh) * 2019-10-31 2021-07-30 天津亚东智鑫科技有限公司 一种基于can总线的多节点互联互通协议标准方法
CN111884998B (zh) * 2020-06-17 2022-08-19 武汉长海高新技术有限公司 一种紧凑型网络通讯方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654355B1 (en) * 1999-12-14 2003-11-25 Schneider Automation Inc. Bridge for CAN to TCP/IP connection
CN1491008A (zh) * 2003-08-28 2004-04-21 东南大学 能实现异构网络互联的嵌入式网关
CN101827433A (zh) * 2010-03-10 2010-09-08 东南大学 一种用于工程机械的卫星定位通信终端的节能运行方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100371587B1 (ko) * 2000-12-15 2003-02-11 한국과학기술연구원 Can통신망을 이용한 유연한 소형의 전동기 제어장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654355B1 (en) * 1999-12-14 2003-11-25 Schneider Automation Inc. Bridge for CAN to TCP/IP connection
CN1491008A (zh) * 2003-08-28 2004-04-21 东南大学 能实现异构网络互联的嵌入式网关
CN101827433A (zh) * 2010-03-10 2010-09-08 东南大学 一种用于工程机械的卫星定位通信终端的节能运行方法

Also Published As

Publication number Publication date
CN101977094A (zh) 2011-02-16

Similar Documents

Publication Publication Date Title
CN101977094B (zh) 一种适于多主通信的星载can总线通信方法
CN101976074B (zh) 基于现场总线和控制网络的工业控制系统
CN103731343B (zh) 基于lpc2468的mvb‑wtb网关及其工作方法
US20100322267A1 (en) Time synchronization system and time synchronization method in train
US20100103859A1 (en) Relay connection unit for vehicle
CN102857397A (zh) 一种多主异步双工差分总线及通讯方法
CN103281321B (zh) 一种星载FlexRay总线动态段通信方法
CN107819659B (zh) 一种基于spi的智能级联通信网络
CN104008082A (zh) 1553b总线rt节点与can总线的转换器
US20030055900A1 (en) Network and associated network subscriber having message route management between a microprocessor interface and ports of the network subscriber
CN106873541A (zh) 一种基于DSP的EtherCAT分布式伺服运动控制系统
CN109165184A (zh) 一种基于双总线收发器的1553b总线系统
US7684909B2 (en) Data transmission method and device
CN103914007A (zh) 用于程序重调的方法和系统
CN108111494A (zh) 一种1553B总线与FlexRay总线的协议转换装置
CN104717149A (zh) 一种基于虚拟链路的数据帧调度方法
CN103716092A (zh) 一种总线型网络中双向光纤通信的组网系统及通信方法
CN102546070A (zh) 使用现有网络线缆来同步网络的方法和系统
CN204917489U (zh) 电梯控制系统
CN101106504A (zh) 基于can总线的智能自主机器人分布式通信系统
CN105049312A (zh) 工业控制环网系统及其组网方法
CN103036878A (zh) 一种用于网络协议转换的设备及方法
CN102098196B (zh) 刀片服务器的数据传输方法
CN207968522U (zh) 一种实现多主通信方式的rs485总线驱动电路
CN108156137A (zh) 一种1553B总线与FlexRay总线的协议转换方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant