一种控制器局域网CAN通信的设备的制作方法

文档序号:12828964阅读:229来源:国知局
一种控制器局域网CAN通信的设备的制作方法与工艺

本发明涉及汽车诊断通信技术领域,尤其涉及一种控制器局域网can通信的设备。



背景技术:

汽车诊断技术是利用仪器设备对汽车进行性能测试和故障检测的方法,它可以测试出汽车各项汽车的各项工作性能指标,及时发现汽车的故障及产生原因,主要用于对汽车保养前的诊断和汽车维修后的质量检验。目前很多汽车上都安装有车载诊断系统(onboarddiagnostic,obd),obd可以监控多个系统和部件(如发动机、排放控制系统、燃油系统等),当汽车出现故障时,obd记录故障信息和相关代码,以故障灯警示的方式告知驾驶员,同时将系统的故障信息存入存储器,维修人员可以通过汽车诊断仪和诊断接口从obd系统中获取故障码,根据故障码的提示,维修人员可以准确地确定故障的性质和部位。

现有技术中,汽车诊断仪主要采用基于cortex-m3内核的处理器,可以实现的功能比较单一,同时只能与obd进行一种汽车诊断协议,读写速率慢,诊断效率较低。随着新一代汽车诊断协议可变速率控制器局域网(controllerareanetworkwithflexibledatarate,canfd)协议的出现以及汽车电子控制系统(electroniccontrolunit,ecu)刷写速度的提高,现有技术的汽车诊断仪已经无法满足汽车诊断技术的发展要求。



技术实现要素:

为了解决上述问题,本发明实施例提供一种控制器局域网can通信的设备,可与obd进行canfd协议通信,还可同时与obd进行4路控制器局域网(controllerareanetwork,can)协议通信,提高汽车诊断效率。

本发明实施例提供一种控制器局域网can通信的设备,所述设备包括主控单元、两个can控制器、两个可变速率控制器局域网canfd控制器、两个can收发器以及两个canfd收发器,其中:

所述主控单元的一端分别与所述两个can控制器的一端及所述两个canfd控制器的一端连接;

所述两个can控制器的另一端分别与所述两个can收发器的一端一一对应连接,所述两个can收发器的另一端分别连接至汽车诊断系统obd;

所述两个canfd控制器的另一端分别与所述两个canfd收发器的一端一一对应连接,所述两个canfd收发器的另一端分别连接至所述obd;

当所述主控单元将同步控制信号分别发送给所述两个can控制器及所述两个canfd控制器时,所述两个can控制器以及所述两个canfd控制器对各自接收到的数据分别进行数据处理得到各自的can协议数据,所述两个can控制器以及所述两个canfd控制器分别将各自的can协议数据同步发送给一一对应的所述两个can收发器以及所述两个canfd收发器,所述两个can收发器以及所述两个canfd收发器分别将各自接收到的can协议数据同步发送给所述obd。

在本发明实施例中,所述设备包含两个can控制器和两个can收发器,两个can控制器与两个can收发器一一对应连接形成两条物理链路,所述设备还包含两个canfd控制器和两个canfd收发器,两个canfd控制器与两个canfd收发器一一对应连接形成另外两条物理链路,canfd控制器与canfd收发器形成的物理链路可为canfd协议提供物理链路支持,所述设备还包含一个主控单元,所述设备可在所述主控单元的控制下通过两个can控制器与两个can收发器之间的两条物理链路以及两个canfd控制器与两个canfd收发器之间的两条物理链路同时与obd进行四路can协议通信,提高汽车诊断效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种控制器局域网can通信的设备的结构示意图;

图2是本发明实施例提供的控制器局域网can通信的设备的一种处理器的组成示意图;

图3是本发明实施例提供的另一种控制器局域网can通信的设备的结构示意图;

图4是本发明实施例提供的又一种控制器局域网can通信的设备的结构示意图;

图5是本发明实施例提供的控制器局域网can通信的设备的另一种处理器的组成示意图;

图6-a是本发明实施例提供的控制器局域网can通信的设备的scan收发器的一种连接结构示意图;

图6-b是本发明实施例提供的控制器局域网can通信的设备的scan收发器的另一种连接结构示意图;

图6-c是本发明实施例提供的控制器局域网can通信的设备的scan收发器的又一种连接结构示意图;

图6-d是本发明实施例提供的控制器局域网can通信的设备的scan收发器的又一种连接结构示意图;

图7-a是本发明实施例提供的控制器局域网can通信的设备的fcan收发器的一种连接结构示意图;

