CN101441613A - 一种双cpu片上系统及其启动方法 - Google Patents
一种双cpu片上系统及其启动方法 Download PDFInfo
- Publication number
- CN101441613A CN101441613A CNA2008102403891A CN200810240389A CN101441613A CN 101441613 A CN101441613 A CN 101441613A CN A2008102403891 A CNA2008102403891 A CN A2008102403891A CN 200810240389 A CN200810240389 A CN 200810240389A CN 101441613 A CN101441613 A CN 101441613A
- Authority
- CN
- China
- Prior art keywords
- cpu
- common equipment
- bridge coil
- handshake
- signal
- 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
- Multi Processors (AREA)
Abstract
本发明涉及一种双CPU片上系统及其启动方法,它包括:CPU系统、公共设备和一桥接网络,CPU系统和公共设备分别与桥接网络电连接;CPU系统包括两个完全独立的CPU;桥接网络保存了公共设备的工作状态信息,桥接网络内设置有对应二CPU的公共设备选择信号、握手信号和定时计数器;二CPU内均设置有判断模块;二CPU向桥接网络发出公共设备选择信号,桥接网络根据公共设备的状态信息,将握手信号反馈给选择的CPU,当握手信号为低电平时,该CPU可以访问该公共设备,反之,该CPU等待;等待的CPU启动定时计数器,该CPU中的判断模块确定能否访问公共设备,CPU通过桥接网络与连接上的公共设备进行数据传输。本发明提高了CPU与公共设备之间的数据传输速度及其性能。
Description
技术领域
本发明涉及一种片上系统(SoC)及其启动方法,特别是涉及一种双CPU片上系统及其启动方法。
背景技术
近年来,随着微电子技术和信息技术的发展,已经开始出现包含有多CPU和公共设备的片上系统(SoC),其是满足低价格传感终端、高性能网络连接设备和无线传感网络的要求的重要器件。这种SoC技术已经成为各种专用集成电路设计的基本技术之一,其设计采用多个CPU并行处理技术,可以实现高技术性能的网络终端或传感信号采集终端。
在比较复杂的移动终端或控制终端设计中,为了提高系统电路工作速度,增加系统的抗干扰能力,并保证系统工作安全,含有多CPU的SoC必须能够在不降低系统原有技术性能的条件下,保证CPU和公共模块电路之间的有效连接,一般采用模数混合信号SoC设计方法。
含有多CPU和公共设备的SoC结构的核心是各CPU系统以及公共设备之间的数据传输。因此,模数混合信号SoC设计的关键问题是各CPU系统之间、CPU系统与公共设备之间的电路连接。由于该系统内部各CPU系统之间以及CPU系统与公共设备之间的数据传输通道形成了一种片内网络。如果片内网络沿用仅含有一个CPU的SoC的总线方式进行连接,会存在以下不足:1、降低片内网络内电路的工作速度,从而严重影响系统的性能;2、引起CPU等待时间过长,从而无法实现实时数据的传输;3、还需要另外增加一个CPU作为总线控制器,这会增加CPU系统的负担,降低整个系统的技术性能。
目前在含有多CPU和公共设备的SoC中一般使用总线桥实现多个公共设备与CPU的连接,总线桥往往包含两个或两个以上的总线系统,即把总线划分为高性能部分和低性能部分,以此减少低性能部分对高性能部分的影响。例如ARM中的总线桥和IBM提出的Connectcore。但是这种总线桥的结构复杂,无法满足小规模SoC的运行模式要求。在印刷电路板(PCB)中多采用串行通信的方式进行,这种方式的连接与总线方式实际上是相同的,CPU系统与其他CPU系统或公共设备交换数据时,为避免造成数据丢失,仍然需要使用握手或等待机制。同时,由于公共设备往往不能独立支持串行通信,因此还需要使用额外的CPU或复杂接口逻辑进行管理。此外,串行通信的速度低于CPU系统自身的工作速度,因此会降低系统的技术性能。
发明内容
针对上述问题,本发明的目的是提供一种数据传输速率快、系统性能高的双CPU片上系统及其启动方法。
为实现上述目的,本发明采取以下技术方案:一种双CPU片上系统,其特征在于包括:CPU系统、公共设备和一桥接网络,所述CPU系统和公共设备分别与所述桥接网络电连接;所述CPU系统包括两个完全独立的CPU,二所述CPU分别通过选择线、状态信号线、地址线和双向数据线与所述桥接网络电连接;所述桥接网络中保存了所述公共设备的工作状态信息,所述桥接网络内设置有对应二所述CPU的公共设备选择信号、握手信号和由使用所述公共设备的CPU提供时钟的定时计数器;二所述CPU内部均设置有判断模块;二所述CPU向所述桥接网络发出所述公共设备选择信号,所述桥接网络根据所述公共设备的状态信息,将所述握手信号反馈给选择的所述CPU,当所述握手信号为低电平时,该CPU可以访问该公共设备,反之,该CPU等待;等待的所述CPU启动所述定时计数器,该CPU中的判断模块根据所述握手信号和定时计数器的状态确定能否访问所述公共设备,所述CPU通过所述桥接网络与连接上的所述公共设备进行数据传输。
所述桥接网络包括一逻辑控制电路,所述逻辑控制电路通过信号线连接一个以上的CPU接口寄存器和公共设备通道开关;所述逻辑控制电路内设置有对应各所述CPU的公共设备选择信号、握手信号和由使用所述公共设备的CPU提供的定时计数器,所述逻辑控制电路中还保存了各所述公共设备的工作状态信息;所述逻辑控制电路通过各所述CPU接口寄存器接收各所述CPU发送的所述公共设备选择信号后,根据所述公共设备的状态信息,将所述握手信号反馈给对应的所述CPU,各所述CPU与其连接的所述公共设备通过对应的所述CPU接口寄存器和公共设备通道开关进行数据传输。
所述逻辑控制电路由现场可编程门阵列电路构成。
所述公共设备包括AD转换电路、DA转换电路和RAM;所述AD转换电路通过片选线、通道选择信号线、数据转换信号线和双向数据线与所述桥接网络电连接;所述DA转换电路过片选线、双向数据线与所述桥接网络电连接;所述RAM通过读线、写线、片选线、双向数据线和地址线与所述桥接网络电连接。
一种双CPU片上系统的启动方法,其特征在于:它包括以下步骤:步骤一,桥接网络接收到来自二CPU的公共设备选择信号后,首先判断二CPU的选择是否冲突,如果冲突,其中一个CPU具有优先权,令另一个CPU等待;步骤二,根据保存在桥接网络中公共设备的工作状态信息,将相应的握手信号发送给欲访问的CPU,如果被访问的公共设备正处于工作状态,桥接网络发送的握手信号为高电平,则令申请的CPU等待;反之,桥接网络发送的握手信号为低电平,并将CPU与其欲访问的公共设备的相应通道开关打开,使二者连接上;步骤三,公共设备的工作结束后,该公共设备在桥接网络中存储的工作状态信息发生改变;步骤四,桥接网络继续判断是否有CPU在等待访问公共设备,如果有,则返回步骤一;反之,则返回到桥接网络的初始工作的位置,准备下一次的工作。
本发明由于采取以上技术方案,其具有以下优点:1、由于本发明采用的桥接网络,类似于通信系统中的数据传输交换机,连接上的CPU对公共设备的读写操作类似于CPU本身的I/O口的操作,因此大大提高了片上系统的工作速度。2、由于本发明的两个CPU同时访问同一公共设备时,设置CPUA具有优先权,因此保证了两个CPU同时访问同一公共设备时不会发生冲突。3、由于本发明的桥接网络中的每一个公共设备都设置了相应的通道开关,以完成对公共设备的选择,因此进一步提高了SoC的工作速度。4、本发明的桥接网络中设置了与各CPU对应的片选信号、握手信号和定时计数器,且各CPU中设置有判断模块,用于根据握手信号和定时计数器的状态确定能否访问所述公共设备,避免两CPU访问同一公共设备时发生冲突。本发明不仅可以用于无线传感网络,还可以用于各种工业控制系统中,大大提高各公共设备之间的数据传输速率。
附图说明
图1是本发明的数据流示意图
图2是本发明的结构示意图
图3是本发明片上系统的功能示意图
图4是本发明片上系统中桥接网络的结构示意图
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,本发明所提供的片上系统(SOC)包括CPU系统1、公共设备2和桥接网络3。
如图2所示,CPU系统1包括CPUA11和CPUB12,公共设备2包括AD转换电路21、DA转换电路22和RAM23。其中CPUA11和CPUB12分别通过二根选择线、一状态信号线、若干地址线和若干双向数据线与桥接网络3相连接。公共设备2中的AD转换电路21通过一片选线、多根通道选择信号线、多根数据转换信号线和双向数据线与桥接网络3相连接。公共设备2中的DA转换电路22通过一片选线、多根双向数据线与桥接网络3相连接。公共设备2中的RAM 23通过一读线、一写线、多根双向数据线和地址线、二片选线与桥接网络3相连接。公共设备2的工作状态信息保存在桥接网络3内,CPUA11和CPUB12中任何一个CPU都可以通过桥接网络3控制公共设备2中的AD转换电路21和DA转换电路22,同时也可以访问RAM 23。当CPU通过选择线发出欲访问的公共设备2选择信号时,桥接网络3根据公共设备2的工作状态,通过状态信号线反馈给发出选择的CPU一信号,若任一CPU与公共设备2连接时,该CPU可以通过桥接网络3与连接上的公共设备进行数据传输。
如图3所示,CPU系统1中的CPUA11和CPUB12的IO端口分别为IOA和IOB,CPUA11和CPUB12可以通过IOA和IOB单独与外界设备进行数据传输。CPUA11和CPUB12的复位键分别为RESA和RESB,以实现单独对任一CPU进行复位操作。公共设备2中,AD转换电路21是一个完整的逐次比较AD转换电路,其具有8个模拟输入端Sa0~Sa7和一个数据输出端(图中未示出),该数据输出端与桥接网络3相连,且AD转换电路21接地线AGND,输入端Sa0~Sa7将采集到的模拟信号转化为数字信号,通过AD转换电路21的数据输出端输送给桥接网络3。DA转换电路22是一个完整的电流输出DA转换电路,其具有一个电流信号输出端Idao和一个数据输入端(图中未示出),该数据输入端与桥接网络3相连,且AD转换电路21接地线AGND,DA转换电路22将桥接网络3通过数据输入端输入的数据,转化为模拟信号,通过电流信号输出端Idao进行输出。CPU系统1、公共设备2中的RAM23、桥接网络3均与地线GND相连。
如图4所示,桥接网络3包括一逻辑控制电路31,逻辑控制电路31连接两CPU接口寄存器32、一RAM通道开关33、一AD转换电路通道开关34和一DA转换电路通道开关35。逻辑控制电路31采用FPGA(Field Programmable GateArray,现场可编程门阵列)电路构成,在本实施例中采用的是Altera公司生产的型号为EP1C6Q240C8的FPGA电路,但不仅限于此,也可采用本领域其它任何公知的能实现相同功能的逻辑电路。各CPU接口寄存器32分别通过一选择线与各自对应的CPU相连,接收来自CPUA11和CPUB12选择欲访问的公共设备2的信号,各CPU接口寄存器32与各自对应的CPU之间还连接有一状态信号线。公共设备2的状态信息保存在逻辑控制电路31内,当CPUA11和CPUB12通过选择线发出欲访问的公共设备2选择信号时,逻辑控制电路31将生成的公共设备2的状态电平信号发送给发出选择信号的CPU,还通过多根地址线和双向数据线分别与各自对应的CPU、RAM通道开关33、AD转换电路通道开关34和DA转换电路通道开关35相连。RAM通道开关33通过一读线、一写线、二片选线、多根数据线和地址线与RAM23相连。ADC通道开关3通过一片选线、多根数据转换线、多根数据线和通道选择线与AD转换电路21相连。DA转换电路通道开关35通过一片选线、多根数据线与DA转换电路22相连。当任一CPU的数据线、地址线与公共设备2连接时,CPU可以通过桥接网络3与其相连接的公共设备2进行数据传输,且CPU为连接的公共设备2提供时钟信号和控制信号。
上述实施例中,桥接网络3内设置有对应CPUA11的公共设备2选择信号为cd11和cd12,其真值表如表1所示:
表1
cd11 | cd12 | 公共设备2 |
0 | 0 | RAM23 |
0 | 1 | DA转换电路22 |
1 | 0 | AD转换电路21 |
1 | 1 | IDLE |
当桥接网络3接收到CPUA11发出的公共设备2选择信号cd11、cd12为0、0时,代表CPUA11欲访问RAM 23;当桥接网络3接收到CPUA11发出的公共设备2选择信号cd11、cd12为0、1时,代表CPUA11欲访问DA转换电路22;当桥接网络3接收到CPUA11发出的公共设备2选择信号cd11,cd12为1、0时,代表CPUA11欲访问AD转换电路21;当桥接网络3接收到CPUA11发出的公共设备2选择信号cd11,cd12为1、1时,代表CPUA11不访问任何公共设备2。CPUB12发出公共设备2选择信号的原理与CPUA11一致。
为了避免CPUA11和CPUB12的访问发生冲突,桥接网络3内设置有对应CPUA11和CPUB12的握手信号,分别为ack1和ack2。当CPU通过选择线发出欲访问的公共设备2选择信号时,桥接网络3根据该公共设备2的状态信息,反馈给发出公共设备2选择信号的CPU一握手信号。握手信号ack1和ack2为桥接网络3反馈给CPUA11和CPUB12能否访问公共设备2的电平信号。当ack1为低电平时,表示允许CPUA11访问此公共设备2,反之,CPUA11等待。当ack2为低电平时,表示允许CPUB12访问此公共设备2,反之,CPUB12等待。当两个CPU同时访问相同的公共设备2时,CPUA11具有优先权。但是如果CPUA11欲访问CPUB12已经开始访问的公共设备2时,为了防止数据因为中断而丢失,则CPUA11等待,直至CPUB12访问结束。但是,本发明的片上系统允许CPUA11和CPUB12同时访问不同的公共设备2。
引起CPU等待的原因有两种,一种是RAM23的读、写等待时间,另一种是AD转换电路21和DA转换电路22的等待时间。对于第一种原因,RAM23的读、写速度为200ns(仅以此为例,但不限于此),完全可以满足要求。对于后一种原因,由于本发明采用的AD转换电路21输出数据的速率低于4000点/s,转换速率为1μs(仅以此为例,但不限于此),DA转换电路22的模拟输入信号带宽小于2KHz,转换速率为100μs(仅以此为例,但不限于此),二者的转换时间较长。为保证CPU对AD转换电路21和DA转换电路22的工作不被中途访问的另一CPU打断,CPUA11和CPUB12内部均设置有判断模块,且桥接网络3内部设置一定时计数器,该定时计数器的时钟由使用该公共设备2的CPU提供,判断模块是根据接收到的握手信号和定时计数器的状态来确定能否访问该公共设备2。本实施例中,判断模块是采用软件编程实现的。
例如:当CPUA11连接上AD转换电路21时,即启动了AD转换电路21,那么桥接网络3内的定时计数器的时钟由该CPUA11提供。该过程中,若CPUB12向桥接网络3发出选择访问AD转换电路21的选择信号时,则桥接网络3通过状态信号线向CPUB12发出的握手信号ack2。然后,CPUB12启动桥接网络3内部的定时计数器,通过判断模块检查定时计数器是否为零,如果不是零,则继续等待;如果是零,则可以使用AD转换电路21。桥接网络3对DA转换电路22的定时控制与AD转换电路21一致。
综上所述,本发明的启动方法包括以下步骤:
步骤一,桥接网络3接收到来自CPUA11和CPUB12的公共设备2选择信号后,首先判断两个CPU的选择是否冲突,如果冲突,CPUA11具有优先权,令CPUB12等待。
步骤二,根据保存在桥接网络3中公共设备2的工作状态信息,将相应的握手信号发送给欲访问的CPU。如果被访问的公共设备2正处于工作状态,桥接网络3发送的握手信号为高电平,则令申请的CPU等待;反之,桥接网络3发送的握手信号为低电平,并将CPU与其欲访问的公共设备2的相应通道开关打开,使二者连接上。
步骤三,公共设备2的工作结束后,该公共设备2在桥接网络3中存储的工作状态信息发生改变。
步骤四,桥接网络3继续判断是否有CPU在等待访问公共设备2,如果有,则返回步骤一;反之,则返回到桥接网络3的初始工作的位置,准备下一次的工作。
以上所述,仅为本发明的一种较佳实施方式,本领域技术人员可依据本发明说明书、权利要求书与附图进行修改与等效变换,这样的修改与变换均应包含在本发明的专利保护范围之内。
Claims (5)
1、一种双CPU片上系统,其特征在于包括:CPU系统、公共设备和一桥接网络,所述CPU系统和公共设备分别与所述桥接网络电连接;
所述CPU系统包括两个完全独立的CPU,二所述CPU分别通过选择线、状态信号线、地址线和双向数据线与所述桥接网络电连接;
所述桥接网络中保存了所述公共设备的工作状态信息,所述桥接网络内设置有对应二所述CPU的公共设备选择信号、握手信号和由使用所述公共设备的CPU提供时钟的定时计数器;二所述CPU内部均设置有判断模块;
二所述CPU向所述桥接网络发出所述公共设备选择信号,所述桥接网络根据所述公共设备的状态信息,将所述握手信号反馈给选择的所述CPU,当所述握手信号为低电平时,该CPU可以访问该公共设备,反之,该CPU等待;等待的所述CPU启动所述定时计数器,该CPU中的判断模块根据所述握手信号和定时计数器的状态确定能否访问所述公共设备,所述CPU通过所述桥接网络与连接上的所述公共设备进行数据传输。
2、如权利要求1所述的一种双CPU片上系统,其特征在于:所述桥接网络包括一逻辑控制电路,所述逻辑控制电路通过信号线连接一个以上的CPU接口寄存器和公共设备通道开关;所述逻辑控制电路内设置有对应各所述CPU的公共设备选择信号、握手信号和由使用所述公共设备的CPU提供的定时计数器,所述逻辑控制电路中还保存了各所述公共设备的工作状态信息;所述逻辑控制电路通过各所述CPU接口寄存器接收各所述CPU发送的所述公共设备选择信号后,根据所述公共设备的状态信息,将所述握手信号反馈给对应的所述CPU,各所述CPU与其连接的所述公共设备通过对应的所述CPU接口寄存器和公共设备通道开关进行数据传输。
3、如权利要求2所述的一种桥接网络,其特征在于:所述逻辑控制电路由现场可编程门阵列电路构成。
4、如权利要求1或2或3所述的一种双CPU的片上系统,其特征在于:所述公共设备包括AD转换电路、DA转换电路和RAM;
所述AD转换电路通过片选线、通道选择信号线、数据转换信号线和双向数据线与所述桥接网络电连接;
所述DA转换电路过片选线、双向数据线与所述桥接网络电连接;
所述RAM通过读线、写线、片选线、双向数据线和地址线与所述桥接网络电连接。
5、一种如权利要求1所述的双CPU片上系统的启动方法,其特征在于:它包括以下步骤:
步骤一,桥接网络接收到来自二CPU的公共设备选择信号后,首先判断二CPU的选择是否冲突,如果冲突,其中一个CPU具有优先权,令另一个CPU等待;
步骤二,根据保存在桥接网络中公共设备的工作状态信息,将相应的握手信号发送给欲访问的CPU,如果被访问的公共设备正处于工作状态,桥接网络发送的握手信号为高电平,则令申请的CPU等待;反之,桥接网络发送的握手信号为低电平,并将CPU与其欲访问的公共设备的相应通道开关打开,使二者连接上;
步骤三,公共设备的工作结束后,该公共设备在桥接网络中存储的工作状态信息发生改变;
步骤四,桥接网络继续判断是否有CPU在等待访问公共设备,如果有,则返回步骤一;反之,则返回到桥接网络的初始工作的位置,准备下一次的工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102403891A CN101441613A (zh) | 2008-12-18 | 2008-12-18 | 一种双cpu片上系统及其启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102403891A CN101441613A (zh) | 2008-12-18 | 2008-12-18 | 一种双cpu片上系统及其启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101441613A true CN101441613A (zh) | 2009-05-27 |
Family
ID=40726054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102403891A Pending CN101441613A (zh) | 2008-12-18 | 2008-12-18 | 一种双cpu片上系统及其启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101441613A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238981A (zh) * | 2021-04-23 | 2021-08-10 | 行云新能科技(深圳)有限公司 | 信息传输方法、实训台及可读存储介质 |
-
2008
- 2008-12-18 CN CNA2008102403891A patent/CN101441613A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238981A (zh) * | 2021-04-23 | 2021-08-10 | 行云新能科技(深圳)有限公司 | 信息传输方法、实训台及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
US7818546B2 (en) | Pipeline processing communicating adjacent stages and controls to prevent the address information from being overwritten | |
KR101543581B1 (ko) | 시스템 온 칩 및 이를 포함하는 전자 시스템 | |
US7353315B2 (en) | Bus controller with virtual bridge | |
US20070005825A1 (en) | System and method for communicating with memory devices | |
US7313641B2 (en) | Inter-processor communication system for communication between processors | |
US8041867B2 (en) | Method and apparatus for enhancing data rate of advanced micro-controller bus architecture | |
EP1535169B1 (en) | Improved inter-processor communication system for communication between processors | |
KR20050051672A (ko) | 스케일러블 멀티채널 메모리 액세스를 위한 방법 및 메모리제어기 | |
CN106933760A (zh) | 一种基于axi协议的dma控制器及数据上传方法 | |
CN102169470A (zh) | 一种ahb总线到bvci总线的转换桥 | |
CN105205025A (zh) | 一种芯片互连的方法、芯片及装置 | |
CN201583943U (zh) | 音频soc芯片的高效低功耗dma的ip结构 | |
CN111008171A (zh) | 一种带串行flash接口控制的通信ip电路 | |
CN110781130A (zh) | 一种片上系统 | |
JP2008041022A (ja) | I/o装置、通信装置、サーボモータ制御装置、制御システムおよびロボットシステム | |
US6622210B2 (en) | Microcontroller with improved access efficiency of instructions | |
CN102622319B (zh) | 基于mpmc的高速存储器接口ip核的数据交换系统 | |
CN101441613A (zh) | 一种双cpu片上系统及其启动方法 | |
CN201812284U (zh) | 一种存储器接口 | |
CN111679995B (zh) | 一种基于1553b总线的空间计算机嵌入式管理执行单元 | |
CN108228517A (zh) | I3c电路设备、系统及通信方法 | |
CN208190652U (zh) | 一种全双工通用同步异步串行收发器的主板 | |
CN103365804B (zh) | 一种用于芯片bu-65170的读写控制装置 | |
CN112783071A (zh) | 一种sdio控制器、fpga板卡和sdio测试系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090527 |