一种多机通信装置及其多机通信的实现方法 【技术领域】
本发明属于通信技术领域,特别是涉及一种主从式一对多的多机通信系统及其多机通信的实现方法。背景技术
在各种设备使用系统中,“主从式一对多”多机通信是很常见的通信模式,而在目前的多机通信中最常见的问题有:
不同的设备有不同的通信模式,具体表现为:不同的传输速率、不同的协议结构、不同的数据格式。这样就存在一个设备选择问题,如果用总线结构,那么不同设备之间怎么鉴别出是自己的指令以及相互间通信的安全性问题就成为一个棘手的问题,这样可能出现的情况有:1、不同的波特率会使设备接收混乱的信息;2、不同的设备间可能有相同或相近的鉴别信息;3、一个设备地通信数据中可能会出现另一个设备的鉴别信息。这几种情况都可能造成通信的混乱或死机。对以上问题最常见的解决办法是在一对多的通信中加一个通信分配器,每次与不同的设备通信,先指明要发送的字节和接收的字节数,再指明通信方式,再由通信分配器给不同的设备发送和接收,再返回给上位机,这种方式虽能很好地解决前面出现的问题,但缺点显而易见:通信过程太复杂,通信效率低。发明内容
本发明的目的是针对上述存在的问题,提供一种可实现主机与各被选择通道设备间的透明通信,且切换可靠、通信安全、速度快、通信范围广的主从式一对多多机通信装置及其多机通信的实现方法。
本发明的技术方案是这样实现的:
一方面,一种多机通信的实现方法包括以下步骤:
1)、产生与正常通信数据独立的通信前缀;
2)、鉴别上述通信前缀,产生通道选择信号;
3)、根据上述通道选择信号产生具体切换控制指令;
4)、根据上述具体切换控制指令,控制对应的下位机与上位机连通并组成透明通信口,完成通信。
另一方面,一种多机通信装置,包括有一个上位机、通信分配器和多个下位机,其特点是所述通信分配器包含有通信前缀鉴别电路、与下位机数量相同的多个通道控制切换电路及多个通信口,其中通信前缀鉴别电路与上位机及各下位机连接并接收上位机发出的通信前缀,各通道控制切换电路一端与上位机相连,另一端与各通信口一一对应相连,且各通道控制切换电路的控制端与通信前缀鉴别电路的输出端连接,各通信口分别与各下位机一一对应连接。
其中上述各通道控制切换电路包括连接在上位机发送数据给下位机的通道上的发送通道控制切换电路和连接在下位机返回数据给上位机的通道上的返回通道控制切换电路。
本发明由于采用在上位机与各下位机的相互通信中的各正常数据前面增加一个通信分配器可识别的通信前缀来作为通道鉴别选择通信口的依据,使通信分配器可以在每一次通信过程中监测到上位机或下位机的所有信息并根据通信前缀中的通道选择指令来可靠地将相对应的下位机与上位机组成透明通信口,实现上位机与对应的下位机间的透明通信。同时增加通信前缀的方法不仅适应不同设备的不同通信协议,也适应通信系统的扩展和增加新设备,使其可以与其它设备完全兼容。而且本发明中增加通信前缀的方法简单实用,其只需要在上位机与对应的下位机的通信数据前增加一个协议允许的、通信分配器可以识别的由多个字节组成的包含有通道选择指令的固定波特率的前缀即可以,同时通信前缀也可以是固定的,只需要更改其中的通道参数即可以选择不同的通道,不需要复杂的通信倒换,通信的效率几乎和一对一通信没多大区别,能较好地解决目前多机通信中存在的问题。
以下结合附图详细描述本发明的基本组成与实现方法及原理:附图说明
图1是本发明的结构组成方框图;
图2是本发明所述发送通道的通道控制切换电路的电原理图;
图3是本发明所述返回通道的通道控制切换电路的电原理图;
图4是本发明的实现流程图。具体实施方式
如图1所示,本发明所述多机通信装置包括有一个上位机、通信分配器和多个下位机,其特征在于所述通信分配器包含有通信前缀鉴别电路、与下位机数量相同的多个通道控制切换电路及多个通信口,其中通信前缀鉴别电路与上位机及各下位机连接并接收上位机发出的通信前缀,各通道控制切换电路一端与上位机相连,另一端与各通信口一一对应相连,且各通道控制切换电路的控制端与通信前缀鉴别电路的输出端连接,各通信口分别与各下位机一一对应连接。其中,为便于上传和下发数据信息,上述各通道控制切换电路包括连接在上位机发送数据组下位机的通道上的发送通道控制切换电路和连接在下位机返回数据组上位机的通道上的返回通道控制切换电路。其中发送和返回通道选择控制电路的具体实现有多种电路组成,本实施例中为保证通信口的扩展能力、切换能力、切换速度及通信速率范围等方面具有优越的性能,从而使其可以在通信过程中无缝切换,选用了如图2及图3所示的带光耦的具有隔离和增加设备可靠性的通道切换电路。如图2所示,上述发送通道控制切换电路包括三极管Q1、Q2、光耦ISO1、电阻R1、R2、R3、R4、R5、R6、R7、R8、电容C1,其中三极管Q1、Q2采用2N4401,光耦ISO1采用6N136,电阻R3一端为与上位机连接的总通信口,其另一端与三极管Q2的基极连接,电阻R4为与通信前缀鉴别电路的其中一控制端连接的某一通道的控制端口,其另一端与三极管Q2的基极连接,电阻R5连接在三极管Q2的基极与地之间,电阻R2、R6串联连接在电源与地之间,其交接点与三极管Q2的集电极及三极管Q1的基极连接,且三极管Q1、Q2的发射极接地,电阻R1连接在电源与光耦ISO1的第二脚之间,光耦ISO1的第三脚与三极管Q1的集电极连接,光耦ISO1的第8脚接控制电源,电阻R7一端与控制电源连接,其另一端为某一通道的对应下位机相连的一对应通信口,且其与光耦ISO1的第6脚连接,光耦ISO1的第7脚串接电阻R8后接地,其第6脚串联电容C1后接地,其第5脚接地。如图3所示,上述返回通道控制切换电路包括三极管Q3、Q4、Q5、光耦ISO2、电阻R9、R10、R11、R12、R13、R14、R15、R16、R17、电容C2,其中三极管Q3、Q4、Q5分别采用2N4401,光耦ISO2采用6N136,电阻R9串接在控制电源与光耦ISO2的第2脚之间,电阻R10的一端为与某一下位机相连的某一通信口,其另一端与三极管Q3的基极连接,电阻R11串接在三极管Q3的基极与地之间,三极管Q3的集电极与光耦ISO2的第3脚连接,其发射极接地,电阻R17的一端为与通信前缀鉴别电路的对应通道的控制端连接的对应控制端口,其另一端与三极管Q5的基极连接,电阻R16串接在三极管Q5的基极与地之间,电阻R13串接在三极管Q4的集电极与电源之间,且三极管Q4的集电极为与上位机连接的总通信口,三极管Q4的基极与三极管Q5的集电极连接,且三极管Q4、Q5的发射极接地,电阻R12串接在三极管Q4的基极与电源之间,电阻R15串接在三极管Q4的基极与地之间,电阻R14串接在光耦ISO2的第7脚与地之间,电容C2串接在光耦ISO2的第6脚与地之间,且光耦ISO2的第6脚与三极管Q4的基极连接,光耦ISO2的第8脚接电源,其第5脚接地。
本发明所述的多机通信的实现方法如图4所示,其包括以下步骤:
首先,在多机通信系统的上位机和各下位机之间设置一个包含有通信前缀鉴别电路及通道选择控制切换电路和至少两个通信口的通信分配器;
其次,在上位机和各下位机之间分别协议产生一个通信分配器可识别的由至少两位字节组成的与正常数据独立的通信前缀;其中由于通信数据中出现数据的几率是不相同的,可以用通信中出现概率较小的数据作通信前缀,那么只要设置合适的通信前缀长度,出现非正常“通信前缀”的概率几乎没有。就可以认为安全性是可以通过的。所以本发明实施方案中的通信前缀包括有由至少一位字节组成的通道选择指令和由至少一位字节组成的固定波特率的前缀。本实施例中,为有效保证本发明的安全性,考虑到通信分配器监测上位机下发的所有数据,主要工作就是寻找通信前缀,寻找完全匹配的字节串,上位机下发通信前缀时他就会找到进行通道分配。不安全的情况是非正常通信前缀被误认为通信前缀,他可能是因为在正常通信中产生的发送数据串正好与通信前缀相符,那他发生的概率是多少呢?从随机数的概率两个等长字节串完全相同的概率为256的N次方份之一,N为字节长度,那么有6个以上的随机字节完全相同的概率几乎为零。因此,本实施例中上述通信前缀包括由两位字节组成的通道选择指令和由四位字节串组成的固定波特率的前缀。
最后,通信分配器的通信前缀鉴别电路鉴别上述通信前缀并产生通道选择信号,再根据所述通道选择信号产生具体的切换控制指令并由通道选择控制切换电路根据上述具体切换控制指令控制选择对应的通信口并将与该通信口一一对应的下位机与上位机连通组成透明通信口通道进行透明通信。
本发明所述的通道选择的切换工作原理如下:
图2、图3为本实施例通道选择的具体实现电路,其中CONn为第n路控制端,高电平时该路通信口被封锁,低电平时该路通信口被选择,RXD、TXD与上位机通信口(总通信口)隔离后相连,STXDn、SRXDn为与设备相连的第N路通信口信号,当CONn为高电平时,STXDn、SRXDn信号被封锁,如图2:当CONn为高时不管TXD电平如何,Q2导通而Q1截止,ISO1截止,STXDn输出为高电平则是通信停止时的默认状态;如图3:当CONn电平高时,不管SRXDn信号状态如何,Q5导通而Q4截止,从而不会影响RXD总线,当CONn为低电平时,通道被选择。如图2:当CONn为低电平时,Q2只受TXD信号控制,TXD高,Q2导通而Q1截止,ISO1截止,STXDn输出为高电平,TXD信号为低,Q2截止而Q1导通,ISO1导通,STXDn输出为低电平,STXDn信号跟随RXD输出;SRXDn信号也一样,如图3:当CONn信号低时,Q5截止,当SRXDn信号高时,Q3、ISO2导通,Q4截止RXD输出高电平(正常工作时只能一路CONn被选择,其余的信号都要被设为高电平),SRXDn信号低时Q3、ISO2、Q5截止,Q4导通,RXD输出低电平,与SRXDn信号保持一致。由上分析可知CONn低的通信口被选择与上位机组成透明通信口。但是最多也只能有一路通信口被选择(低电平)。同时在本实施例中只要TXD信号的驱动能力足够强,就可以根据需要来扩充足够多的通信口,大大提高本发明的扩展能力。