CN115098412A - 外设访问控制器、数据访问装置及对应方法、介质和芯片 - Google Patents
外设访问控制器、数据访问装置及对应方法、介质和芯片 Download PDFInfo
- Publication number
- CN115098412A CN115098412A CN202210891846.3A CN202210891846A CN115098412A CN 115098412 A CN115098412 A CN 115098412A CN 202210891846 A CN202210891846 A CN 202210891846A CN 115098412 A CN115098412 A CN 115098412A
- Authority
- CN
- China
- Prior art keywords
- peripheral
- controller
- information
- control
- access
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Abstract
本发明实施例提供一种外设访问控制器、数据访问装置及对应方法、介质和芯片,属于数据传输领域。所述外设访问控制器设置在工业控制处理器与外设之间,且包括:GPIO控制器,被配置为通过GPIO接口与部分外设进行信息交互;I2C控制器,被配置为通过I2C总线与部分外设进行信息交互;以及存储模块,被配置为存储来自工业控制处理器的针对外设的控制信息,并通过GPIO控制器和/或I2C控制器向相应外设传送该控制信息,以及存储这两个控制器获取的相应外设的状态信息,并向工业控制处理器传送该状态信息。本发明使得工业控制处理器不需要多次发送指令而获取外设状态信息,且使得获取外设状态信息和发送控制信息独立进行,缩短了强实时性场景下的数据传输延迟。
Description
技术领域
本发明涉及数据传输领域,具体地涉及一种外设访问控制器、数据访问装置及对应方法、介质和芯片。
背景技术
随着工业智能化的发展,工业现场对实时性的要求也越来越高,特别是外设数据的需求十分关键。若外设数据访问延迟,会严重影响工业现场的生产效率。但是,现有的工业控制处理器(例如CPU)在强实时性场景中,往往都存在外设数据访问延迟的问题。
举例而言,图1是现有CPU外设访问的流程示意图,其中带箭头的虚线用于示出数据访问的信号流。结合图1,可知现有外设访问流程至少存在如下任意一项所示出的访问延迟问题。
1)GPIO(General-purpose Input/Output,通用型输入输出)控制器和I2C(Inter-Integrated Circuit,集成电路)控制器都独立地挂在CPU的总线上的中低速接口(如图1所示的APB总线),CPU需要先通过AXI/AHBA总线访问APB总线,然后再通过APB总线访问I2C接口,同理GPIO处也是类似的数据流程。如此,只有分别操作I2C控制器和GPIO控制器才能得到数据,进而才能进行运算和执行控制命令,使得数据链路传输延迟非常大。
2)I2C总线的速率要远远小于CPU的速率,需要采用停-等协议的方法,即当CPU传输数据时需要先发起请求,停下等待I2C总线的数据是否准备好,然后再进行传输,而这极大地增加了访问期间的等待延迟。
3)上述存在于I2C总线的停-等协议问题,还会影响基于从I2C总线获取的数据来控制通过GPIO接口连接的外设的效率,即CPU需要获取I2C连接的外设的状态信息之后才能向通过GPIO接口连接的外设发送控制信息。如此,CPU获取外设状态信息和发送控制信息的过程存在牵制,会产生GPIO执行控制命令的延迟问题。
因此,现有的CPU外设访问方案存在访问延迟问题,会使得工业控制响应速率慢,效率低下,严重地影响生产效率,不适用于强实时性场景。
发明内容
本发明实施例的目的是提供一种外设访问控制器、数据访问装置及对应方法、介质和芯片,用于至少部分地解决上述技术问题。
为了实现上述目的,本发明实施例提供一种外设访问控制器,设置在工业控制处理器与若干外设之间,且所述外设访问控制器包括:GPIO控制器,被配置为通过GPIO接口与部分外设进行信息交互;I2C控制器,被配置为通过I2C总线与部分外设进行信息交互;存储模块,其与所述GPIO控制器、所述I2C控制器及所述工业控制处理器分别连接。其中,所述存储模块被配置为:存储来自所述工业控制处理器的针对外设的控制信息,并通过所述GPIO控制器和/或所述I2C控制器向相应外设传送该控制信息;以及存储所述GPIO控制器和/或所述I2C控制器获取的相应外设的状态信息,并向所述工业控制处理器传送该状态信息。
优选地,所述存储模块是实时输入输出控制寄存器堆。
优选地,所述存储模块具有多个条目,且针对不同外设的状态信息和/或控制信息被存储于不同的条目下。
优选地,所述存储模块还被配置为:根据实时接收的针对任意外设的所述状态信息和/或所述控制信息,实时更新在该存储模块中针对相应外设的存储内容。
优选地,所述GPIO控制器和所述I2C控制器还被配置为:根据从所述存储模块实时接收的针对任意外设的所述状态信息和/或所述控制信息,实时更新与相应外设进行信息交互的相关信息。
另一方面,本发明实施例提供一种数据访问装置,包括:上述任意的外设访问控制器;以及计算部件,其与工业控制处理器及所述外设访问控制器的所述存储模块相连接。所述计算部件被配置为:响应于所述工业控制处理器的外设访问请求,从所述存储模块中读取相应外设的状态信息;对所读取的状态信息进行运算,以使得所述工业控制处理器根据相应运算结果生成针对相应外设的控制信息;以及向所述存储模块传送所生成的控制信息,以使得所述存储模块存储并通过所述GPIO控制器和/或所述I2C控制器向相应外设传送该控制信息。
优选地,所述计算部件是ALU(Arithmetic and Logic Unit,算术逻辑单元)。
优选地,所述数据访问装置还包括:信息处理模块,与所述计算部件相连接,用于对所述计算部件的所述运算结果进行信息判决和控制,以生成所述控制信息。
优选地,所述计算部件和/或所述信息处理模块集成在所述工业控制处理器中。
优选地,所述数据访问装置还包括:一级或多级存储结构,其与所述计算部件相连接,用于存储并向所述计算部件提供除所述外设的所述状态信息之外的待访问数据。
本发明实施例还提供一种数据访问方法,该数据访问方法基于上述任意的外设访问控制器被执行,且包括:响应于所述工业控制处理器的外设访问请求,从所述外设访问控制器的所述存储模块中读取相应外设的状态信息;对所读取的状态信息进行运算,以使得所述工业控制处理器根据运算结果生成针对相应外设的控制信息;以及向所述存储模块传送所生成的控制信息,以使得所述存储模块存储并通过所述GPIO控制器和/或所述I2C控制器向相应外设传送该控制信息。
优选地,所述数据访问方法还包括:响应于所述工业控制处理器的除所述外设访问请求之外的数据访问请求,从存储除所述外设的所述状态信息之外的待访问数据的一级或多级存储结构中读取信息。
本发明实施例还提供一种外设控制方法,该外设控制方法基于上述任意的外设访问控制器被执行,且包括:获取所述外设访问控制器的所述存储模块实时存储的关于第一外设的状态信息;对所获取的所述第一外设的所述状态信息进行运算,并根据运算结果和控制需求生成针对第二外设的控制信息;以及将所生成的所述第二外设的所述控制信息实时存储于所述存储模块,并通过所述存储模块传送给所述第二外设,以控制所述第二外设进行状态更新。
优选地,所述第一外设是以下两种外设中的一者,而所述第二外设是以下两种外设中的另一者,和/或所述第一外设和所述第二外设两者同为以下两种外设中的任意一者:与所述I2C控制器通过I2C总线连接的外设;以及与所述GPIO控制器通过GPIO接口连接的外设。
另一方面,本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器上述任意的数据访问方法或者使得机器执行上述任意的外设控制方法。
另一方面,本发明实施例还提供了一种芯片,所述芯片包括上述任意的外设访问控制器或者包括上述任意的数据访问装置;或者,所述芯片被配置为执行上述任意的数据访问方法或上述任意的外设控制方法。
通过上述技术方案,本发明实施例提出了一种新型的面向强实时性应用场景的外设访问控制器,其设计了能够进行实时数据更新和传输的存储模块,该存储模块能够辅助工业控制处理器与外设之间关联于GPIO接口连接和I2C总线连接的数据交互,使得工业控制处理器不需要多次发送指令就可以获取外设状态信息,且使得获取外设状态信息和发送控制信息可以独立进行,显著地简化了外设访问的流程,缩短了强实时性场景下数据传输的整体延迟,提高了访问的实时性和执行效率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。
在附图中:
图1是现有CPU外设访问的流程示意图;
图2是本发明实施例一的外设访问控制器的结构示意图;
图3是本发明实施例的示例中利用外设访问控制器进行外设访问的流程示意图;
图4是承接于图3的优选的外设访问控制器的各部件的组成示意图;
图5是本发明实施例二的数据访问装置的结构示意图;
图6是本发明实施例的示例数据访问架构图;
图7是图6的架构在强实时场景的数据访问流程的示意图;
图8是本发明实施例三的数据访问方法的流程示意图;
图9是本发明实施例四的外设控制方法的流程示意图;以及
图10是本发明实施例四的示例中进行外设控制的原理示意图。
附图标记说明:100、工业控制处理器;200、外设访问控制器;300、外设;210、GPIO控制器;220、I2C控制器;230、存储模块;240、计算部件;250、信息处理模块。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
在介绍本发明实施例的具体方案之前,在此先对所涉及的以下术语进行介绍,以便于本领域技术人员能够更清楚地理解本发明实施例。
1、工业自动化技术:其通过运用控制理论、仪器仪表、计算机和其他信息技术等对工业生产过程实现检测、控制、优化、调度、管理和决策,不需要人工干预即可完成生产任务,并且提高了生产过程的安全性和生产效率,解决了制造领域的生产效率和一致性问题。
2、工业智能化技术:工业自动化技术的重要内容,是将具有环境感知能力的各类终端(如采集和控制传感器)、基于泛在技术的计算模式、移动通信和智能分析等技术不断融入到工业生产的各个环节,实现了提升制造效率、改善产品质量、降低生产成本和消耗的目的。
3、强实时场景:通常是指对实时性要求非常高的场景,例如要求必须在规定的时间内完全指定任务,不允许任务超时。
实施例一。
图2是本发明实施例一的外设访问控制器的结构示意图。如图2所示,该外设访问控制器200设置在工业控制处理器100与若干外设300之间,且包括:GPIO控制器210,被配置为通过GPIO接口与部分外设进行信息交互;I2C控制器220,被配置为通过I2C总线与部分外设进行信息交互;存储模块230,其与所述GPIO控制器210、所述I2C控制器220及所述工业控制处理器100连接。并且,所述存储模块230被配置为:存储来自所述工业控制处理器100的针对外设300的控制信息,并通过所述GPIO控制器210和/或所述I2C控制器220向相应外设300传送该控制信息;以及存储所述GPIO控制器210和/或所述I2C控制器220获取的相应外设的状态信息,并向所述工业控制处理器100传送该状态信息。
即,本发明实施例的外设访问控制器200将GPIO控制器210和I2C控制器220合并在一起,并同时设计了与两者连接的存储模块230,使得存储模块230可以存储针对外设300的(来自所述GPIO控制器210和/或所述I2C控制器220的)状态信息和(来自工业控制处理器100的)控制信息,进而工业控制处理器可以独立地从存储模块230获取关联于GPIO控制器210或I2C控制器220的外设状态信息,且直接通过存储模块230向这两者发送针对外设300的控制信息,不再需要如图1所示的多次经过AXI/AHBA总线和APB总线,极大地提高了外设访问的实时性和执行效率。
对此,下面将通过示例来具体说明利用本发明实施例的外设访问控制器进行外设访问相对于图1所示的现有外设访问流程所具有的优势。图3是本发明实施例的示例中利用外设访问控制器200进行外设访问的流程示意图,该图3中相关部件的缩写的含义与图1相同。
结合图2和图3,在示例中,GPIO控制器210和I2C控制器220合并在一起,且与存储模块230连接,形成外设访问控制器200。再参考图3,无论对于通过GPIO接口连接的外设,还是对于通过I2C总线连接的外设,CPU都可以通过外设访问控制器直接获取相关外设的状态信息和控制信息,并根据控制信息和状态信息计算得到新的控制信息返回给外设访问控制器。具体地,结合图2,针对图3的外设访问控制器,GPIO控制器210获取存储模块230的相关控制信息,并转发给通过GPIO接口连接的外设,外设获取控制信息后更新自己的状态,并将更新后的状态信息返回给GPIO控制器210,GPIO控制器210再将该状态信息传输给存储模块230,I2C控制器220也可进行类似的过程。
基于此,相对于图1所示出的“CPU多次经过各种总线”、“CPU需要等待状态数据准备好才能进行数据传输及控制”、“CPU分别针对GPIO控制器210和I2C控制器220进行数据访问”的繁琐流程,图3所示出的流程中关于信号流的虚线明显减少,其使得CPU可以一并对GPIO控制器210和I2C控制器220进行数据访问,可以独立地获取外设数据和发送控制指令(即不需要停-等协议),不需要多次经过AXI/AHBA总线和APB总线。
图4是承接于图3的优选的外设访问控制器200的各部件的组成示意图。如图4所示,所述存储模块230优选采用实时输入输出控制寄存器堆(图中ADDR0~ADDRN)。更为优选地,存储模块230还可被配置具有多个条目,且针对不同外设的状态信息和/或控制信息被存储于不同的条目下,例如将第一外设相关的信息存储于第一条目下,以此类推。以实时输入输出控制寄存器堆为例,其在实地址空间中占用一段连续的地址空间,实时输入输出控制寄存器堆的每个条目为16字节,ALU可通过实地址直接访问实时输入输出控制寄存器堆中的任意条目,而实时输入输出控制寄存器堆的每个条目又对应于一个GPIO/I2C连接的外设,其中每个条目的内部格式可由用户自主定义。如此,例如对于如图4所示的实时输入输出控制寄存器堆,CPU、GPIO控制器210和I2C控制器220都可以基于条目进行数据读取,有助于提升数据读取的效率。
进一步如图4所示,GPIO控制器210和I2C控制器220与对应外设之间可以设置数据去抖器,以减少信息交互中的数据抖动。更进一步地,I2C控制器220可以包括数据计算器、数据缓存器、时钟波特率发生器、数据接收/发送状态机,而这些部件以如图4所示的信号流向连接,进而实现I2C控制器的总线数据转换功能等。需说明的是,图4所示出的I2C控制器220的结构是常规结构,对于本领域技术人员是易于实现的,且其构成与本发明实施例的主要发明思路无关联,故而在此处不再进行赘述。
在如上所述的外设访问过程中,本发明实施例的GPIO控制器210、I2C控制器220和存储模块230可以实时地实现各自的信息更新。具体地,所述存储模块230还被配置为根据实时接收的针对任意外设的所述状态信息和/或所述控制信息,实时更新在该存储模块230中针对相应外设的存储内容;和/或,所述GPIO控制器210和所述I2C控制器220还被配置为根据从所述存储模块实时接收的针对任意外设的所述状态信息和/或所述控制信息,实时更新与相应外设进行信息交互的相关信息。
对此,下面结合图3、图4的示例进行描述。
1)所述存储模块230的信息更新:GPIO控制器210获取实时输入输出控制寄存器堆的相关控制信息,并转发给通过GPIO接口连接的外设,外设获取控制信息后更新自己的状态,并将更新后的状态信息返回给GPIO控制器,GPIO控制器再将外设的状态信息传递给实时输入输出控制寄存器堆的对应条目中,即完成了实时输入输出控制寄存器堆的关于GPIO传输的实时更新过程,而通过I2C控制器220同样可以完成实时输入输出控制寄存器堆的关于I2C总线传输的实时更新过程。
进一步地,实时输入输出控制寄存器堆实时更新相关数据后,可以实时反馈给CPU,从而不需要CPU重复发送获取最新的外设状态信息的指令。
2)所述GPIO控制器210和所述I2C控制器220的信息更新:所述GPIO控制器210和所述I2C控制器220可以通过访问实时输入输出控制寄存器堆,来实时更新待交互的状态信息和控制信息,以保证其对于外设的控制的实时性。
综上,本发明实施例一提出了一种新型的面向强实时性应用场景的外设访问控制器,其设计了能够进行实时数据更新和传输的存储模块,该存储模块能够辅助工业控制处理器与外设之间关联于GPIO接口连接和I2C总线连接的数据交互,使得工业控制处理器不需要多次发送指令就可以获取外设状态信息,且使得获取外设状态信息和发送控制信息的过程各自独立进行,显著地简化了外设访问的流程,缩短了强实时场景下的数据传输的整体延迟,并具体解决了在强实时性场景下工业控制处理器与I2C总线接口数据链路传输延迟、访问期间的等待延迟和GPIO执行控制命令的延迟问题,提高了访问的实时性和执行效率。
实施例二。
图5是本发明实施例二的数据访问装置的结构示意图。如图5所示,该数据访问装置在图2所示的外设访问控制器200的基础上,还包括计算部件240,其与工业控制处理器100及所述外设访问控制器200的所述存储模块230相连接。并且,该计算部件240被配置为:响应于所述工业控制处理器100的外设访问请求,从所述存储模块230中读取相应外设的状态信息;对所读取的状态信息进行运算,以使得所述工业控制处理器100根据相应运算结果生成针对相应外设的控制信息;以及向所述存储模块230传送所生成的控制信息,以使得所述存储模块230存储并通过所述GPIO控制器和/或所述I2C控制器向相应外设传送该控制信息。
即,计算部件240实现了工业控制处理器100与存储模块230之间所交互的信息的运算,使得工业控制处理器100可以通过计算部件240访问存储模块230以直接获取针对相关外设的状态信息和控制信息,并根据获取的状态信息和控制信息运算得到新的控制信息以返回给存储模块230。
在示例中,所述计算部件是ALU,其可以直接集成至CPU中以作为CPU的执行单元。
在此,在计算部件例如采用ALU时,其主要执行算术与逻辑操作,缺少信息判决操作和信息控制操作。因此,在优选的实施例中,所述数据访问装置还包括:信息处理模块250,与所述计算部件240相连接,用于对所述计算部件240的所述运算结果进行信息判决和控制,以生成所述控制信息。
需说明的是,该信息处理模块250可通过常规具有信息判决功能和信息控制功能的控制器实现。另外,所述计算部件240也可采用兼具ALU功能、信息判决功能和信息控制功能的控制器直接实现,从而不再需要另行设置信息处理模块250。
在优选的实施例中,所述计算部件240和/或所述信息处理模块250集成在所述工业控制处理器100中,例如上文所述的ALU集成在CPU中。如此,工业控制处理器100利用其集成的计算部件240等来与外设访问控制器200进行信息交互,实现对外设的数据访问及控制。
在更为优选的实施例中,所述数据访问装置还可以包括:一级或多级存储结构,其与所述计算部件240相连接,用于存储并向所述计算部件240提供除所述外设的所述状态信息之外的待访问数据。
即,利用存储模块230存储关联于外设的数据,而通过一级或多级存储结构来存储与外设无关的数据(例如内存数据等)。对此,下面将结合图6和图7具体介绍本发明实施例的数据访问装置实现外设数据访问和非外设数据访问的架构。
图6是本发明实施例的示例数据访问架构图,图7是图6的架构在强实时场景的数据访问流程的示意图。如图6所示,多级的存储结构包括工业控制处理器的多级缓存(L1-L3)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)及相应的存储控制器,存储模块230为实时输入输出控制寄存器堆。参考图6和图7,在工业制造过程中,工业控制处理器(CPU)可利用ALU分别进行外设数据和非外设数据的访问,具体的访问过程如下。
1)非外设数据的访问。
参考图7,当CPU需要访问非外设数据时,ALU向L1缓存(cache)发送访问请求,L1缓存判断是否命中,若L1缓存命中,则返回;否则向L2缓存发送访问请求,若L2缓存命中,则返回L1缓存,最终返回到ALU;否则向L3缓存发送访问请求,若L3缓存命中,则返回L2缓存,最终返回到ALU;否则向DRAM(作为内存)发送访问请求,从DRAM中返回请求命令,最终返回到ALU。
2)外设数据的访问。
参考图7,当CPU访问外设数据时,ALU根据访问请求从实地址中找到对应的实时输入输出控制寄存器堆条目,从中读取对应外设的控制信息和状态信息,并计算得到新的控制信息传递给实时输入输出控制寄存器堆并更新对应条目的控制信息。实时输入输出控制寄存器堆接收到新的控制信息后将该控制信息传递给对应的控制器(如GPIO控制器),该控制器将控制信息通过对应的传输方式如GPIO或者I2C总线的方式传递给该控制器连接的外设,外设根据接收到的控制信息执行操作,然后将操作后的状态信息返回给对应的控制器(如GPIO控制器),该控制器将状态信息返回给实时输入输出控制寄存器堆,实时输入输出控制寄存器堆接收到新的状态信息后更新条目中对应的状态信息。如此,完成了CPU访问外设数据的一个周期性流程。
可以看到ALU通过实时输入输出控制寄存器堆直接访问外设的状态信息和控制信息,没有涉及多级缓存和内存的访问,有效地降低了访问外设时的延迟时间。
如此,工业控制处理器一方面可以不再通过多级缓存等访问和控制外设,但另一方面仍将其他信息存储在多级缓存中,有效地保留了工业控制处理器的原有功能,同时提高了工业控制处理器访问和控制外设的效率。
综上,本发明实施例二的数据访问装置在实施例一的外设访问控制器的基础上,通过将存储模块与计算部件连接,使得工业控制处理器可以利用计算部件实现外设访问及控制,扩展了工业控制处理器的功能。并且,该数据访问装置可以通过芯片的形式实现,例如制成工业控制处理器专用的总线控制器芯片,进而实现工业控制处理器对外设的实时访问和控制。
实施例三。
图8是本发明实施例三的数据访问方法的流程示意图,该数据访问方法与实施例二的数据访问装置基于相同的发明思路,且其基于实施例一所述的外设访问控制器而被执行。如图8所示,该数据访问方法可以包括以下的步骤S810-S830。
步骤S810,响应于所述工业控制处理器的外设访问请求,从所述外设访问控制器的所述存储模块中读取相应外设的状态信息。
步骤S820,对所读取的状态信息进行运算,以使得所述工业控制处理器根据运算结果生成针对相应外设的控制信息。
步骤S830,向所述存储模块传送所生成的控制信息,以使得所述存储模块存储并通过所述GPIO控制器和/或所述I2C控制器向相应外设传送该控制信息。
而在优选的实施例中,所述数据访问方法还包括:响应于所述工业控制处理器的除所述外设访问请求之外的数据访问请求,从存储除所述外设的所述状态信息之外的待访问数据的一级或多级存储结构中读取信息。
即,本发明实施例三的数据访问方法既涉及对外设数据的访问,也涉及对非外设数据的访问,而具体的访问流程可参考上述的图6和图7,在此则不进行赘述。
本发明实施例三的数据访问方法的其他实施细节及过程,可参考前述的实施例一和实施例二,在此则不进行赘述。
实施例四。
图9是本发明实施例四的外设控制方法的流程示意图,且该外设控制方法基于实施例一所述的外设访问控制器而被执行。如图9所示,该外设控制方法可以包括如下的步骤S910-S930。
步骤S910,获取所述外设访问控制器的所述存储模块实时存储的关于第一外设的状态信息。
步骤S920,对所获取的所述第一外设的所述状态信息进行运算,并根据运算结果和控制需求生成针对第二外设的控制信息。
步骤S930,将所生成的所述第二外设的所述控制信息实时存储于所述存储模块,并通过所述存储模块传送给所述第二外设,以控制所述第二外设进行状态更新。
优选地,所述第一外设是以下两种外设中的一者,而所述第二外设是以下两种外设中的另一者;和/或所述第一外设和所述第二外设两者同为以下两种外设中的任意一者:1)与所述I2C控制器通过I2C总线连接的外设;2)与所述GPIO控制器通过GPIO连接的外设。
其中,在工业控制领域的实时操作场景中,第一外设和第二外设不同是经常会出现的控制场景,例如经常会出现“使用I2C接口进行数据采集,而在数据运算后,通过GPIO去控制外设”的情况。对于该情况,下面将结合图10进行具体说明。
图10是本发明实施例四的示例中进行外设控制的原理示意图,在该示例中,第一外设是I2C接口的摄像头,而第二外设是GPIO接口的生产设备,而该示例则是描述根据摄像头数据来对生产设备进行控制。
参考图10,具体的控制流程包括:
1)CPU通过AXI/AHBA总线,经过APB总线实时地向I2C控制器发出读取数据;
2)I2C控制器采集I2C连接的摄像头(第一外设)的数据;
3)I2C控制器将采集到的摄像头的数据和GPIO端的状态信息存入实时输入输出控制寄存器堆(同时也存入缓存器);
4)实时输入输出控制寄存器堆将数据直接送给ALU进行运算,然后再根据运算结果更新GPIO端的控制状态,并转发给通过GPIO连接的生产设备(第二外设);
5)生产设备获取控制信息后更新自己的状态,并将更新后的状态信息返回给GPIO控制器;
6)GPIO控制器将生产设备的状态信息传递给实时输入输出控制寄存器堆的对应条目中。
如此,通过上述的1)-6),实现了实时输入输出控制寄存器堆的实时更新过程,且形成了一个针对外部生产设备的实时控制闭环。
在其他示例中,第一外设和第二外设可以均为I2C连接的外设。在此情况下,I2C控制器同样首先获取实时输入输出控制寄存器堆的相关状态并转发给I2C连接的外设,外设获取控制信息后更新自己的状态,并将自身的状态信息返回给I2C控制器,I2C控制器将外设状态传递给实时输入输出控制寄存器堆的对应条目中,完成实时输入输出控制寄存器堆的实时更新过程。在其他示例中,第一外设和第二外设可以均为GPIO连接的外设,并执行类似的过程。
通过上述示例,易知CPU可以实时获取外设的状态信息,而不需要重复发出访问请求,且CPU还可以实时地发出控制信息,不需要等待I2C端或GPIO端的操作。
需说明的是,在工业控制领域中,类似控制场景非常多,在此不再一一列举。但是,可以理解的是,应用工业控制处理器进行各种数据分析和信号生成的物联网控制场景,可以适用本发明实施例的外设控制方法。
综合上述的实施例一至实施例四,本发明实施例涉及的外设访问相关方案解决了现有工业控制处理器面对强实时场景所存在的较长数据链路传输延迟、数据访问时的等待延迟和外设控制延迟的缺陷,而工业控制处理器是工业智能化技术的重要内容,工业智能化又是工业自动化技术的重要内容。因此,本发明实施例的涉及的外设访问相关方案在整个工业制造行业层面,还可以带来以下的有益效果。
第一,工业智能化技术的核心是物联网技术,而物联网技术中对于工业生产中的各种数据的分析和控制信号的产生离不开工业控制处理器。因此本发明实施例中所涉及的对于工业控制处理器的设计和研究,对于工业智能化的提升具有重大意义。
第二,随着工业智能化的发展,工业现场对实时性的要求越来越高,而本发明实施例方案能够显著提升其中涉及的外设访问及控制的实时性,从而能够提升整个工业现场的实时性处理,有助于提高生产的效率和降低生产的消耗。
第三,工业现场的实时性主要由工业设备的执行终端的控制精度、运算处理单元的运算速度和系统的通讯速率决定,而在传统方案中,工业设备的执行终端的控制精度可以通过提升各类传感器的方式来提升,运算处理单元的运算速度及系统的通讯速率可以通过可编程序控制器(Programmable Logic Controller,PLC)和现场可编程逻辑门阵列(Field-programmable Gate Array,FPGA)等特定应用芯片提升。但本发明实施例方案从工业控制处理器芯片(例如CPU芯片)的角度出发研究工业现场实时性的提升,给出了新的研究方向,且取得了理想的效果。
第四,本发明实施例的方案通过完善外设访问及控制的实时性,完善了工业智能化中对于实时性的要求,从而也有助于完善工业自动化中关于自动检测、自动控制等方面的水平。
本发明实施例还提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例所述的数据访问方法或者上述实施例所述的外设控制方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例所述的数据访问方法或者上述实施例所述的外设控制方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例所述的数据访问方法或者上述实施例所述的外设控制方法。本发明实施例的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化上述实施例所述的数据访问方法或者上述实施例所述的外设控制方法。
本发明实施例还提供一种芯片,所述芯片包括上述实施例所述的外设访问控制器或者上述实施例所述的数据访问装置。优选地,所述芯片可以是工业控制处理器芯片,即是将上述实施例涉及的外设访问控制器功能或数据访问装置功能集成于工业控制处理器中。所述芯片可以包括处理器和存储器,上述外设访问控制器或数据访问装置中的各个功能单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行外设访问或控制。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例还提供一种芯片,所述芯片被配置为执行上述实施例所述的数据访问方法或者上述实施例所述的外设控制方法。优选地,所述芯片包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例所述的数据访问方法或者上述实施例所述的外设控制方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种外设访问控制器,其特征在于,设置在工业控制处理器与若干外设之间,且所述外设访问控制器包括:
通用型输入输出GPIO控制器,被配置为通过GPIO接口与部分外设进行信息交互;
集成电路I2C控制器,被配置为通过I2C总线与部分外设进行信息交互;以及
存储模块,其与所述GPIO控制器、所述I2C控制器及所述工业控制处理器分别连接,且被配置为:
存储来自所述工业控制处理器的针对外设的控制信息,并通过所述GPIO控制器和/或所述I2C控制器向相应外设传送该控制信息;以及
存储所述GPIO控制器和/或所述I2C控制器获取的相应外设的状态信息,并向所述工业控制处理器传送该状态信息。
2.根据权利要求1所述的外设访问控制器,其特征在于,所述存储模块是实时输入输出控制寄存器堆。
3.根据权利要求1所述的外设访问控制器,其特征在于,所述存储模块具有多个条目,且针对不同外设的状态信息和/或控制信息被存储于不同的条目下。
4.根据权利要求1所述的外设访问控制器,其特征在于,所述存储模块还被配置为:
根据实时接收的针对任意外设的所述状态信息和/或所述控制信息,实时更新在该存储模块中针对相应外设的存储内容。
5.根据权利要求1所述的外设访问控制器,其特征在于,所述GPIO控制器和所述I2C控制器还被配置为:
根据从所述存储模块实时接收的针对任意外设的所述状态信息和/或所述控制信息,实时更新与相应外设进行信息交互的相关信息。
6.一种数据访问装置,其特征在于,包括:
权利要求1至5中任意一项所述的外设访问控制器;以及
计算部件,其与工业控制处理器及所述外设访问控制器的存储模块相连接,且被配置为:响应于所述工业控制处理器的外设访问请求,从所述存储模块中读取相应外设的状态信息;对所读取的状态信息进行运算,以使得所述工业控制处理器根据相应运算结果生成针对相应外设的控制信息;以及向所述存储模块传送所生成的控制信息,以使得所述存储模块存储并通过GPIO控制器和/或I2C控制器向相应外设传送该控制信息。
7.根据权利要求6所述的数据访问装置,其特征在于,所述计算部件是算术逻辑单元ALU。
8.根据权利要求6所述的数据访问装置,其特征在于,所述数据访问装置还包括:
信息处理模块,与所述计算部件相连接,用于对所述计算部件的所述运算结果进行信息判决和控制,以生成所述控制信息。
9.根据权利要求8所述的数据访问装置,其特征在于,所述计算部件和/或所述信息处理模块集成在所述工业控制处理器中。
10.根据权利要求6所述的数据访问装置,其特征在于,所述数据访问装置还包括:
一级或多级存储结构,其与所述计算部件相连接,用于存储并向所述计算部件提供除所述外设的所述状态信息之外的待访问数据。
11.一种数据访问方法,其特征在于,该数据访问方法基于权利要求1至5中任意一项所述的外设访问控制器被执行,且包括:
响应于工业控制处理器的外设访问请求,从所述外设访问控制器的存储模块中读取相应外设的状态信息;
对所读取的状态信息进行运算,以使得所述工业控制处理器根据运算结果生成针对相应外设的控制信息;以及
向所述存储模块传送所生成的控制信息,以使得所述存储模块存储并通过GPIO控制器和/或I2C控制器向相应外设传送该控制信息。
12.根据权利要求11所述的数据访问方法,其特征在于,所述数据访问方法还包括:
响应于所述工业控制处理器的除所述外设访问请求之外的数据访问请求,从存储除所述外设的所述状态信息之外的待访问数据的一级或多级存储结构中读取信息。
13.一种外设控制方法,其特征在于,该外设控制方法基于权利要求1至5中任意一项所述的外设访问控制器被执行,且包括:
获取所述外设访问控制器的存储模块实时存储的关于第一外设的状态信息;
对所获取的所述第一外设的所述状态信息进行运算,并根据运算结果和控制需求生成针对第二外设的控制信息;以及
将所生成的所述第二外设的所述控制信息实时存储于所述存储模块,并通过所述存储模块传送给所述第二外设,以控制所述第二外设进行状态更新。
14.根据权利要求13所述的外设控制方法,其特征在于,所述第一外设是以下两种外设中的一者,而所述第二外设是以下两种外设中的另一者,和/或所述第一外设和所述第二外设两者同为以下两种外设中的任意一者:
与I2C控制器通过I2C总线连接的外设;以及
与GPIO控制器通过GPIO接口连接的外设。
15.一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行权利要求11或12的数据访问方法或者使得机器执行权利要求13或14的外设控制方法。
16.一种芯片,其特征在于,所述芯片包括权利要求1至5中任意一项所述的外设访问控制器或者包括权利要求6至10中任意一项所述的数据访问装置;
或者,所述芯片被配置为执行权利要求11或12的数据访问方法或权利要求13或14的外设控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210891846.3A CN115098412B (zh) | 2022-07-27 | 2022-07-27 | 外设访问控制器、数据访问装置及对应方法、介质和芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210891846.3A CN115098412B (zh) | 2022-07-27 | 2022-07-27 | 外设访问控制器、数据访问装置及对应方法、介质和芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115098412A true CN115098412A (zh) | 2022-09-23 |
CN115098412B CN115098412B (zh) | 2022-10-25 |
Family
ID=83299148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210891846.3A Active CN115098412B (zh) | 2022-07-27 | 2022-07-27 | 外设访问控制器、数据访问装置及对应方法、介质和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098412B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115455397A (zh) * | 2022-10-28 | 2022-12-09 | 湖北芯擎科技有限公司 | 一种输入输出接口控制方法及系统 |
CN115933997A (zh) * | 2023-01-30 | 2023-04-07 | 南京芯驰半导体科技有限公司 | 数据访问方法、相关设备及存储介质 |
CN115982067A (zh) * | 2023-03-21 | 2023-04-18 | 北京智芯微电子科技有限公司 | 总线控制装置、方法以及工控处理芯片和工业控制系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077303A1 (en) * | 2007-09-19 | 2009-03-19 | Qingyun Ao | System for transferring information and method thereof |
CN101458671A (zh) * | 2008-11-28 | 2009-06-17 | 福建星网锐捷网络有限公司 | 外设访问控制方法、装置与系统 |
CN101794480A (zh) * | 2010-02-01 | 2010-08-04 | 合肥工业大学 | 一种预购电控制器 |
US20160371099A1 (en) * | 2015-06-18 | 2016-12-22 | Kenneth Mark Woog | Personal Computer System with Remotely-Configured Hardware-Enforced Usage Limits |
US20170031862A1 (en) * | 2015-07-31 | 2017-02-02 | Seloco, Inc. | Dual-bus semiconductor chip processor architecture |
US20170371814A1 (en) * | 2016-06-24 | 2017-12-28 | Avago Technologies General IP (Singapore) Pte. Ltd . | Nvme drive detection from a sas/sata connector |
CN214704623U (zh) * | 2020-10-30 | 2021-11-12 | 中科长城海洋信息系统有限公司长沙分公司 | 基于国产mcu的bmc装置及系统 |
-
2022
- 2022-07-27 CN CN202210891846.3A patent/CN115098412B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090077303A1 (en) * | 2007-09-19 | 2009-03-19 | Qingyun Ao | System for transferring information and method thereof |
CN101458671A (zh) * | 2008-11-28 | 2009-06-17 | 福建星网锐捷网络有限公司 | 外设访问控制方法、装置与系统 |
CN101794480A (zh) * | 2010-02-01 | 2010-08-04 | 合肥工业大学 | 一种预购电控制器 |
US20160371099A1 (en) * | 2015-06-18 | 2016-12-22 | Kenneth Mark Woog | Personal Computer System with Remotely-Configured Hardware-Enforced Usage Limits |
US20170031862A1 (en) * | 2015-07-31 | 2017-02-02 | Seloco, Inc. | Dual-bus semiconductor chip processor architecture |
US20170371814A1 (en) * | 2016-06-24 | 2017-12-28 | Avago Technologies General IP (Singapore) Pte. Ltd . | Nvme drive detection from a sas/sata connector |
CN214704623U (zh) * | 2020-10-30 | 2021-11-12 | 中科长城海洋信息系统有限公司长沙分公司 | 基于国产mcu的bmc装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115455397A (zh) * | 2022-10-28 | 2022-12-09 | 湖北芯擎科技有限公司 | 一种输入输出接口控制方法及系统 |
CN115933997A (zh) * | 2023-01-30 | 2023-04-07 | 南京芯驰半导体科技有限公司 | 数据访问方法、相关设备及存储介质 |
CN115933997B (zh) * | 2023-01-30 | 2023-06-13 | 南京芯驰半导体科技有限公司 | 数据访问方法、相关设备及存储介质 |
CN115982067A (zh) * | 2023-03-21 | 2023-04-18 | 北京智芯微电子科技有限公司 | 总线控制装置、方法以及工控处理芯片和工业控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115098412B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115098412B (zh) | 外设访问控制器、数据访问装置及对应方法、介质和芯片 | |
WO2020001459A1 (zh) | 数据处理方法、远程直接访存网卡和设备 | |
CN111046072A (zh) | 一种数据查询方法、系统、异构计算加速平台及存储介质 | |
JP7012689B2 (ja) | コマンド実行方法及び装置 | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
CN112199173B (zh) | 双核cpu实时操作系统数据处理方法 | |
CN111078323A (zh) | 基于协程的数据处理方法、装置、计算机设备及存储介质 | |
JP6998991B2 (ja) | 情報処理用方法及び装置 | |
CN110825435B (zh) | 用于处理数据的方法和装置 | |
US11093245B2 (en) | Computer system and memory access technology | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
CN113033785B (zh) | 芯片、神经网络训练系统、内存管理方法及装置、设备 | |
US20220224624A1 (en) | Methods, apparatus, and articles of manufacture to improve bandwidth for packet timestamping | |
CN115906531A (zh) | 高速缓冲存储器的模拟方法、装置、电子设备和存储介质 | |
CN114490458A (zh) | 数据传输方法、芯片、服务器以及存储介质 | |
CN100492299C (zh) | 一种嵌入式软件开发的方法及系统 | |
CN111461310A (zh) | 处理神经网络模型的神经网络设备、神经网络系统和方法 | |
CN112286578A (zh) | 由计算设备执行的方法、装置、设备和计算机可读存储介质 | |
CN115297169B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN116991593B (zh) | 操作指令处理方法、装置、设备及存储介质 | |
CN115604198B (zh) | 一种网卡控制器、网卡控制方法、设备及介质 | |
CN114866534B (zh) | 一种图像处理方法、装置、设备及介质 | |
WO2020192587A1 (zh) | 人工智能计算装置及相关产品 | |
CN117312215B (zh) | 一种服务器系统、作业执行方法、装置及设备和介质 | |
CN112615928B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |