串行通讯的一些认识

时间:2023-03-15作者:佚名

1、串行通讯只有一个传输通道,每个时刻只能表达一种状态。不管什么介质,不管是什么信号,我们用1表示一种状态,用0表示另一种状态。
2、只用1和0两种状态,是不能表达更多信息的。好在有一个物理量,对每个系统来讲是统一的,那就是时间。我们现在很容易做到不同系统之间的定时误差控制在PPM数量级。1和0在时间上进行有序的组合,就可表达近乎无限的信息。
3、任何一个信号,如果不赋给它一些特点的意义,实际上没什么用。两个系统要通过信号交换信息,必须对信号有一个共同的约定,这就是我们通常所说的协议。
4、最基本的协议是物理层面的(那个OSI的七层协议模型,第一层就是物理层协议)。RS232、RS485、RS422,这些是物理层面的一些协议。
5、我们现在要谈的是异步串行通讯。异步,发达方和接收方之间,没有额外的通道来传送信息何时传送与接收。每个信息单元的起止时间,发送方编在信息中,由接收方自已解码并同步。
6、好。现在来讲一下传送一个字节的过程。在没有传送信息时,传输线处于空闲状态。规定:空闲状态为1。发送方(TX)准备发送,驱动传输线让它由1变为0,并持一位的时间长度,我们把这一位叫做起始位。接收方(RX),检测到传输线由1变0,意味着可能有信息要传了,RX就持续检测,以验证这个0是不是持续了规定的一位时间长度,若是个合法的起始位,就按约定的定时方式,把后续的传输线状态,接收为1个字节。TX在发完起始位后,就发字节中的第一个位(bit),并依次把字节中的所有位发完,每bit均持续相同的一位时长。然后再发校验位(如果约定发/收方都采用的话)、停止位。
7、停止位,这个要说一下。我们知道起始位是0,而这个停止位,规定是1,和传输线的空闲状态1是相同的。停止位规定的时长比较乱,有1位停止位(也就持续时间占1个位长)、1.5位、和2位停止位,其它时长的停止位好象没见过。停止位的作用,其一是作为一字节单元的成员,给接收方定时用的,也就是下一个字节,在停止位之后才开始。另一个作用,可供检查字节传送的完整性。因为停止位是规定为1状态的,若在停止位的时间里测到了非1状态,表示这个字节传送有问题,有可能被接收方丢弃,传送失败。
8、若收发双方的停止位不相同,怎么办?这个在论坛上经常有人问。好,我们来分析一下。若TX是2个停止位,RX要求是1个停止位,很好,TX多发的一个停止位,会被RX看作是空闲状态(也可认为是字符间隔),没有任何问题。若反过来,TX是1个停止位,RX要求是2个停止位,有问题吗?一般问题是很大的,但也有可能可以正常通讯。这要看TX是怎么发字节的。有些系统,硬件上,发送电路比较简单,没有缓冲机构,一个字节必须完整发送后,才准备下一个字节的数据,而这个准备需要花一些时间的,这就给传送的时序上,停止位之后,有了空闲时间,相当于停止位得到了延长。所以我曾经发过一个贴子说,S7200的发送改为单字节发送,每个字节之间有意插入一些延时,人为造成空闲时间,以充当停止位,但这个方法说归说,我并没有试过。可惜的是,现在的系统,硬件都做得很完美了,包括S7200,TX是有缓冲的,在一个字节还未发完前就可以接受下一个要发送的字节,硬件上保证一个字节发完后可以立即启动下一个字节发送,前后两字节间除了停止位,没有额外的间隙,这种情况下,接收方就要命了,RX认为还在收停止位时,下一个字节的起始位就来了,没办法完整接收,通讯就失败了。
9、波特率。两边设为一致就可以了。波特率不一致,铁定不能通讯。但允许有少量的误差。停止位实际上还用来调节这个误差的。比如1个停止位,RX并不死板要求停止位是完整的1个位时长,实际只要停止位超过0.5个位长就算是合格了。波特率,就是每秒最快能传送的位数,包括了起始位、停止位这些辅助位。实际每秒能传送的最快字节数,要看这些辅助位的多少。比如一个11位结构的字节单元:1起始位 8字节位 1校验位 1停止位,字节最快传送速率为band/11。好象还有一个概念,叫比特率,也就是有效的位传送速率,比特率=8*(band/11),也就是比特率比波特率要小的。
10、RS232的TX和RX是两根独立的线,收/发可以同时进行,所以叫作全双工异步串行通讯。按我们日常两人交谈的经验,总是A说B听,当B要说时,A就停下来听B说。如果A、B同时说,这是吵架,要达到相互交流就难了。同样,通讯若同时收发,一般人会白白死掉很多脑细胞而写出的程序通讯效果还是很差。所以,即使RS232能双向同时, 一般使用时也是收、发不同时的。
11、RS485。RS232不错了,但局限性大大的。RS485收发同线,允许多少RS485并联使用,电气采用差分传送信号,可以抗干扰。S7200就属于RS485。RS485设备同一时间只能发或再改,收发是分时的,所以叫做准双向。尽管S7200中可以同时缓冲8个NETR和NETW,实际在RS485层面,还是一个一个分时完成的(由系统程序根据PPI协议协调)。RCV和XMT完全由用户程序控制,你就不能同时让两个都执行,否则就是哄抢资源而被S7200当成错误处理。
12、RS422,介于RS232和RS485。RS422和RS232一样收、发线独立,但电气上采用和RS485一样的差分信号。所以RS422能多机通讯,比RS232传得远,但比RS485浪费硬件资源。RS422只要软件上采用准双向的规则,通过发收线合并,可以简化为RS485,和RS485设备通讯。但RS485却不能复杂化成RS422使用。

相关阅读

三菱PLC在应用中注意的事项

三菱 plc 应用中应注意的问题, PLC 是专门为工业生产服务的控制装置,通常不需要采取什么措施,就可以直接在工业环境中使用。但是,当生产环境过于恶劣,电磁干扰特别强烈,或安...
2023-03-21

电动机正反转PLC控制,收藏学习

按下正转启动按钮SB1,电动机正转接触器KM1线圈接通得电,接触器KM1主触点接通,电动机正转启动,按下停止按钮SB3,电动机正转接触器KM1线圈失电,接触器KM1主触点断开,电动机停止...
2023-06-25
电动机正反转PLC控制,收藏学习

老电工珍藏36种自动控制原理图和36种常见照明电路图!你收藏了吗

36种自动控制原理图 可控硅调速电路电磁调速电机控制图三相四线电度表互感器接线能耗制动顺序启动,逆序停止锅炉水位探测装置电机正反转控制电路红外防盗报警器 36种常见照明电...
2023-06-11
老电工珍藏36种自动控制原理图和36种常见照明电路图!你收藏了吗

LDO的类型及其工作原理

1、什么是LDO LDO(Low Dropout Regulator),是一种低压差线性稳压器,所谓低压差是一个相对的概念,相对于传统的线性稳压器来说输入输出压差小。传统的线性稳压器,如7805芯片都要求输...
2023-06-14
LDO的类型及其工作原理

电场上夜班的困境与出路

在电厂工作,上夜班是许多工人面临的现实。一辈子在电场上夜班,结局会如何?这是一个值得深入探讨的话题。 正如文章中所提到的,电场上夜班的工作模式对工人的身心健康造成了巨大...
2024-09-04
电场上夜班的困境与出路

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目