專利名稱:車輛診斷裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種車輛診斷裝置,其用于從車輛外部與安裝在車輛上的電子控制單 元進(jìn)行通信并基于從電子控制單元發(fā)送的各種數(shù)據(jù)來(lái)確定車輛是否通過(guò)了多個(gè)診斷項(xiàng)。
背景技術(shù):
在制造其中安裝有電子控制單元(ECU)的車輛時(shí),在組裝車輛之后,在最終的檢 查處理中對(duì)它們進(jìn)行診斷以檢查與之電連接的ECU和各種設(shè)備是正確地工作。通過(guò)與位于 車輛外部并且連接到車輛中的E⑶的車輛診斷裝置(測(cè)試器)進(jìn)行通信來(lái)執(zhí)行這種對(duì)車輛 的診斷處理(例如參見(jiàn)日本特開專利公報(bào)No. 2000-121684(以下稱作JP 2000-121684 A) 和日本特開專利公報(bào)09-210865(以下稱作JP 09-210865 A))。根據(jù)JP 2000-121684 A,為了使所公開的檢查系統(tǒng)縮短它的檢查時(shí)間,將 ECU(IO)檢測(cè)到的數(shù)據(jù)臨時(shí)存儲(chǔ)在中然后一起輸出到檢查測(cè)試器(100)(參見(jiàn)JP 2000-121684 A的摘要)。更具體來(lái)講,根據(jù)JP 2000-121684 A,檢查系統(tǒng)響應(yīng)于從檢查測(cè) 試器發(fā)送到E⑶的通信請(qǐng)求而進(jìn)入檢查模式(參見(jiàn)段落W017]),并且E⑶在RAM中存儲(chǔ)各 種數(shù)據(jù)(參見(jiàn)段落W028]J0030]到W032])。響應(yīng)于來(lái)自檢查測(cè)試器的通信請(qǐng)求,將RAM 中存儲(chǔ)的數(shù)據(jù)從ECU發(fā)送到檢查測(cè)試器(參見(jiàn)段落W039]、
) 0根據(jù)JP 2000-121684 A,如上所述,響應(yīng)于來(lái)自檢查測(cè)試器的通信請(qǐng)求,E⑶將 要檢查的數(shù)據(jù)發(fā)送到檢查測(cè)試器。然而,來(lái)自檢查測(cè)試器的通信請(qǐng)求僅對(duì)于使檢查系統(tǒng) 進(jìn)入檢查模式而言有效(參見(jiàn)段落W017]),但是不能請(qǐng)求ECU發(fā)送任何特定的檢測(cè)數(shù)據(jù) (detected data)0因此,在檢查測(cè)試器要執(zhí)行彼此同時(shí)發(fā)生的多個(gè)診斷程序并且每個(gè)診斷程序都要 從E⑶獲取檢測(cè)數(shù)據(jù)的情況下,JP 2000-121684 A中公開的檢查系統(tǒng)就不適用了。JP 2000-121684 A中公開的檢查系統(tǒng)被設(shè)計(jì)為將RAM中存儲(chǔ)的檢測(cè)數(shù)據(jù)從E⑶發(fā) 送到檢查測(cè)試器,即,在將檢測(cè)數(shù)據(jù)從ECU發(fā)送到檢查測(cè)試器時(shí)減少通信負(fù)載。然而,所公 開的檢查系統(tǒng)沒(méi)有考慮在將數(shù)據(jù)從檢查測(cè)試器發(fā)送到ECU時(shí)減少通信負(fù)載的任何嘗試。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種車輛診斷裝置,其即使在多個(gè)診斷程序請(qǐng)求電子控 制單元發(fā)送數(shù)據(jù)時(shí)也能夠減少車輛診斷裝置和電子控制單元所需要的通信負(fù)載。本發(fā)明提供了一種車輛診斷裝置,其用于從車輛外部與安裝在車輛上的電子控制 單元進(jìn)行通信并基于從電子控制單元發(fā)送的各種數(shù)據(jù)來(lái)確定車輛是否通過(guò)了多個(gè)診斷項(xiàng), 該車輛診斷裝置包括用于執(zhí)行第一診斷程序的第一診斷單元、用于執(zhí)行不同于第一診斷程 序的第二診斷程序的第二診斷單元,和用于與電子控制單元進(jìn)行通信的通信單元,其中在 通信單元從第一診斷單元接收到了請(qǐng)求電子控制單元發(fā)送第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)通信單 元從第一診斷單元接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),如果第一數(shù)據(jù)和第二 數(shù)據(jù)的類型相同,則通信單元請(qǐng)求電子控制單元發(fā)送相同類型的數(shù)據(jù),并且向第一診斷單元和第二診斷單元發(fā)送從電子控制單元接收的相同類型的數(shù)據(jù),而如果第一數(shù)據(jù)和第二數(shù) 據(jù)的類型不同,則通信單元請(qǐng)求電子控制單元發(fā)送第一數(shù)據(jù)和第二數(shù)據(jù),從電子控制單元 一起接收第一數(shù)據(jù)和第二數(shù)據(jù),向第一診斷單元發(fā)送所接收的第一數(shù)據(jù),并且向第二診斷 單元發(fā)送所接收的第二數(shù)據(jù)。使用上面的配置,當(dāng)車輛診斷裝置執(zhí)行的診斷程序從電子控制單元請(qǐng)求數(shù)據(jù)時(shí), 這些數(shù)據(jù)請(qǐng)求可以同時(shí)被一起發(fā)送到電子控制單元,并且可以同時(shí)從電子控制單元接收數(shù) 據(jù)。因此,相比于診斷程序從電子控制單元分別請(qǐng)求數(shù)據(jù)的情況,該車輛診斷裝置和電子控 制單元上的通信負(fù)載可以更小并且處理序列可以執(zhí)行得更有效率。在通信單元從第一診斷單元接收到了請(qǐng)求電子控制單元發(fā)送第一數(shù)據(jù)的請(qǐng)求之 后,當(dāng)通信單元沒(méi)有在預(yù)定時(shí)段內(nèi)從第二診斷單元接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù) 的請(qǐng)求時(shí),通信單元可以請(qǐng)求電子控制單元發(fā)送第一數(shù)據(jù),并且在接收到第一數(shù)據(jù)之后,當(dāng) 通信單元從第二診斷單元接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),通信單元可以 請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù)。因此,如果在接收到第一數(shù)據(jù)之前沒(méi)有對(duì)于第二數(shù)據(jù)的 請(qǐng)求,則與第一數(shù)據(jù)分離地請(qǐng)求第二數(shù)據(jù),從而防止數(shù)據(jù)請(qǐng)求之間的間隔過(guò)長(zhǎng),并且第一數(shù) 據(jù)和第二數(shù)據(jù)保持為最新。 如果第一數(shù)據(jù)和第二數(shù)據(jù)的類型相同,則在通信單元從第一診斷單元接收到了請(qǐng) 求電子控制單元發(fā)送第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)通信單元沒(méi)有在預(yù)定時(shí)段內(nèi)從第二診斷單元 接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),通信單元可以請(qǐng)求電子控制單元發(fā)送第 一數(shù)據(jù),并且在請(qǐng)求電子控制單元發(fā)送第一數(shù)據(jù)之后和在接收到第一數(shù)據(jù)之前,當(dāng)通信單 元從第二診斷單元接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),通信單元可以在接收 到第一數(shù)據(jù)之后向第一診斷單元和第二診斷單元發(fā)送第一數(shù)據(jù)。因此,數(shù)據(jù)可以快速地被 發(fā)送到第二診斷單元,并且可以減少車輛診斷裝置和電子單元上的通信負(fù)載。如果第一數(shù)據(jù)和第二數(shù)據(jù)的類型不同,則在通信單元從第一診斷單元接收到了請(qǐng) 求電子控制單元發(fā)送第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)通信單元沒(méi)有在預(yù)定時(shí)段內(nèi)從第二診斷單元 接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),通信單元可以請(qǐng)求電子控制單元發(fā)送第 一數(shù)據(jù)和第二數(shù)據(jù),并且在請(qǐng)求電子控制單元發(fā)送第一數(shù)據(jù)和第二數(shù)據(jù)之后和接收到第一 數(shù)據(jù)和第二數(shù)據(jù)之前,當(dāng)通信單元從第二診斷單元接收到請(qǐng)求電子控制單元發(fā)送第二數(shù)據(jù) 的請(qǐng)求時(shí),通信單元可以在接收到第一數(shù)據(jù)和第二數(shù)據(jù)之后向第一診斷單元發(fā)送第一數(shù)據(jù) 并向第二診斷單元發(fā)送第二數(shù)據(jù)。因此,數(shù)據(jù)可以快速地被發(fā)送到第二診斷單元,并且可以 減少車輛診斷裝置和電子單元上的通信負(fù)載。結(jié)合附圖閱讀以下說(shuō)明書后,本發(fā)明的上面和其它目的、特征、和優(yōu)點(diǎn)將變得更加 明顯,附圖中以例示的方式示出了本發(fā)明的優(yōu)選實(shí)施方式。
圖1是根據(jù)本發(fā)明實(shí)施方式的具有作為車輛診斷裝置的測(cè)試器的車輛診斷系統(tǒng) 的框圖;圖2是根據(jù)該實(shí)施方式由測(cè)試器的CPU執(zhí)行的駕駛員軟件程序的處理序列的流程 圖;圖3是示出根據(jù)比較例的駕駛員軟件程序的處理序列的示例的說(shuō)明圖4是根據(jù)該實(shí)施方式的示出駕駛員軟件程序的處理序列的第一示例的說(shuō)明圖;圖5是根據(jù)該實(shí)施方式示出駕駛員軟件程序的處理序列的第二示例的說(shuō)明圖;圖6是示出圖4中示出的處理序列的第一示例的第一變型的說(shuō)明圖;圖7是示出圖4中示出的處理序列的第一示例的第二變型的說(shuō)明圖;圖8是圖2中示出的處理序列的第一變型的流程圖;圖9是圖2中示出的處理序列的第二變型的流程圖;圖10是示出實(shí)現(xiàn)圖9中示出的第二變型的駕駛員軟件程序的處理序列的示例的 說(shuō)明圖。
具體實(shí)施例方式[根據(jù)本發(fā)明實(shí)施方式的車輛診斷裝置的構(gòu)造]圖1以框圖的形式示出了根據(jù)本發(fā)明實(shí)施方式的具有作為車輛診斷裝置的測(cè)試 器12的車輛診斷系統(tǒng)10。如圖1中所示,除了測(cè)試器12以外,車輛診斷系統(tǒng)10還包括要 以各種方式由測(cè)試器12診斷的車輛14和主機(jī)計(jì)算機(jī)16。盡管圖1中未示出,但是車輛診 斷系統(tǒng)10包括測(cè)試器12和車輛14的多種組合。在每種組合中,測(cè)試器12和車輛14都通 過(guò)線纜18相互連接,以便在它們之間進(jìn)行通信。測(cè)試器12可以經(jīng)由無(wú)線鏈路與主機(jī)計(jì)算 機(jī)16進(jìn)行通信。測(cè)試器12包括輸入單元20、顯示單元22、揚(yáng)聲器24、中央處理器(CPU 第一診斷 單元、第二診斷單元、通信單元)26、只讀存儲(chǔ)器(ROM) 28、隨機(jī)存取存儲(chǔ)器(RAM) 30、通信接 口 32和連接器34。車輛14包括電子控制單元(E⑶)40、點(diǎn)火開關(guān)(IGSW)42、引擎機(jī)44和引擎轉(zhuǎn)速傳 感器(NE傳感器)46。E⑶40包括中央處理器(CPU) 50、只讀存儲(chǔ)器(ROM) 52、隨機(jī)存取存 儲(chǔ)器(RAM) 54、通信接口 56和連接器58。測(cè)試器12的ROM 28中存儲(chǔ)了多個(gè)用于各種檢查的檢查程序,和用于管理從檢查 程序到ECU 40的數(shù)據(jù)請(qǐng)求的駕駛員軟件程序。檢查程序和駕駛員軟件程序由測(cè)試器12的 CPU沈來(lái)執(zhí)行。駕駛員軟件程序可以是與CAN(控制器區(qū)域網(wǎng)絡(luò))或KWP2000 —起使用的程序。主機(jī)計(jì)算機(jī)16從測(cè)試器12獲取車輛14的診斷數(shù)據(jù),并將所獲取的診斷數(shù)據(jù)存儲(chǔ) 為數(shù)據(jù)庫(kù)。車輛診斷系統(tǒng)10的基本構(gòu)造可以與JP 09-210865 A中示出的相同。[駕駛員軟件程序的處理序列]圖2是根據(jù)本實(shí)施方式的由測(cè)試器12的CPU 26執(zhí)行的駕駛員軟件程序的處理序 列的流程圖。圖2中示出的處理序列的步驟Sl到S4表示了由測(cè)試器12的CPU沈向車輛 14的E⑶40請(qǐng)求數(shù)據(jù)的處理(數(shù)據(jù)請(qǐng)求處理),而其步驟S5、S6表示了由CPU 26從E⑶ 40接收數(shù)據(jù)的處理(數(shù)據(jù)接收處理)。例如,步驟Sl到S6在從幾十納秒到幾十微秒的時(shí) 段內(nèi)執(zhí)行并且重復(fù)許多次。在步驟Sl中,測(cè)試器12的CPU 26(駕駛員軟件程序)從每個(gè)檢查程序接收針對(duì) 車輛14的ECU 40的數(shù)據(jù)請(qǐng)求。根據(jù)駕駛員軟件程序,所接收的數(shù)據(jù)請(qǐng)求連同已經(jīng)發(fā)送了 數(shù)據(jù)請(qǐng)求的檢查程序的標(biāo)識(shí)符一起被臨時(shí)存儲(chǔ)在RAM 30中。
在步驟S2中,CPU 26(駕駛員軟件程序)確定計(jì)時(shí)器值TMR[ μ sec]是否大于等 于閾值TH_TMR[ysec]。計(jì)時(shí)器值TMR由計(jì)時(shí)器(未示出)來(lái)計(jì)數(shù),并且在圖2中示出的 處理序列開始之后立即隨著時(shí)間而增大。根據(jù)本實(shí)施方式,閾值TH_TMR定義了 CPU沈向 ECU 40發(fā)送數(shù)據(jù)請(qǐng)求的時(shí)段(數(shù)據(jù)請(qǐng)求時(shí)段),并且是一個(gè)固定值。如果計(jì)時(shí)器值TMR并非大于等于閾值TH_TMR(S2 否),則控制跳到步驟S5。如果 計(jì)時(shí)器值TMR大于等于閾值TH_TMR(S2 是),則在步驟S3中CPU 26 (駕駛員軟件程序)將 在當(dāng)前數(shù)據(jù)請(qǐng)求時(shí)段中從每個(gè)檢查程序接收的數(shù)據(jù)請(qǐng)求發(fā)送到車輛14的ECU 40。此時(shí),數(shù) 據(jù)請(qǐng)求被臨時(shí)地存儲(chǔ)在RAM 30中并且已經(jīng)發(fā)送了數(shù)據(jù)請(qǐng)求的檢查程序的標(biāo)識(shí)符仍然存儲(chǔ) 在RAM 30中。在步驟S4中,CPU 26 (駕駛員軟件程序)重置計(jì)時(shí)器值TMR。在步驟S5中,CPU 26(駕駛員軟件程序)確認(rèn)它是否從E⑶40接收到了數(shù)據(jù)。 數(shù)據(jù)對(duì)應(yīng)于先前數(shù)據(jù)請(qǐng)求時(shí)段中的數(shù)據(jù)請(qǐng)求。如果CPU ^WECU 40接收到了數(shù)據(jù)(S5: 是),則在步驟S6中CPU 26 (駕駛員軟件程序)將所接收的數(shù)據(jù)發(fā)送給請(qǐng)求了該數(shù)據(jù)的檢 查程序(目標(biāo)檢查程序)。接收到該數(shù)據(jù)的檢查程序基于所接收的數(shù)據(jù)來(lái)檢查車輛14。如 果CPU 26沒(méi)有從E⑶40接收到數(shù)據(jù)(S5 否),則CPU 26 (駕駛員軟件程序)結(jié)束圖2中 示出的處理序列。重復(fù)圖2中示出的處理序列,直到每個(gè)檢查程序都結(jié)束其檢查處理為止。[本實(shí)施方式和比較例之間的比較]圖3是示出根據(jù)比較例的駕駛員軟件程序的處理序列的示例的圖。當(dāng)任何一個(gè) 檢查程序發(fā)出數(shù)據(jù)請(qǐng)求時(shí),根據(jù)該比較例的駕駛員軟件程序立即向ECU 40發(fā)送數(shù)據(jù)請(qǐng)求 (發(fā)送數(shù)據(jù)傳輸命令),并且駕駛員軟件程序在接收到對(duì)應(yīng)于該數(shù)據(jù)請(qǐng)求的數(shù)據(jù)之前保持 (hold)下一個(gè)數(shù)據(jù)請(qǐng)求。圖4是示出根據(jù)該實(shí)施方式的駕駛員軟件程序的處理序列的第一 示例的圖,圖5是示出根據(jù)該實(shí)施方式的駕駛員軟件程序的處理序列的第二示例的圖。第 一示例表示在某個(gè)數(shù)據(jù)請(qǐng)求時(shí)段中存在兩個(gè)數(shù)據(jù)請(qǐng)求toel、Rne2的處理,第二示例表示在 各個(gè)不同的數(shù)據(jù)請(qǐng)求時(shí)段中存在數(shù)據(jù)請(qǐng)求toel、foie2的處理。根據(jù)比較例,如圖3中所示,當(dāng)駕駛員軟件程序(在圖3以及圖4到7和10中簡(jiǎn)單 地描述為“駕駛員”)從檢查程序1 (在圖3以及圖4到7和10中簡(jiǎn)單地描述為“檢查1”) 接收到針對(duì)引擎轉(zhuǎn)速NE[rpm]的數(shù)據(jù)請(qǐng)求toel時(shí),駕駛員軟件程序立即向ECU 40發(fā)送與 數(shù)據(jù)請(qǐng)求foiel相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cnel。此后,即使根據(jù)比較例的駕駛員軟件程序從 檢查程序2 (在圖3以及圖4到7和10中簡(jiǎn)單地描述為“檢查2”)接收到針對(duì)引擎轉(zhuǎn)速NE 的數(shù)據(jù)請(qǐng)求I ne2,駕駛員軟件程序也不向ECU 40發(fā)送與數(shù)據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸 命令Cne2,直到駕駛員軟件程序接收和處理了與數(shù)據(jù)傳輸命令Cnel相對(duì)應(yīng)的引擎轉(zhuǎn)速Ne 的數(shù)據(jù)Dnel為止。當(dāng)駕駛員軟件程序接收到與數(shù)據(jù)傳輸命令Cnel相對(duì)應(yīng)的引擎轉(zhuǎn)速NE的數(shù)據(jù)Dnel 時(shí),駕駛員軟件程序向檢查程序1發(fā)送數(shù)據(jù)Dnel。此后,根據(jù)比較例的駕駛員軟件程序向 ECU 40發(fā)送與已保存的數(shù)據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cne2。當(dāng)駕駛員軟件程序接 收到與數(shù)據(jù)傳輸命令Cne2相對(duì)應(yīng)的引擎轉(zhuǎn)速NE的數(shù)據(jù)Dne2時(shí),駕駛員軟件程序向檢查程 序2發(fā)送數(shù)據(jù)Dne2。根據(jù)圖3中示出的比較例,如上所述,即使駕駛員軟件程序從檢查程序2接收到了 數(shù)據(jù)請(qǐng)求toe2,它也會(huì)保持?jǐn)?shù)據(jù)傳輸命令Cne2,直到它接收和處理了數(shù)據(jù)Dnel為止。因此, 對(duì)數(shù)據(jù)請(qǐng)求I ne2的處理被延遲了。而且,測(cè)試器12向E⑶40發(fā)送了兩個(gè)數(shù)據(jù)傳輸命令,并且E⑶40向測(cè)試器12發(fā)送了兩次數(shù)據(jù)。根據(jù)圖4中示出的本實(shí)施方式,即使駕駛員軟件程序從檢查程序1接收到了數(shù)據(jù) 請(qǐng)求foiel,駕駛員軟件程序也還在同一數(shù)據(jù)請(qǐng)求時(shí)段中接收到了其它數(shù)據(jù)請(qǐng)求。更具體來(lái) 講,在圖4中,駕駛員軟件程序在與從檢查程序1接收到數(shù)據(jù)請(qǐng)求toel相同的數(shù)據(jù)請(qǐng)求時(shí) 段中從檢查程序2接收到了數(shù)據(jù)請(qǐng)求toe2。然后,駕駛員軟件程序從測(cè)試器12向ECU 40 發(fā)送與數(shù)據(jù)請(qǐng)求toel、兩者相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cne。當(dāng)根據(jù)本實(shí)施方式的駕駛員軟件程序接收到與數(shù)據(jù)傳輸命令Cne相對(duì)應(yīng)的引擎 轉(zhuǎn)速NE的數(shù)據(jù)Dne時(shí),駕駛員軟件程序向檢查程序1、2兩者發(fā)送所接收的數(shù)據(jù)Dne。如圖5中所示,在根據(jù)本實(shí)施方式的駕駛員軟件程序從檢查程序1接收到數(shù)據(jù)請(qǐng) 求toel之后,如果它在同一數(shù)據(jù)請(qǐng)求時(shí)段中沒(méi)有接收到其它數(shù)據(jù)請(qǐng)求,則它發(fā)送僅與數(shù)據(jù) 請(qǐng)求foiel相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cnel。當(dāng)駕駛員軟件程序響應(yīng)于來(lái)自ECU 40的數(shù)據(jù)傳輸 命令Cnel而接收到數(shù)據(jù)Dnel時(shí),它向檢查程序1發(fā)送所接收的數(shù)據(jù)Dnel。然后,當(dāng)駕駛員軟件程序在另一個(gè)數(shù)據(jù)請(qǐng)求時(shí)段中接收到另一個(gè)數(shù)據(jù)請(qǐng)求
時(shí),它向ECU 40發(fā)送不同于數(shù)據(jù)傳輸命令Cnel的數(shù)據(jù)傳輸命令Cne2。當(dāng)駕駛員軟件程序 響應(yīng)于來(lái)自E⑶40的數(shù)據(jù)傳輸命令Cne2而接收到數(shù)據(jù)Dne2時(shí),它向檢查程序2發(fā)送所接 收的數(shù)據(jù)Dne2。根據(jù)圖4中示出的本實(shí)施方式的第一示例,駕駛員軟件程序?qū)?shù)據(jù)請(qǐng)求foiel、 Rne2 一起作為數(shù)據(jù)傳輸命令Cne從測(cè)試器12發(fā)生給CPU 40。ECU 40響應(yīng)于數(shù)據(jù)傳輸命令 Cne向測(cè)試器12發(fā)送數(shù)據(jù)Dne。因此,數(shù)據(jù)處理的處理被加速。駕駛員軟件程序從測(cè) 試器12向E⑶40發(fā)送了一個(gè)數(shù)據(jù)傳輸命令,并且從E⑶40向測(cè)試器12發(fā)送了一次數(shù)據(jù)。 因此,減少了測(cè)試器12和E⑶40上的通信負(fù)載,并且使得測(cè)試器12和E⑶40執(zhí)行的處理 有效率。根據(jù)圖5中示出的本實(shí)施方式的第二示例,如果在與數(shù)據(jù)請(qǐng)求foiel相同的數(shù)據(jù) 請(qǐng)求時(shí)段中沒(méi)有接收到數(shù)據(jù)請(qǐng)求I ne2,而是在隨后的數(shù)據(jù)請(qǐng)求時(shí)段中接收到了數(shù)據(jù)請(qǐng)求 Rne2,則駕駛員軟件程序分離地發(fā)送與數(shù)據(jù)請(qǐng)求toel相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cnel和與數(shù) 據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cne2。因此,防止了數(shù)據(jù)傳輸命令之間的間隔變得過(guò) 大,并且數(shù)據(jù)Dnel、Dne2保持為最新。[本實(shí)施方式的優(yōu)點(diǎn)]根據(jù)圖4中示出的本實(shí)施方式的第一示例,如上所述,當(dāng)測(cè)試器12執(zhí)行的檢查程 序1、2都向ECU 40請(qǐng)求引擎轉(zhuǎn)速NE的數(shù)據(jù)時(shí),駕駛員軟件程序可以同時(shí)向ECU 40發(fā)送數(shù) 據(jù)傳輸命令Cne并同時(shí)從E⑶40接收數(shù)據(jù)。因此,相比于檢查程序1、2分別向E⑶40發(fā)送 各個(gè)請(qǐng)求來(lái)發(fā)送引擎轉(zhuǎn)速NE的數(shù)據(jù)的情況,測(cè)試器12和ECU 40上的通信負(fù)載變得更小, 測(cè)試器12和E⑶40執(zhí)行的處理變得更加有效率。盡管測(cè)試器12和E⑶40之間的通信處 理可用的標(biāo)準(zhǔn)有多種,例如CAN、KWP2000等,但是因?yàn)轳{駛員軟件程序執(zhí)行上面的處理序 列,所以不管使用了什么通信處理標(biāo)準(zhǔn)和通信速率,本發(fā)明的原理都是適用的。根據(jù)圖5中所示的本實(shí)施方式的第二示例,如上所述,如果已經(jīng)從檢查程序1接收 到數(shù)據(jù)請(qǐng)求Rnel的測(cè)試器12的CPU 26(駕駛員軟件程序)在與數(shù)據(jù)請(qǐng)求toel相同的數(shù)據(jù) 請(qǐng)求時(shí)段中沒(méi)有從檢查程序2接收到數(shù)據(jù)請(qǐng)求JUCPU 26(駕駛員軟件程序)向ECU 40發(fā)送與數(shù)據(jù)請(qǐng)求foiel相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cnel,然后向E⑶40發(fā)送與數(shù)據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cne2。如果在與數(shù)據(jù)請(qǐng)求foiel相同的數(shù)據(jù)請(qǐng)求時(shí)段中未接收到數(shù) 據(jù)請(qǐng)求toe2,而是在隨后的數(shù)據(jù)請(qǐng)求時(shí)段中接收到數(shù)據(jù)請(qǐng)求toe2,則CPU 26(駕駛員軟件 程序)分離地發(fā)送與數(shù)據(jù)請(qǐng)求toel相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cnel和與數(shù)據(jù)請(qǐng)求相對(duì) 應(yīng)的數(shù)據(jù)傳輸命令Cne2。因此,防止了數(shù)據(jù)傳輸命令之間的間隔變得過(guò)長(zhǎng),并且數(shù)據(jù)Dnel、 Dne2保持為最新。[變型]本發(fā)明不限于上面的實(shí)施方式,而是可以在本發(fā)明的范圍內(nèi)做出各種變型和修 改。下面將描述這些變型和修改的示例。在上面的實(shí)施方式中(圖4和幻描述了來(lái)自兩個(gè)檢查程序1、2的數(shù)據(jù)請(qǐng)求foiel、
foie2。然而,如圖6中所示,可以處理來(lái)自三個(gè)或更多個(gè)檢查程序1、2.....η的數(shù)據(jù)請(qǐng)求
Rne 1、Rne2、…、Rnen0在上面的實(shí)施方式中,數(shù)據(jù)請(qǐng)求foiel、均請(qǐng)求引擎轉(zhuǎn)速NE的數(shù)據(jù)。然而,如 圖7中所示,CPU 26(駕駛員軟件程序)可以接收請(qǐng)求引擎轉(zhuǎn)速NE的數(shù)據(jù)請(qǐng)求toe和針對(duì) 水溫Tw[°C ]的數(shù)據(jù)請(qǐng)求Rtw,并且從測(cè)試器12向E⑶40發(fā)送與數(shù)據(jù)請(qǐng)求foie、Rtw兩者相 對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cd。在上面的實(shí)施方式中,執(zhí)行了圖2中示出的處理序列。然而,可以如圖8中所示來(lái) 執(zhí)行處理序列的第一變型。根據(jù)第一變型,數(shù)據(jù)請(qǐng)求時(shí)段不是以恒定間隔來(lái)提供的,而是在 第一數(shù)據(jù)請(qǐng)求之后的給定時(shí)刻(閾值TH_THR2)接收到另外的數(shù)據(jù)請(qǐng)求。在圖8中示出的第 一變型中,例如,步驟Sll到S19在從幾十納秒到幾十微秒的時(shí)段中執(zhí)行并且重復(fù)許多次。在步驟Sll中,測(cè)試器12的CPU 26(駕駛員軟件程序)確定它是否從任何一個(gè)檢 查程序接收到了數(shù)據(jù)請(qǐng)求。如果CPU 26(駕駛員軟件程序)接收到了數(shù)據(jù)請(qǐng)求(Sll 是), 則控制到達(dá)步驟S12。如果CPU 26(駕駛員軟件程序)沒(méi)有接收到數(shù)據(jù)請(qǐng)求(Sll 否),則 控制跳到步驟S17。在步驟S12中,CPU 26(駕駛員軟件程序)開始對(duì)計(jì)時(shí)器值TMR2[ μ sec]計(jì)數(shù)。 計(jì)時(shí)器值TMR2由計(jì)時(shí)器(未示出)來(lái)計(jì)數(shù),并且從步驟S12開始隨著時(shí)間增大。當(dāng)在步驟 S16中進(jìn)行重置時(shí),計(jì)時(shí)器值TMR2停止增大。在步驟S13中,CPU 26(駕駛員軟件程序)從檢查程序接收數(shù)據(jù)請(qǐng)求。具體來(lái)講, CPU 26(駕駛員軟件程序)從包括已經(jīng)在步驟Sll中發(fā)送了數(shù)據(jù)請(qǐng)求的檢查程序在內(nèi)的檢 查程序接收另外的數(shù)據(jù)請(qǐng)求。已經(jīng)在步驟Sll中發(fā)送了數(shù)據(jù)請(qǐng)求的檢查程序是包括在步驟 S13中的檢查程序中的,因?yàn)橐呀?jīng)在步驟Sll中發(fā)送了數(shù)據(jù)請(qǐng)求的檢查程序可以有不同類 型的數(shù)據(jù)請(qǐng)求要發(fā)送。在步驟S14中,CPU 26(駕駛員軟件程序)確定計(jì)時(shí)器值TMR2是否大于等于閾值 TH_TMR2。閾值TH_TMR2對(duì)應(yīng)于根據(jù)上面實(shí)施方式的數(shù)據(jù)請(qǐng)求時(shí)段,但是與數(shù)據(jù)請(qǐng)求時(shí)段的 不同在于,它定義了從第一數(shù)據(jù)請(qǐng)求或者在數(shù)據(jù)傳輸命令已經(jīng)發(fā)送到ECU 40之后從第一 數(shù)據(jù)請(qǐng)求開始的時(shí)段(以下,兩個(gè)數(shù)據(jù)請(qǐng)求都將被稱為“第一數(shù)據(jù)請(qǐng)求”)。如果計(jì)時(shí)器值 TMR2大于等于閾值TH_TMR2 (S14 是),則控制到達(dá)步驟S15。如果計(jì)時(shí)器值TMR2不大于等 于閾值TH_TMR2 (S14 否),則控制跳到步驟S17。在步驟S15中,CPU 26(駕駛員軟件程序)向E⑶40發(fā)送與步驟S11、S13中接收 到的所有數(shù)據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸命令。在步驟S16中,CPU 26(駕駛員軟件程序)重置計(jì)時(shí)器值TMR2并將它保持為零。CPU 26(駕駛員軟件程序)將計(jì)時(shí)器值TMR2保持為零,直 到在下一次循環(huán)中控制經(jīng)過(guò)步驟S12為止。因此,計(jì)時(shí)器值TMR2可以保持為零,直到在CPU 26(駕駛員軟件程序)向ECU 40發(fā)送了數(shù)據(jù)傳輸命令之后接收到了第一數(shù)據(jù)請(qǐng)求為止。步驟S17、S18與圖2中示出的步驟S5、S6相同。在步驟S19中,CPU 26(駕駛員軟件程序)確定計(jì)時(shí)器值TMR2是否為零。如果計(jì) 時(shí)器值TMR2不為零(S19 否),則意味著計(jì)時(shí)器TMR2已經(jīng)在步驟S12中開始被計(jì)數(shù),而還 沒(méi)有在步驟S16中被重置。因此,CPU 26(駕駛員軟件程序)在步驟S14中并非處于“是” 的狀態(tài),即,在重復(fù)步驟S13和步驟S14時(shí)CPU 26處于接收另外的數(shù)據(jù)請(qǐng)求的狀態(tài)(否)。 為了接收另外的數(shù)據(jù)請(qǐng)求,控制返回到步驟S13。如果計(jì)時(shí)器值TMR2為零619:是),則意 味著CPU 26(駕駛員軟件程序)正在接收第一數(shù)據(jù)請(qǐng)求。因此,圖8中示出的處理序列結(jié) 束。重復(fù)圖8中示出的處理序列,直到每個(gè)檢查程序都結(jié)束它的檢查處理為止。根據(jù)第一變型,接收另外的數(shù)據(jù)請(qǐng)求的時(shí)段是從第一數(shù)據(jù)請(qǐng)求開始的。因此,當(dāng)?shù)?一數(shù)據(jù)請(qǐng)求和另外的數(shù)據(jù)請(qǐng)求在時(shí)間上相互靠近時(shí),能夠可靠地向E⑶40發(fā)送與兩個(gè)數(shù) 據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸命令。圖9是圖2中示出的處理序列的第二變型的流程圖,其可以用于代替圖8中示出 的第一實(shí)施方式。第二變型與圖2中示出的處理序列基本上相同,但是不同在于,在與某個(gè) 數(shù)據(jù)請(qǐng)求(第一數(shù)據(jù)請(qǐng)求)相對(duì)應(yīng)的數(shù)據(jù)傳輸命令剛從測(cè)試器12發(fā)送到ECU 40之后,當(dāng) 存在請(qǐng)求與第一數(shù)據(jù)請(qǐng)求所請(qǐng)求的數(shù)據(jù)類型相同的數(shù)據(jù)的數(shù)據(jù)請(qǐng)求(第二數(shù)據(jù)請(qǐng)求)時(shí), 將與第一數(shù)據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)(第一數(shù)據(jù))沿用(divert)為響應(yīng)于第二數(shù)據(jù)請(qǐng)求的數(shù) 據(jù)。在圖9中示出的第二變型中,例如,步驟S21到S^在從幾十納秒到幾十微秒的時(shí)段中 執(zhí)行并且重復(fù)許多次。圖10是示出實(shí)現(xiàn)圖9中示出的第二變型的駕駛員軟件程序的處理序列的示例的 圖。圖9中示出的步驟S21到S25與圖2中示出的步驟Sl到S5相同。如果沒(méi)有從 ECU 40接收到數(shù)據(jù)(S25:否),則本次循環(huán)結(jié)束,并且控制返回步驟S21。如果從ECU 40接 收到了數(shù)據(jù)(S25 是),則控制到達(dá)步驟S26。在步驟S26中,CPU 26 (駕駛員軟件程序)確定從E⑶40接收的數(shù)據(jù)是否可以沿 用。術(shù)語(yǔ)“沿用”意味著,在與某個(gè)數(shù)據(jù)請(qǐng)求(圖10中的第一數(shù)據(jù)請(qǐng)求toel)相對(duì)應(yīng)的數(shù) 據(jù)傳輸命令Cnel剛從測(cè)試器12發(fā)送到E⑶40之后,當(dāng)存在請(qǐng)求與第一數(shù)據(jù)請(qǐng)求toel所 請(qǐng)求的引擎轉(zhuǎn)速NE相同的引擎轉(zhuǎn)速NE的第二數(shù)據(jù)請(qǐng)求時(shí),與第一數(shù)據(jù)請(qǐng)求foiel相 對(duì)應(yīng)的數(shù)據(jù)(第一數(shù)據(jù)Dnel)被用作響應(yīng)于第二數(shù)據(jù)請(qǐng)求的數(shù)據(jù)。如果數(shù)據(jù)(圖10中示出的第一數(shù)據(jù)Dnel)可以沿用(S^ 是),則在步驟S27中 CPU 26(駕駛員軟件程序)沿用數(shù)據(jù)并將數(shù)據(jù)發(fā)送到目標(biāo)檢查程序。例如,在圖10中,CPU 26(駕駛員軟件程序)不向ECU 40發(fā)送與第二數(shù)據(jù)請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)傳輸命令,而是 向檢查程序1、2發(fā)送第一數(shù)據(jù)Dnel。如果數(shù)據(jù)(圖10中示出的第一數(shù)據(jù)Dnel)不能沿用(S^ 否),則CPU 26 (駕駛 員軟件程序)不沿用數(shù)據(jù),而是在步驟S28中向目標(biāo)檢查程序發(fā)送數(shù)據(jù)。具體來(lái)講,CPU 26(駕駛員軟件程序)將從E⑶40接收的數(shù)據(jù)僅發(fā)送到已經(jīng)發(fā)送了數(shù)據(jù)傳輸命令Cnel所 基于的數(shù)據(jù)請(qǐng)求的檢查程序,即,在圖10中,已經(jīng)發(fā)送了
在第二變型中,來(lái)自檢查程序1的數(shù)據(jù)請(qǐng)求foiel和來(lái)自檢查程序2的數(shù)據(jù)請(qǐng)求 Rne2都請(qǐng)求引擎轉(zhuǎn)速NE的數(shù)據(jù)。在測(cè)試器12的CPU 26 (駕駛員軟件程序)從檢查程序1 接收到數(shù)據(jù)請(qǐng)求toel之后,如果在與數(shù)據(jù)請(qǐng)求toel相同的數(shù)據(jù)請(qǐng)求時(shí)段中CPU 26 (駕駛 員軟件程序)沒(méi)有從檢查程序2接收到數(shù)據(jù)請(qǐng)求toe2,則CPU 26(駕駛員軟件程序)向ECU 40發(fā)送與數(shù)據(jù)請(qǐng)求foiel相對(duì)應(yīng)的數(shù)據(jù)傳輸命令Cnel。在將數(shù)據(jù)傳輸命令Cnel發(fā)送到ECU 40之后,當(dāng)CPU 26(駕駛員軟件程序)在響應(yīng)于數(shù)據(jù)傳輸命令Cnel而接收數(shù)據(jù)Dnel之前 從檢查程序2接收到數(shù)據(jù)請(qǐng)求時(shí),CPU 26 (駕駛員軟件程序)在接收到數(shù)據(jù)Dnel之 后向檢查程序1、2發(fā)送數(shù)據(jù)Dnel。因此,數(shù)據(jù)可以快速地發(fā)送到檢查程序2,并且減少了測(cè) 試器12和E⑶40上的通信負(fù)載。圖9中示出的第二變型可應(yīng)用于針對(duì)不同類型數(shù)據(jù)的數(shù)據(jù)請(qǐng)求。例如,如果存在 針對(duì)引擎轉(zhuǎn)速NE和水溫Tw中任何一個(gè)的數(shù)據(jù)請(qǐng)求,則CPU 26(駕駛員軟件程序)向ECU 40發(fā)送針對(duì)引擎轉(zhuǎn)速NE和水溫Tw兩者的數(shù)據(jù)傳輸命令。當(dāng)CPU 26(駕駛員軟件程序)從 ECU 40接收到引擎轉(zhuǎn)速NE和水溫Tw時(shí),CPU 26(駕駛員軟件程序)可以沿用引擎轉(zhuǎn)速NE 和水溫Tw中的任何一個(gè)。盡管已經(jīng)詳細(xì)示出和描述了本發(fā)明的優(yōu)選實(shí)施方式,但是應(yīng)當(dāng)理解,可以在其中 做出各種變化和修改,而不會(huì)偏離所附權(quán)利要求的范圍。
權(quán)利要求
1.一種車輛診斷裝置(12),該車輛診斷裝置(12)用于從車輛(14)外部與安裝在該車 輛(14)上的電子控制單元GO)進(jìn)行通信并且基于從該電子控制單元GO)發(fā)送的各種數(shù) 據(jù)來(lái)確定該車輛(14)是否通過(guò)了多個(gè)診斷項(xiàng),該車輛診斷裝置(12)包括用于執(zhí)行第一診斷程序的第一診斷單元06);用于執(zhí)行不同于第一診斷程序的第二診斷程序的第二診斷單元06);和用于與該電子控制單元GO)進(jìn)行通信的通信單元06);其中,在該通信單元06)從第一診斷單元06)接收到請(qǐng)求該電子控制單元GO)發(fā)送 第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)該通信單元06)從第一診斷單元06)接收到請(qǐng)求該電子控制單 元GO)發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),如果第一數(shù)據(jù)和第二數(shù)據(jù)的類型相同,則該通信單元06)請(qǐng)求該電子控制單元GO) 發(fā)送該相同類型的數(shù)據(jù),并且向第一診斷單元06)和第二診斷單元06)發(fā)送從該電子控 制單元GO)接收到的該相同類型的數(shù)據(jù),而如果第一數(shù)據(jù)和第二數(shù)據(jù)的類型不同,則該通信單元06)請(qǐng)求該電子控制單元GO) 發(fā)送第一數(shù)據(jù)和第二數(shù)據(jù),從該電子控制單元GO) —起接收第一數(shù)據(jù)和第二數(shù)據(jù),向第一 診斷單元06)發(fā)送所接收的第一數(shù)據(jù),并且向第二診斷單元06)發(fā)送所接收的第二數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的車輛診斷裝置(12),其中,在所述通信單元06)從第一診斷 單元06)接收到請(qǐng)求所述電子控制單元GO)發(fā)送第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)所述通信單元 (26)沒(méi)有在預(yù)定時(shí)段內(nèi)從第二診斷單元06)接收到請(qǐng)求所述電子控制單元GO)發(fā)送第二 數(shù)據(jù)的請(qǐng)求時(shí),所述通信單元06)請(qǐng)求所述電子控制單元GO)發(fā)送第一數(shù)據(jù),并且在接收到第一數(shù)據(jù)之后,當(dāng)所述通信單元06)從第二診斷單元06)接收到請(qǐng)求所 述電子控制單元GO)發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),所述通信單元06)請(qǐng)求所述電子控制單元 (40)發(fā)送第二數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的車輛診斷裝置(12),其中,第一數(shù)據(jù)和第二數(shù)據(jù)的類型相同,在所述通信單元06)從第一診斷單元06)接收到請(qǐng)求所述電子控制單元GO)發(fā)送第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)所述通信單元06)沒(méi)有在預(yù)定時(shí)段內(nèi)從第二診斷單元06)接收 到請(qǐng)求所述電子控制單元GO)發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),所述通信單元06)請(qǐng)求所述電子 控制單元GO)發(fā)送第一數(shù)據(jù);并且在請(qǐng)求所述電子控制單元GO)發(fā)送第一數(shù)據(jù)之后、接收到第一數(shù)據(jù)之前,當(dāng)所述通信 單元06)從第二診斷單元06)接收到請(qǐng)求所述電子控制單元GO)發(fā)送第二數(shù)據(jù)的請(qǐng)求 時(shí),所述通信單元06)在接收到第一數(shù)據(jù)之后向第一診斷單元06)和第二診斷單元06) 發(fā)送第一數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的車輛診斷裝置(12),其中,第一數(shù)據(jù)和第二數(shù)據(jù)的類型不同;在所述通信單元06)從第一診斷單元06)接收到請(qǐng)求所述電子控制單元GO)發(fā)送 第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)所述通信單元06)沒(méi)有在預(yù)定時(shí)段內(nèi)從第二診斷單元06)接收 到請(qǐng)求所述電子控制單元GO)發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),所述通信單元06)請(qǐng)求所述電子 控制單元GO)發(fā)送第一數(shù)據(jù)及第二數(shù)據(jù);并且在請(qǐng)求所述電子控制單元GO)發(fā)送第一數(shù)據(jù)及第二數(shù)據(jù)之后、接收到第一數(shù)據(jù)及第 二數(shù)據(jù)之前,當(dāng)所述通信單元06)從第二診斷單元06)接收到請(qǐng)求所述電子控制單元(40)發(fā)送第二數(shù)據(jù)的請(qǐng)求時(shí),所述通信單元06)在接收到第一數(shù)據(jù)及第二數(shù)據(jù)之后向第 一診斷單元06)發(fā)送第一數(shù)據(jù)并向第二診斷單元06)發(fā)送第二數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種車輛診斷裝置。在從第一診斷單元(26)接收到針對(duì)第一數(shù)據(jù)的請(qǐng)求之后,當(dāng)從第二診斷單元(26)接收到針對(duì)第二數(shù)據(jù)的請(qǐng)求時(shí),如果第一數(shù)據(jù)和第二數(shù)據(jù)的類型相同,則通信單元(26)請(qǐng)求電子控制單元(40)發(fā)送相同類型的數(shù)據(jù),并且向第一診斷單元(26)和第二診斷單元(26)發(fā)送從電子控制單元(40)接收的相同類型的數(shù)據(jù)。如果第一數(shù)據(jù)和第二數(shù)據(jù)的類型不同,則通信單元(26)請(qǐng)求電子控制單元(40)發(fā)送第一數(shù)據(jù)及第二數(shù)據(jù),從電子控制單元(40)一起接收第一數(shù)據(jù)及第二數(shù)據(jù),向第一診斷單元(26)發(fā)送所接收的第一數(shù)據(jù),并向第二診斷單元(26)發(fā)送所接收的第二數(shù)據(jù)。
文檔編號(hào)G01M17/007GK102072822SQ20101055627
公開日2011年5月25日 申請(qǐng)日期2010年11月18日 優(yōu)先權(quán)日2009年11月19日
發(fā)明者橋本裕樹, 森田陽(yáng)介, 池田雄一郎, 牧田琢, 酒井一守 申請(qǐng)人:本田技研工業(yè)株式會(huì)社