数据传输系统、电路与方法

文档序号:135429 发布日期:2021-10-22 浏览:46次 >En<

阅读说明:本技术 数据传输系统、电路与方法 (Data transmission system, circuit and method ) 是由 韦伯霖 李必明 杨志强 于 2020-04-15 设计创作,主要内容包括:本发明揭露一种数据传输系统、电路与方法,数据传输系统能够加快两系统单芯片之间的数据传输。该数据传输系统包含:一主控系统单芯片,包含一主控传送环形缓冲器(circular buffer)与一主控接收环形缓冲器;以及一从属系统单芯片,包含一从属接收环形缓冲器与一从属传送环形缓冲器。该从属/主控接收环形缓冲器为该主控/从属传送环形缓冲器的复制,因此,该两缓冲器的写入指针实质同步,且该两缓冲器的读取指针实质同步。据上所述,该主控/从属传送环形缓冲器的读写操作可视为该从属/主控接收环形缓冲器的读写操作,从而该数据传输的部分的数据复制程序可被省略,以加快该数据传输。(The invention discloses a data transmission system, a circuit and a method, wherein the data transmission system can accelerate data transmission between two system single chips. The data transmission system includes: a single chip of master control system, which comprises a master transmit ring buffer (circular buffer) and a master receive ring buffer; and a slave system-on-chip including a slave receive ring buffer and a slave transmit ring buffer. The slave/master receive ring buffer is a replica of the master/slave transmit ring buffer, so the write pointers of the two buffers are substantially synchronized and the read pointers of the two buffers are substantially synchronized. As described above, the read/write operations of the master/slave transmit ring buffer can be regarded as the read/write operations of the slave/master receive ring buffer, so that the data copy procedure of the data transfer portion can be omitted to speed up the data transfer.)

数据传输系统、电路与方法

技术领域

本公开涉及数据传输系统、电路与方法,尤其是涉及适用于两系统单芯片之间的数据传输的数据传输系统、电路与方法。

背景技术

一般通用的USB传输过程包含:传送端(TX)程序将数据拷贝给TX传输层;TX传输层包裹该数据后将该数据封包送到TX USB驱动程序;TX USB驱动程序将该数据封包传送给接收端(RX);RX USB驱动程序收到该数据封包后,将其送给RX传输层;RX传输层解开该数据封包并将该数据配送到到目标程序。上述传输过程中,该数据会被拷贝多次。在某些应用(例如:多媒体播放)中,每笔数据(例如:8K图像帧数据)须在时间内配送到目标程序(例如:多媒体播放程序),不然就会有迟滞现象;如果每笔数据的数据量较大,且传送端与接收端不属于同一颗系统单芯片(System on a Chip,SoC)而无法共享同一内存空间,该迟滞现象就容易发生。鉴于上述,本

技术领域

需要一种有效率的方式来实现系统单芯片之间的数据传输。

发明内容

本公开的目的之一在于揭露一种数据传输系统、电路与方法,以有效率地执行系统单芯片之间的数据传输。

本公开的数据传输系统的一实施例能够加快一主控系统单芯片与一从属系统单芯片之间的数据传输。本实施例中,该主控系统单芯片包含:一主控传送环形缓冲器,用来从该主控系统单芯片的一主控端上层电路(例如:视频译码电路)接收主控端数据并据以更新一主控传送缓冲器写入指针,以及用来依据一从属接收缓冲器读取指针的一更新通知来更新一主控传送缓冲器读取指针;以及一主控接收环形缓冲器,用来从一从属系统单芯片接收从属端数据并据以更新一主控接收缓冲器写入指针,以及用来于该主控端上层电路读取该从属端数据后,更新一主控接收缓冲器读取指针。另外,本实施例中,该从属系统单芯片包含:一从属接收环形缓冲器,用来从该主控系统单芯片接收该主控端数据并据以更新一从属接收缓冲器写入指针,以及用来于该从属系统单芯片的一从属端上层电路(例如:视频播放电路)读取该主控端数据后,更新该从属接收缓冲器读取指针;以及一从属传送环形缓冲器,用来从该从属端上层电路接收该从属端数据并据以更新一从属传送缓冲器写入指针,以及依据该主控接收缓冲器读取指针的一更新通知来更新一从属传送缓冲器读取指针。

本公开的数据传输电路的一实施例能够加快两系统单芯片之间的数据传输。该实施例包含一第一系统单芯片(例如:视频译码SoC或视频播放SoC),该第一系统单芯片包含:一第一传送环形缓冲器,用来从该第一系统单芯片的一上层电路接收第一端数据并据以更新一传送缓冲器写入指针,以及用来依据一第二系统单芯片的一读取指针更新通知来更新一传送缓冲器读取指针;以及一第一接收环形缓冲器,用来从该第二系统单芯片接收第二端数据并据以更新一接收缓冲器写入指针,以及用来于该上层电路读取该第二端数据后,更新一接收缓冲器读取指针。

本公开的数据传输方法的一实施例能够加快两系统单芯片之间的数据传输。该实施例是由一第一系统单芯片(例如:视频译码SoC或视频播放SoC)来执行,包含下列步骤:使用一传送环形缓冲器从该第一系统单芯片的一上层电路接收第一端数据,再据以更新一传送缓冲器写入指针;传送该传送环形缓冲器的该第一端数据至一第二系统单芯片;依据该第二系统单芯片的一读取指针更新通知来更新一传送缓冲器读取指针;使用一接收环形缓冲器接收该第二系统单芯片的第二端数据,再据以更新一接收缓冲器写入指针;在该上层电路读取该接收环形缓冲器的该第二端数据后,更新一接收缓冲器读取指针;以及发送该接收缓冲器读取指针的一更新通知给该第二系统单芯片。。

有关本发明的特征、实际操作与效果,兹配合图式作优选实施例详细说明如下。

附图说明

图1显示本公开的数据传输系统的一实施例;以及

图2显示本公开的数据传输方法的一实施例。

具体实施方式

图1显示本公开的数据传输系统的一实施例。图1的数据传输系统10能够加快两系统单芯片(SoCs)之间的数据传输,包含一主控系统单芯片(主控SoC)100与一从属系统单芯片(从属SoC)200;本说明书中,用语“主控”与“从属”是用来帮助说明,不代表两系统单芯片100、200之间必须有从属关系,该从属关系的有无需视两系统单芯片100、200之间的通讯协议而定。主控SoC 100(例如:视频译码SoC)包含一主控传送环形缓冲器(circular buffer)110与一主控接收环形缓冲器120。从属SoC 200(例如:视频播放SoC)包含一从属接收环形缓冲器210与一从属传送环形缓冲器220。从属接收环形缓冲器210与主控传送环形缓冲器110的写入指针实质地同步变化,且该两缓冲器的读取指针实质地同步变化;类似地,主控接收环形缓冲器120与从属传送环形缓冲器220的写入指针实质地同步变化,且该两缓冲器的读取指针实质地同步变化。据上所述,该主控/从属SoC 100/200可将该从属/主控接收环形缓冲器210/120的读写操作视为该主控/从属传送环形缓冲器110/220的读写操作,从而主控SoC 100与从属SoC 200之间的数据传输的部分数据复制程序可被省略,以加快该数据传输。值得注意的是,上述同步变化是指:在一第一指针的第一次改变后与第二次改变前,一第二指针的第一次改变需完成,且该第二指针的第一次改变需对应该第一指针的第一次改变。

请参阅图1。主控传送环形缓冲器110用来从主控SoC 100的一主控端上层电路102(例如:已知的视频译码电路用来依据输入信号产生主控端数据)接收主控端数据(例如:已译码的图像帧数据),并据以更新一主控传送缓冲器写入指针(M_TX(wp));在该主控端数据被送到从属SoC200后,主控传送环形缓冲器110用来依据一从属接收缓冲器读取指针(S_RX(rp))的一更新通知来更新一主控传送缓冲器读取指针(M_TX(rp)),其中该主控传送缓冲器写入指针与该主控传送缓冲器读取指针分别用来指出主控传送环形缓冲器110的写入与读取状态。主控接收环形缓冲器120用来自从属SoC 200接收从属端数据(例如:图像播放结束通知、图像参数(例如:亮度、对比度)调整通知、影音同步校正信号等),并据以更新一主控接收缓冲器写入指针(M_RX(wp));主控接收环形缓冲器120还用来于主控端上层电路102读取该从属端数据后,更新一主控接收缓冲器读取指针(M_RX(rp)),其中该主控接收缓冲器写入指针与该主控接收缓冲器读取指针分别用来指出主控接收环形缓冲器120的写入与读取状态。

请参阅图1。从属接收环形缓冲器210用来从主控SoC 100接收该主控端数据,并据以更新一从属接收缓冲器写入指针(S_RX(wp));从属接收环形缓冲器210还用来于从属SoC200的一从属端上层电路202(例如:已知的视频播放电路用来依据该主控端数据产生输出信号)读取该主控端数据后,更新该从属接收缓冲器读取指针,其中该从属接收缓冲器写入指针与该从属接收缓冲器读取指针分别用来指出从属接收环形缓冲器210的写入与读取状态。从属传送环形缓冲器220用来自从属端上层电路202接收该从属端数据,并据以更新一从属传送缓冲器写入指针(S_TX(wp));在该从属端数据送至主控SoC 100后,从属传送环形缓冲器220用来依据该主控接收缓冲器读取指针的一更新通知来更新一从属传送缓冲器读取指针(S_TX(rp)),其中该从属传送缓冲器写入指针与该从属传送缓冲器读取指针分别用来指出从属传送环形缓冲器220的写入与读取状态。

请参阅图1。主控SoC 100进一步包含一主控端接口电路104,其用来传送该主控端数据至从属SoC 200、接收来自从属SoC的该从属接收缓冲器读取指针的该更新通知、接收来自该从属SoC 200的该从属端数据、以及传送该主控接收缓冲器读取指针的该更新通知给该从属SoC 200。类似地,从属SoC 200进一步包含一从属端接口电路204,其用来接收来自主控SoC 100的该主控端数据、传送该从属接收缓冲器读取指针的该更新通知给主控SoC100、传送该从属端数据至主控SoC 100、以及接收来自主控SoC的该主控接收缓冲器读取指针的该更新通知。本实施例中,主控端接口电路104与从属端接口电路204均为已知的通用串行总线(USB)接口电路,然此并非本发明的实施限制,该两接口电路104、204也可以是符合其它协议的接口电路,如已知的快速周边组件互连(PCI Express,PCIe)接口电路。值得注意的是,相较于先前技术,主控端接口电路104可在未使用其它缓冲器的情形下,将该从属端数据储存于主控接收环形缓冲器120,因此可省略该其它缓冲器复制该从属端数据的程序;类似地,从属端接口电路204可在未使用其它缓冲器的情形下,将该主控端数据储存于从属接收环形缓冲器210,因此可省略该其它缓冲器复制该主控端数据的程序。

请参阅图1。为简化主控传送环形缓冲器110与从属接收环形缓冲器210之间的读写同步操作,主控传送环形缓冲器110的缓冲区大小(buffer size)可等于从属接收环形缓冲器210的缓冲区大小;换言之,该从属接收环形缓冲器可以是该主控传送环形缓冲器的复制,以便于同步双方的读写指针。类似地,为简化从属传送环形缓冲器220与主控接收环形缓冲器120之间的读写同步操作,从属传送环形缓冲器220的缓冲区大小可等于主控接收环形缓冲器120的缓冲区大小,以便于同步双方的读写指针。值得注意的是,只要两缓冲器的缓冲器大小比例已知,本领域具有通常知识者就能依该比例推算该两缓冲器的指针对应关系,以同步该两缓冲器的指针;换言之,该两缓冲器的缓冲器大小不一定要相等。另外,若前述主控数据的数据量大于前述从属数据的数据量,主控传送环形缓冲器110的缓冲区大小可大于主控接收环形缓冲器120的缓冲区大小,从属接收环形缓冲器210的缓冲区大小可大于从属传送环形缓冲器220的缓冲区大小;反之亦然。

