带双主控模块的CAN总线中继器及其数据中转方法技术

技术编号:10281819 阅读:210 留言:0更新日期:2014-08-03 06:27
本发明专利技术涉及CAN总线数据中继传输装置技术领域,是一种带双主控模块的CAN总线中继器及其数据中转方法,其包括数据读入接口、双口RAM存储器模块、第一锁存器、第二锁存器、第一主控模块、第二主控模块、第一CAN接口、第二CAN接口、并串转换模块和数据输出接口;其中第一主控模块在转发第一锁存器存储的数据的同时,第二主控模块在转发第二锁存器存储的数据。本发明专利技术结构合理而紧凑,使用方便,其通过将现有CAN总线中继器的单主控结构改为双主控结构,对数据队列进行并行处理,两个主控模块之间采用互通机制和总线互锁实现对中转数据的快速转发,既避免了数据发送冲突,同时提高数据发送效率,具有安全、可靠、高效的特点。

【技术实现步骤摘要】
带双主控模块的CAN总线中继器及其数据中转方法
本专利技术涉及CAN总线数据中继传输装置
,是一种带双主控模块的CAN总线中继器及其数据中转方法。
技术介绍
目前CAN总线由于开发成本低、总线利用率高、传输距离远(最远可达10千米)、传输速率高,已被广泛应用到各个自动化控制系统中,如汽车电子、自动控制、智能大厦、电力系统、安防监控等领域。随着CAN总线网络区域的扩大,两个节点之间的直接数据传输将难以满足远距离通信要求。CAN中继器是延长CAN总线通信距离的中转站,其通信效率和通信可靠性直接影响CAN总线的通信能力。现有的基于单主控的CAN中继器可靠性及数据转发能力偏低,难以满足大量数据的中转要求。
技术实现思路
本专利技术提供了一种带双主控模块的CAN总线中继器及其数据中转方法,克服了上述现有技术之不足,其能有效解决现有基于单主控的CAN总线中继器可靠性差、数据转发能力较低、无法满足大量数据输送的问题。本专利技术的技术方案之一是通过以下措施来实现的:一种带双主控模块的CAN总线中继器,包括数据读入接口,用于读入CAN总线所传输的数据; 双口 RAM存储器模块,用于存储数据读入接口输入的数据; 第一锁存器,用于将双口 RAM存储器模块输出的第一队列数据进行锁存; 第二锁存器,用于将双口 RAM存储器模块输出的第二队列数据进行锁存; 第一主控模块,用于转发第一锁存器存储的数据; 第二主控模块,用于转发第二锁存器存储的数据; 第一 CAN接口,用于传输第一主控模块所转发的数据; 第二 CAN接口,用于传输第二主控模块所转发的数据; 并串转换模块,用于将第一 CAN接口传输的数据和第二 CAN接口传输的数据依序合并在一起; 数据输出接口,用于将并串转换模块所传输的合并后的数据输出; 其中第一主控模块在转发第一锁存器存储的数据的同时,第二主控模块在转发第二锁存器存储的数据。下面是对上述专利技术技术方案之一的进一步优化或/和改进: 上述数据读入接口、双口 RAM存储器模块、第一锁存器、第二锁存器、第一主控模块、第二主控模块、第一 CAN接口、第二 CAN接口、并串转换模块和数据输出接口可固定在主电路板上,数据读入接口的信号输出端与双口 RAM存储器模块的信号输入端相电连接,双口 RAM存储器模块的第一信号输出端与第一锁存器的信号输入端相电连接,第一锁存器的信号输出端与第一主控模块的第一信号输入端相电连接,第一主控模块的信号输出端与第一 CAN接口的信号输入端相电连接,双口 RAM存储器模块的第二信号输出端与第二锁存器的信号输入端相电连接,第二锁存器的信号输出端与第二主控模块的第一信号输入端相电连接,第二主控模块的信号输出端与第二 CAN接口的信号输入端相电连接,第一 CAN接口的信号输出端及第二 CAN接口的信号输出端分别与并串转换模块的第一信号输入端和第二信号输入端相电连接,并串转换模块的信号输出端与数据输出接口的信号输入端相电连接;第一主控模块的通信端口与第二主控模块的通信端口相电连接,第一主控模块的第二信号输入端与第二锁存器的信号输出端相电连接,第二主控模块的第二信号输入端与第一锁存器的信号输出端相电连接。上述第一主控模块和第二主控模块可为微控制单元MCU或可编程逻辑控制器PLC或DSP芯片或FPGA芯片或ARM处理器。本专利技术的技术方案之二是通过以下措施来实现的:一种使用上述带双主控模块的CAN总线中继器的数据中转方法:首先将数据读入接口与上行CAN总线的输出端口相电连接,数据输出接口与下行CAN总线的输入端口相电连接;接着,CAN总线中继器开始按照以下步骤进行工作: 第一步:数据读入接口接收上行CAN总线所发出的信号并传输给双口 RAM存储器模块,双口 RAM存储器模块将接收的信号按照字段分别发送给第一锁存器和第二锁存器,其中第一锁存器接收第一队列数据并进行锁存,第二锁存器接收第二队列数据并进行锁存; 第二步:双口 RAM存储器模块将队列指针信号分别发送给第一主控模块和第二主控模块; 第三步:第一主控模块给第二主控模块发送初始化信息,第二主控模块在收到初始化信息后给第一主控模块回复确认信息,第一主控模块在收到确认信息后,第一主控模块和第二主控模块双方建立通讯; 第四步:第一主控模块与第二主控模块判断第一锁存器及第二锁存器中是否有数据待发送,其中:对于第一主控模块,若第一锁存器中有数据待发送则第一主控模块将第一队列数据中的一帧数据发送到第一 CAN接口并进入第五步,若第一锁存器中没有数据需要发送则返回第三步;与此同时,对于第二主控模块,若第二锁存器中有数据待发送则第二主控模块将第二队列数据中的一帧数据发送到第二 CAN接口并进入第五步,若第二锁存器中没有数据需要发送则返回第三步; 第五步:第一 CAN接口和第二 CAN接口将接收的数据按照数据地址发送给并串转换模块; 第六步:并串转换模块将接收的数据按照数据地址依序合并在一起必并传送给数据输出接口,数据输出接口将接收的数据信号传送给下行CAN总线; 第七步:第一主控模块通过通讯接口将已发送完一帧数据的信号发送给第二主控模块,并将所发送的第一队列数据中的一帧数据的数据地址发给第二主控模块;第二主控模块通过通讯接口将已发送完一帧数据的信号发送给第一主控模块,并将所发送的第二队列数据中的一帧数据的数据地址发给第一主控模块; 第八步:第一主控模块将第七步中收到的数据地址存入第一主控模块的内部寄存器,同时第二主控模块将第七步中收到的数据地址存入第二主控模块的内部寄存器; 第九步:第一主控模块与第二主控模块再次判断第一锁存器及第二锁存器中是否有数据待发送,其中:对于第一主控模块,若第一锁存器中有数据待发送则第一主控模块将队列指针信号修改,将第一队列数据中的第二帧数据发送到第一 CAN接口并进入第五步,若第一锁存器中没有数据需要发送则进入第三步;与此同时,对于第二主控模块,若第二锁存器中有数据待发送则第二主控模块将队列指针信号修改,将第二队列数据中的第二帧数据发送到第二 CAN接口并进入第五步,若第二锁存器中没有数据需要发送则进入第三步。第十步:对于双口 RAM存储器模块,若双口 RAM存储器模块中仍存储有待发送数据则继续将接收的信号按照字段分别发送给第一锁存器和第二锁存器,其中第一锁存器接收第三队列数据并进行锁存,第二锁存器接收第四队列数据并进行锁存,之后双口 RAM存储器模块进入第二步;若双口 RAM存储器模块中没有待发送数据,则数据读入接口接收上行CAN总线所发出的新的信号并传输给双口 RAM存储器模块,之后双口 RAM存储器模块进入第一步,直至数据读入接口不再接收到新的信号。本专利技术结构合理而紧凑,使用方便,其通过将现有CAN总线中继器的单主控结构改为双主控结构,对数据队列进行并行处理,两个主控模块之间采用互通机制和总线互锁实现对中转数据的快速转发,既避免了数据发送冲突,同时提高数据发送效率,具有安全、可靠、高效的特点。【附图说明】附图1为本专利技术实施例一的逻辑结构示意图。附图2为本专利技术实施例一的数据发送流程图。附图中的编码分别为:1为数据读入接口,2为双口 RAM存储器模块,3为第一锁存器,4为第二锁存器,5为本文档来自技高网...
带双主控模块的CAN总线中继器及其数据中转方法

【技术保护点】
一种带双主控模块的CAN总线中继器,其特征在于包括数据读入接口,用于读入CAN总线所传输的数据;双口RAM存储器模块,用于存储数据读入接口输入的数据;第一锁存器,用于将双口RAM存储器模块输出的第一队列数据进行锁存;第二锁存器,用于将双口RAM存储器模块输出的第二队列数据进行锁存;第一主控模块,用于转发第一锁存器存储的数据;第二主控模块,用于转发第二锁存器存储的数据;第一CAN接口,用于传输第一主控模块所转发的数据;第二CAN接口,用于传输第二主控模块所转发的数据;并串转换模块,用于将第一CAN接口传输的数据和第二CAN接口传输的数据依序合并在一起;数据输出接口,用于将并串转换模块所传输的合并后的数据输出;其中第一主控模块在转发第一锁存器存储的数据的同时,第二主控模块在转发第二锁存器存储的数据。

【技术特征摘要】
1.一种带双主控模块的CAN总线中继器,其特征在于包括数据读入接口,用于读入CAN总线所传输的数据; 双口 RAM存储器模块,用于存储数据读入接口输入的数据; 第一锁存器,用于将双口 RAM存储器模块输出的第一队列数据进行锁存; 第二锁存器,用于将双口 RAM存储器模块输出的第二队列数据进行锁存; 第一主控模块,用于转发第一锁存器存储的数据; 第二主控模块,用于转发第二锁存器存储的数据; 第一 CAN接口,用于传输第一主控模块所转发的数据; 第二 CAN接口,用于传输第二主控模块所转发的数据; 并串转换模块,用于将第一 CAN接口传输的数据和第二 CAN接口传输的数据依序合并在一起; 数据输出接口,用于将并串转换模块所传输的合并后的数据输出; 其中第一主控模块在转发第一锁存器存储的数据的同时,第二主控模块在转发第二锁存器存储的数据。2.根据权利要求1所述的带双主控模块的CAN总线中继器,其特征在于数据读入接口、双口 RAM存储器模块、第一锁存器、第二锁存器、第一主控模块、第二主控模块、第一 CAN接口、第二 CAN接口、并串转换模块和数据输出接口固定在主电路板上,数据读入接口的信号输出端与双口 RAM存储器模块的信号输入端相电连接,双口 RAM存储器模块的第一信号输出端与第一锁存器的信号输入端相电连接,第一锁存器的信号输出端与第一主控模块的第一信号输入端相电连接,第一主控模块的信号输出端与第一 CAN接口的信号输入端相电连接,双口 RAM存储器模块的第二信号输出端与第二锁存器的信号输入端相电连接,第二锁存器的信号输出端与第二主控模块的第一信号输入端相电连接,第二主控模块的信号输出端与第二 CAN接口的信号输入端相电连接,第一 CAN接口的信号输出端及第二 CAN接口的信号输出端分别与并串转换模块的第一信号输入端和第二信号输入端相电连接,并串转换模块的信号输出端与数据输出接口的信号输入端相电连接;第一主控模块的通信端口与第二主控模块的通信端口相电连接,第一主控模块的第二信号输入端与第二锁存器的信号输出端相电连接,第二主控模块的第二信号输入端与第一锁存器的信号输出端相电连接。3.根据权利要求1或2所述的带双主控模块的CAN总线中继器,其特征在于第一主控模块和第二主控模块为微控制单元MCU或可编程逻辑控制器PLC或DSP芯片或FPGA芯片或ARM处理器。4.一种使用权利要求1或2或3所述的带双主控模块的CAN总线中继器的数据中转方法,其特征在于首先将数据读入接口与上行CAN总线的输出端口相电连接,数据输出接口与下行CAN总线的输入端口相电连接;接着,CAN总线中继器开始按照以下步骤进行工作: 第一步:数据读入接口接收上行CAN总线所发出的信号并传输给双口 RAM存储器模块,双口 RAM存储器模块将接收的信号按照字段分别发送给...

【专利技术属性】
技术研发人员:姚永波崔力民李明
申请(专利权)人:国家电网公司国网新疆电力公司信息通信公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1