通信控制方法及装置、电子设备、计算机可读存储介质与流程

文档序号:24527896发布日期:2021-04-02 10:05阅读:61来源:国知局
通信控制方法及装置、电子设备、计算机可读存储介质与流程

本发明涉及通信控制技术领域,具体而言,涉及一种通信控制方法及装置、电子设备、计算机可读存储介质。



背景技术:

相关技术中,在变频器行业中,常利用dsp的高速数字信号处理能力,以及现场可编程门阵列fpga的并行信号处理速度,构建dsp+fpga的主控处理系统,二者互补的器件特性在实际应用中相得益彰。

但是,当前的fpga由于内部存在多个可编程的逻辑单元,却没有统一稳定的通信建模方式,导致fpga与芯片之间的通信无法发挥fpga能够并行处理、多任务处理的特点,容易出现通信卡顿、通信异常等情况。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种通信控制方法及装置、电子设备、计算机可读存储介质,以至少解决相关技术中现场可编程门阵列fpga无法实现并行处理任务,容易造成通信卡顿的技术问题。

根据本发明实施例的一个方面,提供了一种通信控制方法,应用于目标芯片,包括:接收访问请求;基于所述访问请求,确定访问请求的类型,其中,所述访问请求的类型包括:读控制模式或者写控制模式;基于所述访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据;将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

可选地,在目标通信帧模块包括:第一通信帧模块和第二通信帧模块时,所述基于所述访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据的步骤,包括:在访问请求的类型为读控制模式时,控制第一通信帧模块对待传输数据进行第一编码操作,得到第一编码数据;或者,在访问请求的类型为写控制模式时,控制第一通信帧模块对待传输数据进行第二编码操作,得到第二编码数据。

可选地,将目标编码数据传输至fpga的缓存模块的步骤,包括:控制第二通信帧模块将第一编码数据传输至fpga的缓存模块;或者,控制第二通信帧模块将第二编码数据传输至fpga的缓存模块。

可选地,所述基于所述访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据的步骤,还包括:基于所述访问请求的类型,确定待传输数据的数据量大小;基于数据量大小,对所述待传输数据进行拆分处理,得到多个待传输数据块,其中,每个所述待传输数据块所包含的数据量低于所述第二通信帧的数据量传输阈值;对所述多个待传输数据块进行编码处理,得到所述目标编码数据。

可选地,所述目标芯片与fpga之间预先建立通信连接,并统一通信控制码,其中,所述通信控制码用于目标芯片与fpga之间进行数据传输处理。

可选地,所述第二通信帧模块内部采用串行通信模式,模块底层预先设置目标执行函数,其中,所述目标执行函数用于将接收到的所述通信控制码逐位传输。

可选地,所述现场可编程逻辑门阵列fpga包括:数模通信单元,外接所述目标芯片,其中,所述数模通信单元包括:串行外设通信spi通信帧模块、控制码转换模块、读写控制模块、缓存模块,spi通信帧模块用于将收到的通信数据控制码逐位发送与接收,控制码转换模块用于将模拟信号控制码转换为数字信号控制码,所述数模通信单元中包含的各个模块并行运行;调用单元,与所述数模通信单元连接,通过调用所述数模通信单元包括的各个模块,实现与所述目标芯片的通信。

根据本发明实施例的另一方面,还提供了一种通信接口装置,包括:现场可编程逻辑门阵列fpga,包括:数模通信单元和调用单元,其中,所述数模通信单元包括:串行外设通信spi通信帧模块、控制码转换模块、读写控制模块、缓存模块,spi通信帧模块用于将收到的通信数据控制码逐位发送与接收,控制码转换模块用于将模拟信号控制码转换为数字信号控制码,所述数模通信单元中包含的各个模块并行运行;所述调用单元与所述数模通信单元连接,通过调用所述数模通信单元包括的各个模块,实现与所述目标芯片的通信;目标芯片,与所述现场可编程逻辑门阵列fpga连接,执行上述任意一项所述的通信控制方法。

根据本发明实施例的另一方面,还提供了一种通信控制装置,应用于目标芯片,包括:接收单元,用于接收访问请求;确定单元,用于基于所述访问请求,确定访问请求的类型,其中,所述访问请求的类型包括:读控制模式或者写控制模式;控制单元,用于基于所述访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据;传输单元,用于将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

可选地,在目标通信帧模块包括:第一通信帧模块和第二通信帧模块时,所述控制单元包括:第一控制模块,用于在访问请求的类型为读控制模式时,控制第一通信帧模块对待传输数据进行第一编码操作,得到第一编码数据;或者,第二控制模块,用于在访问请求的类型为写控制模式时,控制第一通信帧模块对待传输数据进行第二编码操作,得到第二编码数据。

可选地,所述控制单元还包括:第一确定模块,用于基于所述访问请求的类型,确定待传输数据的数据量大小;拆分模块,用于基于数据量大小,对所述待传输数据进行拆分处理,得到多个待传输数据块,其中,每个所述待传输数据块所包含的数据量低于所述第二通信帧的数据量传输阈值;编码模块,用于对所述多个待传输数据块进行编码处理,得到所述目标编码数据。

可选地,所述目标芯片与fpga之间预先建立通信连接,并统一通信控制码,其中,所述通信控制码用于目标芯片与fpga之间进行数据传输处理。

可选地,所述第二通信帧模块内部采用串行通信模式,模块底层预先设置目标执行函数,其中,所述目标执行函数用于将接收到的所述通信控制码逐位传输。

可选地,所述现场可编程逻辑门阵列fpga包括:数模通信单元,外接所述目标芯片,其中,所述数模通信单元包括:串行外设通信spi通信帧模块、控制码转换模块、读写控制模块、缓存模块,spi通信帧模块用于将收到的通信数据控制码逐位发送与接收,控制码转换模块用于将模拟信号控制码转换为数字信号控制码,所述数模通信单元中包含的各个模块并行运行;调用单元,与所述数模通信单元连接,通过调用所述数模通信单元包括的各个模块,实现与所述目标芯片的通信。

根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的通信控制方法。

根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的通信控制方法。

本发明实施例中,先接收访问请求,基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式,基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据,将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。在该实施例中,目标芯片与fpga对接,能够使得fpga实现多任务且高度并行处理(同时实现多种读写控制线程),从而解决相关技术中现场可编程门阵列fpga无法实现并行处理任务,容易造成通信卡顿的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的通信控制方法的流程图;

图2是根据本发明实施例的一种可选的fpga通信接口的建模示意图;

图3是根据本发明实施例的一种可选的实现fpga与da芯片之间高速通信的示意图;

图4是根据本发明实施例的一种可选的通信控制装置的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例涉及的fpga包括多个可编程的逻辑单元,通过建模方式,实现fpga多任务处理、高并行度的特点。fpga与目标芯片(在本发明实施例可以指示数模转换da芯片)连接,以该目标芯片作为fpga的片外芯片,在变频器中常用于构建模拟比较值,或观测采样值等功能,目标芯片与fpga之间实现高速稳定通信,从而使得da芯片工作达到通信流畅和通信可靠的效果。

本发明实施例可以应用于高性能大功率变频器/基于mras的无传感器控制系统。

根据本发明实施例,提供了一种通信控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种通信控制方法,应用于目标芯片,该目标芯片与fpga连接,在fpga中包括多个芯片通信模块函数。

图1是根据本发明实施例的一种可选的通信控制方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,接收访问请求;

步骤s104,基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式;

步骤s106,基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据;

步骤s108,将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

通过上述步骤,可以先接收访问请求,基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式,基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据,将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。在该实施例中,目标芯片与fpga对接,能够使得fpga实现多任务且高度并行处理(同时实现多种读写控制线程),从而解决相关技术中现场可编程门阵列fpga无法实现并行处理任务,容易造成通信卡顿的技术问题。

在本发明实施例中,fpga通过通信接口进行信息交互,在通信一侧可以设置多个通信模块,在通信时,需要确定通信信息、按照通信协议形成控制码、通过通信协议时序传输数据三部分。在fpga的通信可以以此三部分进行功能分解,实现模块化设计。

下面结合上述各实施步骤对本发明实施例进行详细说明。

步骤s102,接收访问请求。

fpga可以向目标芯片发生访问请求,以实现数据读写控制功能。基于该访问请求确定fpga需要调用通信模块,并基于访问请求确定是要实现读控制还是写控制。

可选的,目标芯片与fpga之间预先建立通信连接,并统一通信控制码,其中,通信控制码用于目标芯片与fpga之间进行数据传输处理。

目标芯片所接收的每一位数据通信帧具有统一的控制码格式,针对与目标芯片间的spi通信的控制码需要提前定义,将fpga内部的控制信息与控制码进行一一对应。

步骤s104,基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式。

以spi通信为例,在确定需要实现芯片读控制模式时,可以按照第一通信帧模块对数据进行编码,然后采用第二通信帧模块进行数据传输。

步骤s106,基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据。

可选的,在目标通信帧模块包括:第一通信帧模块和第二通信帧模块时,基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据的步骤,包括:在访问请求的类型为读控制模式时,控制第一通信帧模块对待传输数据进行第一编码操作,得到第一编码数据;或者,在访问请求的类型为写控制模式时,控制第一通信帧模块对待传输数据进行第二编码操作,得到第二编码数据。

上述第一通信帧模块可以理解为调用模块所调用的读写控制模块中的读模块;而第二通信帧模块对应于spi通信帧模块。

另一种可选的,将目标编码数据传输至fpga的缓存模块的步骤,包括:控制第二通信帧模块将第一编码数据传输至fpga的缓存模块;或者,控制第二通信帧模块将第二编码数据传输至fpga的缓存模块。

在本发明实施例中,基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据的步骤,还包括:基于访问请求的类型,确定待传输数据的数据量大小;基于数据量大小,对待传输数据进行拆分处理,得到多个待传输数据块,其中,每个待传输数据块所包含的数据量低于第二通信帧的数据量传输阈值;对多个待传输数据块进行编码处理,得到目标编码数据。

步骤s108,将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

目标芯片返回的数据通过fpga内部缓存模块进行缓存,并可以由其余通信模块或者通信函数进行访问读取。

作为本发明可选的实施例,第二通信帧模块内部采用串行通信模式,模块底层预先设置目标执行函数,其中,目标执行函数用于将接收到的通信控制码逐位传输。

在本发明实施例中,现场可编程逻辑门阵列fpga包括:数模通信单元,外接目标芯片,其中,数模通信单元包括:串行外设通信spi通信帧模块、控制码转换模块、读写控制模块、缓存模块,spi通信帧模块用于将收到的通信数据控制码逐位发送与接收,控制码转换模块用于将模拟信号控制码转换为数字信号控制码,数模通信单元中包含的各个模块并行运行;调用单元,与数模通信单元连接,通过调用数模通信单元包括的各个模块,实现与目标芯片的通信。

图2是根据本发明实施例的一种可选的fpga通信接口的建模示意图,如图2所示,fpga与da芯片实现通信连接,在fpga中设计了5个通信模块,包括:调用模块、spi(串行外设接口)通信帧模块、控制码转换模块、读写控制模块、缓存模块。

下面结合图2对本发明实施例进行详细说明。

以fpga与da芯片间的spi通信为例,对本发明进行示意性说明:

本发明实施例中,spi通信本身为串行通信方式,底层需要一个spi通信协议帧的执行函数,将收到的通信数据控制码逐位的发送与接收。

da芯片所接收的每一位spi通信帧具有固定的控制码格式,针对与da芯片间的spi通信的控制码需要提前定义,将fpga内部的控制信息与控制码进行一一对应。da芯片的每一次的读写操作需要多个spi通信帧完成,此模块需要将控制信息进行拆分,分解成为一次spi通信的数据量,并根据接收信息决定下一帧的传输数据。da芯片返回的数据通过fpga内部ram模块进行缓存,并可以由其余函数进行访问读取。

可选的顶层函数需要建立底层函数间的连接方式,整合彼此间的数据流向,使之成为一个整体。并对外部提供访问接口,fpga需使用此功能时,只需要对顶层函数进行访问,写入控制信息即可。

在各层功能函数的设计中,采用将状态转换控制与数据处理逻辑分开,利用fpga的并行处理特性进行同时访问。数据处理不受外部条件的影响,仅由当前的状态决定。