图7-b是本发明实施例提供的控制器局域网can通信的设备的fcan收发器的另一种连接结构示意图;

图7-c是本发明实施例提供的控制器局域网can通信的设备的fcan收发器的又一种连接结构示意图;

图7-d是本发明实施例提供的控制器局域网can通信的设备的fcan收发器的又一种连接结构示意图;

图8是本发明实施例提供的控制器局域网can通信的设备与obd之间的通信流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先参见图1,图1是本发明实施例提供的一种控制器局域网can通信的设备的结构示意图,所述设备至少包括主控单元101、两个can控制器102(102a102b)、两个可变速率控制器局域网canfd控制器103(103a103b)、两个can收发器104(104a104b)以及两个canfd收发器105(105a105b),其中:

所述主控单元101的一端分别与所述两个can控制器102(102a102b)的一端及所述两个canfd控制器103(103a103b)的一端连接;所述两个can控制器102(102a102b)的另一端分别与所述两个can收发器104(104a104b)的一端一一对应连接,所述两个can收发器104(104a104b)的另一端分别连接至汽车诊断系统obd;所述两个canfd控制器103(103a103b)的另一端分别与所述两个canfd收发器105(105a105b)的一端一一对应连接,所述两个canfd收发器105(105a105b)的另一端分别连接至所述obd。

具体地,两个can控制器102(102a102b)与两个can收发器104(104a104b)一一对应连接形成两条物理链路(102a与104a之间的物理链路、102b与104b之间的物理链路),两个canfd控制器103与两个canfd收发器105一一对应连接形成另外两条物理链路(103a与105a之间的物理链路、103b与105b之间的物理链路),两个can收发器和两个canfd收发器连接至obd,各个控制器之间相互独立的关系,各个收发器之间也为相互独立的关系,四条物理链路之间互不影响,则所述设备可以在所述主控单元的控制下通过上述四条物理链路与obd同时进行四路can协议通信。

例如,所述主控单元可以将同步控制信号分别发送给所述两个can控制器及所述两个canfd控制器,所述两个can控制器以及所述两个canfd控制器对各自接收到的数据分别进行数据处理得到各自的can数据,所述两个can控制器以及所述两个canfd控制器分别将各自的can协议数据同步发送给一一对应的所述两个can收发器以及所述两个canfd收发器,所述两个can收发器以及所述两个canfd收发器分别将各自接收到的can协议数据同步发送给所述obd,此时则完成从所述设备至obd的四路单向can通信。

具体地,所述can控制器处理得到的can协议数据为高速can协议数据;所述canfd控制器处理得到的can协议数据为canfd协议数据。

可选地,所述同步控制信号可以为四个控制子信号,所述四个控制子信号中的各个子信号的数据不同,当需要与所述obd同时进行四路can协议时,所述主控单元同时将所述四个控制子信号分别发送给所述两个can控制器及两个canfd控制器以使所述两个can控制器与所述两个canfd可以同时工作。

在一具体实现中,如图2所示,所述主控单元101、所述两个can控制器102(102a102b)以及所述两个canfd控制器103(103a103b)构成一个处理器,即所述设备包含一个处理器。

再请参见图3,是本发明实施例提供的另一种控制器局域网can通信的设备,所述设备可以包括上述图1对应实施例中的主控单元101、两个can控制器102(102a102b)、两个可变速率控制器局域网canfd控制器103(103a103b)、两个can收发器104(104a104b)以及两个canfd收发器105(105a105b),进一步地,所述设备还可以包括串并转换单元106、系统外设单元107以及诊断应用外设单元108,其中:

所述两个can收发器104(104a104b)及所述两个canfd收发器105(105a105b)通过所述串并转换单元106分别连接至所述obd,其中,所述两个can收发器104(104a104b)的另一端及所述两个canfd收发器105(105a105b)的另一端分别与所述串并转换单元106的一端连接;

所述串并转换单元106的另一端通过外设的继电器阵列连接至所述obd。

具体地,所述主控单元101通过所述串并转换单元实现对所述继电器阵列的串并转换控制,从而实现对多路电路的通断与转换控制。

具体地,所述串并转换单元可以为如74hc595的电路集成芯片。

所述主控单元101的另一端还与所述系统应用外设单元107的一端连接;

所述系统外设单元101包括至少一种主机连接模块;

所述主控单元101通过所述至少一种主机连接模块连接至上位机;

所述上位机通过所述至少一种主机连接模块向所述主控单元101发送诊断触发信号。

具体地,所述系统外设单元107可以为usb接口模块、wifi模块、以太网模块、移动数据通信模块(如4glte功能模块)、gps定位模块、蓝牙模块或音频模块。

