CN115858055A - 一种软硬件间的解耦方法、系统、装置及介质 - Google Patents
一种软硬件间的解耦方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN115858055A CN115858055A CN202310067749.7A CN202310067749A CN115858055A CN 115858055 A CN115858055 A CN 115858055A CN 202310067749 A CN202310067749 A CN 202310067749A CN 115858055 A CN115858055 A CN 115858055A
- Authority
- CN
- China
- Prior art keywords
- hardware
- interface
- command
- software
- decoupling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本申请公开了一种软硬件间的解耦方法、系统、装置及介质,应用于系统软硬件解耦领域。该方法应用于可编程控制器,其内配置有可调节程序,该方法包括:获取应用程序下发的命令;利用通用应用程序接口获取与命令对应的执行命令;根据执行命令对相应的硬件进行操作;通用应用程序接口包括:通信接口、运算接口、存储接口;通信接口用于在接收到通信命令后将通信命令转换为通信方式码,运算、存储接口用于在接收到运算、存储命令后调用可编程控制器中相应的运算、存储程序。将应用程序中的命令转换为控制器可识别的统一语言,或通用应用程序接口调用控制器中的可调节程序并驱动硬件,提高了硬件的统一性,软件的可移植性,实现了软硬件间的解耦。
Description
技术领域
本申请涉及系统软硬件解耦领域,特别是涉及一种软硬件间的解耦方法、系统、装置及介质。
背景技术
随着轨道交通领域中人机界面终端的发展,在其终端内的软件层面上,当需要调用程序或实现功能时,程序或应用控制操作系统中的驱动调用接口芯片,接口芯片通过接口电路实现与通信总线的数据交互完成操作任务。
目前,在软件层面上,如果对于不同操作系统,即使接受到相同的任务时,也需要针对不同的操作系统相应的改变软件程序,无法做到重复使用软件程序,开发成本较高。在硬件层面上,针对不同程序或功能需要对应有不同的接口芯片来完成相应的任务,成本较高,通用性较差,需要频繁更换接口芯片导致应用程序依赖硬件层面的接口芯片才能实现相应的功能。目前的技术中,软硬件的关联度较高,在针对不同的用户需求时,需要更改相应的操作系统或接口芯片,软件移植性较低,硬件通用性较差。
如何解决目前软硬件的关联度较高,在针对不同的用户需求时,需要更改相应的操作系统或接口芯片,软件移植性较低,硬件通用性较差的问题是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种软硬件间的解耦方法、系统、装置及介质,通过设置通用应用程序接口和可编程控制器解决了目前软硬件的关联度较高,在针对不同的用户需求时,需要更改相应的操作系统或接口芯片,软件移植性较低,硬件通用性较差的问题。
为解决上述技术问题,本申请提供一种软硬件间的解耦方法,应用于可编程控制器,所述可编程控制器内配置有可调节程序,该方法包括:
获取应用程序下发的命令;
利用通用应用程序接口获取与所述命令对应的执行命令;
根据所述执行命令对相应的硬件进行操作;
所述通用应用程序接口包括:通信接口、运算接口、存储接口;所述通信接口用于在接收到通信命令后将所述通信命令转换为通信方式码,所述运算接口用于在接收到运算命令后调用所述可编程控制器中相应的运算程序,所述存储接口用于在接收到存储命令后调用所述可编程控制器中相应的存储程序。
优选地,所述可编程控制器包括:MCU和FPGA;所述MCU与所述FPGA通信连接,所述MCU具体用于在获取与所述命令对应的执行命令后,将所述执行命令发送给所述FPGA;所述FPGA用于根据所述执行命令对相应的硬件进行操作。
优选地,所述将所述执行命令发送给所述FPGA包括:
根据通信命令或运算、存储命令将所述通信方式码或相应的运算、存储程序发送到所述FPGA芯片内指定的RAM。
优选地,所述根据所述执行命令对相应的硬件进行操作包括:
将所述RAM中的数据根据执行命令类别进行整合后发送给相应的硬件进行操作。
优选地,还包括:
获取由所述硬件传输的数据;
获取与所述数据对应的读取数据;
将所述读取数据发送给所述通用应用程序接口。
优选地,在所述将所述读取数据发送给所述通用应用程序接口后,还包括:
关闭所述通用应用程序接口的数据传输链路。
优选地,所述MCU与所述FPGA采用PCIE方式进行通信连接。
为解决上述技术问题,本申请还提供一种软硬件间的解耦系统,应用于可编程控制器,所述可编程控制器内配置有可调节程序,该方法包括:
第一获取模块,用于获取应用程序下发的命令;
第二获取模块,用于利用通用应用程序接口获取与所述命令对应的执行命令;
操作模块,用于根据所述执行命令对相应的硬件进行操作;
所述通用应用程序接口包括:通信接口、运算接口、存储接口;所述通信接口用于在接收到通信命令后将所述通信命令转换为通信方式码,所述运算接口用于在接收到运算命令后调用所述可编程控制器中相应的运算程序,所述存储接口用于在接收到存储命令后调用所述可编程控制器中相应的存储程序。
为解决上述技术问题,本申请还提供一种软硬件间的解耦装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的软硬件间的解耦方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的软硬件间的解耦方法的步骤。
本申请所提供的软硬件间的解耦方法,应用于可编程控制器,所述可编程控制器内配置有可调节程序,该方法包括:获取应用程序下发的命令;利用通用应用程序接口获取与所述命令对应的执行命令;根据所述执行命令对相应的硬件进行操作;所述通用应用程序接口包括:通信接口、运算接口、存储接口;所述通信接口用于在接收到通信命令后将所述通信命令转换为通信方式码,所述运算接口用于在接收到运算命令后调用所述可编程控制器中相应的运算程序,所述存储接口用于在接收到存储命令后调用所述可编程控制器中相应的存储程序。通过通用应用程序接口和可编程控制器将应用程序中的命令转换为控制器可识别的统一语言,或者在应用程序下发调用命令时,通用应用程序接口调用控制器中的可调节程序,驱动相应的硬件进行操作。提高了硬件的统一性,软件的可移植性,让软硬件之间不再互相依赖,实现了软硬件间的解耦。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的软硬件间的解耦方法的流程图;
图2为本申请实施例提供的软硬件间的解耦方法中软硬件的结构图;
图3为本申请实施例提供的通信接口结构图;
图4为本申请实施例提供的运算接口结构图;
图5为本申请实施例提供的存储接口结构图;
图6为本申请实施例提供的硬件平台结构图;
图7为本申请实施例提供的中间件与操作系统的结构图;
图8为本申请实施例提供的中间件的结构图;
图9为本申请实施例提供的FPGA内部功能结构图;
图10为本申请实施例提供的软硬件间的解耦系统的结构图;
图11为本申请另一实施例提供的软硬件间的解耦装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种软硬件间的解耦方法,通过设置通用应用程序接口12和可编程控制器解决了目前软硬件的关联度较高,在针对不同的用户需求时,需要更改相应的操作系统3或接口芯片,软件移植性较低,硬件16通用性较差的问题。
本申请提供的软硬件间的解耦方法中的获取等操作可以由上位机中的控制器实现,例如控制器可以为微控制单元(Microcontroller Unit;MCU),当然还可以是除MCU以外其他的控制器实现,本申请不作限定。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的软硬件间的解耦方法的流程图,如图1所示,该方法,应用于可编程控制器,可编程控制器内配置有可调节程序,该方法包括:
S10:获取应用程序下发的命令。
具体地,本实施例中由于在轨道交通人机交互终端领域中,会存在许多不同使用需求,例如显示、监控、警报处理、轨道状态判别、检修管理、配置管理、终端模拟等。相应的也会存在满足相应需求的应用程序1,此时MCU6获取应用程序1的需求命令,其中可能会存在不同类型的需求命令,例如通信、运算、存储等命令。对于不同类型的需求命令,应用程序1一般基于文件、数据结构及扩展函数的设计方式,数据的传递大量依赖操作系统3的线程及任务调度,导致应用程序1与操作系统3密不可分,本实施例中加入了通用应用程序接口12与相应的程序对接,实现应用程序1和操作系统3的解耦,详见后文描述。
S11:利用通用应用程序接口获取与命令对应的执行命令。
S12:根据执行命令对相应的硬件进行操作。
通用应用程序接口12包括:通信接口、运算接口、存储接口;通信接口用于在接收到通信命令后将通信命令转换为通信方式码,运算接口用于在接收到运算命令后调用可编程控制器中相应的运算程序,存储接口用于在接收到存储命令后调用可编程控制器中相应的存储程序。
具体地,本实施例中设置有通用应用程序接口12,根据不同的应用程序1下发的命令采取不同的执行命令,图2为本申请实施例提供的软硬件间的解耦方法中软硬件的结构图,如图2所示,应用程序1与中间件2通信连接,其中中间件2连接本申请实施例提供的通用应用程序接口12,操作系统3连接有驱动和协议栈13,其中中间件2和操作系统3均存在于MCU6中,MCU6与硬件平台4连接,硬件平台4中包含有:触摸屏5、存储器件7、图形处理器(GPU8)、现场可编程逻辑门阵列(FPGA9)、接口电路10以及与接口电路10连接的通信总线11。图3为本申请实施例提供的通信接口结构图,如图3所示,通信接口在接收到通信命令后将通信命令转换为通信方式码,将输入写入对应的写入缓冲区(BUF),再发送至FPGA总线接口也即为MCU6中的驱动,驱动将写入数据打包发送给硬件平台4的FPGA9。相应的,通信接口接收到数据后,驱动依据传入的数据方式类型,将数据写入到对应的通信方式读取BUF,并以中断方式通知通信接口,通信接口将中断方式通知对应的应用程序1,应用程序1即可完成数据的读取,此时实现数据的接收和发送。图4为本申请实施例提供的运算接口结构图,如图4所示,运算接口在接收到运算命令后,运算接口通过调用程序完成一个或多个接口的硬件16调用,完成运算后数据通过运算接口返回到应用程序1。图5为本申请实施例提供的存储接口结构图,如图5所示,存储接口在接收到存储命令后,存储接口通过调用程序完成一个或多个存储接口的调用,完成数据的存储和读写。利用通用应用程序接口12获取与命令对应的执行命令,实现了对相应硬件16的操作,由于存在不同类型的执行命令所以本实施例中设置可编程控制器,可编程控制器内配置有可调节程序,本实施例中通过不同的可调节嵌入式程序实现了一个硬件16即可对应多个软件的效果。
图6为本申请实施例提供的硬件平台结构图,如图6所示,MCU6与触摸屏5、GPU8、FPGA9、存储器件7连接,FPGA9与接口电路10连接,接口电路10与通信总线11连接,实现了以MCU6为控制核心的硬件平台。图7为本申请实施例提供的中间件与操作系统的结构图,如图7所示,操作系统3中包含通用应用程序接口12,通用应用程序接口12与协议栈13连接,协议栈13与中间件2连接,中间件2与应用程序1连接,同时通用应用程序接口12和运算与存储15功能的模块连接,通用应用程序接口12还与驱动程序14连接,驱动程序14连接相应的通用硬件16。图8为本申请实施例提供的中间件的结构图,如图8所示,通用应用程序接口12通过运算151、通信152、存储153等模块实现对应用程序1的读/写功能。
可见,本实施例中提供的软硬件间的解耦方法,应用于可编程控制器,所述可编程控制器内配置有可调节程序,该方法包括:获取应用程序1下发的命令;利用通用应用程序接口12获取与所述命令对应的执行命令;根据所述执行命令对相应的硬件16进行操作;所述通用应用程序接口12包括:通信接口、运算接口、存储接口;所述通信接口用于在接收到通信命令后将所述通信命令转换为通信方式码,所述运算接口用于在接收到运算命令后调用所述可编程控制器中相应的运算程序,所述存储接口用于在接收到存储命令后调用所述可编程控制器中相应的存储程序。通过通用应用程序接口12和可编程控制器将应用程序1中的命令转换为控制器可识别的统一语言,或者在应用程序1下发调用命令时,通用应用程序接口12调用控制器中的可调节程序,驱动相应的硬件16进行操作。提高了硬件16的统一性,软件的可移植性,让软硬件之间不再互相依赖,实现了软硬件间的解耦。
在上述实施例的基础上,作为一种优选的实施例,可编程控制器包括:MCU和FPGA;MCU与FPGA通信连接,MCU具体用于在获取与命令对应的执行命令后,将执行命令发送给FPGA;FPGA用于根据执行命令对相应的硬件进行操作。
具体地,本实施例中可编程控制器中包括有MCU6和与MCU6通信连接的FPGA9,MCU6通过获取与命令对应的执行命令后,将执行命令发送给FPGA9;FPGA9再根据执行命令对相应的硬件16进行操作。其中FPGA9代替原有的接口芯片,通过内置的可调节嵌入式程序实现了在获取到不同类型的调用命令时,可以只通过FPGA9就能实现对相应硬件16的调用。此外,由于FPGA9实时性较强,相较于MCU6,FPGA9可以同时相应多个任务,例如MCU6需要点亮A、B、C三个灯,需要依次点亮当A灯亮之后再控制B灯亮,最后再控制C灯亮。而FPGA9可以同时将A、B、C三个灯点亮,实时性较强。所以将FPGA9作为最后根据执行命令对相应的硬件16进行操作的控制器。
可见,通过将MCU6与FPGA9所做的任务进行分离,MCU6处理与所下达的命令对应的执行命令,将执行命令发送给FPGA9,由于FPGA9具有较强的实时性,可以同时处理多个执行命令,工作效率较高。
在上述实施例的基础上,作为一种优选的实施例,将执行命令发送给FPGA包括:
根据通信命令或运算、存储命令将通信方式码或相应的运算、存储程序发送到FPGA芯片内指定的RAM。
具体地,图9为本申请实施例提供的FPGA内部功能结构图,如图9所示,FPGA9中的随机存取存储器(RAM)与MCU6中操作系统3中的驱动相连,MCU6将经过处理后的执行命令先发送至FPGA9中的RAM,RAM中的每个数据段包含有头、尾,地址1头、地址1尾、地址2头、地址n-1尾、地址n头、地址n尾、通用I/O头、通用I/O尾,其中每个数据段都对应相应的驱动,例如地址1对应通信接口1FPGA驱动,通用I/O对应I/O驱动。FPGA9先将所获取的通信方式码或相应的运算、存储程序存储至指定的、相应的RAM中进行存储,等待内部相应的驱动进行获取数据,并对相应硬件16进行调用。
可见,将MCU6和FPGA9分离后,MCU6将执行命令发送至FPGA9芯片内指定的RAM,通过指定的RAM进行存储,等待内部相应的驱动进行获取数据,并对相应硬件16进行调用。将数据存储、数据获取、调用硬件16等步骤进行分离,使每个步骤更加详细、明确,提高了处理速度。
在上述实施例的基础上,作为一种优选的实施例,根据执行命令对相应的硬件进行操作包括:
将RAM中的数据根据执行命令类别进行整合后发送给相应的硬件进行操作。
具体地,本实施例中在RAM中存储到相应的执行命令后,根据执行命令的类别先进行整合,例如将通信方式码、运算程序、存储程序分为三类,将同一类执行命令类型且执行命令对象一致的执行命令进行整合后,调用相应的接口硬件复用程序,接口硬件复用程序与相应的外围电路,也即硬件16进行交互。
可见,通过将执行命令进行分类整合后,发送给接口硬件复用程序,接口硬件复用程序对相应硬件16进行操控完成应用程序1所下达的命令。
在上述实施例的基础上,作为一种优选的实施例,还包括:
获取由硬件传输的数据;
获取与数据对应的读取数据;
将读取数据发送给通用应用程序接口。
具体地,由于前述实施例中详细描述了应用程序1对硬件16的数据发送,本实施例中对硬件16对应用程序1的数据发送,也即应用程序1的数据接收进行描述。通信接口接收到数据后,驱动依据传入的数据方式类型,将数据写入到对应的通信方式读取BUF,并以中断方式通知通信接口,通信接口将中断方式通知对应的应用程序1,应用程序1即可完成数据的读取,此时实现数据的接收和发送。
可见,中间件2中的数据接收和发送都是双向的,实现了应用程序1与硬件16间相互的交流需求,即实现了应用程序1对硬件16的调度,也实现了硬件16对应用程序1的反馈。
在上述实施例的基础上,作为一种优选的实施例,在将读取数据发送给通用应用程序接口后,还包括:
关闭通用应用程序接口的数据传输链路。
具体地,本实施中在将数据发送给通用应用程序接口12后,关闭传输链路,目的在于节约中央处理器 (Central Processing Unit,CPU)的能耗,采用关闭传输链路的方式提醒应用程序1获取通用应用程序接口12所接收到的数据,避免CPU持续检测是否有数据需要获取,CPU可以在检测到传输链路断开后直接获取相应的数据。
可见,通过在传输数据后断开传输链路的方式,节约了CPU的功耗,提高了数据检测与获取的效率,节省了系统资源。
在上述实施例的基础上,作为一种优选的实施例,MCU与FPGA采用PCIE方式进行通信连接。
可见,具体地,本实施例中,MCU6与FPGA9间采用高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE)的方式进行通信连接该通信方式可适用于所有的人机交互设备处理器,PCIE属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,因此可实现操作系统3与硬件16的解耦,同时不同的应用程序1可给FPGA9加载不同的嵌入式程序实现对硬件16的调用,使得应用程序1不再依赖于硬件16,实现了应用程序1和硬件16的解耦。
可见,通过MCU6与FPGA9间通过PCIE进行交互实现应用程序1和硬件16的解耦,采用这种方式传输速度快,带宽占用率低,使MCU6与FPGA9间可以更快速准确的进行通信交互。
在上述实施例中,对于软硬件间的解耦方法进行了详细描述,本申请还提供软硬件间的解耦系统对应的实施例。需要说明的是,本申请从两个角度对系统部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种软硬件间的解耦系统,图10为本申请实施例提供的软硬件间的解耦系统的结构图,如图10所示,应用于可编程控制器,可编程控制器内配置有可调节程序,该方法包括:
第一获取模块100,用于获取应用程序1下发的命令;
第二获取模块110,用于利用通用应用程序接口12获取与命令对应的执行命令;
操作模块120,用于根据执行命令对相应的硬件16进行操作;
通用应用程序接口12包括:通信接口、运算接口、存储接口;通信接口用于在接收到通信命令后将通信命令转换为通信方式码,运算接口用于在接收到运算命令后调用可编程控制器中相应的运算程序,存储接口用于在接收到存储命令后调用可编程控制器中相应的存储程序。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的软硬件间的解耦系统,与上述方法对应,故具有与上述方法相同的有益效果。
基于硬件的角度,图11为本申请另一实施例提供的软硬件间的解耦装置的结构图,如图11所示,软硬件间的解耦装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的软硬件间的解耦方法的步骤。
本实施例提供的软硬件间的解耦装置可以包括但不限于FPGA9、存储器20、处理器21等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器 (Digital Signal Processor,DSP)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA)、可编程逻辑阵列 (Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器 (CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器 (Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能 (Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的软硬件间的解耦方法的相关步骤。另外,存储器20所存储的资源还可以包括存储操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,存储操作系统202可以包括Windows、Unix、Linux等。
在一些实施例中,软硬件间的解耦装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图11中示出的结构并不构成对软硬件间的解耦装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的软硬件间的解耦装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上述软硬件间的解耦方法。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的软硬件间的解耦方法、系统、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种软硬件间的解耦方法,其特征在于,应用于可编程控制器,所述可编程控制器内配置有可调节程序,该方法包括:
获取应用程序下发的命令;
利用通用应用程序接口获取与所述命令对应的执行命令;
根据所述执行命令对相应的硬件进行操作;
所述通用应用程序接口包括:通信接口、运算接口、存储接口;所述通信接口用于在接收到通信命令后将所述通信命令转换为通信方式码,所述运算接口用于在接收到运算命令后调用所述可编程控制器中相应的运算程序,所述存储接口用于在接收到存储命令后调用所述可编程控制器中相应的存储程序。
2.根据权利要求1所述的软硬件间的解耦方法,其特征在于,所述可编程控制器包括:MCU和FPGA;所述MCU与所述FPGA通信连接,所述MCU具体用于在获取与所述命令对应的执行命令后,将所述执行命令发送给所述FPGA;所述FPGA用于根据所述执行命令对相应的硬件进行操作。
3.根据权利要求2所述的软硬件间的解耦方法,其特征在于,所述将所述执行命令发送给所述FPGA包括:
根据通信命令或运算、存储命令将所述通信方式码或相应的运算、存储程序发送到所述FPGA芯片内指定的RAM。
4.根据权利要求3所述的软硬件间的解耦方法,其特征在于,所述根据所述执行命令对相应的硬件进行操作包括:
将所述RAM中的数据根据执行命令类别进行整合后发送给相应的硬件进行操作。
5.根据权利要求1所述的软硬件间的解耦方法,其特征在于,还包括:
获取由所述硬件传输的数据;
获取与所述数据对应的读取数据;
将所述读取数据发送给所述通用应用程序接口。
6.根据权利要求5所述的软硬件间的解耦方法,其特征在于,在所述将所述读取数据发送给所述通用应用程序接口后,还包括:
关闭所述通用应用程序接口的数据传输链路。
7.根据权利要求2所述的软硬件间的解耦方法,其特征在于,所述MCU与所述FPGA采用PCIE方式进行通信连接。
8.一种软硬件间的解耦系统,其特征在于,应用于可编程控制器,所述可编程控制器内配置有可调节程序,该系统包括:
第一获取模块,用于获取应用程序下发的命令;
第二获取模块,用于利用通用应用程序接口获取与所述命令对应的执行命令;
操作模块,用于根据所述执行命令对相应的硬件进行操作;
所述通用应用程序接口包括:通信接口、运算接口、存储接口;所述通信接口用于在接收到通信命令后将所述通信命令转换为通信方式码,所述运算接口用于在接收到运算命令后调用所述可编程控制器中相应的运算程序,所述存储接口用于在接收到存储命令后调用所述可编程控制器中相应的存储程序。
9.一种软硬件间的解耦装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的软硬件间的解耦方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的软硬件间的解耦方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310067749.7A CN115858055A (zh) | 2023-02-06 | 2023-02-06 | 一种软硬件间的解耦方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310067749.7A CN115858055A (zh) | 2023-02-06 | 2023-02-06 | 一种软硬件间的解耦方法、系统、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858055A true CN115858055A (zh) | 2023-03-28 |
Family
ID=85657647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310067749.7A Pending CN115858055A (zh) | 2023-02-06 | 2023-02-06 | 一种软硬件间的解耦方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858055A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111433735A (zh) * | 2017-08-24 | 2020-07-17 | 睿马戈控股有限公司 | 实现通用硬件-软件接口的方法、设备和计算机可读介质 |
CN111857852A (zh) * | 2020-07-28 | 2020-10-30 | Oppo广东移动通信有限公司 | 驱动系统、信息处理方法、电子设备及存储介质 |
CN113051082A (zh) * | 2021-03-02 | 2021-06-29 | 长沙景嘉微电子股份有限公司 | 软件硬件数据同步方法、装置、电子设备和存储介质 |
CN115629809A (zh) * | 2022-10-17 | 2023-01-20 | 元心信息科技集团有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
-
2023
- 2023-02-06 CN CN202310067749.7A patent/CN115858055A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111433735A (zh) * | 2017-08-24 | 2020-07-17 | 睿马戈控股有限公司 | 实现通用硬件-软件接口的方法、设备和计算机可读介质 |
CN111857852A (zh) * | 2020-07-28 | 2020-10-30 | Oppo广东移动通信有限公司 | 驱动系统、信息处理方法、电子设备及存储介质 |
CN113051082A (zh) * | 2021-03-02 | 2021-06-29 | 长沙景嘉微电子股份有限公司 | 软件硬件数据同步方法、装置、电子设备和存储介质 |
CN115629809A (zh) * | 2022-10-17 | 2023-01-20 | 元心信息科技集团有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8521929B2 (en) | Virtual serial port management system and method | |
EP2492916A1 (en) | Multi-interface solid state disk (ssd), processing method and system thereof | |
CN111901164B (zh) | Ocp nic网卡的适配控制方法、装置、设备及系统 | |
CN103345407A (zh) | 控制电路、连通控制器、连通控制方法及主板 | |
KR102350379B1 (ko) | 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 | |
CN107066413B (zh) | 一种用于处理多个总线设备数据的方法及其总线系统 | |
CN102981827A (zh) | 一种基于中间件的显示界面数据处理方法及平台 | |
CN113726498A (zh) | 基于spi的双全工通信方法、主机、从机及存储介质 | |
CN115794313A (zh) | 一种虚拟机调试方法、系统、电子设备及存储介质 | |
CN117278890B (zh) | 光模块访问方法、装置、系统、电子设备及可读存储介质 | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
CN102445981B (zh) | 数据传输系统以及数据传输方法 | |
CN101763324A (zh) | 设备模拟的实现方法和装置 | |
CN112671936A (zh) | 一种跨不同本国系统的专用传输模块适配方法、装置 | |
CN105718396A (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN112347017A (zh) | Lpc总线接口的ps/2键盘双机外挂系统和切换方法 | |
CN115858055A (zh) | 一种软硬件间的解耦方法、系统、装置及介质 | |
CN110888516A (zh) | 一种实时监测电源刀片状态的嵌入式方法 | |
CN203658991U (zh) | 一种计算机取证系统 | |
CN104750551A (zh) | 一种计算机系统及其自定义响应方法 | |
CN210986125U (zh) | 一种嵌入式工控一体机 | |
CN210807308U (zh) | 基于arm本地总线的以太网接口电路及变频控制器 | |
CN109976778B (zh) | 车辆电子产品的软件更新方法与系统、上位机及存储介质 | |
CN208622092U (zh) | 一种基于双龙芯处理器的高性能数据处理装置 | |
CN112232523A (zh) | 一种国产化人工智能计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |