本書主要介紹了嵌入式通信系統(tǒng)的基本原理、主流硬件架構(gòu)與操作系統(tǒng),以及嵌入式通信系統(tǒng)的開發(fā)方法和開發(fā)實例等方面的內(nèi)容。全書共分3篇(19章),第1~6章為原理篇,主要講述嵌入式通信系統(tǒng)相關(guān)的基礎(chǔ)原理以及設(shè)計開發(fā)方面的基礎(chǔ)知識;第7~13章為系統(tǒng)篇,主要講述嵌入式通信系統(tǒng)的各種硬件架構(gòu)和操作系統(tǒng);第14~19章為開發(fā)篇,結(jié)合具體嵌入式通信系統(tǒng)給出了若干開發(fā)方法和開發(fā)實例。本書結(jié)合作者多年嵌入式通信系統(tǒng)方面的項目科研經(jīng)驗編寫而成,既有完整的原理介紹,也有具有代表性的應(yīng)用案例,適合作為高等院校電氣信息類專業(yè)的教材,也可供相關(guān)科技人員參考、學(xué)習(xí)使用。
近幾十年來,與數(shù)字技術(shù)相結(jié)合的各種通信系統(tǒng)在工業(yè)領(lǐng)域和民用領(lǐng)域獲得了廣泛應(yīng)用和飛速發(fā)展。當(dāng)今,人類對信息的獲取已經(jīng)成為人們工作和日常生活不可缺少的組成部分,人與人之間可通過網(wǎng)絡(luò)和手機進行便捷的語音通話和數(shù)據(jù)交換,工業(yè)領(lǐng)域和家用電子設(shè)備也離不開信息的交互以實現(xiàn)相應(yīng)的控制。各個行業(yè)對通信業(yè)務(wù)要求越來越多樣化,產(chǎn)生了各種類型的嵌入式通信系統(tǒng),包括工業(yè)控制中的網(wǎng)絡(luò)化集成系統(tǒng)和人們?nèi)粘I钪械母鞣N電子設(shè)備,如空調(diào)、電表、汽車、熱水器、微波爐、洗衣機和手機等,它們在內(nèi)部都有單片機或者采用微處理器進行控制,同時通過各種總線或無線網(wǎng)絡(luò)與其他設(shè)備互聯(lián)。嵌入式系統(tǒng)和通信技術(shù)相結(jié)合能大幅提高設(shè)備的通信性能,可以通過遠程通信從異地獲得這些設(shè)備的相關(guān)信息并進行相應(yīng)的控制,從而給工業(yè)生產(chǎn)和人們的生活帶來極大的方便?傊,隨著嵌入式系統(tǒng)和無線通信技術(shù)的發(fā)展,嵌入式通信系統(tǒng)的應(yīng)用會越來越廣泛。
通信領(lǐng)域?qū)η度胧酵ㄐ畔到y(tǒng)方面的人才要求越來越高,國內(nèi)外一些高校和培訓(xùn)機構(gòu)也相繼開設(shè)了嵌入式通信系統(tǒng)方面的課程。本書結(jié)合通信技術(shù)的最新發(fā)展,參照國內(nèi)外最新的教材和文獻資料,以作者多年從事嵌入式操作系統(tǒng)的實際工程項目開發(fā)經(jīng)歷和教學(xué)經(jīng)驗為基礎(chǔ)編寫而成。
目前,市面上有很多嵌入式系統(tǒng)方面的教材,大都是純粹講解操作系統(tǒng)的原理,對于通信專業(yè)學(xué)生而言較為枯燥。這類教材對沒有操作系統(tǒng)基礎(chǔ)知識的通信專業(yè)的學(xué)生來說難度偏大,且針對性不強,聚焦不明確。本書針對通信工程和電子信息專業(yè)的特點和專業(yè)培養(yǎng)要求,將重點放在嵌入式通信系統(tǒng)的應(yīng)用開發(fā)上,以此為中心介紹相關(guān)的知識和技術(shù)。
本書結(jié)合作者多年從事嵌入式通信系統(tǒng)開發(fā)的教學(xué)以及工程項目開發(fā)實踐,立足當(dāng)前嵌入式技術(shù)的發(fā)展趨勢、核心技術(shù)及其主要作用域,將技術(shù)原理和實踐應(yīng)用緊密結(jié)合,從嵌入式通信系統(tǒng)的原理、嵌入式通信系統(tǒng)的硬件架構(gòu)、軟件系統(tǒng)、設(shè)計開發(fā)和嵌入式通信系統(tǒng)的各種開發(fā)實例等方面向讀者介紹嵌入式通信系統(tǒng),由淺入深,循序漸進地講解嵌入式通信系統(tǒng)的基本原理和開發(fā)技術(shù),幫助讀者掌握嵌入式通信系統(tǒng)的基本概念,深入理解嵌入式操作系統(tǒng)內(nèi)核,達到掌握嵌入式通信操作系統(tǒng)開發(fā)技術(shù)的目的。
全書共分3篇(19章),第1章~第6章為原理篇,主要介紹嵌入式通信系統(tǒng)的概念、組成結(jié)構(gòu)和操作系統(tǒng)的基礎(chǔ)知識與基本開發(fā)調(diào)試技術(shù)。其中,第1章講述嵌入式通信系統(tǒng)的定義、發(fā)展、種類、特點及其組成結(jié)構(gòu)、開發(fā)相關(guān)技術(shù)與應(yīng)用。第2章講述嵌入式通信系統(tǒng)設(shè)計技術(shù)、開發(fā)工具以及基于Angel和JTAG的調(diào)試方法;第3章介紹嵌入式通信系統(tǒng)的硬件平臺,包括處理器、存儲器,以太網(wǎng)、CAN、LON等通信模塊以及I/O設(shè)備;第4章介紹嵌入式通信系統(tǒng)的實時操作系統(tǒng),首先講述操作系統(tǒng)的功能、特點、發(fā)展和構(gòu)成等內(nèi)容,然后介紹嵌入式實時操作系統(tǒng)中RTOS的概念、功能、內(nèi)核等內(nèi)容,并且講述了Linux、Nucleus Plus等常用的嵌入式實時操作系統(tǒng);第5章介紹了嵌入式系統(tǒng)的聯(lián)網(wǎng)、Internet技術(shù)等方面的內(nèi)容;第6章講述了嵌入式通信系統(tǒng)中電磁兼容的標(biāo)準(zhǔn)、電磁兼容測試、電磁干擾控制方法、嵌入式通信系統(tǒng)中PCB的電磁兼容設(shè)計及其靜電防護。
第7章~第13章為系統(tǒng)篇,主要介紹可用于嵌入式通信系統(tǒng)的多種硬件架構(gòu)和嵌入式操作系統(tǒng)。其中,第7章講述嵌入式通信系統(tǒng)中硬件系統(tǒng)的單片機,包括單片機的概念、發(fā)展、分類等內(nèi)容以及單片機的體系結(jié)構(gòu)、中斷與定時、單片機通信接口;第8章講述嵌入式通信硬件系統(tǒng)中基于PC/104架構(gòu)的處理器,介紹了PC/104標(biāo)準(zhǔn)、通信接口以及PC/104的開發(fā)環(huán)境與編程技術(shù);第9章講述基于ARM的嵌入式通信系統(tǒng),介紹了ARM微處理器系列、ARM的體系結(jié)構(gòu)、ARM的指令系統(tǒng)、ARM的通信接口、ARM的開發(fā)環(huán)境和編程以及基于ARM架構(gòu)的嵌入式網(wǎng)關(guān)的開發(fā);第10章講述嵌入式通信系統(tǒng)中操作系統(tǒng)?C/OS-II,包括?C/OS-II概述、任務(wù)管理、內(nèi)存管理、中斷和時間管理以及?C/OS-II任務(wù)之間的通信與同步、?C/OS-II系統(tǒng)移植和?C/OS-II的通信開發(fā);第11章介紹了嵌入式操作系統(tǒng)Windows
CE的系統(tǒng)結(jié)構(gòu)、Windows CE的進程和線程、Windows CE存儲系統(tǒng)、網(wǎng)絡(luò)通信開發(fā);第12章介紹嵌入式操作系統(tǒng)Linux體系結(jié)構(gòu)、系統(tǒng)功能、驅(qū)動開發(fā)以及Linux的網(wǎng)絡(luò)通信開發(fā);第13章講述嵌入式移動手機操作系統(tǒng)Android的開發(fā)工具、應(yīng)用程序、Android程序的用戶界面開發(fā)、Android的網(wǎng)絡(luò)通信開發(fā)。
第14章~第19章為開發(fā)篇,其中,第14章介紹了工業(yè)以太網(wǎng)的關(guān)鍵技術(shù)以及嵌入式工業(yè)以太網(wǎng)應(yīng)用實例;第15章介紹了CAN總線網(wǎng)絡(luò)通信、CAN總線通信技術(shù)、基于STM32的CAN通信的軟/硬件設(shè)計和基于CAN總線網(wǎng)絡(luò)監(jiān)控系統(tǒng)的軟/硬件設(shè)計;第16章講述了嵌入式Bluetooth無線網(wǎng)絡(luò)通信;第17章講述了Linux的ZigBee網(wǎng)關(guān)設(shè)計;第18章講述了Windows CE網(wǎng)絡(luò)服務(wù)器開發(fā),包括系統(tǒng)硬件結(jié)構(gòu)及平臺的搭建、Windows CE操作系統(tǒng)的移植于軟件平臺的開發(fā);第19章講述了實例Android系統(tǒng)LBS定位應(yīng)用開發(fā)。
本書內(nèi)容豐富,可供對嵌入式通信系統(tǒng)有不同層次要求的專業(yè)使用,各章節(jié)內(nèi)容可依據(jù)不同課時要求選講。前言后附圖為各個部分的建議授課時間,任課教師可根據(jù)實際授課情況做出相應(yīng)調(diào)整。
全書由張曉勇、彭軍任主編,劉偉榮任副主編并負責(zé)統(tǒng)籌、安排、協(xié)調(diào)、統(tǒng)稿、審核等,張倩倩、趙葉茹、張瑞、陳遠君、秦高榮和賀健等完成文字編寫、繪圖、校對等工作。本書在編寫過程中還得到了中南大學(xué)軌道交通網(wǎng)絡(luò)通信與控制研究所的大力支持,在此表示感謝。同時還要感謝對本書編寫給予支持的老師和同學(xué)們。
由于時間倉促,編者水平有限,書中難免存在疏漏和不當(dāng)之處,懇請讀者批評指正。
編 者
2016年12月
原 理 篇
第1章 嵌入式通信系統(tǒng)概述 1
1.1 嵌入式通信系統(tǒng)的定義 1
1.2 嵌入式通信系統(tǒng)的發(fā)展 2
1.2.1 嵌入式系統(tǒng)的產(chǎn)生和歷史 2
1.2.2 嵌入式通信系統(tǒng)的發(fā)展現(xiàn)狀 3
1.2.3 嵌入式通信系統(tǒng)的發(fā)展趨勢 4
1.3 嵌入式系統(tǒng)的種類 5
1.3.1 按所嵌入的處理器分類 5
1.3.2 按實時性分類 6
1.3.3 按應(yīng)用領(lǐng)域分類 7
1.3.4 按嵌入式系統(tǒng)軟件復(fù)雜程度分類 8
1.4 嵌入式通信系統(tǒng)的特點 8
1.4.1 嵌入式系統(tǒng)的特點 8
1.4.2 嵌入式通信系統(tǒng)的技術(shù)特點 10
1.5 嵌入式通信系統(tǒng)的組成結(jié)構(gòu) 11
1.5.1 硬件層 12
1.5.2 中間層 13
1.5.3 系統(tǒng)軟件層 13
1.5.4 應(yīng)用層 14
1.6 嵌入式通信系統(tǒng)的開發(fā)與應(yīng)用 14
1.6.1 嵌入式通信系統(tǒng)開發(fā)相關(guān)技術(shù) 14
1.6.2 嵌入式通信系統(tǒng)的廣泛應(yīng)用 15
小 結(jié) 16
習(xí)題 16
第2章 嵌入式通信系統(tǒng)的設(shè)計與開發(fā) 17
2.1 概述 17
2.2 系統(tǒng)設(shè)計技術(shù) 17
2.2.1 嵌入式通信系統(tǒng)的開發(fā)過程 17
2.2.2 系統(tǒng)設(shè)計的形式化方法 22
2.2.3 嵌入式通信軟件設(shè)計 24
2.3 嵌入式通信系統(tǒng)的開發(fā)工具 28
2.3.1 開發(fā)嵌入式通信系統(tǒng)的高級語言 28
2.3.2 嵌入式操作系統(tǒng) 30
2.3.3 ADS簡介 30
2.3.4 指令集模擬器 30
2.4 嵌入式通信系統(tǒng)的調(diào)試方法 31
2.4.1 嵌入式調(diào)試系統(tǒng)簡介 31
2.4.2 基于Angel的調(diào)試方法 31
2.4.3 基于JTAG的調(diào)試方法 34
小結(jié) 34
習(xí)題 35
第3章 嵌入式通信系統(tǒng)的硬件平臺 36
3.1 概述 36
3.2 嵌入式通信系統(tǒng)的硬件結(jié)構(gòu) 37
3.3 嵌入式處理器 37
3.3.1 嵌入式處理器的分類 38
3.3.2 嵌入式處理器的特點 39
3.3.3 嵌入式處理器的選擇原則 40
3.3.4 嵌入式處理器的發(fā)展歷程 40
3.4 嵌入式通信系統(tǒng)的存儲器 41
3.4.1 存儲器系統(tǒng)的層次結(jié)構(gòu) 41
3.4.2 隨機存儲器 41
3.4.3 只讀存儲器 43
3.5 嵌入式通信系統(tǒng)的通信模塊 45
3.5.1 以太網(wǎng) 45
3.5.2 CAN 46
3.5.3 LON(LonWorks協(xié)議) 48
3.5.4 無線通信 48
3.6 嵌入式通信系統(tǒng)的I/O設(shè)備 50
3.6.1 輸入設(shè)備 50
3.6.2 輸出設(shè)備 51
小結(jié) 52
習(xí)題 52
第4章 嵌入式通信系統(tǒng)的實時操作系統(tǒng) 53
4.1 概述 53
4.2 操作系統(tǒng) 53
4.2.1 操作系統(tǒng)的概念和功能 54
4.2.2 進程 54
4.2.3 操作系統(tǒng)的分類 56
4.3 嵌入式操作系統(tǒng) 57
4.3.1 嵌入式操作系統(tǒng)的概念和特點 57
4.3.2 嵌入式操作系統(tǒng)的發(fā)展 58
4.3.3 嵌入式操作系統(tǒng)的構(gòu)成 58
4.4 嵌入式實時操作系統(tǒng) 59
4.4.1 RTOS的概念和功能 59
4.4.2 RTOS的重要評價指標(biāo) 60
4.5 常用嵌入式實時操作系統(tǒng) 62
4.5.1 嵌入式Linux 62
4.5.2 Nucleus Plus 62
4.5.3 ?C/OS-Ⅱ 62
4.5.4 Windows CE 63
4.5.5 VxWorks 63
4.6 嵌入式操作系統(tǒng)的選擇 64
小結(jié) 64
習(xí)題 64
第5章 嵌入式通信系統(tǒng)的網(wǎng)絡(luò)及協(xié)議棧 65
5.1 概述 65
5.2 嵌入式通信系統(tǒng)的聯(lián)網(wǎng) 65
5.2.1 選擇協(xié)議棧 65
5.2.2 選擇網(wǎng)絡(luò)技術(shù) 66
5.2.3 選擇成熟的實現(xiàn)方案 66
5.2.4 使用標(biāo)準(zhǔn)的應(yīng)用協(xié)議 67
5.2.5 流行的網(wǎng)絡(luò)體系結(jié)構(gòu) 67
5.3 嵌入式Internet技術(shù) 68
5.3.1 網(wǎng)絡(luò)體系結(jié)構(gòu) 68
5.3.2 嵌入式Internet基礎(chǔ) 70
5.3.3 嵌入式Internet的實現(xiàn)方式 70
小結(jié) 72
習(xí)題 72
第6章 嵌入式通信系統(tǒng)的電磁兼容 73
6.1 概述 73
6.2 嵌入式通信系統(tǒng)中電磁兼容的標(biāo)準(zhǔn) 73
6.2.1 電磁兼容的基本概念 73
6.2.2 電磁兼容標(biāo)準(zhǔn) 75
6.3 嵌入式通信系統(tǒng)的電磁兼容測試 77
6.3.1 電磁兼容的測試標(biāo)準(zhǔn) 77
6.3.2 電磁兼容的測試儀器 77
6.3.3 電磁兼容的測試場地 77
6.4 嵌入式通信系統(tǒng)的電磁干擾控制方法 78
6.4.1 常見的EMI問題 78
6.4.2 EMI控制技術(shù) 79
6.4.3 接地 79
6.4.4 其他方法 83
6.5 嵌入式通信系統(tǒng)中印制電路板的電磁兼容設(shè)計
84
6.5.1 常用元器件的選擇 84
6.5.2 PCB的走線 86
6.6 嵌入式通信系統(tǒng)的靜電防護 87
6.6.1 靜電的產(chǎn)生和危害 87
6.6.2 ESD的模型 88
6.6.3 靜電的消除 88
6.6.4 PCB的靜電防護 89
小結(jié) 90
習(xí)題 90
系 統(tǒng) 篇
第7章 基于單片機的嵌入式通信系統(tǒng) 91
7.1 概述 91
7.1.1 單片機的概念 91
7.1.2 單片機的發(fā)展史 91
7.1.3 單片機的分類 92
7.2 單片機的體系結(jié)構(gòu) 92
7.2.1 MCS-51單片機的硬件結(jié)構(gòu) 93
7.2.2 MCS-51單片機的引腳 94
7.2.3 MCS-51單片機存儲器結(jié)構(gòu) 95
7.2.4 MCS-51單片機最小系統(tǒng)電路 99
7.3 單片機中斷系統(tǒng) 100
7.4 單片機定時器/計數(shù)器 105
7.5 單片機的串行通信接口 108
小結(jié) 111
習(xí)題 111
第8章 基于PC/104架構(gòu)的嵌入式通信系統(tǒng) 112
8.1 概述 112
8.2 PC/104標(biāo)準(zhǔn) 113
8.2.1 模塊標(biāo)準(zhǔn) 113
8.2.2 引腳信號 114
8.3 PC/104結(jié)構(gòu)體系 116
8.4 PC/104通信接口 117
8.4.1 外部連接器 117
8.4.2 多用接口 119
8.4.3 串行端口 120
8.4.4 并行端口 120
8.4.5 軟盤接口 121
8.4.6 CRT接口 121
8.4.7 平板顯示接口 122
8.4.8 IDE端口 123
8.4.9 ETH/USB1端口 123
8.4.10
USB2端口 124
8.4.11
AUDIO端口 124
8.5 PC/104的開發(fā)環(huán)境與編程 124
8.5.1 QNX概述 124
8.5.2 QNX系統(tǒng)命令 125
8.5.3 QNX應(yīng)用程序開發(fā) 128
小結(jié) 130
習(xí)題 130
第9章 基于ARM架構(gòu)的嵌入式通信系統(tǒng) 131
9.1 概述 131
9.1.1 ARM微處理器系列 131
9.1.2 ARM微處理器結(jié)構(gòu) 133
9.2 ARM的結(jié)構(gòu)體系 134
9.2.1 ARM體系結(jié)構(gòu)的特點 134
9.2.2 ARM體系結(jié)構(gòu)的存儲器格式
135
9.2.3 ARM微處理器模式 136
9.3 ARM的指令系統(tǒng) 136
9.3.1 ARM微處理器的指令集概述
136
9.3.2 ARM指令的尋址方式 138
9.3.3 ARM指令集 139
9.4 ARM的通信接口 142
9.4.1 S3C4510B概述 142
9.4.2 串行通信接口 144
9.4.3 以太網(wǎng)通信接口 144
9.5 基于ARM架構(gòu)的嵌入式網(wǎng)關(guān) 145
9.5.1 硬件平臺設(shè)計 145
9.5.2 軟件平臺設(shè)計 147
小結(jié) 149
習(xí)題 149
第10章 嵌入式操作系統(tǒng)?C/OS-II 150
10.1 概述 150
10.2 ?C/OS-II任務(wù)管理 151
10.3 ?C/OS-II內(nèi)存管理 152
10.4 ?C/OS-II中斷和時間管理 154
10.4.1 ?C/OS-II的中斷服務(wù)子程序 154
10.4.2 ?C/OS-II的時間管理 156
10.5 ?C/OS-II任務(wù)之間的通信與同步
158
10.5.1 事件控制塊 158
10.5.2 消息郵箱 159
10.5.3 消息隊列 160
10.6 ?C/OS-II系統(tǒng)移植 160
10.6.1 ?C/OS-II移植條件 161
10.6.2 移植過程 161
10.6.3 移植測試 162
10.7 ?C/OS-II的通信開發(fā) 163
10.7.1 ?C/OS-II系統(tǒng)CAN總線開發(fā) 163
10.7.2 ?C/OS-II系統(tǒng)以太網(wǎng)開發(fā) 165
小結(jié) 168
習(xí)題 168
第11章 嵌入式操作系統(tǒng)Windows CE 169
11.1 嵌入式操作系統(tǒng)Windows CE概述 169
11.2 Windows CE體系結(jié)構(gòu) 170
11.3 Windows CE進程和線程 174
11.3.1 Windows CE進程 174
11.3.2 Windows CE線程 175
11.3.3 線程調(diào)度 176
11.3.4 線程同步 177
11.3.5 進程間通信 179
11.4 Windows CE存儲系統(tǒng) 180
11.4.1 內(nèi)存管理 180
11.4.2 文件管理與注冊表 183
11.5 Windows CE的網(wǎng)絡(luò)通信開發(fā) 184
11.5.1 Windows CE通信簡介 185
11.5.2 WinSock和IRSock 185
11.5.3 UDP編程 186
11.5.4 TCP編程 186
11.5.5 FTP編程 187
小結(jié) 188
習(xí)題 188
第12章 嵌入式操作系統(tǒng)Linux 190
12.1 概述 190
12.2 Linux體系結(jié)構(gòu) 192
12.2.1 嵌入式操作系統(tǒng)的體系結(jié)構(gòu) 192
12.2.2 Linux體系結(jié)構(gòu) 194
12.3 Linux系統(tǒng)功能 195
12.3.1 內(nèi)存管理 195
12.3.2 進程管理 198
12.3.3 文件系統(tǒng) 200
12.3.4 設(shè)備管理 201
12.4 Linux的驅(qū)動開發(fā) 202
12.4.1 Linux的驅(qū)動概述 202
12.4.2 Linux設(shè)備驅(qū)動程序的基本結(jié)構(gòu)
203
12.4.3 Linux設(shè)備驅(qū)動分類 203
12.4.4 Linux設(shè)備的控制方式 204
12.4.5 Linux設(shè)備驅(qū)動開發(fā)流程 205
12.5 Linux的網(wǎng)絡(luò)通信開發(fā) 205
12.5.1 網(wǎng)絡(luò)協(xié)議參考模型 206
12.5.2 TCP和UDP 206
12.5.3 TCP通信編程 207
12.5.4 UDP通信編程 210
小結(jié) 211
習(xí)題 211
第13章 嵌入式移動手機操作系統(tǒng) Android 212
13.1 概述 212
13.1.1 初識Android系統(tǒng) 212
13.1.2 Android核心功能模塊 213
13.2