《嵌入式網絡通信開發(fā)應用》首先簡要介紹了嵌入式網絡通信體系開發(fā)的硬件、軟件及其通信網絡的基礎知識,匯總了常見的有線和無線通信形式及其實現,說明了嵌入式網絡通信體系軟/硬件設計的核心思想。接著分章逐一闡述了常見有線網絡通信中的UART485、CAN、EMAC、LonWorks等現場總線和無線網絡通信中的ZigBee、IrDA、衛(wèi)星信號、GSM/CDMA/3G移動通信、BlueTooth、WiFi、簡易無線通信等形式;每章都說明了該網絡通信的基本特點、拓撲架構和協議規(guī)約構成,敘述了軟/硬件設計實現的方法步驟,重點闡述了通信接口器件或模塊的選擇與使用、基本配置/數據收(讀)發(fā)(寫)/異常處理等底層驅動軟件的開發(fā)、通信協議的簡化與實現、應用程序的驅動調用或嵌入式操作系統下的通信套接操作,特別是網絡通信接口電路的設計、驅動/應用程序的設計與跟蹤調試/測試等重要環(huán)節(jié);每章2/3左右的篇幅都用于列舉大量的工程項目開發(fā)設計實例。
《嵌入式網絡通信開發(fā)應用》特別適合于從事嵌入式應用系統設計的廣大技術人員,也是高校/職校嵌入式系統軟/硬件設計與機電一體化專業(yè)教育培訓的參考書。
現代世界是一個網絡覆蓋的信息流世界。無處不在的網絡系統不僅形式多樣,有/無線的,遠程的/短距離的,而且層層相扣、紛繁交織卻又自成體系、井然有序。通過這些網絡,廣泛應用的各個嵌入式應用體系實現著不同目的的數據傳輸,或者融合成不同網絡中的節(jié)點,或者相互組合又構筑起了新的網絡——嵌入式網絡系統。嵌入式網絡通信應時而生、迅速發(fā)展,成了嵌入式應用系統設計的關鍵性技術。
隨著科學技術現代化的迅猛發(fā)展和生產生活需求的日益強烈,嵌入式網絡通信的需求更加廣大,應用更加廣泛,可靠高效性要求越來越高,信息流量也越來越大。如何在保持嵌入式系統高度穩(wěn)定可靠和快速實時響應的基礎上選擇或者構建合適高性價比的通信網絡,以最小的系統資源占有量迅速開發(fā)出穩(wěn)定高效的通信體系,實現簡易方便、高性價比的網絡互聯,展開及時可靠的數據信息交互,使嵌入式應用系統更好地融入有線、無線網絡環(huán)境,本書對這些進行了全面的探索和綜合性的闡述。
本書共有12章。第1章簡要介紹了一些嵌入式網絡通信體系開發(fā)的硬件、軟件及其通信網絡的基礎知識,匯總了現在常見的有/無線通信形式及其實現,說明了嵌入式網絡通信體系軟/硬件設計的核心思想。接下來的11章逐一闡述了常用有線網絡通信中的UART?485、CAN、EMAC、LonWorks等現場總線和無線網絡通信中的ZigBee、IrDA、衛(wèi)星信號、GSM/CDMA/3G移動通信、BlueTooth、WiFi、簡易無線通信等形式。從工程項目開發(fā)實踐的角度將描述每種網絡類型的“章”劃分為3個部分:網絡通信基礎、軟/硬件體系設計和開發(fā)應用實踐。在“網絡通信基礎”中簡要歸納概括該網絡通信的基本特點、拓撲架構和協議規(guī)約。在“軟/硬件體系設計”中,敘述軟/硬件設計實現的方法步驟,重點闡述了接口通信器件或模塊的選擇與使用、基本配置/數據收(讀)發(fā)(寫)/異常處理等底層驅動軟件的開發(fā)、通信協議的簡化與實現、應用程序的驅動調用或嵌入式操作系統(如RTX、μC/OS?II、Windows CE/Mobile、ARM?Linux/μC?Linux、VxWorks等)下的通信“套接”操作,特別是印刷電路板PCB的布局/布線、軟/硬件的模擬仿真、驅動/應用程序的設計與跟蹤調試/測試等重要環(huán)節(jié)。在“開發(fā)應用實踐”中列舉大量的工程項目開發(fā)設計實例,其中大部分是本人親身實踐,以使理論密切聯系實踐應用,做到淺顯易懂,突出應用價值。內容的安排上,精簡對“網絡通信基礎”和“軟硬件體系設計”的闡述,突出“開發(fā)應用實踐”的關鍵細節(jié),使“開發(fā)應用實踐”的描述占用的整“章”篇幅比例達到了2/3。更為實用的CAN、EMAC、LonWorks現場總線有線通信和2.4 GHz?ISM免費載波的ZigBee、BlueTooth、WiFi、簡易無線通信及其衛(wèi)星信號通信、GSM/CDMA/3G移動無線通信,是本書的重中之重。
怯肇乾(1969-),男,河南汝州人,電子與信息技術高級工程師,嵌入式系統設計師/培訓師。怯公,多年從事軟硬件體系及其系統工程設計,熟知Windows、Linux等應用程序設計,熟知J2EE架構及其跨平臺程序設計,熟知系統級計算機設計驗證和模擬仿真,熟知FPGA-SOPC軟硬件協同設計,特別是嵌入式系統及其uC/OS、uC/Linux、WinCE、VxWorks等下的軟件體系結構和外設/接口的驅動程序設計。怯公,在國內許多科技期刊上獨立發(fā)表過很多技術性文章,獨立編著有《嵌入式系統軟硬件體系設計》、《基于底層硬件的軟件設計》等技術書籍,多年來還不斷從事研究生、本科生及專業(yè)技術人員的培訓。
第1章 嵌入式網絡通信綜述1
1.1 嵌入式網絡通信基礎1
1.1.1 網絡通信的簡要介紹1
1.1.2 網絡通信的硬件基礎2
1.1.3 網絡通信的軟件基礎5
1.1.4 網絡通信的網絡基礎10
1.2 常見嵌入式網絡通信12
1.2.1 常見有/無線網絡通信形式12
1.2.2 常用嵌入式網絡通信實現14
第2章 嵌入式UART485網絡通信18
2.1 UART485網絡通信基礎18
2.1.1 RS485總線及其網絡通信18
2.1.2 UART與RS232-C通信20
2.2 基本的軟/硬件體系設計22
2.2.1 接口器件及選擇使用22
2.2.2 硬件接口電路的設計23
2.2.3 特定通信協約的制定26
2.2.4 網絡通信軟件的編制28
2.3 UART485網絡通信開發(fā)實例33
2.3.1 生產線產品的動態(tài)統計分析33
2.3.2 公共事務排隊控制系統構建47
第3章 嵌入式CAN總線網絡通信53
3.1 CAN總線網絡通信基礎53
3.1.1 CAN總線網絡及其特征53
3.1.2 CAN總線網絡通信協議54
3.2 基本的軟/硬件體系設計56
3.3.1 CAN總線接口器件及其選擇56
3.2.2 CAN總線通信的軟硬件設計57
3.2.3 CAN總線網絡通信運行分析58
3.3 CAN接口驅動及網絡通信開發(fā)實例60
3.3.1 CAN總線接口硬件電路設計60
3.3.2 EPP主/備CAN監(jiān)視節(jié)點設計62
3.3.3 道岔運行狀況監(jiān)控終端設計69
3.3.4 地下電纜溝道監(jiān)測系統設計82
第4章 嵌入式工業(yè)以太網絡通信87
4.1 工業(yè)以太網絡通信基礎87
4.1.1 以太網及其網絡特征87
4.1.2 EMAC網絡傳輸協議88
4.1.3 雙絞線介質及其連接90
4.1.4 工業(yè)以太網及其特點90
4.2 基本的軟/硬件體系設計93
4.2.1 以太網接口器件及其特征93
4.2.2 嵌入式以太網通信的硬件實現96
4.2.3 嵌入式以太網通信的軟件編制96
4.2.4 嵌入式TCP/IP協議棧概述98
4.3 網口驅動及其應用實例101
4.3.1 網口驅動及其直接通信應用101
4.3.2 嵌入式TCP/IP協調棧移植104
4.3.3 μC/Linux下的網口驅動設計108
4.3.4 BSDSocket套接字通信實現117
第5章 嵌入式LonWorks網絡通信120
5.1 LonWorks網絡通信基礎120
5.1.1 LonWorks總線及其技術概述120
5.1.2 LonWorks網絡通信體系框架121
5.2 基本的軟/硬件體系設計124
5.2.1 節(jié)點器件及其系統連接124
5.2.2 LonWorks總線網絡構造127
5.2.3 LonWorks通信軟件設計127
5.3 LonWorks網絡節(jié)點/適配器設計實例130
5.3.1 基于神經元的節(jié)點設計130
5.3.2 基于微處理器的節(jié)點設計138
5.3.3 PCI/ISA網絡適配卡設計144
5.3.4 LonWorks電能檢測系統設計149
第6章 嵌入式ZigBee無線網絡通信154
6.1 ZigBee無線網絡通信基礎154
6.1.1 ZigBee無線網絡通信概述154
6.1.2 通信協議框架及其實現157
6.1.3 網絡組織與數據幀159
6.2 基本的軟/硬件體系設計163
6.2.1 ZigBee技術的通信部件163
6.2.2 ZigBee無線通信實現分析165
6.2.3 ZigBee通信的軟/硬件設計166
6.3 生產生活的簡易監(jiān)控實例169
6.3.1 無線收發(fā)電路設計實例169
6.3.2 簡易語音通信設計實例173
6.3.3 火災報警系統設計實例177
6.3.4 無線片上系統設計實例181
第7章 嵌入式IrDA無線遙控通信191
7.1 IrDA無線遙控通信基礎191
7.2 基本的軟/硬件體系設計192
7.2.1 IrDA器件及其使用192
7.2.2 常見IrDA電路設計195
7.2.3 IrDA通信的軟件設計198
7.3 IrDA無線遙控應用實例199
7.3.1 邏輯電路實現紅外遙控解碼實例199
7.3.2 LED顯示屏的簡易IrDA遙控實例202
7.3.3 空調生產線的紅外多機檢測實例215
7.3.4 ARMLinuxIrDA軟件實現實例217
第8章 嵌入式信號衛(wèi)星通信221
8.1 信號衛(wèi)星通信基礎221
8.1.1 衛(wèi)星定位授時同步概述221
8.1.2 衛(wèi)星定位授時同步原理222
8.2 基本軟/硬件體系設計224
8.2.1 全球衛(wèi)星導航的接收端設計224
8.2.2 衛(wèi)星定位授時同步應用設計227
8.2.3 通信協議與測試軟件工具應用230
8.3 衛(wèi)星定位授時應用實例233
8.3.1 鐵路路況GPS巡檢實例233
8.3.2 北頭衛(wèi)星授時應用實例250
第9章 嵌入式GPRS/CDMA/3G移動通信255
9.1 無線移動通信應用基礎255
9.1.1 常見移動網絡通信概述255
9.1.2 移動通信技術的總體特征257
9.1.3 嵌入式移動通信體系框架258
9.1.4 AT監(jiān)控指令及其應用簡述260
9.2 基本的軟/硬件體系設計263
9.2.1 移動通信部件263
9.2.2 硬件體系設計265
9.2.3 軟件體系實現266
9.2.4 設計注意事項266
9.3 移動通信開發(fā)應用實例268
9.3.1 無線公共電話的開發(fā)設計實例268
9.3.2 短信息形式的無線傳輸實例292
9.3.3 內置TCP/IP的無線傳輸實例298
9.3.4 移植TCP/IP的無線傳輸實例306
第10章 嵌入式BlueTooth無線網絡通信310
10.1 BlueTooth網絡通信基礎310
10.1.1 BlueTooth通信網絡及其特征310
10.1.2 BlueTooth網絡系統及拓撲構成311
10.1.3 BlueTooth功能單元與協議體系312
10.1.4 BlueTooth的節(jié)點匹配及其應用317
10.2 基本的軟/硬件體系設計317
10.2.1 BlueTooth協議棧的結構體系分析317
10.2.2 BlueTooth技術的軟/硬件實現分析319
10.2.3 BlueTooth無線通信部件及其構造321
10.2.4 BlueTooth技術的軟/硬件實現形式325
10.3 BlueTooth無線通信應用328
10.3.1 芯片組BlueTooth無線通信設計328
10.3.2 單芯片BlueTooth無線通信設計333
10.3.3 E-LinuxBlueTooth無線通信實現335
10.3.4 WindowsCEBlueTooth驅動與通信實現342
第11章 嵌入式WiFi無線網絡通信350
11.1 WiFi無線網絡通信基礎350
11.1.1 WiFi通信網絡及其特征350
11.1.2 WiFi網絡系統及其拓撲352
11.1.3 WiFi網絡通信及其實現354
11.2 基本的軟/硬件體系設計358
11.2.1 WiFi部件及其選擇358
11.2.2 WiFi硬件體系設計360
11.2.3 WiFi軟件體系設計361
11.3 WiFi網絡通信開發(fā)應用實則362
11.3.1 ARMLinux-ARM9-88W8686體系實則362
11.3.2 μCLinux-ARM7-BWG200體系實例365
11.3.3 μC/OS-ARM7-NC5004體系實例368
11.3.4 NEOS-ARM7-CG-1000體系實例372
11.3.5 WinCE-ARM9-VNUWCL5體系實例382
第12章 嵌入式簡易無線網絡通信388
12.1 簡易無線網絡通信基礎388
12.1.1 簡易無線網絡通信綜述388
12.1.2 基本通信功能及其實現389
12.2 基本的軟硬/件體系設計390
12.2.1 簡易無線通信部件及其選擇390
12.2.2 簡易無線通信硬件體系設計396
12.2.3 簡易無線通信軟件體系設計399
12.3 簡易無線網絡通信開發(fā)實例400
12.3.1 MICRF005射頻接收電路設計實例400
12.3.2 IA4220/4320防丟-尋找器設計實例402
12.3.3 RF24L01模塊的驅動程序設計實例404
12.3.4 Zi2121-USB無線鼠標對實現實例410
參考文獻429
(1)輪詢訪問協議
輪詢訪問協議因其簡單方便、實時性能可確定等特點而成為嵌入式網絡常用協議之一。采用輪詢訪問協議,需要指定一個主節(jié)點作為中心主機來定期輪詢各個從屬節(jié)點,以顯式分配從屬節(jié)點訪問共享介質的權力。這類協議的缺點也是明顯的:輪詢過程占用了寶貴的網絡帶寬,增加了網絡負擔;風險完全集中在主機節(jié)點上,為了避免因主節(jié)點失效而導致整個網絡癱瘓的情況,有時須設置多個主節(jié)點來提高系統的健壯性(如ProFiBus現場總線)。
(2)帶沖突檢測的載波監(jiān)聽多路訪問協議
帶沖突檢測的載波監(jiān)聽多路訪問(2SMA/CD(Carrier Sense Multiple Access/(20nfliet De-tection)協議有許多不同的實現版本,核心思想是:一個節(jié)點只有確認網絡空閑之后才能發(fā)送信息。如果多個節(jié)點幾乎同時檢測到網絡空閑并發(fā)送信息,則產生沖突。檢測到沖突的發(fā)送信息節(jié)點必須采用某種算法(如回溯算法)來確定延時長短,延時結束后重復上述過程再試圖發(fā)送。CSMA/CD的優(yōu)點是理論上能支持任意多的節(jié)點,且不需要預先分配節(jié)點位置,因此在辦公環(huán)境中幾乎占有絕對優(yōu)勢。但是CSMA/CD沖突產生具有很大的隨機性,在最壞情況下的響應延時不可確定,無法滿足嵌入式網絡最基本的實時性要求。
(3)令牌環(huán)協議
在令牌環(huán)網中,節(jié)點之間使用端到端的連接,所有節(jié)點在物理上組成一個環(huán)型結構。一組特殊的脈沖編碼序列,即令牌,沿著環(huán)從一個節(jié)點向其物理鄰居節(jié)點傳遞。一個節(jié)點獲得令牌后,如無信息要發(fā)送,則將令牌繼續(xù)傳遞給下一個鄰居;否則,首先停止令牌循環(huán),然后沿著環(huán)發(fā)送它的信息,最后繼續(xù)令牌傳遞。令牌環(huán)網的優(yōu)點是:實時性可確定,因為容易計算出最壞情況下節(jié)點等待令牌的時間;令牌傳遞占用的網絡帶寬極小,帶寬利用率很高,具有強大的吞吐能力。但這種協議在具體實現時為確保可靠性必須付出較大的代價:為避免因電纜斷裂和節(jié)點失效導致整個網絡癱瘓,常采用雙環(huán)結構和失效節(jié)點自動旁路措施,導致實施成本增加;為立即檢測到令牌是否意外丟失,不得不增加該協議實施的復雜性。