CN114297111A - 一种嵌入式控制电路、芯片、外设访问方法和电子设备 - Google Patents

一种嵌入式控制电路、芯片、外设访问方法和电子设备 Download PDF

Info

Publication number
CN114297111A
CN114297111A CN202111643655.7A CN202111643655A CN114297111A CN 114297111 A CN114297111 A CN 114297111A CN 202111643655 A CN202111643655 A CN 202111643655A CN 114297111 A CN114297111 A CN 114297111A
Authority
CN
China
Prior art keywords
bus
processor
peripheral
module
host processor
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
Application number
CN202111643655.7A
Other languages
English (en)
Inventor
王世好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Chipsea Electronics Technology Co Ltd
Original Assignee
Hefei Chipsea Electronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Chipsea Electronics Technology Co Ltd filed Critical Hefei Chipsea Electronics Technology Co Ltd
Priority to CN202111643655.7A priority Critical patent/CN114297111A/zh
Publication of CN114297111A publication Critical patent/CN114297111A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本公开提供一种嵌入式控制电路、芯片、外设访问方法和电子设备,嵌入式控制电路,包括:用于与主机处理器通信的总线接口电路;处理器;一个或多个第二外设模块;电路系统;第三总线,连接在一个或多个第二外设模块与电路系统之间,以及连接在一个或多个第二外设模块与处理器之间;其中:电路系统,被配置为通过总线接口电路与主机处理器通信,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块;处理器,被配置为通过第三总线访问一个或多个第二外设模块。通过本公开,可高效、便捷、可靠地实现外设访问。

Description

一种嵌入式控制电路、芯片、外设访问方法和电子设备
技术领域
本公开涉及电子电路技术领域,尤其涉及一种嵌入式控制电路、芯片、外设访问方法和电子设备。
背景技术
个人计算机等电子设备中,由嵌入式控制器(EmbeddedController,简称为EC)管理至少部分外围设备(简称为外设)。电子设备的处理器(简称为主机处理器)和嵌入式控制器的处理器需要访问这些外设。相关技术中,主机处理器和嵌入式控制器的处理器如何更高效、便捷、可靠地访问外设,目前尚未提出有效的解决方案。
发明内容
有鉴于此,本公开实施例提供了一种嵌入式控制电路、芯片、外设访问方法和电子设备,以实现外设访问。
根据本公开的一方面,提供了一种嵌入式控制电路,包括:用于与主机处理器通信的总线接口电路;处理器;一个或多个第二外设模块;电路系统;第三总线,连接在一个或多个第二外设模块与电路系统之间,以及连接在一个或多个第二外设模块与处理器之间;其中:电路系统,被配置为通过总线接口电路与主机处理器通信,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块;处理器,被配置为通过第三总线访问一个或多个第二外设模块。
在一些实施例中,嵌入式控制电路还包括:第一总线,连接在每个第一外设模块的第一接口与总线接口电路之间;第二总线,连接在每个第一外设模块的第二接口与处理器之间;总线接口电路,被配置为通过第一总线访问一个或多个第一外设模块;处理器,还被配置为通过第二总线访问一个或多个第一外设模块。
在一些实施例中,总线接口电路被配置为:基于访问的目标地址确定主机处理器访问的是第一外设模块还是第二外设模块;在主机处理器访问一个或多个第一外设模块的情况下,通过第一总线访问一个或多个第一外设模块;在主机处理器访问一个或多个第二外设模块的情况下,向电路系统转发主机处理器的访问命令。
在一些实施例中,电路系统被配置为:基于访问的目标地址确定主机处理器访问的是否为一个或多个第二外设模块;在主机处理器访问一个或多个第二外设模块的情况下,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块。
在一些实施例中,一个或多个第一外设模块中的每个第一外设模块,被配置为:基于访问的目标地址确定主机处理器访问的是否为第一外设模块;在主机处理器访问第一外设模块的情况下,响应主机处理器的访问。
在一些实施例中,至少一个第一外设模块,包括:仲裁逻辑电路,仲裁逻辑电路被配置为:在第一外设模块被主机处理器访问时,将第一外设模块的第二接口与第二总线断开;和/或在第一外设模块被处理器访问时,将第一外设模块的第一接口与第一总线断开。
在一些实施例中,仲裁逻辑电路还被配置为:在第一外设模块被主机处理器释放时,将第一外设模块的第二接口与第二总线连接;和/或在第一外设模块被处理器释放时,将第一外设模块的第一接口与第二总线连接。
在一些实施例中,至少一个第一外设模块,还包括:第一中断单元,被配置为:在第一外设模块的寄存器被处理器写入数据后,向总线接口电路发送第一中断信息;和/或在第一外设模块的寄存器被主机处理器写入数据后,向处理器发送第二中断信息。
在一些实施例中,至少一个第一外设模块,还包括:第二中断单元,被配置为:在第一外设模块的寄存器中由主机处理器写入的数据被处理器读取后,向主机处理器发送第三中断信息;和/或在第一外设模块的寄存器中由处理器写入的数据被主机处理器读取后,向处理器发送第四中断信息。
在一些实施例中,电路系统被配置为:基于预先配置的权限访问一个或多个第二外设模块。
在一些实施例中,嵌入式控制电路,还包括:第四总线,连接在处理器与电路系统之间。
在一些实施例中,处理器被配置为:通过第四总线向电路系统发送一个或多个第二外设模块的中断信息;电路系统被配置为通过总线接口电路向主机处理器发送中断信息。
在一些实施例中,处理器被配置为:通过第四总线配置电路系统访问一个或多个第二外设模块的权限。
在一些实施例中,嵌入式控制电路,还包括:中断信号线,连接在处理器与电路系统之间。
在一些实施例中,电路系统被配置为:在主机处理器访问的第二外设模块的寄存器被配置为禁止访问的情况下,通过中断信号线向处理器传输中断信号。
在一些实施例中,电路系统包括:接收电路,被配置为接收总线接口电路发送的总线命令;解析电路,被配置为解析接接收的总线命令,得到目标地址;第一控制器,被配置为对目标地址对应的第二外设模块的寄存器进行访问。
在一些实施例中,在总线命令为写命令时,解析电路还得到目标数据;其中,第一控制器被配置为:向目标地址对应的第二外设模块的寄存器写入目标数据。
在一些实施例中,电路系统,还包括:生成电路,被配置为生成总线命令;发送电路,被配置为向总线接口电路发送生成的总线命令,以使生成的总线命令被主机处理器接收。
在一些实施例中,第一控制器还被配置为:将从目标地址读取的数据发送给生成电路,以由生成电路生成对应的总线命令,并由发送电路将生成的总线命令发送给总线接口电路。
在一些实施例中,电路系统,还包括:第二控制器,被配置为通过第四总线接收处理器发送的信息。
在一些实施例中,第二控制器,还被配置为通过第四总线接收处理器发送的中断信息,将中断信息发送给生成电路,以由生成电路生成对应的总线命令,并由发送电路将生成的总线命令发送给总线接口电路。
在一些实施例中,电路系统,还包括安全控制模块,与第一控制器和第二控制器连接;其中,第二控制器,还被配置为通过第三总线接收处理器发送的权限信息,将权限信息写入安全控制模块;第一控制器,还被配置为基于安全控制模块中的权限信息确定访问目标地址的权限。
根据本公开的另一方面,提供了一种外设访问方法,应用于嵌入式控制电路,嵌入式控制电路包括:总线接口电路、处理器、一个或多个第二外设模块和电路系统,其中,外设访问方法包括:由电路系统,通过总线接口电路与主机处理器通信,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块,其中,第三总线连接在一个或多个第二外设模块与电路系统之间;由处理器,通过第三总线访问一个或多个第二外设模块,其中,第三总线还连接在一个或多个第二外设模块与处理器之间。
根据本公开的又一方面,提供了一种芯片,包括本公开实施例的嵌入式控制电路。
根据本公开的又一方面,提供了一种电子设备,包括:本公开实施例的嵌入式控制电路或本公开实施例的芯片。
本公开实施例中提供的一个或多个技术方案,嵌入式控制电路集成一个或多个第二外设模块,电路系统可通过总线接口电路与主机处理器通信,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块;处理器可通过第三总线访问一个或多个第二外设模块。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了本公开示例性实施例的基于共享接口的嵌入式控制电路的示意性框图;
图2示出了本公开示例性实施例的外设模块130的示意性框图;
图3示出了本公开示例性实施例的基于eSPI总线和共享接口的嵌入式控制电路的示意性框图;
图4示出了本公开示例性实施例直接存储器访问的嵌入式控制电路的示意性框图;
图5示出了本公开示例性实施例的直接存储器访问的外设访问方法的流程图;
图6示出了本公开示例性实施例的电路系统440的示意性框图;
图7示出了本公开示例性实施例的使用eSPI总线和直接存储器访问的嵌入式控制电路的示意性框图;
图8示出了本公开示例性实施例的电路系统740的示意性框图;
图9示出了本公开示例性实施例的基于直接存储器访问和共享接口的嵌入式控制电路的示意性框图;
图10示出了本公开示例性实施例的基于直接存储器访问和共享接口的外设访问方法的流程图;
图11示出了本公开示例性实施例的使用eSPI总线的基于直接存储器访问和共享接口的嵌入式控制电路的示意性框图;
图12示出了本公开示例性实施例的双总线接口的嵌入式控制电路的示意性框图;
图13示出了本公开示例性实施例的LPC-eSPI双总线接口的嵌入式控制电路的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施例涉及在嵌入式控制器中集成外设模块,对主机处理器和嵌入式控制器的处理器访问外设模块的技术方案的改进。
本公开的一些实施例,涉及基于共享接口的嵌入式控制电路,嵌入式控制电路中集成外设模块,外设模块包括两个接口,主机处理器通过总线接口电路和外设模块的一个接口访问外设模块,嵌入式控制电路的处理器通过另一个接口访问外设模块。在一些实施例中,至少一个外设模块包括用于连接外设的接口单元。在一些实施例中,至少一个外设模块对应的用于连接外设的接口单元,独立于外设模块而与处理器连接。
本公开的一些实施例,涉及直接存储器访问的嵌入式控制电路,嵌入式控制电路中集成外设模块,在嵌入式控制电路中设置电路系统,主机处理器通过总线接口电路和电路系统访问外设模块,嵌入式控制电路的处理器可通过其与外设模块之间的线路访问外设模块。在这些实施例中,在嵌入式控制电路中集成外设模块时,将外设模块的地址开放给主机处理器,主机处理器使用外设模块的地址访问外设模块,可不修改总线接口电路,便于在嵌入式控制电路中集成外设模块。
本公开的一些实施例,涉及共享接口和直接存储器访问的嵌入式控制电路,嵌入式控制电路中集成外设模块。一些外设模块为包括两个接口的外设模块,主机处理器可通过总线接口电路经这些外设模块的一个接口访问外设模块,嵌入式控制电路的处理器可经这些外设模块的另一个接口访问外设模块。另一些外设模块为通过电路系统进行直接存储器访问的外设模块,主机处理器通过总线接口电路和电路系统访问外设模块,嵌入式控制电路的处理器可访问这些外设模块。
本公开的一些实施例,涉及嵌入式控制电路的总线接口电路,总线接口电路可包括至少两种总线协议的接口电路,通过总线接口选择电路选择至少两种总线协议的接口电路中的一个与主机处理器通信。
应当理解,本公开中提及的“第一总线”、“第二总线”、“第三总线”和“第四总线”等,在一些实施例中仅区分不同装置之间的传输线路,其可采用不同的总线,也可以通过总线矩阵等方式共用至少部分线路和接口。本公开对此不作限定。
在本公开的后续描述中,本公开的实施例可进行任意组合。下面对本公开的示例性实施例进行描述。
本公开实施例提供了一种基于共享接口的嵌入式控制电路。
图1示出了本公开示例性实施例的基于共享接口的嵌入式控制电路的示意性框图,如图1所示,嵌入式控制电路100,包括:用于与主机处理器通信的总线接口电路110、处理器120、外设模块130、第一总线140和第二总线150。图1中示出了多个外设模块130,标示为外设模块130-1至130-n。其中,第一总线140连接在外设模块130的第一接口与总线接口电路110之间,第二总线150连接在每个外设模块130的第二接口与处理器120之间。总线接口电路110通过第一总线140访问外设模块130。处理器120通过第二总线150访问外设模块130。由于主机处理器和处理器120分别使用不同的总线,对外设模块的访问互不干扰,可增加总线带宽,提高访问速度。例如,主机处理器通过第一总线140访问外设模块130-1,同时处理器120可通过第二总线150访问外设模块130-n。
在本实施例中,可采用各种类型的总线接口与主机处理器通信,包括但不限于LPC(Low Pin Count,简称为LPC)总线、串行外围接口(Serial Peripheral Interface,简称为SPI)总线、增强型串行外围接口(Enhanced Serial Peripheral Interface,简称为eSPI)总线等。总线接口电路110包括一个总线接口或多个总线接口。总线接口电路110可操作地将多个总线接口中的一个总线接口用于通信。本实施对此不作限定。在本实施例中,总线接口电路110与主机处理器之间可按照总线协议通信。作为一种示例,嵌入式控制电路100与主机处理器之间可使用eSPI总线,嵌入式控制电路100为eSPI总线中的从设备(eSPIslave),主机处理器作为eSPI总线中的主设备(eSPI master),总线接口110可为eSPI从模块。本实施例对此不作限定。
在本实施例中,第一总线140可包括与总线接口电路110兼容的任何总线,第一总线140的示例可包括本地总线(local bus)、高级可拓展接口(Advanced eXtensibleInterface,简称为AXI)总线、高级外围总线(Advanced Peripheral Bus,简称为APB)等,本实施对此不作限定。
在本实施例中,第二总线150可包括与处理器120兼容的任何总线,第二总线150的示例可包括本地总线(local bus)、高级可拓展接口(Advanced eXtensible Interface,简称为AXI)总线、高级外围总线(Advanced Peripheral Bus,简称为APB)等,本实施对此不作限定。
在本实施中,在总线接口电路110上定义每个外设模块130对应的I/O接口。在本公开中,接口也可称为端口,在本公开的描述中统称为接口。
在本实施例中,外设模块130可包括各种外围设备的部分电路模块,外围设备的示例包括鼠标、键盘、USB、PD/TYPE-C、呼吸灯、氛围灯等。本实施对此不作限定。
在一些实施例中,外设模块130可包括用于连接外设的接口单元。作为一种实施方式,包括用于连接外设的接口单元的外设模块130,从与其接口单元连接的外设获取数据,和/或向与其连接的外设提供数据,外设模块130与主机处理器之间的通信可不经过处理器120。在本实施例中,处理器120可通过第二总线150对外设模块130进行读和/或写,例如,配置为外设模块130的参数等。主机处理器可通过总线接口电路110和第一总线140对外设模块130进行读和/或写,例如,向外设模块130写入要通过其连接的外设发送的数据,或者从外设模块130读取来自其连接的外设的数据,或配置外设模块130的参数等。包括用于连接外设的接口单元的外设模块130的示例包括串行接口模块(例如UART串口等),串行接口模块包括接口单元,该接口单元用于连接串行通信物理接口(例如UART连接器)。串行接口模块和串行通信物理接口可采用RS-232C、RS-422、RS-423和RS-485等串行通信接口标准。
在一些实施例中,外设模块130对应的用于连接外设的接口单元,独立于外设模块130而与处理器120连接。处理器120可从外设模块130向外设模块130对应的接口单元发提供数据,或者从接口单元向接口单元对应的外设模块130提供数据。主机处理器可向外设模块130提供数据,主机处理器向外设模块130提供的数据可经处理器120提供给外设模块130对应的接口单元;处理器120可将接口单元的数据提供给接口单元对应的外设模块130,主机处理器可从外设模块130获取该数据。一般的,处理器120可通过快速总线等与独立于外设模块130的接口单元连接。独立于外设模块130而与处理器120连接的用于连接外设的接口单元的示例包括键盘接口单元。作为一种示例,位于键盘上的键盘控制器检测按键的按下和释放,向键盘接口单元发送键盘码,处理器120检测到键盘接口单元接收到键盘码,处理器120将键盘码提供给键盘接口单元对应的外设模块130。
在一些实施例中,部分外设模块130包括用于连接外设的接口单元,该部分外设模块130从与其接口单元连接的外设获取数据,和/或向与其连接的外设提供数据,外设模块130与主机处理器之间的通信可不经过处理器120。部分外设模块130对应的用于连接外设的接口单元,独立于外设模块130而与处理器120连接。处理器120可从外设模块130向外设模块130对应的接口单元发提供数据,或者从接口单元向接口单元对应的外设模块130提供数据。主机处理器可向外设模块130提供数据,主机处理器向外设模块130提供的数据可经处理器120提供给外设模块130对应的接口单元;处理器120可将接口单元的数据提供给接口单元对应的外设模块130,主机处理器可从外设模块130获取该数据。
作为一种示例,外设模块130包括键盘模块和串行接口模块,其中,键盘模块的接口单元(称为键盘接口单元)与键盘模块独立,键盘接口单元与处理器120连接,串行接口模块包括用于连接串口通信物理接口的接口单元。
在该示例中,串行接口模块接收主机处理器通过总线接口电路110发送的数据,通过串口通信物理接口发送该数据;通过串口通信物理接口接收数据,串行接口模块串口通信物理接口接收的数据通过总线接口电路110发送给主机处理器,数据的传输不经过处理器120处理。处理器120可通过第二总线150对串行接口模块进行配置,或者,主机处理器可通过总线接口电路110和第一总线140配置串行接口模块。
在该示例中,处理器120可从键盘模块向键盘接口单元发提供数据,或者从键盘接口单元向键盘模块提供数据。主机处理器可向键盘模块提供数据,主机处理器向键盘模块提供的数据可经处理器120提供给键盘接口单元;处理器120可将键盘接口单元的数据提供给键盘模块130,主机处理器可从键盘模块130获取该数据。例如由处理器120从键盘接口单元获取键盘码,将键盘码提供给键盘模块,主机处理器通过总线接口电路110从键盘模块读取键盘码。
在一些实施例中,总线接口电路110,被配置为接收主机处理器的写命令,通过第一总线140向写命令对应的外设模块130的寄存器写入数据。在一些实施例中,总线接口电路110被配置为接收主机处理器的读命令,通过第一总线140从读命令对应的外设模块130的寄存器读取数据。
在一些实施例中,处理器120被配置为通过第二总线150从外设模块130的寄存器读取数据。在一些实施例中,处理器120被配置为通过第二总线150向外设模块130的寄存器写入数据。
在一些实施例中,外设模块130通过处理器120与外设通信,处理器120用于接收外设的输入,通过第二总线150基于接收到的输入向外设对应的外设模块130的寄存器写入数据。
在一些实施例中,如图2所示,外设模块130可包括一个或多个寄存器131,该一个或多个寄存器131由处理器120(通过第二总线150)和主机处理器(通过总线接口电路110和第一总线140)读和/或写。处理器120通过外设模块130的第二接口对外设模块130的一个或多个寄存器131进行读和/或写。总线接口电路110通过外设模块130的第一接口对外设模块130的一个或多个寄存器131进行读和/或写。外设模块130可基于其功能设置一个或多个寄存器131,外设模块130的寄存器131的示例可包括:配置寄存器、状态寄存器、控制寄存器、读数据寄存器、或写数据寄存器等。
在一些实施例中,如图2所示,外设模块130可包括一个或多个功能电路132,该一个或多个功能电路与外设共同实现外设的功能。外设模块130的示例包括串行接口模块,串行接口模块用于连接串行通信物理接口,串行接口模块的功能电路包括电平转换电路,电平转换电路基于串行通信接口标准进行电平转换。外设模块130的另一示例包括发光单元控制模块,发光单元控制模块用于连接一个或多个发光单元(例如发光二极管),发光单元控制模块的功能电路可包括控制器,控制器控制一个或多个发光单元发光。
在一些实施例中,如图2所示,外设模块130,包括:仲裁逻辑电路133,连接至第一总线140和第二总线150。仲裁逻辑电路133用于以仲裁来自处理器120和主机处理器(通过总线接口电路110)的访问请求。
作为一种实施方式,如图2所示,仲裁逻辑电路133用于连接仲裁控制寄存器134,以向仲裁逻辑电路133提供仲裁策略。作为一种实施方式,处理器120还与仲裁控制寄存器134连接,以向仲裁控制寄存器134写入仲裁策略。作为一种示例,仲裁控制寄存器134位于外设模块130外部,本实施例对此不作限定。
作为一种实施方式,仲裁逻辑电路133在外设模块130被主机处理器访问时,将外设模块130的第二接口与第二总线150断开。作为一种实施方式,仲裁逻辑电路133在外设模块130被处理器120访问时,将外设模块130的第一接口与第一总线140断开。可避免每次主机处理器和处理器120访问都需要仲裁,可避免单总线由于复杂的仲裁逻辑带来的效率问题和潜在的功能问题。
作为一种实施方式,仲裁逻辑电路133在外设模块130被主机处理器释放时,将外设模块的第二接口与第二总线150连接。作为一种实施方式,仲裁逻辑电路133在外设模块130被处理器120释放时,将外设模块130的第一接口与第二总线150连接。
外设模块130通过中断方式与处理器120和/或主机处理器(通过总线接口电路110)传输至少部分信息。
在一些实施例中,如图2所示,外设模块130,还包括:第一中断单元135。第一中断单元135可用于发送写相关的中断信息。本实施例对此不作限定。
作为一种实施方式,第一中断单元135被配置为:在外设模块130的寄存器131被处理器120写入数据后,向总线接口电路110发送第一中断信息。总线接口电路110向主机处理器传输第一中断信息,并可响应于主机处理器的命令对外设模块130的寄存器131进行读和/或写。和/或,在外设模块130的寄存器131被主机处理器写入数据后,向处理器120发送第二中断信息。处理器120响应于第二中断信息,可对外设模块130的寄存器131进行读和/或写。
作为另一种实施方式,第一中断单元135被配置为:在外设模块130的寄存器131被其连接的外设写入数据后,向总线接口电路110发送第一中断信息。总线接口电路110向主机处理器传输第一中断信息,并可响应于主机处理器的命令对外设模块130的寄存器131进行读和/或写。在一些情况下,在外设模块130的寄存器131被主机处理器写入数据后,外设模块130其连接的外设发送数据。
在一些实施例中,如图2所示,至少一个外设模块130,还包括:第二中断单元136。第一中断单元135可用于发送读相关的中断信息。本实施例对此不作限定。
作为一种实施方式,第二中断单元136被配置为在外设模块130的寄存器131中由主机处理器写入的数据被处理器120读取后,向主机处理器发送第三中断信息。和/或,在外设模块130的寄存器131中由处理器120写入的数据被主机处理器读取后,向处理器120发送第四中断信息。
在一些实施例中,处理器120用于:检测外设模块130的寄存器是否被主机处理器写入数据;在检测到外设模块130的寄存器被主机处理器写入数据的情况下,通过第二总线150从相应的外设模块130的寄存器读取数据。在一些情况下,处理器120可将读取的数据发送给与其连接的并与该外设模块对应的外设接口单元。
在一些实施例中,总线接口电路110还被配置为在从外设模块130的寄存器中读取数据后,将对应外设模块130的寄存器的第一标志位设置为已读。在一些实施例中,处理器120还被配置为查询外设模块130的寄存器的第一标志位,基于第一标志位判断相应的外设模块130的寄存器中的数据是否被主机处理器读取。
下面以eSPI总线为例,对本公开示例性实施例的基于共享结构的嵌入式控制电路进行描述,主机处理器与嵌入式控制电路之间通过eSPI总线进行通信。
图3示出了本公开示例性实施例的基于eSPI总线和共享接口的嵌入式控制电路的示意性框图,如图3所示,嵌入式控制电路300,包括:用于与主机处理器通信的eSPI从模块310、处理器320、外设模块330、第一总线340和第二总线350。图3中示出了多个外设模块330,分别为键盘模块330-1、鼠标模块330-2、串口模块330-3,以及其他外设330-n。其中,第一总线340连接在键盘模块330-1、鼠标模块330-2、串口模块330-3,以及其他外设330-n的第一接口与eSPI从模块310之间,第二总线350连接在外设模块330的第二接口与处理器320之间。eSPI从模块310通过第一总线340访问外设模块330。处理器320通过第二总线350访问外设模块330。
嵌入式控制电路300通过主机处理器和嵌入式控制电路300之间的eSPI接口以及位于嵌入式控制电路300上并能够被主机处理器访问到的IO接口(这个接口定义在eSPI从模块上,是主机处理器可访问的地址)管理外设。
在本实施例中,键盘模块330-1、鼠标模块330-2、串口模块330-3,以及其他外设330-n具有2个接口,分别连接在第一总线340(例如本地总线1)和第二总线350(例如本地总线2)上。第一总线340和第二总线350对寄存器的读/写操作,经过访问仲裁逻辑电路仲裁,仲裁策略(选择优先级)由仲裁控制寄存器选择,仲裁控制连入到模块外部的一个仲裁控制寄存器中,该仲裁控制寄存器由处理器320进行配置。
在本实施例中,如图3所示,使用总线矩阵352进行连接。处理器320连接至总线矩阵352,第二总线350(通过桥351)连接至总线矩阵352,第二总线350连接至外设模块330的第二接口,进而处理器320通过总线矩阵352和第二总线352访问外设模块330。外设模块330对应且独立于外设模块330而与处理器320连接的接口单元(例如键盘接口单元)通过例如快速总线等总线连接到总线矩阵352,进而处理器320与接口单元之间通过总线矩阵352和相关总线进行通信。
以串口为例,串口模块330-3的寄存器具有2个接口,一个接口通过第一总线340连接主机处理器,使主机处理器可通过该接口对串口进行配置或操作,一个接口通过第二总线350连接处理器320,使嵌入式控制电路300的处理器320能够通过这个接口对串口进行配置和访问。当主机处理器和处理器320同时通过两个不同接口配置或操作串口的寄存器时,访问仲裁机制根据配置,给主机处理器或者给处理器320更高的访问优先权。
示例性的串口工作过程说明如下。串口模块330-3从与其接口单元连接的外设获取数据,和/或向与其连接的外设提供数据,串口模块330-3与主机处理器之间的通信可不经过处理器120。主机处理器对串口模块330-3进行读和/或写,例如,向串口模块330-3写入要通过其连接的外设发送的数据,或者从串口模块330-3读取来自其连接的外设的数据,或配置串口模块330-3的参数等。
示例性的键盘工作过程说明如下。键盘模块330-1对应的键盘接口单元独立于键盘模块330-1,而与处理器320连接。电脑操作人员按下键盘某个按键,处理器320通过键盘接口单元获得键盘按键动作对应的键盘码,把键盘码通过总线矩阵352、桥(bridge)351、第二总线350写入到键盘模块330-1内的寄存器中。键盘模块330-1通过eSPI从模块310产生中断,上报给主机处理器。主机处理器收到中断,发起读操作,把键盘模块330-1的寄存器中的键盘码值读走,设置码值已被读走标志位,并清除相应的寄存器。键盘模块330-1产生中断,通知处理器320主机处理器已把键盘码值读走。如果不用中断,处理器320可查询键盘模块330-1的Status标志位,判断键盘码值是否被主机处理器读走。
本公开实施例提供了一种直接存储器访问的嵌入式控制电路。
图4示出了本公开示例性实施例直接存储器访问的嵌入式控制电路的示意性框图,如图4所示,嵌入式控制电路400包括:用于与主机处理器通信的总线接口电路410、处理器420、一个或多个外设模块430、电路系统440、第一总线450和第二总线460。本实施例中,嵌入式控制电路可包括一个或多个外设模块430,示例性的如图4中示出了外设模块430-1至430-n。
如图4所示,电路系统440与总线接口电路410连接。第一总线450连接在外设模块430与电路系统440之间;第二总线460连接在外设模块430与处理器420之间。其中,电路系统440通过总线接口电路410与主机处理器通信,基于主机处理器的命令通过第一总线450访问外设模块430。处理器420被配置为通过第二总线460访问外设模块430。本实施例中,可不在总线接口电路410定义外设模块430的I/O接口,电路系统440被配置为基于主机处理器的命令通过第一总线450访问外设模块430,因而在嵌入式控制电路中集成(例如新增)外设模块430可不修改总线接口电路。
在本实施例中,电路系统440访问外设模块430可采用直接存储器访问(DMA)命令。
在本实施例中,可采用各种类型的总线接口与主机处理器通信,包括但不限于LPC总线、SPI总线、eSPI总线等。总线接口电路410包括一个总线接口或多个总线接口。总线接口电路410可操作地将多个总线接口中的一个总线接口用于通信。本实施对此不作限定。在本实施例中,总线接口电路410与主机处理器之间可按照总线协议通信。作为一种示例,嵌入式控制电路400与主机处理器之间可使用eSPI总线,嵌入式控制电路400为eSPI总线中的从设备(eSPI slave),主机处理器作为eSPI总线中的主设备(eSPI master),总线接口电路410可为eSPI从模块。本实施例对此不作限定。
在本实施例中,第一总线450可包括与外设模块430和电路系统440兼容的任何总线,第一总线450的示例可包括本地总线、AXI总线、APB、AHB等,本实施对此不作限定。在本实施例中,电路系统440可作为第一总线450的主设备(master),外设模块430可作为第一总线450的从设备(slave)。外设模块430可响应电路系统440发来的各种总线命令。
在本实施例中,第二总线460可包括与外设模块430和处理器420兼容的任何总线,第二总线460的示例可包括本地总线、AXI总线、APB、AHB等,本实施对此不作限定。在本实施例中,处理器420可作为第二总线460的主设备(master),外设模块430可作为第二总线460的从设备(slave)。外设模块430可响应处理器420发来的各种总线命令。
在一些实施例中,嵌入式控制电路400可使用总线矩阵,通过总线矩阵,可以让电路系统440、处理器420和外设模块430进行并行访问,提升访问效率,同时也降低功耗。
在本实施例中,电路系统440能够通过总线接口电路410与主机处理器通信,基于主机处理器的命令通过第一总线450访问外设模块430,并且处理器420能够通过第二总线460访问外设模块430。图5示出了本公开示例性实施例的直接存储器访问的外设访问方法的流程图,如图5所示,外设访问方法包括步骤S501和步骤S502。在步骤S501中,由电路系统440通过总线接口电路410与主机处理器通信,基于主机处理器的命令通过第一总线450访问外设模块430。在步骤S502,由处理器420通过第二总线460访问外设模块430。
在一些实施例中,在步骤S502中,处理器420通过第二总线460向外设模块430的寄存器写入数据。在一些实施例中,在步骤S502中,由处理器420通过第二总线460从外设模块430的寄存器读取数据。
在一些实施例中,电路系统440被配置为:通过总线接口电路410接收主机处理器的写命令,基于写命令通过第一总线450向写命令对应的外设模块430的寄存器写入数据。
作为一种实施方式,在步骤S501中,由电路系统440通过总线接口电路410接收主机处理器的写命令,基于写命令通过第一总线450向写命令对应的外设模块430的寄存器写入数据。
在一些实施例中,电路系统440被配置为:通过总线接口电路410接收主机处理器的读命令,基于读命令通过第一总线450从读命令对应的外设模块430的寄存器读取数据。
作为一种实施方式,在步骤S501中,由电路系统440通过总线接口电路410接收主机处理器的读命令,基于读命令通过第一总线450从读命令对应的外设模块430的寄存器读取数据。
在一些实施例中,如图4所示,嵌入式控制电路400,还包括:第三总线470,连接在处理器420与电路系统440之间。电路系统440与处理器420之间可通过第三总线470传输信息,信息的示例可包括处理器420对电路系统440的配置、处理器420向主机处理器发送的外设模块430的中断信息等,本实施对此不作限定。作为一种实施方式,处理器420可作为第三总线470的主设备(master),电路系统440可作为第三总线470的从设备(slave)。电路系统440可响应处理器420发来的各种总线命令。
在一些实施例中,如图4所示,嵌入式控制电路400还包括:中断信号线480,连接在处理器420与电路系统440之间。中断信号线480可被配置为传输处理器420与电路系统440之间的任何中断信号,本实施例对此不作限定。作为一种实施方式,电路系统440被配置为通过中断信号线480向处理器420传输中断信号。
在一些实施例中,电路系统440被配置为基于预先配置的权限访问外设模块430。在本实施例中,每个目标地址可被配置允许读和写,或者允许读取和禁止写入,或者允许写入和禁止读取,本实施对此不作限定。作为一种实施方式,处理器420通过第三总线470配置电路系统440访问外设模块430的权限。电路系统440被配置为基于处理器420配置的权限信息访问外设模块430。
在一些实施例中,电路系统440被配置为基于预先配置的权限访问外设模块430,并在主机处理器访问的外设模块430的寄存器被配置为禁止访问的情况下,通过中断信号线480向处理器420传输中断信号,以通知处理器420主机处理器请求访问禁止访问的寄存器。
作为一种实施方式,在权限控制下在权限控制下向外设模块430写入数据的示例说明如下。总线接口电路410接收主机处理器的写命令,并将写命令发送给电路系统440。电路系统440接收写命令,从写命令中解析得到目标地址和待写入的数据。电路系统440判断目标地址是否为允许写入的地址,在目标地址为允许写入的地址的情况下,电路系统440通过第一总线450向目标地址对应的外设模块430的寄存器写入上述数据。在一些示例中,在目标地址为禁止写入的地址的情况下,电路系统440通过中断信号线480向处理器420传输中断信号,以通知处理器420主机处理器请求访问禁止写入的寄存器。
作为一种实施方式,在权限控制下从外设模块430读取数据的示例说明如下。总线接口电路410接收主机处理器的读命令,并将读命令发送给电路系统440。电路系统440接收读命令,并从读命令中解析得到目标地址。电路系统440判断目标地址是否为允许读取的地址。在目标地址为允许读取的地址的情况下,电路系统440通过第一总线450从目标地址对应的外设模块430的寄存器读取数据。电路系统440在读取的数据后,生成读命令对应的总线命令,向总线接口电路410发送该总线命令。总线接口电路410向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得读取的数据。在一些示例中,在目标地址为禁止读取的地址的情况下,电路系统440通过中断信号线480向处理器420传输中断信号,以通知处理器420主机处理器请求访问禁止读取的寄存器。
在一些实施例中,处理器420通过第三总线470向电路系统440发送外设模块430的中断信息。进一步的,电路系统440通过总线接口电路410向主机处理器发送该中断信息。
作为一种实施方式,处理器420向主机处理器发送外设模块430的中断信息的示例说明如下。处理器420检测外设模块430的中断信息。处理器420通过第三总线470将检测到的中断信息发送给电路系统440。电路系统440生成中断信息对应的总线命令,向总线接口电路410发送生成的该总线命令。总线接口电路410向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得中断信息。作为一种示例,主机处理器获取到中断信息后,基于中断信息响应嵌入式控制电路。在一些示例中,主机处理器基于中断信息发起向中断信息对应的外设模块430的寄存器写入数据的过程。在一些示例中,主机处理器基于中断信息发起从中断信息对应的外设模块430的寄存器读取数据的过程。
图6示出了本公开示例性实施例的电路系统440的示意性框图,如图6所示,电路系统440包括:接收电路441,被配置为接收总线接口电路410发送的总线命令;解析电路442,与接收电路441连接,被配置为解析接接收的总线命令,得到目标地址;第一控制器443,与解析电路442连接,被配置为对目标地址对应的外设模块430的寄存器进行访问。在本实施例中,解析电路442根据总线接口电路410使用的总线接口协议解析总线命令。
在一些实施例中,总线命令包括写命令,解析电路442解析总线命令还得到目标数据,目标地址为待写入的地址。第一控制器443被配置为:向目标地址对应的外设模块430的寄存器写入目标数据。
作为一种实施方式,向外设模块430写入数据的示例说明如下。总线接口电路410接收主机处理器的写命令,并将写命令发送给接收电路441。接收电路441接收写命令,并将写命令发送给解析电路442。解析电路442从写命令中解析得到目标地址和待写入的数据。第一控制器443通过第一总线450向目标地址对应的外设模块430的寄存器写入上述数据。
在一些实施例中,总线命令包括读命令,解析电路422解析总线命令得到的目标地址为待读取的地址。
在一些实施例中,如图6所示,电路系统440还包括缓冲模块444,连接在接收电路441与解析电路442之间,用于缓存接收到的总线命令,以供解析电路442解析总线命令。
作为一种实施方式,向外设模块430写入数据的示例说明如下。总线接口电路410接收主机处理器的写命令,并将写命令发送给接收电路441。接收电路441接收写命令,接收电路441将写命令缓存到缓冲模块444。解析电路442从缓冲模块444获取写命令,解析电路442从写命令中解析得到目标地址和待写入的数据。第一控制器443通过第一总线450向目标地址对应的外设模块430的寄存器写入上述数据。
在一些实施例中,如图6所示,电路系统440还包括:生成电路445,被配置为生成总线命令;发送电路446,与生成电路445连接,被配置为向总线接口电路410发送生成电路445生成的总线命令,以使生成的总线命令被主机处理器接收。
在一些实施例中,第一控制器443还被配置为将从目标地址读取的数据发送给生成电路445,以由生成电路445生成对应的总线命令,并由发送电路446将生成的总线命令发送给总线接口电路410。
作为一种实施方式,从外设模块430读取数据的示例说明如下。总线接口电路410接收主机处理器的读命令,并将读命令发送给接收电路441。接收电路441接收读命令,并将读命令发送给解析电路442。解析电路442从读命令中解析得到目标地址。第一控制器443通过第一总线450从目标地址对应的外设模块430的寄存器读取数据。第一控制器443将读取的数据发送给生成电路445。生成电路445生成读命令对应的总线命令,并将该总线命令发送给发送电路446。发送电路446向总线接口电路410发送该总线命令。总线接口电路410向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得读取的数据。
在一些实施例中,如图6所示,电路系统440还包括:第二控制器447,被配置为通过第三总线470接收处理器420发送的信息。
在一些实施例中,第二控制器447,还被配置为通过第三总线470接收处理器420发送的中断信息,将中断信息发送给生成电路445,以由生成电路445生成对应的总线命令,并由发送电路446将生成的总线命令发送给总线接口电路410,从而通过总线接口电路410向主机处理器发送中断信息。
作为一种实施方式,处理器420向主机处理器发送外设模块430的中断信息的示例说明如下。处理器420检测外设模块430的中断信息。处理器420通过第三总线470将检测到的中断信息发送给生成电路445。生成电路445生成中断信息对应的总线命令。发送电路446向总线接口电路410发送生成电路445生成的该总线命令。总线接口电路410向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得中断信息。作为一种示例,主机处理器获取到中断信息后,基于中断信息响应嵌入式控制电路。在一些示例中,主机处理器基于中断信息发起向中断信息对应的外设模块430的寄存器写入数据的过程。在一些示例例中,主机处理器基于中断信息发起从中断信息对应的外设模块430的寄存器读取数据的过程。
在一些实施例中,电路系统440还包括:安全控制模块448,与第一控制器443和第二控制器447连接。安全控制模块448被配置为提供权限信息。第一控制器443,还被配置为基于安全控制模块448中的权限信息确定访问目标地址的权限。作为一种实施方式,第二控制器447,还被配置为通过第三总线470接收处理器420发送的权限信息,将权限信息写入安全控制模块448。在本实施例中,每个目标地址可被配置允许读和写,或者允许读取和禁止写入,或者允许写入和禁止读取,本实施对此不作限定。
作为一种实施方式,在权限控制下向外设模块430写入数据的示例说明如下。总线接口电路410接收主机处理器的写命令,并将写命令发送给接收电路441。接收电路441接收写命令,并将写命令发送给解析电路442,作为一种示例,接收电路441可将写命令缓存到缓冲模块444,解析电路442从缓冲模块444获取写命令。解析电路442从写命令中解析得到目标地址和待写入的数据。第一控制器443判断目标地址是否为允许写入的地址,在目标地址为允许写入的地址的情况下,第一控制器443通过第一总线450向目标地址对应的外设模块430的寄存器写入上述数据。在一些示例中,第一控制器443可访问安全控制模块448,从安全控制模块448获取权限信息,基于权限信息确定目标地址是否为允许写入的地址。在一些示例中,在目标地址为禁止写入的地址的情况下,第一控制器443通过中断信号线480向处理器420传输中断信号,以使处理器420获知主机处理器请求向禁止写入的地址写入数据。
作为一种实施方式,在权限控制下从外设模块430读取数据的示例说明如下。总线接口电路410接收主机处理器的读命令,并将读命令发送给接收电路441。接收电路441接收读命令,并将读命令发送给解析电路442,在一些示例中,接收电路441将读命令缓存到缓冲模块444,解析电路442从缓冲模块444获取读命令。解析电路442从读命令中解析得到目标地址。第一控制器443判断目标地址是否为允许读取的地址,在一些示例中,第一控制器443访问安全控制模块448,从安全控制模块448获取权限信息,基于权限信息确定目标地址是否为允许读取的地址。在目标地址为允许读取的地址的情况下,第一控制器443通过第一总线450从目标地址对应的外设模块430的寄存器读取数据。第一控制器443将读取的数据发送给生成电路445。生成电路445生成读命令对应的总线命令,并将该总线命令发送给发送电路446。发送电路446向总线接口电路410发送该总线命令。总线接口电路410向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得读取的数据。在一些示例中,在目标地址为禁止读取的地址的情况下,第一控制器443通过中断信号线480向处理器420传输中断信号,以使处理器420获知主机处理器请求读取禁止读取的地址。
下面以eSPI总线为例,对本公开示例性实施例的直接存储器访问的嵌入式控制电路进行描述,主机处理器与嵌入式控制电路之间通过eSPI总线进行通信。
图7示出了本公开示例性实施例的使用eSPI总线和直接存储器访问的嵌入式控制电路的示意性框图,如图7所示,嵌入式控制电路700包括:用于与主机处理器通信的eSPI从模块710、处理器720、一个或多个外设模块730、电路系统740。本实施例中,嵌入式控制电路可包括一个或多个外设模块730,示例性的如图7中示出了外设模块730-1至730-n。
如图7所示,电路系统740与eSPI从模块710连接,eSPI从模块710使用eSPI协议与主机处理器通信。eSPI从模块710、处理器720、外设模块730通过总线矩阵750连接,在本实施例中,总线矩阵上采用AHB总线。本实施例中eSPI从模块710、处理器720、外设模块730之间的总线可包括数据线、控制线和地址线。
在本实施例中,电路系统740通过总线矩阵750访问外设模块730。在电路系统740与外设模块730之间的AHB总线上,电路系统740作为AHB总线的主设备(master),外设模块730作为AHB总线的从设备,外设模块730响应电路系统740的各种总线命令。
在本实施例中,处理器720通过总线矩阵750访问外设模块730。在处理器720与外设模块730之间的AHB总线上,处理器720作为AHB总线的主设备(master),外设模块730作为AHB总线的从设备(slave),外设模块730响应处理器720的各种总线命令。
在本实施例中,处理器720通过总线矩阵750访问电路系统740。在处理器720与电路系统740之间的AHB总线上,处理器720作为AHB总线的主设备(master),电路系统740作为AHB总线的从设备(slave),电路系统740响应处理器720的各种总线命令。作为一种实施方式,处理器720通过总线矩阵750访问电路系统740,以配置电路系统740对外设模块730的访问权限。作为另一种实施方式,处理器720通过总线矩阵750访问电路系统740,以向主机处理器发送外设模块730的中断信息。
在本实施例中,处理器720与电路系统740之间连接有中断信号线760。电路系统740能够通过中断信号线760向电路系统740发送中断信号。
图8示出了本公开示例性实施例的电路系统740的示意性框图,如图8所示,电路系统740包括:eSPI命令接收模块741,被配置为接收eSPI从模块710发送的总线命令;命令缓冲模块744,与eSPI命令接收模块741连接,用于缓存接收到的eSPI命令;eSPI命令解析模块742,与eSPI命令接收模块741连接,被配置为解析接接收的eSPI命令,得到目标地址;AHBmaster接口743,与eSPI命令解析模块742连接,被配置为对目标地址对应的外设模块730的寄存器进行访问。
eSPI命令包括写命令,eSPI命令解析模块742解析eSPI命令还得到目标数据,目标地址为待写入的地址。AHB master接口743被配置为:向目标地址对应的外设模块730的寄存器写入目标数据。
作为一种实施方式,向外设模块730写入数据的示例说明如下。eSPI从模块710接收主机处理器的写命令,并将写命令发送给eSPI命令接收模块741。eSPI命令接收模块741接收写命令,并将写命令写入命令缓冲模块744。eSPI命令解析电路742从命令缓冲模块744获取写命令,从写命令中解析得到目标地址和待写入的数据。AHB master接口743通过总线总线矩阵750向目标地址对应的外设模块730的寄存器写入上述数据。
如图8所示,电路系统740还包括:eSPI命令生成模块745,被配置为生成eSPI命令;eSPI命令发送模块746,与eSPI命令生成模块745连接,被配置为向eSPI从模块710发送eSPI命令生成模块745生成的eSPI命令,以使生成的eSPI命令被主机处理器接收。
eSPI命令包括读命令。AHB master接口743还被配置为:在读取数据后,将从目标地址读取的数据发送给eSPI命令生成模块745,以由eSPI命令生成模块745生成对应的eSPI命令,并由eSPI命令发送模块746将生成的eSPI命令发送给eSPI从模块710。
作为一种实施方式,从外设模块730读取数据的示例说明如下。AHB master接口743从目标地址读取数据后,AHB master接口743将读取的数据发送给eSPI命令生成模块745。eSPI命令生成模块745生成读命令对应的eSPI命令,并将该eSPI命令发送给eSPI命令发送模块746。eSPI命令发送模块746向eSPI从模块710发送该eSPI命令。eSPI从模块710向主机处理器发送该eSPI命令,以使主机处理器接收eSPI命令以获得读取的数据。
如图8所示,电路系统740还包括:AHB slave接口747,被配置为通过总线矩阵750接收处理器720发送的信息。AHB slave接口747被配置为通过总线矩阵750接收处理器720发送的中断信息,将中断信息发送给eSPI命令生成模块745,以由eSPI命令生成模块745生成对应的eSPI命令,并由eSPI命令发送模块746将生成的eSPI命令发送给eSPI从模块710,从而通过eSPI从模块710向主机处理器发送中断信息。
作为一种实施方式,处理器720向主机处理器发送外设模块730的中断信息的示例说明如下。处理器720检测外设模块730的中断信息。处理器720通过总线矩阵将检测到的中断信息发送给eSPI命令生成模块745。eSPI命令生成模块745生成中断信息对应的eSPI命令。eSPI命令发送模块746向eSPI从模块710发送eSPI命令生成模块745生成的该eSPI命令。eSPI从模块710向主机处理器发送该eSPI命令,以使主机处理器接收eSPI命令以获得中断信息。作为一种示例,主机处理器获取到中断信息后,基于中断信息响应嵌入式控制电路。在一些示例中,主机处理器基于中断信息发起向中断信息对应的外设模块730的寄存器写入数据的过程。在一些示例例中,主机处理器基于中断信息发起从中断信息对应的外设模块730的寄存器读取数据的过程。
在一些实施例中,电路系统740还包括:安全控制模块748,与AHB master接口743和AHB slave接口747连接。安全控制模块748被配置为提供权限信息。AHB master接口743,还被配置为基于安全控制模块748中的权限信息确定访问目标地址的权限。作为一种实施方式,AHB slave接口747,还被配置为通过总线矩阵750接收处理器720发送的权限信息,将权限信息写入安全控制模块748。在本实施例中,每个目标地址可被配置允许读和写,或者允许读取和禁止写入,或者允许写入和禁止读取,本实施对此不作限定。
作为一种实施方式,在权限控制下向外设模块730写入数据的示例说明如下。eSPI从模块710接收主机处理器的写命令,并将写命令发送给eSPI命接收模块741。eSPI命接收模块741接收写命令,写命令缓存到命令缓冲模块744。eSPI命令解析模块742从命令缓冲模块744获取写命令,从写命令中解析得到目标地址和待写入的数据。AHB master接口743可访问安全控制模块748,从安全控制模块448获取权限信息,基于权限信息确定目标地址是否为允许写入的地址。在目标地址为允许写入的地址的情况下,AHB master接口743通过总线矩阵750向目标地址对应的外设模块730的寄存器写入上述数据。在目标地址为禁止写入的地址的情况下,AHB master接口743通过中断信号线760向处理器720传输中断信号,以使处理器720获知主机处理器请求向禁止写入的地址写入数据。
作为一种实施方式,在权限控制下从外设模块730读取数据的示例说明如下。eSPI从模块710接收主机处理器的读命令,并将读命令发送给eSPI命接收模块741。eSPI命接收模块741接收读命令,将读命令缓存到命令缓冲模块744。eSPI命解析模块742从命令缓冲模块744获取读命令,从读命令中解析得到目标地址。AHB master接口743访问安全控制模块748,从安全控制模块748获取权限信息,基于权限信息确定目标地址是否为允许读取的地址。在目标地址为允许读取的地址的情况下,AHB master接口743通过总线矩阵750从目标地址对应的外设模块730的寄存器读取数据。AHB master接口743将读取的数据发送给eSPI命令生成模块745。eSPI命令生成模块745生成读命令对应的eSPI命令,并将该eSPI命令发送给eSPI命令发送模块746。eSPI命令发送模块746向eSPI从模块710发送该eSPI命令。eSPI从模块710向主机处理器发送该eSPI命令,以使主机处理器接收eSPI命令以获得读取的数据。在目标地址为禁止读取的地址的情况下,AHB master接口743通过中断信号线760向处理器720传输中断信号,以使处理器720获知主机处理器请求读取禁止读取的地址。
如图7和8所示,电路系统740还包括:中断控制749,与中断信号线760连接,用于响应于AHB master接口743和/或AHB slave接口747的命令,通过中断信号线760向处理器720传输中断信号。
作为一种示例,基于eSPI从外设模块读取数据的示例说明如下。处理器720检测外设模块730的中断。在检测到外设模块730与主机处理器相关的中断的情况下,处理器720通过AHB slave接口747把中断信息写入eSPI从模块710的共享寄存器中,示例性的中断信息包括中断状态和中断ID。eSPI从模块710接收该写入信息,通过拉低IO管脚或者专用的Alert信号报警。主机处理器接收报警信号,通过GET_STATUS命令查询报警事件原因。eSPI从模块710接收GET_STATUS命令,把共享寄存器中的中断信息通过eSPI包发给主机处理器。主机处理器基于中断信息确定报警原因,主机处理器发起GET_PC或GET_NP命令来读数据。eSPI从模块710接收该命令,电路系统740把该命令转化为DMA操作,从相应的外设模块730的寄存器中把数据读回,eSPI从模块710通过eSPI包上传给主机处理器。
例如,对于键盘而言,当操作员按下键盘,键盘扫描模块检测到并保持按下的按键的键码,并发起中断给处理器720,处理器720查询中断ID来自键盘扫描模块、中断原因(或中断状态)是操作员有按键操作后,处理器720通过AHB slave接口747把中断ID和中断状态写入eSPI从模块710的共享寄存器中,eSPI从模块710收到该写入信息后,通过拉低IO管脚或者专用的Alert信号报警。主机处理器收到报警信号后,通过GET_STATUS命令查询报警事件原因,eSPI从模块710收到GET_STATUS命令后,把共享寄存器中的中断ID和中断状态通过eSPI包发给主机处理器。当获知由于操作员按下键盘原因后,主机处理器发起GET_PC/NP命令读操作员按下键的键码,eSPI从模块710收到该命令后,电路系统740把该命令转化为DMA操作,把键盘扫描模块保持的键码读回,并通过eSPI从模块710发送eSPI包上传给主机处理器。
作为一种示例,基于eSPI的向外设模块730写入数据说明如下。主机处理器发送写命令。eSPI从模块710接收写命令,电路系统740从写命令中获取写入地址和数据,向写入地址对应的外设模块730的寄存器写入该数据。
例如,对于氛围灯而言,当主机处理器要把灯效果数据发到氛围灯上显示,主机处理器先发起数据写操作,发起写数据包,eSPI从模块710接收该包,电路系统740解包发现是对氛围灯某个寄存器的写命令后,把该命令转化为DMA操作,把主机处理器传来的数据写入到指定的氛围灯地址中,氛围灯因此改变显示状态,完成主机处理器要求的显示效果。示例性的,氛围灯在工作中可能会产生中断,比如没有数据显示的情况下(数据缓存为空),又比如氛围灯显示出现错误的情况下。当氛围灯产生中断,和键盘一样,发起中断给处理器720,处理器720进而通过eSPI从模块710向主机处理器报警,主机处理器查询报警原因,并读取相关的数据。
本公开实施例提供了一种基于直接存储器访问和共享接口的嵌入式控制电路。
图9示出了本公开示例性实施例的基于直接存储器访问和共享接口的嵌入式控制电路的示意性框图,如图9所示,嵌入式控制电路900包括:用于与主机处理器通信的总线接口电路910、处理器920、一个或多个第一外设模块931、一个或多个第二外设模块932、电路系统940;第一总线951、第二总线952和第三总线961。其中,多个第一外设模块931在图9中标记为931-1至931-n,多个第二外设模块931在图9中标记为932-1至932-m。应当理解,本实施例对第一外设模块931和第二外设模块932的数量不作限定,嵌入式控制电路900可包括任意数量的第一外设模块931和第二外设模块932。
在一些实施例中,嵌入式控制电路900还包括:第四总线962,连接在处理器920与电路系统940之间,以在处理器920与电路系统940之间传输信息。
在一些实施例中,嵌入式控制电路900还包括:中断信号线,连接在处理器920与电路系统940之间。中断信号线可被配置为传输处理器920与电路系统940之间的任何中断信号,本实施例对此不作限定。作为一种实施方式,电路系统940被配置为通过中断信号线980向处理器920传输中断信号。可参见图4及其说明,本实施例对此不作赘述。
第一外设模块931中的每个第一外设模块931包括第一接口和第二接口。第一总线951连接在每个第一外设模块931的第一接口与总线接口电路910之间。第二总线952连接在每个第一外设模块931的第二接口与处理器920之间。总线接口电路910上设置每个第一外设模块931对应的I/O接口。总线接口电路910,被配置为通过第一总线951访问第一外设模块931。处理器920被配置为通过第二总线952访问第一外设模块931。
第三总线961连接在第二外设模块932与电路系统940之间。第三总线961还连接在第二外设模块932与处理器920之间。电路系统940,被配置为通过总线接口电路910与主机处理器通信,基于主机处理器的命令通过第三总线961访问第二外设模块932。在本实施例中,电路系统940作为第三总线961的主设备,第二外设模块932作为第三总线961的从设备,第二外设模块932可响应电路系统940的各种总线命令。处理器920通过第三总线961访问第二外设模块932。在本实施例中,处理器920可作为第三总线961的主设备,第二外设模块932可作为第三总线961的从设备,第二外设模块932可响应处理器920的各种总线命令。
在一些实施例中,第一总线951、第二总线952、第三总线961和第四总线962中至少部分可采用总线矩阵,总线接口电路910、处理器920、第一外设模块931、第二外设模块932及电路系统940中至少部分之间通过总线矩阵进行访问。
在本实施例中,第一外设模块931,可参见本公开前述图1、图2和图3的说明,在此不作赘述。在本实施例中,电路系统940和第二外设模块932可参见本公开前述图4、图6、图7和图8的说明,在此不作赘述。
在本实施例中,主机处理器可通过总线接口电路910和第一总线951访问第一外设模块931。主机处理器还可通过总线接口电路910、电路系统940和第三总线961访问第二外设模块932。下面对嵌入式控制电路900区分主机处理器对第一外设模块931和第二外设模块932的访问的实施例进行说明。
在一些实施例中,总线接口电路910被配置为:基于访问的目标地址确定主机处理器访问的是第一外设模块931还是第二外设模块932,在主机处理器访问第一外设模块931的情况下,通过第一总线951访问第一外设模块931;在主机处理器访问第二外设模块932的情况下,向电路系统940转发主机处理器的访问命令。电路系统940基于主机处理器的访问命令,通过第三总线961访问第二外设模块932。
在一些实施例中,电路系统被940配置为:基于访问的目标地址确定主机处理器访问的是否为第二外设模块932;在主机处理器访问第二外设模块932的情况下,基于主机处理器的命令,通过第三总线961访问第二外设模块932。
在一些实施例中,每个第一外设模块931,被配置为:基于访问的目标地址确定主机处理器访问的是否为自身;在主机处理器访问自身的情况下,响应主机处理器的访问。
图10示出了本公开示例性实施例的基于直接存储器访问和共享接口的外设访问方法的流程图,应用于图9所示的嵌入式控制电路900。该外设访问方法包括步骤S1001至步骤S1004。应当理解,图10中虽然标记了步骤编号,但本实施例对步骤S1001至步骤S1004的顺序不做限定。
在步骤S1001中,由总线接口电路910通过第一总线951访问第一外设模块931。在本实施例中,总线接口电路910通过第一总线951访问第一外设模块931包括对第一外设模块931的寄存器进行读和/或写。在本实施例中,第一总线951连接在总线接口电路910与第一外设模块931的第一接口之间,总线接口电路910通过第一总线951及第一外设模块931的第一接口访问第一外设模块931的寄存器。
作为一种实施方式,在步骤S1001中,总线接口电路910接收主机处理器的写命令,通过第一总线951向写命令对应的第一外设模块931的寄存器写入数据。总线接口电路910还可接收主机处理器的读命令,通过第一总线951从读命令对应的第一外设模块931的寄存器读取数据。
在步骤S1002中,由电路系统940通过总线接口电路910与主机处理器通信,基于主机处理器的命令通过第三总线961访问第二外设模块932。
作为一种实施方式,在步骤S1002中,电路系统940通过总线接口电路910接收主机处理器的写命令,基于写命令通过第三总线961向写命令对应的第二外设模块932的寄存器写入数据。电路系统940还可通过总线接口电路910接收主机处理器的读命令,基于读命令通过第三总线961从读命令对应的第二外设模块932的寄存器读取数据。
在一些实施例中,电路系统940基于预先配置的权限访问第二外设模块932。在本实施例中,每个目标地址可被配置允许读和写,或者允许读取和禁止写入,或者允许写入和禁止读取,本实施对此不作限定。作为一种实施方式,处理器920通过连接在处理器920与电路系统940之间的第四总线962配置电路系统940访问第二外设模块932的权限。电路系统940基于处理器920配置的权限信息访问第二外设模块932。
作为一种实施方式,在权限控制下在权限控制下向第二外设模块932写入数据的示例说明如下。总线接口电路910接收主机处理器的写命令,并将写命令发送给电路系统940。电路系统940接收写命令,从写命令中解析得到目标地址和待写入的数据。电路系统940判断目标地址是否为允许写入的地址,在目标地址为允许写入的地址的情况下,电路系统940通过第三总线961向目标地址对应的第二外设模块932的寄存器写入上述数据。在一些示例中,在目标地址为禁止写入的地址的情况下,电路系统940通过电路系统940与处理器920之间的中断信号线向处理器920传输中断信号,以通知处理器920主机处理器请求访问禁止写入的寄存器。
作为一种实施方式,在权限控制下从第二外设模块932读取数据的示例说明如下。总线接口电路910接收主机处理器的读命令,并将读命令发送给电路系统940。电路系统940接收读命令,并从读命令中解析得到目标地址。电路系统940判断目标地址是否为允许读取的地址。在目标地址为允许读取的地址的情况下,电路系统940通过第三总线961从目标地址对应的第二外设模块932的寄存器读取数据。电路系统940在读取的数据后,生成读命令对应的总线命令,向总线接口电路910发送该总线命令。总线接口电路910向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得读取的数据。在一些示例中,在目标地址为禁止读取的地址的情况下,电路系统940通过电路系统940与处理器920之间的中断信号线向处理器920传输中断信号,以通知处理器920主机处理器请求访问禁止读取的寄存器。
在步骤S1003中,由处理器920通过第二总线952访问第一外设模块931。在本实施例中,处理器920通过第二总线952从第一外设模块931的寄存器读取数据。处理器920还可通过第二总线952向第一外设模块931的寄存器写入数据。
在步骤S1004中,由处理器920通过第三总线961访问第二外设模块932。在一些示例中,由处理器920通过第三总线961访问第二外设模块932可包括:由处理器920通过第三总线961访问对第二外设模块932的寄存器进行读和/或写。
在一些实施例中,由处理器920通过其与电路系统940之间的总线,向电路系统940发送第二外设模块932的中断信息。由电路系统940通过总线接口电路910向主机处理器发送中断信息。
作为一种实施方式,处理器920向主机处理器发送第二外设模块932的中断信息的示例说明如下。处理器920检测第二外设模块932的中断信息。处理器920通过其与电路系统940之间的总线,将检测到的中断信息发送给电路系统940。电路系统940生成中断信息对应的总线命令,向总线接口电路910发送生成的该总线命令。总线接口电路910向主机处理器发送该总线命令,以使主机处理器接收总线命令以获得中断信息。作为一种示例,主机处理器获取到中断信息后,基于中断信息响应嵌入式控制电路。在一些示例中,主机处理器基于中断信息发起向中断信息对应的第二外设模块932的寄存器写入数据的过程。在一些示例中,主机处理器基于中断信息发起从中断信息对应的第二外设模块932的寄存器读取数据的过程。
下面以eSPI总线为例,对本公开示例性实施例的直接存储器访问和共享接口的嵌入式控制电路进行描述,主机处理器与嵌入式控制电路之间通过eSPI总线进行通信。
图11示出了本公开示例性实施例的使用eSPI总线的基于直接存储器访问和共享接口的嵌入式控制电路的示意性框图,如图11所示,嵌入式控制电路1100包括:用于与主机处理器通信的eSPI从模块1110、处理器1120、一个或多个第一外设模块1131、一个或多个第二外设模块1132、电路系统1140和总线矩阵1150。其中,多个第一外设模块1131在图11中标记为1131-1至1131-n,多个第二外设模块1132在图11中标记为1132-1至1132-m。本实施中采用总线矩阵,下面结合图11对本实施例进行描述。
第一外设模块1131中的每个第一外设模块1131包括第一接口和第二接口。(localbus)连接在每个第一外设模块1131的第一接口与eSPI从模块1110之间。每个第一外设模块1131的第二接口与APB总线连接,处理器1120与总线矩阵1150连接,APB总线经第一桥、第一快速总线连接到总线矩阵,进而将每个第一外设模块1131的第二接口与处理器1120连接。eSPI从模块1110,被配置为通过本地总线访问第一外设模块1131。处理器1120被配置为通过总线矩阵、第一快速总线、第一桥以及APB总线访问第一外设模块1131。
电路系统1140连接到DMA总线,DMA总线连接到总线矩阵1150,第二外设模块1132连接到第二快速总线,第二快速总线连接到总线矩阵,进而第二外设模块1132与电路系统1140之间通过DMA总线、总线矩阵1150和第二快速总线连接。处理器1120连接到总线矩阵,第二外设模块1132与处理器1120之间通过总线矩阵1150和第二快速总线。电路系统1140,被配置为通过eSPI从模块1110与主机处理器通信,基于主机处理器的命令通过DMA总线、总线矩阵1150和第二快速总线访问第二外设模块1132。在本实施例中,电路系统1140作为主设备,第二外设模块1132作为从设备,第二外设模块1132可响应电路系统1140的各种总线命令。处理器1120通过总线矩阵1150和第二快速总线访问第二外设模块1132。在本实施例中,处理器1120可作为主设备,第二外设模块1132可作为从设备,第二外设模块1132可响应处理器1120的各种总线命令。
在本实施例中,一些第二外设模块1132可直接连接到第二快速总线,例如如图11所示的第二外设模块1132-1,第二外设模块1132的示例可包括PD/Type C接口等。一些第二外设模块1132可通过第二桥连接到第二快速总线,例如如图11所示的第二外设模块1132-2至1132-m,第二外设模块1132-2至1132-m的示例包括氛围灯控制模块、呼吸灯控制模块等。应当理解,本实施例对第二外设模块1132是否经过桥连接到第二快速总线做不限定。
在本实施例中,第一外设模块1131,可参见本公开前述图1、图2和图3的说明,在此不作赘述。在本实施例中,电路系统1140和第二外设模块1132可参见本公开前述图4、图6、图7和图8的说明,在此不作赘述。
在本实施例中,主机处理器可通过eSPI从模块1110和本地总线访问第一外设模块1131。主机处理器还可通过eSPI从模块1110、电路系统1140、DMA总线、总线矩阵1150和第二快速总线访问第二外设模块1132。下面对嵌入式控制电路1100区分主机处理器对第一外设模块1131和第二外设模块1132的访问的实施例进行说明。
在一些实施例中,eSPI从模块1110被配置为:基于访问的目标地址确定主机处理器访问的是第一外设模块1131还是第二外设模块1132,在主机处理器访问第一外设模块1131的情况下,通过本地总线访问第一外设模块1131;在主机处理器访问第二外设模块1132的情况下,向电路系统1140转发主机处理器的访问命令。电路系统1140基于主机处理器的访问命令,通过DMA总线、总线矩阵1150和第二快速总线访问第二外设模块1132。
在一些实施例中,电路系统被1140配置为:基于访问的目标地址确定主机处理器访问的是否为第二外设模块1132;在主机处理器访问第二外设模块1132的情况下,基于主机处理器的命令,通过DMA总线、总线矩阵1150和第二快速总线访问第二外设模块1132。
在一些实施例中,每个第一外设模块1131,被配置为:基于访问的目标地址确定主机处理器访问的是否为自身;在主机处理器访问自身的情况下,响应主机处理器的访问。
本公开实施例提供了一种双总线接口的嵌入式控制电路。
图12示出了本公开示例性实施例的双总线接口的嵌入式控制电路的示意性框图,如图12所示,嵌入式控制电路1200包括:一个或多个外设模块1230;处理器1220,与一个或多个外设模块1230连接;第一总线接口电路1211,与一个或多个外设模块1230连接;第二总线接口电路1212,与一个或多个外设模块1230连接;总线接口选择电路1213,被配置为与主机处理器通信,并可操作地将第一总线接口电路1211或第二总线接口电路1212连接至主机处理器。
在本实施例中,第一总线接口电路1211或第二总线接口电路1212可采用各种类型的总线接口与主机处理器通信,包括但不限于LPC总线、SPI总线、eSPI总线等。示例性的,第一总线接口电路1211可为LPC电路,第二总线接口电路1212可为eSPI电路,由此嵌入式控制电路1200可通过LPC总线协议或eSPI总线协议与主机处理器通信。应当理解,第一总线接口电路1211和第二总线接口电路1212可采用任意两种总线协议的组合,本实施例对此不作限定。
在一些实施例中,总线接口选择电路1213,被配置为基于初始化配置,将第一总线接口电路1211或第二总线接口电路1212连接至主机处理器。经过初始化配置,将嵌入式控制电路1200配置为通过第一总线接口电路1211和第二总线接口电路1212中的一个总线接口电路与主机处理器通信。总线接口选择电路1213基于初始化配置将第一总线接口电路1211和第二总线接口电路1212中的一个总线接口电路连接至主机处理器,由此通过配置的总线接口电路与主机处理器通信。
在一些实施例中,外设模块1230,包括:一个或多个第一外设模块,一个或多个第一外设模块中的每个第一外设模块包括第一接口和第二接口。每个第一外设模块的第一接口与第一总线接口电路及第二总线接口电路之间,通过第一总线连接;每个第一外设模块的第二接口与处理器之间,通过第二总线连接。第一总线接口电路1211及第二总线接口电路1212,被配置为通过第一总线访问一个或多个第一外设模块。处理器1220,被配置为通过第二总线访问一个或多个第一外设模块。
本实施例中,第一外设模块可参见本公开前述图1、图2和图3的说明,在此不作赘述。
在一些实施例中,外设模块1230包括:一个或多个第二外设模块。嵌入式控制电路还包括:电路系统。一个或多个第二外设模块与电路系统之间,通过第三总线连接。一个或多个第二外设模块与处理器1120之间,通过第三总线连接。电路系统,被配置为通过第一总线接口电路1211或第二总线接口电路1212与主机处理器通信,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块;处理器1220,被配置为通过第三总线访问一个或多个第二外设模块。
在本实施例中,电路系统和第二外设模块可参见本公开前述图4、图6、图7和图8的说明,在此不作赘述。
在一些实施例中,外设模块1230包括一个或多个第一外设模块和一个或多个第二外设模块。在本实施例中,主机处理器可通过第一总线接口电路1211或第二总线接口电路1212和第一总线访问第一外设模块。主机处理器还可通过第一总线接口电路1211或第二总线接口电路1212、电路系统和第三总线访问第二外设模块。下面对嵌入式控制电路1200区分主机处理器对第一外设模块和第二外设模块的访问的实施例进行说明。
作为一种实施方式,第一总线接口电路1211和/或第二总线接口电路1212被配置为:基于访问的目标地址确定主机处理器访问的是第一外设模块还是第二外设模块;在主机处理器访问一个或多个第一外设模块的情况下,通过第一总线访问一个或多个第一外设模块;在主机处理器访问一个或多个第二外设模块的情况下,向电路系统转发主机处理器的访问命令。电路系统通过第三总线访问第二外设模块。
作为一种实施方式,电路系统被配置为:基于访问的目标地址确定主机处理器访问的是否为一个或多个第二外设模块;在主机处理器访问一个或多个第二外设模块的情况下,基于主机处理器的命令通过第三总线访问一个或多个第二外设模块。
下面以LPC和eSPI总线为例,对本公开示例性实施例的嵌入式控制电路进行描述,主机处理器与嵌入式控制电路之间通过eSPI或LPC总线进行通信。
图13示出了本公开示例性实施例的LPC-eSPI双总线接口的嵌入式控制电路的示意性框图,如图13所示,嵌入式控制电路1300包括:外设模块;处理器1320,与外设模块连接;LPC从模块1311,与一个或多个外设模块连接;eSPI从模块1312,与一个或多个外设模块连接;LPC-eSPI接口选择器1313,被配置为与主机处理器通信,并可操作地将LPC从模块1311或eSPI从模块1312连接至主机处理器;电路系统1340。其中,外设模块包括:一个或多个第一外设模块1331和一个或多个第二外设模块1332,图13中标记为第一外设模块1331-1至1331-n,第二外设模块1332-1至1332-m。
在一些实施例中,LPC-eSPI接口选择器1313,被配置为基于初始化配置,将LPC从模块1311或eSPI从模块1312连接至主机处理器。经过初始化配置,将嵌入式控制电路1300配置为通过LPC从模块1311和eSPI从模块1312中的一个总线接口电路与主机处理器通信。LPC-eSPI接口选择器1313基于初始化配置将LPC从模块1311和eSPI从模块1312中的一个总线接口电路连接至主机处理器,由此通过配置的总线接口电路与主机处理器通信。
在本实施例中,每个第一外设模块1331包括第一接口和第二接口。每个第一外设模块1331的第一接口与LPC从模块1311及eSPI从模块1312之间,通过本地总线(local bus)连接。每个第一外设模块1331的第二接口与处理器之间,通过APB总线、第一桥、第一快速总线以及总线矩阵1350连接。LPC从模块1311及eSPI从模块1312通过本地总线访问一个或多个第一外设模块1331。处理器1320通过总线矩阵1350第一快速总线、第一桥以及APB总线访问第一外设模块1331。
本实施例中,第一外设模块1331可参见本公开前述图1、图2和图3的说明,在此不作赘述。
在本实施例中,第二外设模块1332与电路系统1340之间,通过DMA总线、总线矩阵1350、第二快速总线连接。第二外设模块1332与处理器1320之间,通过总线矩阵1350、第二快速总线连接。电路系统1340通过LPC从模块1311或eSPI从模块1312与主机处理器通信,基于主机处理器的命令通过DMA总线、总线矩阵以及第二快速总线第二外设模块1332,处理器1320通过总线矩阵1350、第二快速总线访问第二外设模块1332。
在一些实施例中,处理器1320还可通过总线矩阵1350、第一桥、APB总线访问电路系统1340。处理器1320与电路系统1340之间可通过总线矩阵1350、第一桥、APB总线传输信息,例如,处理器1320可在该线路上向电路系统1340传输访问第二外设模块1332的权限信息。
在本实施例中,电路系统1340和第二外设模块1332可参见本公开前述图4、图6、图7和图8的说明,在此不作赘述。
在本实施例中,主机处理器可通过LPC从模块1311或eSPI从模块1312和本地总线访问第一外设模块1331。主机处理器还可通过LPC从模块1311或eSPI从模块1312、电路系统1340和DMA总线、总线矩阵1350以及第二快速总线访问第二外设模块1332。下面对嵌入式控制电路1300区分主机处理器对第一外设模块1331和第二外设模块1332的访问的实施例进行说明。
作为一种实施方式,LPC从模块1311和/或eSPI从模块1312被配置为:基于访问的目标地址确定主机处理器访问的是第一外设模块1331还是第二外设模块1332;在主机处理器访问一个或多个第一外设模块1331的情况下,通过第一总线访问一个或多个第一外设模块1331;在主机处理器访问一个或多个第二外设模块1332的情况下,向电路系统1340转发主机处理器的访问命令。电路系统1340通过DMA总线、总线矩阵1350以及第二快速总线访问第二外设模块1332。
作为一种实施方式,电路系统1340被配置为:基于访问的目标地址确定主机处理器访问的是否为一个或多个第二外设模块1332;在主机处理器访问一个或多个第二外设模块1332的情况下,基于主机处理器的命令通过DMA总线、总线矩阵1350以及第二快速总线访问一个或多个第二外设模块1332。
作为一种实施方式,每个第一外设模块1331,被配置为:基于访问的目标地址确定主机处理器访问的是否为自身;在主机处理器访问自身的情况下,响应主机处理器的访问。
本公开示例性实施还提供了一种芯片,可包括本公开前述的嵌入式控制电路。
本公开的方案可被集成到如下电子设备中,该电子设备选自由以下各项组成的组:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(GPS)设备;移动电话;蜂窝电话;智能电话;会话发起协议(SIP)电话;平板电脑;平板手机;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(PDA);监视器;计算机监视器;电视机;调谐器;收音机;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘(DVD)播放器;便携式数字视频播放器;机动车;车辆组件;航空电子系统;无人机;以及多旋翼飞行器。
以上所述仅为本公开的示例性实施例而已,并不用以限制本公开,凡在本公开实质内容上所作的任何修改、等同替换和简单改进等,均应包含在本公开的保护范围之内。

Claims (25)

1.一种嵌入式控制电路,其特征在于,包括:
用于与主机处理器通信的总线接口电路;
处理器;
一个或多个第二外设模块;
电路系统;
第三总线,连接在所述一个或多个第二外设模块与所述电路系统之间,以及连接在所述一个或多个第二外设模块与所述处理器之间;
其中:
所述电路系统,被配置为通过所述总线接口电路与所述主机处理器通信,基于所述主机处理器的命令通过所述第三总线访问所述一个或多个第二外设模块;
所述处理器,被配置为通过所述第三总线访问所述一个或多个第二外设模块。
2.根据权利要求1所述的嵌入式控制电路,其特征在于,还包括:
第一总线,连接在每个第一外设模块的第一接口与所述总线接口电路之间;
第二总线,连接在每个第一外设模块的第二接口与所述处理器之间;
所述总线接口电路,被配置为通过所述第一总线访问所述一个或多个第一外设模块;
所述处理器,还被配置为通过所述第二总线访问所述一个或多个第一外设模块。
3.根据权利要求2所述的嵌入式控制电路,其特征在于,所述总线接口电路被配置为:
基于访问的目标地址确定所述主机处理器访问的是所述第一外设模块还是所述第二外设模块;
在所述主机处理器访问所述一个或多个第一外设模块的情况下,通过所述第一总线访问所述一个或多个第一外设模块;
在所述主机处理器访问所述一个或多个第二外设模块的情况下,向所述电路系统转发所述主机处理器的访问命令。
4.根据权利要求2所述的嵌入式控制电路,其特征在于,所述电路系统被配置为:
基于访问的目标地址确定所述主机处理器访问的是否为所述一个或多个第二外设模块;
在所述主机处理器访问所述一个或多个第二外设模块的情况下,基于所述主机处理器的命令通过所述第三总线访问所述一个或多个第二外设模块。
5.根据权利要求2或4所述的嵌入式控制电路,其特征在于,所述一个或多个第一外设模块中的每个第一外设模块,被配置为:
基于访问的目标地址确定所述主机处理器访问的是否为所述第一外设模块;
在所述主机处理器访问所述第一外设模块的情况下,响应所述主机处理器的访问。
6.根据权利要求2所述的嵌入式控制电路,其特征在于,至少一个所述第一外设模块,包括:仲裁逻辑电路,所述仲裁逻辑电路被配置为:
在所述第一外设模块被所述主机处理器访问时,将所述第一外设模块的第二接口与所述第二总线断开;和/或
在所述第一外设模块被所述处理器访问时,将所述第一外设模块的第一接口与所述第一总线断开。
7.根据权利要求6所述的嵌入式控制电路,其特征在于,所述仲裁逻辑电路还被配置为:
在所述第一外设模块被所述主机处理器释放时,将所述第一外设模块的第二接口与所述第二总线连接;和/或
在所述第一外设模块被所述处理器释放时,将所述第一外设模块的第一接口与所述第二总线连接。
8.根据权利要求2所述的嵌入式控制电路,其特征在于,至少一个所述第一外设模块,还包括:第一中断单元,被配置为:
在所述第一外设模块的寄存器被所述处理器写入数据后,向所述总线接口电路发送第一中断信息;和/或
在所述第一外设模块的寄存器被所述主机处理器写入数据后,向所述处理器发送第二中断信息。
9.根据权利要求2或8所述的嵌入式控制电路,其特征在于,至少一个所述第一外设模块,还包括:第二中断单元,被配置为:
在所述第一外设模块的寄存器中由所述主机处理器写入的数据被所述处理器读取后,向所述主机处理器发送第三中断信息;和/或
在所述第一外设模块的寄存器中由所述处理器写入的数据被所述主机处理器读取后,向所述处理器发送第四中断信息。
10.根据权利要求1所述的嵌入式控制电路,其特征在于,所述电路系统被配置为:基于预先配置的权限访问所述一个或多个第二外设模块。
11.根据权利要求1所述的嵌入式控制电路,其特征在于,还包括:第四总线,连接在所述处理器与所述电路系统之间。
12.根据权利要求11所述的嵌入式控制电路,其特征在于,所述处理器被配置为:通过所述第四总线向所述电路系统发送所述一个或多个第二外设模块的中断信息;所述电路系统被配置为通过所述总线接口电路向主机处理器发送所述中断信息。
13.根据权利要求11所述的嵌入式控制电路,其特征在于,所述处理器被配置为:通过所述第四总线配置所述电路系统访问所述一个或多个第二外设模块的权限。
14.根据权利要求1所述的嵌入式控制电路,其特征在于,还包括:中断信号线,连接在所述处理器与所述电路系统之间。
15.根据权利要求14所述的嵌入式控制电路,其特征在于,所述电路系统被配置为:在所述主机处理器访问的第二外设模块的寄存器被配置为禁止访问的情况下,通过所述中断信号线向所述处理器传输中断信号。
16.根据权利要求1所述的嵌入式控制电路,其特征在于,所述电路系统包括:
接收电路,被配置为接收所述总线接口电路发送的总线命令;
解析电路,被配置为解析接接收的总线命令,得到目标地址;
第一控制器,被配置为对所述目标地址对应的第二外设模块的寄存器进行访问。
17.根据权利要求16所述的嵌入式控制电路,其特征在于,在所述总线命令为写命令时,所述解析电路还得到目标数据;其中,所述第一控制器被配置为:向所述目标地址对应的第二外设模块的寄存器写入所述目标数据。
18.根据权利要求16所述的嵌入式控制电路,其特征在于,所述电路系统,还包括:
生成电路,被配置为生成总线命令;
发送电路,被配置为向所述总线接口电路发送生成的总线命令,以使生成的总线命令被所述主机处理器接收。
19.根据权利要求18所述的嵌入式控制电路,其特征在于,所述第一控制器还被配置为:将从所述目标地址读取的数据发送给所述生成电路,以由所述生成电路生成对应的总线命令,并由所述发送电路将生成的总线命令发送给所述总线接口电路。
20.根据权利要求18所述的嵌入式控制电路,其特征在于,所述电路系统,还包括:第二控制器,被配置为通过第四总线接收所述处理器发送的信息。
21.根据权利要求20所述的嵌入式控制电路,其特征在于,所述第二控制器,还被配置为通过所述第四总线接收所述处理器发送的中断信息,将所述中断信息发送给所述生成电路,以由所述生成电路生成对应的总线命令,并由所述发送电路将生成的总线命令发送给所述总线接口电路。
22.根据权利要求20所述的嵌入式控制电路,其特征在于,所述电路系统,还包括安全控制模块,与所述第一控制器和所述第二控制器连接;
其中,所述第二控制器,还被配置为通过第三总线接收所述处理器发送的权限信息,将所述权限信息写入所述安全控制模块;
所述第一控制器,还被配置为基于所述安全控制模块中的权限信息确定访问所述目标地址的权限。
23.一种外设访问方法,其特征在于,应用于嵌入式控制电路,所述嵌入式控制电路包括:总线接口电路、处理器、一个或多个第二外设模块和电路系统,其中,所述外设访问方法包括:
由所述电路系统,通过所述总线接口电路与所述主机处理器通信,基于所述主机处理器的命令通过第三总线访问所述一个或多个第二外设模块,其中,所述第三总线连接在所述一个或多个第二外设模块与所述电路系统之间;
由所述处理器,通过第三总线访问所述一个或多个第二外设模块,其中,所述第三总线还连接在所述一个或多个第二外设模块与所述处理器之间。
24.一种芯片,其特征在于,包括根据权利要求1至22中任一项所述的嵌入式控制电路。
25.一种电子设备,其特征在于,包括:根据权利要求1至22中任一项所述的嵌入式控制电路或根据权利要求24所述的芯片。
CN202111643655.7A 2021-12-29 2021-12-29 一种嵌入式控制电路、芯片、外设访问方法和电子设备 Pending CN114297111A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111643655.7A CN114297111A (zh) 2021-12-29 2021-12-29 一种嵌入式控制电路、芯片、外设访问方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111643655.7A CN114297111A (zh) 2021-12-29 2021-12-29 一种嵌入式控制电路、芯片、外设访问方法和电子设备

Publications (1)

Publication Number Publication Date
CN114297111A true CN114297111A (zh) 2022-04-08

Family

ID=80970676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111643655.7A Pending CN114297111A (zh) 2021-12-29 2021-12-29 一种嵌入式控制电路、芯片、外设访问方法和电子设备

Country Status (1)

Country Link
CN (1) CN114297111A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124942A1 (zh) * 2021-12-29 2023-07-06 合肥市芯海电子科技有限公司 一种双总线接口的嵌入式控制电路、芯片和电子设备
WO2023124940A1 (zh) * 2021-12-29 2023-07-06 合肥市芯海电子科技有限公司 一种直接存储器访问的嵌入式控制电路、芯片和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141727A (zh) * 2007-10-19 2008-03-12 孟智平 一种终端数据的交换存储方法和相关设备
US9641648B2 (en) * 2013-03-14 2017-05-02 Angelo Marino TUZI Asynchronous ubiquitous protocol
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
US20180217945A1 (en) * 2014-12-30 2018-08-02 Gigadevice Semiconductor?Beijing? Inc. Method and device of information protection for micro control unit chip

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141727A (zh) * 2007-10-19 2008-03-12 孟智平 一种终端数据的交换存储方法和相关设备
US9641648B2 (en) * 2013-03-14 2017-05-02 Angelo Marino TUZI Asynchronous ubiquitous protocol
US20180217945A1 (en) * 2014-12-30 2018-08-02 Gigadevice Semiconductor?Beijing? Inc. Method and device of information protection for micro control unit chip
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124942A1 (zh) * 2021-12-29 2023-07-06 合肥市芯海电子科技有限公司 一种双总线接口的嵌入式控制电路、芯片和电子设备
WO2023124940A1 (zh) * 2021-12-29 2023-07-06 合肥市芯海电子科技有限公司 一种直接存储器访问的嵌入式控制电路、芯片和电子设备

Similar Documents

Publication Publication Date Title
KR101695712B1 (ko) 상이한 상호접속 프로토콜을 위한 하나의 상호접속 프로토콜의 열거 및/또는 구성 메커니즘의 레버리징
WO2023124942A1 (zh) 一种双总线接口的嵌入式控制电路、芯片和电子设备
WO2023124940A1 (zh) 一种直接存储器访问的嵌入式控制电路、芯片和电子设备
US20030005186A1 (en) Peripheral sharing device with unified clipboard memory
US20080065805A1 (en) PCI-Express multimode expansion card and communication device having the same
KR20180050728A (ko) 멀티-노드 네트워크에서의 입력/출력 신호 브릿징 및 가상화
CN114297111A (zh) 一种嵌入式控制电路、芯片、外设访问方法和电子设备
US20060064509A1 (en) Control system for controlling a plurality of target computers
US20110246678A1 (en) method for automatic mapping and updating of computer switching devices
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
US11531636B2 (en) Storage system, method, and apparatus for fast IO on PCIE devices
US6973598B2 (en) Computer system with improved data capture system
US7047343B2 (en) System and method for communication of keyboard and touchpad inputs as HID packets embedded on a SMBus
US7383372B2 (en) Bus system, station for use in a bus system, and bus interface
TW200401537A (en) Network accessing system for computer and method of controlling the same
US7725626B2 (en) Multi-media KVM switch
US7721013B2 (en) Communicating graphics data via an out of band channel
US10176133B2 (en) Smart device with no AP
CN216486413U (zh) 一种基于共享接口的嵌入式控制电路、芯片和电子设备
US20190286606A1 (en) Network-on-chip and computer system including the same
KR20200093106A (ko) 반도체 집적 회로 및 그것의 동작 방법
CN115733549A (zh) Pcie网卡及其接口模式的切换方法、电子设备及存储介质
US20220027300A1 (en) USB hub device having functionality of self firmware updating and host electronic system having the same
CN115039055A (zh) 用于上下文信息共享的告示板
CN112416447A (zh) 一个usb端口实现多个复合功能设备的方法及复合设备

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