《嵌入式网络通信开发应用》首先简要介绍了嵌入式网络通信体系开发的硬件、软件及其通信网络的基础知识,汇总了常见的有线和无线通信形式及其实现,说明了嵌入式网络通信体系软/硬件设计的核心思想。接着分章逐一阐述了常见有线网络通信中的UART485、CAN、EMAC、LonWorks等现场总线和无线网络通信中的ZigBee、IrDA、卫星信号、GSM/CDMA/3G移动通信、BlueTooth、WiFi、简易无线通信等形式;每章都说明了该网络通信的基本特点、拓扑架构和协议规约构成,叙述了软/硬件设计实现的方法步骤,重点阐述了通信接口器件或模块的选择与使用、基本配置/数据收(读)发(写)/异常处理等底层驱动软件的开发、通信协议的简化与实现、应用程序的驱动调用或嵌入式操作系统下的通信套接操作,特别是网络通信接口电路的设计、驱动/应用程序的设计与跟踪调试/测试等重要环节;每章2/3左右的篇幅都用于列举大量的工程项目开发设计实例。
《嵌入式网络通信开发应用》特别适合于从事嵌入式应用系统设计的广大技术人员,也是高校/职校嵌入式系统软/硬件设计与机电一体化专业教育培训的参考书。
现代世界是一个网络覆盖的信息流世界。无处不在的网络系统不仅形式多样,有/无线的,远程的/短距离的,而且层层相扣、纷繁交织却又自成体系、井然有序。通过这些网络,广泛应用的各个嵌入式应用体系实现着不同目的的数据传输,或者融合成不同网络中的节点,或者相互组合又构筑起了新的网络——嵌入式网络系统。嵌入式网络通信应时而生、迅速发展,成了嵌入式应用系统设计的关键性技术。
随着科学技术现代化的迅猛发展和生产生活需求的日益强烈,嵌入式网络通信的需求更加广大,应用更加广泛,可靠高效性要求越来越高,信息流量也越来越大。如何在保持嵌入式系统高度稳定可靠和快速实时响应的基础上选择或者构建合适高性价比的通信网络,以最小的系统资源占有量迅速开发出稳定高效的通信体系,实现简易方便、高性价比的网络互联,展开及时可靠的数据信息交互,使嵌入式应用系统更好地融入有线、无线网络环境,本书对这些进行了全面的探索和综合性的阐述。
本书共有12章。第1章简要介绍了一些嵌入式网络通信体系开发的硬件、软件及其通信网络的基础知识,汇总了现在常见的有/无线通信形式及其实现,说明了嵌入式网络通信体系软/硬件设计的核心思想。接下来的11章逐一阐述了常用有线网络通信中的UART?485、CAN、EMAC、LonWorks等现场总线和无线网络通信中的ZigBee、IrDA、卫星信号、GSM/CDMA/3G移动通信、BlueTooth、WiFi、简易无线通信等形式。从工程项目开发实践的角度将描述每种网络类型的“章”划分为3个部分:网络通信基础、软/硬件体系设计和开发应用实践。在“网络通信基础”中简要归纳概括该网络通信的基本特点、拓扑架构和协议规约。在“软/硬件体系设计”中,叙述软/硬件设计实现的方法步骤,重点阐述了接口通信器件或模块的选择与使用、基本配置/数据收(读)发(写)/异常处理等底层驱动软件的开发、通信协议的简化与实现、应用程序的驱动调用或嵌入式操作系统(如RTX、μC/OS?II、Windows CE/Mobile、ARM?Linux/μC?Linux、VxWorks等)下的通信“套接”操作,特别是印刷电路板PCB的布局/布线、软/硬件的模拟仿真、驱动/应用程序的设计与跟踪调试/测试等重要环节。在“开发应用实践”中列举大量的工程项目开发设计实例,其中大部分是本人亲身实践,以使理论密切联系实践应用,做到浅显易懂,突出应用价值。内容的安排上,精简对“网络通信基础”和“软硬件体系设计”的阐述,突出“开发应用实践”的关键细节,使“开发应用实践”的描述占用的整“章”篇幅比例达到了2/3。更为实用的CAN、EMAC、LonWorks现场总线有线通信和2.4 GHz?ISM免费载波的ZigBee、BlueTooth、WiFi、简易无线通信及其卫星信号通信、GSM/CDMA/3G移动无线通信,是本书的重中之重。
怯肇乾(1969-),男,河南汝州人,电子与信息技术高级工程师,嵌入式系统设计师/培训师。怯公,多年从事软硬件体系及其系统工程设计,熟知Windows、Linux等应用程序设计,熟知J2EE架构及其跨平台程序设计,熟知系统级计算机设计验证和模拟仿真,熟知FPGA-SOPC软硬件协同设计,特别是嵌入式系统及其uC/OS、uC/Linux、WinCE、VxWorks等下的软件体系结构和外设/接口的驱动程序设计。怯公,在国内许多科技期刊上独立发表过很多技术性文章,独立编著有《嵌入式系统软硬件体系设计》、《基于底层硬件的软件设计》等技术书籍,多年来还不断从事研究生、本科生及专业技术人员的培训。
第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网络通信开发实例33
2.3.1 生产线产品的动态统计分析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接口驱动及网络通信开发实例60
3.3.1 CAN总线接口硬件电路设计60
3.3.2 EPP主/备CAN监视节点设计62
3.3.3 道岔运行状况监控终端设计69
3.3.4 地下电缆沟道监测系统设计82
第4章 嵌入式工业以太网络通信87
4.1 工业以太网络通信基础87
4.1.1 以太网及其网络特征87
4.1.2 EMAC网络传输协议88
4.1.3 双绞线介质及其连接90
4.1.4 工业以太网及其特点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 节点器件及其系统连接124
5.2.2 LonWorks总线网络构造127
5.2.3 LonWorks通信软件设计127
5.3 LonWorks网络节点/适配器设计实例130
5.3.1 基于神经元的节点设计130
5.3.2 基于微处理器的节点设计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 生产生活的简易监控实例169
6.3.1 无线收发电路设计实例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章 嵌入式信号卫星通信221
8.1 信号卫星通信基础221
8.1.1 卫星定位授时同步概述221
8.1.2 卫星定位授时同步原理222
8.2 基本软/硬件体系设计224
8.2.1 全球卫星导航的接收端设计224
8.2.2 卫星定位授时同步应用设计227
8.2.3 通信协议与测试软件工具应用230
8.3 卫星定位授时应用实例233
8.3.1 铁路路况GPS巡检实例233
8.3.2 北头卫星授时应用实例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监控指令及其应用简述260
9.2 基本的软/硬件体系设计263
9.2.1 移动通信部件263
9.2.2 硬件体系设计265
9.2.3 软件体系实现266
9.2.4 设计注意事项266
9.3 移动通信开发应用实例268
9.3.1 无线公共电话的开发设计实例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的节点匹配及其应用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网络通信开发应用实则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 简易无线网络通信开发实例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)轮询访问协议
轮询访问协议因其简单方便、实时性能可确定等特点而成为嵌入式网络常用协议之一。采用轮询访问协议,需要指定一个主节点作为中心主机来定期轮询各个从属节点,以显式分配从属节点访问共享介质的权力。这类协议的缺点也是明显的:轮询过程占用了宝贵的网络带宽,增加了网络负担;风险完全集中在主机节点上,为了避免因主节点失效而导致整个网络瘫痪的情况,有时须设置多个主节点来提高系统的健壮性(如ProFiBus现场总线)。
(2)带冲突检测的载波监听多路访问协议
带冲突检测的载波监听多路访问(2SMA/CD(Carrier Sense Multiple Access/(20nfliet De-tection)协议有许多不同的实现版本,核心思想是:一个节点只有确认网络空闲之后才能发送信息。如果多个节点几乎同时检测到网络空闲并发送信息,则产生冲突。检测到冲突的发送信息节点必须采用某种算法(如回溯算法)来确定延时长短,延时结束后重复上述过程再试图发送。CSMA/CD的优点是理论上能支持任意多的节点,且不需要预先分配节点位置,因此在办公环境中几乎占有绝对优势。但是CSMA/CD冲突产生具有很大的随机性,在最坏情况下的响应延时不可确定,无法满足嵌入式网络最基本的实时性要求。
(3)令牌环协议
在令牌环网中,节点之间使用端到端的连接,所有节点在物理上组成一个环型结构。一组特殊的脉冲编码序列,即令牌,沿着环从一个节点向其物理邻居节点传递。一个节点获得令牌后,如无信息要发送,则将令牌继续传递给下一个邻居;否则,首先停止令牌循环,然后沿着环发送它的信息,最后继续令牌传递。令牌环网的优点是:实时性可确定,因为容易计算出最坏情况下节点等待令牌的时间;令牌传递占用的网络带宽极小,带宽利用率很高,具有强大的吞吐能力。但这种协议在具体实现时为确保可靠性必须付出较大的代价:为避免因电缆断裂和节点失效导致整个网络瘫痪,常采用双环结构和失效节点自动旁路措施,导致实施成本增加;为立即检测到令牌是否意外丢失,不得不增加该协议实施的复杂性。