CN103066997A - 一种基于fpga的双通道无缝数字延迟实现方法 - Google Patents

一种基于fpga的双通道无缝数字延迟实现方法 Download PDF

Info

Publication number
CN103066997A
CN103066997A CN2012104970934A CN201210497093A CN103066997A CN 103066997 A CN103066997 A CN 103066997A CN 2012104970934 A CN2012104970934 A CN 2012104970934A CN 201210497093 A CN201210497093 A CN 201210497093A CN 103066997 A CN103066997 A CN 103066997A
Authority
CN
China
Prior art keywords
data
data storage
storage area
delay
fpga
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.)
Granted
Application number
CN2012104970934A
Other languages
English (en)
Other versions
CN103066997B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201210497093.4A priority Critical patent/CN103066997B/zh
Publication of CN103066997A publication Critical patent/CN103066997A/zh
Application granted granted Critical
Publication of CN103066997B publication Critical patent/CN103066997B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种基于FPGA的双通道无缝数字延迟实现方法,为了克服现有延迟线延迟时间更改切换占用系统处理时间,降低系统工作效率的不足,充分考虑到FIFO的工作特点,采用两个相同结构的FIFO数据存储区,按不同延迟时间要求来设置并选择不同数据存储区对应的通道来输出数据,当一个通道在进行重新设置时,另一个通道还在不间断输出数据,当通道重新设置并写满时,系统切换两个通道的状态,读取最新设置的数据存储区的数据,使得从该数据存储区对应通道的输入数据与输出数据之间的延时满足当前要求并避免了数据存储区切换导致系统出现等待数据输出的空闲状态,实现不同延迟输出的无缝切换,可以更好地模拟出真实的回波环境。

Description

