CN104572337B - 一种芯片间的数据传输方法 - Google Patents

一种芯片间的数据传输方法 Download PDF

Info

Publication number
CN104572337B
CN104572337B CN201510038988.5A CN201510038988A CN104572337B CN 104572337 B CN104572337 B CN 104572337B CN 201510038988 A CN201510038988 A CN 201510038988A CN 104572337 B CN104572337 B CN 104572337B
Authority
CN
China
Prior art keywords
data
transmission
serial form
error
frame
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
Application number
CN201510038988.5A
Other languages
English (en)
Other versions
CN104572337A (zh
Inventor
张佳
盛廷义
唐威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
771 Research Institute of 9th Academy of CASC
Original Assignee
771 Research Institute of 9th Academy of CASC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 771 Research Institute of 9th Academy of CASC filed Critical 771 Research Institute of 9th Academy of CASC
Priority to CN201510038988.5A priority Critical patent/CN104572337B/zh
Publication of CN104572337A publication Critical patent/CN104572337A/zh
Application granted granted Critical
Publication of CN104572337B publication Critical patent/CN104572337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种芯片间的数据传输方法,包括以下步骤:1)对所要传输的数据进行编码,得到串行格式的数据,根据串行格式的数据生成纠错码,其中,串行格式的数据帧构成包括数据的起始位、逻辑通道、数据实体、数据的纠检错位和保护间隙;2)根据纠错码对串行格式的数据进行检错,即在保护间隙对数据进行正确性判断;3)当串行格式的数据传输正确,则继续进行下一帧的传输;如果串行格式的数据传输错误,则返回一个响应,以重复上一帧的传输。本发明一种芯片间的数据传输方法,不但大大的提高了数据的传输速度,减少了互联线的复杂度,很大程度上提高了系统的可靠性。

Description

