基于FPGA位同步时钟提取方案的设计
一种基于FPGA的锁相环位同步提取电路设计

一种基于FPGA的锁相环位同步提取电路设计概述同步是通信系统中一个重要的问题。
在数字通信中,除了获取相干载波的载波同步外,位同步的提取是更为重要的一个环节。
因为只有确定了每一个码元的起始时刻,才能对数字信息作出正确的判决。
利用全数字锁相环可直接从接收到的单极性不归零码中提取位同步信号。
一般的位同步电路大多采用标准逻辑器件按传统数字系统设计方法构成,具有功耗大,可靠性低的缺点。
用FPGA设计电路具有很高的灵活性和可靠性,可以提高集成度和设计速度,增强系统的整体性能。
本文给出了一种基于fpga 的数字锁相环位同步提取电路。
数字锁相环位同步提取电路的原理数字锁相环位同步提取电路框本地时钟产生两路相位相差p的脉冲,其频率为fo=mrb,rb为输入单极性不归零码的速率。
输入信码的正、负跳变经过过零检测电路后变成了窄脉冲序列,它含有信码中的位同步信息,该位同步窄脉冲序列与分频器输出脉冲进行鉴相,分频比为m。
若分频后的脉冲相位超前于窄脉冲序列,则在1端有输出,并通过控制器将加到分频器的脉冲序列扣除一个脉冲,使分频后的脉冲相位退后;若分频后的脉冲相位滞后窄脉冲序列,则在2端有输出,并通过控制器将加到分频器的脉冲序列附加一个脉冲,使分频后的脉冲相位提前。
直到鉴相器的1、2端无输出,环路锁定。
基于fpga的锁相环位同步提取电路该电路如该电路由d触发器组成的二分频器和两个与门组成,它将fpga 的高频时钟信号clk_xm变换成两路相位相反的时钟信号,由e、f输出,然后送给控制电路的常开门g3和常闭门g4。
其中f路信号还作为控制器中的d1和。
基于FPGA的锁相环位同步提取电路设计

基于FPGA的锁相环位同步提取电路设计锁相环(Phase-Locked Loop,PLL)是一种广泛应用于通信、控制及信号处理等领域的电路,能够实现频率同步和相位同步。
在本文中,我们将讨论基于FPGA的锁相环位同步提取电路设计。
首先,我们将介绍锁相环的基本原理。
锁相环由相位比较器、低通滤波器、VCO(Voltage-Controlled Oscillator)和分频器组成。
相位比较器用于比较参考信号和反馈信号的相位差,将相位差转换为电压差。
低通滤波器将电压差平滑处理,得到控制电压,用于控制VCO的频率。
VCO产生与输入信号频率相同的输出信号,通过分频器将输出信号分频后与参考信号进行比较,实现频率同步。
在基于FPGA的锁相环位同步提取电路设计中,我们的目标是实现一个能够提取输入信号的位同步信息的电路,其中输入信号可能包含多个周期不同的位同步序列。
首先,我们需要设计一个相位比较器,用于比较参考信号和输入信号的相位差。
可以使用FPGA中的数字时钟管理模块来实现相位比较器,将输入信号与参考信号都映射到固定的时钟边沿上,并通过计数器测量输入信号和参考信号之间的相位差。
然后,我们需要设计一个低通滤波器,用于平滑处理相位差。
可以使用FPGA中的滑动平均滤波器来实现低通滤波器,通过对相位差进行滑动平均运算,得到平滑的控制电压。
接下来,我们需要设计一个VCO,用于产生与输入信号频率相同的输出信号。
可以使用FPGA中的数字控制模块来实现VCO,通过调节VCO的控制电压来控制输出频率。
最后,我们需要设计一个分频器,将VCO的输出信号分频后与参考信号进行比较。
可以使用FPGA中的计数器来实现分频器,通过设置分频器的计数值来实现对VCO输出信号的分频。
在整个电路设计过程中,我们需要注意以下几点:1.选择合适的时钟频率和分辨率。
时钟频率要足够高,以满足输入信号的高速采样需求。
分辨率要足够高,以保证位同步信息的精确提取。
2.选择合适的滤波器参数。
高速NRZ码同步时钟提取设计及FPGA实现

高速NRZ码同步时钟提取设计及FPGA实现徐泽琨,黄明,汪弈舟,李国诚,黄炎(北方工业大学,北京 100041)摘 要:为精准提取高速NRZ码元的时钟,设计了过零检测微分型数字锁相环,采用增加/扣除脉冲法进行动态相位调整,用以实现对高速NRZ码元接收序列进行位时钟同步;分析了最大锁定范围和最大锁定频率与本地时钟频率的关系;使用Verilog HDL语言进行代码编写,基于FPGA进行了验证。
应用误码仪实测表明:在发送波特率为1 Mbps的PN17伪随机序列时,时钟同步后误码率小于10-7;最高时钟恢复速率可达50 Mbps。
实际应用中具有很好的适用性和抗干扰性。
关键词: 增加/扣除脉冲法;位时钟同步;时钟恢复;FPGA;高速NRZ码中图分类号:TP311文献标识码:A文章编号:2095-8412 (2019)05-028-06工业技术创新 URL: http: // DOI: 10.14103/j.issn.2095-8412.2019.05.005引言在现代通信系统中,位时钟同步技术即在通信码元中提取时钟信息,是精准判断通信数据的基础。
例如在光通信发送端和接收端之间,时钟不会单独传送,只能从信号中提取(恢复),如果时钟有偏差,就会直接导致误码率的增大。
在接收端进行位同步处理,对时钟纠偏,恢复同步时钟;据此作为最佳采样脉冲,对接收信号进行提取操作,能够准确地恢复原始发送数据。
同步性能的好坏直接影响通信系统的性能。
出现同步误差或失去同步,就会导致通信系统性能下降或通信中断[1]。
本文基于增加/扣除脉冲法,应用过零检测微分型数字锁相环,对高速N R Z(N o n R e t u r n Zero)码进行时钟同步提取,通过了FPGA仿真测试和系统信号实测。
此算法的优势在于它可在500 MHz主频下实现高达50 Mbps数据速率的时钟同步。
算法结构简单、易于实现,非常节省FPGA内部设计资源。
1 基本原理1.1 NRZ编码原理N R Z编码也称为不归零编码,是最常用于传输高速同步数据的一种编码。
基于FPGA的基带信号的位同步信号提取(附程序)【毕业设计论文】

xxxx学院毕业设计论文题目:基于单片机和FPGA的位同步信号提取专业班级:电子信息工程学生姓名:学号:完成日期:指导教师:评阅教师:2006 年6月湖南工程学院应用技术学院毕业设计(论文)诚信承诺书本人慎重承诺和声明:所撰写的《基于单片机和FPGA的位同步信号提取》是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均已注解说明来源,本人愿意为由此引起的后果承担责任。
设计(论文)的研究成果归属学校所有。
学生(签名)年月日湖南工程学院应用技术学院毕业设计(论文)任务书设计(论文)题目:基于单片机和FPGA的位同步信号提取姓名专业电子信息工程班级 0281 学号 16指导老师刘正青职称实验师教研室主任刘望军一、基本任务及要求:本课题是设计一具有通用性的输入信号的位同步提取系统,系统可以实现10HZ~1MHZ的信号同步。
使用单片机进行实时控制现场可编程逻辑门阵列FPGA完成位同步信号提取,通过理论和实验研究,完成硬件电路和软件设计并试制样机,要求完成:1、单片机实时控制FPGA,完成实时频率跟踪测量和自动锁相;2、在FPGA 内部,设计完成以下部分:A、全数字锁相环DPLL,主要包含:数控振荡器、鉴相器、可控模分频器B、LED动态扫描电路、FPGA和单片机的数字接口,以完成两者之间的数字传递3、设计辅助电路:键盘、LED;二、进度安排及完成时间:(1)第二周至第四周:查阅资料、撰写文献综述和开题报告;(2)第五周至第六周:毕业实习;(3)第六周至第七周:项目设计的总体框架:各个模块以及各个模块之间的关系确定,各个模块的方案选择与各个模块的所用主要器件的确定;(4)第八周至第十三周:各个模块的主要器件熟悉及相关知识的熟悉;各个模块的具体任务实现:硬件电路、软件编程;(5)第十四周至第十五周:系统的总体仿真与调试(6)第十六周至第十七周:撰写设计说明书;(7)第十八周:毕业设计答辩;目录摘要........................................................................................................ 错误!未定义书签。
基于FPGA的提取位同步时钟DPLL设计

基于FPGA的提取位同步时钟DPLL设计
叶怀胜;谭南林;苏树强;李国正
【期刊名称】《现代电子技术》
【年(卷),期】2009(32)23
【摘要】提出一种基于FPGA的用于提取位同步时钟的片内全数字锁相环电路设计方案.该方案具有同步速度快,结构简洁,失锁后自我调节性能好,即使码元消失或是码元相位出现抖动时,提取的同步时钟也不会有较大变化,仍可以稳定输出.此外,该方案可以稳定地从曼彻斯特码中提取出位时钟,指导编解码器可靠工作.采用Verilog HDL语言描述电路,给出了仿真结果,并对其稳定性和稳态误差进行了理论分析,以实际测验验证了仿真的正确性.
【总页数】4页(P43-46)
【作者】叶怀胜;谭南林;苏树强;李国正
【作者单位】北京交通大学,机电学院,北京,100044;北京交通大学,机电学院,北京,100044;北京交通大学,机电学院,北京,100044;北京交通大学,机电学院,北
京,100044
【正文语种】中文
【中图分类】TP274
【相关文献】
1.基于FPGA的人体通信中位同步提取电路的设计 [J], 王文;高跃明;陈艺东;潘少恒;麦炳源;韦孟宇;杜民
2.基于CPLD的位同步时钟提取电路设计 [J], 王志梁;刘笃仁
3.基于FPGA的锁相环位同步提取电路设计 [J], 周云水
4.基于FPGA+DDS的位同步时钟恢复设计与实现 [J], 苏淑靖;吴征
5.一种基于FPGA的位同步时钟提取电路 [J], 夏蒙;范龙飞;王富栋
因版权原因,仅展示原文概要,查看原文内容请购买。
fpga位同步信号提取

FPGA位同步信号提取1. 简介FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,能够根据用户的需求进行重新配置,实现各种不同的数字电路功能。
在FPGA设计中,位同步信号提取是一个重要的任务,它能够从输入信号中提取出同步信息,用于控制和协调各个模块之间的操作。
本文将介绍FPGA位同步信号提取的原理、方法和实现步骤,并且详细说明如何使用FPGA设计工具进行开发。
2. 原理在FPGA设计中,通常会涉及到多个时钟域(clock domain),每个时钟域都有自己的时钟信号。
由于不同时钟域的时钟频率可能不同,因此需要一种机制来确保数据在不同时钟域之间正确地传输和处理。
这就是位同步(bit-level synchronization)的概念。
位同步信号提取就是从输入信号中提取出用于位同步的控制信息。
这些控制信息通常包括数据有效性标志(valid flag)和数据使能标志(enable flag)。
通过这些标志,可以确定数据何时有效以及何时可以被处理。
3. 方法3.1 插入寄存器为了实现位同步信号提取,通常需要在输入信号路径上插入寄存器。
寄存器能够将输入信号同步到目标时钟域的时钟边沿,确保数据在时序上的正确性。
具体方法是,在输入信号路径上插入一个寄存器,并将寄存器的时钟与目标时钟域的时钟相连接。
这样,输入信号就会在目标时钟边沿被锁存,从而达到位同步的效果。
3.2 控制逻辑设计除了插入寄存器外,还需要设计控制逻辑来提取位同步信号。
控制逻辑通常包括状态机(state machine)和组合逻辑电路。
状态机用于控制数据有效性标志和数据使能标志的生成和更新。
它根据输入信号的状态和当前状态来确定下一状态,并输出相应的控制信号。
组合逻辑电路用于根据输入信号和当前状态来生成数据使能标志。
它可以根据需要进行逻辑运算、比较操作等,以判断数据是否有效并生成相应的使能标志。
3.3 时序约束设置为了确保FPGA设计满足时序要求,需要设置正确的时序约束。
基于FPGA的IEEE_1588时钟同步系统的设计与实现

