一种自适应调节DSP间数据流负载的方法技术

技术编号:19242592 阅读:84 留言:0更新日期:2018-10-24 05:18
本发明专利技术提供了一种自适应调节DSP间数据流负载的方法,属于信号处理技术领域。所述方法包括按定时器的周期将发送端DSP的发送队列中的数据按顺序发送到接收端DSP的接收队列中;其中,所述定时器的周期根据发送队列中的数据包个数进行调节,当发送队列满时,所述定时器的周期设定在其下限值,当发送队列空时,所述定时器的周期设定在其上限值,当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短。本发明专利技术数据包间隔可随数据包发送频率自适应调节,降低了数据流水线出现短时间负载过大导致传输失败的概率。

【技术实现步骤摘要】
一种自适应调节DSP间数据流负载的方法
本专利技术属于信号处理
,具体涉及一种自适应调节DSP间数据流负载的方法。
技术介绍
DSP(数字信号处理)处理器常用来组成多处理器阵列,DSP间通过高速数据总线传输数据。如ADSP-TS201间通过点对点的Link口传输数据,传输速率按照快慢共有四级,可由数据发送方的DSP自行调节。如TMS320C6678间通过点对点的HyperLink传输数据,传输数据按照快慢共有六级,发送和接收的两端DSP间需通过训练建立连接。在实际工程应用中,DSP间的数据传输量较大,前后两个数据包间的时间间隔往往和处理速度、传输速率等有关。当外部条件或DSP实现的处理算法等发生改变时,数据包时间间隔往往也会改变,即数据流水线的时序发生变化,这就导致了一些问题:1)当环境温度变化时,电路的传输性能会随之变化,特别是在一些极端情况下,如低温-55摄氏度下,传输速率变慢,导致数据包时间间隔变小,严重时可能会导致数据堆叠,造成传输错误,引起程序死机;2)当DSP实现的功能发生变化时,数据包间隔会随之变化,也可能导致数据堆叠,造成传输错误。
技术实现思路
为了解决上述问题,本专利技术提供了一种自适应调节DSP间数据流负载的方法,通过稳定数据流水线的时序,降低数据堆叠的概率,从而提高数据传输的稳健性,以降低在特殊环境条件下发生设备故障的可能性。本专利技术自适应调节DSP间数据流负载的方法主要包括:步骤1、在发送端DSP中设置一个周期可调的定时器;步骤2、将待发送的数据按顺序放入发送队列;步骤3、按所述定时器的周期将发送队列中的数据按顺序发送到接收端DSP的接收队列中;其中,所述定时器的周期根据发送队列中的数据包个数进行调节,当发送队列满时,所述定时器的周期设定在其下限值,当发送队列空时,所述定时器的周期设定在其上限值,当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短。优选的是,所述发送队列为队列深度不小于4的先入先出队列。优选的是,所述接收队列为队列深度不小于4的先入先出队列。优选的是,所述定时器的周期下限值计算方式为Td=k×L/V;其中,L为数据包长度,V为传输速率,k为常数。优选的是,所述定时器的周期上限值不小于下限值的2倍。本专利技术具备的优点有:1)数据包间隔可随数据包发送频率自适应调节,降低数据流水线出现短时间负载过大导致传输失败的概率;2)队列的深度越大,负载问题导致传输失败的概率越小;3)特别适用于突发性大数据量传输的场合。附图说明图1为按照本专利技术自适应调节DSP间数据流负载的方法的一优选实施例的流程图。图2为按照本专利技术图1所示实施例的DSP数据传输示意图。具体实施方式为使本专利技术实施的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图对本专利技术的实施例进行详细说明。如图1所示,本专利技术提供的自适应调节DSP间数据流负载的方法,主要包括以下步骤:步骤1、在发送端DSP中设置一个周期可调的定时器;步骤2、将待发送的数据按顺序放入发送队列;步骤3、按所述定时器的周期将发送队列中的数据按顺序发送到接收端DSP的接收队列中;其中,所述定时器的周期根据发送队列中的数据包个数进行调节,当发送队列满时,所述定时器的周期设定在其下限值,当发送队列空时,所述定时器的周期设定在其上限值,当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短。需要说明的是,在所述步骤1中,进一步包括定时器周期设置模块,该设置模块首先获取待传送数据包的长度、传输速率,根据公式计算定时周期的下限值,以及根据所述下限值确定上限值,并且根据上限值及下限值确定发送队列非空非满情况下的定时周期。备选实施方式中,上限值、下限值可以事先计算好,并结合发送队列的队列深度设定传输速率,之后将这些值导入到DSP的定期器中,以按照该定期器的周期控制发送队列的传输。实施例1、以两片TMS320C6678之间进行数据传输为例进行说明。一片TMS320C6678(以下称之为DSPA)向另一片TMS320C6678(以下称之为DSPB)用HyperLink以接近满负荷的情况发送数据,步骤如下:1)在DSPA中启动一个定时周期可调节的定时器,用作数据传输专用的节拍器;2)在DSPB的外存DDR3中,建立一个队列深度为8的FIFO(先入先出)队列,DSPB把接收到的数据包都放入该接收队列;3)在DSPA的内存或外存中,建立一个队列深度为8的FIFO(先入先出)队列,DSPA把要发送的数据包都放入该发送队列;数据包只有在队列非满时才能放入队列,否则等待,当等待时间超出限定值后,丢弃该数据包;4)当DSPA中定时器中断触发时,即节拍到达时,如发送队列非空则取出并发送队列中最老的一个数据包;5)DSPA中定期器的周期,随着发送队列中数据包个数进行调整:当发送队列满时,定时周期设定在一个下限值;当发送队列为空时,定时周期设定在一个上限值;当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短;6)数据包长度L为4096字节,传输速率V为1GB/s,常数k为1,由公式Td=k×L/V计算的定时周期的下限值Td约为4微秒。7)定时周期的上限值设定为12微秒。当发送队列非空非满时,定时周期在上限值和下限值间线性调节,例如发送队列中存在两个数据包,则周期为10微秒。实施例2、以两片ADSP-TS201之间进行数据传输为例进行说明。一片ADSP-TS201(以下称之为DSPA)向另一片ADSP-TS201(以下称之为DSPB)用Link以接近满负荷的情况发送数据,步骤如下:8)在DSPA中启动一个定时周期可调节的定时器,用作数据传输专用的节拍器;9)在DSPB的外存SDRAM中,建立一个队列深度为10的FIFO(先入先出)队列,DSPB把接收到的数据包都放入该接收队列;10)在DSPA的内存或外存中,建立一个队列深度为10的FIFO(先入先出)队列,DSPA把要发送的数据包都放入该发送队列;数据包只有在队列非满时才能放入队列,否则等待,当等待时间超出限定值后,丢弃该数据包;11)当DSPA中定时器中断触发时,即节拍到达时,如发送队列非空则取出并发送队列中最老的一个数据包;12)DSPA中定期器的周期,随着发送队列中数据包个数进行调整:当发送队列满时,定时周期设定在一个下限值;当发送队列为空时,定时周期设定在一个上限值;当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短;13)数据包长度L为2048字节,传输速率V为600MB/s,常数k为1,由公式Td=k×L/V计算的定时周期的下限值Td约为3微秒。14)定时周期的上限值本文档来自技高网...

