系统级芯片及其中核间通信的方法、智能穿戴设备与流程

文档序号:23090446发布日期:2020-11-27 12:42阅读:108来源:国知局
系统级芯片及其中核间通信的方法、智能穿戴设备与流程

本发明涉及芯片技术领域,特别涉及一种系统级芯片(systemonchip,soc)及其中核间通信的方法、智能穿戴设备。



背景技术:

在计算机系统结构中,多核计算机的核间通信问题是一个重要的待考虑项。对于对称多处理器系统来说,采用分时共享总线的结构是一种支持内存共享、消息传递的解决方案。在这种共享总线式架构中,多个cpu(centralprocessingunit,中央处理器)核可以访问同一块主存地址空间。如果需要实现cpu1和cpu2之间的通信,可以采用在主存中分配一块共享内存空间,当cpu1写入待通信的数据,而后cpu2读取该数据,则可实现核间通信功能。

这种共享内存式的核间通信,简单易行,但是当多个cpu同时访问共享内存时存在互斥访问控制和cache(高速缓冲存储器)一致性的问题,需要对cache写入机制进行特殊设计,以避免“脏数据”的产生。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中多个cpu同时访问共享内存时需要对cache写入机制进行特殊设计的缺陷,提供一种系统级芯片及其中核间通信的方法、智能穿戴设备。

本发明是通过下述技术方案来解决上述技术问题:

本发明的第一方面提供一种系统级芯片中核间通信的方法,所述系统级芯片包括sram(staticrandom-accessmemory,静态随机存取存储器)、主控制端以及多个功能子系统,所述主控制端以及所述功能子系统均通过总线与所述sram连接,所述主控制端通过中断线与所述功能子系统连接;

所述方法包括以下步骤:

所述主控制端将第一待发送消息写入所述sram的第一地址,并向目标功能子系统发送第一中断信号,其中,所述第一中断信号携带有所述第一地址;

所述目标功能子系统根据所述第一中断信号从所述sram的所述第一地址中读取所述第一待发送消息。

较佳地,所述系统级芯片还包括dram(dynamicrandomaccessmemory,动态随机存取存储器),所述主控制端以及所述功能子系统均通过总线与所述dram连接;所述方法还包括:

所述主控制端将第一待发送数据写入所述dram的第一缓冲器;

所述目标功能子系统根据所述第一待发送消息从所述dram的第一缓冲器中读取所述第一待发送数据,其中,所述第一待发送消息包括所述第一缓冲器的地址。

较佳地,所述方法还包括:

所述目标功能子系统将第二待发送消息写入所述sram的第二地址,并向所述主控制端发送第二中断信号,其中,所述第二中断信号携带有所述第二地址;

所述主控制端根据所述第二中断信号从所述sram的所述第二地址中读取所述第二待发送消息。

较佳地,所述系统级芯片还包括dram,所述主控制端以及所述功能子系统均通过总线与所述dram连接;所述方法还包括:

所述目标功能子系统将第二待发送数据写入所述dram的第二缓冲器;

所述主控制端根据所述第二待发送消息从所述dram的第二缓冲器中读取所述第二待发送数据,其中,所述第二待发送消息包括所述第二缓冲器的地址。

较佳地,所述方法还包括:利用所述主控制端与所述目标功能子系统之间建立的虚拟通道发送待发送消息在所述sram中的地址。

本发明的第二方面提供一种系统级芯片,包括sram、主控制端以及多个功能子系统,所述主控制端以及所述功能子系统均通过总线与所述sram连接,所述主控制端通过中断线与所述功能子系统连接;

所述主控制端用于将第一待发送消息写入所述sram的第一地址,并向目标功能子系统发送第一中断信号,其中,所述第一中断信号携带有所述第一地址;

所述目标功能子系统用于根据所述第一中断信号从所述sram的所述第一地址中读取所述第一待发送消息。

较佳地,所述系统级芯片还包括dram,所述主控制端以及所述功能子系统均通过总线与所述dram连接;

所述主控制端还用于将第一待发送数据写入所述dram的第一缓冲器;

所述目标功能子系统还用于根据所述第一待发送消息从所述dram的第一缓冲器中读取所述第一待发送数据,其中,所述第一待发送消息包括所述第一缓冲器的地址。

较佳地,所述目标功能子系统还用于将第二待发送消息写入所述sram的第二地址,并向所述主控制端发送第二中断信号,其中,所述第二中断信号携带有所述第二地址;

所述主控制端还用于根据所述第二中断信号从所述sram的所述第二地址中读取所述第二待发送消息。

较佳地,所述系统级芯片还包括dram,所述主控制端以及所述功能子系统均通过总线与所述dram连接;

所述目标功能子系统还用于将第二待发送数据写入所述dram的第二缓冲器;

所述主控制端还用于根据所述第二待发送消息从所述dram的第二缓冲器中读取所述第二待发送数据,其中,所述第二待发送消息包括所述第二缓冲器的地址。

本发明的第三方面提供一种智能穿戴设备,包括如第二方面所述的系统级芯片。

本发明的积极进步效果在于:主控制端通过总线将第一待发送消息写入sram的第一地址,并通过中断线向目标功能子系统发送第一中断信号,目标功能子系统根据第一中断信号携带的第一地址从sram中读取所述第一待发送消息,实现了系统级芯片中主控制端与功能子系统之间的一种核间通信。

进一步地,主控制端通过总线将第一待发送数据写入dram的第一缓冲器,以及将第一待发送消息写入sram的第一地址,并通过中断线向目标功能子系统发送第一中断信号,目标功能子系统根据第一中断信号携带的第一地址从所述sram中读取所述第一待发送消息,并根据第一待发送消息包括的第一缓冲器的地址从dram中读取第一待发送数据,实现了系统级芯片中主控制端与功能子系统之间的另一种核间通信。

本发明提供的两种核间通信方法能够实现对将主控制端与功能子系统之间传输的消息流和数据流进行分类,通过共享sram和dram的空间,实现低延时的消息传递与高带宽多并发的数据传输共存,从而降低系统级芯片的功耗。

附图说明

图1为本发明实施例1提供的一种系统级芯片的结构示意图。

图2为图1所示的系统级芯片中各子系统以及sram之间连接关系的示意图。

图3为本发明实施例1提供的一种系统级芯片中核间通信的方法流程图。

图4为本发明实施例1提供的主控制端与蓝牙子系统之间传输消息的示意图。

图5为本发明实施例2提供的一种系统级芯片的结构示意图。

图6为图5所示的系统级芯片中各子系统以及sram、dram之间连接关系的示意图。

图7为本发明实施例2提供的一种系统级芯片中核间通信的方法流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

图1是用于示出一种系统级芯片的结构示意图。图2是用于示出图1所示的系统级芯片中各子系统以及sram之间连接关系的示意图。本实施例提供的系统级芯片中核间通信的方法可以应用于图1所示的系统级芯片。

如图1和2所示,系统级芯片包括sram、主控制端以及多个功能子系统,所述主控制端以及所述功能子系统均通过总线与所述sram连接,所述主控制端通过中断线与所述功能子系统连接。

其中,主控制端以及功能子系统均包括处理器,本实施例中核间通信指的是各子系统中处理器之间的通信。在一个具体的例子中,各子系统中的处理器均为mcu(microcontrollerunit,微控制单元),例如可以为armcortex-m/r系列、mips(microprocessorwithoutinterlockedpipelinedstages,无内部互锁流水级的微处理器)、risc-v、mcs8051等risc架构的处理器。

在可选的一种实施方式中,上述主控制端包括通过主控子系统和副控子系统。若主控子系统处于工作模式,则由主控子系统响应各功能子系统发送的中断信号,禁止副控子系统响应各功能子系统发送的中断信号。若主控子系统处于休眠模式或者掉电时,则由副控子系统响应各功能子系统发送的中断信号,禁止主控子系统响应各功能子系统发送的中断信号。

在可选的一种实施方式中,上述主控子系统和副控子系统通过中断线连接,主控子系统无论处于工作模式还是休眠模式,都能响应副控子系统发送的中断信号。

在一个具体的例子中,主控子系统可完成复杂的多媒体系统应用,并能完整的响应用户操作,甚至能执行复杂的用户应用程序。副控子系统主要用于主控子系统休眠时的aod(alwaysondisplay,息屏显示技术)显示和各种外部传感器的控制。因此,主控子系统中mcu的主频、内存消耗以及功耗均高于副控子系统中mcu的主频、内存消耗以及功耗。各功能子系统分别实现单独的功能,仅在需要时才打开进行工作,不需要时则进入休眠状态,甚至需要断电,以彻底节省功耗。

本实施例中,不同的功能子系统用于实现不同的功能。例如无线modem子系统包括无线modem,用于实现接听/拨打电话、移动数据网络等功能。无线modem一般由基带处理、调制解调、信号放大和滤波、均衡等几部分组成,用于将数据通信的数字信号在具有有限带宽的模拟信道上进行无线传输。蓝牙子系统用于实现与短距离内的外部设备进行无线通信功能。wi-fi子系统用于实现无线上网功能。gps子系统用于实现在全球范围内实时定位、导航的功能。相机子系统包括摄像头,用于捕获静态图像或视频。

如图3所示,本实施例提供的系统级芯片中核间通信的方法包括以下步骤:

步骤s101、主控制端将第一待发送消息写入sram的第一地址,并向目标功能子系统发送第一中断信号,其中,所述第一中断信号携带有所述第一地址。

其中,主控制端与各功能子系统之间均为点对点的消息传递方式。步骤s101中的目标功能子系统为所有功能子系统中的任意一个。

步骤s101中,主控制端通过总线向sram中写入第一待发送消息,通过中断线向目标功能子系统发送第一中断信号。

步骤s102、所述目标功能子系统根据所述第一中断信号从所述sram的所述第一地址中读取所述第一待发送消息。

步骤s102中,目标功能子系统根据第一中断信号携带的第一地址从sram中读取主控制端写入的第一待发送消息。

本实施方式中,主控制端向目标功能子系统发送第一待发送消息。

在可选的一种实施方式中,主控制端与目标功能子系统之间的中断是双向的,即除了主控制端可以向目标功能子系统发送第一待发送消息以外,目标功能子系统也可以向主控制端发送第二待发送消息。具体地,上述方法还包括以下步骤:

步骤s201、所述目标功能子系统将第二待发送消息写入所述sram的第二地址,并向所述主控制端发送第二中断信号,其中,所述第二中断信号携带有所述第二地址。

步骤s201中,目标功能子系统通过总线向sram中写入第二待发送消息,通过中断线向主控制端发送第二中断信号。

步骤s202、所述主控制端根据所述第二中断信号从所述sram的所述第二地址中读取所述第二待发送消息。

步骤s202中,主控制端根据第二中断信号携带的第二地址从sram中读取目标功能子系统写入的第二待发送消息。

在可选的一种实施方式中,上述方法还包括:利用所述主控制端与所述目标功能子系统之间建立的虚拟通道发送待发送消息在所述sram中的地址。在具体实施中,主控制端在初始化的阶段分别建立与各功能子系统进行通信的虚拟通道,各子系统在初始化的阶段也需要建立与主控制端进行通信的虚拟通道。在一个例子中,主控制端与无线modem子系统之间建立的虚拟通道为channel1。在主控制端需要向无线modem子系统发送消息时调用与虚拟通道channel1对应的发送函数发送即可,发送函数中包括待发送消息在所述sram中的地址。在另一个例子中,主控制端与蓝牙子系统之间建立的虚拟通道为channel2。在蓝牙子系统需要向主控制端发送消息时调用与虚拟通道channel2对应的发送函数发送即可,