第13卷㊀第5期Vol.13No.5㊀㊀智㊀能㊀计㊀算㊀机㊀与㊀应㊀用IntelligentComputerandApplications㊀㊀2023年5月㊀May2023㊀㊀㊀㊀㊀㊀文章编号:2095-2163(2023)05-0064-06中图分类号:TP393文献标志码:A基于FPGA的IEEE1588时钟同步系统的设计与实现徐卓汀,商艳娟,王成群(浙江理工大学信息学院,杭州310018)摘㊀要:IEEE1588精密时钟协议用于分布式系统中各节点上独立时钟的同步,纯软件实现的IEEE1588精密时钟协议的时间戳只能标记在数据链路层,受网络传输延迟以及网络抖动的影响,时钟同步精度一般只能达到微秒级㊂本文设计了一种基于FPGA的IEEE1588协议的时钟同步系统,采用EP4CE6E22C8和RTL8201CP芯片,通过编程实现IEEE1588报文识别㊁时钟偏移补偿算法等㊂该方法进一步降低了网络传输延迟的不确定性,提高了时间戳捕获的精度㊂通过实验对主从时钟同步精度的一致性进行测试,满足设计要求㊂关键词:IEEE1588精密时钟协议;FPGA;时间戳;时钟同步DesignandimplementationofIEEE1588protocolbasedonFPGAXUZhuoting,SHANGYanjuan,WANGChengqun(SchoolofInformation,ZhejiangSci-TechUniversity,Hangzhou310018,China)ʌAbstractɔIEEE1588precisionclockprotocolisusedtosynchronizetheindependentclocksoneachnodeinthedistributedsystem.ThetimestampofIEEE1588precisionclockprotocolimplementedbypuresoftwarecanonlybemarkedonthedatalinklayer.Duetotheimpactofnetworktransmissiondelayandnetworkjitter,theclocksynchronizationaccuracycanonlyreachthemicrosecondlevel.ThispaperdesignsaclocksynchronizationsystembasedonIEEE1588protocolbasedonFPGA.EP4CE6E22C8andRTL8201CPchipsareusedtorealizeIEEE1588messagerecognitionandclockoffsetcompensationalgorithmthroughprogramming.Thismethodfurtherreducestheuncertaintyofnetworktransmissiondelayandimprovestheaccuracyoftimestampacquisition.Theexperimentmeetsthedesignrequirementsbytestingtheconsistencyofmaster-slaveclocksynchronizationaccuracy.ʌKeywordsɔIEEE1588precisionclockprotocol;FPGA;timestamp;clocksynchronization基金项目:浙江省级重点研发计划(2021C01047);流程工业综合自动化国家重点实验室开放课题基金资助项目(2021-KF-21-06,2020-KF-21-09)㊂作者简介:徐卓汀(1998-),男,硕士研究生,主要研究方向:嵌入式与物联网技术;商艳娟(1997-),女,硕士研究生,主要研究方向:物联网㊁工业互联网;王成群(1981-),男,博士,讲师,主要研究方向:工业互联网㊁AI及其在行业中的应用㊂通讯作者:王成群㊀㊀Email:cqwang@zstu.edu.cn收稿日期:2022-06-140㊀引㊀言随着分布式网络应用范围及应用规模的不断增大,同步系统内各分散节点时钟的一致性变得越来越重要,精确的时间同步技术在分布式系统中占据着越来越重要的地位[1]㊂目前,时钟同步的主要方法包括IRIG-B(InterRangeInstrumentationGroup-B)码时钟同步㊁网络时间协议(NTP)㊁简单网络时钟同步(SNTP)和全球定位系统(GPS)等[2]㊂传统的NTP只能提供毫秒级的时间精度,不能满足现代工业以太网的高精度时钟需求㊂SNTP协议是NTP的简化版本,采用了简化的同步算法,提高了性能,但只能满足对时间精度要求不高的系统㊂GPS可以提供微秒级的时间精度,但其需要GPS接收机这样的特殊设备,不仅成本比较高,而且不易实现[3]㊂IEEE1588精密时间协议的出现一定程度上弥补了一些时钟同步方式的不足[4]㊂IEEE1588协议基于以太网,不需要建立新的时钟网络,主从时钟通过交换时钟信息来进行同步[5]㊂通过软件实现的IEEE1588协议可以提供微秒级别的时间精度[6];通过硬件实现的IEEE1588协议可以提供纳秒级别的时间精度[7]㊂同时,硬件实现的IEEE1588协议对资源要求低,不仅可以通过支持IEEE1588协议的专用芯片实现,也可以在FPGA芯片上实现,实现成本低,适用于各种分布式系统[8]㊂本文在详细分析IEEE1588协议基本内容的基础上,通过软硬件结合的方式,在FPGA芯片上实现IEEE1588报文的检测和时间戳的捕获㊂实验验证结果表明该系统能够正常工作,能满足现代工业以太网的高精度时钟同步需求㊂1㊀IEEE1588时钟同步原理IEEE1588精确时间协议在同步过程中,主时钟和从时钟之间相互交换带有精确时间戳和预估时间戳的报文[9]㊂各个从时钟得到这些时间戳信息后,计算与主时钟的链路传输延迟和时钟偏差,进而调整从时钟,达到与主时钟同步的目的㊂IEEE1588协议的主从同步过程如图1所示[10]㊂M a s t e r S l a v eT M 1T M 4D e l a y _r e s pD e l a y _r e qF o l l o w _u pS y n cT S 2T S 3o f f e s t S l a v e _M a s t e r _d e l a y o f f e s t M a s t e r _S l a v e _d e l a y 从时钟收到的时间戳T S 2T M 1、T S 2T M 1、T S 2、T S 3T M 1、T S 2、T S 3、T M 4图1㊀IEEE1588协议的主从同步过程Fig.1㊀MasterandslavesynchronizationprocessofIEEE1588㊀㊀IEEE1588协议的同步原理是延时响应机制,通过PTP(PrecisionTimeProtocol)报文承载时间戳来完成,PTP报文分为4种:Sync同步报文㊁Follow_up跟随报文㊁Delay_req延迟请求报文㊁Delay_resp延迟请求报文㊁Delay_resp延迟请求响应报文[11]㊂一次时钟同步过程:(1)Sync报文周期性从主时钟向从时钟以广播的形式发出,主时钟在发送结束那一刻记录Sync报文离开主时钟的精确发送时间TM1;(2)主时钟将精确时间戳TM1封装进Follow_up报文中,发送给从时钟;(3)从时钟记录Sync报文到达从时钟的精确时间点Ts2;(4)从时钟发送Delay_req报文,并在发送结束那一刻记录下精确发送时间TS3;(5)主时钟记录Delay_req报文到达主时钟的精确到达时间TM4;(6)主时钟发送携带精确时间戳信息TM4的Delay_resp报文到从时钟㊂经过一次时钟同步后,从时钟寄存4个精确时间戳信息㊂利用4个时间戳可以计算链路延时和时钟偏移㊂设报文由主时钟到从时钟的链路延迟,式(1):Master_(Slave_delay)=TM1-TS2(1)㊀㊀此时主时钟与从时钟之间存在的时间偏差offset1,式(2):offset1=TS2-TM1-Master_(Slave_delay)(2)㊀㊀报文由从时钟到主时钟的链路延迟,式(3):Slave_(Master_delay)=TS3-TM4(3)㊀㊀此时从时钟与主时钟之间存在的时间偏差offset2,式(4):offset2=TM4-TS3-Master_(Slave_delay)(4)㊀㊀因为IEEE1588协议假设链路延迟是对称的,式(5):Slave_(Master_delay)=Master_(Slave_delay)(5)㊀㊀那么平均链路延迟mean_delay,式(6):mean_delay=TM4-TM1()-(TS3-TS2)2(6)此时主从时钟偏差offset,式(7):offset=TS2-TM1()-mean_delay(7)进一步计算得到offset,式(8):offset=TS2-TM1()+(TS3-TM4)2(8)对从时钟进行补偿来达到同步于主时钟的目的㊂2㊀系统软硬件设计2.1㊀时间戳标记位置IEEE1588协议的报文在交换消息过程中包含着各时钟的信息,所以时钟信息的提取对于提高同步精度有着十分重要的作用㊂时间的标记位置有3种方案,如图2所示㊂应用层传输层M A C 层P H Y网络AB C R M I I 图2㊀时间戳位置标记Fig.2㊀Timestamppositionmarking56第5期徐卓汀,等:基于FPGA的IEEE1588时钟同步系统的设计与实现㊀㊀方案A:在应用层进行时间戳的标记,虽然实现方法简单,但由于协议栈的抖动和延迟是不确定的,会导致较大误差,使用软件实现的精度只能达到毫秒级㊂方案B:在介质访问控制层(MAC),避免了协议栈的抖动和延迟,提高时间戳的标记精度,能够使用软件实现,时间精度达到微秒级[12]㊂方案C:在MAC层和物理层(PHY)之间的简化媒体独立接口(RMII)处标记时间戳,通过软硬结合的方法实现㊂目前有两种方法,一种是使用支持IEEE1588协议的专用PHY硬件芯片,如DP83640,可以在物理层检测IEEE1588报文,并将时间戳信息填充到IEEE1588报文中;第二种方法是在对原有硬件不做改变的情况下,在FPGA芯片中识别IEEE1588报文以及捕获时间戳[13]㊂时间戳的标记越接近于实际网络,抖动和延迟就越小,计算出的时钟偏差和链路延迟更接近于真实值,所以在本文的设计中,采用了方案C,因为方案C的第二种方法不需要专用的PHY芯片,而且FPGA处理速度足够快,实现方法更简单㊂2.2㊀系统硬件搭建系统硬件采用AlteraCycloneIV系列中的EP4CE6E22C8FPGA芯片以及RTL8201CP接口PHY芯片,分别作为系统的主控模块以及网络通信模块㊂RTL8201CPPHY芯片采用RMII模式下的以太网连接方式,是简化的媒体独立接口,减少了以太网通信所需的引脚数,将引脚数从16个减少为7个,有着更简单的连接结构㊂AlteraCycloneIV系列FPGA芯片作为主控模块,自身能够在物理层和PHY之间的RMII接口处进行时间标记,相对于其他如STM32F407系列CPU芯片只能在MAC数据链路层标记,有着更高的时间戳精度㊂主控模块主要实现接受发送PTP报文,以及时钟同步等功能㊂2.3㊀系统软件设计本文系统的软件结构主要分为协议层㊁应用层㊂协议层完成报文的解析以及封装过程,应用层完成实时时钟以及精确时钟同步功能㊂其系统结构图如图3所示㊂㊀㊀协议层分为UDP/IP协议㊁EtherCAT协议以及PTP协议,EtherCAT协议有两种实现方式:一种是利用标准IEEE802.3以太网帧实现,一种是放入UDP/IP协议中实现,本文采用第二种实现方式㊂系统的主时钟将PTP报文封装在EtherCAT中,再将EtherCAT报文封装在UDP报文中,最后通过网络传输到从时钟㊂从时钟接收到报文后,解析报文,进行时间戳的寄存和提取㊂A l t e r a C y c l o n e I VE P4C E6E22C8A l t e r a C y c l o n e I VE P4C E6E22C8应用层协议层P T PE t h e r C A TU D PI PM A CP H Y应用层协议层P T PE t h e r C A TU D PI PM A CP H Y以太网络主时钟从时钟图3㊀系统结构图Fig.3㊀Systemstructurediagram㊀㊀时钟同步系统上电后,通过PC机,以UDP协议的形式发送指令报文,初始化各主从时钟的计数器,并设定与PC机通信的为主时钟,与主时钟通过网线相连的为从时钟㊂初始化各主从时钟后,PC机周期性发送Sync报文,进入时钟同步阶段㊂如果本地时钟为主时钟状态,其主时钟流程图如图4所示㊂主时钟接受来自PC机的报文,识别并转发Sync报文,对RMII接口的TX_EN信号进行锁存,当TX_EN信号由高电平变为低电平时,寄存这个周期的时钟计数器,接着发送Follow_up报文,Follow_up报文的64位精确时间戳为上一个寄存的时钟计数器的时间,发送结束后,等待接收下一条报文㊂接收到报文时,RMII接口的RX_EN信号由低变高,寄存该周期的时钟计数器,识别接受的报文,如果识别为其他报文,丢弃该时间戳,并回到等待接受Delay_req报文状态,若为Delay_req报文,保留该时间戳,并读取来自从时钟的端口号,接着构造Delay_resp报文,Delay_resp报文的64位精确时间戳即为上一次寄存的时钟计数器㊂主时钟进入等待接受PC机报文状态㊂㊀㊀如果本地时钟为从时钟,从时钟流程图如图5所示㊂时钟计数器初始化后,接受到报文时,RMII接口的RX_EN信号由低变高,寄存器寄存该周期的时钟计数器的值,识别该报文是否是Sync报文,若不是,则丢弃寄存的时间戳,并返回等待报文接受状态;如果是,继续接受并解析Follow_up报文,读66智㊀能㊀计㊀算㊀机㊀与㊀应㊀用㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第13卷㊀取报文中的时间戳,并开始构造Delay_req报文㊂当发送Delay_req报文结束时,即RMII接口处的TX_EN信号由高变低,寄存该时刻的时钟计数器的值,并与接受Follow_up报文同样的过程接受Delay_resp报文,并读取报文中的精确时间戳㊂从时钟得到来自物理层和PHY之间的RMII接口处的4个精确时间戳,进入链路延迟以及时钟偏差计算阶段,并对从时钟进行补偿,得到同步的从时钟进入下一次时钟补偿阶段㊂发送D e l a y _r e s p 报文判断D e l a y _r e q报文接受D e l a y _r e q 报文,记录时间戳生成D e l a y _r e s p 使能信号等待接受D e l a y _r e q u 报文发送F o l l o w _u p 报文N丢弃该记录的时间戳Y生成F o l l o w _u p 使能信号发送S y n c 报文,记录时间戳从P C 机接受S y n c 报文设定为主时钟状态初始化通电图4㊀主时钟流程图Fig.4㊀Masterclockstatemachineprocess丢弃该记录的时间戳NY构造D e l a y _r e q 报文发送D e l a y _r e q 报文,记录时间戳等待接收D e l a y _r e s p 报文接受D e l a y _r e s p 报文判断D e l a y _r e s p 报文寄存D e l a y _r e s p 中的戳记戳计算时钟偏移,进行时钟同步接受F o l l o w _u p 报文,寄存F o l l o w _u p 中的时间戳判断S y n c 报文接受S y n c 报文,记录时间戳等待接受S y n c 报文设定为从时钟状态初始化开始丢弃该记录的时间戳图5㊀从时钟流程图Fig.5㊀Slaveclockstatemachineprocess2.4㊀本地时钟补偿算法本地时钟补偿采用动态的频率补偿算法来实现,其频率补偿过程如图6所示㊂M a s t e rS l a v eT 1M 1T 2M 1T n M 1T 1S 2T 2S 2T n S 2S y n cS y n cS y n c图6㊀频率补偿过程Fig.6㊀Frequencycompensationprocess㊀㊀在时钟同步过程中,当系统进行第一次时钟同步过程中时,主站记录下第一次发送Sync同步报文的时间戳T1M1,从站记录下第一次收到同步报文的时间戳T1S2㊂同理,当系统进行第二次时钟同步时,记录下时间戳T2M1和T2S2㊂则主站的发送时间间隔MCC,式(9):MCC=T2M1-T1M1(9)㊀㊀同理,从站接收到的时间间隔SCC,式(10):SCC=T2S2-T1S2(10)㊀㊀主从站的时间偏差MSC,式(11):MSC=|MCC-SCC|(11)㊀㊀主从之间的时间比率,式(12):γ=SCC/MSC(12)㊀㊀在每次时钟同步过程中,从时钟持续补偿计算出的时钟偏移量;在补偿过程中,判断偏移量的最高位是否为1,若是表示从时钟快于主时钟,偏移量的值应取反加1,补偿进从时钟中,反之,直接补偿从时钟;对于时间频率的补偿,从系统的第二次时钟同步阶段开始,判断MSC的值,若最高位为1,说明主时钟频率高于从时钟频率,则从时钟的纳秒(ns)计数器每增加γ值时减1,反之,主时钟频率低于从时钟频率,纳秒(ns)计数器每增加γ值时加1㊂3㊀时钟同步测试为了验证IEEE1588时钟同步系统的可行性,将IEEE1588协议以及本地时钟补偿算法应用于基于FPGA的EtherCAT协议栈中,采用低延时㊁高带宽㊁确定性的现场总线结构,该协议栈具有区分IEEE1588报文和普通报文的功能,主站能解析来自PC机的报文,并将报文内容转发至从站,从站能够解析各报文命令,执行时间戳提取㊁初始化操作㊁时钟同步以及同步输出等功能㊂本系统以主站的本地晶振作为授时源,通过主76第5期徐卓汀,等:基于FPGA的IEEE1588时钟同步系统的设计与实现从站直连的方式进行时钟同步性能测试,设置的同步时间间隔为1s,时钟同步过程分为两步:(1)系统启动,发送初始化指令报文进行各主从站计数器清零操作;(2)周期性发送Sync报文,进行时钟同步㊂3.1㊀一主一从主从直连同步测试系统初始化后周期性发送Sync同步报文进行时钟同步,其中主从站某一次输出1s脉冲图如图7所示,横坐标每一格线代表20ns,该波形表示主从站的同步输出偏差为0ns㊂㊀㊀200次主从同步,其时间偏差结果如图8所示㊂图7㊀主从站某一次输出1s脉冲Fig.7㊀Primaryandsecondarystationoutput1spulsediagramatonetime050100150200时钟同步次数时间偏差/n s9080706050403020100图8㊀时间偏差结果Fig.8㊀Timedeviationresult㊀㊀其中时间偏差为一个绝对值量㊂由图8可知,主从时钟最大时钟偏差为80ns,时钟偏差基本分布在ʃ80ns之间,能够满足现代工业以太网对时间精度的需求㊂3.2㊀一主二从主从直连同步测试系统初始化,进行200次同步测试,其主从同步结果如图9所示㊂㊀㊀其中,ID1时钟表示从站1与主站的时钟偏差,ID2表示从站2与主站的时钟偏差㊂ID1-ID2时钟差值(LCK)为ID1时钟与ID2时钟的差值,ID1-ID2时钟差值(ns)为ID1-ID2时钟差值(LCK)乘20ns所得㊂图9㊀主从同步结果Fig.9㊀Masterslavesynchronizationresult㊀㊀主站与从站1的时钟偏差图和主站与从站2的时钟偏差图如图10和图11所示㊂经过200次测试,从站1与主时钟的最大时钟偏差为100ns,时钟偏差基本分布在ʃ100ns;从站2与主时钟的最大偏差为100ns,时钟偏差基本分布在ʃ100ns㊂相对一主一从的同步测试,由于其加大了链路延时的不对称性以及从站内部的处理延时,增大了时钟偏差,导致同步精度下降㊂86智㊀能㊀计㊀算㊀机㊀与㊀应㊀用㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第13卷㊀12010080604020050100150200时钟同步次数时钟偏差/n s 图10㊀主站与从站1的时钟偏差Fig.10㊀Clockdeviationbetweenmasterstationandslavestation1120100806040200050100150200时钟同步次数时钟偏差/n s 图11㊀主站与从站2的时钟偏差Fig.11㊀Clockdeviationbetweenmasterstationandslavestation24㊀结束语本文详细分析了IEEE1588协议,并将IEEE1588协议以及本地时钟补偿算法应用于分布式时钟同步系统中,在一主一从的分布式时钟同步基础上,拓展到了一主两从的分布式时钟同步系统㊂实验证明该方案的同步精度能够达到ns级别,同步的时钟设备越少,时钟偏差越小㊂同步一个时钟设备和两个时钟设备,主从时钟偏差基本分布在ʃ100ns之间,能够满足现代工业以太网对高精确时钟的需求,简化了硬件电路设计,不需要专用的PHY芯片,时钟戳提取和报文识别都在FPGA芯片内部完成,降低开发难度和成本㊂参考文献[1]韩一德.基于IEEE1588协议的高精度时钟同步系统研究与实现[D].太原:中北大学,2021.[2]谢华.基于GPS信号和NTP协议的本地时间同步网络[J].工业控制计算机,2010,23(6):75-76.[3]何一航.IEEE1588高精度网络时钟同步研究与实现[D].武汉:华中科技大学,2011.[4]EIDSONJC,FISCHERM,WHITEJ.IEEE-1588TMStandardforaprecisionclocksynchronizationprotocolfornetworkedmeasurementandcontrolsystems[C]//Proceedingsofthe34thAnnualPreciseTimeandTimeIntervalSystemsandApplicationsMeeting.2002:243-254.[5]ZHAOB,WANGN.TheimplementationofIEEE1588clocksynchronizationsystembasedonFPGA[C]//FifthInternationalConferenceonIntelligentControlandInformationProcessing.IEEE,2014:216-220.[6]刘宝明,冯振乾.时间敏感网络关键技术与应用研究[J].工业控制计算机,2021,34(11):1-4.[7]周峰,刘迎澍,安笑蕊.嵌入式IEEE1588精确时钟同步实现[J].电气技术,2013(4):44-47.[8]李培基,李卫,朱祥维,等.网络时间同步协议综述[J].计算机工程与应用,2019,55(3):30-38.[9]王创,郑宾.交互式多模型IEEE1588时钟同步算法[J].自动化技术与应用,2019,38(4):13-17.[10]王贤德,贾连兴.基于DTS和IEEE1588v2协议的网络跳变同步技术研究[J].装甲兵工程学院学报,2017,31(4):87-92.[11]MOHAMMADJHandTHOMASKandHOWARDS.ARecursiveMethodforClockSynchronizationinAsymmetricPacketBasedNetworks[J].IEEE/ACMTransactionsonNetworking(TON),2016,24(4):2332-2342.[12]KYRIAKAKISE,SPARSØJ,SCHOEBERLM.Hardwareassistedclocksynchronizationwiththeieee1588-2008precisiontimeprotocol[C]//Proceedingsofthe26thInternationalConferenceonReal-TimeNetworksandSystems.2018:51-60.[13]QIM,WANGX,YANGZ.DesignandimplementationofIEEE1588timesynchronizationmessagestimestampingbasedonFPGA[C]//20114thInternationalConferenceonElectricUtilityDeregulationandRestructuringandPowerTechnologies(DRPT).IEEE,2011:1566-1570.(上接第63页)[15]HUJ,LIS,SUNG,etal.Squeeze-and-ExcitationNetworks[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2020,42(8):2011-2023.[16]LIJ,JINK,ZHOUDL,etal.Attentionmechanism-basedCNNforfacialexpressionrecognition[J].Neurocomputing,2020,411:340-350.[17]LUCEYP,COHNJF,KANADET,etal.TheExtendedCohn-KanadeDataset(CK+):Acompletedatasetforactionunitandemotion-specifiedexpression[C]//ComputerVision&PatternRecognitionWorkshops.IEEE,2010:174-183.[18]LIUM,SHANS,WANGR,etal.LearningExpressionletsonSpatio-temporalManifoldforDynamicFacialExpressionRecognition[C]//2014IEEEConferenceonComputerVisionandPatternRecognition(CVPR).IEEE,2014:94-102.[19]王攀杰,郭绍忠,侯明,等.激活函数的对比测试与分析[J].信息工程大学学报,2021,22(5):551-557.[20]DONGN,ZHAOL,WUCH,etal.Inceptionv3basedcervicalcellclassificationcombinedwithartificiallyextractedfeatures[J].AppliedSoftComputingJournal,2020,93:151-171.[21]ShaheedKashif,MaoAihua,QureshiImran,etal.DS-CNN:Apre-trainedXceptionmodelbasedondepth-wiseseparableconvolutionalneuralnetworkforfingerveinrecognition[J].ExpertSystemsWithApplications,2022:191-199.[22]LIX,WUW,LIT,etal.FaceLivenessDetectionBasedonParallelCNN[C]//JournalofPhysics:ConferenceSeries.IOPPublishing,2020,1549(4):042069.[23]DINGH,ZHOUSK,CHELLAPPAR.Facenet2expnet:Regularizingadeepfacerecognitionnetforexpressionrecognition[C]//201712thIEEEInternationalConferenceonAutomaticFace&GestureRecognition(FG2017).IEEE,2017:118-126.96第5期徐卓汀,等:基于FPGA的IEEE1588时钟同步系统的设计与实现。
一种基于FPGA的位同步时钟提取电路