【技术保护点】
1.一种自适应调节DSP间数据流负载的方法,其特征在于,包括:步骤1、在发送端DSP中设置一个周期可调的定时器;步骤2、将待发送的数据按顺序放入发送队列;步骤3、按所述定时器的周期将发送队列中的数据按顺序发送到接收端DSP的接收队列中;其中,所述定时器的周期根据发送队列中的数据包个数进行调节,当发送队列满时,所述定时器的周期设定在其下限值,当发送队列空时,所述定时器的周期设定在其上限值,当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短。

【技术特征摘要】
1.一种自适应调节DSP间数据流负载的方法,其特征在于,包括:步骤1、在发送端DSP中设置一个周期可调的定时器;步骤2、将待发送的数据按顺序放入发送队列;步骤3、按所述定时器的周期将发送队列中的数据按顺序发送到接收端DSP的接收队列中;其中,所述定时器的周期根据发送队列中的数据包个数进行调节,当发送队列满时,所述定时器的周期设定在其下限值,当发送队列空时,所述定时器的周期设定在其上限值,当发送队列非空非满时,定时周期在上限值和下限值间线性调节,队列中的数据包越多则定时周期越短。2.如权利要求...

【专利技术属性】
技术研发人员:张象羽朱明慧
申请(专利权)人:中国航空工业集团公司雷华电子技术研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1