基于fpga的锁相环设计(4篇)
1.基于fpga的锁相环设计 篇一
摘要:在FPGA片内实现全数字锁相环用途极广。本文在集成数字锁相环74297的基础上进行改进,设计了锁相状态检测电路,配合CPU对环路滤波参数进行动态智能配置,从而使锁相环快速进入锁定状态,在最短时间内正常工作并且提高输出频率的质量。
关键词:全数字锁相环数字环路滤波器数字单稳态振荡器
1引言
数字锁相环路已在数字通信、无线电电子学及电力系统自动化等领域中得到了极为广泛的应用。随着集成电路技术的发展,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集成到一个芯片上去。在基于FPGA的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入FPGA中,构成片内锁相环。
锁相环是一个相位误差控制系统。它比较输入信号和振荡器输出信号之间的相位差,从而产生误差控制信号来调整振荡器的频率,以达到与输入信号同频同相。所谓全数字锁相环路(DPLL)就是环路部件全部数字化,采用数字鉴相器(DPD)、数字环路滤波器(DLF)、数控振荡器(DCO)构成的锁相环路,其组成框图见图1示。
当锁相环中的鉴相器与数控振荡器选定后,锁相环的性能很大程度依赖于数字环路滤波器的参数设置。
2K计数器的参数设置
74297中的环路滤波器采用了K计数器。其功能就是对相位误差序列计数即滤波,并输出相应的进位脉冲或是借位脉冲,来调整I/D数控振荡器输出信号的相位(或频率),从而实现相位控制和锁定。
K计数器中K值的选取需要由四根控制线来进行控制,模值是2的N次幂。在锁相环路同步的状态下,鉴相器既没有超前脉冲也没有滞后脉冲输出,所以K计数器通常是没有输出的;这就大大减少了由噪声引起的对锁相环路的误控作用。也就是说,K计数器作为滤波器,有效地滤除了噪声对环路的干扰作用。
显然,设计中适当选取K值是很重要的。K值取得大,对抑止噪声有利(因为K值大,计数器对少量的噪声干扰不可能计满,所以不会有进位或借位脉冲输出),但这样捕捉带变小,而且加大了环路进入锁定状态的时间。反之,K值取得小,可以加速环路的入锁,但K计数器会频繁地产生进位或借位脉冲,从而导致了相位抖动,相应地对噪声的抑制能力也随之降低。
为了平衡锁定时间与相位抖动之间的矛盾,理想的情况是当数字锁相环处于失步状态时,降低K计数器的设置,反之加大其设置。实现的前提是检测锁相环的工作状态。
3工作状态检测电路
图2为锁相环状态检测电路,由触发器与单稳态振荡器构成,fin为输入的参考时钟,fout为锁相环振荡器输出的时钟移相900。fout对fin的抽样送入单稳态振荡器。
在锁定状态如图3,fout与fin具有稳定的相位关系,fout对fin抽样应全部为0或1,这样不会激发振荡器振荡,从而lock将输出低电平;而失锁状态时如图4,fout与fin出现相位之间的滑动,抽样时就不会出现长时间的.0或1,单稳态振荡器振荡,使lock输出高电平。锁相环的锁定状态保持时间的认定,可以通过设置振荡器的性能。在FPGA设计中,要采用片外元件来进行单稳定时,是很麻烦的,而且也不利于集成和代码移植。单稳态振荡器的实现也可以在FPGA内实现,利用计数器的方法可以设计全数字化的上升、下降沿双向触发的可重触发单稳态振荡器。
2.基于fpga的锁相环设计 篇二
在无线通信系统中, 锁相技术应用广泛, 其位同步提取至关重要。为在信宿接受信号中恢复出与信源同频率码元时钟信号, 实现码流位同步, 通常利用锁相环直接从接收的数字信号中提取位同步信号。
利用数字电路实现的锁相环具有易于存储、易于生产、成本低、元件无漂移和无容差等优点[1,2], 而且数字积分器没有失调和易失性的问题, 能够完成模拟电路无法完成的任务, 数字锁相环发展动力强劲。数字锁相环易于集成, 功耗低, 体积小, 性能可靠, 应用灵活且性价比较高, 在实际通信系统中得到了很好的应用。
2 插/扣型数字锁相环的典型结构和工作原理
插/扣脉冲型数字锁相环的结构如图1所示[3]。主要由二元鉴相器、序列滤波器和数控振荡器 (DCO) 三部分组成。
数字锁相环是一个闭环相位反馈控制系统。输入信号与N分频输出的信号进行超前-滞后二元鉴相, 由反映相位误差的误差信号通过序列滤波器后输出控制信号, 控制高倍本振时钟插/扣脉冲, 以调整其时钟的频率再分频输出。
2.1 二元鉴相器
二元鉴相器是将相位误差θe (k) 量化为1比特的鉴相器, 其鉴相特性为
式中, sgn[x]代表对变量x取符号运算。广义来讲, 对任何模拟鉴相器的输出进行如上式的运算后都可实现数字二元鉴相。对输入、输出为数字信号时, 输入信号与输出信号比相, 形成超前脉冲或滞后脉冲输出。超前脉冲意味着输出信号滞后, θe (k) >0, 故超前脉冲的作用是使环路调整输出信号的相位提前;滞后脉冲表示θe (k) <0, 其作用是使输出信号的相位推后。
2.2 序列滤波器
数字环路滤波器在环路中对输入噪声起抑止作用, 并且对环路的校正速度起调节作用, 其设计的结构形式和方法繁多, 是一种专门的技术。数字环路滤波器专用于校正网络引入环路, 选取合适的数字滤波器结构就能使数字锁相环满足预定的系统性能要求。
平滑鉴相器输出的控制脉冲的方法是在二元鉴相器后接序列滤波器[4]。常用的序列滤波器有“N先于M滤波器”和“随机徘徊滤波器”, 基于前者的设计理念, 所设计的滤波器结构如图2所示。
“N先于M”序列滤波器的工作原理:二元鉴相器输出的超前、滞后脉冲分别在两个长度为N的寄存器内计数并存储, 其和在长度为M的寄存器内计数存储, 且选择N<M<2N。设初始时3个寄存器均复位为0, 随着二元鉴相器脉冲的不断输出, 3个计数存储器的数值不断增加, 直至出现下列情况之一为止:
1) 若某一个N寄存器在M寄存器存满之前或者与M寄存器同时存满, 则相应送出一个“提前” (若超前N寄存器满) 或“推后” (若滞后N寄存器满) 脉冲到后续DCO, 同时该脉冲复位3个寄存器到0。
2) 若M寄存器先于任何一个N寄存器计数满, 则同时复位3个寄存器到0, 不产生“提前”或“推后”脉冲。该情况在环路相位差较小而输入信噪比又比较低时发生, 因为此时鉴相器输出的超前、滞后脉冲数目相差不多, 考虑到M寄存器设计长度介于N与2N之间, 它会先于两个N寄存器计满, 并清空该轮累计过程。
采用“N先于M”序列滤波器, 只要选择适当的系数N与M, 可以大大减小随机噪声造成的错误调整概率, 同时又不过分降低输入信号相位漂移的跟踪能力。
2.3 数控振荡器 (DCO)
DCO的结构如图3所示, 其中信号源输出频率fc=Nfo的窄脉冲序列, 在无超前、滞后脉冲控制时, 该序列经N分频器分频后, 输出本振信号频率为fo。
当环路输入信号的相位滞后DCO输出信号的相位时, 序列滤波器将“推后”脉冲加到控制器上, 扣除一个本振源输出的高频脉冲, 经N分频后使输出信号相位推后1/N周期, 如图3 (d) 所示;反之, 如果输入信号相位超前DCO输出信号相位时, 则序列滤波器产生“提前”脉冲加到控制器上, 控制器在窄脉冲序列流内插入一个脉冲, 经N分频后使DCO输出相位提前1/N周期, 如图3 (c) 所示。
DCO的一次相位调整步长为
相应的频率调整步长为
上式中To是DCO输出本振信号的周期, To=1/fo, DCO输出信号相位与控制信号的关系为
其中uc (k) 是序列滤波器输出的控制脉冲。
3 系统整体仿真和分析
利用Verilog语言针对系统进行自顶向下的设计后, 通过quartus II6.0集成环境进行仿真、综合、验证。如图4所示, 其中Gao Pin为高频信号, Shu Ru为输入信号, Shu Chu为本地输出信号, Fen Pin Qian为输出信号未经过2分频的信号, Chao Qian_jian为控制减脉冲信号, Zhi Hou_jia为控制加脉冲信号[5]。Lvbo_jian为滤波减脉冲信号, Lvbo_jia为滤波加脉冲信号。
由图可知, 在锁定状态下消除了超前滞后脉冲的来回摆动, 抗干扰性能有改善, 但锁定时间有所增加。若位同步脉冲的相位超前较多, 鉴相器需输出N个超前脉冲才能使位同步脉冲相位调整一次, 显然调整时间增加N倍, 需要考虑改进滤波电路的相位调整时间以及提高锁相环精度。
4 结语
基于模块化设计的数字锁相环具有结构简洁、调参方便、稳定可靠、设计灵活和易于实现的优点。
数字锁相环的设计对于基于FPGA的数字应用系统具有现实的意义。
参考文献
[1]季仲梅, 杨洪生, 王大鸣.通信中的同步技术及应用[M].北京:清华大学出版社, 2008.
[2]姚剑清.锁相环技术 (第3版) [M].北京:人民邮电出版社, 2007.
[3]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社, 2003.
[4]倪虹霞, 杨信昌.基于VHDL的全数字锁相环的设计[J].长春工程学院学报, 2005.
3.基于fpga的锁相环设计 篇三
关键词:扫频外差式频谱仪,锁相环,FPGA,单片机控制显示
理论分析:
电路实现:
(1)系统框图:
(2)锁相环电路:ADF4351集成芯片内部集成鉴频器和压控振荡器,结合外部环路滤波器和外部参考频率输入,结合外部电路即可实现程序控制锁相环功能。
(3)中频信号产生:输入信号经过放大输入混频器,和锁相环产生的本振信号混频经过带通滤波器后输出中频信号,经过两级放大信号调理提供AD转换模块的输入。
(4)AD采样模块采用12位AD采样芯片LTC2227CUH,采样速率可以达到40MSPS,有很高的分辨率,为FPGA模块提供信号输入。A/D采样电路对下混频后的信号进行采样。
(5)FPGA电路:采用Cyclone IV系列EP4CE10芯片,实现数字信号处理,进行滤波操作,实现FFT运算。共采集转化为512个点,提供给单片机。
实物图:
测试分析与结论
根据测试数据,可以得到,通过软件控制的锁相环输出频率和实际测到的锁相环输出频率在误差范围内相等。在输出频率较大时波形输出幅度有所衰减,是由于集成芯片内部环路滤波器有所衰减,对输出的频率变化影响不大。可以通过输出端的指示灯观察是否实现锁定。由于灯的闪烁程度看出锁定时间小于1MS。系统将扫频外差法与快速傅里叶变换方法相结合,具有测量时间快、频带范围宽、频率分辨率高、测量精度高的优点,并具备频谱存储与回放功能。
参考文献
[1]戴志坚师奕兵王志坚,逻辑分析仪高速数据采集及数据窗口定位,
[2]张世箕,数据域测试及仪器,电子工业出版社
4.基于fpga的锁相环设计 篇四
针对以上问题, 本文在数字锁相环路中引入CORDIC鉴相环节并加以改进, 使其可以在 (-180°, +180°]内完整表达相差;并利用CORDIC计算原理隔离输入信号的幅度变化, 得到固定的相位增益, 以达到稳定环路特性, 加快环路收敛的目的, 其结构如图2所示。
CORDIC算法能旋转的最大角度约为9.883°[5], 无法满足 (-180°1, 80°]的鉴相范围, 所以在进行CORDIC运算之前, 根据I (t) 和Q (t) 的符号值对相位旋转的初值进行预处理[6], 使得CORDIC运算的相位旋转范围始终维持在 (-90°, 90°) 之内。如果I (t) 和Q (t) 位于坐标轴上, 则直接判决输出值, 但为了保证相位数据输出的时间连续性, 仍将数据输入CORDIC运算环节, 但只随迭代延时, 不进行旋转运算。预处理之后, CORDIC运算的输入为:
此种锁相环路适用于链路衰减变化较大的移动通信, 尤其适用于AM、QAM等涉及到幅度调制的解调链路。以使用正交解调的AM解调器为例, 选择XILINX公司的XC6Slx100-2ffg484, 其FPGA实现结构如图3所示。
目前, 以文中思路所设计的数字锁相环路已应用在AM、BPSK、16QAM等多种解调方式当中, 在同等设计参数下, 实测信号入锁频差范围和入锁时间均优于使用正弦鉴相的锁相环路, 且在信噪比允许范围之内, 环路的工作稳定性不随信号幅度变化。
参考文献
[1]杨小牛, 楼才义, 徐建良.软件无线电原理与应用[M].电子工业出版社, 2006.
[2]郑继禹, 张厥盛, 万心平, 郑霖.锁相技术[M].西安电子科技大学出版社, 2012.
[3]何苏勤, 詹明静.基于FPGA的自适应锁相环设计[J].电子设计工程, 2010, 09.
【基于fpga的锁相环设计】推荐阅读:
基于FPGA的智能误码测试仪12-14
基于solidworks的设计11-18
基于系统的设计与实现09-12
基于标准的教学设计步骤11-10
基于单片机的毕业设计06-25
基于语文核心素养的作业设计实践10-19
基于标准的教学设计培训感悟11-22
基于单片机的频率计设计07-01
基于51单片机的智能小车设计08-31
刘丽基于课程标准的英语教学设计10-29