一种芯片间的数据传输方法
技术领域
本发明涉及数据传输技术领域,具体涉及一种芯片间的数据传输方法。
背景技术
随着对电子产品的性能、功能的丰富性与完善性、低成本及小型化等各方面的需求的不断发展,微电子与集成电路技术也在不断的发展。现阶段,工业产品、消费类电子产品向着小型化、便携化的方向发展,军用产品、航天器产品对电子产品的小型化要求更为强烈。这些需求,使得SoC技术成为集成电路发展的必然趋势。同时也促使了SIP(System inPackage,系统级封装)技术的迅速发展。
使用SoC技术设计系统的核心思想,就是把整个应用电子系统集成在一个芯片中,SoC系统功能复杂,集成了CPU、存储器、模拟模块、数字混合模块等多个模块。目前数字电路的主要工艺为COMS技术,但是COMS技术截止频率较低,高速的模拟电路主要采用GaAs等非CMOS材料,这种技术难以和数字电路集成。由于工艺的不兼容,一个大的系统往往会由几个模块共同组成,这就带来了模块间的通信问题,并成为SoC系统设计的一个关键技术。各个模块芯片间的数据传输速度、正确性、效率是一个系统的重要参量。而随着科技的发展,尤其是我国航空航天事业及计算机技术的发展,芯片间需要传输的数据越来越大,对SoC片上系统各部分的互联通信提出了更高的要求。
首先,如上文提到的有些系统,不但要求实现混和信号功能和模拟信号功能,还可能需要把许多特殊的芯片,如光学器件,以传感器为基础的MEMS(微电子与机械系统)以及以后很有可能用到的生物结构、纳米结构、化学器件等集成进来,而将这些不同工艺技术制造的零部件制造在一块单晶芯片上,目前的技术还不大可能。SIP技术在这方面有很大优势,它主要是将各种半导体(无源器件)集成在一个工业界标准的封装里,也就是说把各种不同工艺实现的模块封装在一个系统里。SIP技术可以理解为是SoC技术的一种变通,或者说可以看做是SoC技术的一种补充。SIP技术目前面临的主要技术性问题是如何提高性能与可靠性。如果各个芯片模块间的互联通信尽可能的简单高速的话,将会对问题的解决产生重大影响,带来重大改进。
总线是连接计算机中各个设备部件的一组线路,它的目的是简化硬件结构和便于系统管理,在计算机系统中,总显得性能对整个系统的性能和功能都有直接影响。按其传输方式的不同,可以分为并行总线和串行总线两大类。
并行数据传输技术是提高数据传输的重要手段,但是,进一步的发展却遇到了障碍。首先,由于并行传输方式的前提是用同一时序传播和接收信号,而单单的提升时钟频率将难以使得数据传输时序与时钟合拍,布线长度稍有差异就会产生不合拍。此外,提升时钟频率还容易引起信号线间的互相干扰,导致传输错误。并行接口还可能导致传输拥塞,占空比也较大。随着SoC技术的发展,硅片的面积正不断的缩小,也就意味着移动设备的芯片会被封装的越来越小,而这牙膏的封装也要求更少的输入输出引脚,使得并行总线更缺乏吸引力。并行接口还有费用贵、重量大等缺点。并行接口的功耗往往也比较大。
随着计算机技术的发展,对带宽的需求不断扩大,并行总线的带宽已经不能满足当前及下一代计算机系统的需求,而串行总线凭借其传输速度快、扩展性好,逐渐在竞争中表现出其优点,使得速度、功率、占位面积和成本都达到了最小的代价。
发明内容
本发明的目的是为了达到高速数据传输,同时能对错误数据进行重发,提供了一种芯片间的数据传输方法,该方法具有一定数据构成的传输模式-LSI数据传输模式,并运用此传输模式实现了DMA工作方式下的数据传输。
为达到上述目的,本发明采用如下的技术方案予以实现:
一种芯片间的数据传输方法,包括以下步骤:
1)对所要传输的数据进行编码,得到串行格式的数据,根据串行格式的数据生成纠错码,其中,串行格式的数据帧构成包括数据的起始位、逻辑通道、数据实体、数据的纠检错位和保护间隙;
2)根据纠错码对串行格式的数据进行检错,即在保护间隙对数据进行正确性判断;
3)当串行格式的数据传输正确,则继续进行下一帧的传输;如果串行格式的数据传输错误,则返回一个响应,以重复上一帧的传输。
本发明进一步的改进在于,数据传输支持DMA方式。
本发明进一步的改进在于,串行格式的数据帧的起始位为一位逻辑“1”,表示数据帧的开始,在多通道数据并行传输的情况下,所有的信号都有相同的起始位“1”;
数据的逻辑通道位由5位组成,表明数据所使用的传输通道最多支持32个通道传输;
数据实体位为所要传输的信息,数据实体位的长度为32位;
数据的纠检错位由7位构成,用一定的算法对7位检错位和32位信息位进行运算,用于判断传输的数据是否正确;
保护间隙的作用是,在每一帧数据传输完成后,在预设的空余间隙时间内判定数据是否传输正确,如果错误,则对数据进行重发至发送端。
本发明进一步的改进在于,由根据32位信息位得7位检错码,其中(E6,E5...E1,E0)={F(D31,D30...D1,D0)},(E6,E5...E1,E0)为7位检错码,F为检错码生成算法,(D31,D30...D1,D0)为数据实体。
本发明进一步的改进在于,对数据进行检错的过程,是对检错码进行解码的过程,解码生产算法表示为:(S6,S5,...S1,S0)={T(E6,E5...E1,E0,D31,D30...D1,D0)},其中T为解码算法,(S6,S5,...S1,S0)为解码,(E6,E5...E1,E0,D31,D30...D1,D0)为纠检错位和数据实体;通过对7位解码的判断,即可判定数据的传输是否正确。
本发明进一步的改进在于,DMA方式的传输特征为:在数据帧的传输过程中,如果传输正确,则对DMA控制器中的计数器和地址寄存器均加1,以保证下一帧数据的正常传输;如果传输的数据错误,则不对DMA控制器中的计数器和地址寄存器不加1,实现对上一帧数据的重发。
与现有技术相比,本发明具有如下的技术效果:
数据流传输是按照数据帧为单位,一帧一帧的发送和接收的,LSI数据传输模式定义了每一帧数据的结构,同时定义了数据的DMA传输方式,能够实现数据的高速传输、数据的检错、数据重发、数据的DMA传输等功能。
本发明一种芯片间的数据传输方法,不但大大的提高了数据的传输速度,减少了互联线的复杂度,很大程度上提高了系统的可靠性。
附图说明
图1是LSI数据帧的构成图。
图2是检错的过程图,包括数据的检错编码和解码,当检查到错误后数据的重发。
图3是在DMA传输方式下,读数据的过程图。
图4是在DMA传输方式下,写数据的过程图。
图5是数据传输的整个通信模型层次结构图。
具体实施方式
以下结合附图对本发明做进一步详细说明。
参见图1和图2,本发明一种芯片间的数据传输方法,包括以下步骤:
1)对所要传输的数据进行编码,得到串行格式的数据,根据串行格式的数据生成纠错码,其中,串行格式的数据帧构成包括数据的起始位、逻辑通道、数据实体、数据的纠检错位和保护间隙;
其中,串行格式的数据帧的起始位为一位逻辑“1”,表示数据帧的开始,在多通道数据并行传输的情况下,所有的信号都有相同的起始位“1”;
数据的逻辑通道位由5位组成,表明数据所使用的传输通道最多支持32个通道传输;
数据实体位为所要传输的信息,数据实体位的长度为32位;
数据的纠检错位由7位构成,用一定的算法对7位检错位和32位信息位进行运算,用于判断传输的数据是否正确;由根据32位信息位得7位检错码,其中(E6,E5...E1,E0)={F(D31,D30...D1,D0,)},(E6,E5...E1,E0)为7位检错码,F为检错码生成算法,(D31,D30...D1,D0)为数据实体。
保护间隙的作用是,在每一帧数据传输完成后,在预设的空余间隙时间内判定数据是否传输正确,如果错误,则对数据进行重发至发送端。
2)根据纠错码对串行格式的数据进行检错,即在保护间隙对数据进行正确性判断;对数据进行检错的过程,是对检错码进行解码的过程,解码生产算法表示为:(S6,S5,...S1,S0)={T(E6,E5...E1,E0,D31,D30...D1,D0)},其中T为解码算法,(S6,S5,...S1,S0)为解码,(E6,E5...E1,E0,D31,D30...D1,D0)为纠检错位和数据实体;通过对7位解码的判断,即可判定数据的传输是否正确。
3)当串行格式的数据传输正确,则继续进行下一帧的传输;如果串行格式的数据传输错误,则返回一个响应,以重复上一帧的传输。
此外,参见图3和图4,本发明数据传输支持DMA方式,且DMA方式的传输特征为:在数据帧的传输过程中,如果传输正确,则对DMA控制器中的计数器和地址寄存器均加1,以保证下一帧数据的正常传输;如果传输的数据错误,则不对DMA控制器中的计数器和地址寄存器不加1,实现对上一帧数据的重发。
为了本发明进一步了解,现对其做进一步的说明。
物理层:如图5所示,信号的传输使用的是LVDS(低压差分信号)技术,使用多通道,可以进行多路数据的传输。本发明最多支持32(25)个通道的数据传输。
数据链路层:传输的数据先通过编码器进行编码,使其形成具有上述结构的数据帧,如图2所示。其中,起始位为逻辑“1”,即当检测到“1”时表示检测到数据帧。5位二进制可以表示最大32条通道。数据实体位包含32位数据信息,数据实体位后是7为的检错码。
数据以帧为单位,进行传输,接收端收到数据后,由于有保护间隙的存在,下一帧数据并不马上传输,而是先对已传输的数据进行检错,如果数据错误,则解码器会传回一个反馈信号,等到保护间隙结束,端口1重发上一帧数据。如果解码没有错误,则在保护间隙结束后,继续下一帧数据的传送。
传输层:传输层是控制数据传送模式、发送时机等的控制层,即决定数据需要一般的传输模式,还是需要DMA模式的传输,是进行中断传输还是继续进行数据的正常传输。
在DMA工作方式下的传输图如图3和图4所示,在读数据的过程中,首先,外设把数据存入到DMA数据缓冲中去,然后把初始化好的地址送到地址总线。数据在到达数据总线前,先对数据进行检错编码,然后送入数据总线。数据被传送到寄存器之前,先要对数据进行编码和检测,如果检测正确,则存入寄存器,并发出标志信号,则DMA控制器中的计数器就会相应的减1,同时地址缓冲器会相应的加1;如果检测错误,则DMA控制器中的计数器和地址缓冲器不发生变化,从而为数据的重发做好准备。保护间隙结束后,进行下一帧数据的传输。
在写数据过程中,首先,把初始化好的地址送到地址总线,然后再把寄存器中所要传输的数据存入DMA数据缓存,数据在到达数据总线前,先对数据进行检错编码,然后再送入数据总线,数据被传送到寄存器之前,先要对数据进行解码与检测,如果检测正确,则存入外设,并发出正确信号,则DMA控制器中的计数器就会相应的减1,同时地址缓冲器会相应的加1;如果检测错误,则DMA控制器中的计数器和地址缓冲器不发生变化,从而为数据的重发做好准备。保护间隙结束后,进行下一帧数据的传输。
当有中断请求时,则根据传输层的控制,判断是进行继续传输,还是停止传输已进行中断传输。
应用层:从一个模块传送数据到另一个模块,治理的模块和终端可以为SoC芯片,也可以是SIP或者其它模块。