功能设计开始先将各类功能进行分层,每个底层函数仅实现规定的功能部分,不进行底层间的函数调用,每个底层函数设计对外接口。

在顶层函数中,统一对各底层函数进行调用,将各底层函数的接口进行连接。实现底层功能的整合,使之成为一个整体。如需进行后续优化,也仅需要独立增加一个底层函数,不涉及到函数的嵌套,和各类的逻辑干涉问题。

图3是根据本发明实施例的一种可选的实现fpga与da芯片之间高速通信的示意图,如图3所示,fpga通过访问da通信模块,并等待da通信模块应答,通过fpga通过缓存模块进行数据读取。da通信模块在接到fpga的访问后,判断该数据为“读控制”还是“写控制”。如果是“写控制”,则进行编码,并逐帧发送;如果是“读控制”,则在编码并发送后,等待da芯片的应答数据。接收到da芯片的应答数据后,解码并存入到缓存模块。

通过上述实施例,能够对fpga通信功能的并行处理、分层设计、统一调用的设计方法,可以快速实现对fpga的功能设计,方便调用,可最大程度发挥fpga并行处理的优势,且功能可拓展性很强,便于后续优化。

根据本发明实施例的另一方面,还提供了一种通信接口装置,包括:

现场可编程逻辑门阵列fpga,包括:数模通信单元和调用单元,其中,数模通信单元包括:串行外设通信spi通信帧模块、控制码转换模块、读写控制模块、缓存模块,spi通信帧模块用于将收到的通信数据控制码逐位发送与接收,控制码转换模块用于将模拟信号控制码转换为数字信号控制码,数模通信单元中包含的各个模块并行运行;调用单元与数模通信单元连接,通过调用数模通信单元包括的各个模块,实现与目标芯片的通信;

目标芯片,与现场可编程逻辑门阵列fpga连接,执行上述任意一项的通信控制方法。

图4是根据本发明实施例的一种可选的通信控制装置的示意图,应用于目标芯片,如图4所示,该通信控制装置可以包括:接收单元41,确定单元43,控制单元45,传输单元47,其中,

接收单元41,用于接收访问请求;

确定单元43,用于基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式;

控制单元45,用于基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据;

传输单元47,用于将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

上述通信控制装置,可以先通过接收单元41接收访问请求,通过确定单元43基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式,通过控制单元45基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据,通过传输单元47将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。在该实施例中,目标芯片与fpga对接,能够使得fpga实现多任务且高度并行处理(同时实现多种读写控制线程),从而解决相关技术中现场可编程门阵列fpga无法实现并行处理任务,容易造成通信卡顿的技术问题。

可选的,在目标通信帧模块包括:第一通信帧模块和第二通信帧模块时,控制单元包括:第一控制模块,用于在访问请求的类型为读控制模式时,控制第一通信帧模块对待传输数据进行第一编码操作,得到第一编码数据;或者,第二控制模块,用于在访问请求的类型为写控制模式时,控制第一通信帧模块对待传输数据进行第二编码操作,得到第二编码数据。

另一种可选的,控制单元还包括:第一确定模块,用于基于访问请求的类型,确定待传输数据的数据量大小;拆分模块,用于基于数据量大小,对待传输数据进行拆分处理,得到多个待传输数据块,其中,每个待传输数据块所包含的数据量低于第二通信帧的数据量传输阈值;编码模块,用于对多个待传输数据块进行编码处理,得到目标编码数据。

可选的,目标芯片与fpga之间预先建立通信连接,并统一通信控制码,其中,通信控制码用于目标芯片与fpga之间进行数据传输处理。

在本发明实施例中,第二通信帧模块内部采用串行通信模式,模块底层预先设置目标执行函数,其中,目标执行函数用于将接收到的通信控制码逐位传输。

上述的通信控制装置还可以包括处理器和存储器,上述接收单元41,确定单元43,控制单元45,传输单元47等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来于将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的通信控制方法。

根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的通信控制方法。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收访问请求;基于访问请求,确定访问请求的类型,其中,访问请求的类型包括:读控制模式或者写控制模式;基于访问请求的类型,控制目标通信帧模块对待传输数据进行编码处理,得到目标编码数据;将目标编码数据传输至现场可编程逻辑门阵列fpga的缓存模块。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1