方 案一 : 采 用 通 用 的 M CU 。 采 用 微 处 理 器 作
厂 .
为 核 心 处 理 器 可 以 缩 小 系 统 规 模 且 灵 活 性 较 高 。但
是 考虑 到 对输 出 同步 信 号 的稳 定性 的要 求 , 微 处 理 器 的计 算 能力 并不 能达 到要 求 。 方 案二 : 采 用 FP GA 。 采 用 现 场 可 编 程 门 阵 列 ( FP GA ) 作 为 核心处 理 器 。 FP GA 目 前 广 泛 应 用 于 通 信 系 统 之 中 , 可 以 同 时 提 供 强 大 的 计 算 能 力 和 足 够 的 灵 活 性 。 因 此 选 用 此方 案 是一 个 比较好 的选 择 。
率为 n F( Hz ) , 整形 之后 输 出频率 为 n F( Hz ) 的 窄 带
脉 冲 , 如 果 接 收 端 晶 振 输 出 n次 分 频 之 后 不 能 准 确
位 时 钟 自同 步 的 实 现 方 法 分 为 测 周 法 , 滤 波 法
( 波形 变换 法 ) , 开 环 同步法 和 闭环 同步 法 ( 锁 相 环 ) 。
晶振经过整形之后再送入分频器输出位同步脉冲序设码元的速率为fhz晶振的频率为nfhz整形之后输出频率为nfhz的窄带脉冲如果接收端晶振输出n次分频之后不能准确地和码元同步相位比较器就会输出误差信号通过控制器进行调整直到同步为止
2 0 1 7年 4月 第 7期 总 第 3 7 7期
内 蒙 古 科 技 与 经 济
地和码 元 同步 , 相 位 比较 器 就 会 输 出 误 差 信 号 , 通 过
控制 器进 行调 整 , 直到 同步 为止 。
方 案一 : 测 周 法 。 测 周 法 是 根 据 输 入 的 码 元 的 周期来 计 算 发送 信 号 的频 率 , 然 后 提 取 信 号 的 上 升 沿实现 与 发送 的码 元 同步 。 从 而实现 位 同步 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于FPGA的新型位同步时钟提取方案及实现2 位同步时钟提取方案的原理
本文设计的方案可以从异步串行码流中提取位同步时钟信号,设计思想的基本出发点是在外部码流(code_in)的上升沿和本地时钟(clk)上跳沿相比较无非两
种
情
况,
如图1和图2所示:
图1 码流滞后于本地时钟△T示意图图2
码流超前于本地时钟△T示意图
从码流上跳沿的角度来看,若将码流code_in与本地时钟clk进行逻辑相与,若相与结果为“1”则说明码流滞后于本地时钟,若为“0”则说明码流超前于本地时钟。
用VHDL语言描述为:
if (code_in’event and code_in=’1’) then
if (code_in and clk)=’1’ then
q<=’1’
else
q<=’0’
end if
end if
程序中输出信号q可作为控制电路的输入信号。
本设计方案的系统框图如图3所示:
框图中,鉴相器作用是鉴别出码流和本地时钟的相位超前滞后关系,控制计数器采用双向计数器,鉴相器输出q作为控制计数器的计数方向输入,q为1则向上计数,q为0则向下计数。
控制计数器的计数输出用来控制相位调整选择模块的选择端。
相位调整选择模块由相位调整和相位选择功能。
图3 系统功能框图
3 设计实现
依据图3系统功能框图,利用Altera 公司的Quartus II 设计软件,采用自顶向下的模块化设计方法,用VHDL 语言和电路原理图混合输入设计对位同步时钟提取电路的各个部件分别进行设计。
本设计方案的鉴相器原理相对简单,不需要用VHDL语言设计,仅用两个
与门和一个D触发器就可以实
现,如图4 所示。
图中的
的第二个与门(inst23)是为了实现D
触发器的时钟输入端与数据输入端
同步。
控制计数器设计使用Quartus
II的MegaWizard Plug_In
Manager工具来实现一个简单
的双向
数器,计数方向由鉴相器输出q控
制,q为1则计数器向上计数,q为0则计数器向下计数,计数系数由Count Modulus设定,设定的数值要求等于分频器的分频系数N。
在原理图输入时可以任意改变分频器的分频系数和计数器的计数系数。
分频器设计输出时钟信号的占空比为50%,且分频系数N可调,用VHDL 语言实现并由软件自动生成元件符号供原理图调用,如图5所示。
下面给出分频器的VHDL语言关键描述语句
if(clk'event and clk='1') then
if(count=N-1)then --计数周期
count<=0;
else
count<=count+1;
if count<(integer(N/2)) then
--产生分频脉冲
outclk<='0';
else
outclk<='1';
end if;
end if;
end if;
相位调整选择模块的相位调整功能可以用延迟方式实现。
在FPGA中要产生延时,信号必须经过一定的物理资源。
在硬件描述语言中有关键词Wait for xx ns,需要说明的是该语法是仅仅用于仿真而不能用于综合的,可综合的延时方法有:
(1)使信号经过逻辑门得到延时(如非门);
(2) 使用器件提供的延时单元(如Altera公司的LCELL);
(3)使用移位寄存器。
由于当使用多级非门的时候综合器往往会将其优化掉,因为综合器会认为一个信号非两次还是它自己,而且门延迟时间相对于具体器件是不固定的,LCELL延时单元也可以用来产生一定的延时,但这样形成的延时在FPGA芯片中并
不稳定,会随温度等外部环境的改变而改变,并且门延迟和LCELL延迟时间都无法实现用户动态调整,不利于移植和调用,因此本设计的延迟采用由D触发器构成的移位寄存器实现,如图6所示,移位寄存器时钟输入端为内部时钟Clk_n,移位数据输入端为Clk_n的分频输出Clk1,如果Clk_n的频率为f0,分频器分频系数为N,则Clk1的频率为N×f0,并要求其等于Clk的频率即:f = N×f0。
相位调整选择模块的单位延迟时间决定了设计的时钟提取电路的精度。
单位延迟时间由内部时钟Clk_n决定,单位延迟时间为移位寄存器发生一次移位的时间也就是D触发器的触发时钟周期即为t = 1/f0 。
位同步时钟锁定时间由内部时钟Clk_n和分频器的分频系数N决定,显然Clk1最多经过N-1次移位时才可以与码流时钟锁定,则最大锁定时间为(N-1)/f0 ;Clk1最少经过1次移位就可以与码流时钟锁定,所以位同步时钟最小锁定时间为1/f0。
相位调整选择模块的相位选择功能由多选一多路选择器实现,对应图4的10位的移位寄存器,可以采用图6所示的10选1多路选择器Mux10to1。
多路选择器的多选一选择端输入由双向计数器的计数输出端qn提供。
另外,Mux10to1输出端连接D触发器目的是为了消除毛刺。
此触发器的输出信号就是位同步时钟提取的输出信号,当然,作为一个锁相环结构的位同步提取电路,这个时钟信号会作为反馈引入鉴相器的输入端,与输入码流进行相与鉴相。
下面给出仿真波形,器件选择为Altera的Cyclone II系列FPGA芯片Ep2c5,
内部时钟为200MHz,码流时钟为20MHz,分频系
数和计数系数都选择为10。
4 本设计方案性能
本位同步提取电路比通常广泛采用的锁相环路法,有如下有点:
(1)本设计并没有应用复杂的算法实现锁相功能,也没有采用传统的添扣们结
构,电路结构简单易懂,节省硬件资源,占用器件资源情况如下:
Device EP2C5Q208C8
Total logic elements 71 / 4,608 ( 2 % )
Total registers 49
Total pins 3 / 142 ( 2 % )
Total virtual pins 0
Total memory bits 0 / 119,808 ( 0 % )
Embedded Multiplier 9-bit elements 0 / 26 ( 0 % )
Total Plls 0 / 2 ( 0 % )
(2)本设计位同步时钟锁定时间较短,速度比较快(由设计时钟选择决定)。
(3)精度较高,并具有可调整性,时钟抖噪参数可以通过改变分频器分频系数和计数器计数系数调整,并可以实现频率很宽范围的码流的位同步时钟提取,因而本设计方案可以生成元件符号在各种FPGA芯片和部分CPLD芯片设计中调用,节省用户设计时间,缩短设计周期,具有很高的商用价值。
5结束语
本位同步时钟提取方案已经成功的用FPGA器件进行了实现,并在作者设计的数字通信系统中得到应用。
通过对此电路的测试和使用表明,此时钟提取电路可以快速准确地对高速串行输入码流进行位同步时钟提取,即使输入码流中的毛刺现象,本设计电路也有很好的时钟调整恢复功能,极大的减小了误码率。
由于本设计简单占有硬件资源少,因为可以同时调用多个时钟提取电路来提取多路同时输入的不同速度的串行码流的同步时钟,为下一步的数字复接提供了方便。
参考文献
[1]廖日坤,CPLD/FPGA嵌入式应用开发技术白金手册,中国电力出版社,2005
[2]陈世伟,锁相环路原理及应用,兵器工业出版社,1990
[3]段吉海,黄志伟,王毓银,基于CPLD/FPGA的数字通信系统建模与设计,2004。