CAN總線嵌入式開發·從入門到實踐檢視原始碼討論檢視歷史
《CAN總線嵌入式開發·從入門到實踐》,作 者:牛躍聽 等 編,定 價:79,出 版 社:新星出版社,出版日期:2020年08月01日,頁 數:396,裝 幀:平裝,ISBN:9787512432949。
新星出版社(New Star Press)由中國外文出版發行事業局主管主辦。成立於1989年,在此背景下,新星出版社擁有大批專業翻譯隊伍資源和廣泛從事國際文化[1]交流與合作的機會。新星出版社成立以來,以中、英、德、法、俄、阿拉伯、世界語等語言向海外出版發行數千種介紹中國基本情況的外宣圖書和政府白皮書,在海外擁有廣泛影響[2]。
內容簡介
CAN總線通信技術廣泛應用於工業自動化、汽車電子、樓宇建築、醫療器械、電梯網絡、工程機械等行業,市場每年對該類控制產品需求量巨大。本書從目前幾種流行的CAN通信控制電路的器件入手,結合CAN總線通信學習板,詳細介紹了CAN總線嵌入式應用開發技術。本書內容主要包括CAN控制器和單片機的接口技術、CAN總線在A/D採集控制板傳輸中的應用、支持片上CANOpen協議的LPC11Cxx系列微控制器的CAN應用設計及CAN總線在酒店客房智能化系統中的工程應用。每一種實例都從方案論證、硬件電路設計、軟件程序設計方面進行庖丁解牛式的論述,並且書中所有硬件電路均製作出電路板,所有程序均在電路板上調試運行通過。本書是再版書,相比舊版,本書更正了一些錯誤,並增加了部分內容。本書旨在為廣大嵌入式CAN總線通信技術的研發者提供實戰化的軟、硬件技術參考,書中的電路圖和源程序可以直接拿來參考運用,大大提高了工程師的工等
目錄
第1章CAN總線基礎知識1
1.1CAN總線簡介1
1.2CAN總線基本工作原理3
1.3CAN的標準格式和擴展格式4
1.4CAN的節點硬件構成4
1.5CAN控制器5
1.6CAN收發器6
1.7CAN總線接口電路保護器件7
1.7.1共模扼流圈7
1.7.2ESD防護8
1.7.3CAN總線網絡保護8
1.8CAN總線通信過程9
1.9CAN總線控制器芯片濾波器的作用10
1.10CAN總線的報文格式11
1.10.1數據幀11
1.10.2遠程幀14
1.10.3錯誤幀15
1.10.4過載幀16
1.10.5「幀間」空間17
1.11振盪器容差18
1.12位定時要求18
1.13同步19
1.14位流編碼及位填充23
1.15CAN總線錯誤處理23
1.15.1錯誤類型23
1.15.2錯誤標誌24
1.16故障界定24
1.16.1故障界定的方法24
1.16.2錯誤計數規則24
1.16.3錯誤標記及錯誤中斷類型26
1.17CAN網絡與節點的總線拓撲結構26
1.17.1總線結構拓撲27
1.17.2CAN總線通信距離27
1.17.3CAN中繼器28
1.17.4CAN網橋30
1.17.5CAN集線器31
1.17.6CAN網關31
1.18CAN總線傳輸介質32
1.18.1雙絞線32
1.18.2光纖36
1.19改善電磁兼容性的措施37
1.19.1增加電阻值抑制共模干擾37
1.19.2分開的總線終端38
1.19.3斜率控制38
1.20CAN網絡的實時性能及通信波特率的設置39
1.20.1網絡延時39
1.20.2CAN網絡通信速率選擇40
1.20.3CAN網絡通信速率的一致性41
1.21CAN總線節點設備的電源43
第2章CAN控制器SJA1000與8051系列單片機接口設計47
2.1CAN控制器SJA100047
2.1.1SJA1000引腳排列及其功能47
2.1.2BasicCAN模式下內部寄存器地址表50
2.1.3PeliCAN模式下內部寄存器地址表51
2.1.4BasicCAN和PeliCAN模式的區別53
2.1.58051系列單片機控制SJA1000的方式53
2.1.6SJA1000的濾波器設置54
2.1.7CAN總線通信波特率的計算59
2.1.8SJA1000初始化流程61
2.2CAN總線驅動器62
2.2.1TJA1040概述62
2.2.2TJA1040功能63
2.3CAN總線DC/DC光電隔離技術64
2.3.1DC/DC電源隔離模塊64
2.3.2高速光耦6N13767
2.451系列單片機CAN總線學習板實物圖67
2.551系列單片機CAN總線學習板硬件電路設計69
2.5.1電路原理圖69
2.5.2SJA1000晶振的電路設計70
2.6雙節點CAN總線通信76
2.6.1程序流程框圖設計77
2.6.2SJA1000的硬件接口地址定義78
2.6.3程序頭文件定義說明79
2.6.4子函數詳解83
2.6.5完整的CAN總線學習板發送源程序92
2.6.6完整的CAN總線學習板CAN轉RS-232串口源程序98
2.6.7STC89C52單片機串口下載程序105
2.7多節點CAN總線系統的程序設計107
2.7.1多節點CAN總線系統的連接107
2.7.2多節點CAN總線系統地址的定義及功能實現108
2.7.3多節點CAN總線系統通信數據含義108
2.7.4多節點CAN總線系統程序流程圖110
2.7.5多節點CAN總線通信中的從節點源程序111
2.8CAN總線地址設置詳解116
2.8.1BasicCAN的ID設置方法116
2.8.2PeliCAN的ID設置方法116
2.9如何監測CAN網絡節點的工作狀態117
2.9.1問題的引出117
2.9.2隻有2個節點的簡單CAN總線網絡118
2.9.3大於2個節點的CAN總線網絡119
2.9.4CAN總線應用層協議中的節點狀態監測122
第3章CAN控制器MCP2515與8051系列單片機接口設計123
3.1CAN控制器MCP2515123
3.1.1MCP2515概述123
3.1.2MCP2515的內部寄存器126
3.1.38051系列單片機怎樣控制MCP2515127
3.2CAN總線學習板(MCP2515)實物圖127
3.3CAN總線學習板(MCP2515)硬件電路設計128
3.3.1電路原理圖128
3.3.2晶振的選擇及CAN通信波特率的計算133
3.4雙節點通信系統的程序設計135
3.4.1程序頭文件定義說明135
3.4.2子函數詳解140
3.4.3完整的CAN總線學習板發送源程序148
3.4.4完整的CAN總線學習板CAN轉RS-232串口源程序152
3.5芯片SJA1000和MCP2515在濾波器設置時的區別155
第4章基於STM32的CAN2.0A協議通信程序157
4.1基於STM32的CAN總線學習板硬件電路設計實例157
4.2學習板實現的功能157
4.3學習板硬件選擇及電路構成159
4.4STM32F103RBT6的CAN接口161
4.5程序流程圖174
第5章CAN總線在A/D採集控制板傳輸中的應用176
5.1ADμC812單片機簡介176
5.1.1ADμC812單片機主要性能及引腳說明176
5.1.2ADμC812單片機8路12位ADC簡介178
5.1.3ADμC812單片機ADC基準電壓178
5.1.4ADμC812單片機ADC的輸入驅動180
5.1.5ADμC812單片機ADC工作模式182
5.2帶有CAN總線的A/D採集控制板實物圖184
5.3系統硬件電路設計K鎋y喺搌_譢'3185
5.3.1電路原理圖185
5.3.2採集信號的調理190
5.4系統程序設計191
5.4.1流程圖191
5.4.2子函數詳解192
5.4.3控制源程序192
5.4.4ADμC812單片機CAN總線學習板串口下載程序200
5.5帶有Flash存儲器的CAN總線採集控制電路203
5.5.128F320J5存儲器簡介203
5.5.2存儲器芯片與單片機CPU工作速度匹配問題206
5.5.3單片機與28F320J5的連接206
5.5.4ADμC812單片機構成的帶有存儲功能的振動測量控制板206
第6章基於LPC11Cxx系列微控制器的CAN應用設計225
6.1LPC11Cxx系列微控制器225
6.1.1簡介225
6.1.2器件信息225
6.1.3功能介紹226
6.1.4引腳描述226
6.2CAN寄存器227
6.2.1CAN寄存器匯總229
6.2.2報文接口寄存器234
6.2.3報文處理程序寄存器243
6.2.4CAN時鐘分頻器寄存器246
6.3LPC11Cxx系列微控制器的片上CAN控制器的結構246
6.4基於微控制器和非隔離CAN收發器的電路247
6.4.1器件簡介247
6.4.2接口電路設計248
6.5基於微控制器和隔離CAN收發器的電路249
6.5.1器件簡介249
6.5.2接口電路設計250
6.6無須擴展外部CAN控制器與CAN收發器的CAN接口電路250
6.7基於通用驅動庫的CAN應用編程251
6.7.1通用驅動庫簡介251
6.7.2CAN應用編程流程297
6.7.3編程解決方案298
6.8應用示例——RS-232C/CAN總線轉換器320
6.8.1示例簡介320
6.8.2工具介紹321
6.8.3實現原理328
6.8.4演示步驟328
6.9程序編寫331
6.9.1宏配置331
6.9.2變量定義332
6.9.3主程序332
6.9.4程序分解335
6.10示例運行338
6.10.1配置上位機軟件338
6.10.2運行示例程序339
第7章CAN總線在酒店客房智能化系統中的應用343
7.1功能要求及方案論證343
7.1.1控制說明344
7.1.2網絡結構346
7.1.3硬件成本347
7.1.4通信協議及CAN地址分配349
7.2客房終端349
7.3客房終端硬件電路設計350
7.3.1電源部分電路設計350
7.3.2多按鍵中斷資源設計351
7.3.3多繼電器驅動電路設計352
7.3.4燈具調光電路設計353
7.3.5CAN總線通信電路設計353
7.4軟件設計355
7.4.1程序流程圖355
7.4.2SJA1000控制器CAN字節協議355
7.4.3客房終端源程序357
7.4.4CAN總線控制模塊372
7.4.5CAN總線控制模塊原理373
7.4.6CAN總線控制模塊源程序374
參考文獻383