CN104216462B - 一种基于fpga的大动态高精度可编程延时装置 - Google Patents
一种基于fpga的大动态高精度可编程延时装置 Download PDFInfo
- Publication number
- CN104216462B CN104216462B CN201410427178.4A CN201410427178A CN104216462B CN 104216462 B CN104216462 B CN 104216462B CN 201410427178 A CN201410427178 A CN 201410427178A CN 104216462 B CN104216462 B CN 104216462B
- Authority
- CN
- China
- Prior art keywords
- clock
- read
- module
- signal
- write
- 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.)
- Expired - Fee Related
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及电子技术领域,具体的说是涉及一种基于FPGA的大动态高精度可编程延时装置。根据读写时钟具有相位差的异步FIFO的延时功能对目标信号进行精确延时,包括时钟频率及精度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步FIFO模块;其中,时钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制模块的输出端接时钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端接异步FIFO的输入端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块的输入端;本发明的有益效果为,具有集成度高,稳定性好的优点,同时解决了目前延时范围和精度不可同时兼顾的技术瓶颈。本发明尤其适用于大动态高精度可编程延时装置。
Description
技术领域
本发明属于电子技术领域,具体的说是涉及一种基于FPGA的大动态高精度可编程延时装置。
背景技术
在电子与通信工程领域,延时电路具有普遍的应用,特别是在雷达回波信号模拟系统,同步通信系统,时间数字化测量系统中具有广泛应用。项目基础是实现回波信道模拟器,它是一种在实验条件下对回波进行测试的系统,对于多径延时的模拟需要用到高精度的延时电路。
延时电路目前的技术方案主要分为三类:模拟延时电路,数字延时电路以及数模混合延时电路。模拟电路主要通过物理延时的方法,如传导线,专用器件等,目前的器件可以做的精度很高,但是动态范围太小。数字电路的方法主要包括计数器法,存储器法,逻辑单元延迟法,这些方法的精度都很难做的很高。有人提出用数模混合法,即通过数字电路实现大的动态范围,通过专用芯片实现细小延时,但缺点是不利于系统集成。
发明内容
本发明的目的,就是针对上述现有技术存在的问题,提出一种基于FPGA的大动态高精度可编程延时装置。
本发明的技术方案:如图1所示,一种基于FPGA的大动态高精度可编程延时装置,其特征在于,根据读写时钟具有相位差的异步FIFO的延时功能对目标信号进行精确延时,包括时钟频率及精度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步FIFO模块;其中,时钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制模块的输出端接时钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端接异步FIFO的输入端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块的输入端;
所述时钟频率及精度设定模块为外部输入模块,用于输入PLL的工作时钟频率以及相位调整精度到时钟管理PLL中;
所述延迟量控制模块用于确定粗细延时量,即将目标信号在FIFO的存储周期数输入到读写控制信号模块,将相位调整的次数输入到时钟管理模块;
所述时钟管理PLL根据接收到的时钟频率,相位调整精度和次数产生读写时钟信号,并将读写时钟信号输入到读写控制信号模块控制FIFO的读写操作,同时发送读时钟信号和写时钟信号到异步FIFO作为读写时钟;通过改变相位调整的精度,可以使读写时钟信号的相位误差变得很小,是实现高精度延时基础;
所述读写控制信号模块用于控制异步FIFO的读写操作,根据接收到的读写时钟信号和目标信号应该在FIFO中存储的周期数输出读写使能信号到异步FIFO模块;
所述异步FIFO用于存储目标信号,目标信号在异步FIFO中存储的时间为目标信号的真实延时时间;其中,写使能为真时目标信号在每个写时钟信号上升沿存入FIFO,读使能为真时目标信号在每个读时钟的上升沿从FIFO输出;目标信号在FIFO中停留的周期数乘以时钟周期为粗延迟时间,通过改变FIFO的大小,可以调整目标信号的延时范围,实现大动态延时的特点;读时钟信号与写时钟信号具有相位差,其相位差用于控制目标信号在FIFO中低于一个周期的细延迟时间。
本发明的有益效果为,本发明的延时装置的精度和范围可编程修改,在FPGA中可同时解决延时范围和精度的问题,具有集成度高,稳定性好的优点,同时解决了目前延时范围和精度不可同时兼顾的技术瓶颈,因此在雷达与通信系统具有巨大的应用空间。
附图说明
图1是本发明的延时装置的逻辑结构示意图。
具体实施方式
下面结合附图对本发明进行详细的描述
如图1所示,一种基于FPGA的大动态高精度可编程延时装置,其特征在于,根据读写时钟具有相位差的异步FIFO的延时功能对目标信号进行精确延时,包括时钟频率及精度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步FIFO模块;其中,时钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制模块的输出端接时钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端接异步FIFO的输入端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块的输入端;
延时装置的设计步骤如下:
S1:时钟频率及精度设定
延时装置是通过相同频率,不同相位的读写时钟去读写异步FIFO,从而使目标信号得以延时,所以FIFO的时钟频率需要在延时之前设定。精度设计是指相位调整的精度,这里有个常识,要得到固定相位差的时钟就要动态调整输出时钟信号的相位,然而不可能一次就调整到需要的相位,需要多次调整相位,精度就是每次调整相位的值,芯片资料中可以查阅到精度可以设定的范围,相位调整的详细过程可参照官网的资料。目前StratixIII系列的最小相位调整位为78ps,将精度的值设的很小,可以实现高精度的目标。
时钟频率及精度设定模块将频率和精度参数输入时钟管理PLL模块。
S2:延迟量控制
本发明的装置中,延迟量控制模块会接收目标信号需要的延迟量,根据延迟量计算出目标信号在FIFO中的存储周期数,延迟量对FIFO周期的余数就是读写时钟相位差,这个余数对S1的精度求商就是相位需要调整的次数。
将计算出的周期数输入到读写控制信号模块,计算出的相位调整次数输入到时钟管理PLL。
S3:时钟管理PLL设定
时钟管理PLL的功能是产生相同频率和固定相位差的读写时钟信号。
锁相环技术产生时钟原理:
锁相环(PLL,Phase Lock Loop)主要作用是把内部时钟的相位和频率同步于输入参考时钟。可采用Altera公司的Stratix系列FPGA提供的可重配置的EPLL,从而可以实时地对PLL进行重新配置,使其输出具有相同频率和固定相位差的时钟信号。
由上述原理,时钟管理PLL产生具有固定相位差的时钟信号的步骤如下:
1、根据接收到的频率和精度,设定EPLL时钟输出的频率及相位调整的精度。
时钟输出的频率就是操作异步FIFO的读写时钟信号的频率。相位调整的精度指相位调整一次的值,在S1中已经有所说明,这里只需在开发环境中设定即可。精度值设定得越小,精度越高,但是调整过程越复杂,设计者可根据对精度的要求灵活选择。
2、选定需要调整相位的时钟信号输出端,这里选定读时钟信号作为相位调整的对象。
EPLL例化IP核的输入接口中有个4bits的信号接口,信号值对应于需要调整相位的时钟端口,通过查询芯片资料可以得到每个输出端口对应的四位二进制数值。
3、设定相位调整的方向
相位可以向上或向下调整,每个输出端口对应有2bits的相位调整位,如b’01表示向下调整相位,减小相位差,b’11表示向上调整相位,增大相位差,具体的值需要查询对应芯片的用户手册。
4、调整读时钟相位到需要值
根据接收到的相位调整次数调整选定的输出时钟端口的相位,调整次数是S2中计算出的数,使得输出两个满足相位差的时钟信号。
输出上述两个时钟信号作为异步FIFO的读写时钟信号。如将相位调整后输出的时钟信号作为读时钟信号,而将没有相位变化的时钟信号作为写时钟信号,读时钟信号始终滞后于写时钟信号,滞后的差值就是低于一个FIFO周期的延时。
输出上述两个时钟信号到读写控制信号模块,以便产生读写使能信号。
S4:读写控制信号
读写控制信号模块的主要功能是控制读写使能信号。
由于S3中只是输出了读写时钟信号,异步FIFO要读写数据还需要读写使能信号。根据接收到的读写时钟信号和FIFO中数据存储的周期,分别输出读写使能信号到异步FIFO中。这里需要注意的是写使能信号需要同步于写时钟信号,读使能信号需要同步于读时钟信号。读使能信号为真后等待FIFO存储达到接收到的数量后输出写时钟为真。
S5:异步FIFO的设计
异步FIFO的主要功能是通过存储目标信号来达到延时的效果,通过改变FIFO的深度,可以实现很大的动态范围。
异步FIFO是一种先进先出的数据存储器,与一般的存储器不同,FIFO没有地址信号线,它是通过内部两个指针来控制读写操作的,一个用于写入下一个可用单元,另一个用于读出下一个未读单元,在各自的读写指令到来时,读写指针被重新定位。在两个相互独立的时钟域下,数据从一个时钟域写入FIFO而另一个时钟域又从这个FIFO中将数据读出,主要作为数据缓冲的存储器,对数据进行快速,顺序的存储和发送。
异步FIFO设计关键技术说明:
1、格雷码计数技术
FPGA设计中,读写地址需要计数,多位计数器同时翻转会产生毛刺信号,毛刺产生的根本原因是信号在芯片内部走线时产生的延迟引起。
采用格雷码技术可有效避免毛刺信号的产生,因为格雷码计数器计数时相邻的数之间只有一个bit位发生了变化。在计数时只会有一位数据发生改变,路径的延时就不会产生毛刺信号了。
2、同步时钟电路技术
对同一单元进行读写操作时需要判定空满状态,因为是不同时钟域对同一单元操作,所以会产生亚稳态问题。
采用同步时钟电路技术同步读写指针可以解决上述问题。
同步电路的设计原理如下:
用写时钟同步读指针,用同步后的值与写指针比较,决定FIFO是否为满。用读时钟同步写指针,用同步后的值与读指针比较,决定FIFO是否为空。
通过上述异步FIFO的原理及技术说明,可得实例的设计过程如下:
1、设计一个ROM存储器,存储器的大小决定了延时装置的动态范围。例如,ROM大小为10e6,读写时钟频率设计为5ns,则对应的粗延时范围为5ns~500us。
2、设计一个能对数据进出FIFO的通道进行管理的控制器,内部有两个读写地址指针,一个用于写入下一个可用单元,另一个用于读出下一个未读单元,在各自的读写指令到来时,读写指针被重新定位。
3、设计格雷码计数器,计数器用于读写指针的计数,解决计数器翻转产生毛刺的问题。
4、设计同步时钟电路,解决在不同的时钟域对同一单元进行判定空满状态的时产生的亚稳态问题。
异步FIFO接收到的是设定好相位差的读写时钟信号以及设定周期数的读写使能信号,所以对目标信号的延迟就是上位机希望延时的量。
S6:延时装置集成测试
将信号输入系统的目标信号通过异步FIFO存储器延时输出作为一路信号,直接输出目标信号作为另一路信号,通过测量两路信号的差值得到信号的真实延时值。
测得的延迟量和延迟量模块接收到的量是不同的,因为信号在芯片内部走线是有延迟的,通过集成开发环境的布局布线约束技术,对延迟误差进行补偿,最后得到大动态高精度的延时装置。
Claims (1)
1.一种基于FPGA的大动态高精度可编程延时装置,其特征在于,该装置根据读写时钟具有相位差的异步FIFO的延时功能对目标信号进行延时,该装置包括时钟频率及精度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步FIFO模块;其中,时钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制模块的输出端接时钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端接异步FIFO的输入端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块的输入端;
所述时钟频率及精度设定模块为外部输入模块,用于输入PLL的工作时钟频率和相位调整精度到时钟管理PLL中;
所述延迟量控制模块用于确定粗细延时量,即将目标信号在FIFO的存储周期数输入到读写控制信号模块,将相位调整的次数输入到时钟管理模块;
所述时钟管理PLL根据接收到的时钟频率,相位调整精度和次数产生读写时钟信号,并将其输入到读写控制信号模块,同时发送读时钟信号和写时钟信号到异步FIFO作为读写时钟;通过改变相位调整的精度,使读写时钟信号的相位误差变小;
所述读写控制信号模块用于控制异步FIFO的读写使能操作,根据接收到的读写时钟信号和目标信号应该在FIFO中存储的周期数输出读写使能信号到异步FIFO模块;
所述异步FIFO用于存储目标信号,目标信号在异步FIFO中存储的时间为目标信号的真实延时时间;其中,写使能为真时目标信号在每个写时钟信号上升沿存入FIFO,读使能为真时目标信号在每个读时钟的上升沿从FIFO输出;目标信号在FIFO中停留的周期数乘以周期为粗延迟时间,通过改变FIFO的大小,可以调整目标信号的延时范围,实现大动态延时的特点;读时钟信号与写时钟信号具有相位差,其相位差用于控制目标信号在FIFO中低于一个周期的细延迟时间;
通过改变目标信号在FIFO中存储的周期和读写时钟信号的相位差,可输出大动态高精度的延时信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410427178.4A CN104216462B (zh) | 2014-08-27 | 2014-08-27 | 一种基于fpga的大动态高精度可编程延时装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410427178.4A CN104216462B (zh) | 2014-08-27 | 2014-08-27 | 一种基于fpga的大动态高精度可编程延时装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104216462A CN104216462A (zh) | 2014-12-17 |
CN104216462B true CN104216462B (zh) | 2017-02-15 |
Family
ID=52098063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410427178.4A Expired - Fee Related CN104216462B (zh) | 2014-08-27 | 2014-08-27 | 一种基于fpga的大动态高精度可编程延时装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104216462B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991136B (zh) * | 2015-03-03 | 2020-12-01 | 上海联影医疗科技股份有限公司 | 模数转换器的串行接口及其数据对齐方法和装置 |
CN105702282B (zh) * | 2016-01-15 | 2018-10-26 | 上海华虹宏力半导体制造有限公司 | Sram编译器的内部时钟电路 |
CN107220204B (zh) * | 2016-03-21 | 2020-05-08 | 华为技术有限公司 | 一种数据读取电路 |
CN108665922B (zh) * | 2018-04-24 | 2021-09-24 | 电子科技大学 | 一种应用于雷达模拟的可变双向数字延迟方法 |
CN113110821B (zh) * | 2021-04-19 | 2022-02-01 | 中国电子科技集团公司第五十八研究所 | 一种延迟可配置的异步fifo电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097508A (zh) * | 2006-06-27 | 2008-01-02 | 三星电子株式会社 | 使用先进先出器件的数据处理装置和方法 |
JP2008071018A (ja) * | 2006-09-13 | 2008-03-27 | Matsushita Electric Ind Co Ltd | メモリインターフェース回路 |
CN101772151A (zh) * | 2009-12-25 | 2010-07-07 | 中兴通讯股份有限公司 | 一种恢复时分复用输出的时钟信号的装置及方法 |
CN103095289A (zh) * | 2011-11-08 | 2013-05-08 | 澜起科技(上海)有限公司 | 一种信号延迟控制电路 |
CN103824589A (zh) * | 2014-03-03 | 2014-05-28 | 西安华芯半导体有限公司 | 一种同步存储器 |
-
2014
- 2014-08-27 CN CN201410427178.4A patent/CN104216462B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097508A (zh) * | 2006-06-27 | 2008-01-02 | 三星电子株式会社 | 使用先进先出器件的数据处理装置和方法 |
JP2008071018A (ja) * | 2006-09-13 | 2008-03-27 | Matsushita Electric Ind Co Ltd | メモリインターフェース回路 |
CN101772151A (zh) * | 2009-12-25 | 2010-07-07 | 中兴通讯股份有限公司 | 一种恢复时分复用输出的时钟信号的装置及方法 |
CN103095289A (zh) * | 2011-11-08 | 2013-05-08 | 澜起科技(上海)有限公司 | 一种信号延迟控制电路 |
CN103824589A (zh) * | 2014-03-03 | 2014-05-28 | 西安华芯半导体有限公司 | 一种同步存储器 |
Also Published As
Publication number | Publication date |
---|---|
CN104216462A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216462B (zh) | 一种基于fpga的大动态高精度可编程延时装置 | |
US4063308A (en) | Automatic clock tuning and measuring system for LSI computers | |
CN203340049U (zh) | 具有细粒度和粗粒度延迟元件的数字控制延迟线和以细粒度增量进行调整的系统 | |
CN106814595A (zh) | 基于等效细分的高精度tdc及其等效测量方法 | |
CN103258561A (zh) | 半导体装置的数据输出定时控制电路 | |
CN104635839B (zh) | 频率锁定装置及频率锁定方法 | |
US9235537B2 (en) | Drift detection in timing signal forwarded from memory controller to memory device | |
CN101562440A (zh) | 延迟模块和方法、时钟检测装置及数字锁相环 | |
US11888480B2 (en) | Method and apparatus for synchronizing two systems | |
CN107797442A (zh) | 时间数字转换装置及数字锁相环 | |
CN104795091B (zh) | 在fpga中实现zbt读写的时序稳定度的系统及方法 | |
CN110955179B (zh) | 一种基于pci总线的双通道共享时钟触发调延装置 | |
CN101645301A (zh) | 一种用于读数据采样的温度自适应调整方法及装置 | |
US10990120B2 (en) | Low latency FIFO with auto sync | |
US8816743B1 (en) | Clock structure with calibration circuitry | |
CN104407061A (zh) | 一种超声信号整数与小数精确延时系统及其方法 | |
US8754656B2 (en) | High speed test circuit and method | |
CN109981084A (zh) | 基于fpga的窄脉冲输出系统及方法 | |
CN106708167A (zh) | 一种调整时钟的方法及控制器 | |
CN103354448B (zh) | 基于fpga的高分辨率时间间隔产生系统 | |
CN103546124B (zh) | 一种信号触发时刻值获取装置 | |
CN113110821B (zh) | 一种延迟可配置的异步fifo电路 | |
CN105242903B (zh) | 随机数生成装置和方法 | |
CN204065907U (zh) | 一种mcu芯片分频时钟校正装置 | |
US9100112B1 (en) | Latency built-in self-test |
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 |
Granted publication date: 20170215 Termination date: 20180827 |
|
CF01 | Termination of patent right due to non-payment of annual fee |