• 沒有找到結果。

一種可延伸式車用網路發展平台之設計與實現 Ching-Biau Tzeng(

N/A
N/A
Protected

Academic year: 2022

Share "一種可延伸式車用網路發展平台之設計與實現 Ching-Biau Tzeng("

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)

一種可延伸式車用網路發展平台之設計與實現

Ching-Biau Tzeng(曾清標), Wen-Chih Shen(沈文誌), Yu-Chang Lin(林雨正),Tzuu-Shaang Wey(衛祖賞) 電子工程系所, 崑山科技大學

710 永康, 台南縣, 台灣, 中華民國

Corresponding author. Email: cbtzeng@mail.ksu.edu.tw, TEL:(06)2050204 摘要

本論文提出一種透過車上診斷系統(OBD-II) 介面進而達成延伸擴展的車用網路發展平台,讓 工程人員可在這個發展平台的環境上,開發一系 列需要透過車用網路進行傳輸之模組與產品,使 汽車ECU net更可以應用於不同的產品之中。

這個發展平台包括軟、硬體發展工具,是由 多種不同功能的CAN節點模組所組成,CAN節點 模 組 使 用 PIC18F458(MCU , 內 建 CAN Controller)、MCP2551(CAN Transceiver)組成CAN 匯 流 排 節 點 發 展 的 硬 體 , 並 且 內 建 有 符 合 ISO15765-4和CAN規範之資料格式的CAN匯流排 節點發展的樣板韌體。利用這個發展平台可建立 許多不同功能的應用節點,並且透過與CAN OBD 介面來連結車上的所有ECU節點,將這些應用節 點模組也納入原本的ECU net的節點,以進行實體 系統的驗證。

最後,舉出利用此發展平台所完成的車用電 子產品之開發案例的說明;以機車儀表增設CAN 功能和車輛監測功能的例子,說明以這個發展平 台進行新產品開發的過程,應用節點在這個發展 平台測試完成之後,透過與汽車或大型重型機車 的CAN bus實際連結的動作,驗證這個發展平台的 實用性與可靠性,值得加以推廣應用。

關鍵詞: CAN匯流排、電子控制單元、車上診斷 系統(OBD-II)、車用網路、發展平 台

1. 前 言

近年來,在汽車或是電動車的設計中,運用 了許多微處理器和電子控制技術,例如ABS(Anti- lock Braking System)防鎖死煞車系統、電子防盗 系统、自動空調…等,這些系統都是由多個電子 控制單元相互連接而成,同時各個系統之間也互 相連接,進行著越來越多的數據交換,這樣就需 要使用大量的配線和連接器來實現互連。隨著汽 車電子技術的發展,這種需求的成長是龐大的。

由於配線和連接器的數量不斷增加,汽車電 子系統的複雜程度愈來愈高,其可靠度變的不穩 定、故障率提高,影響汽車性能。為了滿足汽車 內部訊號量急遽增加的需求,必須使用一種匯流 排共享的方法,減少配線的數量。1986年,Bosch

在SAE(Society of Automotive Engineers)美國汽車 工程師協會上提出了CAN協定,1993年CAN的國 際標準ISO 11898公佈。車用網路大多數都使用控 制器區域網路(Controller Area Network) CAN Bus作 為資料傳遞的通訊協定,使車輛裡的許多電子控 制模組之間有共用匯流排的網路,而且CAN Bus 也已廣泛地運用在工業控制、微電腦控制等應用 中。

因此,研發工程人員若要開發應用於大型重 型機車、汽車或是電動車的新產品,而且新產品 必須連接於CAN Bus上,若是貿然直接連接測 試,這會使工程人員或裝置本身承擔故障或損壞 的高風險。因此,若是有一CAN Bus發展平台內 建有監控節點與模擬車用ECU網路節點,並且可 以實現出具有所要發展的節點裝置之關鍵特性,

使的新產品可以在發展平台中完成,也可以在發 展平台上測試已開發節點的功能,工程師就可以 透過這樣的發展平台快速地發展CAN ECU網路節 點。

