控制器局域網(wǎng)(CAN)是現(xiàn)代汽車網(wǎng)絡(luò)通信與控制系統(tǒng)中的重要組成部分,《汽車CAN總線系統(tǒng)原理、設(shè)計與應(yīng)用》全面、系統(tǒng)地介紹了汽車CAN總線的基本原理、應(yīng)用層協(xié)議制定、系統(tǒng)軟件和硬件設(shè)計,并且通過實例介紹了汽車CAN總線系統(tǒng)的設(shè)計方法。全書共10章,首先介紹了汽車網(wǎng)絡(luò)通信系統(tǒng)的特點,全面闡述了當(dāng)今汽車網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)、類型、應(yīng)用及其發(fā)展趨勢,然后著重對CAN總線通信系統(tǒng)的原理和特點、帶CAN接口的飛思卡爾微控制器、MSCAN的特點和編程、基于XGATE的CAN通信方法、CAN總線的收發(fā)器、CAN總線應(yīng)用中的Bootloader、CAN的標(biāo)定協(xié)議、CAN總線系統(tǒng)設(shè)計流程等幾個方面進(jìn)行了詳細(xì)的論述,最后給出了CAN總線系統(tǒng)設(shè)計、仿真和測試方法。
《汽車CAN總線系統(tǒng)原理、設(shè)計與應(yīng)用》可作為大學(xué)相關(guān)專業(yè)高年級本科生、研究生的教材,同時也是從事汽車電子系統(tǒng)特別是車載網(wǎng)絡(luò)系統(tǒng)研究與開發(fā)人員的參考資料。
《汽車CAN總線系統(tǒng)原理、設(shè)計與應(yīng)用》全面介紹了車載網(wǎng)絡(luò)技術(shù)的現(xiàn)狀,詳細(xì)介紹了CAN總線及SAEJ1939
針對車載CAN總線系統(tǒng)的應(yīng)用設(shè)計進(jìn)行了專門的論述
可作為汽車電子專業(yè)工程師及汽車電子方向?qū)W生的專業(yè)參考書
隨著汽車電子技術(shù)的發(fā)展,汽車上的電子控制單元(ECU)也越來越多,采用能夠滿足多路復(fù)用的總線通信系統(tǒng),可以將各個ECU連接成為一個網(wǎng)絡(luò),以共享的方式傳送數(shù)據(jù)和信息,實現(xiàn)網(wǎng)絡(luò)化的數(shù)字通信與控制功能。因此,基于簡化汽車線束、增強(qiáng)控制功能、提高安全保證、降低燃油消耗、節(jié)約制造成本等多方面的考慮,采用數(shù)字化車載網(wǎng)絡(luò)技術(shù)將會為汽車電子產(chǎn)業(yè)帶來一個巨大的飛躍,而CAN(Controller Area Network)總線是車載網(wǎng)絡(luò)系統(tǒng)中重要的組成部分,目前,它已在汽車動力系統(tǒng)和車身系統(tǒng)的網(wǎng)絡(luò)通信與控制中得到廣泛的應(yīng)用。
CAN即控制器局域網(wǎng),是由德國BOSCH公司提出并在國際上應(yīng)用最廣的現(xiàn)場總線之一。1993年11月國際標(biāo)準(zhǔn)化組織正式頒布了道路交通運(yùn)輸工具-數(shù)據(jù)信息交換-高速通信控制器局域網(wǎng)(CAN)國際標(biāo)準(zhǔn)ISO11898,它為CAN總線在汽車上的標(biāo)準(zhǔn)化、規(guī)范化應(yīng)用鋪平了道路。本書全面、系統(tǒng)地介紹了汽車CAN總線的基本原理、應(yīng)用層協(xié)議制定、系統(tǒng)軟件和硬件設(shè)計、基于CAN的標(biāo)定協(xié)議等內(nèi)容,并且通過實例介紹了汽車CAN總線系統(tǒng)的設(shè)計方法。
美國飛思卡爾半導(dǎo)體有限公司是全球最大的汽車半導(dǎo)體供應(yīng)商,其產(chǎn)品在汽車網(wǎng)絡(luò)技術(shù)應(yīng)用領(lǐng)域具有領(lǐng)先地位。飛思卡爾半導(dǎo)體有限公司能夠提供廣泛的CAN系列產(chǎn)品,包括帶CAN接口的8位/16位/32位微控制器,以及用于高速和低速CAN總線通信的收發(fā)器等。本書在應(yīng)用飛思卡爾公司微控制器的基礎(chǔ)上,對基于MSCAN的CAN通信編程方法、基于XGATE的CAN通信編程方法以及CAN Bootloader的設(shè)計和應(yīng)用等進(jìn)行了詳細(xì)的介紹,這些內(nèi)容將會為汽車CAN總線系統(tǒng)的設(shè)計帶來極大的便利。
全書共10章,其中第1章介紹了汽車網(wǎng)絡(luò)通信系統(tǒng)的特點,全面闡述了當(dāng)今汽車網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)、類型、應(yīng)用及其發(fā)展趨勢;第2章介紹了CAN總線通信系統(tǒng)的基本原理以及時間觸發(fā)CAN總線的特點;第3章介紹了專門用于卡車、大客車等的CAN總線通信協(xié)議SAE J1939的物理層、數(shù)據(jù)鏈路層、應(yīng)用層內(nèi)容,同時概述了故障診斷及網(wǎng)絡(luò)管理的方法;第4~5章介紹了帶CAN接口的飛思卡爾微控制器以及MSCAN的特點、結(jié)構(gòu)和功能,詳細(xì)介紹了基于MSCAN的CAN通信編程方法;第6章針對飛思卡爾新一代的16位微處理器系列S12X(E)的協(xié)處理器XGATE的特點,介紹了基于XGATE的CAN通信編程方法;第7章介紹了用于CAN總線通信的收發(fā)器原理及應(yīng)用;第8章介紹CAN總線應(yīng)用中的Bootloader,并基于飛思卡爾16位微控制器和MSCAN模塊給出一個S12系列通用的CAN Bootloader制作和應(yīng)用的實例;第9章對基于CAN總線的標(biāo)定協(xié)議進(jìn)行了詳細(xì)的介紹并給出了應(yīng)用實例;第10章介紹了汽車CAN總線系統(tǒng)設(shè)計的流程,并以車身控制系統(tǒng)為例介紹了汽車CAN總線系統(tǒng)設(shè)計、仿真和測試方法。
同濟(jì)大學(xué)汽車學(xué)院是我國最早從事汽車網(wǎng)絡(luò)技術(shù)研發(fā)的科研機(jī)構(gòu)之一,經(jīng)過十余年的努力,目前已具備了國際一流的汽車網(wǎng)絡(luò)系統(tǒng)開發(fā)手段,在汽車CAN、LIN、FlexRay等網(wǎng)絡(luò)技術(shù)研發(fā)方面取得了很大的成績,研發(fā)工作包括汽車網(wǎng)絡(luò)系統(tǒng)設(shè)計、仿真、測試和標(biāo)定等內(nèi)容。同時,我們與國際同行保持著密切的交流及合作,作者曾在德國Wolfhard Lawrenz教授(CAN命名者)所主持的C&S Group進(jìn)行了為期一年的訪問研究,對于國際上的研發(fā)水平有著全面的了解。我們已與美國飛思卡爾半導(dǎo)體有限公司(Freescale Semiconductor)合作成立了“同濟(jì)大學(xué)飛思卡爾汽車電子聯(lián)合實驗室”、與美國明導(dǎo)公司(Mentor Graphics)合作成立了“同濟(jì)大學(xué)-明導(dǎo)汽車電子系統(tǒng)設(shè)計聯(lián)合實驗室暨技術(shù)培訓(xùn)中心”、與德國宜爾公司(IHR GmbH)成立了“同濟(jì)大學(xué)汽車學(xué)院-德國宜爾公司車載網(wǎng)絡(luò)技術(shù)聯(lián)合實驗室”。這些交流與合作對于我們在汽車網(wǎng)絡(luò)技術(shù)領(lǐng)域保持領(lǐng)先地位具有重要意義。本書是作者多年來從事汽車CAN總線系統(tǒng)研發(fā)工作的積累,希望能夠?qū)ξ覈嚲W(wǎng)絡(luò)系統(tǒng)設(shè)計人員提供支持和幫助。
本書除封面署名作者外,還有同濟(jì)大學(xué)汽車學(xué)院研究生劉矗、莫莽、李仁俊、陳杰、莊桂寶、張瓊琰、丁圣彥等協(xié)助書稿整理和程序調(diào)試工作,對于他們卓有成效的工作在此表示感謝。
飛思卡爾半導(dǎo)體有限公司的馬莉女士、康曉敦先生長期以來一直支持同濟(jì)大學(xué)-飛思卡爾汽車電子聯(lián)合實驗室的工作,本書的撰寫也得到了他們及飛思卡爾半導(dǎo)體有限公司許多技術(shù)人員的大力支持。明導(dǎo)公司的姚振新先生、董因平博士也為本書提供了許多技術(shù)資料。電子工業(yè)出版社的編輯高買花女士、田宏峰先生為本書的出版做了大量細(xì)致的工作。在此一并表示誠摯的謝意。
由于時間關(guān)系,本書暫未對基于CAN的故障診斷協(xié)議以及一致性測試等關(guān)鍵技術(shù)進(jìn)行介紹,如有可能將在再版時添加。書中若有疏漏和錯誤之處,懇請讀者批評指正,并提出寶貴的意見和建議。
收起全部↑
第1章 緒論
1.1 汽車電子技術(shù)
1.1.1 現(xiàn)代汽車電子技術(shù)的發(fā)展階段
1.1.2 汽車電子系統(tǒng)的基本構(gòu)成
1.1.3 汽車電子系統(tǒng)網(wǎng)絡(luò)化
1.2 計算機(jī)網(wǎng)絡(luò)
1.2.1 計算機(jī)網(wǎng)絡(luò)概述
1.2.2 計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)
1.2.3 局域網(wǎng)
1.3 車載網(wǎng)絡(luò)通信及現(xiàn)場總線
1.3.1 車載網(wǎng)絡(luò)信號的編碼方式
1.3.2 車載網(wǎng)絡(luò)的介質(zhì)訪問控制方式
1.3.3 現(xiàn)場總線
1.4 現(xiàn)代汽車電子網(wǎng)絡(luò)系統(tǒng)
1.4.1 汽車網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)
1.4.2 汽車總線系統(tǒng)
第2章 CAN總線基本原理
2.1 CAN總線在汽車網(wǎng)絡(luò)上的應(yīng)用
2.2 CAN總線的基本特點
2.3 CAN的分層結(jié)構(gòu)及功能
2.4 CAN的消息幀
2.5 非破壞性按位仲裁
2.6 位填充
2.7 CRC校驗
2.8 遠(yuǎn)程幀
2.9 出錯幀
2.10 超載幀的規(guī)格
2.11 幀間空間
2.12 CAN物理層
2.12.1 物理層的功能模型
2.12.2 物理信令(PLS)子層規(guī)范
2.12.3 物理介質(zhì)附件子層規(guī)范
2.13 故障界定與總線管理
2.13.1 故障界定
2.13.2 故障界定規(guī)則
2.13.3 總線故障管理
2.14 基于時間觸發(fā)的TTCAN
2.14.1 基于CAN的時間觸發(fā)通信
2.14.2 參考時間與參考消息
2.14.3 基本循環(huán)
2.14.4 基本循環(huán)及其時間窗
2.14.5 系統(tǒng)矩陣
2.14.6 利用時間標(biāo)志進(jìn)行消息的發(fā)送和接收
2.14.7 全局系統(tǒng)時間
2.14.8 TTCAN的容錯功能
2.14.9 TTCAN的應(yīng)用
第3章 SAE J1939協(xié)議
3.1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
3.2 物理層簡介
3.3 數(shù)據(jù)鏈路層
3.3.1 消息
3.3.2 協(xié)議數(shù)據(jù)單元
3.3.3 協(xié)議數(shù)據(jù)單元格式
3.3.4 消息類型
3.3.5 源地址和參數(shù)群編號的分配過程
3.3.6 傳輸協(xié)議功能
3.3.7 應(yīng)注意的問題
3.4 應(yīng)用層
3.4.1 通信參數(shù)定義
3.4.2 發(fā)動機(jī)通信與控制參數(shù)
3.5 故障診斷
3.5.1 診斷故障代碼定義
3.5.2 故障診斷狀態(tài)燈
3.5.3 故障模式標(biāo)志FMI
3.5.4 診斷故障代碼簡介
3.6 網(wǎng)絡(luò)管理
3.6.1 SAE J1939通信方式
3.6.2 電控單元(ECU)的名稱和地址
3.6.3 節(jié)點地址分配
第4章 飛思卡爾微控制器與MSCAN
4.1 飛思卡爾微控制器
4.1.1 飛思卡爾8位微控制器MC9S08DZ60
4.1.2 飛思卡爾16位微控制器MC9S12XEP100
4.2 飛思卡爾的MSCAN模塊
4.2.1 MSCAN模塊的特性
4.2.2 MSCAN模塊的結(jié)構(gòu)
4.2.3 MSCAN模塊相關(guān)的寄存器介紹
4.2.4 MSCAN模塊的報文存儲模式
4.3 MSCAN模塊的功能描述
4.3.1 報文存儲
4.3.2 報文發(fā)送基礎(chǔ)
4.3.3 發(fā)送結(jié)構(gòu)
4.3.4 接收結(jié)構(gòu)
4.3.5 標(biāo)識符接收濾波器
4.3.6 標(biāo)識符接收濾波器示例
4.3.7 協(xié)議違反保護(hù)
4.3.8 時鐘系統(tǒng)
4.3.9 MSCAN的運(yùn)行模式
4.3.10 MSCAN的低功耗選項
4.3.11 MSCAN的休眠模式
4.3.12 MSCAN的初始化模式
4.3.13 MSCAN的斷電模式
4.3.14 MSCAN的可編程喚醒功能
4.3.15 MSCAN的中斷
4.3.16 MSCAN的初始化過程
4.3.17 總線脫離恢復(fù)
第5章 MSCAN模塊的編程
5.1 CodeWarrior軟件的下載和安裝
5.2 CodeWarrior軟件的使用和調(diào)試方法
5.2.1 工程的建立
5.2.2 程序的編制和調(diào)試
5.3 MSCAN初始化程序的編寫
5.3.1 MSCAN初始化流程
5.3.2 MSCAN模塊初始化例程
5.3.3 完整的MSCAN模塊初始化代碼
5.3.4 MSCAN監(jiān)聽與環(huán)路模式的應(yīng)用
5.4 MSCAN發(fā)送程序編寫
5.4.1 MSCAN的發(fā)送流程
5.4.2 MSCAN報文發(fā)送例程
5.5 MSCAN接收程序的編寫
5.5.1 MSCAN接收流程
5.5.2 查詢方式接收CAN幀例程
5.5.3 中斷方式接收CAN幀例程
5.6 MSCAN的低功耗應(yīng)用
5.6.1 低功耗模式介紹
5.6.2 進(jìn)入低功耗模式
5.6.3 MSCAN喚醒
5.7 使用Processor Expert對MSCAN模塊進(jìn)行編程
5.7.1 帶Processor Expert工程的建立
5.7.2 Processor Expert中代碼的編寫
5.7.3 Processor Expert幫助文檔的使用
第6章 基于XGATE模塊的CAN通信
6.1 XGATE基本特性
6.1.1 精簡指令集內(nèi)核
6.1.2 XGATE指令集
6.1.3 XGATE訪問空間
6.1.4 事件驅(qū)動XGATE線程
6.1.5 互斥信號量
6.2 XGATE的中斷
6.2.1 中斷向量表
6.2.2 XGATE與CPU12X的相互中斷
6.2.3 中斷嵌套
6.3 使用及初始化XGATE
6.3.1 帶XGATE的CodeWarrior工程建立
6.3.2 XGATE的啟動及初始化過程
6.3.3 XGATE的使用例程
6.3.4 使用XGATE模塊處理CAN接收中斷
6.3.5 使用XGATE模塊實現(xiàn)CAN幀的發(fā)送與接收
第7章 CAN總線收發(fā)器
7.1 Freescale低速CAN收發(fā)器MC33388
7.1.1 MC33388結(jié)構(gòu)說明
7.1.2 MC33388功能描述
7.1.3 MC33388典型應(yīng)用
7.2 Freescale高速CAN收發(fā)器MC33989
7.2.1 MC33989結(jié)構(gòu)說明
7.2.2 MC33989功能描述
7.2.3 MC33989操作模式
7.3 Philips的CAN收發(fā)器PCA82C250
7.3.1 PCA82C250特性
7.3.2 封裝及引腳
7.3.3 工作模式
7.3.4 應(yīng)用舉例
第8章 CAN Bootloader的實現(xiàn)與應(yīng)用
8.1 CAN Bootloader介紹
8.1.1 Bootloader
8.1.2 CAN Bootloader
8.2 S12系列微控制器Flash介紹
8.2.1 存儲介質(zhì)
8.2.2 Flash的操作方式
8.2.3 與Flash擦寫相關(guān)的寄存器介紹
8.2.4 Flash擦除與寫入步驟
8.3 下載文件格式介紹
8.3.1 S記錄格式的結(jié)構(gòu)與類型
8.3.2 S記錄格式在程序下載中的應(yīng)用
8.4 S12系列微控制器通用CAN Bootloader的編寫
8.4.1 CAN Bootloader功能描述
8.4.2 Flash Bootloader注意事項
8.4.3 CAN Bootloader流程
8.4.4 CAN Bootloader程序分析
8.4.5 S12 CAN Bootloader程序清單
8.5 CAN Bootloader的使用
第9章 基于CAN總線的標(biāo)定協(xié)議
9.1 ASAP標(biāo)準(zhǔn)及ASAM標(biāo)準(zhǔn)組織介紹
9.1.1 ASAP標(biāo)準(zhǔn)概述
9.1.2 ASAM標(biāo)準(zhǔn)組織及其規(guī)范
9.2 CCP協(xié)議介紹
9.2.1 CCP通信方式
9.2.2 CCP消息格式
9.2.3 DAQ模式下的數(shù)據(jù)通信
9.2.4 CCP命令代碼簡介
9.2.5 ERR代碼列表
9.2.6 預(yù)期運(yùn)行性能
9.3 CCP命令
9.3.1 連接命令(CONNECT)
9.3.2 交換站標(biāo)識符(EXCHANGE_ID)
9.3.3 申請密鑰(GET_SEED)
9.3.4 解除保護(hù)(UNLOCK)
9.3.5 設(shè)置MTA地址(SET_MTA)
9.3.6 數(shù)據(jù)下載(DNLOAD)
9.3.7 6字節(jié)數(shù)據(jù)下載(DNLOAD_6)
9.3.8 數(shù)據(jù)上傳(UPLOAD)
9.3.9 數(shù)據(jù)短上傳(SHORT_UP)
9.3.10 選擇標(biāo)定數(shù)據(jù)頁(SELECT_CAL_PAGE)
9.3.11 獲取DAQ列表大。℅ET_DAQ_SIZE)
9.3.12 設(shè)置DAQ列表指針(SET_DAQ_PTR)
9.3.13 寫入DAQ列表(WRITE_DAQ)
9.3.14 開始
9.3.15 斷開(DISCONNECT)
9.3.16 設(shè)置當(dāng)前通信狀態(tài)(SET_S_STATUS)
9.3.17 獲取當(dāng)前通信狀態(tài)(GET_S_STATUS)
9.3.18 建立checksum表(BUILD_CHKSUM)
9.3.19 清空內(nèi)存(CLEAR_MEMORY)
9.3.20 編程(PROGRAM)
9.3.21 6字節(jié)數(shù)據(jù)編程(PROGRAM_6)
9.3.22 內(nèi)存轉(zhuǎn)移(MOVE)
9.3.23 診斷服務(wù)(DIAG_SERVICE)
9.3.24 操作服務(wù)(ACTION_SERVICE)
9.3.25 連接狀態(tài)測試(TEST)
9.3.26 開始
9.3.27 獲取處于激活狀態(tài)下的標(biāo)定頁(GET_ACTIVE_CAL_PAGE)
9.3.28 獲取CCP協(xié)議版本(GET_CCP_VERSION)
9.4 CCP協(xié)議應(yīng)用實例
9.5 CCP協(xié)議在ECU端的實現(xiàn)
9.5.1 CCP驅(qū)動代碼介紹
9.5.2 ccppar.h頭文件介紹
9.5.3 ccp.c源代碼介紹
9.5.4 ECU側(cè)CCP實現(xiàn)程序流程及源代碼示例
第10章 汽車車身CAN總線系統(tǒng)設(shè)計
10.1 汽車網(wǎng)絡(luò)V型開發(fā)流程
10.2 車身CAN總線系統(tǒng)拓?fù)浣Y(jié)構(gòu)
10.3 網(wǎng)絡(luò)節(jié)點控制功能分析
10.3.1 中央控制器
10.3.2 左前門控制器
10.3.3 右前門控制器
10.3.4 左后門控制器
10.3.5 右后門控制器
10.4 車身網(wǎng)絡(luò)系統(tǒng)通信協(xié)議
10.5 車身控制系統(tǒng)硬件設(shè)計
10.5.1 中央控制器硬件設(shè)計
10.5.2 左前門控制器硬件設(shè)計
10.6 Mentor Graphics的汽車網(wǎng)絡(luò)設(shè)計與測試工具
10.6.1 Volcano 車載網(wǎng)絡(luò)設(shè)計與開發(fā)平臺
10.6.2 VNA在汽車CAN網(wǎng)絡(luò)設(shè)計中的應(yīng)用
10.6.3 Tellus在汽車CAN網(wǎng)絡(luò)測試中的應(yīng)用
參考文獻(xiàn)
現(xiàn)代汽車電子技術(shù)的發(fā)展大致經(jīng)歷了以下幾個階段。
電子管時代:20世紀(jì)50年代,人們開始在汽車上安裝電子管收音機(jī),這是電子技術(shù)在汽車上應(yīng)用的雛形。1959年晶體管收音機(jī)問世后,很快在汽車上得到了應(yīng)用。
晶體管時代:20世紀(jì)60年代,汽車上應(yīng)用了硅整流交流發(fā)電機(jī)和晶體管調(diào)節(jié)器,到60年代中期,利用晶體管的放大和開關(guān)原理,開始在汽車上采用晶體管電壓調(diào)節(jié)器和晶體管點火裝置。但電子技術(shù)更多地應(yīng)用在汽車上是20世紀(jì)70年代以后,主要是為了解決汽車的安全、節(jié)能和環(huán)保三大問題。進(jìn)入70年代后期,電子工業(yè)有了長足的發(fā)展,特別是集成電路、大規(guī)模集成電路和超大規(guī)模集成電路技術(shù)的飛速發(fā)展,使得微控制器在汽車上得到廣泛的應(yīng)用,給汽車工業(yè)帶來了劃時代的變革。
集成電路時代:20世紀(jì)90年代,汽車電子進(jìn)入了其發(fā)展的第三個階段,這是對汽車工業(yè)的發(fā)展最有價值、最有貢獻(xiàn)的階段。集成電路技術(shù)所取得的巨大成就使汽車電子前進(jìn)了一步,更加先進(jìn)的微控制器使汽車具有智能,能進(jìn)行控制決策。這樣不僅在節(jié)能、排放和安全等方面提高了汽車的性能,同時也提高了汽車的舒適性。
網(wǎng)絡(luò)化綜合技術(shù)時代:目前汽車技術(shù)已發(fā)展到第四代,即包括電子技術(shù)、計算機(jī)技術(shù)、綜合控制技術(shù)、智能傳感器技術(shù)等先進(jìn)汽車電子技術(shù)。以微控制器為核心的汽車電子控制單元已不再是通過傳統(tǒng)的線束連接起來的,而是通過汽車電子網(wǎng)絡(luò)系統(tǒng)連接起來的,實現(xiàn)了通信與控制的網(wǎng)絡(luò)化管理。
一些汽車專家認(rèn)為,就像汽車電子技術(shù)在20世紀(jì)70年代引入集成電路、80年代引入微控制器一樣,近十幾年來,數(shù)據(jù)總線技術(shù)的引入也將是汽車電子技術(shù)發(fā)展的一個里程碑。
……