Claims (2)

1.一种芯片间的数据传输方法,其特征在于,包括以下步骤:
1)对所要传输的数据进行编码,得到串行格式的数据,根据串行格式的数据生成纠错码,其中,串行格式的数据帧构成包括数据的起始位、逻辑通道、数据实体位、数据的纠检错位和保护间隙;
2)根据纠错码对串行格式的数据进行检错,即在保护间隙对数据进行正确性判断;
3)当串行格式的数据传输正确,则继续进行下一帧的传输;如果串行格式的数据传输错误,则返回一个响应,以重复上一帧的传输;
其中,数据传输支持DMA方式;
串行格式的数据帧的起始位为一位逻辑“1”,表示数据帧的开始,在多通道数据并行传输的情况下,所有的信号都有相同的起始位“1”;
数据的逻辑通道位由5位组成,表明数据所使用的传输通道最多支持32个通道传输;
数据实体位为所要传输的信息,数据实体位的长度为32位;
数据的纠检错位由7位构成,用一定的算法对7纠检错位和32位数据实体位进行运算,用于判断传输的数据是否正确;
保护间隙的作用是,在每一帧数据传输完成后,在预设的空余间隙时间内判定数据是否传输正确,如果错误,则对数据进行重发至发送端;
对数据进行检错的过程,是对检错码进行解码的过程,解码生产算法表示为:(S6,S5,…S1,S0)={T(E6,E5…E1,E0,D31,D30…D1,D0)},其中T为解码算法,(S6,S5,…S1,S0)为解码,(E6,E5…E1,E0,D31,D30…D1,D0)为纠检错位和数据实体位;通过对7位解码的判断,即可判定数据的传输是否正确;
DMA方式的传输特征为:在数据帧的传输过程中,如果传输正确,则对DMA控制器中的计数器和地址寄存器均加1,以保证下一帧数据的正常传输;如果传输的数据错误,则不对DMA控制器中的计数器和地址寄存器不加1,实现对上一帧数据的重发。
2.根据权利要求1所述的一种芯片间的数据传输方法,其特征在于,由根据32位数据实体位得7位纠检错位,其中(E6,E5…E1,E0)={F(D31,D30…D1,D0)},(E6,E5…E1,E0)为7位纠检错位,F为纠检错位生成算法,(D31,D30…D1,D0)为数据实体位。
CN201510038988.5A 2015-01-26 2015-01-26 一种芯片间的数据传输方法 Active CN104572337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510038988.5A CN104572337B (zh) 2015-01-26 2015-01-26 一种芯片间的数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510038988.5A CN104572337B (zh) 2015-01-26 2015-01-26 一种芯片间的数据传输方法

