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