掌桥专利:专业的专利平台
掌桥专利
首页

一种多路串行通信装置、系统及方法

文献发布时间:2023-06-19 09:49:27


一种多路串行通信装置、系统及方法

技术领域

本发明属于通信技术领域,尤其涉及一种多路串行通信系统及方法。

背景技术

很多应用场景都存在一主控多从机通信的通信方式,例如,在大容量光伏系统中,采用多模块级联并联的方式,对于每个模块都需要设计控制器,因此系统中会存在多个控制器与一个主控制器通信的现象。这种多从控制器通信的方案中,通常由FPGA构成主控制器。

通常这种多路串行通信在FPGA侧的处理,通过多路串行信号接收模块UART核一对一完成串行信号的接收解析,例如,如图1所示,假设共有N个通信单元(即,从机),在FPGA内部采用N个通信数据接收模块和N个通信数据发送模块分别连接到N个接收信号线和N个发送信号线,即,实现多个通信信号的处理需要占用多个通信信号接收模块UART核,消耗FPGA内的各种资源导致硬件成本高,且每个通信信号接收模块的利用率低,导致FPGA内的资源利用率低。

发明内容

有鉴于此,本发明的目的在于提供一种多路串行通信装置、系统及方法,以解决相关技术中的多路串行通信方案占用FPGA内的资源较多导致成本高的问题,其公开的技术方案如下:

第一方面,本申请提供了一种多路串行通信主机,包括:基于FPGA的内部资源构建的数据收发处理控制模块、接收模块、发送模块、接收信号处理模块和发送信号处理模块;

所述数据收发处理控制模块,用于将包含通信从机的身份标识的第一通信信号经由所述发送模块发送至所述发送信号处理模块;

所述发送信号处理模块,用于将接收的所述第一通信信号分别发送至各个所述通信从机,以使所述身份标识对应的通信从机处理所述第一通信信号;

所述接收信号处理模块,用于接收各个通信从机发送的第二通信信号,并对各个所述第二通信信号进行识别处理得到一路有效的第二通信信号,经由所述接收模块发送至所述数据收发处理控制模块进行处理。

可选地,所述发送模块,用于将所述第一通信信号转换为所述发送信号处理模块能够处理的目标信号格式,并将目标信号格式的第一通信信号发送至所述发送信号处理模块。

可选地,所述发送信号处理模块包括寄存输出子模块,所述寄存输出子模块通过输入端接收所述发送模块输出的第一通信信号,所述寄存输出子模块将所述第一通信信号转换为多路并行的信号经由多个输出端输出。

可选地,所述接收信号处理模块包括异步信号同步化处理子模块和逻辑门电路;

所述异步信号同步化处理子模块,用于将接收到的各个通信从机发送的各个第二通信信号转换为同步的第二通信信号;

所述逻辑门电路,用于将各个所述同步的第二通信信号进行逻辑运算,得到一路有效的第二通信信号,并发送至所述接收模块。

可选地,所述第二通信信号为低电平有效型信号;

所述逻辑门电路,用于将各个所述同步的第二通信信号进行逻辑与运算,得到一路有效的第二通信信号。

可选地,所述第二通信信号为高电平有效型信号;

所述逻辑门电路,用于将各个所述同步的第二通信信号进行逻辑或运算,得到一路有效的第二通信信号。

可选地,所述通信主机还包括与通信从机一一对应的多个发送/接收模块;

每个所述发送/接收模块处于发送模式时,接收所述发送信号处理模块发送的第一通信信号并发送至与该发送/接收模块连接的通信从机;

每个所述发送/接收模块处于接收模式时,接收该发送/接收模块与通信从机之间连接的信号线上的第二通信信号,并发送至所述接收信号处理模块。

第二方面,本申请还提供了一种多路串行通信从机,包括通信单元;

所述通信单元从接收到的通信主机发送的第一通信信号中,解析得到身份标识,当所述身份标识与自身的身份标识相同时,处理所述第一通信信号,并向所述通信主机发送第二通信信号;当所述身份标识与所述通信从机自身的身份标识不同时,丢弃所述第一通信信号。