具体地,所述上位机例如可以为手机、平板、电脑等运行汽车诊断应用程序的上位机,所述上位机可以通过有线(例如以太网)或无线(如wifi、蓝牙等)的方式与所述设备建立通信连接,用户可以利用所述上位机实现对所述设备的控制,从而通过所述设备与obd的连接关系实现对汽车的诊断。

所述诊断应用外设单元108的一端连接至所述主控单元101的一端;

所述诊断应用外设单元108的另一端连接至所述obd。

可选地,所述诊断应用外设单元108的另一端可以通过所述串并转换单元106连接至所述obd。

具体地,所述设备可以通过所述诊断应用外设单元110与所述obd进行如pwm协议之类的汽车诊断协议通信。例如所述主控单元101可以向所述应用外设单元110发送诊断控制信号,所述应用外设单元110对所述诊断控制信号中的目标数据进行数据处理得到汽车诊断协议数据,所述应用外设单元110将所述汽车诊断协议数据发送给所述obd,其中,所述汽车诊断协议数据包括kwp2000汽车诊断协议数据、pwm汽车诊断协议数据、vpw汽车诊断协议数据或j1708汽车诊断协议数据。

再请参见图4,图4是本发明实施例提供的又一种控制器局域网can通信的设备,所述设备可以包括上述图1对应实施例中的主控单元101、两个can控制器102(102a102b)、两个可变速率控制器局域网canfd控制器103(103a103b)、两个can收发器104(104a104b)以及两个canfd收发器105(105a105b),进一步地,所述设备还可以包括串并转换单元106、系统外设单元107、诊断应用外设单元108以及从控制单元109,其中:

所述串并转换单元106、所述系统外设单元107以及所述诊断应用外设单元108的具体连接关系以及工作原理可以参见上述图3对应实施例中对所述串并转换单元106、所述系统外设单元107以及所述诊断应用外设单元108的描述,这里不再进行赘述。

所述主控单元101的一端通过所述从控制单元109与所述两个canfd控制器的一端103连接,其中,所述主控单元101的一端与所述从控制单元109的一端连接,所述从控制单元109的另一端与所述两个canfd控制器103(103a103b)的一端连接。

可选地,所述主控单元101的一端通过所述从控制单元109与所述诊断应用外设单元108的一端连接。

具体地,当所述主控单元101需要向所述两个cnfd控制器103(103a103b)发送同步控制信号时,所述主控单元101将所述同步控制信号发送给所述从控制单元109,所述从控制单元109将所述同步控制信号转发给所述两个canfd控制器103(103a103b)。

在另一种具体实现中,如图5所示,所述主控单元101及所述两个can控制器102(102a102b)构成主处理器,所述从控制单元109及所述两个canfd控制器103(103a103b)构成从处理器,即所述设备包含两个处理器,分别为主处理器和从处理器。

具体地,所述主处理器可以为基于cortex-a7内核架构的处理器,例如为i.mx6ultralite应用处理器,具体型号可以为pcimx6g3cvm05aa。

具体地,所述从处理器可以为基于cortex-m7内核架构的处理器,例如same70系列的处理器芯片。

结合图3对应的实施例或图4对应的实施例,可选地,所述设备还可以包括单线控制器局域网(single-wirecontrollerareanetwork,scan)收发器110,其中,所述scan收发器110的一端连接至所述obd。

可选地,所述scan收发器110的一端可通过所述串并转换单元106连接至所述obd。

可选地,所述scan收发器110的另一端的连接结构示意图如图6-a、图6-b、图6-c以及图6-d所示,有以下四种情况:

所述scan收发器110的另一端的与所述两个can控制器102中的其中一个can控制器102a的另一端连接;或

所述scan收发器110的另一端与所述两个can控制器102中的另一个can控制器102b的另一端连接;或

所述scan收发器110的另一端与所述两个canfd控制器103中的其中一个canfd控制器103a的另一端连接;或

所述scan收发器110的另一端与所述两个canfd控制器103中的另一个canfd控制器103b的另一端连接。

具体地,所述scan收发器与控制器(102a、102b、103a或103b中的其中一个控制器)连接形成scan协议的物理链路,当所述设备需要与所述obd进行scan协议通信时,可在所述主控单元的控制下通过scan收发器与控制器(102a、102b、103a或103b中的其中一个控制器)之间的物理链路与obd进行scan协议通信。假设sacn收发器与can控制器102a连接(即can控制器102a的另一端分别与scan收发器110、can收发器104a连接),在通过can控制器102a与所述obd进行can通信时,所述主控单元101根据自身需要告知所述can控制器102a从两条物理链路(can控制器102a与scan收发器之间的物理链路以及can控制器102a与can收发器104a之间的物理链路)中选择一条物理链路进行can通信,若需要与所述obd进行高速can协议通信,则主控单元101通过第一控制信号告知所述can控制器102a选择can收发器104a作为收发器;若需要与所述obd进行scan协议通信,则主控101单元通过第二控制信号告知所述can控制器102a选择scan收发器110作为收发器。

可选地,所述设备还可以包括容错控制器局域网(fault-tolerantcontrollerareanetwork,fcan)收发器111,其中,所述fcan收发器111的一端连接至所述obd。

可选地,所述fcan收发器111的一端可通过所述串并转换单元106连接至所述obd。

可选地,所述fcan收发器111的另一端连接结构示意图如图7-a、图7-b、图7-c、图7-d所示,有以下四种情况:

所述fcan收发器111的另一端与所述两个can控制器102中的其中一个can控制器102a的另一端连接;或

所述fcan收发器111的另一端与所述两个can控制器中的另一个can控制器102b的另一端连接;或

所述fcan收发器111的另一端与所述两个canfd控制器103中的其中一个canfd控制器103a的另一端连接;或

所述fcan收发器111的另一端与所述两个canfd控制器103中的另一个canfd控制器103b的另一端连接。

具体地,所述fcan收发器与控制器(102a、102b、103a或103b中的其中一个控制器)连接形成fcan协议的物理链路,当所述设备需要与所述obd进行fcan协议通信时,可在所述主控单元的控制下通过scan收发器与控制器(102a、102b、103a或103b中的其中一个控制器)之间的物理链路与obd进行fcan协议通信。假设facn收发器与canfd控制器103a连接,canfd控制器103a还分别与scan收发器110、canfd收发器105a连接,在通过canfd控制器103a与所述obd进行can通信时,所述主控单元101根据自身需要告知所述canfd控制器103a从三条物理链路(canfd控制器103a与scan收发器之间的物理链路、canfd控制器103a与canfd收发器105a之间的物理链路以及canfd控制器103a与fcan收发器111之间的物理链路)中选择一条物理链路进行can通信,若需要与所述obd进行canfd协议通信,则主控单元101通过第三控制信号告知所述canfd控制器103a选择canfd收发器105a作为收发器;若需要与所述obd进行scan协议通信,则主控101单元通过第四控制信号告知所述canfd控制器103a选择scan收发器110作为收发器,若需要与所述obd进行fcan协议通信,则主控单元101通过第五控制信号告知所述canfd控制器103a选择fcan收发器作为收发器。

采用上述如图1、图3或图4的结构,所述设备可实现同时与obd进行一种或多种诊断协议通信,与obd同时进行一种诊断协议通信的情况与现有技术一致,不再赘述,以下通过两种具体情况对所述设备与obd同时进行多种诊断协议通信的原理进行介绍。

假设两个can控制器分别为can0控制器,can1控制器,两个can收发器分别为can1收发器、can2收发器,两个canfd控制器为canfd0控制器、canfd1控制器,两个canfd收发器分别为canfd1收发器、canfd2收发器,其中,can0控制器与can1收发器连接,can1控制器与can2收发器连接,canfd0控制器与canfd1收发器连接,canfd1控制器与canfd2收发器连接。

情况一:用户直接在所述设备上进行汽车诊断并获取故障码。

参见图8,图8是本发明实施例中的控制器局域网can通信的设备与obd之间的通信流程示意图。

第一步,主控单元同时向can0控制器,can1控制器、canfd0控制器、canfd1控制器发送同步控制子信号1,同步控制子信号2、同步控制子信号3、同步子信号4;

第二步,can0控制器对同步子信号1中的数据进行处理得到can协议数据1并将can协议数据1传输给can1收发器,can1控制器对同步子信号2中的数据进行处理得到can协议数据2并将can协议数据2传输给can2收发器,canfd0控制器对同步子信号3中的数据进行处理得到canfd协议数据1并将canfd协议数据1传输给canfd1收发器,canfd1控制器对同步子信号4中的数据进行处理得到canfd协议数据2并将canfd协议数据2传输给canfd2收发器;

第三步,can1收发器将can协议数据1通过can总线传输给obd,can2收发器将can协议数据2通过can总线传输给obd,canfd1收发器将canfd协议数据1通过canfd总线传输给obd,canfd2收发器将canfd协议数据2通过canfd总线传输给obd;

第四步,obd接收到can协议数据1后生成can响应数据1传输给can1收发器,obd接收到can协议数据2后生成can响应数据2传输给can2收发器,obd接收到canfd协议数据1后生成canfd响应数据1传输给can1收发器,obd接收到canfd协议数据2后生成canfd响应数据2传输给can2收发器;

具体地,响应数据中可以携带故障码。

第五步,can1收发器将can响应数据1传输给can0控制器,can2收发器将can响应数据2传输给can1控制器,canfd1收发器将canfd响应数据1传输给canfd0控制器,canfd2收发器将canfd响应数据2传输给canfd1控制器;

第六步,can0控制器对can响应数据1进行处理得到响应数据1并将响应数据1传输给主控单元,can1控制器对can响应数据2进行处理得到响应数据2并将响应数据2传输给主控单元,canfd0控制器对canfd响应数据1得到响应数据3并将响应数据3传输给canfd1收发器,canfd1控制器对canfd响应数据2进行处理得到响应数据4并将响应数据4传输给canfd2收发器主控单元。

通过上述第一步至第六步的步骤,主控单元与obd进行双向通信,实现控制器局域网can通信的设备与obd同时进行四路can协议通信,主控单元可以同时从响应数据1、响应数据2、响应数据3以及响应数据4中读取不同的故障码,并向用户显示故障码。

在可选实施例中,所述主控单元还可同时向所述诊断应用外设单元发送控制信号,与obd同时进行其他汽车诊断协议(如pwm汽车诊断协议数据、vpw汽车诊断协议数据)通信。

在可选实施例中,所述主控单元还可根据诊断需求从can0控制器,can1控制器、canfd0控制器,canfd1控制器中选择一部分控制器与obd进行协议通信,例如选择canfd0控制器,canfd1控制器与obd进行两路can协议通信。

当所述设备中还有scan收发器时,所述设备还可与obd进行fcan协议通信,假设scan收发器与can1收发器共用can0控制器,则主控单元在通过can0控制器与obd进行can通信的过程中,若主控单元需要与obd进行高速can协议通信,则告知can0控制器选择can1收发器作为收发器,即can0控制器将数据处理为高速can协议数据并将高速can协议数据发送给can1收发器;若主控单元需要与obd进行scan协议,则告知can0控制器选择scan收发器作为收发器,即can0控制器将数据处理为scan协议数据并将scan协议数据发送给scan收发器。

其中,当scan收发器与其他三个收发器(can2收发器、canfd1收发器以及canfd2收发器)中的其中一个收发器共用控制器时,其实现原理可参考上述scan收发器与can1收发器共用can0控制器的原理,不再赘述。

若所述设备中还有fcan收发器,其实现原理也可参考上述scan收发器与can1收发器共用can0控制器的原理,不再赘述。

可选地,若所述设备的处理器架构为如图5所示的处理器架构,则在第一步时,主控单元通过从控制单元向canfd0控制器及canfd1控制器发送同步控制子信号3、同步控制子信号4;在第六步时,canfd0控制器对canfd响应数据1得到响应数据3并通过从控制单元将响应数据3传输给canfd1收发器,canfd1控制器对canfd响应数据2进行处理得到响应数据4并通过从控制单元将响应数据4传输给canfd2收发器主控单元。

情况二:用户通过上位机的诊断应用程序进行汽车诊断并获取故障码。

当用户通过上位机的诊断应用程序进行汽车诊断并获取故障码时,上位机向主控单元发送一个触发信号,所述触发信号用于触发所述控制器局域网can通信的设备与obd进行汽车诊断协议通信,主控单元接收到所述触发信号时,与obd进行双向通信,其通信的过程可参考上述结合图8的描述,在接收到obd传送过来的响应数据时,将响应数据发送给上位机。

需要说明的是,上述设备需通过相应的诊断接头配合与obd进行连接,所述诊断接头拥有多路通信的接口,诊断接头内部有多路can总线,以完成与所述设备内部多条物理链路的对接。

在本发明实施例中,所述设备包含两个can控制器和两个can收发器,两个can控制器与两个can收发器一一对应连接形成两条物理链路,所述设备还包含两个canfd控制器和两个canfd收发器,两个canfd控制器与两个canfd收发器一一对应连接形成另外两条物理链路,canfd控制器与canfd收发器形成的物理链路可为canfd协议提供物理链路支持,所述设备还包含一个主控单元,所述设备可在所述主控单元的控制下通过两个can控制器与两个can收发器之间的两条物理链路以及两个canfd控制器与两个canfd收发器之间的两条物理链路同时与obd进行四路can协议通信,提高汽车诊断效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1