在可选的一种实施方式中,上述方法还包括:针对主控制端与目标功能子系统之间建立的虚拟通道,创建双向环形队列,并利用所述双向环形队列发送待发送消息在所述sram中的地址。本实施例中,针对每个虚拟通道均创建一个双向环形队列,以容纳主控制端与功能子系统的双向消息传输。

图4是用于示出主控制端与蓝牙子系统之间传输消息的示意图。如图4所示,主控制端与蓝牙子系统之间通过中断线连接,双向环形队列中分别用于传输主控制端向蓝牙子系统发送的消息a在sram中的地址,以及蓝牙子系统向主控制端发送的消息b在sram中的地址。

由于sram的内存容量小,因此本实施例提供的系统级芯片中核间通信的方法适用于主控制端与功能子系统之间传输容量小的消息。

实施例2

图5是用于示出一种系统级芯片的结构示意图。图6是用于示出图5所示的系统级芯片中各子系统以及sram、dram之间连接关系的示意图。本实施例提供的系统级芯片中核间通信的方法可以应用于图5所示的系统级芯片。

如图5和6所示,系统级芯片包括sram、dram、主控制端以及多个功能子系统,所述主控制端以及所述功能子系统均通过总线与所述sram和所述dram连接,所述主控制端通过中断线与所述功能子系统连接。

在可选的一种实施方式中,上述主控制端包括通过主控子系统和副控子系统。若主控子系统处于工作模式,则由主控子系统响应各功能子系统发送的中断信号,禁止副控子系统响应各功能子系统发送的中断信号。若主控子系统处于休眠模式或者掉电时,则由副控子系统响应各功能子系统发送的中断信号,禁止主控子系统响应各功能子系统发送的中断信号。

在可选的一种实施方式中,上述主控子系统和副控子系统通过中断线连接,主控子系统无论处于工作模式还是休眠模式,都能响应副控子系统发送的中断信号。

在一个具体的例子中,主控子系统可完成复杂的多媒体系统应用,并能完整的响应用户操作,甚至能执行复杂的用户应用程序。副控子系统主要用于主控子系统休眠时的aod显示和各种外部传感器的控制。因此,主控子系统中mcu的主频、内存消耗以及功耗均高于副控子系统中mcu的主频、内存消耗以及功耗。各功能子系统分别实现单独的功能,仅在需要时才打开进行工作,不需要时则进入休眠状态,甚至需要断电,以彻底节省功耗。

在实施例1的基础上,本实施例提供的系统级芯片中核间通信的方法还包括以下步骤,如图7所示:

步骤s701、主控制端将第一待发送数据写入dram的第一缓冲器。

其中,主控制端与各功能子系统之间均为点对点的消息传递方式。步骤s701中的目标功能子系统为所有功能子系统中的任意一个。

为了避免多个子系统同时访问dram时地址越界的问题,采用专用内存区的保护机制实现地址的有效隔离。在可选的一种实施方式中,上述主控制端设有第一iommu(输入/输出存储器管理单元),所述第一iommu配置有各个功能子系统在所述dram中可访问的地址区间;步骤s701具体包括:主控制端根据所述目标功能子系统在所述dram中可访问的地址区间将第一待发送数据写入所述dram的第一缓冲器。本实施方式中通过对第一iommu进行配置可以避免非通信的功能子系统越界访问通信双方共享的内存区域。

步骤s702、主控制端将第一待发送消息写入sram的第一地址,并向目标功能子系统发送第一中断信号,其中,所述第一待发送消息包括所述第一缓冲器的地址,所述第一中断信号携带有所述第一地址。

步骤s702中,主控制端通过总线向sram中写入第一待发送消息,通过中断线向目标功能子系统发送第一中断信号。

在可选的一种实施方式中,所述第一待发送消息中除了第一缓冲器的地址以外,还包括主控制端发给目标功能子系统的其他内容,例如控制指令等。

步骤s703、所述目标功能子系统根据所述第一中断信号从所述sram的所述第一地址中读取所述第一待发送消息,并根据所述第一待发送消息从所述dram的第一缓冲器中读取所述第一待发送数据。

