前言
语言才是人类最伟大的发明。语言并非人类与生俱来的本能,对语言的掌握和使用才使得人类从动物界中脱颖而出,相对而言,文字不如语言重要。正如人类主要通过语言来进行交流,机器主要通过串行通信来交换数据。人类通过逐字逐句地说与听来交流,而机器之间的串行通信通过一个字节或一帧数据发送与接收来传输信息。人类有不同的语言,而机器有不同的串行通信协议;人类的语言遵循语法,机器的通信也遵循协议;人类的不同语言之间需要翻译,同样,机器的通信协议之间也要转换。如果说人类语言交流的听与说是串行通信,那么文字、图片的展示与人类的视觉感知就是并行通信。我们在日常生活中的交流依然以语言为主,机器之间也是这样,以串行通信为主。我们有时还可以直接听到串行数据的声音,比如现在的传真机,还有过去的电报机。
当打开计算机或手机,你一次就“并行”地看遍了一整张图片的内容,或者一目十行地读完了一篇文章,其实这些图片或文章内容的传输还是串行的,它们遵循互联网或者以太网传输协议—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月