本論文的目的就在於建立一套CAN ECU網路 發展平台,以微處理器作為發展平台的控制核心 元件,發展平台由許多不同功能的節點組成,使 用者可以在發展平台上製作CAN ECU模擬節點 (emulator node)、監測節點(monitor node)、感測器 節點(sensor node)、控制器節點(control node)、啟 動器節點(actuator node)等,使發展平台可以執行 不同目的的應用。這個發展平台包括軟硬體發展 工具,是由多個不同功能的CAN節點模組所組 成 , CAN 節 點 模 組 使 用 PIC18F458(MCU , 內 建 CAN Controller)、MCP2551(CAN Transceiver)組成 CAN匯流排節點發展的硬體,並且內建有符合 ISO15765-4和CAN規範之資料格式的CAN匯流排 節點發展的樣板韌體。利用這個發展平台可建立 許多不同功能的應用節點,並且透過與CAN OBD 介面連結上車上的所有ECU節點,將這些應用節 點模組也納入原本的ECU net的節點,以進行實體 系統的驗證。

讓工程人員可以在這個發展平台上快速地實 作出具有特定功能的感知器與致動器獨立模組,

而且使獨立模組的感知器與致動器可以透過車用 網路CAN傳輸訊息資料,或是結合其他已建構好 的ECU組成特定用途的控制模組,延伸整體系統 的應用範疇。

(2)

最後,舉出利用這個發展平台所完成的車用 電子產品的開發案例的說明,以機車儀表增設 CAN功能和車輛監測功能的例子說明以發展平台 進行新產品開發的過程,功能節點在發展平台測 試完成之後,透過與汽車或大型重型機車的CAN bus實際連結的動作,以驗證此發展平台的實用性 與可靠性,值得加以推廣應用。

2. 發展平台的設計 2.1系統架構

整 體 的 系 統 架 構 包 括 可 延 伸 的 發 展 平 台 (Proposed system)、CAN匯流排訊息監測工具(本 論文使用Kvaser Memorator硬體與X-Analyser軟體) 和車用ECU網路,如圖一所示。透過汽車的J1962 DLC (Diagnostic Link Connector)診斷接頭將可延 伸的發展平台連接到車用ECU網路(In-Car ECU net),讓工程人員於發展平台上所發展的節點裝置 也納入車用ECU網路的一部分,進而延伸車用 ECU網路到發展平台上,以形成可延伸擴充功能 的車用ECU網路,讓新節點或新系統在擴充後的 ECU網路裡運行,以驗證新節點或新系統的可行 性。

CAN匯流排訊息監測工具透過汽車的J1962 DLC診斷接頭可以將車用ECU網路的傳輸訊息導 出,藉由X-Analyser軟體顯示在電腦螢幕上或是 儲存在記憶體中。日後可以將儲存的訊息經由解 析處理之後寫入可延伸的發展平台之微處理器記 憶體中,如此,可延伸的發展平台也就具有模擬 (emulating)車用ECU網路的功能,可獨立來發展 相關的ECU節點裝置。

圖一、整體的系統架構 2.2可延伸的發展平台(Proposed system)

可延伸的發展平台架構如圖二所示,主要是 由CAN匯流排節點模組所組成,每個模組都內建 有 CAN Transceiver(MCP2551) , 透 過 CAN Transceiver將CAN模組相互連接起來,使CAN節 點可一直擴充,CAN Transceiver(MCP2551)可提 供最大支援112個節點。

利用CAN匯流排節點模組可以開發出許多具 有特定功能的節點,例如,如圖二所示的ECU模 擬節點(emulator node)、監測節點(monitor node)、

感測器節點(sensor node)、控制器節點(controller

node)、致動器節點(actuator node)等,由這些節點 就可組成特定功能的應用系統。

圖二、可延伸的發展平台架構 2.3發展平台的節點模組

發展平台之節點模組的外觀照片如圖三所 示,建構有CAN匯流排介面、一般用途的數位 I/O Port、可連接汽車CAN OBD的J1962 DLC介 面、CAN匯流排訊息監測工具連接端以及CAN節 點擴充連接端。

CAN 匯 流 排 介 面 如 圖 四 所 示 , 主 要 是 由 Microchip 的 微 控 制 器 PIC18F458 和 CAN Transceiver MCP2551所組成,是為每個CAN節點 都必須具備的硬體介面。PIC18F458這顆MCU晶 片 所 內 建 的 許 多 資 源 , 諸 如 Timer 、 A/D 、 UART 、 一 般 用 途 數 位 輸 入 輸 出 埠 (I/O Port) , CAN匯流排介面模組可依照節點需求功能的不 同,加以應用來實現出更多應用功能的節點。

透過OBD-II轉接端可以將CAN OBD與汽車 ECU網路連結,讀取車身相關資訊,使節點可以 連接至車用ECU網路,成為車用ECU網路的新節 點。

Kvaser Memorator透過監測連接端可以連接到 CAN匯流排,以監測CAN匯流排訊息傳輸的狀 況,並且透過X-Analyser軟體來加以解析。

圖三、發展平台之節點模組的外觀照片圖

(3)

圖四、CAN匯流排介面架構 2.5.1CAN OBD-II 汽車標準資料格式

汽 車 OBD-II為 診斷 汽車零 件是 否故障 或異 常,OBD-II的模式1提供車內許多感測器的目前資 料,藉由OBD-II PIDs(Parameter IDs)來讀取車身 功能資料。

使用時將功能PID_code暫存器輸入數值 (圖 六 ) , 例 如 : 車 速 為 PID:0x0D 、 引 擎 轉 速 為 PID:0x0C、水溫為PID:0x05等。接收時汽車會回 應相對應的PID功能資料,接收的資料有些需要公 式運算才能得出正確的數值資訊 (圖七),例如引 擎轉速的運算式為((A*256)+B)/4,運算結果才為 正確的數值資料,其中A和B是CAN匯流排資料格 式的位元組。

另外,詢問汽車功能的CAN匯流排節點識別 碼 0x7DF , 接 收 汽 車 OBD 資 料 要 將 Acceptance Filter設為0x7E8,都是依據ISO 15765-4文件所定 義的規範。

If ( CANIsTxReady ( ) ) { TX_Data_Buf2[0] = 0x02 ;

TX_Data_Buf2[1] = 0x01 ; TX_Data_Buf2[2] = PID_code;

TX_Data_Buf2[3] = 0x00 ; TX_Data_Buf2[4] = 0x00 ; TX_Data_Buf2[5] = 0x00 ; TX_Data_Buf2[6] = 0x00 ; TX_Data_Buf2[7] = 0x00 ;

CANSendMessage ( 0x7DF , TX_Data_Buf2 , 8,CAN_TX_PRIORITY_1&

CAN_TX_STD_FRAME&

CAN_TX_NO_RTR_FRAME ) ; }

圖六、節點傳送PID_ code給汽車ECU

if ( CANIsRxReady ( ) ) {

CANReceiveMessage( &RX_ID1 , RX_Data_Buf1 , &RX_Data_Len1 ,

&RX1_Message_Flag ) ; if (RX_ID1==0x7E8)

{ Engine RPM = ((A*256)+B)/4 ; } }

圖七、接收OBD資料,以RPM為例

2.5.2CAN節點模組之客製化韌體的設計

由於CAN的應用相當廣泛,除了常見的車用 內部控制網路之外,工業自動化與醫療設備也越 來越多使用CAN Bus為控制網路,使用者可藉由 輸入自訂格式的韌體規劃,可以快速的建立CAN 節點。

節點用途不使用於汽車時,也就不侷限於 CAN OBD-II的規範內,使用者可自己定義資料格 式內容,但是必須符合CAN的規範來定義。樣板 韌體已經將大部分的CAN設定規劃完成,使用者 只需要在暫存器內輸入數值,就可完成CAN韌體 設定。

韌體裡面TX_00~ TX_07暫存器分別可以輸入 0 ~ 0xFF的範圍,識別碼暫存器TX_ID1在標準模 式可使用0 ~ 0x7FF,使用者在TX_00 ~ TX_07和 TX_ID輸入自訂的數字,即可完成傳輸規劃的動 作 ( 圖 八 ) 。 接 收 的 部 分 , RX_ID1 為 Acceptance Filter的暫存器,可設定指定接收的識別碼,即可 接收CAN資料 (圖九)。

If ( CANIsTxReady ( ) )

{ TX_Data_Buf2[0] = TX_00 ; TX_Data_Buf2[1] = TX_01 ; TX_Data_Buf2[2] = TX_02 ; TX_Data_Buf2[3] = TX_03 ; TX_Data_Buf2[4] = TX_04 ; TX_Data_Buf2[5] = TX_05 ; TX_Data_Buf2[6] = TX_06 ; TX_Data_Buf2[7] = TX_07 ; CANSendMessage(TX_ID1,

TX_Data_Buf2 , 8 , CAN_TX_PRIORITY_1 &

CAN_TX_STD_FRAME &

CAN_TX_NO_RTR_FRAME ) ; }

圖八、傳送時設定資料內容與識別碼 if ( CANIsRxReady ( ) )

{

CANReceiveMessage( &RX_ID1 , RX_Data_Buf1 ,

&RX_Data_Len1 ,

&RX1_Message_Flag ) ; if (RX_ID1== RX_ID1)

{ …… } }

圖九、接收時設定資料內容與識別碼

3.實測結果與討論

在本論文中,提出兩個運用我們所發展出的可延 伸的發展平台來進行產品開發的案例,以驗證系 統的可行性,並且解說了整個發展過程。ㄧ個是 將市售的機車儀表增設CAN功能以應用於大型重 型機車(DUCATI)之儀表板的開發,另一個是透過

(4)

CAN OBD介面來實現車輛監測功能以應用於汽車 儀表板的開發。

3.1機車儀表板的開發案例

首先測試車款DUCATI_MONSTER_696實驗 步驟如下:

(1)監測ECU網路:拉開原廠儀表與ECU端(圖 十),由於大型重型機車不是CAN OBD-II標 準協定,所以CAN的腳位位置沒有參考資 料,我們依照CAN bus的CAN_H和CAN_L有 電 壓 差 特 性 , 利 用 示 波 器 從 ECU 端 找 到 CAN_H、CAN_L (表二),這是CAN Bus的通 訊腳位。將CAN匯流排介面模組連接到CAN Bus 上 , 並 且 使 用 Kvaser Memorator 搭 配 X- Analyser軟體來擷取CAN Bus的傳輸訊息並顯 示在電腦螢幕上(圖十一),經過分析之後,

解析到CAN Bus傳輸的所有的 ID 有12個分別 為010、020、028、300、029、080、081、

100、211、280、290、201。

圖十、DUCATI_MONSTER_696機車儀表和 ECU連接端

表二、DUCATI_MONSTER_696的ECU連接端腳 位功能

(2)解析CAN資料之後,找到機車儀表相關的訊 號包括了時速功能和引擎轉速功能以及空檔 訊號(ID:0x100)、引擎進氣溫度和引擎機油 溫 度 (CAN_ID : 0x211) 、 故 障 燈 訊 息 (CAN_ID:0x201)、引擎發動碼(CAN_ID:

0x010、0x020、0x028、0x300、029),而這 款重型機車沒有引擎冷卻液溫度的資訊,所 以將市售機車儀表的引擎冷卻液溫度位置改 為顯示引擎進氣溫度的資料。

圖十一、DUCATI_MONSTER_696監測畫面

圖十二、解析CAN Bus資料

(3)在可延伸的發展平台上以樣本韌體為基礎來 設計相對應的驅動程式,並且將機車CAN資 料格式燒錄到單晶片微控制器中,使得發展 平台具有模擬車用CAN ECU網路的節點,

此模擬節點傳送著重型機車的資料格式以利 後續機車儀表之CAN通訊功能的開發。

圖十三、機車儀表在開發平台中製作 (4)透過發展平台將機車儀表增加CAN通訊功能

並 製 作 完 成 , 使 機 車 儀 表 可 以 藉 由 CAN ECU傳輸資料,經過程式化運算與電路處 理,顯示於機車儀表上。

(5)將製作完成的機車儀表插入實際大型重型機 車的ECU連接端,成功的顯示機車資訊。

3.2汽車CAN OBD-II 傳輸協定測試

