一种基于fpga的大动态高精度可编程延时装置制造方法

文档序号:6624881阅读:320来源:国知局
一种基于fpga的大动态高精度可编程延时装置制造方法
【专利摘要】本发明涉及电子【技术领域】,具体的说是涉及一种基于FPGA的大动态高精度可编程延时装置。根据读写时钟具有相位差的异步FIFO的延时功能对目标信号进行精确延时,包括时钟频率及精度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步FIFO模块;其中,时钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制模块的输出端接时钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端接异步FIFO的输入端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块的输入端;本发明的有益效果为,具有集成度高,稳定性好的优点,同时解决了目前延时范围和精度不可同时兼顾的技术瓶颈。本发明尤其适用于大动态高精度可编程延时装置。
【专利说明】-种基于FPGA的大动态高精度可编程延时装置

【技术领域】
[0001] 本发明属于电子【技术领域】,具体的说是涉及一种基于FPGA的大动态高精度可编 程延时装置。

【背景技术】
[0002] 在电子与通信工程领域,延时电路具有普遍的应用,特别是在雷达回波信号模拟 系统,同步通信系统,时间数字化测量系统中具有广泛应用。项目基础是实现回波信道模拟 器,它是一种在实验条件下对回波进行测试的系统,对于多径延时的模拟需要用到高精度 的延时电路。
[0003] 延时电路目前的技术方案主要分为三类:模拟延时电路,数字延时电路以及数模 混合延时电路。模拟电路主要通过物理延时的方法,如传导线,专用器件等,目前的器件可 以做的精度很高,但是动态范围太小。数字电路的方法主要包括计数器法,存储器法,逻辑 单元延迟法,这些方法的精度都很难做的很高。有人提出用数模混合法,即通过数字电路实 现大的动态范围,通过专用芯片实现细小延时,但缺点是不利于系统集成。


【发明内容】

[0004] 本发明的目的,就是针对上述现有技术存在的问题,提出一种基于FPGA的大动态 高精度可编程延时装置。
[0005] 本发明的技术方案:如图1所示,一种基于FPGA的大动态高精度可编程延时装置, 其特征在于,根据读写时钟具有相位差的异步FIFO的延时功能对目标信号进行精确延时, 包括时钟频率及精度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步 FIFO模块;其中,时钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制 模块的输出端接时钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端 接异步FIFO的输入端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块 的输入端;
[0006] 所述时钟频率及精度设定模块为外部输入模块,用于输入PLL的工作时钟频率以 及相位调整精度到时钟管理PLL中;
[0007] 所述延迟量控制模块用于确定粗细延时量,即将目标信号在FIFO的存储周期数 输入到读写控制信号模块,将相位调整的次数输入到时钟管理模块;
[0008] 所述时钟管理PLL根据接收到的时钟频率,相位调整精度和次数产生读写时钟信 号,并将读写时钟信号输入到读写控制信号模块控制FIFO的读写操作,同时发送读时钟信 号和写时钟信号到异步FIFO作为读写时钟;通过改变相位调整的精度,可以使读写时钟信 号的相位差变得很小,是实现高精度延时基础;
[0009] 所述读写控制信号模块用于控制异步FIFO的读写操作,根据接收到的读写时钟 信号和目标信号应该在FIFO中存储的周期数输出读写使能信号到异步FIFO模块;
[0010] 所述异步FIFO用于存储目标信号,目标信号在异步FIFO中存储的时间为目标信 号的真实延时时间;其中,写使能为真时目标信号在每个写时钟信号上升沿存入FIFO,读 使能为真时目标信号在每个读时钟的上升沿从FIFO输出;目标信号在FIFO中停留的周期 数乘以时钟周期为粗延迟时间,通过改变FIFO的大小,可以调整目标信号的延时范围,实 现大动态延时的特点;读时钟信号与写时钟信号具有相位差,其相位差用于控制目标信号 在FIFO中低于一个周期的细延迟时间。
[0011] 本发明的有益效果为,本发明的延时装置的精度和范围可编程修改,在FPGA中可 同时解决延时范围和精度的问题,具有集成度高,稳定性好的优点,同时解决了目前延时范 围和精度不可同时兼顾的技术瓶颈,因此在雷达与通信系统具有巨大的应用空间。

【专利附图】

【附图说明】
[0012] 图1是本发明的延时装置的逻辑结构示意图。

【具体实施方式】
[0013] 下面结合附图对本发明进行详细的描述
[0014] 如图1所示,一种基于FPGA的大动态高精度可编程延时装置,其特征在于,根据读 写时钟具有相位差的异步FIFO的延时功能对目标信号进行精确延时,包括时钟频率及精 度设定模块、延迟量控制模块、时钟管理PLL、读写控制信号模块和异步FIFO模块;其中,时 钟频率及精度设定模块的输出端接时钟管理PLL的输入端;延迟量控制模块的输出端接时 钟管理PLL的输入端和读写控制信号的输入端;读写控制信号的输出端接异步FIFO的输入 端;时钟管理PLL的输出端接异步FIFO的输入端和读写控制信号模块的输入端;
[0015] 延时装置的设计步骤如下:
[0016] S1 :时钟频率及精度设定
[0017] 延时装置是通过相同频率,不同相位的读写时钟去读写异步FIF0,从而使目标信 号得以延时,所以FIFO的时钟频率需要在延时之前设定。精度设计是指相位调整的精度, 这里有个常识,要得到固定相位差的时钟就要动态调整输出时钟信号的相位,然而不可能 一次就调整到需要的相位,需要多次调整相位,精度就是每次调整相位的值,芯片资料中可 以查阅到精度可以设定的范围,相位调整的详细过程可参照官网的资料。目前StratixIII 系列的最小相位调整位为78ps,将精度的值设的很小,可以实现闻精度的目标。
[0018] 时钟频率及精度设定模块将频率和精度参数输入时钟管理PLL模块。
[0019] S2 :延迟量控制
[0020] 本发明的装置中,延迟量控制模块会接收目标信号需要的延迟量,根据延迟量计 算出目标信号在FIFO中的存储周期数,延迟量对FIFO周期的余数就是读写时钟相位差,这 个余数对S1的精度求商就是相位需要调整的次数。
[0021] 将计算出的周期数输入到读写控制信号模块,计算出的相位调整次数输入到时钟 管理PLL。
[0022] S3 :时钟管理PLL设定
[0023] 时钟管理PLL的功能是产生相同频率和固定相位差的读写时钟信号。
[0024] 锁相环技术产生时钟原理:
[0025] 锁相环(PLL, Phase Lock Loop)主要作用是把内部时钟的相位和频率同步于输入 参考时钟。可采用Altera公司的Stratix系列FPGA提供的可重配置的EPLL,从而可以实 时地对PLL进行重新配置,使其输出具有相同频率和固定相位差的时钟信号。
[0026] 由上述原理,时钟管理PLL产生具有固定相位差的时钟信号的步骤如下:
[0027] 1、根据接收到的频率和精度,设定EPLL时钟输出的频率及相位调整的精度。
[0028] 时钟输出的频率就是操作异步FIFO的读写时钟信号的频率。相位调整的精度指 相位调整一次的值,在S1中已经有所说明,这里只需在开发环境中设定即可。精度值设定 得越小,精度越高,但是调整过程越复杂,设计者可根据对精度的要求灵活选择。
[0029] 2、选定需要调整相位的时钟信号输出端,这里选定读时钟信号作为相位调整的对 象。EPLL例化IP核的输入接口中有个4bits的信号接口,信号值对应于需要调整相位的时 钟端口,通过查询芯片资料可以得到每个输出端口对应的四位二进制数值。
[0030] 3、设定相位调整的方向
[0031] 相位可以向上或向下调整,每个输出端口对应有2bits的相位调整位,如b' 01表 示向下调整相位,减小相位差,b' 11表示向上调整相位,增大相位差,具体的值需要查询对 应芯片的用户手册。
[0032] 4、调整读时钟相位到需要值
[0033] 根据接收到的相位调整次数调整选定的输出时钟端口的相位,调整次数是S2中 计算出的数,使得输出两个满足相位差的时钟信号。
[0034] 输出上述两个时钟信号作为异步FIFO的读写时钟信号。如将相位调整后输出的 时钟信号作为读时钟信号,而将没有相位变化的时钟信号作为写时钟信号,读时钟信号始 终滞后于写时钟信号,滞后的差值就是低于一个FIFO周期的延时。
[0035] 输出上述两个时钟信号到读写控制信号模块,以便产生读写使能信号。
[0036] S4 :读写控制信号
[0037] 读写控制信号模块的主要功能是控制读写使能信号。
[0038] 由于S3中只是输出了读写时钟信号,异步FIFO要读写数据还需要读写使能信 号。根据接收到的读写时钟信号和FIFO中数据存储的周期,分别输出读写使能信号到异步 FIFO中。这里需要注意的是写使能信号需要同步于写时钟信号,读使能信号需要同步于读 时钟信号。读使能信号为真后等待FIFO存储达到接收到的数量后输出写时钟为真。
[0039] S5 :异步FIFO的设计
[0040] 异步FIFO的主要功能是通过存储目标信号来达到延时的效果,通过改变FIFO的 深度,可以实现很大的动态范围。
[0041] 异步FIFO是一种先进先出的数据存储器,与一般的存储器不同,FIFO没有地址信 号线,它是通过内部两个指针来控制读写操作的,一个用于写入下一个可用单元,另一个用 于读出下一个未读单元,在各自的读写指令到来时,读写指针被重新定位。在两个相互独立 的时钟域下,数据从一个时钟域写入FIFO而另一个时钟域又从这个FIFO中将数据读出,主 要作为数据缓冲的存储器,对数据进行快速,顺序的存储和发送。
[0042] 异步FIFO设计关键技术说明:
[0043] 1、格雷码计数技术
[0044] FPGA设计中,读写地址需要计数,多位计数器同时翻转会产生毛刺信号,毛刺产 生的根本原因是信号在芯片内部走线时产生的延迟引起。
[0045] 采用格雷码技术可有效避免毛刺信号的产生,因为格雷码计数器计数时相邻的数 之间只有一个bit位发生了变化。在计数时只会有一位数据发生改变,路径的延时就不会 产生毛刺信号了。
[0046] 2、同步时钟电路技术
[0047] 对同一单元进行读写操作时需要判定空满状态,因为是不同时钟域对同一单元操 作,所以会产生亚稳态问题。
[0048] 采用同步时钟电路技术同步读写指针可以解决上述问题。
[0049] 同步电路的设计原理如下:
[0050] 用写时钟同步读指针,用同步后的值与写指针比较,决定FIFO是否为满。用读时 钟同步写指针,用同步后的值与读指针比较,决定FIFO是否为空。
[0051] 通过上述异步FIFO的原理及技术说明,可得实例的设计过程如下:
[0052] 1、设计一个ROM存储器,存储器的大小决定了延时装置的动态范围。例如,ROM大 小为10e6,读写时钟频率设计为5ns,则对应的粗延时范围为5ns?500us。
[0053] 2、设计一个能对数据进出FIFO的通道进行管理的控制器,内部有两个读写地址 指针,一个用于写入下一个可用单元,另一个用于读出下一个未读单元,在各自的读写指令 到来时,读写指针被重新定位。
[0054] 3、设计格雷码计数器,计数器用于读写指针的计数,解决计数器翻转产生毛刺的 问题。
[0055] 4、设计同步时钟电路,解决在不同的时钟域对同一单元进行判定空满状态的时产 生的亚稳态问题。
[0056] 异步FIFO接收到的是设定好相位差的读写时钟信号以及设定周期数的读写使能 信号,所以对目标信号的延迟就是上位机希望延时的量。
[0057] S6 :延时装置集成测试
[0058] 将信号输入系统的目标信号通过异步FIFO存储器延时输出作为一路信号,直接 输出目标信号作为另一路信号,通过测量两路信号的差值得到信号的真实延时值。
[0059] 测得的延迟量和延迟量模块接收到的量是不同的,因为信号在芯片内部走线是有 延迟的,通过集成开发环境的布局布线约束技术,对延迟误差进行补偿,最后得到大动态高 精度的延时装置。
【权利要求】
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中存储的周期和读写时钟信号的相位差,可输出大动态高 精度的延时信号。
【文档编号】G06F1/08GK104216462SQ201410427178
【公开日】2014年12月17日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】窦衡, 张德波, 孔飞, 李玲 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1