一种乒乓控制的方法及装置的制作方法

文档序号:6458783阅读:215来源:国知局
专利名称:一种乒乓控制的方法及装置的制作方法
技术领域
本发明涉及数据緩存技术,尤其涉及一种兵乓控制的方法及装置。
技术背景乒乓緩存(Ping Pong Buffer)机制是一种比较常用的增加数据带宽的緩存 方式。可以用在任何一个需要读操作和写操作同时进行的系统中,也是专用集 成电路(ASIC, Application Specific Integrated Circuit)设计中常用的方法,用于 对数据流进行控制处理。参见图1,是现有技术提供的乒乓控制的组成示意图。乒乓控制的处理流程为输入数据流通过"输入数据流选择单元"将数据 流等时分配到两个数据緩冲区,在第一个緩冲周期,将输入的数据流緩存到"数 据緩冲模块0";在第二个緩冲周期,通过"输入数据流选择单元"的切换,将 输入的数据流緩存到"数据緩冲模块1",同时将"数据緩冲模块0"緩存的第 一个周期数据通过"输出数据流选择单元"的选择,送到"数据流运算处理模 块"进行运算处理;在第三个緩沖周期,通过"输入lt据流选择单元"的再次切 换,将输入的数据流緩存到"数据緩冲模块0",同时将"数据緩冲模块1"緩 存的第二个周期的数据通过"输出数据流选择单元"切换,送到"数据流运算 处理模块"进行运算处理。如此循环。现有技术提供的乒乓控制,比较常用的方法是使用两个双口随机緩存器 (RAM, Random Access Memory)作为数据緩存区,每块RAM的两个端口分 别定义为读出端口和写入端口。并使用周期性翻转信号作为兵乓控制信号,使 得在某一时刻,其中一个双口 RAM的写入端口^f皮打开,读出端口关闭;同时, 另一个双口 RAM的读出端口^皮打开,写入端口关闭,这样无论何时读、写都不 会同时操作同一块RAM,避免了读写冲突,而且对于读写电路来说两块RAM 使用同一套地址。发明人在实施本发明的过程中,发现上述现有的乒乓控制具有如下缺点现有技术中的乒乓控制信号是一个周期性定时翻转信号,在外部设备向数 据緩存区写入数据时,如果外部设备不能准确知道乒乓控制信号的定时,那么 在写数据过程中兵乓控制信号发生翻转,数据会写入两个緩存器,导致数据写入错误;且写数据和读数据具有相同的时间窗,不适用于写数据的速度比读数 据的慢的情况。发明内容本发明实施例提供一种乒乓控制的方法及装置,使用多个数据緩存单元来 实现交替的读写操作,可延长写数据的时间窗。为解决的上述技术问题,本发明实施例提供了一种实现兵乓操作的方法, 所述方法包4舌在数据发送方发出的写控制信号的控制下,依次对至少三个緩存单元进行 写数据,且对緩存单元的写数据是在所述緩存单元的非读数据状态下进行;在 定时计数信号的控制下,按周期依次对所述至少三个緩存单元进行读数据。相应地,本发明实施例还才是供了一种兵乓控制的装置,所述装置包括緩存模块,包括至少三个緩存单元;写数据控制模块,用于在数据发送方发出的写控制信号的控制下,依次对 所述至少三个緩存单元进行写数据,且对緩存单元的写数据是在所述緩存单元 的非读数据状态下进行;读数据控制模块,用于产生定时计数信号,并在所述定时计数信号的控制 下,按周期依次对所述至少三个緩存单元进行读数据。实施本发明实施例^是供的兵乓控制的方法及装置,具有以下有益效果由数据发送方控制緩存单元进行写操作切换,可避免在写入同一帧数据的 过程中緩存单元发生切换,导致数据写入错误的问题;且在数据緩存区中使用 多个緩存单元来实现交替的读写操作,可延长写数据的时间窗。