測試的車款為Mazda5,這台車的OBD-II資 料傳輸使用CAN協定,而我們要測試的項目有2 個,一項是在發展平台上透過CAN OBD-II介面 來實現新增CAN匯流排節點,這個節點主要是 做為監測用途,它能夠讀取並顯示指定ECU節 點的資料;另一項是在汽車CAN bus中新增2個 節點,一端傳輸A/D轉換訊號另一端節點接收並 顯示數值範圍,測試在汽車現有的CAN bus中是

(5)

否可以再增加 CAN-ECU節點,其測試步驟如 下:

(1)建立模擬節點與監測節點:SAE J1979定義了 標準OBD-II PIDs,裡面已經說明關於PID的 相關內容與數值的範圍。我們根據標準的規 範協助我們建立發展平台的模擬節點與監測 節點,製作的監測節點的功能有車速(PID:

0x0D) 、 引 擎 轉 速 (PID : 0x0C) 、 進 氣 溫 度 (PID : 0x0F) 、 引 擎 冷 卻 液 溫 度 (PID : 0x05)、油門位置(PID:0x11)、引擎發動時 間(PID:0x1F)、引擎負載(PID:0x04)、空 氣 流 通 率 (PID : 0x10) 、 機 油 壓 力 (PID : 0x0A)、進氣歧管壓力(PID:0x0B)、燃油管 壓力(PID:0x22)、油量輸入(PID:0x2F),

利用LCD模組一次顯示兩種資訊並且按下按 鍵後可以作翻頁的動作,所以只用一個LCD 模組就可以顯示全部的功能資訊。

(2) 監 測節 點與 汽車 連接測 試: 監測節 點透 過 J1962診斷連接插座連接到汽車CAN OBD,

但是Mazda5的OBD不支援機油壓力、燃油管 壓力和油量輸入的功能,所以無法讀到該資 料,其他在之前製作的功能可以成功顯示 OBD資料,具備監測車身的功能。

圖十四、讀取OBD資訊並與汽車儀表板所顯示 之訊息進行比對

(a)讀取時速和引擎轉速 (b)讀取進氣和引 擎冷卻液的溫度

(c)油門位置和引擎啟動時間 (d)進氣岐管壓力 和空氣流通率

圖十五、其他讀取自OBD之訊息顯示 (3)新功能節點加入CAN bus連接測試:有2個新

節點功能分別為一傳輸10 bit A/D轉換訊號與 接收A/D訊號,為了避免傳輸的識別碼與原 汽車的識別碼衝突,事先已利用監測工具找 出汽車匯流排內流通的識別碼,我們選用識 別碼0x333作為傳輸節點,而所製作的CAN- ECU節點可以在汽車裡成功傳輸與接收。

圖十六、新節點加入車用ECU網路

圖十七、監測工具顯示汽車ECU net的資料

(6)

4.結論

本論文成功的實現出所要建構的發展平台,

CAN發展硬體模組包含了基本CAN硬體架構與 CAN樣板韌體的建立以及對周邊的通訊連接,進 行CAN ECU節點測試與發展的環境。而在實驗過 程中,模擬的對象有大型重型機車與汽車CAN OBD-II,試著開發具有模擬CAN ECU網路的節 點。

透過監測工具對CAN bus資料的完整讀取,

經由資料解析之後,將資料程式燒錄到微處理 機,完成模擬CAN ECU網路的節點,並且成功地 在機車儀表上新增CAN通訊功能,使原本市售的 機車儀表適用的車款可以更加廣泛。

在發展平台上製作監控汽車CAN OBD-II資訊 的節點以及2個收發的節點,並且透過J1962 DLC 連接至汽車,可以成功傳輸資料到CAN bus,且 可以讀取指定功能資訊並藉由LCD模組顯示。

以上實際開發節點應用例子中驗證車用ECU 網路發展平台的可用性。工程師可利用本發展平 台上快速的開發CAN通訊節點。

參考文獻

[1] B. J. Ahn, B. R. Park, Y. H. Ki, G. M. Jeong, H.

S. Ahn, and D. H. Kim, “Development of a Controller Area Network Interface Unit and Its Application to a Fuel Cell Hybrid Electric Vehicle,” SICE-ICASE International Joint Conference 2006, Oct. 18-21, 2006 in Bexco, Busan, Korea.

[2] L. B. Fredriksson, “CAN for critical embedded automotive networks,” IEEE Micro, vol. 22, no.

4, pp. 28-35, 2002.

[3] Ulf E. Larson, Dennis K. Nilsson, and Erland Jonsson, “An Approach to Specification-Based Attack Detection for In-Vehicle Networks,”

Proceedings of the 12th IEEE Intelligent Vehicles Symposium (IV), 2008.

[4] Renjun Li, Chu Liu and Feng Luo, “A Design for Automotive CAN Bus Monitoring System,”

IEEE Vehicle Power and Propulsion Conference (VPPC), Sep. 3-5, 2008, Harbin, China.

[5] G. Leen and D. Heffernan, “Expanding automotive electronic systems,” Computer, 35(1):88-93, Jan. 2002.

[6] U. Kiencke and L. Nielsen, “Automotive Control Systems,” Springer-Verlag, Berlin, 2000.

[7] Robert Bosch GmbH, CAN Specification Vision2.0, 1991, Postfach 50, D-7000 Stuttgart 1.

[8] SAE J1962 April 2002, Diagnostic Connector Equivalent to ISO/DIS 15031-3: December 14, 2001, 2004 SAE Handbook, SAE international, 2004.

[9] ISO 15765: Diagnostics on Controller Area Networks (CAN). International Organization for Standardization, 2003.

[10] 許 芳 菖 , “ 車 載 CAN Bus 系 統 之 比 較 研 究 ” , 碩 士 論 文 , 國 立 虎 尾 科 技 大 學 , 2007。

[11] 許源鏞、蔡汯嶧,“CAN-Bus 節點電路於車 用電動後視鏡之應用”,車輛工程學刊,第 四期,2007,第 81-96 頁。

[12] Microchip Technology , http://www.microchip.com

[13] Ducati Motor,http://www.ducati.com [14] 陳俊茂,“建構於 CAN 匯流排之車用碼錶

的 設 計 與 實 現 ”, 碩 士 論 文 , 崑 山 科 技大 學,2008。

[15] 陳彥彣,“可彈性組合汽車碼錶”,碩士論 文,崑山科技大學,2008。

[16] 許源鏞等,“CAN-ECU 診斷伺服功能自動 測 試 之 研 發 ”, 車 輛 工 程 學 刊 , 第 六 期,

2009,第 43-61 頁。

參考文獻

相關文件

C011 遊覽車 中興仁化路 仁化善化 成功仁化 成功塗城 草湖成功 吉峰路口 霧峰國泰 C012 遊覽車 中港福安路 中工三路 中港澄清醫院 中港玉門路 東海別墅 坪頂 新莊路. 口 自強新城

目前已選到一週內每日適合班車的同學,可以不必上網更改,系統將會依照 同學目前的選項安排班車。隨調整班車人數之多寡,同學返家校車之車次有 可能改變,請於 11/5

『公告各班路線之後』,同學可利用『09/08、09/09星期六、日』上網路調整自己在一 週內上課及參與活動(或臨時調整需求)狀況,來搭配自己回程需求搭乘班車座位回家,只要

問題類型 非結構化問題 結構化問題 結構化問題 結構化問題 學習能力 不具學習能力 不具學習能力 自錯誤中學習 自錯誤中學習 學習能力 不具學習能力 不具學習能力

‡網路作業系統( network operating system). ‡網路作業系統( network

在本實驗中,您將在電腦中安裝無線 USB 網路介面卡的驅動程式。該驅動程式是一種控制無線網路介面卡的 軟體。可以從網路介面卡隨附的

按一下 Wireless 標籤。預設會選擇 Basic Wireless Settings(基本無線設定)標籤。Network Name(網路名稱)是網路上所有裝置之間共用的 SSID。無線網路中所有裝置的 SSID 都必須相同。..

a 全世界各種不同的網路所串連組合而成的網路系統,主要是 為了將這些網路能夠連結起來,然後透過國際間「傳輸通訊 控制協定」(Transmission