可选地,所述通信从机还包括发送/接收模块;

所述发送/接收转换电路接收通信主机发送的第一通信信号,并发送至所述通信单元,以及,接收所述通信单元返回的第二通信信号,并发送至所述通信主机。

第三方面,本申请还提供了一种基于FPGA的多路串行通信系统,包括:第一方面任一项所述的一个通信主机及第二方面任一项所述的多个通信从机;

每个所述通信从机与所述通信主机的一个输入/输出端口连接;

所述通信主机向各个所述通信从机发送第一通信信号;

对于任一所述通信从机,解析所述第一通信信号得到身份标识,当解析得到的身份标识与自身的身份标识相同时,处理所述第一通信信号并向所述通信主机返回第二通信信号;当解析出的身份标识与自身的身份标识不同时,丢弃所述第一通信信号;

所述通信主机接收与各个所述通信从机连接的线路上的第二通信信号,并识别出一路有效的第二通信信号进行处理。

可选地,当所述第二通信信号为为低电平有效型信号,所述通信主机用于将接收到的各个所述第二通信信号进行逻辑与运算,得到一路有效的第二通信信号;

当所述第二通信信号为高电平有效型信号,所述通信主机用于将接收到的各个所述第二通信信号进行逻辑或运算,得到一路有效的第二通信信号。

第三方面,本申请提供了一种多路串行通信方法,应用于通信主机中,所述方法包括:

在发送给通信从机的通信信号中添加目标通信从机的身份标识,得到第一通信信号;

将所述第一通信信号转换成多路所述第一通信信号,并分别发送至各个通信从机;

接收各个所述通信从机返回的第二通信信号,并从各个所述第二通信信号中识别出一路有效的第二通信信号,并处理所述有效的第二通信信号。

可选地,所述接收各个所述通信从机返回的第二通信信号,并从各个所述第二通信信号中识别出一路有效的第二通信信号,包括:

当所述第二通信信号为低电平有效型信号,将接收到的各个所述第二通信信号进行逻辑与运算,得到一路有效的第二通信信号;

当所述第二通信信号为高电平有效型信号,将接收到的各个所述第二通信信号进行逻辑或运算,得到一路有效的第二通信信号。

第四方面,本申请还提供了一种多路串行通信方法,应用于通信从机中,所述方法包括:

接收通信主机发送的第一通信信号,所述第一通信信号中包括目标通信从机的身份标识;

解析所述第一通信信号获得所述目标通信从机的身份标识,并将所述目标通信从机的身份标识与自身的身份标识进行对比;

当所述目标通信从机的身份标识与所述通信从机自身的身份标识相同时,处理所述第一通信信号并向所述通信主机发送有效的第二通信信号,以使所述通信主机从各个通信从机发送的第二通信信号中识别出有效的第二通信信号。

本申请提供的多路串行通信主机,包括基于FPGA的内部资源构建的数据收发处理控制模块、接收模块、发送模块、接收信号处理模块和发送信号处理模块。其中,当通信主机向通信从机发送通信信号时,经过数据收发处理控制模块向通信信号中添加目标通信从机的身份标识得到第一通信信号,并由发送信号处理模块将第一通信信号分别发送至各个通信从机,各通信从机解析第一通信信号得到目标通信从机的身份标识,并将解析得到的身份标识与自身的身份标识进行对比,只有身份标识一致的通信从机继续处理第一通信信号并返回第二通信信号,其它通信从机丢弃第一通信信号。通信主机的接收信号处理模块对各个通信从机所连接线路上的第二通信信号进行识别处理,得到一路有效的第二通信信号并经由接收模块发送至数据收发处理模块进行处理。通过上述的主从机之间的通信过程可知,该多路串行通信方案只需要占用FPGA内的一个接收模块和一个发送模块,通信主机与通信从机之间的通信信号先经过发送信号处理模块或接收信号处理模块进行处理,使得同一时刻只有一个通信从机与通信主机进行通信,该方案能够极大程度地降低FPGA内部资源的占用,因此,降低了通信硬件成本,同时,也提高了FPGA内部资源的利用率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是一种传统的串行通信方案的系统结构示意图;