请参阅图1。若主控SoC 100与从属SoC 200之间的通讯协议(例如:USB通讯协议)只允许主控SoC 100扮演主动方,主控SoC 100在传送该主控端数据至从属SoC 200后,可主动要求从属SoC 200提供该从属接收缓冲器读取指针的该更新通知,以据以更新该主控传送缓冲器读取指针;此外,主控SoC 100在接收该从属端数据前,可定期或不定期地主动询问从属SoC 200以得知该从属端数据的存在,从而要求从属SoC 200传送该从属端数据至主控SoC 100。

请参阅图1。图1的主控SoC 100与从属SoC 200的任一个可作为本公开的数据传输电路的一实施例。由于本领域具有通常知识者能够参考图1的实施例的揭露来了解本公开的数据传输电路的实施例的细节与变化,因此,重复及冗余的说明在此省略。

图2显示本公开的数据传输方法的一实施例,能够加快两系统单芯片(例如:图1的主控SoC 100与从属SoC 200)之间的数据传输。图2的实施例是由一第一系统单芯片(例如:图1的主控SoC 100或从属SoC 200)来执行,包含下列步骤:

S22:使用一传送环形缓冲器从该第一系统单芯片的一上层电路接收第一端数据,再据以更新一传送缓冲器写入指针;

S24:传送该传送环形缓冲器的该第一端数据至一第二系统单芯片;

S26:依据该第二系统单芯片的一读取指针更新通知来更新一传送缓冲器读取指针;

S27:使用一接收环形缓冲器接收该第二系统单芯片的第二端数据,再据以更新一接收缓冲器写入指针;

S28:在该上层电路读取该接收环形缓冲器的该第二端数据后,更新一接收缓冲器读取指针;以及

S29:发送该接收缓冲器读取指针的一更新通知给该第二系统单芯片。

由于本领域具有通常知识者能够参考图1的实施例的揭露来了解图2的实施例的细节与变化,亦即图1的实施例的技术特征均可合理应用于图2的实施例中,因此,重复及冗余的说明在此予以节略。

请注意,在实施为可能的前提下,本技术领域具有通常知识者可选择性地实施前述任一实施例中部分或全部技术特征,或选择性地实施前述多个实施例中部分或全部技术特征的组合,藉此增加本发明实施时的弹性。

综上所述,本发明藉由同步两系统单芯片的缓冲器的读写操作,加快该两系统单芯片之间的数据传输。

虽然本发明的实施例如上所述,然而该些实施例并非用来限定本发明,本技术领域具有通常知识者可依据本发明的明示或隐含的内容对本发明的技术特征施以变化,凡此种种变化均可能属于本发明所寻求的专利保护范畴,换言之,本发明的专利保护范围需视本说明书的权利要求范围所界定者为准。

【符号说明】

10数据传输系统

100主控系统单芯片(主控SoC)

102主控端上层电路

104主控端接口电路

110主控传送环形缓冲器

120主控接收环形缓冲器

200从属系统单芯片(从属SoC)

202从属端上层电路

204从属端接口电路

210从属接收环形缓冲器

220从属传送环形缓冲器

M_TX(wp)主控传送缓冲器写入指针

M_TX(rp)主控传送缓冲器读取指针

M_RX(wp)主控接收缓冲器写入指针

M_RX(rp)主控接收缓冲器读取指针

S_RX(wp)从属接收缓冲器写入指针

S_RX(rp)从属接收缓冲器读取指针

S_TX(wp)从属传送缓冲器写入指针

S_TX(rp)从属传送缓冲器读取指针

S22~S29步骤。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种跨节点通信方法、装置、设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!