CN109344111A - 一种基于双核arm的soc的数据传输系统和方法 - Google Patents
一种基于双核arm的soc的数据传输系统和方法 Download PDFInfo
- Publication number
- CN109344111A CN109344111A CN201811194582.6A CN201811194582A CN109344111A CN 109344111 A CN109344111 A CN 109344111A CN 201811194582 A CN201811194582 A CN 201811194582A CN 109344111 A CN109344111 A CN 109344111A
- Authority
- CN
- China
- Prior art keywords
- stone
- data
- shared cache
- cache area
- interruption
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于双核ARM的SOC的数据传输系统和方法,所述数据传输系统包括第一硬核、第二硬核、第一共享缓存区、第二共享缓存区,第一中断和第二中断,其中第一硬核用于向第一共享缓存区写入数据和读取数据、向第二共享缓存区写入数据和读取数据,向第二硬核发送所述第一中断;第二硬核用于从第一共享缓存区读取数据、向第二共享缓存区写入数据,向第一硬核发送第二中断;第一硬核和第二硬核根据启动信号启动数据交互,通过读写第一共享缓存区和第二共享缓存区、发送第一中断和第二中断实现第一硬核和第二硬核之间的数据传输。本发明提供的实施例能够解决基于双核ARM芯片的SOC系统上的数据传输,并且能够满足数据传输的有效性和可靠性。
Description
技术领域
本发明涉及嵌入式系统开发领域,特别是涉及一种基于双核ARM的SOC的数据传输系统和方法。
背景技术
与传统的嵌入式系统相比,目前在嵌入式系统市场上应用非常广泛的基于ARM(Advanced RISC Machine,RISC微处理器)的SOC(System On Chip,片上系统)系统具备可定制、延长产品生命周期、降低元器件成本、硬件加速的优点和能力。目前可编程SOC系统片上的ARM处理器可分为软核和硬核,其中ARM处理器的硬核性能优异、功耗较低。具体应用在弹上软件的中,如何解决可编程SOC系统上双ARM硬核间如何进行数据传输、满足传输数据的有效性和可靠性成为噬待解决的技术问题。
因此需要提供一种基于双核ARM的SOC的数据传输系统和方法,解决可编程SOC系统双ARM间的数据传输,并弱化硬件的差异性,实现高内聚-低耦合的SOC系统,在降低系统间干扰的情况下提高双核ARM间的数据传输的可靠性。
发明内容
为了解决上述问题至少之一,本发明第一方面提供一种基于双核ARM的SOC的数据传输系统,包括第一硬核、第二硬核、第一共享缓存区、第二共享缓存区,第一中断和第二中断,其中
所述第一硬核用于向所述第一共享缓存区写入数据和读取数据、向所述第二共享缓存区写入数据和读取数据,向所述第二硬核发送所述第一中断;
所述第二硬核用于从所述第一共享缓存区读取数据、向所述第二共享缓存区写入数据,向所述第一硬核发送所述第二中断;
所述第一硬核根据启动信号启动数据交互:所述第一硬核向所述第一共享缓存区和第二共享缓存区写入初始值、向所述第一共享缓存区写入第一交互数据并向第二硬核发送所述第一中断;所述第二硬核接收所述第一中断、从所述第一共享缓存区读取所述第一交互数据、向所述第二共享缓存区写入第二交互数据并向所述第一硬核发送所述第二中断;所述第一硬核接收所述第二中断并从所述第二共享缓存区读取所述第二交互数据。
进一步地,所述启动信号为ARM的定时器产生的定时信号。
进一步地,所述启动信号为所述ARM的外部时钟源产生的定时信号。
进一步地,所述第一硬核的主频设置为第一频率,所述第二硬核的主频设置为第二频率,所述定时信号的频率小于所述第一频率和第二频率。
进一步地,所述第一共享缓存区和第二共享缓存区为容量1KB的高速缓存区。
进一步地,所述第一中断和第二中断为SOC的公共中断。
进一步地,所述第一中断和第二中断为SOC的私有中断。
本发明第二方面提供一种利用第一方面所述数据传输系统的数据传输方法,包括:
S101:第一硬核接收启动信号;
S103:所述第一硬核向第一共享缓存区和第二共享缓存区写入初始值;
S105:所述第一硬核向所述第一共享缓存区写入第一交互数据,并向第二硬核发送所述第一中断;
S107:第二硬核接收所述第一中断并从所述第一共享缓存区读取所述第一交互数据,向所述第二共享缓存区写入第二交互数据,并向所述第一硬核发送所述第二中断;
S109:所述第一硬核接收所述第二中断并从所述第二共享缓存区读取所述第二交互数据。
进一步地,当需要传输的传输数据的数量大于所述第一硬核和第二硬核之间一次数据传输的单次数据的数量时,所述方法包括:
S201:根据所述传输数据的数量和所述单次数据的数量和计算需要传输的传输次数;
S203:根据所述传输次数循环执行所述步骤S101-S109以完成所述传输数据的传输。
进一步地,所述第一中断和第二中断为SOC的私有中断。
本发明的有益效果如下:
本发明提供的一种基于双核ARM的SOC的数据传输系统和方法通过读写第一共享缓存区和第二共享缓存区、发送第一中断和第二中断实现第一硬核和第二硬核之间的数据传输,能够解决可编程SOC系统双ARM间的数据传输,并使用软件控制数据的传输从而弱化硬件的差异性,实现高内聚-低耦合的SOC系统,在降低系统间干扰的情况下能够满足数据传输的有效性和可靠性。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出本发明的一个实施例所述的基于双核ARM的SOC的数据传输系统的框图;
图2示出本发明的一个实施例所述的基于双核ARM的SOC的数据传输系统的时序图;
图3示出本发明的一个实施例所述的基于双核ARM的SOC的数据传输系统的数据传输方法的流程图;
图4示出本发明的另一个实施例所述的基于双核ARM的SOC的数据传输系统的数据传输方法的流程图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
如图1所示,本发明的一个实施例提供了一种基于双核ARM的SOC的数据传输系统,包括第一硬核、第二硬核、第一共享缓存区、第二共享缓存区,第一中断和第二中断,其中所述第一硬核用于向所述第一共享缓存区写入数据和读取数据、向所述第二共享缓存区写入数据和读取数据,向所述第二硬核发送所述第一中断;所述第二硬核用于从所述第一共享缓存区读取数据、向所述第二共享缓存区写入数据,向所述第一硬核发送所述第二中断;所述第一硬核根据启动信号启动数据交互:所述第一硬核向所述第一共享缓存区和第二共享缓存区写入初始值、向所述第一共享缓存区写入第一交互数据并向第二硬核发送所述第一中断;所述第二硬核接收所述第一中断、从所述第一共享缓存区读取所述第一交互数据、向所述第二共享缓存区写入第二交互数据并向所述第一硬核发送所述第二中断;所述第一硬核接收所述第二中断并从所述第二共享缓存区读取所述第二交互数据。
在一个具体的示例中,基于双核ARM的SOC的数据传输系统包括双核ARM的第一硬核和第二硬核,采用第一硬核和第二硬核进行数据交互处理。由于所述第一硬核和第二硬核需要分别对所述第一共享缓存区和第二共享缓存区进行读写操作,而ARM的第一硬核和第二硬核内部的缓存区明确定义了读写操作的权限,因此所述第一共享缓存区和第二共享缓存区为SOC系统内部、ARM外部的共享缓存区,即SOC系统中的公共缓存区,通过系统配置设置所述第一硬核能够对第一共享缓存区和第二共享缓存区进行读写操作,设置所述第二硬核能够从所述第一共享缓存区读取数据、向所述第二共享缓存区写入数据。所述第一中断和第二中断可以采用ARM第一硬核和第二硬核的核间中断、也可以采用ARM的外部的SOC系统中断中断进行操作。
在本实施例中,所述第一硬核的第一频率和第二硬核的第二频率可以达到数百兆赫兹,因此运算速度极快;并且所述第一频率和第二频率的具体数值可以各不相同。传输数据的启动信号为来自ARM内部或外部的定时器中断,由于所述第一硬核和第二硬核需要在两个启动信号间完成数据的传输,因此所述启动信号的频率设置为远远小于所述第一频率和第二频率。
在本实施例中,所述ARM的时钟信号来自于所述SOC系统上的FPGA,由FPGA向所述ARM提供时钟信号,ARM通过核内的定时器中断产生一路2.5ms的定时中断作为SOC系统的系统时隙,并通过该定时中断驱动第一硬核和第二硬核进行数据交互。然而,由于ARM内核仅具有两路定时器中断源,使用ARM核内的定时器中断作为启动信号浪费了ARM的核内资源。SOC系统还包括FPGA芯片,所述FPGA具有大量能够通过软件配置的外部定时器和定时中断资源,可以通过软件对所述FPGA进行配置。所述FPGA接收外部晶振提供的时钟信号,并通过分频或倍频的方式实现所述ARM的第一硬核和第二硬核的第一频率和第二频率,因此所述FPGA与所述第一硬核和第二硬核为同源时钟。
在一个具体的示例中,如图2所示,t0时刻,FPGA作为同源时钟产生一路2.5ms定时信号作为启动信号触发第一硬核和第二硬核;t1时刻,所述第一硬核初始化第一共享缓存区和第二共享缓存区,向所述第一共享缓存区和第二共享缓存区写入0xFF;t2时刻,所述第一硬核向所述第一共享缓存区写入需要交互的第一数据,然后在t3时刻向所述第二硬核发送第一中断。t4时刻,所述第二硬核接收第一中断并从所述第一共享缓存区读出第一数据;t5时刻,所述第二硬核向所述第二共享缓存区写入需要交互的第二数据,然后在t6时刻向所述第一硬核发送第二中断。t7时刻,所述第一硬核接收第二中断并从所述第二共享缓存区读出第二数据,至此所述第一硬核和第二硬核完成了一次数据交互,整个数据交互过程在一个定时周期2.5ms内完成。当FPGA的定时信号在2.5ms后再次触发时,所述第一硬核和第二硬核在t0’时刻至t7’时刻进行下一次数据交互。
在一个优选的实施例中,所述第一共享缓存区和第二共享缓存区为容量1KB的外部高速缓存区,所述容量能够满足所述第一硬核与第二硬核对所述第一共享缓存区和第二共享缓存的数据读写。
在另一个优选的实施例中,所述第一中断和第二中断为SOC的公共中断。同样由于所述FPGA拥有大量的资源,为了不占用所述ARM硬核内部的中断资源,所述第一硬核控制FPGA的一路公共中断INT0作为第一中断,而第二硬核控制FPGA的一路公共中断INT1作为第二中断,所述第一中断和第二中断可以为串口中断也可以为总线中断。
在另一个优选的实施例中,为了进一步降低系统间的耦合和干扰,所述第一中断和第二中断采用SOC的私有中断。即所述第一硬核控制FPGA的一路私有中断INT0作为触发第二硬核的第一中断,当触发INT0中断时仅第二硬核接收并响应该中断,其他SOC系统上的处理器不会接收到该中断,也自然不会响应该中断,从而实现第一硬核与第二硬核之间中断的独立性,避免了因中断响应错误带来的不必要的传输错误。
与上述实施例提供的数据传输系统相对应,如图3所示,本申请的一个实施例还提供一种利用上述数据传输系统进行数据传输的方法,由于本申请实施例提供的数据传输方法与上述几种实施例提供的数据传输系统相对应,因此在前述实施方式也适用于本实施例提供的数据传输方法,在本实施例中不再详细描述。如图3所示,所述数据传输方法包括:S101:第一硬核接收启动信号;S103:所述第一硬核向第一共享缓存区和第二共享缓存区写入初始值;S105:所述第一硬核向所述第一共享缓存区写入第一交互数据,并向第二硬核发送所述第一中断;S107:第二硬核接收所述第一中断并从所述第一共享缓存区读取所述第一交互数据,向所述第二共享缓存区写入第二交互数据,并向所述第一硬核发送所述第二中断;S109:所述第一硬核接收所述第二中断并从所述第二共享缓存区读取所述第二交互数据。
在一个优选的实施例中,如图4所示,当需要传输的传输数据的数量大于所述第一硬核和第二硬核之间一次数据传输的单次数据的数量时,所述方法包括:S201:根据所述传输数据的数量和所述单次数据的数量和计算需要传输的传输次数;S203:根据所述传输次数循环执行所述步骤S101-S109以完成所述传输数据的传输。
在另一个优选的实施例中,所述第一中断和第二中断为SOC的私有中断。
本发明提供的一种基于双核ARM的SOC的数据传输系统和方法通过读写第一共享缓存区和第二共享缓存区、发送第一中断和第二中断实现第一硬核和第二硬核之间的数据传输,能够解决可编程SOC系统双ARM间的数据传输,并使用软件控制数据的传输从而弱化硬件的差异性,实现高内聚-低耦合的SOC系统,在降低系统间干扰的情况下能够满足数据传输的有效性和可靠性。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种基于双核ARM的SOC的数据传输系统,其特征在于,包括第一硬核、第二硬核、第一共享缓存区、第二共享缓存区,第一中断和第二中断,其中
所述第一硬核用于向所述第一共享缓存区写入数据和读取数据、向所述第二共享缓存区写入数据和读取数据,向所述第二硬核发送所述第一中断;
所述第二硬核用于从所述第一共享缓存区读取数据、向所述第二共享缓存区写入数据,向所述第一硬核发送所述第二中断;
所述第一硬核根据启动信号启动数据交互,所述第一硬核向所述第一共享缓存区和第二共享缓存区写入初始值、向所述第一共享缓存区写入第一交互数据并向第二硬核发送所述第一中断;所述第二硬核接收所述第一中断、从所述第一共享缓存区读取所述第一交互数据、向所述第二共享缓存区写入第二交互数据并向所述第一硬核发送所述第二中断;所述第一硬核接收所述第二中断并从所述第二共享缓存区读取所述第二交互数据。
2.根据权利要求1所述的数据传输系统,其特征在于,所述启动信号为ARM的定时器产生的定时信号。
3.根据权利要求1所述的数据传输系统,其特征在于,所述启动信号为所述ARM的外部时钟源产生的定时信号。
4.根据权利要求2或3所述的数据传输系统,其特征在于,所述第一硬核的主频设置为第一频率,所述第二硬核的主频设置为第二频率,所述定时信号的频率小于所述第一频率和第二频率。
5.根据权利要求4所述的数据传输系统,其特征在于,所述第一共享缓存区和第二共享缓存区为容量1KB的高速缓存区。
6.根据权利要求1所述的数据传输系统,其特征在于,所述第一中断和第二中断为SOC的公共中断。
7.根据权利要求1所述的数据传输系统,其特征在于,所述第一中断和第二中断为SOC的私有中断。
8.一种利用权利要求1-7中任一项所述数据传输系统的数据传输方法,其特征在于,包括:
S101:第一硬核接收启动信号;
S103:所述第一硬核向第一共享缓存区和第二共享缓存区写入初始值;
S105:所述第一硬核向所述第一共享缓存区写入第一交互数据,并向第二硬核发送所述第一中断;
S107:第二硬核接收所述第一中断并从所述第一共享缓存区读取所述第一交互数据,向所述第二共享缓存区写入第二交互数据,并向所述第一硬核发送所述第二中断;
S109:所述第一硬核接收所述第二中断并从所述第二共享缓存区读取所述第二交互数据。
9.根据权利要求8所述的数据传输方法,其特征在于,当需要传输的传输数据的数量大于所述第一硬核和第二硬核之间一次数据传输的单次数据的数量时,所述方法包括:
S201:根据所述传输数据的数量和所述单次数据的数量和计算需要传输的传输次数;
S203:根据所述传输次数循环执行所述步骤S101-S109以完成所述传输数据的传输。
10.根据权利要求8所述的数据传输方法,其特征在于,所述第一中断和第二中断为SOC的私有中断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194582.6A CN109344111A (zh) | 2018-10-15 | 2018-10-15 | 一种基于双核arm的soc的数据传输系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194582.6A CN109344111A (zh) | 2018-10-15 | 2018-10-15 | 一种基于双核arm的soc的数据传输系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109344111A true CN109344111A (zh) | 2019-02-15 |
Family
ID=65309997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811194582.6A Pending CN109344111A (zh) | 2018-10-15 | 2018-10-15 | 一种基于双核arm的soc的数据传输系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344111A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276214A (zh) * | 2019-06-12 | 2019-09-24 | 浙江大学 | 一种基于从机访问保护的双核可信soc架构及方法 |
CN113590520A (zh) * | 2021-06-15 | 2021-11-02 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2508985A1 (en) * | 2011-04-07 | 2012-10-10 | VIA Technologies, Inc. | Apparatus and method for handling of modified immediate constant during instruction translation |
CN104657326A (zh) * | 2013-11-25 | 2015-05-27 | 重庆重邮信科通信技术有限公司 | 双cpu通信方法、系统和片上系统芯片 |
CN105938466A (zh) * | 2015-03-04 | 2016-09-14 | 吉林克斯公司 | 用于处理器间通信的电路和方法 |
-
2018
- 2018-10-15 CN CN201811194582.6A patent/CN109344111A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2508985A1 (en) * | 2011-04-07 | 2012-10-10 | VIA Technologies, Inc. | Apparatus and method for handling of modified immediate constant during instruction translation |
CN104657326A (zh) * | 2013-11-25 | 2015-05-27 | 重庆重邮信科通信技术有限公司 | 双cpu通信方法、系统和片上系统芯片 |
CN105938466A (zh) * | 2015-03-04 | 2016-09-14 | 吉林克斯公司 | 用于处理器间通信的电路和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276214A (zh) * | 2019-06-12 | 2019-09-24 | 浙江大学 | 一种基于从机访问保护的双核可信soc架构及方法 |
CN113590520A (zh) * | 2021-06-15 | 2021-11-02 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
CN113590520B (zh) * | 2021-06-15 | 2024-05-03 | 珠海一微半导体股份有限公司 | Spi系统自动写入数据的控制方法及spi系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0145321B1 (ko) | 2방향 데이타 전송장치 | |
CN101149726B (zh) | 用于可管理性引擎背景的控制器链路 | |
US5960458A (en) | Shared memory system | |
MX2012005934A (es) | Disco de estado solido (ssd) multi-interfaz, metodo de procesamiento y sistema del mismo. | |
CN109344111A (zh) | 一种基于双核arm的soc的数据传输系统和方法 | |
US10922263B2 (en) | Serial communication device | |
CN109447225A (zh) | 一种高速安全加密Micro SD卡 | |
CN106095604A (zh) | 一种多核处理器的核间通信方法及装置 | |
US7248597B2 (en) | General purpose input/output controller | |
CN101681274B (zh) | 接口处理器 | |
US20050240689A1 (en) | Smart card with selectively allocatable data buffers and associated methods | |
CN109564562B (zh) | 大数据运算加速系统和芯片 | |
CN209784995U (zh) | 大数据运算加速系统和芯片 | |
CN105573931A (zh) | 一种双口ram的访问方法及装置 | |
CN102110066B (zh) | 一种税控加密卡的控制方法 | |
KR940003611B1 (ko) | 클럭 및 제어 신호 발생 회로 | |
CN102662894A (zh) | 总线从单元通用接口 | |
CN101989191B (zh) | 一种多Ready输入中央处理器的实现方法 | |
CN101923524B (zh) | 一种基于clb总线的存储器接口方法 | |
CN109656477B (zh) | 一种基于STT-MRAM的非接触式智能卡SoC | |
WO2021042836A1 (zh) | 一种去除毛刺的方法、装置及状态机 | |
KR20030024100A (ko) | 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법 | |
CN103853692A (zh) | 一种基于中断判断机制的多处理器数据通讯方法 | |
CN219778528U (zh) | 用于ddr的跨时钟域电路、物理接口收发器与通信系统 | |
CN114840458B (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 |