图l是现有技术提供的兵乓控制的组成示意图;图2是本发明实施例提供的兵乓控制的装置的组成示意图;图3是如图2所示装置中写数据控制模块的组成示意图;图4是如图2所示装置中读数据控制模块的组成示意图;图5是本发明实施例提供的乒乓控制的方法的写数据的流程示意图;图6是本发明实施例提供的兵乓控制的方法的读数据的流程示意图;图7是本发明实施例提供的乒乓控制的装置的电路结构示意图;图8是本发明实施例提供的乒乓控制的装置的写控制电路的结构示意图;图9是如图7所示的乒乓控制的装置的读写时间窗的示意图。
具体实施方式
参见图2,是本发明实施例提供的乒乓控制的装置的组成示意图; 所述兵乓控制的装置主要包括写数据控制模块l,用于在写控制信号的控制下,依次循环地对各个缓存单 元进行写数据,且对某一緩存单元的写数据在所述緩存单元的非读数据状态下 进行;所述写控制信号由数据发送方发出,表明所述数据发送方将要下发新一 帧数据;读数据控制模块3,用于产生定时计数信号,并在所述定时计数信号的控制 下,按周期依次对各个緩存单元进行读数据;緩存模块2,包括至少三个緩存单元,以延长写操作的时间窗;由于读数据是在定时计数信号的控制下,定时地轮流从各个緩存单元读出 数据,所以通过增加緩存单元的数目,可延长每个緩存单元处于非读数据状态 下的时间窗,即延长了写数据的时间窗。釆用至少三个緩存单元,可使写数据 时间窗大于或等于两倍的读数据时间窗,可解决写速度小于读速度的问题。参见图3,是如图2所示装置中写数据控制模块的组成示意图;所述写数据控制模块1包括信号处理单元11,用于接收到写控制信号后,对写緩存选择信号的当前值 进行加1运算,指示对下一个緩存单元进行写操作;所述信号处理单元内设置 有计数器,用于对写緩存选择信号的当前值进行加1运算;所述计数器计到n -l时,当再次进行加1运算时返回0,依次循环;其中,n为所述緩存单元的 个数。所述计数器的位数至少为m位当^g〗为整数时,m可以为^g〗;当 为非整数时,m可以为^g2"取整数后再加1。写緩存选择单元12,用于根据写緩存选择信号的值选择对应的緩存单元进行写操作;例如,当写緩存选择信号的值为0时,选择緩存单元0进行写数据 操作;当写緩存选择信号的值为1时,选择緩存单元1进行写数据操作;依此 类推。参见图4,是如图2所示装置中读数据控制模块3的组成示意图; 所述读数据控制模块包括定时计数单元31,用于产生定时计数信号,所述定时计数信号按周期进行 定时计数,指示需要进行读出的数据的帧号;当达到定时时间时,所述定时计 数信号指向下一帧号。读緩存选择单元32,用于在定时计数信号发生跳变时,选择帧号与定时计 数信号相符的数据进行读出;所述数据的帧号是在对緩存单元进行写操作时, 随同数据一起写入緩存单元,用于指示所述数据的读出顺序。参见图5,是本发明实施例提供的乒乓控制的方法的写数据的流程示意图;在步骤S100,是否接收到数据发送方的写控制信号,若否,执行步骤S101, 若是,则执行步骤S102;所述写控制信号由数据发送方发出,.表明所述数据发 送方将要下发新一帧数据;在步骤SIOI,没有接收到写控制信号,写緩存选择信号的当前值保持不变, 写操作不进行切换;在步骤S102,接收到写控制信号,即数据发送方将要向数据緩存区写入新 一帧数据,则对写緩存选择信号的当前值进行加1运算,写操作切换到下一个 缓存单元;当写緩存选择信号加到n-l时,再次进行加1运算则返回0,其中n 为缓存单元的个数;例如,当使用三个緩存单元时,接收到写控制信号后,对 写緩存选择信号的当前值进行加l运算时,从0计到2,当计算到2后,如果再 次接收到写控制信号时,写緩存选择信号的值返回O,依次循环。在步骤S103,根据写緩存选择信号的值选择相应的緩存单元进行写操作; 例如,当写緩存选择信号为O,写操作切换到緩存单元O;当写緩存选择信号为 1,写操作切换到緩存单元l;当写緩存选4奪信号为n-l,写操作切换到緩存单元 n-l;依此类推。参见图6,是本发明实施例提供的乒乓控制的方法的读数据的流程示意图; 在步骤S200,各緩存单元具有一套相同的地址,且都预先设置为数据输出 允许状态,当接收到读地址信息时,所有緩存单元均输出相应地址内的数据;在步骤S201,定时计数信号按周期进行定时计数,指示需要进行读出的数 据的帧号;当到达定时时间时,则所述定时计数信号跳变到下一帧号;在步骤S202,当定时计数信号发生跳变时,查询所有緩存单元输出的数据 的帧号;所述数据的帧号是在对緩存单元进行写操作时,随同数据一起写入緩 存单元,用于指示所述凄史据的读出顺序;在步骤S203,选择帧号与所述定时计数信号相符的数据进行读出。参见图7,是本发明实施例提供的乒乓控制的装置的电路结构示意图;下面以数据信号处理器(DSP, Digital Signal Processing)作为数据发送方 为例进行说明。图7中的各种信号介绍如下rpipa—ctrl为读緩存选择信号;radr为读地址;dsp—addr为DSP写地址;dsp—data为DSP写数据;dsp—wren为DSP写有效信号;dsp一ce为DSP片选有效信号;wpipa_ctrl为写緩存选择信号;如图7所示的兵乓控制的装置中使用了三块双口 RAM,分别为RAMO、 RAM1、 RAM2,用于緩存数据,实现交替的读写操作;每个緩存器中A口定义 为读出端口, b 口定义为写入端口。写数据和读数据的控制信号分别由两个不同 的控制源产生,其中,写緩存选择信号wpipa—Ctrl是在DSP的控制下,由写控 制电路产生;读緩存选择信号rpipa一ctrl由读控制电路产生。数据发送单元DSP在将要下发新一帧数据时,通过发送写控制信号来控制 写緩存选择信号wpipa—ctrl进行加1运算,并与片选信号dsp—ce相与得到特定 的緩存器的写入允许信号,具体地,在片选信号dsp—ce有效的情况下,wpipa_ctrl 为00时,只有RAMO的写入端口打开,其它RAM的写入端口关闭,写操作切 换到緩存器RAMO; wpipa_ctrl为01时,同样,只有RAMI的写入端口打开, 写操作切换到緩存器RAMI; wpipa_ctrl为10时,同样,只有RAM2的写入端 口打开,写操作切换到緩存器RAM2;当緩存器写操作有效时,该緩存器接收DSP 下发的写数据信息和写地址信息,在对应的地址内写入lt据。对緩存器进行读数据的原理为每个RAM的读出端口都处于数据输出允许状态,当读地址信息输入时,三块RAM都会输出相应地址内的数据,再通过读 緩存选择信号rpipa—ctrl选择帧号正确的数据进行读出。所述数据的帧号是在对 RAM进行写操作时,随同数据一起写入,并存储在RAM中,用于指示该数据 《可时^皮读出。读緩存选择信号rpipa_ctrl由读控制电路来产生。读控制电路内部包含有一 个定时计数器,定时计数信号按周期进行定时计数,指示需要进行读出的数据 的帧号;当定时时间到,则所述定时计数信号跳变到下一帧号,查询三个RAM 所输出的数据的帧号,并生成读緩存选择信号rpipa_ctrl选择帧号相符的数据进 行读出。本发明实施例4是供的乒乓控制的装置,所述数据缓存区还可使用三个以上 的緩存单元来构成,所述緩存单元也不局限于双口 RAM,还可使用单口RAM、 FIFO (First Input First Output)等存储器。参见图8,是本发明实施例提供的乒乓控制的装置的写控制电路的结构示意 图;图中各种信号介绍如下dsp—addr为DSP写地址;dsp—wdata为DSP写数据;dsp—wren为DSP写有效信号;dsp—ce为DSP片选有效信号;pipa—Ctrl为写緩存选择信号;DSP作为数据发送方,用于向緩存区发送数据和写控制信号;如图所示, 给DSP预留一个地址,当DSP往该地址写入特定值时,说明DSP要下发新一 帧数据。如图中所示,所述DSP发送的写控制信号为dsp_addr、 dsp_wdata、 dsp—wren信号和dsp^e信号相与后得出的使能信号,当该使能信号有效时,表 明DSP将要向緩存区写入新一帧数据,则对写搡作选择信号pipa—Ctrl的当前值 进行加l运算;若所述使能信号无效,则保持pipa—ctrl的当前值不变。本发明实施例提供的写控制电路内部设有计数器,用于对pipa—Ctrl信号进 行运算;为了与如图7所示的装置中的三个緩存器相对应,下面使用2bit(2位) 计数器来举例说明。所述计数器对写緩存选择信号pipa_ctrl的当前值进行加1运算,从0计到2, 当pipa^trl信号的值计算到2后,如果再次接收到DSP的写控制信号,则pipa_ctrl信号的值返回0,即pipa—ctrl信号由00到01,再到10,返回00,依次循环。需要说明的是,这里仅以2bit的计数器为例进行说明,若乒乓控制的装置使用n个緩存器时,则计数器的最小位数m如下 当log〗为整数时,m为log,;当log〗为非整数时,m为log;取整数后再加1 。参见图9,是如图7所示的乒乓控制的装置的读写时间窗的示意图。下面结合图9说明本发明实施例提供的乒乓控制的装置的写数据和读数据 的时间窗,以及在实际应用中带来的有益效果。如图9所示,使用三块RAM进行举例说明,在对RAM进行操作时,控制 在任一时刻,写数据和读数据都处于不同的RAM中。读数据是一个勻速的操作, 定时计数信号以周期t进行切换,每当定时时间t到,就指向下一个RAM,依 次对RAM进行读数据,每块RAM中的数据可在时间t读完,当读完一块RAM 后,读操作切换到另一块RAM。同时,也依次循环地对各个RAM进行写数据, 且控制对某一緩存单元的写数据在所述緩存单元的非读数据状态下进行。写数 据和读数据的时间窗具体如下在第一个周期,对RAMl进行读数据;在第二个周期,对RAM2进行读数据;同时,在第一和第二周期内,向RAMO 写入数据dataO,并在第三周期到来之前写完数据dataO;在第三周期,对RAMO进行读数据,读出数据dataO;同时,在第一和第二 周期内,数据dataO写完后,数据发送方再下发新一帧数据时,写数据切换到 RAMI,向RAMI写入数据datal,并在第四周期到来之前写完数据datal;在第四个周期,对RAM1进行读数据,读出数据datal;依次类推进行读写操作。由此可见,对某一緩存单元的写凄t据被控制在该緩存单元的非读数据状态 下进行,即緩存单元的数目越多,对于单个緩存单元来说,处于非读数据状态 的时间就越长。所以本发明实施例提供的乒乓控制的装置,使用多个緩存单元, 可延长写数据的时间窗。写数据的时间窗rw的计算公式如下Tw =(7V-1) xt;其中N(N》3)为緩存单元的个数,t为定时计数信号的周期(也即为读数据的周期)。采用本发明实施例,可使写数据时间窗大于或等于两倍的读数据时 间窗,可解决写速度小于读速度的问题。本发明实施例所提供的乒乓控制的装置可应用于高速下行分组接入(HSDPA, High Speed Downlink Packages Access)信道调制与编码接口电路中。HSDPA信道发送的数据是2ms帧,每次发送给调制电路的数据在2ms后会 用完,所以为保证调制电路连续地正常工作,HSDPA需要发送连续的数据帧。 一般情况下,编码数据是由外部DSP下发的,再通过HSDPA信道传送给调制 电路。HSDPA使用2ms帧对于DSP的定时要求很高,由于很多时候DSP还要 处理其它信道的数据,负载很大,DSP很难保证在每个2ms内把数据下发完成。 为了保证读写的正常执行就需要使用乒乓控制结构。本发明实施例所提供的乒 乓控制的装置应用于HSDPA信道调制与编码接口电路中,定时计数信号设置为 按2ms周期进行切换,并采用三个緩存单元的结构,可实现DSP下发数据的时 间窗延长到4ms,且写操作由DSP来控制,避免了 DSP在写同一帧数据时,緩 存单元发生切换导致数据写入错误的问题。上述仅以HSDPA信道调制与编码接口电路为例进行说明,本发明同样可以 应用于其它的需要读数据和写数据同时进行的系统中。本发明实施例所提供的乒乓控制的方法及装置,由数据发送方控制緩存单 元进行写操作切换,可避免在写同一帧数据的过程中緩存单元发生切换,导致 数据写入错误的问题;且在数据緩存区中^f吏用多个緩存单元来实现交替的读写 操作,可延长写数据的时间窗。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发 明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的 范围。
权利要求
1、一种乒乓控制的方法,其特征在于,包括在数据发送方发出的写控制信号的控制下,依次对至少三个缓存单元进行写数据,且对缓存单元的写数据是在所述缓存单元的非读数据状态下进行;在定时计数信号的控制下,按周期依次对所述至少三个缓存单元进行读数据。
2、 如权利要求1所述的乒乓控制的方法,其特征在于,所述在数据发送方 发出的写控制信号的控制下依次对至少三个緩存单元进行写数据的方法包括接收到数据发送方发出的写控制信号后,对写緩存选择信号的当前值进行 力口 1运算;根据写緩存选择信号的值选择对应的緩存单元,并向所述緩存单元写入数据。
3、 如权利要求2所述的乒乓控制的方法,其特征在于,当所述写緩存选择 信号的值加到n-l时,再次接收到写控制信号后,则所述写緩存选择信号的值 返回O,依次循环;其中,n为所述緩存单元的个数。
4、 如权利要求1所述的乒乓控制的方法,其特征在于,所述在定时计数信 号的控制下按周期依次对所述至少三个緩存单元进行读数据的方法包括接收到读地址信息后,各緩存单元输出数据; 定时计数信号发生跳变时,查询各緩存单元所输出的数据中的帧号; 选捧帧号与定时计数信号相符的数据进行读出。
5、 如权利要求1或4所述的乒乓控制的方法,其特征在于,所述定时计数 信号按周期进行定时计数,指示需要进行读出的数据的帧号;当达到定时时间 时,所述定时计lt信号指向下一帧号。
6、 一种兵乓控制的装置,其特征在于,所述装置包括 緩存模块,包括至少三个緩存单元;写数据控制模块,用于在数据发送方发出的写控制信号的控制下,依次对 所述至少三个緩存单元进行写数据,且对緩存单元的写数据是在所述緩存单元的非读数据状态下进行;读数据控制模块,用于产生定时计数信号,并在所述定时计数信号的控制 下,按周期依次对所述至少三个緩存单元进行读数据。
7、 如权利要求6所述的乒乓控制的装置,其特征在于,所述写数据控制模 块包括信号处理单元,接收到写控制信号后,对写緩存选择信号的当前值进行加1 运算,指示对下一个緩存单元进行写操作;写緩存选择单元,根据写緩存选择信号的值选择对应的緩存单元进行写数据。
8、 如权利要求6所述的乒乓控制的装置,其特征在于,所述读数据控制才莫 块包括定时计数单元,用于产生定时计数信号,所述定时计数信号按周期进行定 时计数,指示需要进行读出的数据的帧号;当到达定时时间时,所述定时计数 信号指向下一帧号;读緩存选择单元,在定时计数信号发生跳变时,选择帧号与定时计数信号 相符的数据进行读出。
9、 如权利要求7或8所述的乒乓控制的装置,其特征在于,所述信号处理 单元包括计数器,所述计数器在接收到写控制信号后,对写緩存选择信号的当 前值进行加1运算;在计到n - 1时,再次进行加1运算则返回0,依次循环; 其中,n为所述緩存单元的个数。
10、 如权利要求9所述的兵乓控制的装置,其特征在于,所述緩存^f莫块由 至少三个双端口随机存储器构成,每个随机存储器的两个端口分别定义为写入 端口和读出端口;在所述定时计数信号发生跳变时,扫描各读出端口的输出数 据,选择帧号与所述定时计数信号相符的数据进行读出;在数据发送方发出的写控制信号的控制下,根据写緩存选择信号的值,将相应随机存储器的写入端口置为数据写入允许状态,在所述随机存储器的非读数据的状态下向所述写入 端口写入数据。
全文摘要
本发明实施例公开了一种乒乓控制的方法,包括在数据发送方发出的写控制信号的控制下,依次对至少三个缓存单元进行写数据,且对缓存单元的写数据是在所述缓存单元的非读数据状态下进行;在定时计数信号的控制下,按周期依次对所述至少三个缓存单元进行读数据。本发明实施例还提供了一种乒乓控制的装置。采用本发明实施例,在数据缓存区中使用多个缓存单元来实现交替的读写操作,可延长写数据的时间窗。
文档编号G06F12/08GK101236528SQ200810026389
公开日2008年8月6日 申请日期2008年2月20日 优先权日2008年2月20日
发明者亮 堵, 全 孙 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1