步骤s703中,目标功能子系统根据第一中断信号携带的第一地址从sram中读取主控制端写入的第一待发送消息,并根据第一待发送消息包括的第一缓冲器的地址从dram中读取第一待发送数据。

本实施方式中,主控制端向目标功能子系统发送第一待发送消息以及第一待发送数据。

在可选的一种实施方式中,主控制端与目标功能子系统之间的中断是双向的,即除了主控制端可以向目标功能子系统发送第一待发送消息以及第一待发送数据以外,目标功能子系统也可以向主控制端发送第二待发送消息以及第二待发送数据。具体地,上述方法还包括以下步骤:

步骤s801、目标功能子系统将第二待发送数据写入dram的第二缓冲器。

在可选的一种实施方式中,上述目标功能子系统设有第二iommu,所述第二iommu配置有所述主控制端在所述dram中可访问的地址区间;步骤s801具体包括:所述目标功能子系统根据所述主控制端在所述dram中可访问的地址区间将第二待发送数据写入所述dram的第二缓冲器。

步骤s802、目标功能子系统将第二待发送消息写入sram的第二地址,并向主控制端发送第二中断信号,其中,所述第二待发送消息包括所述第二缓冲器的地址,所述第二中断信号携带有所述第二地址。

步骤s802中,目标功能子系统通过总线向sram中写入第二待发送消息,通过中断线向主控制端发送第二中断信号。

在可选的一种实施方式中,所述第二待发送消息中除了第二缓冲器的地址以外,还包括目标功能子系统反馈给主控制端的其他内容,例如当前状态等。

步骤s803、所述主控制端根据所述第二中断信号从所述sram的所述第二地址中读取所述第二待发送消息,并端根据所述第二待发送消息从所述dram的第二缓冲器中读取所述第二待发送数据。

步骤s803中,主控制端根据第二中断信号携带的第二地址从sram中读取目标功能子系统写入的第二待发送消息,并根据第二待发送消息包括的第二缓冲器的地址从dram中读取第二待发送数据。

本实施例中,可以根据主控制端与功能子系统之间传输的不同内容执行不同的核间通信方法,具体地,若传输容量小的消息流,则通过共享sram实现核间通信,即执行上述步骤s101-102或者步骤s201-202;若传输容量大的数据流,则通过共享sram和dram实现核间通信,即执行上述步骤701-703或者步骤801-803。

其中,sram具有低功耗、速度快,但是内存容量小,价格昂贵的特点,dram具有内存容量大,但是功耗高的特点。为了避免过度使用高功耗的dram,本实施例将主控制端与功能子系统之间传输的消息流和数据流进行分类,通过共享sram和dram的空间,实现低延时的消息传递与高带宽多并发的数据传输共存,从而降低系统级芯片的功耗。

实施例3

本实施例提供一种系统级芯片,包括sram、主控制端以及多个功能子系统,所述主控制端以及所述功能子系统均通过总线与所述sram连接,所述主控制端通过中断线与所述功能子系统连接。

所述主控制端用于将第一待发送消息写入所述sram的第一地址,并向目标功能子系统发送第一中断信号,其中,所述第一中断信号携带有所述第一地址;

所述目标功能子系统用于根据所述第一中断信号从所述sram的所述第一地址中读取所述第一待发送消息。

其中,主控制端以及功能子系统均包括处理器。在一个具体的例子中,各子系统中的处理器均为mcu,例如可以为armcortex-m/r系列、mips、risc-v、mcs8051等risc架构的处理器。

在可选的一种实施方式中,上述主控制端包括通过主控子系统和副控子系统。若主控子系统处于工作模式,则由主控子系统响应各功能子系统发送的中断信号,禁止副控子系统响应各功能子系统发送的中断信号。若主控子系统处于休眠模式或者掉电时,则由副控子系统响应各功能子系统发送的中断信号,禁止主控子系统响应各功能子系统发送的中断信号。

在可选的一种实施方式中,上述主控子系统和副控子系统通过中断线连接,主控子系统无论处于工作模式还是休眠模式,都能响应副控子系统发送的中断信号。

在一个具体的例子中,主控子系统可完成复杂的多媒体系统应用,并能完整的响应用户操作,甚至能执行复杂的用户应用程序。副控子系统主要用于主控子系统休眠时的aod显示和各种外部传感器的控制。因此,主控子系统中mcu的主频、内存消耗以及功耗均高于副控子系统中mcu的主频、内存消耗以及功耗。各功能子系统分别实现单独的功能,仅在需要时才打开进行工作,不需要时则进入休眠状态,甚至需要断电,以彻底节省功耗。

在可选的一种实施方式中,上述系统级芯片还包括dram,所述主控制端以及所述功能子系统均通过总线与所述dram连接。

在可选的一种实施方式中,所述主控制端还用于将第一待发送数据写入所述dram的第一缓冲器;所述目标功能子系统还用于根据所述第一待发送消息从所述dram的第一缓冲器中读取所述第一待发送数据,其中,所述第一待发送消息包括所述第一缓冲器的地址。

在可选的一种实施方式中,所述目标功能子系统还用于将第二待发送消息写入所述sram的第二地址,并向所述主控制端发送第二中断信号,其中,所述第二中断信号携带有所述第二地址;

所述主控制端还用于根据所述第二中断信号从所述sram的所述第二地址中读取所述第二待发送消息。

在可选的一种实施方式中,所述目标功能子系统还用于将第二待发送数据写入所述dram的第二缓冲器;所述主控制端还用于根据所述第二待发送消息从所述dram的第二缓冲器中读取所述第二待发送数据,其中,所述第二待发送消息包括所述第二缓冲器的地址。

在可选的一种实施方式中,上述系统级芯片还包括rom(read-onlymemory,只读存储器)和电源管理芯片。在一个具体的例子中,将sram、主控子系统、副控子系统以及多个功能子系统集成于一个芯片内,并与dram、rom以及电源管理芯片通过sip封装,得到本实施例的系统级芯片。其中,sip封装是一种电子器件封装方案,将多种功能芯片,包括处理器、存储器等功能芯片集成在一个封装内,从而实现一个基本完整的功能。

在一个具体的例子中,首先采用epop封装工艺,将rom与dram堆叠在集成了sram、主控子系统、副控子系统以及所有功能子系统的芯片之上,再采用fccsp(flipchipchipscalepackage,一种芯片级封装)封装工艺将其与电源管理芯片集成在一起,从而得到本实施例的系统级芯片。

上述例子中,由于sram与主控子系统、副控子系统以及多个功能子系统集成于一个芯片内,因此sram也可称为片内sram,dram也可称为片外dram。

其中,上述dram可以为lpddr2、lpddr3等。其中,lpddr(lowpowerdoubledataratesdram),是ddrsdram(双倍速率同步动态随机存储器)的一种,是面向低功耗内存而制定的通信标准,lpddr2为第二代低功耗内存技术,lpddr3为第三代低功耗内存技术。上述rom包括但不限于emmc、nandflash、norflash等存储器。

实施例4

本实施例提供一种智能穿戴设备,包括如实施例3所述的系统级芯片。

在可选的一些实施方式中,上述智能穿戴设备还包括触摸屏和多个传感器,其中,所述触摸屏和所述传感器分别与所述系统级芯片电连接。本实施方式中,用户可以通过触摸屏对智能穿戴设备显示的内容进行操作,智能穿戴设备基于用户的不同操作做出不同的响应。

在可选的一些实施方式中,上述传感器包括心率传感器、加速度传感器、陀螺仪传感器等。其中,系统级芯片中的副控子系统用于实现sensorhub(传感器控制中心)的功能,具体包括对传感器进行实时控制,以及将不同类型传感器的数据进行融合,实现多种传感器数据结合才能实现的功能等。

在可选的一种实施方式中,上述智能穿戴设备为智能手表,例如成人智能手表、儿童智能手表、老人智能手表等。

在可选的一些实施方式中,上述智能穿戴设备还可以为智能手环、智能眼镜、智能服饰等。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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