內容簡介
CAN總綫嵌入式開發—從入門到實戰(第2版)
CAN總綫通信技術廣泛應用於工業自動化、汽車電子、樓宇建築、醫療器械、電梯網絡、工程機械等行業,市場每年對該類控製産品需求量巨大。本書從目前幾種流行的CAN通信控製電路的器件入手,結閤CAN總綫通信學習闆,詳細介紹瞭CAN總綫嵌入式應用開發技術。
本書內容主要包括CAN控製器和單片機的接口技術、CAN總綫在A/D采集控製闆傳輸中的應用、支持片上CANopen協議的LPC11Cxx係列微控製器的CAN應用設計及CAN總綫在酒店客房智能化係統中的工程應用。每一種實例都從方案論證、硬件電路設計、軟件程序設計方麵進行庖丁解牛式的論述,並且書中所有硬件電路均製作齣電路闆,所有程序均在電路闆上調試運行通過。本書是再版書,相比第1版,本書更正瞭一些錯誤,並增加瞭部分內容。
本書旨在為廣大嵌入式CAN總綫通信技術的研發者提供實戰化的軟、硬件技術參考,書中的電路圖和源程序可以直接拿來參考運用,大大提高瞭工程師的工作效率。
目錄
第1章 CAN 總綫基礎知識………………………………………………………… 1
1.1 CAN 總綫簡介………………………………………………………………… 1
1.2 CAN 總綫基本工作原理……………………………………………………… 2
1.3 CAN 的標準格式和擴展格式………………………………………………… 3
1.4 CAN 的節點硬件構成………………………………………………………… 3
1.5 CAN 控製器…………………………………………………………………… 4
1.6 CAN 收發器…………………………………………………………………… 5
1.7 CAN 總綫接口電路保護器件………………………………………………… 6
1.7.1 共模扼流圈……………………………………………………………… 6
1.7.2 ESD防護………………………………………………………………… 7
1.7.3 CAN 總綫網絡保護……………………………………………………… 7
1.8 CAN 總綫通信過程…………………………………………………………… 8
1.9 CAN 總綫控製器芯片濾波器的作用………………………………………… 9
1.10 CAN 總綫的報文格式……………………………………………………… 10
1.10.1 數據幀………………………………………………………………… 10
1.10.2 遠程幀………………………………………………………………… 13
1.10.3 錯誤幀………………………………………………………………… 14
1.10.4 過載幀………………………………………………………………… 15
1.10.5 幀間空間……………………………………………………………… 16
1.11 振蕩器容差………………………………………………………………… 17
1.12 位定時要求………………………………………………………………… 17
1.13 同 步……………………………………………………………………… 18
1.14 位流編碼及位填充………………………………………………………… 19
1.15 CAN 總綫錯誤處理………………………………………………………… 20
1.15.1 錯誤類型……………………………………………………………… 20
1.15.2 錯誤標誌……………………………………………………………… 20
1.16 故障界定…………………………………………………………………… 21
1.16.1 故障界定的方法……………………………………………………… 21
1.16.2 錯誤計數規則………………………………………………………… 21
1.16.3 錯誤標記及錯誤中斷類型…………………………………………… 22
1.17 CAN 網絡與節點的總綫拓撲結構………………………………………… 23
1.17.1 總綫結構拓撲………………………………………………………… 23
1.17.2 CAN 總綫通信距離…………………………………………………… 24
1.17.3 CAN 中繼器…………………………………………………………… 25
1.17.4 CAN 網橋……………………………………………………………… 27
1.17.5 CAN 集綫器…………………………………………………………… 28
1.17.6 CAN 網關……………………………………………………………… 28
1.18 CAN 總綫傳輸介質………………………………………………………… 29
1.18.1 雙絞綫………………………………………………………………… 29
1.18.2 光 縴………………………………………………………………… 33
1.19 改善電磁兼容性的措施…………………………………………………… 34
1.19.1 增加電阻值抑製共模乾擾…………………………………………… 34
1.19.2 分開的總綫終端……………………………………………………… 35
1.19.3 斜率控製……………………………………………………………… 35
1.20 CAN 網絡的實時性能及通信波特率的設置……………………………… 36
1.20.1 網絡延時……………………………………………………………… 36
1.20.2 CAN 網絡通信速率選擇……………………………………………… 37
1.20.3 CAN 網絡通信速率的一緻性………………………………………… 38
1.21 CAN 總綫節點設備的電源………………………………………………… 40
第2章 CAN 控製器SJA1000與8051係列單片機接口設計…………………… 44
2.1 CAN 控製器SJA1000 ……………………………………………………… 44
2.1.1 SJA1000引腳排列及其功能…………………………………………… 44
2.1.2 BasicCAN 模式下內部寄存器地址錶………………………………… 47
2.1.3 PeliCAN 模式下內部寄存器地址錶………………………………… 48
2.1.4 BasicCAN 和PeliCAN 模式的區彆…………………………………… 50
2.1.5 8051係列單片機控製SJA1000的方式……………………………… 50
2.1.6 SJA1000的濾波器設置………………………………………………… 51
2.1.7 CAN 總綫通信波特率的計算………………………………………… 56
2.1.8 SJA1000初始化流程…………………………………………………… 58
2.2 CAN 總綫驅動器…………………………………………………………… 59
2.2.1 TJA1040概述………………………………………………………… 59
2.2.2 TJA1040功能………………………………………………………… 60
2.3 CAN 總綫DC/DC光電隔離技術………………………………………… 61
2.3.1 DC/DC電源隔離模塊………………………………………………… 61
2.3.2 高速光耦6N137 ……………………………………………………… 64
2.4 51係列單片機CAN 總綫學習闆實物圖…………………………………… 64
2.5 51係列單片機CAN 總綫學習闆硬件電路設計…………………………… 66
2.5.1 電路原理圖……………………………………………………………… 66
2.5.2 SJA1000晶振的電路設計……………………………………………… 71
2.6 雙節點CAN 總綫通信……………………………………………………… 73
2.6.1 程序流程框圖設計……………………………………………………… 74
2.6.2 SJA1000的硬件接口地址定義………………………………………… 75
2.6.3 程序頭文件定義說明…………………………………………………… 76
2.6.4 子函數詳解……………………………………………………………… 80
2.6.5 完整的CAN 總綫學習闆發送源程序………………………………… 89
2.6.6 完整的CAN 總綫學習闆CAN 轉232串口源程序………………… 95
2.6.7 STC89C52單片機串口下載程序…………………………………… 102
2.7 多節點CAN 總綫係統的程序設計……………………………………… 104
2.7.1 多節點CAN 總綫係統的連接……………………………………… 104
2.7.2 多節點CAN 總綫係統地址的定義及功能實現…………………… 105
2.7.3 多節點CAN 總綫係統通信數據含義……………………………… 105
2.7.4 多節點CAN 總綫係統程序流程圖………………………………… 107
2.7.5 多節點CAN 總綫通信中的從節點源程序………………………… 108
2.8 CAN 總綫地址設置詳解…………………………………………………… 113
2.8.1 BasicCAN 的ID設置方法…………………………………………… 113
2.8.2 PeliCAN 的ID設置方法…………………………………………… 113
第3章 CAN 控製器MCP2515與8051係列單片機接口設計………………… 115
3.1 CAN 控製器MCP2515 …………………………………………………… 115
3.1.1 MCP2515概述………………………………………………………… 115
3.1.2 MCP2515的內部寄存器……………………………………………… 118
3.1.3 8051係列單片機怎樣控製MCP2515 ……………………………… 119
3.2 CAN 總綫學習闆(MCP2515)實物圖…………………………………… 119
3.3 CAN 總綫學習闆(MCP2515)硬件電路設計…………………………… 120
3.3.1 電路原理圖…………………………………………………………… 120
3.3.2 晶振的選擇及CAN 通信波特率的計算…………………………… 125
3.4 雙節點通信係統的程序設計……………………………………………… 127
3.4.1 程序頭文件定義說明………………………………………………… 127
3.4.2 子函數詳解…………………………………………………………… 132
3.4.3 完整的CAN 總綫學習闆發送源程序……………………………… 140
3.4.4 完整的CAN 總綫學習闆CAN 轉232串口源程序………………… 144
3.5 芯片SJA1000和MCP2515在濾波器設置時的區彆…………………… 147
第4章 CAN 總綫在A/D 采集控製闆傳輸中的應用…………………………… 149
4.1 ADμC812單片機簡介……………………………………………………… 149
4.1.1 ADμC812單片機主要性能及引腳說明……………………………… 149
4.1.2 ADμC812單片機8路12位ADC簡介…………………………… 151
4.1.3 ADμC812單片機ADC基準電壓…………………………………… 151
4.1.4 ADμC812單片機ADC的輸入驅動………………………………… 153
4.1.5 ADμC812單片機ADC工作模式…………………………………… 155
4.2 帶有CAN 總綫的A/D采集控製闆實物圖……………………………… 157
4.3 係統硬件電路設計………………………………………………………… 158
4.3.1 電路原理圖…………………………………………………………… 158
4.3.2 采集信號的調理……………………………………………………… 163
4.4 係統程序設計……………………………………………………………… 164
4.4.1 流程圖………………………………………………………………… 164
4.4.2 子函數詳解…………………………………………………………… 165
4.4.3 控製源程序…………………………………………………………… 165
4.4.4 ADμC812單片機CAN 總綫學習闆串口下載程序………………… 173
4.5 帶有Flash存儲器的CAN 總綫采集控製電路………………………… 176
4.5.1 28F320J5存儲器簡介………………………………………………… 176
4.5.2 存儲器芯片與單片機CPU 工作速度匹配問題…………………… 179
4.5.3 單片機與28F320J5的連接………………………………………… 179
4.5.4 ADμC812單片機構成的帶有存儲功能的振動測量控製闆………… 179
第5章 基於LPC11Cxx係列微控製器的CAN 應用設計……………………… 198
5.1 LPC11Cxx係列微控製器………………………………………………… 198
5.1.1 簡 介………………………………………………………………… 198
5.1.2 器件信息……………………………………………………………… 198
5.1.3 功能介紹……………………………………………………………… 199
5.1.4 引腳描述……………………………………………………………… 199
5.2 CAN 寄存器………………………………………………………………… 200
5.2.1 CAN 寄存器匯總……………………………………………………… 202
5.2.2 報文接口寄存器……………………………………………………… 207
5.2.3 報文處理程序寄存器………………………………………………… 216
5.2.4 CAN 時鍾分頻器寄存器……………………………………………… 219
5.3 LPC11Cxx係列微控製器的片上CAN 控製器的結構………………… 219
5.4 基於微控製器和非隔離CAN 收發器的電路…………………………… 220
5.4.1 器件簡介……………………………………………………………… 220
5.4.2 接口電路設計………………………………………………………… 221
5.5 基於微控製器和隔離CAN 收發器的電路……………………………… 222
5.5.1 器件簡介……………………………………………………………… 222
5.5.2 接口電路設計………………………………………………………… 223
5.6 無須擴展外部CAN 控製器與CAN 收發器的CAN 接口電路………… 223
5.7 基於通用驅動庫的CAN 應用編程……………………………………… 224
5.7.1 通用驅動庫簡介……………………………………………………… 224
5.7.2 CAN 應用編程流程…………………………………………………… 270
5.7.3 編程解決方案………………………………………………………… 271
5.8 應用示例———RS 232C/CAN 總綫轉換器……………………………… 293
5.8.1 示例簡介……………………………………………………………… 293
5.8.2 工具介紹……………………………………………………………… 294
5.8.3 實現原理……………………………………………………………… 301
5.8.4 演示步驟……………………………………………………………… 301
5.9 程序編寫…………………………………………………………………… 304
5.9.1 宏配置………………………………………………………………… 304
5.9.2 變量定義……………………………………………………………… 305
5.9.3 主程序………………………………………………………………… 305
5.9.4 程序分解……………………………………………………………… 308
5.10 示例運行…………………………………………………………………… 311
5.10.1 配置上位機軟件……………………………………………………… 311
5.10.2 運行示例程序………………………………………………………… 312
第6章 CAN 總綫在酒店客房智能化係統中的應用…………………………… 316
6.1 功能要求及方案論證……………………………………………………… 316
6.1.1 控製說明……………………………………………………………… 317
6.1.2 網絡結構……………………………………………………………… 319
6.1.3 硬件成本……………………………………………………………… 320
6.1.4 通信協議及CAN 地址分配………………………………………… 322
6.2 客房終端…………………………………………………………………… 322
6.3 客房終端硬件電路設計…………………………………………………… 323
6.3.1 電源部分電路設計…………………………………………………… 323
6.3.2 多按鍵中斷資源設計………………………………………………… 324
6.3.3 多繼電器驅動電路設計……………………………………………… 325
6.3.4 燈具調光電路設計…………………………………………………… 326
6.3.5 CAN 總綫通信電路設計……………………………………………… 326
6.4 軟件設計…………………………………………………………………… 328
6.4.1 程序流程圖…………………………………………………………… 328
6.4.2 SJA1000控製器CAN 字節協議…………………………………… 328
6.4.3 客房終端源程序……………………………………………………… 330
6.4.4 CAN 總綫控製模塊…………………………………………………… 345
6.4.5 CAN 總綫控製模塊原理……………………………………………… 346
6.4.6 CAN 總綫控製模塊源程序…………………………………………… 347
參考文獻……………………………………………………………………………… 356
前言/序言
自本書第1版和讀者見麵以來,我們可喜地看到CAN總綫技術在我國各行業的應用越來越廣泛。本書“電路共享、源碼開放”的寫作理念得到讀者的廣泛認可,這一點可以從讀者反饋及當當網的銷售評論中得以見證。
感謝行業內的讀者對該書第一版中的錯誤提齣的寶貴修改建議,本書第2版中已經對其進行瞭更正。應廣大讀者的要求,結閤近幾年的CAN項目工程實踐,本版次中增加瞭改善電磁兼容性的措施、CAN網絡的實時性能及通信波特率設置、CAN總綫節點設備的電源等與工程應用結閤非常緊密的內容。
本書在編寫的過程中,注重代碼程序的完整性,願意和那些注重代碼完整性的讀者交流,研討技術問題。有興趣的讀者可以發送電子郵件,期待和您進一步交流。
作者
2016年3月
CAN 總綫嵌入式開發—從入門到實戰(第2版) 下載 mobi epub pdf txt 電子書