图2是本申请实施例提供的一种多路串行通信系统的结构示意图;

图3是本申请实施例提供的另一种多路串行通信系统的结构示意图;

图4是本申请实施例提供的一种接收信号处理模块的结构示意图;

图5是本申请实施例提供的一种发送信号处理模块的结构示意图;

图6是本申请实施例提供的一种通信从机的结构示意图;

图7是本申请实施例提供的一种应用于通信主机中的多路串行通信方法的流程图;

图8是本申请实施例提供的一种应用于通信从机的多路串行通信方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图2,示出了本申请实施例提供的一种多路串行通信系统的结构示意图,该系统包括基于FPGA实现的一个通信主机1,以及多个通信从机2;

其中,通信主机1包括基于FPGA内部资源构建的数据收发处理控制模块11、接收模块12、接收信号处理模块13、发送模块14和发送信号处理模块15。此外,通信主机1还包括发送/接收模块16。

其中,通信主机1仅需一个接收模块12和一个发送模块14即可实现与多个通信从机之间的串行通信。

通信主机1与多个通信从机2之间进行串行通信的过程如下:

通信主机在同一时刻只与一个通信从机进行串行通信,因此,为每个通信从机设定唯一的身份标识信息。

(1)通信主机发送信号的过程

通信主机通过数据收发处理控制模块11对多个通信从机发送相同的通信信号,称为第一通信信号,且第一通信信号中携带需要回复的通信从机的身份标识。再经由发送模块14发送至发送信号处理模块15。

发送信号处理模块15将第一通信信号分别发送至各个通信从机,即各个通信从机接收到的第一通信信号相同,因此可以只需占用FPGA内部的一个发送模块14。

在本申请的一个实施例中,发送模块14将第一通信号转换为发送信号处理模块能够处理的信号格式,例如,高低电平信号。

(2)通信主机接收信号的过程

各通信从机接收到通信主机发送的第一通信信号后,只有第一通信信号携带的身份标识对应的通信从机处理并回复该第一通信信号,其它通信从机无需处理该第一通信信号,即通信主机的多根接收信号线中只有一根有信号,其余的接收信号线均为空闲状态。

通信主机的发送/接收模块16从与各个通信从机连接的信号接收线上的信号(即,第二通信信号)并传输至接收信号处理模块13。

接收信号处理模块13将从各个接收信号中识别出有效的通信信号,即有效的第二通信信号,并发送至接收模块12,由接收模块12将有效的第二通信信号发送给数据收发处理控制模块11。对于通信主机而言,只有一路有效的接收信号,因此,只需一个接收模块。

在本申请的一个实施例中,接收模块12能够将接收信号处理模块发送的信号格式(如,高低电平格式)转换为数据收发处理控制模块11能处理的信号格式。

在另一种可能的实现方式中,如图3所示,通信主机还包括发送/接收模块16,用于控制通信主机的发送/接收模式,相应地,通信从机内也设置有发送/接收模块,用于控制通信从机的发送/接收模式。

此种应用场景下,通信主机的各个发送/接收模块16处于接收模式时,分别接收与各通信从机连接的信号线上的信号并传输至接收信号处理模块13;通信主机的发送/接收模块16处于发送模式时,接收发送信号处理模块15发送的第一通信信号,并发送至所连接的通信从机。

通信从机2内的发送/接收模块处于发送模式时,接收信号线上传输的信号并发送至通信单元,该发送/接收模块处于接收模式时,接收通信单元发送的信号并发送至通信主机。

由上述内容可知,该多路串行通信系统,通信主机只需要占用FPGA内的一个接收模块和一个发送模块,通信主机与通信从机之间的通信信号先经过发送信号处理模块或接收信号处理模块进行处理,使得同一时刻只有一个通信从机与通信主机进行通信,该方案能够极大程度地降低FPGA内部资源的占用,因此,降低了通信硬件成本,同时,也提高了FPGA内部资源的利用率。