一种基于FPGA的双通道无缝数字延迟实现方法
技术领域
本发明属于信号处理技术,具体涉及数字延迟技术。
背景技术
延迟是信号处理的一个基本操作,随着数字技术的发展,数字延迟线在雷达、通信等领域得到越来越广泛的应用。采用FPGA芯片,通过硬件编程实现数字延迟线是当前的一个设计趋势。采用FPGA芯片实现数字延迟,其延迟的时长是通过预设队列FIFO(先入先出队列)中数据存储区的长度来实现的。如图1所示,当需要延时N个时钟周期,则设置数据存储区的长度为N。这样,本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。数据存储区中写指针指向存储单元与读指针指向存储单元间隔了长度N。每一个时钟周期,FPGA芯片向写指针指向存储单元写入数据;当数据存储区被写满后,每一个时钟周期FPGA芯片由读指针指向存储单元读取数据。即从数据写入数据存储区到数据从数据存储区被读出就间隔了N个时钟周期,从而实现输入数据与输出数据之间延时N个时钟周期。
在雷达信号模拟中,根据目标的运动规律,回波信号时延会有增大或减小的变化,需对信号进行不同时长的延时处理。在输出延时时长需修改时,应将FIFO中数据存储区清空,按照新的时长重新设置数据存储区大小后,等待数据装满再输出新的时延的数据。数据存储区切换所需的系统处理时间(将清空FIFO并按照新的时长重新装载数据需要耗费的系统处理时间)导致系统出现等待数据输出的空闲状态。由于真实的回波环境并不存在这样的空闲状态,因此灵活地改变FPGA实现不同数字时延大小的切换,避免出现空闲状态以实现“无缝”变得越来越重要。
发明内容
本发明所要解决的技术问题是,提供一种基于FPGA的无缝数字延迟线实现方法。
本发明为解决上述技术问题所采用的技术方案是,一种基于FPGA的双通道无缝数字延迟实现方法,包括以下步骤:
初始设置两片FIFO数据存储区的大小;选择两片数据存储区中的一片为输出状态,另一片为仅写入状态;需进行延时的数据不间断依序同时送入两片数据存储区;
当数据存储区被写满后,开始读取并输出处于输出状态的数据存储区的读指针指向存储单元的数据,另一片处于仅写入状态数据存储区写满后数据溢出;
当输出数据相对于输入数据的延迟需要进行调整时,在继续对输出状态的数据存储区进行读取的同时,对处于仅写入状态的数据存储区进行清空并重新设置该数据存储区的长度为目标延时长度;待重新设置后的处于仅写入状态的数据存储区重新写满后,根据时序切换两片数据存储区的状态。
本发明为了克服现有延迟线延迟时间更改切换占用系统处理时间,降低系统工作效率的不足,充分考虑到FIFO的工作特点,采用两个相同结构的FIFO数据存储区,按不同延迟时间要求来设置并选择不同数据存储区对应的通道来输出数据,当一个通道在进行重新设置时,另一个通道还在不间断输出数据,当通道重新设置并写满时,系统切换两个通道的状态,读取最新设置的数据存储区的数据,使得从该数据存储区对应通道的输入数据与输出数据之间的延时满足当前要求并避免了数据存储区切换导致系统出现等待数据输出的空闲状态。
更进一步的,为了使得本发明的延时的实时性最强,输出数据相对于输入数据的延迟需要进行调整的时机为:根据目标运动规律与数据存储区切换所需的系统处理时间,在目标延时变化之前,预先对处于仅写入状态的数据存储区进行清空并重新设置该数据存储区的长度,使得状态切换完成后该数据存储区开始输出数据时,输出数据相对于输入数据满足当前时刻对应的变化后目标延时。即,在目标延时变化之前,根据数据存储区切换所需的系统处理时间提前开始进行数据存储区切换处理,待数据存储区切换完成后,输出数据的延时满足变化后的目标延时要求。
本发明的有益效果是,通过两个结构相同的FIFO数据存储区的交替设置与交替输出实现不同延迟输出的无缝切换,可以更好地模拟出真实的回波环境。
附图说明
图1为现有FPGA芯片实现数字延迟的示意图;
图2为实施例FPGA芯片实现数字延迟的示意图。
具体实施方式
如图2所示,实现数字延迟线需要用到:1、两个可预置数据存储区大小的FIFO,用于保存输入数据;用于将带延迟的数据分送到两个这数据存储区的分线器;多路模拟开关MUX,用于选择不同数据存储区对应通道的数据作为输出数据。FIFO采用FPGA的IP核实现。FIFO数据区大小采用USEDW信号设置。FIFO数据区清空采用CLR信号控制。
基于FPGA的双通道无缝数字延迟实现方法,以模拟的回波环境中目标的运动越来越近,回波信号时延逐渐减小为例,步骤如下:
步骤一、设置两片FIFO数据存储区的初始大小,FIFO1设置长度为N,FIFO2设置长度为N-1。FIFO的存取方式:连续写入时,数据依序输入写指针指向的存储单元;读取时,从读指针指向的存储单元读取数据,设置数据存储区长度后,输出数据延迟时间与存储区长度对应。
步骤二、输入数据依序同时送入FIFO1和FIFO2,直至数据区被写满。
步骤三、数据写满后,由MUX根据当前的目标延迟值选择从FIFO1或FIFO2读指针指向的存储单元读取数据。
当选择某一片FIFO进行读取数据,则MUX将开通该FIFO的输出通道,即该FIFO处于数据输出的状态;另一片FIFO数据不能输出,处于仅写入状态,数据写满后溢出。选择由FIFO1读数时,输出数据相对于输入数据延迟N个时钟周期;选择由FIFO2读数时,输出数据相对于输入数据延迟N-1个时钟周期。
步骤四、如当前选择FIFO2进行数据输出。在对FIFO2读数的同时,根据目标运动规律,下一次时延调整所需延迟由N-1个时钟周期调整为N-2个时钟周期,此时可通过控制信号CLR将FIFO1清空,设置USEDW,使得FIFO1数据存储区长度为N-2,待FIFO1重新写满后,根据时序切换为由FIFO1输出,输出数据相对于输入数据延迟N-2个时钟周期。
步骤五、当输出数据相对于输入数据的延迟需由N-2调整为N-3个时钟周期时,可在对FIFO1读数的同时,通过控制信号CLR将FIFO2清空,设置USEDW,使得FIFO2数据存储区长度为N-3,待FIFO2重新写满后,根据时序切换为由FIFO2输出,输出数据相对于输入数据延迟N-3个时钟周期。
通过交替设置、切换FIFO1与FIFO2,可实现信号时延由N-3个时钟周期到1个时钟周期的变化。
达到需调整的时延后,停止切换FIFO工作状态。
经过上述步骤处理,即可得到符合延时要求的输出信号,由于两个不同延迟时间的延迟输出分别由两片FIFO实现,并通过切换开关进行选择,可实现无缝延迟,避免系统出现等待数据输出的空闲状态。
可选的,在步骤一中,对数据存储区的初始大小进行设置时,两片FIFO的长度也可以设置为相同或不同长度。如设置为不同长度,两片FIFO的长度之差可以是延迟调整的步长,实施例中设置的延迟调整步长为1个时钟周期,当然也不仅限于此,可以根据实际需求将2或3甚至更长的时钟周期作为延迟调整步长。
可选的,在步骤三中,实施例MUX对初始化之后的两片FIFO进行第一读取选择是在FIFO写满之后。同样的,也可以在两片FIFO初始设置时默认某一片FIFO为初始读取的对象,默认其为输出状态,当该FIFO写满后对该FIFO读指针指向存储单元进行读取并由MUX开通该FIFO的输出通道。
用于选择不同数据存储区对应通道的数据作为输出数据的模块不限于现多路模拟开关MUX还可以是其它相同选择功能的模块。甚至,这个选择模块可以同时接收来自两个FIFO对应通道的数据,再根据目标延时选择输出一个通道(输出状态)的数据,丢弃另一个通道(仅写入状态)的数据。
实施例
采用雷达信号模拟器作为平台,根据模拟目标与雷达的相对位置和目标的运动方式,从目标进入雷达波束主瓣到目标离开雷达波束主瓣,一共收到M个回波脉冲。其第一个脉冲重复周期的回波信号与发射信号间的延迟为500时钟周期,第二个脉冲重复周期的回波信号与发射信号间的延迟为499时钟周期,以此类推,第M个回波信号与发射信号间的延迟为500-M+1个时钟周期,因此需设置的FIFO大小为500~500-M+1。
步骤一、设置两片FIFO数据存储区的大小,FIFO1设置长度为500,FIFO2设置长度为499。
步骤二、数据依序同时送入FIFO1和FIFO2,直至数据区被写满。
步骤三、数据写满后,根据模拟目标与雷达的相对位置和目标的运动方式,由选择开关选择首先从FIFO1中读取数据,输出数据相对于输入数据延迟500个时钟周期;当目标延迟需要调整为499时,由选择开关选择从FIFO2中读取数据,输出数据相对于输入数据延迟499个时钟周期。
步骤四、根据实施例假设条件,在对FIFO2读数的同时,下一次所需时延应调整为498,则通过控制信号CLR将FIFO1清空,设置USEDW,使得FIFO1数据存储区减少2个长度单位,待FIFO1重新写满后,根据时序切换为由FIFO1输出,输出数据相对于输入数据延迟498个时钟周期。
步骤五、在对FIFO1读数的同时,下一次所需时延应调整为497,则通过控制信号CLR将FIFO2清空,设置USEDW,使得FIFO2数据存储区减少两个单元,待FIFO2重新写满后,根据时序切换为由FIFO2输出,输出数据相对于输入数据延迟497个时钟周期。
步骤六、交替进行步骤四和步骤五,可实现信号时延由498个时钟周期到500~500-M+1个时钟周期的变化。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (9)

1.一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,包括以下步骤:
初始设置两片FIFO数据存储区的大小;选择两片数据存储区中的一片为输出状态,另一片为仅写入状态;需进行延时的数据不间断依序同时送入两片数据存储区;
当数据存储区被写满后,开始读取并输出处于输出状态的数据存储区的数据,另一片处于仅写入状态数据存储区写满后数据溢出;
当输出数据相对于输入数据的延迟需要进行调整时,在对输出状态的数据存储区进行读取的同时,对处于仅写入状态的数据存储区进行清空并重新设置该数据存储区的长度;待重新设置数据存储区的长度后,处于仅写入状态的数据存储区开始缓存数据,重新写满后,根据时序切换两片数据存储区的状态。
2.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,输出数据相对于输入数据的延迟需要进行调整的时机为:根据目标运动规律与数据存储区切换所需的系统处理时间,在目标延时变化之前,预先对处于仅写入状态的数据存储区进行清空并重新设置该数据存储区的长度,使得状态切换完成后该数据存储区开始输出数据时,输出数据相对于输入数据满足当前时刻对应的变化后目标延时。
3.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,对数据存储区的初始大小进行设置时,两片FIFO数据存储区的长度设置为相同长度。
4.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,对数据存储区的初始大小进行设置时,两片FIFO数据存储区的长度设置为不同长度,两片FIFO的长度之差为延迟调整的步长。
5.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,对初始化设置之后的两片数据存储区进行第一次状态选择是在数据存储区第一次写满之后。
6.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,对初始化设置之后的两片数据存储区进行第一次状态选择是对数据存储区进行数据写入之前。
7.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,所述两片FIFO数据存储区采用FPGA的IP核实现。
8.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,采用USEDW信号对两片FIFO数据存储区大小进行设置。
9.如权利要求1所述一种基于FPGA的双通道无缝数字延迟实现方法,其特征在于,采用CLR信号控制数据存储区清空。
CN201210497093.4A 2012-11-29 2012-11-29 一种基于fpga的双通道无缝数字延迟实现方法 Expired - Fee Related CN103066997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210497093.4A CN103066997B (zh) 2012-11-29 2012-11-29 一种基于fpga的双通道无缝数字延迟实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210497093.4A CN103066997B (zh) 2012-11-29 2012-11-29 一种基于fpga的双通道无缝数字延迟实现方法

