CN116016701A - Can总线与autbus总线的转换方法、控制器及架构 - Google Patents
Can总线与autbus总线的转换方法、控制器及架构 Download PDFInfo
- Publication number
- CN116016701A CN116016701A CN202211585975.6A CN202211585975A CN116016701A CN 116016701 A CN116016701 A CN 116016701A CN 202211585975 A CN202211585975 A CN 202211585975A CN 116016701 A CN116016701 A CN 116016701A
- Authority
- CN
- China
- Prior art keywords
- phb
- bus
- message
- conversion module
- master station
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Bus Control (AREA)
Abstract
本申请实施例涉及通信技术领域,且涉及一种CAN总线与AUTBUS总线的转换方法、控制器及架构。转换方法的方案为:在PHB主站初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;PHB主站与PHB从站通过AUTBUS总线相连接,各个转换模块与各自对应的CAN总线相连接;PHB主站基于描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,CAN报文是来自CAN总线、并经过转换模块处理之后上传到PHB主站的;通过设置于PHB主站的自定义CAN模块调用读接口,从缓存中读取CAN报文。本申请实施例使用自定义CAN功能块和PHB协议,实现接收、处理AUTBUS总线上由转换模块发送过来的CAN报文,可用AUTBUS总线的优势实现远距离、高速的CAN通信,可避免数据的覆盖丢失、保证数据的完整性和实时性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及CAN总线与AUTBUS总线的转换方法、控制器及架构。
背景技术
控制器通过PHB协议(Pipe Hign-speed Bus,管道高速总线)与AUTBUS总线上的设备进行通信,需导入从站的配置文件,根据配置进行实时报文的通信。但是,若使用通常的实时数据传输CAN报文,CAN报文会周期性地传输到控制器。新的数据会覆盖旧的数据,容易造成数据丢失。另一种方式,使用自定义CAN功能块可以打开控制器CAN接口接收CAN报文,但无法接收、处理从其他接口(如AUTBUS总线)发送过来的CAN报文。
发明内容
鉴于现有技术的以上问题,本申请实施例提供一种CAN总线与AUTBUS总线的转换方法、控制器及架构,使用自定义CAN功能块和PHB协议,实现接收、处理AUTBUS总线上由转换模块发送过来的CAN报文,可用AUTBUS总线的优势实现远距离、高速的CAN通信,可避免数据的覆盖丢失、保证数据的完整性和实时性。
达到上述目的,本申请第一方面提供了一种CAN总线与AUTBUS总线的转换方法,包括:
在PHB主站初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;其中,所述PHB主站与所述PHB从站通过AUTBUS总线相连接,各个所述转换模块与各自对应的CAN总线相连接;
所述PHB主站基于所述描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,所述CAN报文是来自所述CAN总线、并经过所述转换模块处理之后上传到所述PHB主站的;
通过设置于所述PHB主站的自定义CAN模块调用读接口,从所述缓存中读取所述CAN报文。
作为第一方面的一种可能的实现方式,所述方法还包括:
所述PHB主站通过所述CAN功能块下发CAN报文;其中,所述CAN功能块调用写接口,通过所述AUTBUS总线将CAN报文下发给所述转换模块,经过所述转换模块处理后将CAN报文下发到CAN总线上。
作为第一方面的一种可能的实现方式,所述针对各个设置于PHB从站的转换模块生成描述符,包括:
在所述PHB从站在线的情况下生成所述描述符。
作为第一方面的一种可能的实现方式,所述转换模块对报文的处理包括:
所述转换模块将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包上传给所述PHB主站。
作为第一方面的一种可能的实现方式,所述转换模块对报文的处理包括:
所述转换模块将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
本申请第二方面提供了一种控制器,所述控制器作为PHB主站,并在所述控制器中设置自定义CAN模块;
所述PHB主站在初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;其中,所述PHB主站与所述PHB从站通过AUTBUS总线相连接,各个所述转换模块与各自对应的CAN总线相连接;
所述PHB主站基于所述描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,所述CAN报文是来自所述CAN总线、并经过所述转换模块处理之后上传到所述PHB主站的;
所述自定义CAN模块调用读接口,从所述缓存中读取所述CAN报文。
作为第二方面的一种可能的实现方式,还包括:
所述PHB主站通过所述CAN功能块下发CAN报文;其中,所述CAN功能块调用写接口,通过所述AUTBUS总线将CAN报文下发给所述转换模块,经过所述转换模块处理后将CAN报文下发到CAN总线上。
作为第二方面的一种可能的实现方式,还包括:
在所述PHB从站在线的情况下,所述PHB主站针对所述设置于PHB从站的转换模块生成描述符。
本申请第三方面提供了一种实现CAN总线与AUTBUS总线转换的网络架构,所述网络架构包括如上述第二方面所述的控制器以及至少一个转换模块;
所述转换模块设置于PHB从站,并与各自对应的CAN总线相连接;
所述转换模块用于将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包通过AUTBUS总线上传给所述PHB主站。
作为第三方面的一种可能的实现方式,所述转换模块还用于:
将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
本申请第四方面提供了一种计算设备,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行上述第一方面任一所述的方法。
本申请第五方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面任一所述的方法。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1为本申请实施例提供的CAN总线与AUTBUS总线的转换方法的一实施例的示意图;
图2为本申请实施例提供的CAN总线与AUTBUS总线的转换方法的一实施例的网络架构示意图;
图3为本申请实施例提供的CAN总线与AUTBUS总线的转换方法的一实施例的网络架构示意图;
图4为本申请实施例提供的CAN总线与AUTBUS总线的转换方法的一实施例的流程示意图;
图5为本申请实施例提供的计算设备的示意图。
具体实施方式
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)AUTBUS总线:AUTBUS是一种采用两线非桥接媒介,具有多节点、高带宽、高实时、远距离传输的工业现场总线。作为一种高速的时间敏感网络总线,AUTBUS同时结合了现场总线与实时以太网的优势,可用于过程控制、离散控制等工业现场的实时数据和非实时数据的传输与应用,也能承载ISO/IEC/IEEE 8802-3以太网业务及IPv6等应用业务的数据传输。AUTBUS标准突破了新的物理层技术,实现了工业控制领域最后一公里,在不改变传统线缆习惯情况下可实现宽带接入。AUTBUS相比较于CAN总线具有更高带宽和更好实时性,符合全球工业通信网络实现互联互通融合发展的趋势。
2)CAN(Controller Area Network,控制器局部网)总线:CAN是ISO国际标准化的串行通信协议。CAN总线是为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率最高可达1Mbps。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。CAN被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
下面先对现有的方法进行介绍,然后再对本申请的技术方案进行详细介绍。
控制器通过PHB协议(油气管道高速总线)与AUTBUS总线上的设备进行通信,需导入从站的配置文件,根据配置进行实时报文的通信。但是,若使用通常的实时数据传输CAN报文,CAN报文会周期性地传输到控制器。新的数据会覆盖旧的数据,容易造成数据丢失。另一种方式,使用自定义CAN功能块可以打开控制器CAN接口接收CAN报文,但无法接收、处理从其他接口(如AUTBUS总线)发送过来的CAN报文。
现有技术存在着以下的缺陷:使用自定义CAN功能块无法接收、处理从AUTBUS总线发送过来的CAN报文;通过PHB协议在AUTBUS总线上实时传输CAN报文,会造成数据覆盖丢失。
基于上述现有技术所存在的技术问题,本申请提供了一种CAN总线与AUTBUS总线的转换方法,使用自定义CAN功能块和PHB协议,实现接收、处理AUTBUS总线上由转换模块发送过来的CAN报文。该方案可以利用AUTBUS总线的优势,实现远距离、高速的CAN通信,并且可以避免数据的覆盖和丢失、保证数据的完整性和实时性。本申请实施例利用转换模块的处理解决了现有技术中提到的无法接收处理从AUTBUS总线发送过来的CAN报文的技术问题。利用缓存手段解决了现有技术中提到的数据覆盖丢失的技术问题。
图1为本申请实施例提供的CAN总线与AUTBUS总线的转换方法的一实施例的示意图。如图1所示,该方法包括:
步骤S110,在PHB主站初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;其中,所述PHB主站与所述PHB从站通过AUTBUS总线相连接,各个所述转换模块与各自对应的CAN总线相连接;
步骤S120,所述PHB主站基于所述描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,所述CAN报文是来自所述CAN总线、并经过所述转换模块处理之后上传到所述PHB主站的;
步骤S130,通过设置于所述PHB主站的自定义CAN模块调用读接口,从所述缓存中读取所述CAN报文。
PHB是AUTBUS上使用的一个总线。本申请实施例中,基于PHB协议和自定义CAN功能块实现CAN总线与AUTBUS总线之间的转换。参见图1和图2,可将控制器作为PHB主站。其中,控制器可以是可编程逻辑控制器(PLC,Programmable Logic Controller)。转换功能可实现CAN报文与AUTBUS报文的相互转换。可将具有转换功能的转换模块设置于PHB从站。图2中的“PHB-S”表示PHB从站。PHB主站与PHB从站通过AUTBUS总线相连接。AUTBUS总线与CAN总线通过转换模块相连接。
使用自定义CAN功能块进行通信时,需要先打开设备上用于收发报文的CAN接口。因此,为了实现CAN转AUTBUS的功能,在PHB配置和初始化的过程中,对于每一个实现CAN转换AUTBUS的转换模块(PHB从站),PHB主站分别生成一个虚拟的CAN接口,用于控制器的其他模块收发CAN报文使用。
在步骤S110中,在PHB主站初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符。描述符用于标识各个转换模块。参见图2所示的网络架构,转换模块涉及CAN报文的转发。PHB主站上,可将转换模块虚拟成控制器上的一个CAN接口,通过自定义CAN功能块可以直接控制转换模块。在网络架构中,转换模块可以有一个或多个。其中,不同的描述符对应的转换模块连接不同的CAN总线。一个CAN接口可以只连接一条CAN总线。各个转换模块与各自对应的CAN总线相连接。
图2中的CAN总线上可连接至少一个CAN设备。CAN设备将CAN报文传输到控制器的过程可包括:CAN设备通过CAN总线将CAN报文传输给转换模块;转换模块对CAN报文进行转换处理,使得转换后的报文可以在AUTBUS总线上传输。转换模块处理之后再通过AUTBUS总线将报文上传到PHB主站。在步骤S120中,PHB主站基于步骤S110中生成的描述符,从AUTBUS总线接收CAN设备上传的CAN报文,并将CAN报文存储到缓存中。
在一个示例中,将控制器作为PHB主站。初始化完成后,控制器从AUTBUS收到CAN报文之后,会缓存到本地,等待自定义CAN模块调用读接口的时候取出。自定义CAN模块也是设置在控制器中的,是控制器中的一个功能块,也称为自定义CAN功能块。
在一个示例中,自定义CAN模块可包括4个部分:打开CAN接口;接收报文;发送报文;关闭CAN接口。在步骤S130中,通过设置于PHB主站的自定义CAN模块打开虚拟的CAN接口,调用读接口从缓存中读取CAN报文。
参见图3,在控制器中设置有PHB协议模块和自定义CAN模块。PHB协议模块用于执行PHB通信协议,实现PHB主站与PHB从站之间的通信功能。控制器作为PHB主站,转换模块设置于PHB从站。在PHB主站初始化时,PHB协议模块生成标识各PHB从站的描述符。其中,各从站指作为转换模块的PHB从站。PHB主站与所述PHB从站通过AUTBUS总线相连接。AUTBUS总线与CAN总线通过转换模块相连接。
参见图3,在PHB协议模块中设置缓存,用于存储从AUTBUS总线接收的上传的CAN报文。CAN报文上传的过程如下:CAN总线上可连接至少一个CAN设备。CAN设备通过CAN总线将CAN报文传输给转换模块;转换模块对CAN报文进行转换处理,使得转换后的报文可以在AUTBUS总线上传输。转换模块处理之后再通过AUTBUS总线将报文上传到PHB主站中的PHB协议模块。PHB协议模块基于生成的描述符,从AUTBUS总线接收CAN设备上传的CAN报文,并将CAN报文存储到缓存中。参见图3,自定义CAN模块设置有读接口,读接口是自定义CAN模块从上述缓存中读数据的接口。自定义CAN模块可调用读接口,从缓存中读取CAN报文。
在图3中,转换模块是专用于AUTBUS转CAN的从站,需要针对转换模块生成描述符。描述符所起到的作用相当于把转换模块虚拟成控制器上的一个CAN口。转换模块涉及CAN报文的转发,所以从控制器的角度讲,转换模块可以认为是一个软件概念上的虚拟的CAN接口。参见图3,自定义CAN模块可打开虚拟的CAN接口,调用读接口从缓存中读取CAN报文。在现有技术中,自定义CAN功能块是PHB主站一个实际的CAN接口。AUTBUS总线中传输实时报文。实时报文收到后,如果前一条报文没有被及时读取,则前一条报文可能被后一条报文覆盖。相比之下,本申请实施例将PHB协议连接的设备当成一个虚拟的CAN接口。CAN接口中设置一个缓存,将收到的报文缓存起来,等待自定义CAN模块去读取。
本申请实施例使用自定义CAN功能块和PHB协议,实现接收、处理AUTBUS总线上由转换模块发送过来的CAN报文。该方案中,PHB主站与PHB从站通过AUTBUS总线相连接,各个设置于PHB从站的转换模块与各自对应的CAN总线相连接。该方案通过采用以上网络架构可以利用AUTBUS总线的优势,实现远距离、高速的CAN通信。并且该方案利用缓存机制可以避免数据的覆盖和丢失、保证数据的完整性和实时性。
在一种实施方式中,所述方法还包括:
所述PHB主站通过所述CAN功能块下发CAN报文;其中,所述CAN功能块调用写接口,通过所述AUTBUS总线将CAN报文下发给所述转换模块,经过所述转换模块处理后将CAN报文下发到CAN总线上。
参见图2,将控制器作为PHB主站。在控制器向CAN总线上的CAN设备发送CAN报文时,设置于控制器的CAN功能块调用写接口,直接通过AUTBUS将报文发送给转换模块。转换模块对CAN报文进行转换处理,使得转换后的报文可以在CAN总线上传输。转换模块处理之后将报文下发到CAN总线上。
如图4所示,在控制器中,一个示例性的CAN总线与AUTBUS总线的转换方法的流程如下:
1)PHB协议
①PHB主站初始化,生成标识各从站的描述符,等待从站上线。
其中,用作转换模块的从站具有连接CAN总线的功能,需要生成描述符。其它的从站没有连接CAN总线的功能,不需要生成描述符。
②用作转换模块的从站上线,进行PHB协议相关的基础配置,并准备进行通信。
③PHB接收从站上传的CAN报文。接收的报文是CAN总线经过转换模块传输过来的。PHB接收报文并进行缓存,然后等待自定义CAN模块调用读接口接收。另一方面,在主站向从站下发指令时,自定义CAN模块作为下发CAN报文的接口,通过PHB协议下发CAN功能块需要下发的CAN报文。
2)自定义CAN模块
①初始化,需等PHB从站上线之后可以初始化成功。
②开始CAN报文收发。
在一种实施方式中,所述针对各个设置于PHB从站的转换模块生成描述符,包括:
在所述PHB从站在线的情况下生成所述描述符。
参见图2至图4,如果在PHB从站没上线的情况下生成描述符,则自定义CAN模块在打开转换模块的虚拟CAN接口时,就会发生打开失败的情况。因此需要在PHB协议初始化完成后,从站在线的情况下生成描述符。该描述符是一个虚拟的CAN接口,可用于控制器接收和发送CAN报文。自定义CAN模块在收到报文时需要使用这个虚拟的CAN接口。此CAN接口是否可用依赖于其代表的转换模块是否在线,以及PHB协议的通信是否正常。本申请实施例中可通过这个描述符将自定义CAN模块和PHB联系起来,两者协同可实现CAN总线与AUTBUS总线的转换。
本申请实施例中,将转换模块虚拟成控制器上的一个CAN接口,相当于将控制器直接连接在CAN总线上,即将控制器作为CAN总线上的一种设备,执行通信协议或直接发报文。
在一种实施方式中,所述转换模块对报文的处理包括:
所述转换模块将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包上传给所述PHB主站。
在一种实施方式中,所述转换模块对报文的处理包括:
所述转换模块将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
参见图2,转换模块将从CAN总线发来的包进行封装,使其成为PHB包,然后再传给控制器。对于控制器发下去的包,转换模块将PHB的协议头和协议尾去掉,只剩下CAN的报文,再将其发到CAN总线上去。
在一个示例中,CAN总线上的数据需要发送给控制器。在这个应用场景中,控制器可以理解为是CAN总线上的某一个设备。CAN设备通过转换模块将数据发给控制器。控制器从CAN总线上采集CAN数据,数据汇总起来再进行运算。在另一个应用场景中,控制器需要通过转换模块向CAN设备发送控制指令。在以上两种应用场景中,控制器和CAN设备通过转换模块进行交互,在交互过程中将控制器虚拟成CAN总线的一个设备。
参见图2的网络架构,控制器连接CAN总线,采集CAN总线设备上的一些信息再下发指令。考虑到AUTBUS总线相对于CAN总线的优势,中间引入AUTBUS总线,可充分发挥AUTBUS总线的优势,实现远距离、高速的CAN通信。转换模块是连到CAN总线上的设备,其达到的目的相当于将控制器直接连到CAN总线上。在实际应用场景中,控制器与CAN总线的距离可能是很远的。转换模块可以直接设置在CAN总线上,或者转换模块也可以直接设置在离CAN设备很近的地方,这时转换模块与控制器之间的距离是很远的。如果这段很远的距离上的网络传输采用CAN总线,则通讯质量和效率将很难保证。因此本申请实施例在这段距离上采用AUTBUS总线传输数据,可借助AUTBUS总线实现远距离、高速的CAN通信。
本申请还提供了相应的一种控制器,所述控制器作为PHB主站,并在所述控制器中设置自定义CAN模块;
所述PHB主站在初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;其中,所述PHB主站与所述PHB从站通过AUTBUS总线相连接,各个所述转换模块与各自对应的CAN总线相连接;
所述PHB主站基于所述描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,所述CAN报文是来自所述CAN总线、并经过所述转换模块处理之后上传到所述PHB主站的;
所述自定义CAN模块调用读接口,从所述缓存中读取所述CAN报文。
在一种实施方式中,还包括:
所述PHB主站通过所述CAN功能块下发CAN报文;其中,所述CAN功能块调用写接口,通过所述AUTBUS总线将CAN报文下发给所述转换模块,经过所述转换模块处理后将CAN报文下发到CAN总线上。
在一种实施方式中,还包括:
在所述PHB从站在线的情况下,所述PHB主站针对所述设置于PHB从站的转换模块生成描述符。
在一种实施方式中,所述转换模块对报文的处理包括:
所述转换模块将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包上传给所述PHB主站。
在一种实施方式中,所述转换模块对报文的处理包括:
所述转换模块将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
在控制器中,使用自定义CAN功能块和PHB协议,实现接收、处理AUTBUS总线上由转换模块发送过来的CAN报文,进行CAN总线与AUTBUS总线的转换。关于该控制器的有益效果或解决的技术问题,可以参见上述任一所述的转换方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
参见图2,本申请还提供了相应的一种实现CAN总线与AUTBUS总线转换的网络架构,所述网络架构包括如上述控制器以及至少一个转换模块;
所述转换模块设置于PHB从站,并与各自对应的CAN总线相连接;
所述转换模块用于将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包通过AUTBUS总线上传给所述PHB主站。
关于该网络架构的有益效果或解决的技术问题,可以参见上述控制器以及上述任一所述的转换方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
在一种实施方式中,所述转换模块还用于:
将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
图5是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图5中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(Application specific integrated circuit,ASIC)、现成可编程门矩阵(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。
Claims (10)
1.一种CAN总线与AUTBUS总线的转换方法,其特征在于,包括:
在PHB主站初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;其中,所述PHB主站与所述PHB从站通过AUTBUS总线相连接,各个所述转换模块与各自对应的CAN总线相连接;
所述PHB主站基于所述描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,所述CAN报文是来自所述CAN总线、并经过所述转换模块处理之后上传到所述PHB主站的;
通过设置于所述PHB主站的自定义CAN模块调用读接口,从所述缓存中读取所述CAN报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述PHB主站通过所述CAN功能块下发CAN报文;其中,所述CAN功能块调用写接口,通过所述AUTBUS总线将CAN报文下发给所述转换模块,经过所述转换模块处理后将CAN报文下发到CAN总线上。
3.根据权利要求1或2所述的方法,其特征在于,所述针对各个设置于PHB从站的转换模块生成描述符,包括:
在所述PHB从站在线的情况下生成所述描述符。
4.根据权利要求1所述的方法,其特征在于,所述转换模块对报文的处理包括:
所述转换模块将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包上传给所述PHB主站。
5.根据权利要求2所述的方法,其特征在于,所述转换模块对报文的处理包括:
所述转换模块将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
6.一种控制器,其特征在于,所述控制器作为PHB主站,并在所述控制器中设置自定义CAN模块;
所述PHB主站在初始化的过程中,针对各个设置于PHB从站的转换模块生成描述符;其中,所述PHB主站与所述PHB从站通过AUTBUS总线相连接,各个所述转换模块与各自对应的CAN总线相连接;
所述PHB主站基于所述描述符从AUTBUS总线接收上传的CAN报文,并进行缓存;其中,所述CAN报文是来自所述CAN总线、并经过所述转换模块处理之后上传到所述PHB主站的;
所述自定义CAN模块调用读接口,从所述缓存中读取所述CAN报文。
7.根据权利要求6所述的控制器,其特征在于,还包括:
所述PHB主站通过所述CAN功能块下发CAN报文;其中,所述CAN功能块调用写接口,通过所述AUTBUS总线将CAN报文下发给所述转换模块,经过所述转换模块处理后将CAN报文下发到CAN总线上。
8.根据权利要求6或7所述的控制器,其特征在于,还包括:
在所述PHB从站在线的情况下,所述PHB主站针对所述设置于PHB从站的转换模块生成描述符。
9.一种实现CAN总线与AUTBUS总线转换的网络架构,其特征在于,所述网络架构包括如权利要求6所述的控制器以及至少一个转换模块;
所述转换模块设置于PHB从站,并与各自对应的CAN总线相连接;
所述转换模块用于将来自所述CAN总线的CAN报文封装成PHB包,并将所述PHB包通过AUTBUS总线上传给所述PHB主站。
10.根据权利要求9所述的网络架构,其特征在于,所述转换模块还用于:
将所述PHB主站下发的封装成PHB包的CAN报文解封装,并将解封装后的CAN报文下发到CAN总线上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211585975.6A CN116016701A (zh) | 2022-12-09 | 2022-12-09 | Can总线与autbus总线的转换方法、控制器及架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211585975.6A CN116016701A (zh) | 2022-12-09 | 2022-12-09 | Can总线与autbus总线的转换方法、控制器及架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116016701A true CN116016701A (zh) | 2023-04-25 |
Family
ID=86028890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211585975.6A Pending CN116016701A (zh) | 2022-12-09 | 2022-12-09 | Can总线与autbus总线的转换方法、控制器及架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016701A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117579423A (zh) * | 2024-01-16 | 2024-02-20 | 南京德克威尔自动化有限公司 | 一种总线扩展模组及使用该总线扩展模组的通信方法 |
-
2022
- 2022-12-09 CN CN202211585975.6A patent/CN116016701A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117579423A (zh) * | 2024-01-16 | 2024-02-20 | 南京德克威尔自动化有限公司 | 一种总线扩展模组及使用该总线扩展模组的通信方法 |
CN117579423B (zh) * | 2024-01-16 | 2024-03-29 | 南京德克威尔自动化有限公司 | 一种总线扩展模组及使用该总线扩展模组的通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106664290B (zh) | 一种光电混合网络的数据传输方法及装置 | |
CN109033004B (zh) | 一种基于Aurora总线的双机内存数据共享系统 | |
EP1687997B1 (en) | A method and apparatus to provide data streaming over a network connection in a wireless mac processor | |
CN111327603B (zh) | 数据传输方法、装置和系统 | |
CN106961437A (zh) | Can和以太网络的混合网络网关网管装置及其交换方法 | |
US20040151170A1 (en) | Management of received data within host device using linked lists | |
GB2409073A (en) | Dedicated connection between CPU and network interface in multi-processor systems | |
US7596148B2 (en) | Receiving data from virtual channels | |
CN109905321B (zh) | 一种用于自定义高速接口与以太网交互的路由控制系统 | |
CN104378161B (zh) | 一种基于AXI4总线架构的FCoE协议加速引擎IP核 | |
CN100499666C (zh) | 实现SPI4设备与PCI Express设备互连的系统及方法 | |
CN112836453B (zh) | Sas控制器帧缓冲区结构设计方法 | |
CN109819065A (zh) | 基于fpga的数据传输及存储系统、方法以及数据系统 | |
CN113179216B (zh) | 一种寄存器的远程配置方法、计算机设备及存储介质 | |
CN116016701A (zh) | Can总线与autbus总线的转换方法、控制器及架构 | |
CN112241385B (zh) | 基于pcie总线的mvb通信网卡和协议转换方法 | |
CN110830386B (zh) | 报文保序的方法、装置和系统 | |
WO2021147051A1 (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN115865944B (zh) | 设备间点对点通信方法、系统、装置、设备及存储介质 | |
CN116405420A (zh) | 一种网络测试仪、网络测试系统和网络测试方法 | |
US20060114892A1 (en) | Method and apparatus to transmit state information through a communication link | |
CN114615106A (zh) | 环形数据处理系统、方法以及网络设备 | |
CN104683199B (zh) | CANopen‑Lwip网关和列车运行监视系统 | |
CN106911715B (zh) | 一种将读写控制分开的通信控制单元和通信控制方法 | |
CN107317773B (zh) | 一种片上网络通信接口及通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |