《手把手教你學(xué)CAN總線》以CAN總線的通信實(shí)例和基本實(shí)驗(yàn)為主線,以單片機(jī)、數(shù)據(jù)通信和工業(yè)控制網(wǎng)絡(luò)的基礎(chǔ)知識為出發(fā)點(diǎn),介紹了CAN現(xiàn)場總線的基本概念、CAN節(jié)點(diǎn)的硬件設(shè)計和軟件編程的方法。其立足點(diǎn)是基礎(chǔ)化、實(shí)用化,試圖通過很多實(shí)驗(yàn)實(shí)例的詳細(xì)講解,帶領(lǐng)初學(xué)者能很快掌握CAN總線的基本知識、CAN通信的編程方法和CAN總線系統(tǒng)相關(guān)產(chǎn)品的調(diào)試開發(fā)!妒职咽纸棠銓W(xué)CAN總線》提供的大量源程序可供讀者在開發(fā)產(chǎn)品時直接使用和參考。
《手把手教你學(xué)CAN總線》可作為高等院校自動化、機(jī)電、儀器儀表、自動控制等專業(yè),工業(yè)控制網(wǎng)絡(luò)等相關(guān)課程的教材或教學(xué)參考書,也可供從事工業(yè)控制網(wǎng)絡(luò)系統(tǒng)設(shè)計和產(chǎn)品研發(fā)的工程技術(shù)人員以及廣大電子制作愛好者參考。
現(xiàn)場總線技術(shù)是自動控制領(lǐng)域的后起之秀,具有成本低廉、便于利用現(xiàn)有的數(shù)字化和網(wǎng)絡(luò)技術(shù)的新成果對系統(tǒng)進(jìn)行改造等特點(diǎn),順應(yīng)了當(dāng)今時代數(shù)字化、模塊化、網(wǎng)絡(luò)化的發(fā)展方向。CAN總線是現(xiàn)場總線家族中最具希望的現(xiàn)場總線之一,在汽車行業(yè)、過程工業(yè)、機(jī)械工業(yè)、機(jī)器人和樓宇自動化等領(lǐng)域發(fā)揮著重要作用。對一個剛開始學(xué)習(xí)cAN總線的讀者來說,學(xué)習(xí)的方法和途徑非常重要,如果按現(xiàn)在出版的某些CAN總線書籍去學(xué)習(xí),首先就會被一大堆的新名詞和難懂的通信協(xié)議難住了,甚至還弄不清楚這些協(xié)議的作用。很多人在學(xué)習(xí)中都感覺CAN協(xié)議枯燥無味,因此半途而廢。
這本書是根據(jù)作者多年的實(shí)踐、相關(guān)的課題研究以及一些從事CAN總線開發(fā)的朋友的經(jīng)驗(yàn)專門為cAN總線愛好者編寫的入門級書籍,力求全面地將cAN總線的技術(shù)特點(diǎn)、技術(shù)規(guī)范、應(yīng)用方法等內(nèi)容展示給讀者,采用以操作實(shí)例促進(jìn)理論學(xué)習(xí)的漸進(jìn)方式,力圖將讀者帶入CAN總線的殿堂。
本書提供的實(shí)驗(yàn)實(shí)例簡化了入門難度,使初學(xué)者容易理解,便于硬件實(shí)現(xiàn),同時對掌握CAN總線概念和技術(shù)能起到立竿見影的效果。
初次學(xué)習(xí)CAN總線的讀者,完全可以不按章節(jié)順序閱讀。前3章是學(xué)習(xí)cAN的基礎(chǔ)知識,如果讀者已掌握這部分知識,完全可以跳過。第5章介紹的CAN技術(shù)規(guī)范部分也可放到以后閱讀,只閱讀第5章的小結(jié)部分。暫時了解cAN發(fā)送數(shù)據(jù)的4種幀類型、數(shù)據(jù)幀格式和數(shù)據(jù)幀結(jié)構(gòu),可以直接進(jìn)入后面CAN控制器和CAN實(shí)驗(yàn)部分。讀者邊學(xué)習(xí)邊實(shí)踐,先易后難,循序漸進(jìn);從理論學(xué)習(xí)中獲得知識和概念,從操作實(shí)踐中獲得興趣和理解。
這是一本介紹cAN現(xiàn)場總線開發(fā)與應(yīng)用的入門書籍,適合剛剛進(jìn)入cAN現(xiàn)場總線的開發(fā)人員、對現(xiàn)場總線技術(shù)開發(fā)感興趣的人員、相關(guān)專業(yè)(電子技術(shù)、自動化、工業(yè)控制和計算機(jī)類)的大中專高年級學(xué)生以及研究生閱讀。
第1章 單片機(jī)基礎(chǔ)知識
1.1 單片機(jī)概述
1.1.1 單片機(jī)的發(fā)展
1.1.2 單片機(jī)的發(fā)展趨勢
1.1.3 單片機(jī)的特點(diǎn)
1.1.4 單片機(jī)的分類
1.1.5 單片機(jī)的應(yīng)用
1.2 51系列單片機(jī)的內(nèi)部結(jié)構(gòu)
1.2.1 單片機(jī)內(nèi)部結(jié)構(gòu)
1.2.2 STC89C51RC單片機(jī)內(nèi)部結(jié)構(gòu)特點(diǎn)
1.2.3 51系列單片機(jī)引腳特性
1.3 單片機(jī)存儲器組織
1.3.1 程序存儲器
1.3.2 數(shù)據(jù)存儲器
1.4 單片機(jī)中斷系統(tǒng)
1.4.1 關(guān)于中斷的概念
1.4.2 51單片機(jī)的中斷系統(tǒng)
1.4.3 中斷處理過程
1.4.4 中斷請求的撤除
1.4.5 中斷優(yōu)先控制和中斷嵌套
1.4.6 中斷系統(tǒng)的應(yīng)用
1.5 單片機(jī)定時器/計數(shù)器
1.5.1 定時器/計數(shù)器概述
1.5.2 定時器/計數(shù)器的控制
1.5.3 定時器/計數(shù)器的4種工作方式
1.5.4 定時器/計數(shù)器的應(yīng)用
1.6 單片機(jī)串行接口
1.6.1 51單片機(jī)串行口的結(jié)構(gòu)與控制
1.6.2 51單片機(jī)串行口4種工作方式
1.6.3 51單片機(jī)串行口波特率設(shè)置方法
1.7 單片機(jī)指令系統(tǒng)
1.7.1 指令的格式
1.7.2 尋址方式
1.7.3 51單片機(jī)指令簡介
1.8 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計
1.8.1 單片機(jī)應(yīng)用系統(tǒng)的構(gòu)成方式
1.8.2 單片機(jī)應(yīng)用系統(tǒng)設(shè)計的基本要求
1.8.3 單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計概述
1.8.4 應(yīng)用系統(tǒng)的軟件設(shè)計
本章小結(jié)
思考題
第2章 數(shù)據(jù)通信基礎(chǔ)知識
2.1 數(shù)據(jù)通信的基本概念
2.1.1 基本術(shù)語
2.1.2 通信技術(shù)指標(biāo)
2.2 數(shù)據(jù)通信方式
2.2.1 單片機(jī)串行數(shù)據(jù)通信方式
2.2.2 單片機(jī)串行數(shù)據(jù)通信的同步方式
2.3 數(shù)據(jù)編碼技術(shù)
2.3.1 數(shù)字信號的模擬信號編碼
2.3.2 數(shù)字?jǐn)?shù)據(jù)的數(shù)字信號編碼
2.3.3 模擬數(shù)據(jù)的數(shù)字信號編碼
2.4 數(shù)據(jù)傳輸
2.4.1 基帶傳輸
2.4.2 寬帶傳輸
2.4.3 頻帶傳輸
2.5 多路復(fù)用技術(shù)
2.5.1 頻分多路復(fù)用
2.5.2 時分多路復(fù)用
2.5.3 波分多路復(fù)用
2.5.4 碼分多路復(fù)用
2.6 數(shù)據(jù)交換技術(shù)
2.6.1 電路交換
2.6.2 報文交換
2.6.3 分組交換
2.6.4 高速交換技術(shù)
2.7 傳輸介質(zhì)
2.7.1 同軸電纜
2.7.2 雙絞線
2.7.3 光纖
2.7.4 無線介質(zhì)傳輸
2.7.5傳輸介質(zhì)的選擇
2.8 差錯控制技術(shù)
2.8.1 概述
2.8.2 數(shù)據(jù)通信中的數(shù)據(jù)校驗(yàn)
本章小結(jié)
思考題
第3章 工業(yè)控制網(wǎng)絡(luò)基礎(chǔ)知識
3.1 工業(yè)控制網(wǎng)絡(luò)的發(fā)展
3.2 工業(yè)控制網(wǎng)絡(luò)的特點(diǎn)和分類
3.2.1 工業(yè)控制網(wǎng)絡(luò)的特點(diǎn)
3.2.2 工業(yè)控制網(wǎng)絡(luò)的分類
3.2.3 工業(yè)控制網(wǎng)絡(luò)中傳輸信息的特點(diǎn)
3.2.4 工業(yè)控制網(wǎng)絡(luò)中信息傳輸延遲的因素
3.3 現(xiàn)場總線概述
3.3.1 現(xiàn)場總線的本質(zhì)
3.3.2 現(xiàn)場總線的特點(diǎn)
3.4 通用計算機(jī)網(wǎng)絡(luò)概述
3.4.1 計算機(jī)網(wǎng)絡(luò)的概念和功能
3.4.2 計算機(jī)網(wǎng)絡(luò)的基本組成
3.4.3 計算機(jī)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)
3.4.4 計算機(jī)網(wǎng)絡(luò)的分類
3.5 計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)與協(xié)議
3.5.1 ISO/OSI參考模型
3.5.2 七層協(xié)議的作用
3.6 工業(yè)控制網(wǎng)絡(luò)與普通計算機(jī)網(wǎng)絡(luò)的區(qū)別
3.7 計算機(jī)總線概述
3.7.1 總線的定義
3.7.2 總線的分類
本章小結(jié)
思考題
第4章 CAN實(shí)驗(yàn)設(shè)備和器材使用簡介
4.1 CAN總線簡介
4.1.1 什么是CAN總線
4.1.2 CAN總線的特點(diǎn)
4.1.3 CAN總線與RS-485總線比較
4.2 CAN總線入門的有效途徑
4.3 學(xué)習(xí)CAN總線的知識準(zhǔn)備
4.4 CAN總線實(shí)驗(yàn)的器材和工具
4.4.1 KeilC51集成開發(fā)環(huán)境
4.4.2 串口下載軟件stc-isp-v4.7 9-not-setup.EXE
4.4.3 CPU和CAN模塊實(shí)驗(yàn)板介紹
4.4.4 LED顯示模塊、鍵盤輸入/輸出模塊實(shí)驗(yàn)板
4.4.5 電源電路
本章小結(jié)
思考題
第5章 CAN局域網(wǎng)技術(shù)及其規(guī)范簡介
5.1 CAN的基本概念
5.2 CAN的分層結(jié)構(gòu)
5.3 CAN總線中的邏輯電平
5.4 報文傳送、幀格式和幀類型
5.4.1 報文傳送
5.4.2 CAN總線的幀格式
5.4.3 CAN總線的幀類型
5.4.4 幀格式中各場的作用與實(shí)現(xiàn)
5.5 CAN總線仲裁過程和優(yōu)先級的決定
5.5.1 CAN總線的仲裁過程
5.5.2 位仲裁
5.5.3 數(shù)據(jù)幀和遠(yuǎn)程幀的優(yōu)先級
5.5.4 標(biāo)準(zhǔn)格式和擴(kuò)展格式的優(yōu)先級
5.6 報文重發(fā)與位填充
5.6.1 報文重發(fā)
5.6.2 位填充
5.6.3 發(fā)送節(jié)點(diǎn)的工作
5.6.4 接收節(jié)點(diǎn)的工作
5.7 錯誤幀的種類和錯誤處理
5.7.1 位錯誤
5.7.2 格式錯誤
5.7.3 錯誤幀的輸出
5.7.4 錯誤處理機(jī)制
5.8 位定時與同步
5.8.1 位定時
5.8.2 位同步
5.9 CAN組網(wǎng)
本章小結(jié)
思考題
第6章 CAN總線控制器和驅(qū)動器介紹
第7章 CAN總線智能節(jié)點(diǎn)的設(shè)計
第8章 CAN總線節(jié)點(diǎn)的自發(fā)自收程序設(shè)計實(shí)例
第9章 兩節(jié)點(diǎn)CAN總線通信設(shè)計實(shí)例
第10章 多節(jié)點(diǎn)CAN總線通信設(shè)計實(shí)例
參考文獻(xiàn)
2.數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路可以粗略地理解為數(shù)據(jù)通道。物理層要為終端設(shè)備間的數(shù)據(jù)通信提供傳輸媒體及其連接。媒體是長期的,連接是有生存期的。在連接生存期內(nèi),收發(fā)兩端可以進(jìn)行不等的一次或多次數(shù)據(jù)通信。每次通信都要經(jīng)過建立通信聯(lián)絡(luò)和拆除通信聯(lián)絡(luò)兩過程。這種建立起來的數(shù)據(jù)收發(fā)關(guān)系就叫做數(shù)據(jù)鏈路。而在物理媒體上傳輸?shù)臄?shù)據(jù)難免受到各種不可靠因素的影響而產(chǎn)生差錯,為了彌補(bǔ)物理層上的不足,為上層提供無差錯的數(shù)據(jù)傳輸,就要能對數(shù)據(jù)進(jìn)行檢錯和糾錯。數(shù)據(jù)鏈路的建立、拆除,對數(shù)據(jù)的檢錯、糾錯是數(shù)據(jù)鏈路層的基本任務(wù)。
(1)鏈路層的主要功能
鏈路層是為網(wǎng)絡(luò)層提供數(shù)據(jù)傳送服務(wù)的,這種服務(wù)要依靠本層具備的功能來實(shí)現(xiàn)。鏈路層應(yīng)具備如下功能:
鏈路連接的建立、拆除、分離。
幀定界和幀同步。鏈路層的數(shù)據(jù)傳輸單元是幀,協(xié)議不同,幀的長短和界面也有差別,但無論如何必須對幀進(jìn)行定界。
順序控制,指對幀的收發(fā)順序的控制。
差錯檢測和恢復(fù),還有鏈路標(biāo)志、流量控制等。差錯檢測多用方陣碼校驗(yàn)和循環(huán)碼校驗(yàn)來檢測信道上數(shù)據(jù)的誤碼,而幀丟失等用序號檢測。各種錯誤的恢復(fù)則?糠答佒匕l(fā)技術(shù)來完成。
(2)鏈路層產(chǎn)品
獨(dú)立的鏈路產(chǎn)品中最常見的當(dāng)屬網(wǎng)卡,網(wǎng)橋也是鏈路產(chǎn)品。modem的某些功能有人認(rèn)為屬于鏈路層,對這些還有爭議。數(shù)據(jù)鏈路層將本質(zhì)上不可靠的傳輸媒體變成可靠的傳輸通路提供給網(wǎng)絡(luò)層。在IEEE 802.3 情況下,數(shù)據(jù)鏈路層分成了兩個子層,一個是邏輯鏈路控制,另一個是媒體訪問控制。
3.網(wǎng)絡(luò)層
網(wǎng)絡(luò)層的產(chǎn)生也是網(wǎng)絡(luò)發(fā)展的結(jié)果。在聯(lián)機(jī)系統(tǒng)和線路交換的環(huán)境中,網(wǎng)絡(luò)層的功能沒有太大意義。當(dāng)數(shù)據(jù)終端增多時,它們之間有中繼設(shè)備相連。此時會出現(xiàn)一臺終端要求不只是與唯一的一臺而是能和多臺終端通信的情況,這就是產(chǎn)生了把任意兩臺數(shù)據(jù)終端設(shè)備的數(shù)據(jù)鏈接起來的問題,也就是路由或者叫尋徑。另外,當(dāng)一條物理信道建立之后,被一對用戶使用,往往有許多空閑時間被浪費(fèi)掉。人們自然會希望讓多對用戶共用一條鏈路,為解決這一問題就出現(xiàn)了邏輯信道技術(shù)和虛擬電路技術(shù)。