多个串行接口设备间的相互通信方法技术

技术编号:25528540 阅读:18 留言:0更新日期:2020-09-04 17:16
本发明专利技术公开了一种多个串行接口设备间的相互通信方法,包括步骤:多个串行接口的机电设备(1)通过对应节点设备(3)挂载到CAN总线(2)上;第一机电设备(101)向第一节点设备(301)发串行接口数据,经第一节点设备的设备收发器(34)发至微控制单元(31);串行接口数据转换为CAN总线报文并发到CAN总线;CAN总线将CAN总线报文发送至第二节点设备(302),第二节点设备的CAN收发器接收并发至微控制单元;微控制单元将CAN总线报文转换为串行接口数据并发至第二机电设备(102)。本发明专利技术通过CAN总线报文与串行接口数据间的相互转换实现CAN总线上多个设备通过各自的串行接口通信,降低系统复杂度。

【技术实现步骤摘要】
多个串行接口设备间的相互通信方法
本专利技术涉及一种工业设备的通信控制方法,尤其涉及一种多个串行接口设备间的相互通信方法。
技术介绍
目前,设备间点对点串行通信方式包括UART、SPI、RS232等,由于上述通信方式具有简单、可靠、成本低等优势,所以大量的机电设备均支持上述的通信方式,且被广泛应用于工业控制领域。但是上述通信方式存在明显的缺陷:1、上述方式只能在两个机电设备之间实现点对点通信;2、不同的机电设备支持的通信方式可能不同,从而导致无法通信。一方面,如果整个系统中存在多个机电设备时,每两个机电设备之间利用点对点串行协议通信会使整个通信系统变得非常繁琐。当系统中有多个机电设备需要相互通信时,这需要将所有相互通信的机电设备之间通过通信线缆两两相互连接,而且所有机电设备必须有多个通信接口。如果通信系统的通信方式为通过主控设备与其他所有从属设备通信,则需要将主控设备与所有从属设备通过通信线缆两两相互连接,且主控设备必须有足够的通信接口。上述情况下,随着整个通信系统中设备的增多,整个系统的复杂性将急剧增加。另一方面,不同的机电设备往往只支持某一种点对点串行通信方式,即不同的机电设备支持不同的通信方式,如果系统的通信方式为主控设备与其他所有从属设备通信,这使得主控设备必须同时支持多种通信方式才能与所有机电设备实现通信。上述问题在汽车工业领域更加突出,随着汽车中电子设备的增多,设备间通信变得十分复杂。如果继续使用点对点的串行通信协议,线缆的数目将急剧增多,布线将变得非常困难,整个系统将变得十分臃肿、成本高昂且难以维护。因此,CAN(ControllerAreaNetwork)总线通信系统应运而生。CAN总线通信系统中,所有设备节点只需要通过High和Low两根线连接起来,就可以实现互相通信;且CAN总线具有可靠、抗干扰、灵活等优势,在工业控制领域中使用CAN总线通信可以大大减低整个系统的复杂性,提升可靠性,增加灵活性。但现有技术中只支持点对点串行协议的机电设备无法接入CAN总线并实现通信。
技术实现思路
本专利技术的目的在于提供一种多个串行接口设备间的相互通信方法,通过CAN总线报文与串行接口数据之间的相互转换实现CAN总线上多个任意类型的串行接口设备之间的通信,降低控制系统和通信系统的复杂度。本专利技术是这样实现的:一种多个串行接口设备间的相互通信方法,包括以下步骤:步骤1:将若干个串行接口的机电设备分别通过对应的节点设备挂载到CAN总线上;所述的节点设备包括微控制单元、CAN收发器、控制器和设备收发器,微控制单元通过CAN收发器与CAN总线连接,设备收发器的串行接口与机电设备的串行接口一致,使机电设备通过设备收发器与微控制单元连接步骤2:第一机电设备向与第一机电设备连接的第一节点设备发送串行接口数据,第一节点设备的设备收发器接收串行接口数据并将串行接口数据发送至微控制单元;步骤3:第一节点设备的微控制单元将串行接口数据转换为CAN总线报文,并将CAN总线报文通过第一节点设备的控制器经CAN收发器发送到CAN总线;步骤4:CAN总线将CAN总线报文发送至第二节点设备,第二节点设备的CAN收发器接收CAN总线报文,并通过控制器将CAN总线报文发送至微控制单元;步骤5:第二节点设备的微控制单元将CAN总线报文转换为串行接口数据,并通过设备收发器将串行接口数据发送至第二机电设备,实现两个机电设备之间的通信。所述的CAN总线报文的ID包括信息标识、目标对象地址、源对象地址和指令。所述的信息标识、目标对象地址、源对象地址和指令的长度均固定,且目标对象地址的长度与源对象地址的长度一致并在通信过程中保持不变。所述的串行接口数据包括控制字段、CAN控制字段、CANID字段、CAN数据字段和校验字段,且控制字段、CAN控制字段、CANID字段、CAN数据字段和校验字段之间通过特殊标识符标识。所述的控制字段、CAN控制字段、CANID字段、CAN数据字段和校验字段之间的特殊标识符依次为开始标识符、正文开始标识符、正文结束标识符和结束标识符。所述的串行接口数据还包括非特殊标识符,即转义标识符,非特殊标识符插入在串行接口数据中该相同字节之前。非特殊标识符的长度为1字节。所述的控制字段的长度为2字节;CAN控制字段的长度为1字节;CANID字段的长度为:标准ID为2字节、扩展ID为4字节;特殊标识符的长度为1字节。所述的校验字段的校验方式为:奇偶校验、异或校验或CRC。所述的校验字段的长度为1字节。综上所述,本专利技术可以将串行接口数据与CAN总线报文相互转换,实现支持任意数量和类型串行接口机电设备接入CAN总线,并将CAN总线报文ID划分出目标对象和来源对象地址,实现了任意两个接入CAN总线的机电设备之间的双向通信,从而可以有效降低控制系统和通信系统的复杂度,降低控制成本,尤其适合应用于工业控制设备中。附图说明图1是本专利技术多个串行接口设备间的相互通信方法的原理图;图2是本专利技术多个串行接口设备间的相互通信方法中实施例1的原理图。图中,1机电设备,101第一机电设备,102第二机电设备,103第三机电设备,2CAN总线,3节点设备,31微控制单元,32CAN收发器,33控制器,34设备收发器,301第一节点设备,302第二节点设备,303第三节点设备。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明。请参见附图1,一种多个串行接口设备间的相互通信方法,包括以下步骤:步骤1:将若干个串行接口的机电设备1分别通过对应的节点设备3挂载到CAN总线2上。若干个机电设备1可采用相同或不同的串行接口,包括第一机电设备101、第二机电设备102、第三机电设备103…第n机电设备10n(n为自然数),其对应的节点设备3可包括第一节点设备301、第二节点设备302、第三节点设备303…第n节点设备30n(n为自然数),n的数量可根据实际设备需求扩展。每个所述的节点设备3包括微控制单元(MCU)31、CAN收发器32、控制器33和设备收发器34,微控制单元31通过CAN收发器32与CAN总线2连接,设备收发器34的串行接口与机电设备1的串行接口一致,使机电设备1通过设备收发器34与微控制单元31连接。微控制单元31可采用现有技术的单片机,通过单片机的计算单元实现数据的编码和解码,即可实现CAN总线报文与串行接口数据之间的转换。步骤2:第一机电设备101向与第一机电设备101连接的第一节点设备301发送串行接口数据,第一节点设备301的设备收发器34接收串行接口数据并将串行接口数据发送至微控制单元31。步骤3:第一节点设备301的微控制单元31将串行接口数据转换为CAN总线报文,并将CAN总线报文通过第一节点设备301的控制器33经CAN收发器32发送到CAN总线2。步骤4:CAN总线2将CAN总线报文发送至第二本文档来自技高网
...