请参见图4,示出了本申请实施例提供的一种接收信号处理模块的结构示意图,如图4所示,接收信号处理模块包括异步信号同步化处理子模块131和逻辑门电路132。

异步信号同步化处理模块131包括多个输入端和多个输出端,各输入端通过接收信号线与各个通信从机连接,各输出端与逻辑门电路132连接。

异步信号同步化处理子模块131用于将各接收信号线上的第二通信信号转换为同步的第二通信信号。

逻辑门电路132包括多个输入端和一个输出端,各输入端分别与异步信号同步化处理子模块131的各输出端连接,逻辑门电路132的输出端连接接收模块12的输入端。

逻辑门电路132将输入端接收的各个同步的第二通信信号进行逻辑运算,得到一路有效的第二通信信号经输出端发送至接收模块。

不同类型的第二通信信号所使用的逻辑门电路132的类型也不同。

在本申请的一个实施例中,第二通信信号为低电平有效型信号,则逻辑门电路132为逻辑与电路,此种应用场景下,逻辑门电路132将输入的各个第二通信信号进行逻辑与运算,最终得到一路有效的第二通信信号,发送至接收模块。

在本申请的另一个实施例中,第二通信信号为高电平有效型信号,则逻辑门电路132为逻辑或电路,此种应用场景下,逻辑门电路132将输入的各个第二通信信号进行逻辑或运算,得到一路有效的第二通信信号发送至接收模块。

本申请实施例提供的多路串行通信系统中的通信主机,通过接收信号处理模块,先将各接收信号线上的信号转换为同步的信号,再利用逻辑门电路将各同步的接收信号进行逻辑处理得到有效的一路接收信号,并发送给接收模块转换为数据收发处理控制模块进行处理。从而实现通信主机只需占用一个接收模块的资源,极大地降低了FPGA内部资源的占用率,降低了硬件成本。

请参见图5,示出了本申请实施例提供的一种发送信号处理模块的结构示意图,如图5所示,该发送信号处理模块包括寄存输出子模块151。

寄存输出子模块151包括一个输入端和多个输出端,输入端与发送模块的输出端连接,各个输出端分别通过发送信号线与各个通信从机连接。

寄存输出子模块151将输入端接收的第一通信信号转换为多路并行的信号经发送信号线发送至各个通信从机。

本申请提供的多路串行通信系统中的通信主机,发送模块输出的发送信号通过发送信号处理模块转换为多个并行的发送信号,并发送至各个通信从机,实现向各个通信从机发送同一发送信号,因此,只需占用FPGA内一个发送模块,极大地降低了FPGA内的资源,降低了硬件成本。

请参见图6,示出了本申请实施例提供的一种通信从机的结构示意图,如图6所示,各个通信从机包括发送/接收转换电路21和通信单元22。

发送/接收转换电路21用于实现通信从机的发送状态和接收状态之间的转换。

当发送/接收转换电路21接收到通信主机发送的第一通信信号后,发送至通信单元22,通信单元22从第一通信信号中解析得到身份标识,当身份标识与自身的身份标识进行对比,如果两个身份标识相同,则确定需要处理并回复第一通信信号,将第二通信信号通过发送/接收电路21发送至通信主机。

在本申请的另一个实施例中,通信从机可以只包括通信单元,此种应用场景下,通信单元接收通信主机发送的第一通信信号,并从第一通信信号中,解析得到身份标识,当所述身份标识与自身的身份标识相同时,处理所述第一通信信号,并向所述通信主机发送第二通信信号;当所述身份标识与所述通信从机自身的身份标识不同时,丢弃所述第一通信信号。

本实施例提供的多路串行通信系统中的通信从机,在接收到通信主机发送的第一通信信号后解析其中的身份标识,若与自身的身份标识一致则确定该需要处理并回复该第一通信信号,最终实现在同一时刻通信主机只与一个通信从机进行通信,实现通信主机只需占用FPGA内的一个发送模块和一个接收模块,降低了FPGA内部资源的占用率,降低了硬件成本。

相应于上述的多路串行通信系统实施例,本申请还提供了相应的通信方法实施例。

请参见图7,示出了本申请实施例提供的一种多路串行通信方法的流程图,该方法应用于通信主机中,如图7所示,该方法主要包括以下步骤:

S110,在发送给通信从机的通信信号中添加目标通信从机的身份标识,得到第一通信信号。

目标通信从机是某一时刻通信主机需要进行通信的通信从机,可以是通过接收信号线连接的各个通信从机中的任一个通信从机。

为各个通信从机分别设置唯一的身份标识,当通信主机需要与目标通信从机进行通信时,将该目标通信从机的身份标识写入发送信号中,得到第一通信信号。

S120,将第一通信信号转换成多路所述第一通信信号,并分别发送至各个通信从机。

通信主机将第一通信信号发送给所有通信从机,以使具有相应身份标识的通信从机处理并回复第二通信信号。

S130,接收各个通信从机返回的第二通信信号,并从各个第二通信信号中识别出一路有效的第二通信信号,并处理有效的第二通信信号。

只有身份标识与第一通信信号中携带的身份标识相同的通信从机需要处理第一通信信号,即与该通信从机连接的信号线上的信号有效,与其它通信从机连接的信号线处于空闲状态,通信主机需要采集各个信号线上的信号并从中识别出有效的信号,即有效的第二通信信号,进行处理。

在本申请的一个实施例中,当第二通信信号为低电平有效型信号,将接收到的各个所述第二通信信号进行逻辑与运算,得到一路有效的第二通信信号。

在本申请的另一个实施例中,当第二通信信号为高电平有效型信号,将接收到的各个所述第二通信信号进行逻辑或运算,得到一路有效的第二通信信号。

本实施例提供的多路串行通信方法,通信主机在发送给通信从机的信号中写入目标通信从机的身份标识,从而实现在任一时刻,通信主机只与一个通信从机进行通信,即通信主机发送给所有通信从机的发送信号均相同。对于通信从机而言,只有对应身份标识的通信从机才会处理并回复该第一通信信号,通信主机从各个通信从机的信号线传输的信号中识别出有效的第二通信信号进行处理。通过该方法实现通信主机只需占用FPGA内部的一个发送模块和一个接收模块,因此,降低了通信主机的硬件成本。

相应于上述的应用于通信主机的多路串行通信方法实施例,本申请还提供了应用于通信从机的多路串行通信方法实施例。

请参见图8,示出了本申请实施例提供的一种多路串行通信方法的流程图,该方法应用于通信从机中,如图8所示,该方法包括以下步骤:

S210,接收通信主机发送的第一通信信号,第一通信信号中包括目标通信从机的身份标识。

S220,解析第一通信信号获得所述目标通信从机的身份标识,并将目标通信从机的身份标识与自身的身份标识进行对比。

S230,当目标通信从机的身份标识与通信从机自身的身份标识相同时,处理第一通信信号并向通信主机发送有效的第二通信信号,以使通信主机从各个通信从机发送的第二通信信号中识别出有效的第二通信信号。

本实施例提供的多路串行通信方法,通信从机在接收到通信主机发送的第一通信信号后,解析得到目标通信从机的身份标识,并与自身的身份标识进行对比,如果一致则处理第一通信信号并回复有效的第二通信信号。通信主机接收到各个通信从机的信号线接收各个第二通信信号后识别出一路有效的第二通信信号,通过该方案实现通信主机只需占用FPGA内部的一个发送模块和一个接收模块,因此,降低了通信主机的硬件成本。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

需要说明的是,本说明书中的各个实施例记载的技术特征可以相互替代或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种基于多路模拟开关的多路串行通信系统
  • 串行通信装置、串行通信系统以及串行通信方法
技术分类

06120112316244