科技>电子技术>电子系统设计与仿真
串行通信技术——面向嵌入式系统开发

串行通信技术——面向嵌入式系统开发"

作者:周云波
ISBN:9787121358609
定价:¥68.0
字数:365千字
页数:228
出版时间:2019-01
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书主要介绍面向嵌入式开发的串行通信技术,从芯片和电路板入手介绍硬件,从源代码入手介绍软件,以便读者可以将这些技术嵌入自己的设计中。本书既包括理论基础,也包含实际产品设计方案。首先介绍串行通信协议、Modbus协议、HART协议,然后介绍RS-485串行通信的组网技术和通信转换器产品等内容,接着重点介绍以太网串口服务器的硬件和软件设计,以便读者进行嵌入式系统的开发。本书公开了实用的Modbus串口协议转换器和Modbus数据采集模块的全套设计资料,以及几种HART智能变送器的全套设计方案,作者还将自己的多项USB专利技术在本书中予以公开,如USB光纤传输技术、USB共享器、USB数据采集器、USB网络隔离器等。

前言

语言才是人类最伟大的发明。语言并非人类与生俱来的本能,对语言的掌握和使用才使得人类从动物界中脱颖而出,相对而言,文字不如语言重要。正如人类主要通过语言来进行交流,机器主要通过串行通信来交换数据。人类通过逐字逐句地说与听来交流,而机器之间的串行通信通过一个字节或一帧数据发送与接收来传输信息。人类有不同的语言,而机器有不同的串行通信协议;人类的语言遵循语法,机器的通信也遵循协议;人类的不同语言之间需要翻译,同样,机器的通信协议之间也要转换。如果说人类语言交流的听与说是串行通信,那么文字、图片的展示与人类的视觉感知就是并行通信。我们在日常生活中的交流依然以语言为主,机器之间也是这样,以串行通信为主。我们有时还可以直接听到串行数据的声音,比如现在的传真机,还有过去的电报机。 当打开电脑或手机,你一次就“并行”地看遍了一整张图片的内容,或者一目十行地读完了一篇文章,其实这些图片或文章内容的传输还是串行的,它们遵循互联网或者以太网传输协议—TCP/IP,这里的数据是串行的。我们在学校上课时就体验了串行通信的规则:一个串行通信总线中只能够同时有一个主机发送,即一个教室里只能有一个人发言,主要是老师;学生要发言就得举手,等待老师的点名后才可以发言,串行通信的从机必须先申请、等待主机发送从机地址后,该地址的从机才可以发送数据。一堂课里有大量时间是讲话停顿的,串行通信中最多的也是停顿信号。RS-485串行通信规则大抵也是如此。 现代社会的物质交流与串行通信,其实都遵循着某种相同的语法。我们现在发快递,必须在快递单的右边框里写上收件人地址、左边框里写上发件人地址,收件人收到快递后签字。完整的串行通信协议也需要接收方的地址和发送方的地址,以及数据位和校验位都必须填写在一帧数据的正确位置,收到数据后接收方会返回一条信息。Modbus协议和HART协议几乎就是这样规定的。 把串行通信与人类之间交流方式相比,会发现学习串行通信的乐趣。串行通信绝无人类的谎言,数据比人的语言更值得信任。串行通信的规则其实就那么几种,都源于我们的日常生活经验。只是我们早就习以为常,可能从来没有认真总结过我们交流的规则。当了解了串行通信,就会意识到人类是如此聪明,真实的通信世界与我们基于经验的思路是如此天人合一的。 从烽火狼烟、飞鸽传书、鸣笛传号到现代的电话机、传真机、Modem、串口、以太网/互联网,每一次通信技术的改进都是影响世界的发明或技术,它要么改变国运,要么孕育出巨大的商机。历史是由人创造的,串行通信亦是如此。不过,不只是个人,而是一群人,他们以这些公司的名义创造了历史:Bell Lab(Modem技术)、IBM(PC RS-232口)、HAYES(调制解调器)、MAXIM(RS-232和RS-485)、MODICON(Modbus协议)、Intel(USB口),等等,其中Bell和HAYES也是人名—贝尔和贺氏。这些公司都是业界巨头或世界500强,在串行通信史上掀起过巨浪,其中有些已经成为历史,比如贺氏。 有人坚信:语言改变世界。串行通信可以说是语言的发明对人类行为影响的余音;本书是那些串行通信巨头对世界影响的余音,至今余音绕梁,值得用写一本书来回味。 本书从简单介绍串行通信协议入手,以介绍串行通信的实用技术为主,公开了作者多年来从事串行通信开发的许多产品的硬件设计方案和软件源代码。我想,如果能够帮助读者把串行通信的理论变成实际成果,那才是读者可以体验的串行通信的真正乐趣,也是作者的真正乐趣。 如果读者有建议或意见,请联系作者,E-Mail:592905661@qq.com 周云波 2018年12月

目录

第1章 串行通信协议 (1) 1.1 串行通信简史 (1) 1.2 为什么要组成通信网 (2) 1.3 什么是串行通信 (3) 1.3.1 串行通信的概念和特点 (3) 1.3.2 串行通信的分类 (3) 1.3.3 串行通信的工作模式 (4) 1.3.4 串行通信参数 (5) 1.4 RS-232标准 (6) 1.5 RS-485标准 (7) 1.6 RS-422标准 (8) 1.7 RS-232与RS-485的区别 (8) 1.8 单片机的串口多机通信 (10) 第2章 Modbus协议 (12) 2.1 Modbus入门 (12) 2.1.1 Modbus的几个特点 (13) 2.1.2 Modbus网络的三种传输模式 (13) 2.1.3 Modbus与串口的关系 (13) 2.1.4 Modbus与串行通信的区别 (14) 2.2 Modbus协议简介 (14) 2.2.1 Modbus协议简述 (14) 2.2.2 Modbus通信使用的主-从技术 (14) 2.2.3 查询-回应周期 (15) 2.3 Modbus的ASCII和RTU传输模式 (15) 2.3.1 ASCII模式 (16) 2.3.2 RTU模式 (17) 2.4 ASCII和RTU消息帧 (17) 2.4.1 ASCII帧 (17) 2.4.2 RTU帧 (17) 2.4.3 地址域 (18) 2.4.4 功能域 (18) 2.4.5 数据域 (18) 2.4.6 错误检测域 (19) 2.4.7 字符的连续传输 (19) 2.5 错误检测方法 (19) 2.5.1 奇偶校验 (20) 2.5.2 LRC检测 (20) 2.5.3 CRC检测 (20) 2.6 Modbus的功能码定义 (22) 2.6.1 功能码在Modbus RTU信息帧中的位置 (23) 2.6.2 常用功能码 (23) 2.6.3 全部功能码的作用 (24) 2.7 Modbus的TCP传输模式 (25) 第3章 HART协议 (28) 3.1 HART协议概述 (29) 3.2 HART通信结构模型 (30) 3.2.1 HART协议物理层 (31) 3.2.2 HART协议数据链路层 (31) 3.2.3 HART协议应用层 (32) 3.2.4 各层间的功能关系 (33) 3.3 HART的消息帧结构 (33) 3.4 HART的操作命令 (36) 3.4.1 通用命令 (37) 3.4.2 普通命令 (37) 3.4.3 特殊命令 (38) 第4章 RS-485串行通信技术 (39) 4.1 RS-485/RS-422多机通信的组网方式 (39) 4.1.1 典型的RS-485总线式通信方式 (39) 4.1.2 菊花链式多机通信方式 (40) 4.1.3 星形RS-485多机通信方式 (40) 4.1.4 单环自愈RS-485多机通信方式 (41) 4.2 串口光纤多机通信的组网方式 (41) 4.2.1 简单的一对一串口光纤通信方式 (42) 4.2.2 总线式串口光纤多机通信方式 (42) 4.2.3 环形串口光纤多机通信方式 (43) 4.2.4 对串式串口光纤多机通信方式 (43) 4.3 串行通信的VB程序 (44) 4.4 地址串口转换的实现 (51) 4.4.1 地址串口转换器的使用 (51) 4.4.2 地址串口转换器的硬件设计 (53) 4.4.3 地址串口转换的纯软件实现 (55) 4.5 RS-485的节点数和距离极限 (57) 4.5.1 带中继功能的串口转换器 (58) 4.5.2 突破RS-485节点数和距离极限的布线方式 (59) 4.5.3 RS-485多机通信节点数的极限 (59) 4.5.4 无数据丢失的RS-485传输距离的理论极限 (60) 4.5.5 无误码的RS-485传输距离的理论极限 (60) 4.5.6 其他介质和其他总线的理论极限 (60) 4.6 串口波特率转换的实现 (61) 4.6.1 串口波特率转换器的使用 (61) 4.6.2 串口波特率转换器的硬件设计和单片机软件 (62) 4.6.3 串口波特率转换的纯软件实现 (64) 4.7 RS-232转RS-485通信电路 (65) 4.7.1 RS-232转RS-485通信电路的设计 (65) 4.7.2 RS-232端口供电技术 (66) 4.8 无源RS-232数据采集器 (68) 4.8.1 LTC1290芯片描述 (68) 4.8.2 硬件电路设计及QBASIC程序 (69) 4.8.3 数据采集器产品及VB程序 (71) 第5章 以太网串口服务器 (73) 5.1 以太网通信帧格式 (73) 5.1.1 以太网第二版(V2) (73) 5.1.2 IEEE 802系列 (74) 5.2 以太网串口服务器的发展 (75) 5.2.1 第一代产品:10 Mb/s以太网串口服务器 (76) 5.2.2 第二代产品:光电隔离100 Mb/s以太网串口服务器 (76) 5.2.3 对以太网虚拟串口的评论 (77) 5.3 以太网串口服务器的使用 (78) 5.4 以太网串口服务器的设计 (81) 5.5 PC设置和检测软件的参数配置操作 (82) 5.5.1 分配IP地址 (82) 5.5.2 配置设备参数 (84) 5.6 PC设置和检测软件的演示操作 (86) 5.6.1 TCP→RS-232 (86) 5.6.2 RS-232→TCP (87) 5.7 内部单片机的软件开发设计 (87) 5.7.1 软件要实现的功能目标 (88) 5.7.2 软件流程图 (88) 5.7.3 各类API接口函数 (90) 5.7.4 内部单片机的程序代码 (92) 第6章 Modbus串行通信技术 (94) 6.1 Modbus调试精灵软件 (94) 6.2 将普通串口设备接入Modbus (95) 6.2.1 安装与性能 (95) 6.2.2 通信格式及软件使用 (96) 6.2.3 PC的VB选地址程序 (97) 6.2.4 模块的硬件设计 (103) 6.2.5 模块的内部单片机程序 (104) 6.3 超小的Modbus测量模块 (107) 6.3.1 安装及性能 (107) 6.3.2 通信格式及软件使用 (108) 6.3.3 Modbus测量模块的硬件设计 (109) 6.3.4 Modbus测量模块的内部单片机程序设计 (110) 6.3.5 Modbus测量模块的外接PC程序设计 (112) 6.3.6 外接A/D转换芯片的Modbus测量模块的设计 (119) 第7章 HART智能变送器 (122) 7.1 HART Modem的原理与应用 (123) 7.1.1 HART Modem的原理 (123) 7.1.2 A5191HRT的性能与引脚功能 (124) 7.1.3 A5191HRT的内部结构与工作原理 (125) 7.2 HART协议通信模块的设计 (126) 7.2.1 HART协议通信模块的硬件电路设计 (126) 7.2.2 HART协议通信模块的软件设计 (127) 7.3 RS-232与HART转换器的设计 (127) 7.3.1 RS-232与HART转换器的设计原理 (127) 7.3.2 DS8500的基本工作原理 (128) 7.3.3 用DS8500实现的RS-232与HART转换器 (130) 7.4 一种HART智能变送器的设计 (130) 7.4.1 设计原理图 (131) 7.4.2 HART智能变送器设计及实现 (131) 7.5 HART温湿度智能变送器的设计 (134) 7.5.1 系统整体设计方案 (134) 7.5.2 Modem通信模块 (135) 7.5.3 HT2012在HART协议中的应用 (137) 7.5.4 MSP430与HT2012的接口设计 (139) 7.5.5 HT2012与外部接口 (139) 7.5.6 单片机MSP430性能 (141) 7.5.7 MSP430与D/A转换芯片AD421的接口设计 (141) 7.5.8 智能变送器的软件设计 (142) 第8章 USB通信技术应用 (146) 8.1 通过光纤传输USB信号 (147) 8.1.1 实现原理 (147) 8.1.2 将USB信号转换为便于光纤传输的信号 (147) 8.1.3 信号的处理方式 (149) 8.1.4 用光纤实现USB远程通信的其他方案 (150) 8.2 USB信号的光电隔离 (151) 8.2.1 USB光电隔离器 (152) 8.2.2 USB光电隔离技术 (152) 8.2.3 USB信号线的有待改进之处 (153) 8.3 无须设置的USB共享器 (154) 8.3.1 USB共享器的使用 (154) 8.3.2 双USB共享的切换逻辑 (155) 8.3.3 USB共享器的硬件设计 (156) 8.3.4 USB共享器的单片机软件设计 (157) 8.4 USB数据采集器 (159) 8.4.1 USB微型数据采集器的使用 (160) 8.4.2 数据采集器硬件电路设计 (160) 8.4.3 数据采集软件设计 (162) 8.5 采用USB私有协议的网络隔离器 (169) 8.5.1 网络隔离方案特征 (169) 8.5.2 网络隔离的具体实施方式 (170) 8.5.3 网络安全文件交换器 (172) 第9章 CAN串口转换器 (174) 9.1 CAN总线介绍 (174) 9.1.1 CAN协议和CAN总线的特点 (175) 9.1.2 CAN协议数据帧格式 (175) 9.2 CAN串口转换器CAN232B的使用 (177) 9.2.1 产品概述 (177) 9.2.2 性能指标 (177) 9.2.3 典型应用 (178) 9.2.4 配置说明 (178) 9.3 PC端配置和测试软件说明 (178) 9.3.1 串口参数设置 (179) 9.3.2 CAN参数设置 (179) 9.3.3 按钮说明 (181) 9.3.4 应用注意事项 (181) 9.3.5 CAN总线数据转发到串口示例 (182) 9.4 CAN串口转换器CAN232B的硬件电路设计 (182) 9.4.1 电路PCB设计 (182) 9.4.2 电路原理图设计 (183) 9.5 在Delphi中用SPCOMM实现PC端串口编程 (183) 9.5.1 SPCOMM控件的安装 (185) 9.5.2 SPCOMM的属性、方法和事件 (185) 9.5.3 SPCOMM的使用 (185) 9.6 CAN232B的PC端程序源代码 (187) 9.7 内部单片机的软件开发设计 (199) 参考文献 (218)

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=TN358600

www.luweidong.cn

下一个