【技术保护点】
1.一种多个串行接口设备间的相互通信方法,其特征是:包括以下步骤:/n步骤1:将若干个串行接口的机电设备(1)分别通过对应的节点设备(3)挂载到CAN总线(2)上;/n所述的节点设备(3)包括微控制单元(31)、CAN收发器(32)、控制器(33)和设备收发器(34),微控制单元(31)通过CAN收发器(32)与CAN总线(2)连接,设备收发器(34)的串行接口与机电设备(1)的串行接口一致,使机电设备(1)通过设备收发器(34)与微控制单元(31)连接;/n步骤2:第一机电设备(101)向与第一机电设备(101)连接的第一节点设备(301)发送串行接口数据,第一节点设备(301)的设备收发器(34)接收串行接口数据并将串行接口数据发送至微控制单元(31);/n步骤3:第一节点设备(301)的微控制单元(31)将串行接口数据转换为CAN总线报文,并将CAN总线报文通过第一节点设备(301)的控制器(33)经CAN收发器(32)发送到CAN总线(2);/n步骤4:CAN总线(2)将CAN总线报文发送至第二节点设备(302),第二节点设备(302)的CAN收发器(32)接收CAN总线报文,并通过控制器(33)将CAN总线报文发送至微控制单元(31);/n步骤5:第二节点设备(302)的微控制单元(31)将CAN总线报文转换为串行接口数据,并通过设备收发器(34)将串行接口数据发送至第二机电设备(102),实现两个机电设备(1)之间的通信。/n...

【技术特征摘要】
1.一种多个串行接口设备间的相互通信方法,其特征是:包括以下步骤:
步骤1:将若干个串行接口的机电设备(1)分别通过对应的节点设备(3)挂载到CAN总线(2)上;
所述的节点设备(3)包括微控制单元(31)、CAN收发器(32)、控制器(33)和设备收发器(34),微控制单元(31)通过CAN收发器(32)与CAN总线(2)连接,设备收发器(34)的串行接口与机电设备(1)的串行接口一致,使机电设备(1)通过设备收发器(34)与微控制单元(31)连接;
步骤2:第一机电设备(101)向与第一机电设备(101)连接的第一节点设备(301)发送串行接口数据,第一节点设备(301)的设备收发器(34)接收串行接口数据并将串行接口数据发送至微控制单元(31);
步骤3:第一节点设备(301)的微控制单元(31)将串行接口数据转换为CAN总线报文,并将CAN总线报文通过第一节点设备(301)的控制器(33)经CAN收发器(32)发送到CAN总线(2);
步骤4:CAN总线(2)将CAN总线报文发送至第二节点设备(302),第二节点设备(302)的CAN收发器(32)接收CAN总线报文,并通过控制器(33)将CAN总线报文发送至微控制单元(31);
步骤5:第二节点设备(302)的微控制单元(31)将CAN总线报文转换为串行接口数据,并通过设备收发器(34)将串行接口数据发送至第二机电设备(102),实现两个机电设备(1)之间的通信。


2.根据权利要求1所述的多个串行接口设备间的相互通信方法,其特征是:所述的CAN总线报文的ID包括信息标识、目标对象地址、源对象地址和指令。


3.根据权利要求2所述的多个串行接口设备...

【专利技术属性】
技术研发人员:李文彬林海洋韩振宇
申请(专利权)人:上海辰瞻医疗科技有限公司
类型:发明
国别省市:上海;31

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

1