Publications (2)

Publication Number Publication Date
CN104572337A CN104572337A (zh) 2015-04-29
CN104572337B true CN104572337B (zh) 2018-07-10

Family

ID=53088476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510038988.5A Active CN104572337B (zh) 2015-01-26 2015-01-26 一种芯片间的数据传输方法

Country Status (1)

Country Link
CN (1) CN104572337B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070591B (zh) * 2017-01-13 2020-07-17 苏州贝艾尔净化科技有限公司 新风控制器与净化器间的数据传输方法
CN109639316B (zh) * 2018-12-26 2020-09-01 西安朗山电子科技有限公司 一种无极性能量与信息传递复用的网络通信系统
CN111901070B (zh) * 2020-08-28 2022-09-09 上海国微思尔芯技术股份有限公司 一种数据传输方法
CN112003878B (zh) * 2020-09-22 2023-12-29 北京舍得叔叔科技有限公司 一种串行通信装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1928845A (zh) * 2005-09-09 2007-03-14 上海采微电子科技有限公司 用于片上系统的单线调试接口协议
CN101131658A (zh) * 2007-08-13 2008-02-27 中兴通讯股份有限公司 在dsp上利用同步串口输出异步串口调试信息的方法
CN102063351A (zh) * 2009-11-13 2011-05-18 佳能株式会社 电子装置
US8255761B1 (en) * 2007-07-12 2012-08-28 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1928845A (zh) * 2005-09-09 2007-03-14 上海采微电子科技有限公司 用于片上系统的单线调试接口协议
US8255761B1 (en) * 2007-07-12 2012-08-28 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks
CN101131658A (zh) * 2007-08-13 2008-02-27 中兴通讯股份有限公司 在dsp上利用同步串口输出异步串口调试信息的方法
CN102063351A (zh) * 2009-11-13 2011-05-18 佳能株式会社 电子装置

