61
CAN BUS 發發發發發發發 報報報報報報報 報報報報報報報 報報報 4A015080

CAN BUS 發展及基本 應用

  • Upload
    atalo

  • View
    109

  • Download
    1

Embed Size (px)

DESCRIPTION

CAN BUS 發展及基本 應用. 報告 者 ︰ 吳秉昆 班級 ︰ 車輛三乙 學 號 ︰ 4A015080. 摘要. 本報告藉由 CANBUS 為題材,了解控制器區域網路 (Controller Area Network) 的由來以及基本介面操作 。. 目錄. 摘要 .. .................. I 目錄. .... ...... .. .... .. Ⅱ 第一章 汽車通訊網絡概論 1.1 汽車網路化由來及發展.. ... ....1 1.2 匯流排規格與相關技術. .. ..... .5 第二章  CAN 匯流排協定 - PowerPoint PPT Presentation

Citation preview

Page 1: CAN BUS 發展及基本 應用

CAN BUS發展及基本應用報告者︰吳秉昆班級︰車輛三乙學號︰ 4A015080

Page 2: CAN BUS 發展及基本 應用

I

摘要

本報告藉由 CANBUS 為題材,了解控制器區域網路 (Controller Area Network) 的由來以及基本介面操作。

Page 3: CAN BUS 發展及基本 應用

II

目錄摘要....................I目錄...................Ⅱ第一章 汽車通訊網絡概論  1.1 汽車網路化由來及發展.........1  1.2 匯流排規格與相關技術.........5第二章  CAN 匯流排協定  2.1 前言................13  2.2 CAN基本特性...........14  2.3 錯誤狀態的種類...........24

touhouswr
touhouswr
Page 4: CAN BUS 發展及基本 應用

II

目錄第三章  T89C51CC01 介紹3.1 基本特性與架構 ............26第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作.....344.2 Atmel FLIP 燒錄應用程式概述與基本操作.47參考文獻.. . .............57

touhouswr
touhouswr
Page 5: CAN BUS 發展及基本 應用

1

第一章 汽車通訊網絡概論1.1 汽車網路化由來及發展

當車用電器設備越來越多,汽車上的電子裝置成本將占汽車整體成本的 25% 以上,汽車已由單純機械產品發展成高級的機電一體化產品,這樣必然會造成龐大的佈線系統,相對的故障率等問題也隨之增加 。

Page 6: CAN BUS 發展及基本 應用

2

第一章 汽車通訊網絡概論1.1 汽車網路化由來及發展

依傳統高級車佈線方法來看,其導線長度可達 2000 公尺,ECU 節點 1500 個,據統計,每 10 年增長 1 倍,纜線的膨脹會使得汽車有限空間的矛盾發展,為了解決此種問題,汽車通訊網絡就此開始發展。

Page 7: CAN BUS 發展及基本 應用

3

第一章 汽車通訊網絡概論1.1 汽車網路化由來及發展

圖 1 傳統的中央控制的節點通訊方式示意圖( 參考資料:許永和,第 4C- 車載通訊電子網路之 CAN/LIN 匯流排設計與應用 ( 初版 ) 。台北市:儒林, 2010.12 。 )

Page 8: CAN BUS 發展及基本 應用

4

第一章 汽車通訊網絡概論1.1 汽車網路化由來及發展

圖 2 分散式控制的 CAN 匯流排通訊方式示意圖( 參考資料:許永和,第 4C- 車載通訊電子網路之 CAN/LIN 匯流排設計與應用 ( 初版 ) 。台北市:儒林, 2010.12 。 )

Page 9: CAN BUS 發展及基本 應用

5

第一章 汽車通訊網絡概論1.2 匯流排規格與相關技術

20 世紀 90 年代中期,美國汽車工程協會 (SAE) 下屬的汽車網路委員會,根據 SAE J2057 標準,將汽車資料傳輸網路的設計與生產應用,按網路的傳輸速率將車用匯流排劃分為 A 、B 與 C 等三類。

Page 10: CAN BUS 發展及基本 應用

6

第一章 汽車通訊網絡概論1.2 匯流排規格與相關技術

20 世紀 90 年代中期,美國汽車工程協會 (SAE) 下屬的汽車網路委員會,根據 SAE J2057 標準,將汽車資料傳輸網路的設計與生產應用,按網路的傳輸速率將車用匯流排劃分為 A 、B 與 C 等三類。

Page 11: CAN BUS 發展及基本 應用

7

第一章 汽車通訊網絡概論1.2 匯流排規格與相關技術

A類︰串流協定標準包括 TTP/A(Time Triggered Protocol/A) 和 LIN(Local Interconnect Net-work) ,其傳輸速率較低。

B 類︰串列協定標準主要包括 J1850 、 VAN 及低速CAN 。

C 類︰串列協定標準主要包括 TTP/C 、 FlexRay 和高速CAN(ISO11898-2) 等。大多用於與汽車安全相關以及即時性要求比較高的應用上。

Page 12: CAN BUS 發展及基本 應用

8

第一章 汽車通訊網絡概論1.2 匯流排規格與相關技術

圖 3 依車輛網路委員資料傳輸劃分圖

Page 13: CAN BUS 發展及基本 應用

9

第一章 汽車通訊網絡概論1-2 匯流排規格與相關技術

目前匯流排的技術以速度及支援元件數目與單價位作為區分,主要包括︰ LIN 、 CAN 、 X-by-Wire 、 FlexRay 與 MOST等。

Page 14: CAN BUS 發展及基本 應用

10

第一章 汽車通訊網絡概論1-2 匯流排規格與相關技術LIN(Local Interconnect Net-work) : LIN 是一種低成本的串列通訊網路協定,採單主機 ECU 節點與多組從主機ECU 節點模式 。典型的 LIN 網路節點數可達 12 個,主從ECU 節點之間只需一條 12V 的信號線,最高傳輸速率可達20Kbps 。透過 CAN/LIN閘道器可與 CAN進行資料之交換。

Page 15: CAN BUS 發展及基本 應用

11

第一章 汽車通訊網絡概論1.2 匯流排規格與相關技術CAN(Controller Area Network) ︰目前全球使用最廣泛的一種車用網路, CAN 匯流排是一種多主方式的串列通訊匯流排,最高速率可達 1Mbps ,有很高的抗干擾能力。由 CAN控制器、收發器和一對雙絞線構成。具有檢出錯誤使其出錯的ECU退出匯流排及優先順序控制的能力,以滿足及時通訊。

Page 16: CAN BUS 發展及基本 應用

12

第一章 汽車通訊網絡概論1.2 匯流排規格與相關技術FlexRay:採用冗餘備份的方法,分別由兩條匯流排與兩個 FlexRay ECU 構成一完整網路,正常情況下以雙通道作為資料傳遞,倘若一通道故障,則由另一備份通道承擔進行資料傳遞。

Page 17: CAN BUS 發展及基本 應用

13

第二章  CAN匯流排協定2.1 前言

由於汽車具有強大的產業背景與需求,為滿足車內各系統的即時性要求,各系統間的資料共享是必須的,但因各電控單元對即時性的要求不同 (如更新速率和控制週期等 ) ,而基於優先競爭的模式,其本身較需具有較高的通信速率, CAN 匯流排正是為滿足這些要求而產生的。

Page 18: CAN BUS 發展及基本 應用

14

第二章  CAN匯流排協定2.2 CAN基本特性

可分為8個項目︰多主控制、訊息的傳送、系統的相容性、通訊速度、遠端資料請求、錯誤檢測、通知及恢復功能、隔離故障、連接要求。

Page 19: CAN BUS 發展及基本 應用

15

第二章  CAN匯流排協定2.2 CAN基本特性

多主控制:在匯流排閒置時,所有單元都可開始傳送訊息( 多主控制 ) 。最先的匯流排可獲得控制權,而相關規範採用載波檢測多重存取 /碰撞避免 (CSMA/CA Carrier Sense Multiple Access/Collision Avoidance)

當多個 ECU 單元同時開始傳送時,擁有高優先傳送順序的辨識碼 (Identifier) ( 以下簡稱 ID) 訊息的 ECU 單元可獲得傳送權。

Page 20: CAN BUS 發展及基本 應用

16

第二章  CAN匯流排協定2.2 CAN基本特性

訊息的傳送:在 CAN 協定中,所有訊息都已固定格式傳送,當同時有兩個以上同時傳送時,依 CSMA/CA 方式仲裁優先權,ID 越小,優先權越高。

Page 21: CAN BUS 發展及基本 應用

17

第二章  CAN匯流排協定2-2 CAN基本特性

系統的相容性:與匯流排連接的 ECU 是無 " 位址 " 的資訊。因此,在增加 ECU 時,原先以連接的 ECU 單元的軟硬體及應用層都無須改變。

Page 22: CAN BUS 發展及基本 應用

18

第二章  CAN匯流排協定2.2 CAN基本特性

通訊速度:根據整體實際網路的規模,可設定適合的通訊速度。在同一網路中,所有 ECU 單元必須設定為統一通訊速度,此時,即便只有一 ECU 通訊速度不同,此 ECU 單元會輸出錯誤訊號,使整體通訊過程遭到妨礙。但不同網路間可有不同通訊速度。若要切換通訊速度,可透過閘道器或雙通道 CAN 來實現。

Page 23: CAN BUS 發展及基本 應用

19

第二章  CAN匯流排協定2.2 CAN基本特性

遠端資料請求:可透過傳送 "遠端訊框 " 來請求其他單元傳送資料。

Page 24: CAN BUS 發展及基本 應用

20

第二章  CAN匯流排協定2.2 CAN基本特性

錯誤檢測、通知及恢復功能:所有 ECU 單元都可以檢測錯誤 ( 錯誤檢測功能 ) 。其中,被檢測出錯誤的 ECU 單元會立即通知其他所有 ECU 單元 ( 錯誤通知功能 ) 。而正在傳送訊息的ECU 單元一旦被檢測出錯誤,會強制結束目前的傳送。強制結束的 ECU 單元會不斷反覆地重新傳送此訊息,直到成功傳送為止 ( 錯誤恢復功能 ) 。

Page 25: CAN BUS 發展及基本 應用

21

第二章  CAN匯流排協定2.2 CAN基本特性

隔離故障: CAN 匯流排可判斷出錯誤的類型為暫時性的資料錯誤 (如外部雜訊 ) ,還是持續的資料錯誤 (如單元故障、驅動器故障與斷線等 ) 。透過此功能,當匯流排上持續發生錯誤時,可將引起此錯誤的 ECU 單元從匯流排上隔離出去。

Page 26: CAN BUS 發展及基本 應用

22

第二章  CAN匯流排協定2.2 CAN基本特性

連接要求: CAN 匯流排是可同時連接多個 ECU 單元的匯流排。理論上,可連接的單元總數是無限制的,但實際上,會因受到時間延遲與電器負載而限制。

Page 27: CAN BUS 發展及基本 應用

23

第二章  CAN匯流排協定2.3 錯誤狀態的種類

主動錯誤狀態:此狀態可以正常參加匯流排通訊,處於主動錯誤狀態的 ECU 單元檢測出錯誤時,輸出主動錯誤旗標。

Page 28: CAN BUS 發展及基本 應用

24

第二章  CAN匯流排協定2.3 錯誤狀態的種類

被動錯誤狀態:此狀態易引起錯誤的狀態。處於被動錯誤狀態的 ECU 單元雖能參加匯流排通訊,但為了不妨礙其他 ECU單元通訊,接收時不能積極的傳送錯誤通知。此外,在錯誤恢復後,無法馬上開始通訊,會在下次開始傳送期間插入 "延遲傳送 "(8-bit 的隱性位元 ) 。

Page 29: CAN BUS 發展及基本 應用

25

第二章  CAN匯流排協定2.3 錯誤狀態的種類

匯流排關閉狀態:此狀態不能參加匯流排通訊。此時,資訊的接收與傳送均會被禁止。

Page 30: CAN BUS 發展及基本 應用

26

第三章  T89C51CC01介紹3.1 基本架構與特性

T89C51CC01 是 Atmel公司針對 CAN 協定所整合的一顆微處理機,其基本特性如下:

8051核心架構256 Bytes RAM1K Bytes XRAM32 Bytes 快閃記憶體資料的保存期限,在 85℃ 下,可保存 10 年

Page 31: CAN BUS 發展及基本 應用

27

第三章  T89C51CC01介紹3.1 基本架構與特性

2 Bytes 快閃 Bootloader3 個 16-bit 定時/計時器14 個中斷源, 4 個中段優先級全雙工傳輸5 個周邊埠: 32+2 條的數位 I/O引線5 個 16-bit PCA 通道8-bit 脈波寬度調變 (PWM) 與高速輸出

Page 32: CAN BUS 發展及基本 應用

28

第三章  T89C51CC01介紹3.1 基本架構與特性

雙資料指標器21-bit 看門狗計時器8 個 10-bit ADC 多通道輸入CAN 控制器

Page 33: CAN BUS 發展及基本 應用

29

第三章  T89C51CC01介紹3.1 基本架構與特性

圖 4 T89C51CC01硬體架構示意圖

Page 34: CAN BUS 發展及基本 應用

30

第三章  T89C51CC01介紹3.1 基本架構與特性

PLCC44重要接腳說明:VSS:電路接地VCC:電壓提供XTAL1:輸入震盪器XTAL2:輸出震盪器埠 0: 8-bit I/O 埠埠 1: 8-bit I/O 埠並支援 ADC

Page 35: CAN BUS 發展及基本 應用

31

第三章  T89C51CC01介紹3.1 基本架構與特性

埠 2: 8-bit I/O 埠埠 3: 8-bit I/O 埠和一些特殊功能 (P3.0 和 P3.1 可作為信號

輸入和輸出 )

埠 4: 2-bit I/O 埠, CAN 應用的輸入與輸出VAREF: ADC 輸入的參考電壓VAGND: ADC 的接地Reset:重置裝置ALE:負責將存取到外部記憶體的低位址閂鎖住

Page 36: CAN BUS 發展及基本 應用

32

第三章  T89C51CC01介紹3.1 基本架構與特性

PSEN:使外部程式記憶體的匯流排致能EA:接高電位時, CPU讀取內部記憶體 ;;接低電位時,CPU讀取外部程式記憶體儲存位址

Page 37: CAN BUS 發展及基本 應用

33

第三章  T89C51CC01介紹3.1 基本架構與特性

圖 5 T89C51CC01 PLCC-44pin 包裝接腳示意圖

Page 38: CAN BUS 發展及基本 應用

34

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

KEIL µVISION 是眾多單片機應用開發軟件中最優秀的軟件之一,它支持眾多不同公司的 MCS51 架構的芯片,甚至ARM ,它集編輯,編譯,仿真等於一體,它的界面和常用的微軟 VC++ 的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。

Page 39: CAN BUS 發展及基本 應用

35

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 6 新建立 "MyKuV" 資料夾

Page 40: CAN BUS 發展及基本 應用

36

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖7 Keil C µVision4啟動圖示與頁面

Page 41: CAN BUS 發展及基本 應用

37

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 8 新建專案選單位置操作示意圖

Page 42: CAN BUS 發展及基本 應用

38

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 9 新建專案存檔位置操作示意圖

Page 43: CAN BUS 發展及基本 應用

39

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 10 T89C51CC01選項

Page 44: CAN BUS 發展及基本 應用

40

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 11 新建文本操作示意圖

Page 45: CAN BUS 發展及基本 應用

41

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 12 C語言編譯操作示意圖

Page 46: CAN BUS 發展及基本 應用

42

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 13 儲存文本操作示意圖

Page 47: CAN BUS 發展及基本 應用

43

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 14 加入專案操作示意圖

Page 48: CAN BUS 發展及基本 應用

44

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 15 設置晶振操作示意圖

Page 49: CAN BUS 發展及基本 應用

45

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 16 設置自行產生 HEX 文件操作示意圖

Page 50: CAN BUS 發展及基本 應用

46

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 16 編譯產生 HEX 文件操作示意圖

Page 51: CAN BUS 發展及基本 應用

47

第四章 軟體開發工具組4. 2 Atmel FLIP 燒錄應用程式概述與基本操作

FLIP(FLexible In-system Programmer) 是可執行於Windows 作業系統的一種燒錄程式。可透過 RS232 , USB或 CAN 介面來實現 Flash 裝置的燒錄功能。

Page 52: CAN BUS 發展及基本 應用

48

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 1 7 Atmel FLIP 燒錄應用程式啟動圖示與頁面

Page 53: CAN BUS 發展及基本 應用

49

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 18 Preferences 操作示意圖

Page 54: CAN BUS 發展及基本 應用

50

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 19 More>> 按鈕位置示意圖

Page 55: CAN BUS 發展及基本 應用

51

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 20 RST 與 PSEN接腳設定操作示意圖

Page 56: CAN BUS 發展及基本 應用

52

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 21 Device Selector 操作示意圖

Page 57: CAN BUS 發展及基本 應用

53

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 22 使用 RS232連接操作示意圖

Page 58: CAN BUS 發展及基本 應用

54

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 23 文件選擇操作示意圖

Page 59: CAN BUS 發展及基本 應用

55

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 24 X2 模式選擇操作示意圖

Page 60: CAN BUS 發展及基本 應用

56

第四章 軟體開發工具組4.1 Keil C µVision4 概述與基本操作

圖 24 Start Application 按鈕位置示意圖

Page 61: CAN BUS 發展及基本 應用

II

參考資料許永和,第 4C- 車載通訊電子網路之 CAN/LIN 匯流排設計

與應用 (初版 ) 。台北市:儒林, 2010.12