一种两个芯片之间进行数据交换的方法

文档序号:7822866阅读:3381来源:国知局
一种两个芯片之间进行数据交换的方法
【专利摘要】本发明涉及一种两个芯片进行数据交换的方法,所述两个芯片包括第一芯片和第二芯片;所述第一芯片包括依次级联的第一应用层、第一协议层、第一物理层;所述第二芯片包括依次级联的第二应用层、第二协议层、第二物理层;所述的第一物理层经数据总线连接至所述第二物理层;所述第一协议层负责与所述第一应用层之间进行通信,以及控制所述第一物理层;所述第二协议层负责与所述第二应用层之间进行通信,以及控制所述第二物理层;所述第一应用层、第二应用层读写端口可扩展,并且读端口的数目与写端口的数目可以不相同。本发明实施例的方案实现了:芯片之间数据传输方向的随机调整、以及不同时刻、不同方向上最大传输速率的调整。
【专利说明】一种两个芯片之间进行数据交换的方法

【技术领域】
[0001]本发明涉及一种芯片间的数据交换方法,特别涉及一种管脚复用的多模块数据交换的方法。

【背景技术】
[0002]芯片设计中,需要在主从芯片间进行信息交换,由于芯片封装成本和印刷电路板PCB板布线成本的限制,芯片间的连接线应该尽可能的少,这就限制了数据并行传输的位宽度;另一方面,在采用代工厂给定的标准输入输出1单元后,所能达到的最大传输速率也为确定值,这限制了数据并行传输的速率。在给定连接线数目及1最大速率后,芯片间双向共传输的最大速率为固定值。
[0003]但是,现实中,芯片之间数据传输的方向、以及不同方向上传输速率的要求,在不同时刻可能有所不同。另外需要在芯片间进行数据交换的模块可能有多个,这些模块的设计者希望屏蔽掉1接口及印刷电路板PCB连接线上的时序,从而使得外面看到的读、写接口时序尽可能简洁。
[0004]现有技术均没有很好地解决上述问题。


【发明内容】

[0005]针对上述问题,本发明的目的在于提供一种两个芯片之间进行数据交换的方法,所述两个芯片包括第一芯片和第二芯片,所述第一芯片包括依次级联的第一应用层、第一协议层、第一物理层,所述第二芯片包括依次级联的第二应用层、第二协议层、第二物理层,所述的第一物理层经数据总线连接至所述第二物理层,所述第一协议层负责与所述第一应用层之间进行通信,以及控制所述第一物理层,所述第二协议层负责与所述第二应用层之间进行通信,以及控制所述第二物理层,所述第一应用层包括多个应用模块,所述第二应用层也包括多个应用模块,所述应用模块的读写端口可扩展,并且读端口的数目与写端口的数目可以不相同,所述方法包括:第一物理层负责将第一协议层送来的第一数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第二数据,将所述第二数据传递给第一协议层处理;第二物理层负责将第二协议层送来的第二数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第一数据,将所述第一数据传递给第二协议层处理。
[0006]要说明的是,上述“按照特定的格式发送”是指采用随源同步时钟发送数据的方式,并且每一位数据线在时钟上升、下降沿各发送I比特bi t数据。所述的随源时钟传送数据,是指时钟和数据一同发送的形式。
[0007]优选地,所述第一芯片和第二芯片都采用随源时钟传送数据,并且所述数据总线的每条数据线在时钟上升沿和下降沿各传送一个比特数据。所述的随源时钟传送数据,是指时钟和数据一同发送的形式。
[0008]优选地,所述数据总线的发送权在第一芯片和第二芯片之间来回切换,失去发送权的芯片维持高阻态,在发送权交接过程中,所述两个芯片均发送一段时间的低电平,以保证数据总线上信息的安全。
[0009]优选地,第一应用层发送数据给第一协议层时,首先第一应用层的写端口发送写数据请求及数据长度给第一协议层,然后等待第一协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述的数据发送。
[0010]优选地,第二应用层发送数据给第二协议层时,首先第二应用层的写端口发送写数据请求及数据长度给第二协议层,然后等待第二协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述的数据发送。
[0011]优选地,第一应用层准备接收第一协议层发送的数据时,第一应用层将准备好READY信号置为有效,第一协议层将标志位FLAG置为有效VALID后传送数据给第一应用层。
[0012]优选地,第二应用层准备接收第二协议层发送的数据时,第二应用层将准备好READY信号置为有效,第二协议层将标志位FLAG置为有效VALID后传送数据给第二应用层。

【专利附图】

【附图说明】
[0013]下面结合附图,对本发明的具体实施方案做进一步的详细描述,附图中:
[0014]图1A-1B为本发明实施例的一种通信模块架构示意图;
[0015]图2为本发明实施例的一种数据总线DBUS控制权在主从芯片间进行交换的示意图;
[0016]图3为本发明实施例的应用模块的写端口时序协议示意图;
[0017]图4是本发明实施例的应用模块的读端口时序协议示意图。

【具体实施方式】
[0018]本发明的目的是设计一种芯片间的通信协议,以便完成芯片间不同模块间的数据交换,并在芯片输入输出1单元最大速率保持定值且芯片间连线数目一定的情况下,使得双向共传输速率最大化。
[0019]如图1A-1B所示,为通信模块的架构示意图,其中,主芯片的协议层M_PROTOCOL负责和主芯片的应用层之间进行通信,以及对主芯片的物理层PHY层的控制,同时,从芯片的协议层S_PROTOCOL负责和从芯片的应用层之间进行通信,以及对从芯片的物理层PHY层的控制。所述应用层可以包括一个或者多个应用模块。所述应用模块的读写端口可扩展,并且读口的数量可以不同于写口的数量,当然也可以相同。所述读口也可以称为读端口,所述写口也可以称为写端口。
[0020]图1A-1B中,CLKl是时钟信号I,它是主芯片发送给从芯片的时钟信号;CLK2是时钟信号2,它是从芯片发送给主芯片的时钟信号。CLKl和CLK2的频率相同,相位无关。DBUS是数据总线。DBUS【3:0】是一种优选的位数为4的数据总线,也可以采取其他位数的数据总线。
[0021]主芯片的物理和从芯片的物理层S_PHY分别负责将对应的协议层送来的数据按照特定的格式发送到总线,并接收总线上特定格式的信号,将数据传递给对应的协议层处理。
[0022]一种优选例子中,主从芯片均采用随源时钟传送数据,并且每条数据线在时钟上升沿和下降沿均各传送I比特bit数据。所述的随源时钟传送数据,是指时钟和数据一同发送的形式。
[0023]要说明的是,上述主芯片、从芯片也可以分别称为第一芯片、第二芯片。相应的,主芯片的协议层也可以称为第一协议层,从芯片的协议层也可以称为第二协议层,主芯片的物理层也可以称为第一物理层,从芯片的物理层也可以称为第二物理层,主芯片的应用层也可以称为第一应用层,从芯片的应用层也可以称为第二应用层。
[0024]如图2所示,数据总线的发送权在主从芯片间来回切换,失去发送权的一端维持高阻态,在发送权交接过程中,主从端,即主芯片和从芯片,均发送一段时间的低电平,以保证总线上信息的安全。图2中,DATA_VALID是指有效数据。
[0025]如图3所示,为应用层的写端口时序,首先写端口发送写数据请求及数据长度,然后等待协议层返回响应信号,响应信号长度对应请求长度,之后在该长度内完成数据的发送。图3中,中英文对应关系如下:CLK:时钟,W_LENGTH:写请求长度,W_REQ:写请求,W_CS:写选中,W_DATA:写数据,D0-D6:有效数据,DON’ T CARE或者No care:无效数据。
[0026]如图4所示,为应用层的读端口时序,应用层可以接收数据时,将准备READY信号置为有效,此时,协议层可以将标志位FLAG置为有效VALID,同时传送有效数据,否则,协议层不传送有效数据给该读端口。图4中,中英文对应关系如下:CLK:时钟,R_READY:读准备好,R_VALID:读有效,R_DATA:读数据,D0-D6:有效数据(DO,Dl,D2,D3,D4,D5,D6),DON’ TCARE:无效数据。
[0027]在本申请所提供的几个实施例中,应该理解到,所揭露的架构/装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例的目的。
[0028]另外,在本发明各个实施例中的各功能模块/单元、器件可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0029]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0030]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种两个芯片之间进行数据交换的方法,所述两个芯片包括第一芯片和第二芯片,所述第一芯片包括依次级联的第一应用层、第一协议层、第一物理层,所述第二芯片包括依次级联的第二应用层、第二协议层、第二物理层,所述的第一物理层经数据总线连接至所述第二物理层,所述第一协议层负责与所述第一应用层之间进行通信,以及控制所述第一物理层,所述第二协议层负责与所述第二应用层之间进行通信,以及控制所述第二物理层,其特征在于,所述第一应用层包括多个应用模块,所述第二应用层也包括多个应用模块,所述应用模块的读写端口可扩展,并且读端口的数目与写端口的数目可以不相同,所述方法包括: 第一物理层负责将第一协议层送来的第一数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第二数据,将所述第二数据传递给第一协议层处理; 第二物理层负责将第二协议层送来的第二数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第一数据,将所述第一数据传递给第二协议层处理。
2.根据权利要求1的两个芯片之间进行数据交换的方法,其特征在于,所述第一芯片和第二芯片都采用随源时钟传送数据,并且所述数据总线的每条数据线在时钟上升沿和下降沿各传送一个比特数据。
3.根据权利要求1或者2的两个芯片之间进行数据交换的方法,其特征在于,其特征在于,所述数据总线的发送权在第一芯片和第二芯片之间来回切换,失去发送权的芯片维持高阻态,在发送权交接过程中,所述两个芯片均发送一段时间的低电平,以保证数据总线上信息的安全。
4.根据权利要求1或者2的两个芯片之间进行数据交换的方法,其特征在于,第一应用层发送数据给第一协议层时,首先第一应用层的写端口发送写数据请求及数据长度给第一协议层,然后等待第一协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述的数据发送。
5.根据权利要求1或者2的两个芯片之间进行数据交换的方法,其特征在于,第二应用层发送数据给第二协议层时,首先第二应用层的写端口发送写数据请求及数据长度给第二协议层,然后等待第二协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述的数据发送。
6.根据权利要求1或者2的两个芯片之间进行数据交换的方法,其特征在于,第一应用层准备接收第一协议层发送的数据时,第一应用层将准备好READY信号置为有效,第一协议层将标志位FLAG置为有效VALID后传送数据给第一应用层。
7.根据权利要求1或者2的两个芯片之间进行数据交换的方法,其特征在于,第二应用层准备接收第二协议层发送的数据时,第二应用层将准备好READY信号置为有效,第二协议层将标志位FLAG置为有效VALID后传送数据给第二应用层。
【文档编号】H04L12/931GK104518998SQ201410768953
【公开日】2015年4月15日 申请日期:2014年12月12日 优先权日:2014年12月12日
【发明者】刘琦 申请人:北京海尔集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1