Also Published As

Publication number Publication date
CN104572337A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
US10468078B2 (en) Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communication
KR101616488B1 (ko) 차분 디코더
CN102449614B (zh) 用于耦合代理的分组化接口
CN104572337B (zh) 一种芯片间的数据传输方法
US7243173B2 (en) Low protocol, high speed serial transfer for intra-board or inter-board data communication
US7152136B1 (en) Implementation of PCI express
KR102357899B1 (ko) 유효 인코딩을 위한 방법 및 장치
US10579581B2 (en) Multilane heterogeneous serial bus
JP2009525625A (ja) シリアル相互接続の多数レーン用の装置及びデスキュー
Liu et al. A flexible hardware architecture for slave device of i2c bus
TW201301047A (zh) 可攜式電子裝置之介面延伸器
KR20150109259A (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
EP3117527B1 (en) Method for using error correction codes with n factorial or cci extension
Saha et al. Design and implementation of a BIST embedded high speed RS-422 utilized UART over FPGA
Lim et al. A multi-lane MIPI CSI receiver for mobile camera applications
WO2016192211A1 (zh) 片间互联的发送、接收装置及发送、接收方法及系统
CN110838892B (zh) 多路全双工串口的高可靠合并转发方法
JP2006229959A (ja) 送信回路から受信回路へデジタル制御信号とアナログ信号を同時に伝送する方法及び装置
CN115706661A (zh) 同步高速信令互连
TW201903619A (zh) 用於虛擬通用目的輸入/輸出介面之頻帶中硬體重置
WO2022198006A1 (en) Securing video distribution
US10846085B2 (en) Multi-lane data processing circuit and system
Li et al. A Wrapper of PCI Express with FIFO Interfaces based on FPGA
Randhawa et al. A low cost design of MIL-STD-1553 devices
Park et al. An MDDI-host architecture with low complexity for SoC Platforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant