CN104518998B - 一种两个芯片之间进行数据交换的方法 - Google Patents
一种两个芯片之间进行数据交换的方法 Download PDFInfo
- Publication number
- CN104518998B CN104518998B CN201410768953.2A CN201410768953A CN104518998B CN 104518998 B CN104518998 B CN 104518998B CN 201410768953 A CN201410768953 A CN 201410768953A CN 104518998 B CN104518998 B CN 104518998B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- protocol layer
- chip
- application layer
- 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.)
- Active
Links
Landscapes
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种两个芯片进行数据交换的方法,所述两个芯片包括第一芯片和第二芯片;所述第一芯片包括依次级联的第一应用层、第一协议层、第一物理层;所述第二芯片包括依次级联的第二应用层、第二协议层、第二物理层;所述的第一物理层经数据总线连接至所述第二物理层;所述第一协议层负责与所述第一应用层之间进行通信,以及控制所述第一物理层;所述第二协议层负责与所述第二应用层之间进行通信,以及控制所述第二物理层;所述第一应用层、第二应用层读写端口可扩展,并且读端口的数目与写端口的数目可以不相同。本发明实施例的方案实现了:芯片之间数据传输方向的随机调整、以及不同时刻、不同方向上最大传输速率的调整。
Description
技术领域
本发明涉及一种芯片间的数据交换方法,特别涉及一种管脚复用的多模块数据交换的方法。
背景技术
芯片设计中,需要在主从芯片间进行信息交换,由于芯片封装成本和印刷电路板PCB板布线成本的限制,芯片间的连接线应该尽可能的少,这就限制了数据并行传输的位宽度;另一方面,在采用代工厂给定的标准输入输出IO单元后,所能达到的最大传输速率也为确定值,这限制了数据并行传输的速率。在给定连接线数目及IO最大速率后,芯片间双向共传输的最大速率为固定值。
但是,现实中,芯片之间数据传输的方向、以及不同方向上传输速率的要求,在不同时刻可能有所不同。另外需要在芯片间进行数据交换的模块可能有多个,这些模块的设计者希望屏蔽掉IO接口及印刷电路板PCB连接线上的时序,从而使得外面看到的读、写接口时序尽可能简洁。
现有技术均没有很好地解决上述问题。
发明内容
针对上述问题,本发明的目的在于提供一种两个芯片之间进行数据交换的方法,所述两个芯片包括第一芯片和第二芯片,所述第一芯片包括依次级联的第一应用层、第一协议层、第一物理层,所述第二芯片包括依次级联的第二应用层、第二协议层、第二物理层,所述的第一物理层经数据总线连接至所述第二物理层,所述第一协议层负责与所述第一应用层之间进行通信,以及控制所述第一物理层,所述第二协议层负责与所述第二应用层之间进行通信,以及控制所述第二物理层,所述第一应用层包括多个应用模块,所述第二应用层也包括多个应用模块,所述应用模块的读写端口可扩展,并且读端口的数目与写端口的数目可以不相同,所述方法包括:第一物理层负责将第一协议层送来的第一数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第二数据,将所述第二数据传递给第一协议层处理;第二物理层负责将第二协议层送来的第二数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第一数据,将所述第一数据传递给第二协议层处理。
要说明的是,上述“按照特定的格式发送”是指采用随源同步时钟发送数据的方式,并且每一位数据线在时钟上升、下降沿各发送1比特bi t数据。所述的随源时钟传送数据,是指时钟和数据一同发送的形式。
优选地,所述第一芯片和第二芯片都采用随源时钟传送数据,并且所述数据总线的每条数据线在时钟上升沿和下降沿各传送一个比特数据。所述的随源时钟传送数据,是指时钟和数据一同发送的形式。
优选地,所述数据总线的发送权在第一芯片和第二芯片之间来回切换,失去发送权的芯片维持高阻态,在发送权交接过程中,所述两个芯片均发送一段时间的低电平,以保证数据总线上信息的安全。
优选地,第一应用层发送数据给第一协议层时,首先第一应用层的写端口发送写数据请求及数据长度给第一协议层,然后等待第一协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述的数据发送。
优选地,第二应用层发送数据给第二协议层时,首先第二应用层的写端口发送写数据请求及数据长度给第二协议层,然后等待第二协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述的数据发送。
优选地,第一应用层准备接收第一协议层发送的数据时,第一应用层将准备好READY信号置为有效,第一协议层将标志位FLAG置为有效VALID后传送数据给第一应用层。
优选地,第二应用层准备接收第二协议层发送的数据时,第二应用层将准备好READY信号置为有效,第二协议层将标志位FLAG置为有效VALID后传送数据给第二应用层。
附图说明
下面结合附图,对本发明的具体实施方案做进一步的详细描述,附图中:
图1A-1B为本发明实施例的一种通信模块架构示意图;
图2为本发明实施例的一种数据总线DBUS控制权在主从芯片间进行交换的示意图;
图3为本发明实施例的应用模块的写端口时序协议示意图;
图4是本发明实施例的应用模块的读端口时序协议示意图。
具体实施方式
本发明的目的是设计一种芯片间的通信协议,以便完成芯片间不同模块间的数据交换,并在芯片输入输出IO单元最大速率保持定值且芯片间连线数目一定的情况下,使得双向共传输速率最大化。
如图1A-1B所示,为通信模块的架构示意图,其中,主芯片的协议层M_PROTOCOL负责和主芯片的应用层之间进行通信,以及对主芯片的物理层PHY层的控制,同时,从芯片的协议层S_PROTOCOL负责和从芯片的应用层之间进行通信,以及对从芯片的物理层PHY层的控制。所述应用层可以包括一个或者多个应用模块。所述应用模块的读写端口可扩展,并且读口的数量可以不同于写口的数量,当然也可以相同。所述读口也可以称为读端口,所述写口也可以称为写端口。
图1A-1B中,CLK1是时钟信号1,它是主芯片发送给从芯片的时钟信号;CLK2是时钟信号2,它是从芯片发送给主芯片的时钟信号。CLK1和CLK2的频率相同,相位无关。DBUS是数据总线。DBUS【3:0】是一种优选的位数为4的数据总线,也可以采取其他位数的数据总线。
主芯片的物理层M_PHY和从芯片的物理层S_PHY分别负责将对应的协议层送来的数据按照特定的格式发送到总线,并接收总线上特定格式的信号,将数据传递给对应的协议层处理。
一种优选例子中,主从芯片均采用随源时钟传送数据,并且每条数据线在时钟上升沿和下降沿均各传送1比特bit数据。所述的随源时钟传送数据,是指时钟和数据一同发送的形式。
要说明的是,上述主芯片、从芯片也可以分别称为第一芯片、第二芯片。相应的,主芯片的协议层也可以称为第一协议层,从芯片的协议层也可以称为第二协议层,主芯片的物理层也可以称为第一物理层,从芯片的物理层也可以称为第二物理层,主芯片的应用层也可以称为第一应用层,从芯片的应用层也可以称为第二应用层。
如图2所示,数据总线的发送权在主从芯片间来回切换,失去发送权的一端维持高阻态,在发送权交接过程中,主从端,即主芯片和从芯片,均发送一段时间的低电平,以保证总线上信息的安全。图2中,DATA_VALID是指有效数据。
如图3所示,为应用层的写端口时序,首先写端口发送写数据请求及数据长度,然后等待协议层返回响应信号,响应信号长度对应请求长度,之后在该长度内完成数据的发送。图3中,中英文对应关系如下:CLK:时钟,W_LENGTH:写请求长度,W_REQ:写请求,W_CS:写选中,W_DATA:写数据,D0ˉD6:有效数据,DON’T CARE或者No care:无效数据。
如图4所示,为应用层的读端口时序,应用层可以接收数据时,将准备READY信号置为有效,此时,协议层可以将标志位FLAG置为有效VALID,同时传送有效数据,否则,协议层不传送有效数据给该读端口。图4中,中英文对应关系如下:CLK:时钟,R_READY:读准备好,R_VALID:读有效,R_DATA:读数据,D0ˉD6:有效数据(D0,D1,D2,D3,D4,D5,D6),DON’T CARE:无效数据。
在本申请所提供的几个实施例中,应该理解到,所揭露的架构/装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例的目的。
另外,在本发明各个实施例中的各功能模块/单元、器件可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种两个芯片之间进行数据交换的方法,所述两个芯片包括第一芯片和第二芯片,所述第一芯片包括依次级联的第一应用层、第一协议层、第一物理层,所述第二芯片包括依次级联的第二应用层、第二协议层、第二物理层,所述的第一物理层经数据总线连接至所述第二物理层,所述第一协议层负责与所述第一应用层之间进行通信,以及控制所述第一物理层,所述第二协议层负责与所述第二应用层之间进行通信,以及控制所述第二物理层,其特征在于,所述第一应用层包括多个应用模块,所述第二应用层也包括多个应用模块,所述应用模块的读写端口可扩展,并且读端口的数目与写端口的数目相同或不相同,所述方法包括:
第一物理层负责将第一协议层送来的第一数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第二数据,将所述第二数据传递给第一协议层处理;
第二物理层负责将第二协议层送来的第二数据按照特定的格式发送到数据总线,以及接收数据总线上特定格式的第一数据,将所述第一数据传递给第二协议层处理。
2.根据权利要求1所述的两个芯片之间进行数据交换的方法,其特征在于,所述第一芯片和第二芯片都采用随源时钟传送数据,并且所述数据总线的每条数据线在时钟上升沿和下降沿各传送一个比特数据。
3.根据权利要求1或者2所述的两个芯片之间进行数据交换的方法,其特征在于,所述数据总线的发送权在第一芯片和第二芯片之间来回切换,失去发送权的芯片维持高阻态,在发送权交接过程中,所述两个芯片均发送一段时间的低电平,以保证数据总线上信息的安全。
4.根据权利要求1或者2所述的两个芯片之间进行数据交换的方法,其特征在于,第一应用层发送数据给第一协议层时,首先第一应用层的写端口发送写数据请求及数据长度给第一协议层,然后等待第一协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述数据的发送。
5.根据权利要求1或者2所述的两个芯片之间进行数据交换的方法,其特征在于,第二应用层发送数据给第二协议层时,首先第二应用层的写端口发送写数据请求及数据长度给第二协议层,然后等待第二协议层返回响应信号,所述响应信号的长度对应所述写数据请求对应的数据长度,然后在该数据长度内完成所述数据的发送。
6.根据权利要求1或者2所述的两个芯片之间进行数据交换的方法,其特征在于,第一应用层准备接收第一协议层发送的数据时,第一应用层将准备好READY信号置为有效,第一协议层将标志位FLAG置为有效VALID后传送数据给第一应用层。
7.根据权利要求1或者2所述的两个芯片之间进行数据交换的方法,其特征在于,第二应用层准备接收第二协议层发送的数据时,第二应用层将准备好READY信号置为有效,第二协议层将标志位FLAG置为有效VALID后传送数据给第二应用层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410768953.2A CN104518998B (zh) | 2014-12-12 | 2014-12-12 | 一种两个芯片之间进行数据交换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410768953.2A CN104518998B (zh) | 2014-12-12 | 2014-12-12 | 一种两个芯片之间进行数据交换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104518998A CN104518998A (zh) | 2015-04-15 |
CN104518998B true CN104518998B (zh) | 2018-04-27 |
Family
ID=52793741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410768953.2A Active CN104518998B (zh) | 2014-12-12 | 2014-12-12 | 一种两个芯片之间进行数据交换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104518998B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709047B (zh) * | 2021-10-26 | 2022-02-08 | 奥特酷智能科技(南京)有限公司 | 一种汽车域控制器数据转发系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894041A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 多虚拟串口系统及其通信方法 |
CN102664902A (zh) * | 2012-05-15 | 2012-09-12 | 南京华兴数控技术有限公司 | Powerlink通讯协议主从站内核的硬件实现方法 |
CN103176932A (zh) * | 2011-12-23 | 2013-06-26 | 重庆重邮信科通信技术有限公司 | 一种dma数据传输方法及系统 |
CN103716219A (zh) * | 2013-09-25 | 2014-04-09 | 华中科技大学 | 一种基于rs485协议的现场总线通信系统 |
-
2014
- 2014-12-12 CN CN201410768953.2A patent/CN104518998B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894041A (zh) * | 2010-07-15 | 2010-11-24 | 中兴通讯股份有限公司 | 多虚拟串口系统及其通信方法 |
CN103176932A (zh) * | 2011-12-23 | 2013-06-26 | 重庆重邮信科通信技术有限公司 | 一种dma数据传输方法及系统 |
CN102664902A (zh) * | 2012-05-15 | 2012-09-12 | 南京华兴数控技术有限公司 | Powerlink通讯协议主从站内核的硬件实现方法 |
CN103716219A (zh) * | 2013-09-25 | 2014-04-09 | 华中科技大学 | 一种基于rs485协议的现场总线通信系统 |
Non-Patent Citations (2)
Title |
---|
基于IP核的PCI Express接口;徐天 等;《计算机工程》;20091231;第35卷(第24期);第239-241页 * |
多核SoC中高带宽片外数据交换与处理技术研究;李桦林;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130615(第6期);第I135-212页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104518998A (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104322033B (zh) | 使用第二协议的扩展功能结构来控制第一协议的物理链路 | |
CN105051706B (zh) | 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统 | |
CN102117342A (zh) | 基于PCI Express总线的多波段红外图像实时采集系统及方法 | |
WO2010011534A1 (en) | Reconfigurable memory controller | |
CN104598405B (zh) | 扩展芯片及可扩展的芯片系统及控制方法 | |
CN104798010B (zh) | 至少部分的串行存储协议兼容帧转换 | |
CN104380274B (zh) | 用于优化的链路训练及管理的装置和方法 | |
CN105068955A (zh) | 一种局部总线结构及数据交互方法 | |
CN103914427B (zh) | 基于三根物理互连线的集成电路片上通讯方法及装置 | |
CN105373511A (zh) | 一种与多个光模块可同时通信的装置和方法 | |
KR20050022651A (ko) | 차 신호를 이용하여 멀티미디어 카드의 전송속도를향상시키는 방법 및 장치 | |
CN104598404B (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN104518998B (zh) | 一种两个芯片之间进行数据交换的方法 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN116795763B (zh) | 基于axi协议的数据分组传输的方法、片上系统和芯片 | |
JP6053692B2 (ja) | データ転送装置、データ転送方法およびチップ間通信システム | |
CN104484302A (zh) | 基于usb接口的实现两台主机之间双向通信与控制的系统 | |
US20120191943A1 (en) | Dynamic protocol for communicating command and address information | |
CN104346310A (zh) | 一种高性能i2c从机数据交换电路及方法 | |
CN113570050B (zh) | 一种双向异步同步先进先出适配器 | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
KR20160147373A (ko) | 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법 | |
CN210402342U (zh) | 一种基于zynq的数据加解密结构 | |
CN103577976A (zh) | 一种安全芯片中swp的实现装置 | |
CN203838614U (zh) | 一种带网络管理接口的pcie扩展卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Qi Inventor after: Yu Zongguang Inventor before: Liu Qi |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |