通信电路、通信网络及通信异常处理方法
技术领域
本申请涉及一种通信技术领域,特别涉及通信电路、通信网络及通信异常处理方法。
背景技术
RS485通信总线作为一种常用的工业自动化通信总线,其广泛应用在工业控制、仪器、仪表、多媒体网络及机电一体化产品等诸多领域。现有的RS485通信电路包括RS485接口芯片和控制芯片,RS485接口芯片电连接在RS485通信总线上。RS485属于半双工串行传输,RS485传输可能因现场发生线路异常、短路或断路等而造成全网瘫痪,进而从站状态无法回报到主站。在RS485通信发生未知传输线路异常造成全网瘫痪,RS485通信无法进行,进而无法进行下一步的通信故障检测及修复。
发明内容
有鉴于此,有必要提供一种通信电路、通信网络及通信异常处理方,在通信异常时为进行通信故障检测及修复提供基础。
本申请的第一方面提供一种通信电路,该通信电路包括:接口芯片,用于接收控制芯片传输的数据,并通过通信总线发送数据,或通过通信总线接收数据,并传输给控制芯片;控制芯片,用于向所述接口芯片传输数据或接收所述接口芯片传输的数据;所述控制芯片进一步用于向备用通信单元发送第一使能控制信号,以使所述备用通信单元处于发送数据状态或接收数据状态,并向所述备用通信单元传输点对点连接信号,所述控制芯片还进一步用于接收所述备用通信单元传输的连接控制信号,并根据接收到的连接控制信号选定所述通信总线相应的信道进行通信;及备用通信单元,用于接收所述控制芯片传输的点对点连接信号,将接收到的点对点连接信号转化成差分的连接控制信号,并通过所述通信总线发送差分的连接控制信号,所述备用通信单元进一步用于通过所述通信总线接收差分的连接控制信号,将接收到的差分的连接控制信号转化成直流的连接控制信号,并将直流的连接控制信号传输给控制芯片。
本申请第二方面提供一种通信网络,该通信网络包括:用于传递通信信号的通信总线;通过通信总线进行相互间的通信的主设备与多个从设备;主设备包括用于执行下列操作的通信电路:产生用于与通信网络上的从设备之间进行通信的通信信号,并在所述通信总线上传输所述通信信号;从所述通信总线上接收从设备传递的通信信号,实现与从设备通信;若未接收到从设备传递的通信信号,则产生用于与通信网络上的从设备之间进行通信的点对点连接信号,并将点对点连接信号转化为差分的连接控制信号,并在所述通信总线上传输所述连接控制信号;从所述通信总线上接收从设备传递的连接控制信号,实现与从设备通信;每个从设备均包括用于执行下列操作的通信电路:从所述通信总线上接收主设备或其他从设备传递的通信信号,并在所述通信总线上传输所述通信信号;进一步从所述通信总线上接收主设备或其他从设备传递的连接控制信号,将接收到的连接控制信号转化成直流的连接控制信号,并根据所述连接控制信号产生开关控制信号,根据所述开关控制信号开启相应的总线接口开关,以导通所述通信总线上相应的信道,通过所导通的通信总线上的信道传输所述连接控制信号。
本申请第三方面提供一种通信异常处理方法,该方法应用于包括控制芯片和备用通信单元的主设备,该方法包括:控制芯片检测到通信异常时,读取网络拓扑信息;控制芯片根据所述网络拓扑信息获取指定设备信息,其中,所述指定设备包括网络拓扑上信号传输的设备;控制芯片根据所述指定设备信息向备用通信单元传输点对点连接信号,其中所述点对点连接信号用于指示所述备用通信单元与通信总线上电连接的一指定设备进行点对点通信,及所述备用通信单元将接收到的点对点连接信号转换成差分的连接控制信号,通过通信总线向所述指定设备发送连接控制信号,以使得所述指定设备根据所述连接控制信号进行相应操作,建立起所述主设备与所述指定设备的通信连接。
本申请第四方面提供一种通信异常处理方法,该方法应用于包括控制芯片、备用通信单元和开关单元的从设备,该方法包括:备用通信单元通过通信总线接收主设备发送的差分的连接控制信号,并将接收到的连接控制信号转化成直流的连接控制信号,其中,所述连接控制信号是主设备检测到通信异常时发送给指定设备的点对点通信信号;及控制芯片接收所述备用通信单元传输的所述连接控制信号,并根据所述连接控制信号输出开关控制信号;开关单元根据所述开关控制信号开启相应的总线接口开关,以导通所述通信总线上相应的信道,建立起从设备与主设备的通信连接。
本申请第五方面提供一种通信异常处理方法,该方法应用于包括主设备和多个从设备的通信网络,该方法包括:主设备检测到通信异常时,读取网络拓扑信息;主设备根据所述网络拓扑信息获取指定设备信息;主设备根据所述指定设备信息将第一点对点连接信号通过第一传输口发送,并通过通信总线将所述第一点对点连接信号沿第一传输方向向指定的一从设备传输;从设备根据所述第一点对点连接信号控制其总线接口开关开启或关闭,以导通第一传输路径;主设备在第一传输路径上进行通讯的轮询,将无响应的设备记录为第一终端站点;主设备根据所述指定设备信息将第二点对点连接信号通过第二传输口发送,并通过通信总线将所述第二点对点连接信号沿第二传输方向向指定的另一从设备传输;从设备根据所述第二点对点连接信号控制其总线接口开关开启或关闭,以完成第二传输路径上的轮询;主设备在第二传输路径上进行通讯的轮询,将无响应的设备记录为第二终端站点;及主设备控制所述第一终端站点及所述第二终端站点之间的总线接口开关关闭。
本申请提供的通信电路、通信网络及通信异常处理方法,在广播通信异常时,通信无法使用,相对于现有的通信网络中的通信方式单一,通过增设一个备用通信单元,增加通信的稳定性,由控制芯片在通信无法使用时启动备用通信单元进行点对点通信,通过点对点通信能保证从站接收到主站发送的信号并作相应的操作,可以避免使用广播通信故障时无法得知从站状态,进而无法进行下一步的通信故障检测及修复。如此,本申请实施方式提供的通信电路、通信网络及通信异常处理方法,可以为通信故障检测及修复提供基础,进行通信异常处理。
附图说明
图1为本申请一个实施例提供的通信电路结构示意图;
图2为本申请一个实施例提供的通信网络结构示意图;
图3为本申请另一个实施例提供的通信网络结构示意图;
图4为本申请另一个实施例提供的通信电路结构示意图;
图5为本申请另一个实施例提供的另一通信电路结构示意图;
图6为本申请另一个实施例提供的另一通信电路结构示意图;
图7为本申请另一个实施例提供的另一通信网络结构示意图;
图8为RS422的四路信号转换的示意图;
图9为本申请另一个实施例提供的另一通信网络结构示意图;
图10为本申请另一个实施例提供的一种通信异常处理方法流程示意图;
图11为本申请另一个实施例提供的另一种通信异常处理方法流程示意图;
图12为本申请另一个实施例提供的另一种通信异常处理方法流程示意图;
图13为本申请另一个实施例提供的通信异常排查重新联机流程示意图。
主要元件符号说明
通信网络 100
RS485通信总线 01
第一传输端口 021
第二传输端口 022
主设备 02
从设备 03
从设备1 031
从设备2 032
从设备3 033
通信电路 101
RS485接口芯片 10
备用通信单元 20
控制芯片 30
开关单元 40
终端电阻 50
第一备用单元 21
第二备用单元 22
第一RS422芯片 211
第二RS422芯片 221
第一转换器 212
第二转换器 222
第一总线接口开关 41
第二总线接口开关 42
如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,当一个元件被称为“电连接”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“电连接”另一个元件,它可以是接触连接,例如,可以是导线连接的方式,也可以是非接触式连接,例如,可以是非接触式耦合的方式。
参见图1,图1为本申请一个实施例提供的通信电路,该通信电路包括一个RS485接口芯片以及一个控制芯片,每个RS485接口芯片电连接在RS485通信总线上。RS485属于半双工串行传输,RS485传输可能因现场发生线路异常、短路或断路等而造成全网瘫痪,进而从站状态无法回报到主站。本实施例提供的通信电路,具有在RS485通信发生未知传输线路异常造成全网瘫痪,RS485通信无法进行,进而无法进行下一步的通信故障检测及修复的不足。
参见图2,图2为本申请一个实施例提供的通信网络的示意图。在RS485通信网络中一般采用主从通信方式,两个或者两个以上的设备组成的通信网络中,至少且只有一个主站,其他的设备是从站。从站不能主动向主站发送数据。主站具有访问从站的权限,从站不可以主动访问从站。任何一次数据交换,都要由主站发起。不管是主站还是从站,系统一旦上电,都要把自己置于接收状态(或者称为监听状态)。主站与从站的数据交互,需要主站将自己转为发送状态,由主站发出寻址数据帧。
下面以RS485通信为例,通信总线为RS485通信总线,来详细介绍本申请的另一个实施例提供的通信网络。
请参阅图3,图3为本申请另一个实施例提供的一种通信网络100,该通信网络100包括RS485通信总线01、一个主设备02及N个从设备03,N为大于1的整数。
可以理解,本申请提供的通信网络100可以为RS485通信网络,RS485通信网络可应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。
在其中一种可能实现方式中,RS485通信通信网络应用在工业控制,主设备02为PC监控机,从设备03为传感器、智能仪表或智能监控系统等,如工厂流水线的各个加工控制平台都需要实时监控相关的参数,比如化工厂需要实时监控各个反应池中温度、湿度、PH值等信息,位于加工环节中的传感器、智能仪表或监控系统通过该RS485通信网络将这些信息反馈回PC监控机,PC监控机即可以对这些信息进行判断,控制各加工环节有序地进行,从而实现准确控制和无人值守,极大地节约了人力人本。
在其中一种可能实现方式中,RS485通信网络应用在大棚温室控制系统,主设备02为上位机,从设备03包括温度传感器、湿度传感器、二氧化碳传感器、土壤水分传感器等,温度传感器用于监控大棚温室内的温度,湿度传感器用于监控大棚温室内的湿度,二氧化碳传感器用于监控大棚温室内的二氧化碳,土壤水分传感器用于监控大棚温室内的土壤水分,温度传感器、湿度传感器、二氧化碳传感器及土壤水分传感器将监控到的信息通过RS485通信网络传输给上位机。
在RS485通信网络中,主设备02通过RS485通信总线01与N个从设备03环形连接,形成环状通信网络,用于实现主设备与多个从设备通信。主设备02将信号通过RS485通信总线01发送至起始从设备031,当前从设备031接收信号并通过RS485通信总线01发送至下一从设备032,从设备032通过RS485通信总线01发送至下一从设备033,若主设备02通过RS485通信总线01接收到末尾从设备033发送的信号,结束通信;若主设备02通过RS485通信总线01未接收末尾从设备033发送的信号,则通信异常。
需要说明的是,通常情况下,RS485通信总线01为一对双绞线,将RS485通信总线01的第一信号端定义为A,RS485通信总线01的第二信号端定义为B,A、B两端之间的正电平在+2V~+6V之间,其为一个逻辑状态,A、B两端之间的负电平在-2V~-6V之间,其为另一个逻辑状态。RS485通信总线01采用平衡发送和差分接收方式实现通信,例如,主设备02将串行口的ttl电平信号转换成差分信号后,由A、B两路线缆传输给从设备03,从设备03将从A、B两路线缆接收到的差分信号还原成ttl电平信号。
主设备02包括第一传输端口021和第二传输端口022,其中,第一传输端口021和第二传输端口022分别用于传输RS485通信信号或点对点通信信号。
N个从设备03通过RS485通信总线01串联成级联网络,级联网络的首端通过RS485通信总线01与主设备02的第一传输端口021连接,级联网络的尾端通过RS485通信总线01与主设备02的第二传输端口022连接,从而形成环状网络架构。
在本申请实施例中,参见图3,RS485通信时,主设备02通过第一传输端口021发出信号,经过通信网络100,主设备02通过第二传输端口022接收到信号,则RS485通信正常。主设备02通过第一传输端口021发出信号,经过通信网络100,主设备02通过第二传输端口022接收不到信号,则RS485通信异常。主设备02通过第二传输端口022发出信号,判断RS485通信的方式相似。
主设备02和从设备03分别包括通信电路101。每个通信电路101通过RS485通信总线01连接成环形电路结构,将传统RS485级联网络设置为环形网络,使其具有了自动侦测网络拓扑、排除通讯故障、并自我恢复通信等功能。
下面以接口芯片为RS485接口芯片,第一收发芯片和第二收发芯片分别为RS422芯片为例,来介绍本申请另一个实施例提供的通信电路。
请参阅图4,图4为本申请另一个实施例提供的通信电路101结构示意图。该通信电路101包括RS485接口芯片10、备用通信单元20、控制芯片30、开关单元40及终端电阻50。
其中,RS485接口芯片10电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的数据或向控制芯片30传输数据,以及向RS485通信总线01发送数据或接收RS485通信总线01上的数据,以实现RS485通信。
在本申请实施例中,参见图5,RE非为RS485接口芯片10的数据接收使能端,DE为RS485接口芯片10的数据发送使能端、RO为RS485接口芯片10的数据接收端、DI为RS485接口芯片10的数据发送端、VCC为RS485接口芯片10的电源端、A1为RS485接口芯片10的第一收发端、B1为RS485接口芯片10的第二收发端和GND为RS485接口芯片10的接地端。GPIO为控制芯片30的信号控制端、RDX为控制芯片30的数据接收端和TXD为控制芯片30的数据发送端。
RS485接口芯片10的数据接收使能端RE非和数据发送使能端DE分别与控制芯片30的信号控制端GPIO相连,用于接收控制芯片30发送的第二使能控制信号,使得RS485接口芯片10处于数据发送状态或数据接收状态。RS485接口芯片10的数据接收端RO与控制芯片30的数据接收端RXD相连,RS485接口芯片10的数据发送端DI与控制芯片30的数据发送端TXD相连,用于将接收到的数据传输给控制芯片30,或接收控制芯片30传输的数据。RS485接口芯片10的第一收发端A1与RS485通信总线01的第一信号端A相连,RS485接口芯片10的第二收发端B1与RS485通信总线01的第二信号端B相连,用于将接收的数据通过第一收发端A1、第二收发端B1向RS485通信总线01传输,或通过第一收发端A1、第二收发端B1接收RS485通信总线01传输的数据。在RS485接口芯片10与RS485通信总线01之间连接有接口电路(图未示),以构成RS485通信电路101,完成RS485通信。具体工作原理本申请不再赘述。
需要说明的是,RS485接口芯片10的数据信号采用差分传输方式,RS485接口芯片10将接收到RS485通信总线01上传输的差分信号转换成直流信号传输给控制芯片30,控制芯片30对数据进行处理后传输直流信号给RS485接口芯片10,再由RS485接口芯片10将该直流信号转换成差分信号后,通过第一收发端A1、第二收发端B1向RS485通信总线01输出,进行RS485通信。
其中,控制芯片30电连接RS485接口芯片10和备用通信单元20,用于在RS485通信正常时,向RS485接口芯片10发送数据或接收RS485接口芯片10传输的数据,建立RS485通信连接;在RS485通信异常时,通过第一信号控制端向备用通信单元20的使能端发送第一使能控制信号,以使备用通信单元20处于发送数据状态或接收数据状态,控制芯片30进一步用于向备用通信单元20传输点对点连接信号,其中,该点对点连接信号用于指示备用通信单元20与RS485通信总线01上电连接的一指定设备进行点对点通信;控制芯片30还进一步用于接收备用通信单元20传输的连接控制信号,并根据接收到的连接控制信号控制开关单元开启或关断,建立点对点通信连接。
在本申请实施例中,控制芯片30检测到RS485接口芯片10通信异常时,启用备用通信单元20进行点对点通信。如图3所示,其中一种实现方式:在RS485通信异常时,主设备02可以通过第一传输端口021传输点对点连接信号至右边第一邻近从设备031,从设备032和从设备031之间、从设备033和从设备032之间可以通过其各自备用通信单元20进行点对点通信,以此实现主设备02与该从设备03的点对点通信。主设备02也可以通过第二传输端口022传输点对点连接信号至左边第一邻近从设备033,从设备031、从设备032和从设备033之间也可以通过其各自备用通信单元20进行点对点通信,以此实现主设备02与该从设备03的点对点通信,从而实现自我恢复通信。
在本申请实施例中,点对点通信实现网内任意两个用户之间的信息交换。相对广播通信,点对点连接是两个系统或进程之间的专用通信链路。点对点通信方式根据时间传送的方向和时间关系可以分为单工通信、半双工通信及全双工通信。从设备收到带有点对点通信标识信息的数据后,比较系统号和地址码,系统号和地址码都与本地相符时,将数据传送到其控制芯片,否则将数据丢掉,不传送到控制芯片。点对点通信时,只有1个用户可收到信息。
其中,备用通信单元20电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的点对点连接信号,并将接收到的点对点连接信号转化成差分的连接控制信号,通过RS485通信总线01向指定设备发送连接控制信号,备用通信单元20进一步通过RS485通信总线01接收差分的连接控制信号,将接收到的差分的连接控制信号转化成直流的连接控制信号,并传输给控制芯片30。其中,连接控制信号是主设备检测到RS485通信异常时发送给指定设备的点对点通信信号。
相较于现有RS485通信电路101中单一的通信方式,通信稳定性差,在RS485通信无法正常使用时,电路设备之间就无法进行通信,就无法通过网络通信进行通信异常检测,也无法通过网络通信进行异常修复。本申请通过增设一个备用通信单元20,以解决RS485通信时发生未知传输线路异常造成网络瘫痪的问题,控制芯片30启用备用通信单元20与指定设备进行点对点通信,可以直接建立主设备02与指定设备的专用通信链路,由此优化RS485通信电路101的通信方式,实现通信多样化,增加通信稳定性。
其中,开关单元40电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的开关控制信号,根据接收到的开关控制信号导通相应的开关,以导通RS485通信总线01上相应的信道。
在本申请实施例中,如图3所示,每个设备是通信网络100上的一个站点,通过各个设备控制其自身的开关单元40就可以实现RS485通信总线01上的信道导通或断开。例如,从设备031和从设备032的开关单元40开启,从设备033的开关单元40关闭,则RS485通信总线01上的信道导通路径就是主设备02至从设备032。
在本申请实施例中,主设备02可以直接控制从设备03进行相应的操作,如打开从设备03相应的开关,导通RS485通信总线01上相应的传输路径,通过备用通信单元20通知下一从设备03的开关状态,依此启用下一从设备03的通道,进而进行下一步的通信故障排除及修复,得知下一从设备03的接口状态,避免因广播通信故障时,从设备03无法作出回应,主设备02无法确定传输路径是否导通的问题。此外,在建立联机时也可使用备用通信单元20进行通信。
具体的,控制芯片30检测到RS485通信异常时,启用备用通信单元20进行点对点通信。如图3所示,其中一种实现方式:在RS485通信异常时,主设备02可以通过第一传输端口021传输点对点连接信号至右边第一邻近从设备031,实现与该从设备031的点对点通信连接。基于点对点通信的主设备02要求第一邻近从设备031导通相应的开关,实现第一邻近从设备031的RS485通信的物理上连接,即假设在RS485通信总线01无故障,且该第一邻近从设备031和主设备02也无故障情况下,基于第一邻近从设备031开关的开启,可以进行主设备02与该第一邻近从设备031之间的RS485通信。在主设备02尝试进行RS485通信,且通信正常时,则第一邻近从设备031无故障。主设备02设定第二指定设备为右边第二邻近从设备032,则主设备02通过第一传输端口021传输点对点连接信号至右边第二邻近从设备032,右边第二邻近从设备032接收到点对点连接信号,主设备02要求第二邻近从设备032开启相应的开关,依次类推,进而实现导通RS485通信总线01上相应的信道。
优选地,参见图6,备用通信单元20包括第一备用单元21和第二备用单元22。
其中,第一备用单元21电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的点对点连接信号,并将接收到的点对点连接信号转化成差分的连接控制信号,以将连接控制信号沿RS485通信总线01上的第一传输方向进行传输;第一备用单元进一步用于接收RS485通信总线01上的第一传输方向传输的差分的连接控制信号,并将接收到的差分的连接控制信号转化成直流的连接控制信号,并将直流的连接控制信号传输给控制芯片30。
其中,第二备用单元22电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的点对点连接信号,并将接收到的点对点连接信号转化成差分的连接控制信号,以将连接控制信号沿RS485通信总线01上的第二传输方向进行传输;或者,接收RS485通信总线01上的第二传输方向传输的差分的连接控制信号,并将其转化成直流的连接控制信号,并将连接控制信号传输给控制芯片30。
在本申请实施例中,通过第一备用单元21和/或第二备用单元22进行点对点通信,参见图7,以从设备03包括从设备031、从设备032及从设备033为例,主设备02的第一备用单元21可以与从设备031的第一备用单元21进行点对点通信,从设备031的第二备用单元22可以与从设备032的第二备用单元22进行点对点通信,依次类推,从设备033的第二备用单元22可以与主设备02的第二备用单元22进行点对点通信,能够实现自动侦测通信网络的拓扑结构,还能排除通讯故障设备,还有利于自我恢复通信网络通信。通过点对点通信可以通知下一从设备03目前开关单元40的状态,以此启用该从设备03的通道。
在本申请实施例中,参见图7,主设备02通过第一传输端口021进行点对点通信信号传输时,主设备02启用第一备用单元21并沿第一传输方向传输点对点通信信号,则该点对点通信信号沿第一传输方向传输经过的路径即为第一传输路径。主设备02通过第二传输端口022进行点对点通信信号传输时,主设备02启用第二备用单元22沿第二传输方向传输点对点通信信号,则该点对点通信信号沿第二传输方向传输经过的路径即为第二传输路径。
优选地,参见图5,第一备用单元21包括第一RS422芯片211和第一转换器212,第二备用单元22包括第二RS422芯片221和第二转换器222。
其中,第一RS422芯片211电连接控制芯片30及第一转换器212,用于向控制芯片30发送数据或接收控制芯片30传输的数据,以及向第一转换器212传输数据或接收第一转换器212传输的数据。
其中,第一转换器212电连接RS485通信总线01,用于通过RS485通信总线01发送数据或接收RS485通信总线01上传输的数据。
在本实施例中,第一RS422芯片211可接收控制芯片30发送的直流点对点连接信号,并将其转换成差分的连接控制信号传输给第一转换器212,第一转换器212将接收到的四路连接控制信号转换成两路连接控制信号,并通过RS485通信总线的第一传输方向发送连接控制信号。第一转换器212进一步可接收RS485通信总线01上的第一传输方向传输的差分的连接控制信号,将其转化成直流的连接控制信号,并传输给第一RS422芯片211,第一RS422芯片211将接收到的连接控制信号发送给控制芯片30。
其中,第二RS422芯片221电连接控制芯片30及第二转换器222,用于向控制芯片30发送数据或接收控制芯片30传输的数据,以及向第二转换器222传输数据或接收第二转换器222传输的数据。
其中,第二转换器222电连接RS485通信总线01,用于通过RS485通信总线01发送数据或接收RS485通信总线01上传输的数据。
在本实施例中,第二RS422芯片221可接收控制芯片30发送的直流点对点连接信号,并将其转换成差分的连接控制信号传输给第二转换器222,第二转换器222将接收到的四路连接控制信号转换成两路连接控制信号,并通过RS485通信总线的第二传输方向发送连接控制信号。第二转换器222进一步可接收RS485通信总线01上的第二传输方向传输的差分的连接控制信号,将其转化成直流的连接控制信号,并传输给第二RS422芯片221,第二RS422芯片221将接收到的连接控制信号发送给控制芯片30。
在本申请实施例中,点对点通信实现方式不限于RS422芯片,还可以包括RS232芯片,本申请对此不作具体限定。在本申请实施例中,参见图5,RE非为RS422接口芯片的数据接收使能端,DE为RS422接口芯片的数据发送使能端、RO为RS422接口芯片的数据接收端、DI为RS422接口芯片的数据发送端、VCC为RS422接口芯片的电源端、A2为RS422接口芯片的输入信号正极端、B2为RS422接口芯片的输入信号负极端、Z为RS422接口芯片的输出信号负极端、Y为RS422接口芯片的输出信号正极端和GND为RS422接口芯片的接地端。
RS422接口芯片的数据接收使能端RE非和数据发送使能端DE分别与控制芯片30的信号控制端GPIO相连,用于接收控制芯片30发送的第二使能控制信号,使得RS422接口芯片处于数据发送状态或数据接收状态。RS422接口芯片的数据接收端RO与控制芯片30的数据接收端RXD相连,RS422接口芯片的数据发送端DI与控制芯片30的数据发送端TXD相连,用于将接收到的数据传输给控制芯片30,或接收控制芯片30传输的数据。参见图8,RS422接口芯片的输入信号正极端A2、输入信号负极端B2、输出信号正极端Y及输出信号正极端Z分别通过转换器与RS485通信总线01的第一信号端A和第二信号端B相连,用于将接收的数据通过输入信号正极端A2、输入信号负极端B2、输出信号正极端Y及输处信号正极端Z向RS485通信总线01传输,或通过输入信号正极端A2、输入信号负极端B2、输出信号正极端Y及输处信号正极端Z接收RS485通信总线01传输的数据。在RS422接口芯片与RS485通信总线01之间连接有接口电路(图未示),以构成RS485通信电路,完成RS485通信,具体工作原理这里不再赘述。
需要说明的是,RS422芯片与RS485接口芯片10采用相同的通信协议,不同点在于,RS422芯片采用两根双绞线,数据可以同时双向传递,即全双工模式,RS485芯片则使用一根双绞线,输入输出信号不能同时进行。本申请实施例中转换器的作用是将RS422芯片的四路信号转换成两路后通过RS485通信总线01的A、B两路输出,或者将接收到的A、B两路信号转换成四路信号输入至RS422芯片。
在本申请实施例中,每个RS422芯片对应着一个传输方向,即对应着一个传输路径,以通过不同的RS422芯片实现RS485通信总线01上不同信道导通。
在本申请实施例中,通过第一RS422芯片211或/及第二RS422芯片221的点对点通信,可以通知下一邻近站点对其开关单元40的操作,以此启用邻近站点的通信信道,在RS485通信故障的情况下得知邻近站点接口状态,并对邻近站点的开关单元40进行控制,配合多路开关单元40及备用通信单元20切换传输路径,自动避开故障接口,为后续的通信故障检测及修复提供基础。
优选地,参见图6,其中开关单元40包括第一总线接口开关41和第二总线接口开关42。
其中,第一总线接口开关41电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的开关控制信号,并根据接收到的开关控制信号开启或关闭,以将RS485通信总线01的信道切换至第一传输路径,其中第一传输路径包括信号沿第一传输方向传输的路径。
其中,第二总线接口开关42电连接控制芯片30和RS485通信总线01,用于接收控制芯片30发送的开关控制信号,并根据接收到的开关控制信号开启或关闭,以将RS485通信总线01的信道切换至信号沿第二传输方向传输的第二传输路径,其中第二传输路径包括信号沿第二传输方向传输的路径。
在本申请实施例中,参见图5,第一总线接口开关41通过RS485通信总线01连接第一转换器212,用于将RS485通信总线01的信道切换至第一传输路径,使第一转换器212通过RS485通信总线01的第一传输路径传输数据或接收RS485通信总线01的第一传输路径上传输的数据;第二总线接口开关42通过RS485通信总线01连接第二转换器222,用于将RS485通信总线01的信道切换至第二传输路径,使第二转换器222通过RS485通信总线01的第二传输路径传输数据或接收RS485通信总线01的第二传输路径上传输的数据。第一总线接口开关41与第二总线接口开关42分别为一个可以使电路开路、使电流中断或使其流到其他电路的电子元件,其具体形式不限于图5中所示,在其中一种实施方式中,第一总线接口开关41与第二总线接口开关42可以是开关晶体管,本申请对此不作具体限定。
在本申请实施例中,控制芯片30发出开关控制信号SW0或SW1,两个总线接口开关根据SW0或SW1信号,控制RS485信道传输的方向,例如在控制芯片30输出开关控制信号SW0为高电平,则第二总线接口开关42开启,RS485通信总线01的信道切换至第二传输路径,在控制芯片30输出开关控制信号SW1为高电平,则第一总线接口开关41开启,RS485通信总线01的信道切换至第一传输路径。相应,在开关控制信号SW0为低电平时,则第二总线接口开关42关闭。通信网络100中的任一点出现故障时,主设备02访问到故障点后无法继续访问故障点后的其它从设备03,基于通信网络100为环形,主设备02的控制芯片30可以通过总线接口开关切换RS485通信总线01的传输路径,从故障点的另外一端访问总线上的其他从设备03。
优选地,参见图6,RS485通信电路101进一步包括一设置在第一总线接口开关41和第二总线接口开关42之间,及第一备用单元21与第二备用单元22之间的终端电阻50;终端电阻50电连接控制芯片30,用于接收控制芯片30发送的终端连接信号,以根据接收到的终端连接信号电连接或断开RS485通信总线01。
在本申请实施例中,终端电阻50是为了消除在通信电缆中的信号反射,在通信过程中存在两种情形导致信号反射,包括阻抗不连续和阻抗不匹配,通过在RS485通信总线01上的两端接入同样大小阻值的终端电阻50,以此来消除信号反射。参见图5,终端电阻50电连接控制芯片30,由控制芯片30控制开启或关闭终端电阻50,控制芯片30可以通过输出终端连接信号SW_TR控制与终端电阻50连接的开关的开启,从而控制终端电阻50接入RS485通信总线01。控制芯片30控制与终端电阻50连接的开关关闭时,终端电阻50没有接入RS485通信总线01。控制芯片30控制开启或关闭终端电阻50的形式不限于图5所示的通过开关方式,且其中开关的具体形式也不限于图5所示的单刀单掷开关,本申请对此不做具体限定。
在组建RS485通信总线01网络时,RS485输入阻抗较高,在信号传输到RS485通信总线01末端时会受到瞬时阻抗发生突变,导致信号发生反射,影响信号的质量,为此,在RS485通信总线01末端上设置终端电阻50,从而匹配通信总线的特性阻抗,防止信号反射,提高信号质量。在本申请实施例中,在RS485通信总线01末端上,由控制芯片30控制开启终端电阻50,以在RS485通信总线01上加入终端电阻50。
具体的,参见图9,主设备02进行RS485通信,信号从主设备02的第一传输端口021沿第一传输方向传输,经过预设的延迟时间,主设备02的第二传输端口022没有接收到该信号,主设备02的控制芯片30确认RS485通信异常,主设备02的控制芯片30启用第一RS422芯片211进行点对点通信,第一RS422芯片将控制芯片30的直流点对点连接信号转换成差分的连接控制信号传输给第一转换器212,第一转换器212将接收到的第一RS422芯片211发送的四路信号转换成两路信号并通过RS485通信总线01输出,该连接控制信号沿着第一传输方向经过第一传输路径到达从设备031的第一RS422芯片211,从设备031的第一RS422芯片211将接收到的连接控制信号传输给从设备031的控制芯片30,从设备031的控制芯片30根据接收到的连接控制信号控制该从设备031的第一总线接口开关41开启,第二总线接口开关42关闭,主设备02与从设备031之间进行RS485通信,从而实现自我恢复通信。
主设备02与从设备031之间通信正常时,主设备02将通过点对点连接信号继续控制下一从设备的总线接口开关状态。主设备02的控制芯片30启用其第一RS422芯片211,通过其第一RS422芯片211与从设备031的第一RS422芯片211的连接,从设备031的控制芯片30通过其第一RS422芯片211接收主设备02发送的点对点连接信号,并将该点对点连接信号通过其第二RS422芯片222传输给从设备032的第一RS422芯片211,且控制从设备031的第二总线接口开关42开启,从设备032通过第一RS422芯片211接收到该点对点连接信号后,将该点对点连接信号传输给其控制芯片30,从设备032的控制芯片30根据接收的点对点连接信号控制从设备032的第一总线接口开关41开启,第二总线接口开关42关闭,主设备02与从设备032之间进行RS485通信。以此类推,完成第一传输路径上的轮询,在检测到故障点后,主设备02可以从第二传输端口022进行信号传输,传输原理同上,完成第二传输路径上的轮询。
参见图10,下面简述包括如上所述通信电路101的主设备02进行通信异常处理方法,包括:
步骤S10:开始联机时,主设备02发送联机要求信息至每一从设备03,以轮询方式切换通道方法来搜寻确认各从设备03的顺序及网络拓扑。
下面简述轮询过程,参见图11,初始状态,主站3开启第一通道,从站开启第二通道,即各个从站的第一总线接口开关41均关闭,各个从站的第二总线接口开关42均开启,虚线为信道断开,实线为信道导通。初始状态,主站0开启第一总线接口开关41,控制从站1~3均开启第二总线接口开关42,各个站点的终端电阻50均开启。主站0与从站1通信成功,控制从站1开启第一总线接口开关41,从站1关闭其终端电阻50。主站0与从站2通信成功,控制从站2开启第一总线接口开关41,从站2关闭其终端电阻50。持续沿着第一传输路径轮询,直到无从站回应,获得网络拓扑信息,包括各个从站的顺序及状态。
步骤S20:判断是否有通信无回应,在没有通信无回应时,进行步骤S30,在有通信无回应时,进行步骤S40。
步骤S30:同步通信资料,以轮询广播方式来更新各个从站的数据。
在本申请实施例中,参见图11,主站0开启第二通道,即开启第二总线接口开关42,并控制从站1关闭第二总线接口开关42,并且确认先前从站顺序及状态后,开始通过第二传输路径进行资料同步。
步骤S40:主设备02的控制芯片30检测到RS485通信异常时,读取网络拓扑信息。
步骤S50:主设备02的控制芯片30根据所述网络拓扑信息获取指定设备信息,其中,所述指定设备包括网络拓扑上信号传输的设备。
步骤S60:主设备02的控制芯片30根据所述指定设备信息输出点对点控制信号。
步骤S60具体包括,主设备02的控制芯片30根据所述指定设备信息向备用通信单元20传输点对点连接信号,其中所述点对点连接信号用于指示备用通信单元20与RS485通信总线01上电连接的一指定设备进行点对点通信,主设备02的备用通信单元20将所述点对点连接信号转换成差分的连接控制信号,通过RS485通信总线01向指定设备发送连接控制信号,以使得指定设备根据所述连接控制信号进行相应操作,建立起主设备02与指定设备的通信连接。
在本申请实施例中,主设备02通过备用通信单元20建立起与从设备03的点对点通信,增加通信稳定性,且可以根据该点对点通信进行相应操作控制或异常检测,对于无回应的从设备03,通知该从设备03切断该位置的信道,重新开启另外一个信道,以建立新连接。
在本实施例中,参见图12,包括如上所述通信电路101的从设备03进行通信异常处理方法,包括:
步骤S101:从设备03的备用通信单元20将接收到的点对点控制信号传输给其控制芯片30。
具体的,从设备03的备用通信单元20通过RS485通信总线01接收主设备02的备用通信单元20发送的差分的连接控制信号,将接收到的连接控制信号转化成直流的连接控制信号,并传输给从设备03的控制芯片30,其中,所述连接控制信号是主设备02检测到RS485通信异常时发送给指定设备的点对点通信信号。
步骤S102:从设备03的控制芯片30接收其备用通信单元20传输的连接控制信号,并根据接收到的连接控制信号进行相应操作,建立起主设备02与该指定从设备的通信连接。
优选地,其中所述根据接收到的连接控制信号进行相应操作包括,从设备03的控制芯片30根据接收到的连接控制信号输出开关控制信号至其开关单元40,从设备03的开关单元40根据接收到的开关控制信号开启相应的总线接口开关,以导通RS485通信总线01上相应的信道。
在本申请实施例中,接收到连接控制信号的各个从设备03可以根据该信号进行相应操作,如开启总线接口开关或关闭总线接口开关,以导通RS485通信总线01上不同的信道,或者,开启终端电阻50或关闭终端电阻50,以导通或断开RS485通信总线01。
在本申请实施例中,一种通信异常处理方法,应用于如上通信网络100包括:主设备02检测到RS485通信异常时,读取网络拓扑信息,主设备02根据读取到的网络拓扑信息获取指定设备信息,主设备02根据获取的指定设备信息将第一点对点连接信号通过第一传输端口021发送,以使得该第一点对点连接信号沿第一传输方向向指定设备传输,指定设备根据接收到的第一点对点连接信号控制其总线接口开关动作,以导通第一传输路径,主设备02在第一传输路径上进行RS485通讯的轮询,将无响应的设备记录为第一终端站点。接着,主设备02还根据获取的指定设备信息将第二点对点连接信号通过第二传输端口022发送,以使得该第二点对点连接信号沿第二传输方向向指定设备传输,指定设备根据接收到的第二点对点连接信号控制其总线接口开关动作,以导通第二传输路径,主设备02在第二传输路径上进行RS485通讯的轮询,将无响应的设备记录为第二终端站点。主设备02控制第一终端站点及第二终端站点之间的总线接口开关关闭。
具体的,参见图13,图13中虚线为信道断开,实线为信道导通。在RS485通信发生通信异常时,主站0读取网络拓扑信息,获得第一邻近站点为从站1,第二邻近站点为从站3,S0时刻,将从站1设为指定设备,主站0通过第一备用单元21的第一RS422芯片发出请求,要求从站1关闭第一通道,即关闭从站1的第一总线接口开关41,并开启其第二总线接口开关42,尝试进行RS485通信,确认邻近站点从站1通信正常后,要求从站1开启其第一总线接口开关41。
继续沿着第一传输路径搜寻,S1时刻,将从站2设定为指定设备,通过从站1的备用通信单元20将点对点连接信号发送给从站2,要求从站2开启第一总线接口开关41,关闭第二总线接口开关42,尝试进行RS485通信,通信无响应,直到从站无响应后记录最后联机成功的从站为从站1,则记录从站1为终端站点。
S2时刻将从站3设定指定设备,主站0关闭第一通道,开启第二通道,即关闭第一总线接口开关41,然后通过第二备用单元22的第二RS422芯片221发出请求,要求从站3开启其第一总线接口开关41并关闭其第二总线接口开关42,尝试进行RS485通信,确认邻近站点从站3通信正常后,要求从站3开启其第二总线接口开关42,继续沿第二传输路径搜寻,直到从站无响应后记录最后联机成功的从站为从站2,则记录从站2为终端站点。
将从站1与从站2之间的总线开关接口关闭,则从站1是第一传输路径的终端,从站2是第二传输路径的终端。重新进行RS485通信轮询,在无通信无回应时,进行资料同步,具体包括,通过控制总线接口开关以分别从第一传输路径和第二传输路径进行通信,完成通信恢复。如图13,主站0沿着第一传输路径向从站1传输信号,主站0沿着第二传输路径向从站3传输信号。当一端线路故障时,可通过另外一个通道进行备用。在有通信无回应时,结束连线,并通知中控发生无法恢复的未知错误。
优选地,针对每一设备,检测到该设备的任一总线接口开关开启,且另一总线接口开关关闭时,开启该设备的终端电阻50。
如图13,在确认终端站点包括从站1及从站2后,控制芯片30分别开启从站1和从站2的终端电阻50。基于上述,从站1是第一传输路径的终端,根据从站1的两个总线接口开关中有一个开关开启,有一个开关关闭,则开启从站1的终端电阻50。从站2同理,开启从站2的终端电阻50。其中终端电阻50开启或关闭亦可改为手动调整。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
以上实施方式仅用以说明本申请的技术方案而非限制,尽管参照以上较佳实施方式对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换都不应脱离本申请技术方案的精神和范围。本领域技术人员还可在本申请精神内做其它变化等用在本申请的设计,只要其不偏离本申请的技术效果均可。这些依据本申请精神所做的变化,都应包含在本申请所要求保护的范围之内。