Publications (2)

Publication Number Publication Date
CN103066997A true CN103066997A (zh) 2013-04-24
CN103066997B CN103066997B (zh) 2016-03-30

Family

ID=48109483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210497093.4A Expired - Fee Related CN103066997B (zh) 2012-11-29 2012-11-29 一种基于fpga的双通道无缝数字延迟实现方法

Country Status (1)

Country Link
CN (1) CN103066997B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731550A (zh) * 2015-03-12 2015-06-24 电子科技大学 一种基于单fifo的双倍时钟双向数字延迟方法
CN105790822A (zh) * 2016-03-04 2016-07-20 北京航空航天大学 误码率可配置的链路传输时延产生方法、装置及系统
CN108414988A (zh) * 2018-03-09 2018-08-17 北京润科通用技术有限公司 一种基于fpga的数字延迟方法及装置
CN114330229A (zh) * 2022-03-11 2022-04-12 苏州浪潮智能科技有限公司 一种存储器的延时建模的方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884099A (en) * 1996-05-31 1999-03-16 Sun Microsystems, Inc. Control circuit for a buffer memory to transfer data between systems operating at different speeds
CN101118529A (zh) * 2007-08-10 2008-02-06 北京理工大学 双通道dspeed-dac_d1g板
CN101123586A (zh) * 2007-09-21 2008-02-13 北京锐安科技有限公司 光网络中采用fpga分流处理网络数据报文的方法
CN101826888A (zh) * 2010-03-15 2010-09-08 中国电子科技集团公司第十研究所 自动校准和差通道扩频码相位一致的处理方法
CN102163980A (zh) * 2011-05-17 2011-08-24 中国电子科技集团公司第十研究所 自动校准和差通道信号传输时延一致的处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884099A (en) * 1996-05-31 1999-03-16 Sun Microsystems, Inc. Control circuit for a buffer memory to transfer data between systems operating at different speeds
CN101118529A (zh) * 2007-08-10 2008-02-06 北京理工大学 双通道dspeed-dac_d1g板
CN101123586A (zh) * 2007-09-21 2008-02-13 北京锐安科技有限公司 光网络中采用fpga分流处理网络数据报文的方法
CN101826888A (zh) * 2010-03-15 2010-09-08 中国电子科技集团公司第十研究所 自动校准和差通道扩频码相位一致的处理方法
CN102163980A (zh) * 2011-05-17 2011-08-24 中国电子科技集团公司第十研究所 自动校准和差通道信号传输时延一致的处理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731550A (zh) * 2015-03-12 2015-06-24 电子科技大学 一种基于单fifo的双倍时钟双向数字延迟方法
CN104731550B (zh) * 2015-03-12 2017-10-17 电子科技大学 一种基于单fifo的双倍时钟双向数字延迟方法
CN105790822A (zh) * 2016-03-04 2016-07-20 北京航空航天大学 误码率可配置的链路传输时延产生方法、装置及系统
CN105790822B (zh) * 2016-03-04 2019-03-05 北京航空航天大学 误码率可配置的链路传输时延产生方法、装置及系统
CN108414988A (zh) * 2018-03-09 2018-08-17 北京润科通用技术有限公司 一种基于fpga的数字延迟方法及装置
CN108414988B (zh) * 2018-03-09 2020-06-05 北京润科通用技术有限公司 一种基于fpga的数字延迟方法及装置
CN114330229A (zh) * 2022-03-11 2022-04-12 苏州浪潮智能科技有限公司 一种存储器的延时建模的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN103066997B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN103066997B (zh) 一种基于fpga的双通道无缝数字延迟实现方法
CN101694512B (zh) 测试电路和片上系统
CN100585852C (zh) 使用最少引脚而被测试的半导体器件、以及测试其的方法
CN102012717B (zh) 一种时钟切换方法及时钟切换装置
CN202171760U (zh) 一种时钟动态切换电路
CN102831090A (zh) 一种用于星载dsp与fpga通讯接口的地址线及其优化方法
CN105094743A (zh) 一种先进先出数据缓存器及其进行时延控制的方法
CN207718357U (zh) 一种fifo存储器
CN103677732B (zh) Fifo装置及其方法
CN103177133A (zh) 一种数据采集和存储的系统及方法
CN107948546A (zh) 一种低延迟视频混合装置
CN105097043A (zh) 半导体存储装置
CN102025889B (zh) 基于fpga和sdram的高清数字视频帧同步的系统
CN102843127B (zh) 用于捷变信号控制的数字数据延迟方法
CN104216462A (zh) 一种基于fpga的大动态高精度可编程延时装置
CN104731550B (zh) 一种基于单fifo的双倍时钟双向数字延迟方法
US10019170B2 (en) Controlling timing and edge transition of a delayed clock signal and data latching methods using such a delayed clock signal
CN103514132B (zh) 一种用于大数据量高速率通讯的数据优化方法
CN209313821U (zh) 串行器电路
CN109143186A (zh) 一种宽带雷达信号多目标远距离模拟装置及方法
CN115113820A (zh) 一种多目标长延迟drfm存储部件的实现系统和方法
CN104954014A (zh) 一种超前-滞后型数字鉴相器结构
CN100385387C (zh) 一种提高ram利用效率的方法
CN103198854A (zh) FPGA中具有多种写入模式的Block RAM
CN106508056B (zh) 一种存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160330

Termination date: 20211129