基于FPGA的处理器间高精度时钟同步通信机制

合集下载

基于FPGA的OFDM时频同步系统的设计与仿真

基于FPGA的OFDM时频同步系统的设计与仿真

基于FPGA的OFDM时频同步系统的设计与仿真
段鹏;何明一;薛敏彪
【期刊名称】《测控技术》
【年(卷),期】2009(028)011
【摘要】同步技术是OFDM中的一项关键技术.但由于无线信道的随机性,传统方法在门限设定上无法兼顾判断准确性和计算复杂度两方面性能.针对这一问题,提出了一种将相对门限和浮动门限相结合的同步判决方法,它能够在保持判断准确性的同时降低计算时的复杂度.此外,通过交叠计算训练序列相关值的方法来提高频偏估计精度.在此基础上,详细阐述了算法关键模块的电路结构和硬件实现.仿真结果表明该算法在多径信道环境下具有较高的时间同步和频偏估计精度,能够有效地降低硬件资源消耗,节省传输带宽.
【总页数】6页(P63-67,72)
【作者】段鹏;何明一;薛敏彪
【作者单位】西北工业大学电子信息学院,陕西,西安,710072;西北工业大学电子信息学院,陕西,西安,710072;西北工业大学电子信息学院,陕西,西安,710072
【正文语种】中文
【中图分类】TN914
【相关文献】
1.基于CAZAC序列的OFDM时频同步方案及FPGA实现 [J], 常凝;闫瑞军;胡涵飞
2.基于概率同步算法的计算机外时钟同步系统设计与仿真 [J], 李明国;宋海娜;庄钊文
3.基于时频联合的OFDM系统载波频偏估计方案及FPGA实现 [J], 刘晓明;吴德松;汪梦柔;王潇瀛
4.基于FPGA的OFDM时间同步系统串并结构设计 [J], 周毅;薛敏彪;胡永红
5.基于E1接口的时间同步系统关键模块设计与仿真 [J], 闫辉;胡永辉;侯雷
因版权原因,仅展示原文概要,查看原文内容请购买。

fpga提高时钟的方法

fpga提高时钟的方法

fpga提高时钟的方法
在FPGA设计中,提高时钟频率的方法有很多,以下是一些常见的方法:
1. 优化时钟网络:在FPGA设计中,时钟网络是影响时钟频率的主要因素之一。

优化时钟网络可以减小时钟源的抖动和时钟网络的延迟,从而提高时钟频率。

常用的优化方法包括使用低抖动的时钟源、减少时钟网络的分支和长度、使用时钟缓冲和时钟恢复等。

2. 流水线设计:流水线设计是一种将操作划分为多个阶段,每个阶段都以一定的时钟周期完成,从而使得整个操作可以在更高的时钟频率下完成。

通过合理地划分阶段和优化每个阶段的电路,可以减小每个阶段的延迟,从而提高整个流水线的效率。

3. 时序约束和时序分析:在FPGA设计中,时序约束和时序分析是保证设计在给定时钟频率下正确运行的关键。

通过合理的时序约束和时序分析,可以确定每个逻辑单元的时序参数,从而使得设计能够在更高的时钟频率下稳定运行。

4. 使用高速电路和高速连接器:在FPGA设计中,高速电路和高速连接器可以减小信号的传输延迟和抖动,从而提高时钟频率。

常用的高速电路包括差分信号和低阻抗信号等,高速连接器包括高速PCB连接器和高速电缆连接器等。

5. 动态电压和频率调节:动态电压和频率调节是一种根据工作负载的变化自动调整FPGA的电压和时钟频率的方法。

通过动态电压和频率调节,可以在保证FPGA稳定运行的同时减小功耗和提高时钟频率。

总之,提高FPGA的时钟频率需要综合考虑多种因素和方法,包括优化时钟网络、流水线设计、时序约束和时序分析、使用高速电路和连接器以及动态电压和频率调节等。

基于FPGA+CPU的信号处理系统的设计与实现

基于FPGA+CPU的信号处理系统的设计与实现

• 174•基于FPGA+CPU的信号处理系统的设计与实现上海广电通信技术有限公司 李红霞【摘要】文章简要介绍了雷达信号处理的发展现状,为了解决现有的雷达信号处理系统信号处理能力弱、数据传输速率低的问题,设计开发了基于FPGA+CPU 的船用导航雷达信号处理系统。

该系统充分利用FPGA 的流水性能以及通用 CPU 的并行处理能力,将算法合理分配至不同的处理器中,实现大数据量的实时传输和高性能的实时信号处理。

文章从系统设计入手介绍了船用导航雷达信号处理系统的工作原理,简要介绍了船用导航雷达信号处理系统的硬件设计,并从信号预处理、信号处理、目标跟踪三个方面阐述了船用导航雷达信号处理系统的信号处理流程和算法设计。

【关键词】雷达信号处理系统;信号预处理;信号处理;目标跟踪0 引言船舶驾驶员在驾驶船舶过程中,需要做到瞭望、定位、导航和避碰,这就要通过船用导航雷达来保证。

船用导航雷达是船舶正常航行所必备的电子设备之一,在过弯道、船舶靠港和离开以及海上作业等方面起到了重要的作用[1]。

雷达系统的不断升级相应的要求大幅提升信号处理系统的计算速度、数据带宽和传输速率[2]。

而现有的雷达信号处理系统的运算能力较低,传送数据的速率不高,无法满足现代信号处理的需求。

因此增强雷达系统的运算能力,提高传送数据的速度是如今雷达信号处理亟待解决的问题。

本文所采用的方案,可以很好地完成实时、可靠的雷达信号处理。

本文中的信号处理系统采用ADC+FPGA+CPU 的系统架构,集高密度计算与高速数据传输于一体,实现强大的信号处理及数据交换能力[1],同时提高了系统的集成度。

1 系统设计船用导航雷达信号处理的数据量大,对实时性和数据传输速率都要求较高,本文中针对以上特点,并结合 FPGA 的流水性能以及通用 CPU 的并行处理能力,将算法合理分配至不同的处理器中,提升了信号处理能力和数据传输能力,降低成本的同时提高了系统的集成度。

船用导航雷达信号处理系统通过ADC 对视频信号进行采样,将模拟视频信号转换为数字化的视频数据。

FPGA的万兆以太网精密时间同步协议实现

FPGA的万兆以太网精密时间同步协议实现

F PG A的万兆以太网精密时间同步协议实现郑恩,贺孟,徐强,吴晓嫣(中国电子科技集团公司第三十研究所,成都610041)摘要:介绍了I E E E1588精密时间同步协议的基本原理㊂介绍了一种万兆以太网中基于F P G A实现硬件标记时间戳的P T P协议的方案㊂方案中系统定时器模块㊁同步计算模块㊁时间戳模块等功能都在F P G A中实现㊂经过测试,结果满足需求㊂关键词:时间同步;万兆以太网;I E E E1588中图分类号:T N 文献标识码:AI m p l e m e n t a t i o n o f10G i g a b i t E t h e r n e t P r e c i s i o n T i m e P r o t o c o l B a s e d o n F P G AZ h e n g E n,H e M e n g,X u Q i a n g,W u X i a o y a n(N o.30I n s t i t u t e o f C E T C,C h e n g d u610041,C h i n a)A b s t r a c t:I n t h e p a p e r,t h e b a s i c p r i n c i p l e s o f p r e c i s i o n t i m e p r o t o c o l d e s c r i b e d i n I E E E1588a r e i n t r o d u c e d.A n i m p l e m e n t a t i o n m e t h o d o f P T P w i t h h a r d w a r e t i m e s t a m p i n g i n10G i g a b i t E t h e r n e t b a s e d o n F i e l d P r o g r a mm a b l e G a t e a r r a y(F P G A)i s p r o p o s e d.A l l t h e m o d-u l e s i n t h e d e s i g n,i n c l u d i n g s y s t e m t i m e r m o d u l e,c a l c u l a t i o n o f s y n c h r o n i z a t i o n m o d u l e,t i m e s t a m p m o d u l e a r e i m p l e m e n t e d i n F P G A. T h e e x p e r i m e n t r e s u l t s m e e t t h e d e m a n d.K e y w o r d s:t i m e s y n c h r o n i z a t i o n;10G i g a b i t E t h e r n e t;I E E E1588引言以太网技术由于具有低成本㊁易维护等优点,在局域网领域广受欢迎,且不断向工业控制等其他领域扩展㊂随着信息技术的快速发展,各种应用系统对网络带宽的需求不断增加,传统千兆以太网难以满足要求,更高性能的万兆以太网将快速普及㊂万兆以太网保留了对传统以太网技术关键特性的兼容(如帧格式㊁MA C协议等),但仅支持全双工模式,并且不再使用C S MA/C D协议㊂万兆以太网将速率提升到10G b p s,但在实时性方面没有保障㊂为此,研究了适合以太网的高精度时间同步协议I E E E1588,并基于F P G A进行了设计实现㊂1I E E E1588协议简介I E E E1588协议全称为网络测量和控制系统的精确时间同步协议,也称为P T P协议㊂I E E E1588通过在主时钟与从时钟之间交互带有时间戳信息的报文实现时间同步,同步精度可达亚微秒级㊂1.1I E E E1588协议同步原理I E E E1588同步是一种主从同步机制,通过实现所有从时钟与主时钟的同步达到系统同步,主时钟由最佳主时钟(B M C)算法选择确定㊂P T P协议定义了S y n c㊁D e l a y_R e q㊁F o l l o w_U p㊁D e l a y_ R e s p四种基本报文㊂首先主时钟向从时钟发送S y n c报文,并记录S y n c报文发送的时间t1,从时钟收到S y n c报文并记录报文接收时间t2㊂主时钟将t1时间传递给从时钟,一种方法是发送携带t1时间戳的F o l l o w_U p报文,另一种是直接将t1时间戳嵌入在S y n c报文中,前者为2 s t e p模式,后者为1s t e p模式,通常需要硬件协助㊂接着,从时钟发送D e l a y_R e q报文给主时钟,并记录发送时间t3,主时钟收到D e l a y_R e q报文,记录报文的接收时间t4,并发送包含t4时间戳的D e l a y_R e s p报文给从时钟,从时钟收到D e l a y_R e s p报文后,就掌握了t1㊁t2㊁t3㊁t4四个时间戳㊂同步报文交互过程如图1所示㊂假设从时钟与主时钟的时间偏差为t o f f s e t,主时钟到从时钟的线路延时为D e l a y m2s,从时钟到主时钟的线路延时为D e l a y s2m,则有如下关系:t1+D e l a y m2s+t o f f s e t=t2(1)t3+D e l a y s2m-t o f f s e t=t4(2)假设返往路径对称,则有D e l a y m2s=D e l a y s2m,由式(1)㊁式(2)得t o f f s e t=((t2-t1)-(t4-t3))/2(3)图1 基本同步报文交互d e l a y =((t 2-t 1)+(t 4-t 3))/2(4)因此,从时钟可以根据式(3)校准本地时间,从而与主时钟保持同步㊂1.2 I E E E 1588协议实现方式I E E E 1588协议可由多种方式实现,不同的实现方式同步精度不同㊂影响同步精度的主要因素包括网络协议栈延迟抖动㊁网络组件延迟抖动㊁时间戳精度和时钟振荡器稳定性等㊂常见的实现方式有纯软件实现和硬件协助实现两种,纯软件实现方式同步精度不高,采用硬件协助实现方式,通常在靠近物理层标记时间戳,可达到亚微秒级同步精度㊂2 万兆以太网I E E E 1588实现本文基于X i l i n x Z y n q 平台实现万兆以太网I E E E 1588协议㊂Z y n q 集成了A R M 处理器的软件可编程性和传统F P G A 的硬件可编程性,是当前广泛使用的图3 发送方向带内命令字时序图高性能嵌入式开发平台㊂设计中,Z y n q 的P L 逻辑部分主要完成万兆以太网㊁时间戳捕获㊁偏移计算㊁时间调整等功能,P S 处理器部分主要完成P T P 协议实现等功能㊂由于篇幅限制,下面重点介绍P L 部分的设计实现㊂图2是从节点的F P G A 功能框图,主节点架构与从节点相似㊂整个设计包括10G 以太网模块㊁I E E E -1588同步计算㊁定时器㊁数据合流㊁数据分流等主要模块㊂10G 以太网模块采用X i l i n x 的I P 进行实现,主要完成MA C 层㊁物理层功能和数据包收发时间戳捕获㊂定时器模块主要提供本地时间,并根据I E E E 1588同步计算结果进行时间校正㊂I E E E 1588同步计算模块主要解析收发I E E E 1588数据包,根据4种基本报文格式提取携带的时间戳数据,和本地时间数据按照I E E E 1588协议计算从时钟与主时钟的偏差,得出时间修正量实时更新本地时间㊂数据合流模块主要完成P T P 报文和业务数据的合流并交给10G 以太网系统发送㊂数据分流模块主要对万兆以太网子系统收到的数据包进行分类,将P T P 报文传递给P S 和I E E E 1588同步计算模块,将业务数据交给用户逻辑㊂图2 从节点功能框图10G 以太网模块提供高精度I E E E 1588时间戳标记支持㊂在发送方向,通过带内或带外命令字方式标识数据包所需的时间戳操作;在接收方向,所有数据包均标记了接收时间戳㊂通过设置发送配置寄存器和接收配置寄存器可配置命令字的提供方式和接收时间戳的提供方式㊂本方案中,发送和接收均选择带内方式,时序图如图3所示㊂由于选择了带内命令字方式,在发送方向,需要对送给10G 以太网模块的所有帧添加I E E E 1588命令字,这个工作由数据合流模块完成;同理,在接收方向,数据帧的第一个数据是时间戳,因此数据合流模块需要剥离这个时间戳后将以太帧送给用户逻辑㊂数据和信息服务,有利于电网数据的深入挖掘,为掌握电网运行信息和综合决策提供依据㊂在配电环节,基于物联网和无线传感器网络技术实现对输电线路和设备关键参数的在线监测和故障预警,通过传感器采集状态监测信息实现巡检数据自动化分析和决策,提高缺陷预警和处理能力㊂在用电环节,建立可靠的智能用电信息采集系统,实现电网营销㊁抄表㊁收费模式的信息化和标准化建设㊂为了快速响应市场变化,从用电信息源头提供数据支持,为智能电网配电㊁用电建设提供基础㊂结 语为了满足输变电设备在线检测的通用性和数据共享需求,提出在线检测设备功能分层化的信息通信体系架构,为变电站和输电线物联网分布式处理提供设计方法㊂通过接入网和汇聚网两级通信网络结构进行网络层的结构设计㊂针对通信网络采用汇聚网流量控制解决通信网络阻塞,为了提高通信网络容错率,提出一种异构双网双通道设计,实现设备在线监测和巡检,为了保证信号远距离传输的可靠度,基于M e s h +O P GW 光纤设计方案提高网络信号远距离传输能力㊂参考文献[1]王秋石,曾鹏,尚志军.第三十一讲:基于物联网的输电线路智能监测系统的研究[J ].仪器仪表标准化与计量,2012(1):1821.[2]曹一家,何杰,黄小庆,等.物联网技术在输变电设备状态监测中的应用[J ].电力科学与技术学报,2012,27(3):1627.[3]陈磊,黄在朝.基于物联网的输电线路状态监测技术在智能电网中的应用研究[J ].现代电子技术,2012,35(21):79,12.[4]王春新,杨洪,王焕娟,等.物联网技术在输变电设备管理中的应用[J ].电力系统通信,2011,32(5):116122.[5]刘通,陈波,杜朝波,等.输变电设备物联网关键技术研究思路探讨[J ].南方电网技术,2011,5(5):4750.[6]江秀臣,刘亚东,傅晓飞,等.输配电设备泛在电力物联网建设思路与发展趋势[J ].高电压技术,2019,45(5):13451351.[7]迟佳.物联网技术在智能电网输变电设备中的运用[J ].科技创新与应用,2019(20):178179,181.[8]段玉飞,王伟.基于物联网的输电线路智能监测系统研究与应用[J ].电力信息与通信技术,2019,17(7):2128.[9]王艳如,刘海峰,李琳,等.基于边缘智能分析的图像识别技术在输电线路在线监测中的应用[J ].电力信息与通信技术,2019,17(7):3540.[10]刘建明,赵子岩,季翔.物联网技术在电力输配电系统中的研究与应用[J ].物联网学报,2018,2(1):88102.[11]万黎升,李予辰,曹洋.泛在电力物联网下基于调控云的线路状态感知监测及数据共享研究[J ].电力信息与通信技术,2019,17(11):3237.[12]沈鑫,曹敏,薛武,等.基于物联网技术的输变电设备智能在线监测研究及应用[J ].南方电网技术,2016,10(1):3241.[13]胡致远,杨炳炉,朱咏梅,等.输变电设备物联网在线监测系统通信网络设计[J ].高电压技术,2015,41(7):22522258.[14]戴栋,张敏,赵东生,等.输电线路在线监测装置研制及其通信组网应用[J ].高电压技术,2015,41(12):39023908.[15]刘志永,王明霞,孙刚,等.输变电设备状态监测中的物联网技术应用研究[J ].自动化与仪器仪表,2017(3):171173.乔臻(硕士),主要研究方向为电网环保㊂(责任编辑:薛士然 收稿日期:2020-03-03) 命令字包含I E E E 1588操作模式㊁校验和更新㊁帧序号㊁时间戳偏移㊁检验和偏移等字段㊂本方案中选择1s t e p 模式,P T P 报文直接承载在以太帧内,因此只需设置I E E E 1588操作模式和时间戳偏移两个字段㊂结 语本文对I E E E 1588时间同步的原理进行了研究,简要分析不同实现方式的优缺点㊂提出基于F P G A 实现万兆以太网中I E E E 1588协议,设计中数据包内容解析㊁时间戳标记在物理层完成,数据包内容解析㊁同步计算和时间调整都在硬件中实现㊂优点是同步实时精度高㊁同步调整快,通过测试,系统完全满足要求㊂该研究成果对高速局域网中时间同步设计具有一定的参考价值㊂参考文献[1]I E E E S t d 15882008.1588I E E E S t a n d a r d f o r a P r e c i s i o nC l o c k S yn c h r o n i z a t i o n P r o t o c o l f o r N e t w o r k e d M e a s u r e m e n t a n d C o n t r o l S ys t e m s [S ].2008.[2]10G i g a b i t E t h e r n e t S u b s y s t e m v 3.1L o gi C O R E I P P r o d u c t G u i d e [E B /O L ].[202005].h t t p://w w w.x i l i n x .c o m.[3]I E E E S t d 802.32012s e c t i o n f o u r .I n t r o d u c t i o n t o 10G b /s b a s e b a n d n e t w o r k [E B /O L ].[202005].h t t p ://s t a n d a r d s .i e e e .o r g/d o w n l o a d s /802.3/.[4]刘大林.基于F P G A 的高精度I E E E 1588时间戳的设计与实现[J ].光通信技术,2015(6).[5]谭超.基于I E E E 1588的高精度时钟同步系统设计[J ].电子器件,2016,5(10).郑恩(工程师),主要研究方向为实时网络;贺孟(高级工程师),主要研究方向为F P G A 优化设计;徐强(工程师),主要研究方向为无线自组织网络;吴晓嫣(工程师),主要研究方向为无线通信网络㊂(责任编辑:薛士然 收稿日期:2020-05-21)。

基于FPGA的精确时钟同步方法

基于FPGA的精确时钟同步方法

第41卷第10期2007年10月浙 江 大 学 学 报(工学版)Journal of Zhejiang University (Engineering Science )Vol.41No.10Oct.2007收稿日期:2007-02-06.浙江大学学报(工学版)网址:/eng基金项目:国家创新群体基金资助项目(60421002).作者简介:黄文君(1972-),男,浙江上虞人,高级工程师,从事自动控制技术、实时分布式控制系统、工业以太网技术的研究与开发.E 2mail :wjhuang @基于FPGA 的精确时钟同步方法黄文君1,遇 彬2(1.浙江大学工业控制技术国家重点实验室,浙江杭州310027;2.浙江大学先进控制研究所,浙江杭州310027)摘 要:为实现分布式系统高精度同步数据采集和控制的实时性要求,提出了一种基于工业以太网的分布式控制系统时钟硬件同步方法.基于高速数字逻辑硬件方法解析IEEE1588时间同步协议,采用硬件描述语言(V HDL )和现场可编程逻辑门阵列(FP GA )设计时间戳截获、晶振频率补偿、时钟同步算法等模块,为嵌入式实时控制系统构架高精度的硬件时钟同步方案,该方法解决了传统的基于嵌入式软件的时钟同步方案中时间戳不稳定、同步精度低等问题.对基于工业以太网的分布式控制系统进行了动态测试验证,实际测试数据表明系统各节点达到了亚微秒级的时钟同步精度,长期运行结果验证了系统同步精度的稳定性.关键词:精确时钟同步;工业以太网;现场可编程逻辑门阵列;实时控制系统中图分类号:TP393 文献标识码:A 文章编号:1008-973X (2007)10-1697-04Method for precise time synchronization based on FPG AHUAN G Wen 2jun 1,YU Bin 2(1.S tate Key L aboratory of I ndust rial Cont rol Technolog y ,Zhej iang Universit y ,H angz hou 310027,China;2.I nstitute of A dvanced Process Cont rol ,Zhej iang Universit y ,H angz hou 310027,China )Abstract :A hardware 2based precise time synchronization met hod for t he dist ributed cont rol system (DCS )based on indust rial Et hernet was propo sed to realize synchronous measurement and real 2time cont rol.U 2sing high 2speed digital circuit s ,e.g.field 2programmable gate array (FP GA ),hardware 2based st rategy was designed for implementing t he time synchronization p rotocol defined in IEEE1588.Timestamp capt ure module ,o scillator f requency co mpensation module ,time synchronization algorit hm and etc ,were all codedwit h high 2speed integrated circuit hardware description language (V HDL ).Problems wit h t he traditional time synchronization met hod based on embedded software were solved ,such as uncertain time delay of tim 2estamp and low time accuracy.A p recise time synchronization solution for t he embedded controller was p rovided successf ully.Test and experiment s in DCS showed high time accuracy and high stability ,and time accuracy reached t he sub 2microsecond range.K ey w ords :p recise time synchronization ;indust rial Et hernet ;field 2programmable gate array (FP GA );re 2al 2time control system 时钟同步是基于网络的分布式实时控制系统数据调度和任务的核心技术之一,它提供一种确定事件发生时间的先后顺序的机制,以保证节点发送和接收消息、控制、事故记录等在时间逻辑上是完全正确、可信的.传统的基于嵌入式软件的集成分布式系统的时间同步方案(如N TP )很难达到亚微秒级的同步精度,很难满足高实时性的同步数据采集、控制和分析的要求.IEEE1588标准定义了一个能够在测量和控制系统中实现精确的时钟同步的协议,它利用网络的通讯链路实现时钟同步,无需其他的同步线缆和额外投入,能达到较高的同步精度[1].IEEE1588能够在所有支持多播的网络上实现,特别适合于以太网.在工业以太网架构分布式控制系统中,基于嵌入式软件的方案由于受到数据帧多级缓冲时延不稳定、晶振频率漂移、中断服务程序响应时间等因素限制很难达到微秒级的同步精度.针对这一情况,本文结合工业以太网在实时控制系统中的应用,采用IEEE1588同步算法设计了一种基于FP GA的硬件时钟同步方案,采用硬件描述语言(V HDL)实现了亚微秒级的精确同步,满足高实时性、高精度的同步数据采集、记录和分析的需求.1 基于FP GA的时钟硬件同步方案1.1 硬件电路实现时钟同步方法分布式控制系统时钟是用计数器来实现的,判定2个时钟是否同步有2条标准:一是两者计数器的数值是否相等,二是两者计数器数值的增加速度是否相等.根据IEEE1588,要使从时钟同步于主时钟,首先要确定从时钟与主时钟的偏差.这个偏差值是根据数据包发送时间戳和接收时间戳的偏差来计算的,它的精度受到2个因素的影响:一是网络通讯链路传输延迟时间的不确定性,二是时间戳本身的精度.在基于嵌入式软件的时钟同步方案中,时钟计数器由CPU自身的计数器来实现,时间戳的获取点位于整个软件系统的最底层,即中断层[2].CPU 发送数据包时,先将待发送数据写入网卡芯片的发送缓冲区中,然后向网卡发出发送命令,同时读取计数器值作为该数据包的发送时间戳,由以太网的介质访问特性可知,这个时间戳并不是该数据包发出的真正时间,而且这个时间戳与该数据包发出的真正时间的差值也是不确定的.CPU通过响应网卡中断接收数据包,在中断处理程序中,读取计数器值作为该数据包的接收时间戳,但这个时间戳并不是接收到该数据包的第一个比特时的时间戳,所以还要减去数据包的长度(单位:比特)与传输每一个比特所需的时间之积,得到实际的接收时间戳,由于CPU的中断响应时间是不确定的,这个时间戳还不是接收该数据包的真正时间,其不确定性依CPU 的速度和操作系统的不同而不同.若网卡在接收到与时钟同步相关的数据包时,网卡芯片的缓存中还有其他未被CPU处理的数据包,则上述接收时间戳的精度又要大打折扣.随着网络传输速率的提升,在由直通型交换设备组建的以太网中,通讯链路的传输延迟时间的不确定性越来越小,这导致时间戳本身的精度对同步精度的影响明显加大.时间戳本身的精度是由时间戳的获取方式决定的,在上述的基于嵌入式软件的方案中,时间戳的获取点位于网络层和数据链路层之间,若能将时间戳的获取点下移至数据链路层和物理层之间,则时间戳的精度将大幅提高,但这种方法只有硬件电路才能实现.仅仅是周期性的校正从时钟无法实现精确的时钟同步,即使从时钟和主时钟的偏差可以计算得非常精确,每次校正后二者偏差为零,由于驱动时钟计数器的晶振的频率并不完全一致,2个标称频率相同的晶振的实际频率之间的微小差别会导致从时钟和主时钟的偏差随时间的变化逐渐增加,这种漂移在高精度同步的情况下是不能容许的.若要调节从时钟的晶振频率使得它与主时钟晶振频率相同,或者采用模拟电路,采用具有频率调节功能的时钟振荡源来驱动时钟计数器;或者采用数字电路,用硬件电路实现一个算法,其效果相当于采用频率不可调整的晶振和少量数字电路搭建一个等效的频率可调的时钟计数器.采用数字电路更为廉价和方便.从上述分析可以看出,采用数字电路硬件有助于大幅提升时钟同步精度,而且硬件电路的优势是基于嵌入式软件的方案无法达到的.本文设计了一种基于FP GA和硬件描述语言(V HDL)的时钟同步系统,发挥了硬件电路在获取时间戳和晶振频率纠偏方面的优势,实现了比基于嵌入式软件的方案更为精确的时钟同步.图1 时钟同步系统示意图Fig.1 System architecture of synchronization system 1.2 基于FPG A的时钟同步方案设计现场可编程逻辑门阵列(FP GA)采用硬件逻辑门阵列和语言编程方式(V HDL)实现信号的输入、输出及信息处理,具有ns级别的数据处理和运算能力.本文设计的基于FP GA的时钟同步系统的结构如图1所示,它包含一个主时钟节点,若干从时钟节点,其中主时钟节点上带有GPS(global posi28961浙 江 大 学 学 报(工学版) 第41卷 tion system )接收机.GPS 接收机发出的秒脉冲信号将主时钟同步于U TC (universal time coordina 2ted ),从时钟通过以太网的通讯链路同步于主时钟.网络拓扑为星型,以直通型交换机或集线器(HUB )作为交换设备.系统中节点的内部结构如图2所示.每个节点包含CPU 、以太网媒体访问控制(media access con 2t rol ,MAC )器、以太网物理层收发器、FP GA 等4种主要芯片.物理层收发器和MAC 控制器通过标准的M II (media independent interface )接口相连,CPU 通过总线与MAC 控制器和FP GA 相连.物理层收发器、MAC 控制器和CPU 构成通讯协议栈,完成数据包的发送和接收.图2 节点电路结构图Fig.2 Hardware architecture of clock nodeFP GA 内部结构如图3所示,它是整个同步系统的核心器件,完成时间戳的获取和晶振的纠偏功能.FP GA 通过监听和分析M II 接口上的信号来确定数据包的发送时间戳和接收时间戳.根据IEEE802.3标准,MII 接口位于介质访问子层和物理层之间,是一种简单、廉价、易于实现的电气接口,它支持10和100Mbps 2种传输速率,它的存在使得同一种介质访问控制器能够对非屏蔽双绞线、屏蔽双绞线、光纤等多种物理传输介质进行访问和控制[3].图3 FPG A 模块结构图Fig.3 Module architecture in FP GA基于FP GA 的时间同步方案内部采用结构化的硬件描述语言设计了M II 兼容的以太网发送/接收时间戳捕获器、晶振频率补偿器、时钟同步控制器、通用CPU 接口、测试接口等模块,其中时钟同步控制器实现了各个模块之间的数据高速交换、网络传输延迟滤波和基于IEEE1588的同步运算,并将运算结果作用于其他模块以实现晶振频率补偿、时钟同步等功能.通用CPU 接口为嵌入式实时控制系统提供高精度的硬件时钟访问接口.MII 接口共有18个信号,它们分别是用于发送数据的TXCL K 、TXD [3:0]、TXEN 、TXER ,用于接收数据的RXCL K 、RXD [3:0]、RXDV 、RXER ,此外还有CRS 和COL ,以及用于管理的MDIO 和MDC.TXCL K 是本地晶振产生的时钟信号,发送数据TXD [3:0]、发送使能TXEN 和发送差错TXER 都同步于TXCL K;RXCL K 是从接收到的信号中恢复出来的时钟信号,接收数据RXD [3:0]、接收有效RXDV 和接收差错RXER 都同步于RXCL K;载波监听CRS 和碰撞检测COL 既不同步于时钟TX 2CL K ,也不同步于时钟RXCL K.图4(a )、(b )和(c )分别是正常发送数据、正常接收数据和数据包发生碰撞时相关的M II 接口信号的波形.M II 接口发送数据宽度是4位(称为Nibble ),以小端方式组装,即每个字节的低4位为第一个Nibble ,高4位为第二图4 MII 波形图Fig.4 MII waveform个Nibble ,物理层电路发送数据时,首先发送每个Nibble 的最低位,最后发送每个Nibble 的最高位,接收数据时也按这个规则来组装.在发送端,每次发送数据包时,在向物理介质上发送数据位之前,必须先发送64位的前导码,用于接收端电路恢复时钟信号,使得接收端的时钟信号频率与发送端相等.前导码的比特序列为1010101010101010,共62位,紧跟以2位11作为数据帧的起始定界符.用FP GA 监听M II 接口中与发送相关的信号,捕捉位于紧跟前9961第10期黄文君,等:基于FP GA 的精确时钟同步方法导码之后的2个连续的高电平,即可准确地确定正在发送的数据包的发送时间戳.如果发生碰撞,该数据包需要重发.重发时还是要先发送前导码,于是可以获取一个新的准确的发送时间戳.由此可见,这种使用FP GA 获取发送时间戳的方法消除了网络中随机发生的碰撞造成的影响,能大幅提高发送时间戳的获取精度.以100Mbp s 以太网为例,TXCL K 为25M Hz ,发送时间戳的精度小于40ns.当一个时槽的长度是512位,即5.12μs 时,若网络上发生碰撞,则发送时间戳的精度必然不会好于5.12μs.在接收端,数据包的接收时间戳也按此方法获取,可以消除CPU 的中断响应时间的不确定性造成的影响,同时也消除了数据包在网卡芯片的缓存中的延迟造成的影响.同样以100Mbp s 以太网为例,RX 2CL K 为25M Hz ,接收时间戳的获取精度小于40ns.在基于嵌入式软件的方案中,假设CPU 为ARM7TDM I 内核,运行于50M Hz ,在没有操作系统的情况下,其中断响应时间为20~400ns ;如果嵌入式软件采用基于操作系统的消息处理,即使排除数据包在MAC 控制器缓存中的延迟的影响,接收时间戳的响应时间精度也不会优于1μs.FP GA 中包含频率补偿时钟模块,它利用数字电路硬件代替了模拟电路,实现了晶振纠偏功能,克服了晶振漂移,使得普通的廉价晶振也能用于精确的时钟同步.频率补偿时钟的原理如图5所示,它由图5 频率补偿时钟结构图Fig.5 Architecture of f requency compensation clock一个p 位时钟计数器、一个q 位累加器和一个r 位加数寄存器构成.每个晶振周期,累加器将自身的值与存储在加数寄存器中的值相加,结果存储在累加器中,同时产生一个进位标志位表示这次的加法操作是否溢出,如果发生溢出,则在下一个晶振周期,时钟计数器增加一个增量,这个增量就是整个频率补偿时钟的分辨率;如果没有溢出,则在下一个晶振周期,时钟计数器保持原值.单位时间内时钟计数器数值增加的次数是由加数寄存器的值和晶振频率共同决定的,改变存储在加数寄存器中的加数,就改变了累加器进行加法操作时发生溢出的频率,从而改变了时钟计数器数值增加的频率,实现了对晶振频率的补偿[4].q 和r 越大,加数的改变对累加器发生溢出的频率的影响越小,对晶振频率的补偿越精细.在本文设计的系统中,取p =64,前32位表示秒,后32位表示微秒,q =r =32,对晶振频率补偿的步进值小于3×10-8.利用硬件描述语言,FP GA 完成了2个用一般CPU 无法完成的工作.一是在M II 接口处获取时间戳,二是用数字电路的方法实现对晶振频率的补偿,正是这2点对同步精度的提升起了决定性的影响.FP GA 中的控制器模块实现了时钟调节算法,根据从时钟处得出的自身与主时钟的偏差计算出相应的频率补偿值,即存储在频率补偿时钟中的加数寄存器中的值,从而达到了对时钟计数器的数值进行控制的目的.由于对网络传输延迟的滤波也在FP GA 中完成,CPU 无法对时钟计数器的运行进行干预,只负责驱动MAC 控制器完成相关的通讯功能.CPU 和FP GA 之间有接口电路,CPU 对FP GA 的访问等效于对片外内存的读写操作,CPU 可以通过这个接口完成本地时钟属性设定、时钟初值设定、时钟运行状态读取、某一事件的预定发生时间写入、已发生事件的时间戳读取等操作.2 测试方法与应用验证模拟基于工业以太网的分布式控制系统,搭建应用工业以太网的时钟同步测试系统,动态测试方式如图6所示.采用基于FP GA 的时钟同步方案与嵌入式CPU 接口模拟应用系统,另有第三方的测试电路模块与之配合.测试电路模块定期向FP GA 发出一个测试脉冲,包括主时钟的FP GA 和待测的若干从时钟的FP GA ,每个FP GA 都有一个端口被连接到一根公共的铜导线上.这个同时传播到所有FP GA 的测试脉冲被每个FP GA 同步于自身的逻辑电路,然后用边沿触发器记录下当前的时钟计数器的数值.测试电路模块将这些数值读回,用串口发回测试计算机进行记录和分析.图6 测试系统示意图Fig.6 Test embedded system(下转第1742页)炉温的因素众多,可建立的模型方法也很多,但是要实现基于模型的预测控制,数学模型必需包含3类变量,即:初始变量、状态变量和控制变量,才能够达到炉温w (Si )的闭环控制.更进一步的模型控制研究表明,成功的炉温预测控制方程必须建立机理模型、推理模型和数理模型递阶式智能化集成的基础上才能够实现,这些模型的互动将另文阐述.参考文献(R eferences):[1]刘祥官,刘芳.高炉炼铁过程优化与智能控制系统[M ].北京:冶金工业出版社,2003.[2]罗世华,刘祥官.高炉铁水含硅量的分形结构分析[J ].物理学报,2006,55(7):3343-3347.L UO Shi 2Hua ,L IU Xiang 2Guan.The f ractal structure of silicon content in molten iron in blast f urnace [J ].Ac 2ta Physica Sinica ,2006,55(7):3343-3347.[3]吴怀宇.时间序列分析与综合[M ].武汉:武汉大学出版社,2004.[4]郜传厚,周志敏,邵之江.高炉冶炼过程的混沌性解析[J ].物理学报,2005,54(04):1490-1494.GAO Chuan 2hou ,ZHOU Zhi 2min ,SHAO Zhi -Jiang.Chaotic analysis for blast f urnace iron 2making process [J ].Acta Physica Sinica ,2005,54(04):1490-1494.[5]王玉涛,严其艳,杨钢,等.高炉铁水含硅量的动态神经网络多步预报[J ].仪器仪表学报,2006,1:1448-1451.WAN G Yu 2tao ,YAN Qiy 2an ,YAN G G ang ,et al.Multi 2step prediction of molten iron silicon content in blast f urnace using dynamic neural network [J ].Chinese Journal of Scientif ic Instrument ,2006,11:1448-1451.[6]王振龙.时间序列分析[M ],北京:中国统计出版社,2000.[7]石扬,张燕平,赵姝,等.基于商空间的气象时间序列数据挖掘研究[J ].计算机工程与应用,2007,42(1):201-203.SHI Yang ,ZHAN G Yan 2ping ,ZHAO Shu ,et al.Re 2search on meteorological time series data mining based on quotient space [J ].Computer E ngineering and Appli 2cations ,2007,42(1):201-203.[8]J IA Li ,M EN EN TI M.Response of vegetation photo 2synthetic activity to net radiation and rainfall :a case study on the tibetan piateau by means of fourier analysis of MODIS FA PAR Time Series [J ].Advances in E arth Science ,2006,12:1254-1260.[9]徐东,刘志阳,徐奉臻.我国证券投资基金羊群行为的实证分析(199922004)[J ].哈尔滨工业大学学报,2006,38:2132-2134.XU Dong ,L IU Zhi 2yang ,XU Feng 2zhen.Empirical re 2search on herd behavior of security investment f und in China based on L SV and TSP (199922004)[J ].Journal of H arbin I nstitute of T echnology ,2006,38:2132-2134.[10]梅长林,周家良.实用统计方法[M ].北京:科学出版社,2002.(上接第1700页) 本文设计的时钟同步系统运行在10Mbp s 以太网上,采用无数据帧缓冲的HUB 互连各个设备,共有1个主节点和10个从节点.在连续20d 的长期测试中积累的测试数据显示,从时钟相对主时钟的偏差的平均值小于±35ns ,标准差小于100ns ,峰值小于±500ns ,这说明同步精度已经达到亚微秒级.同步时间误差测试曲线见图7.图中:e 为同步误差,n 为测试次数.图7 时间同步测试曲线图Fig.7 Test curve of time synchronization3 结 语本文采用FP GA 硬件逻辑方法实现工业以太网的高精度时间同步.通过实际应用验证,该方法具有稳定性好、精度高等特点,采用硬件模块化结构可以方便地与嵌入式实时控制系统集成应用.由于设备所限,本文只完成了在10Mbp s 以太网上的测试,同步精度已达到亚微秒级.如果网络传输速率上升到100Mbp s ,预期可达到更高的同步精度.参考文献(R eferences):[1]IEEE std 158822002,IEEE standard for a precisionclock synchronization protocol for networked measure 2ment and control systems [S].New Y ork :Institute of Electrical and Electronic Engineers ,2002.[2]EPA criterion for industrial control system ,Digital com 2munication for measurement and control [S].Beijing :National Standard Committee ,2004.[3]IEEE std 802.322002,Carrier sense multiple access withcollision detection (CSMA/CD )access method and physical layer specification [S].New Y ork :Institute of Electrical and Electronic Engineers ,2002.[4]HARRIS K R ,BAL ASUBRAMAN IAN S ,MOLDA 2VANSKY A.A f requency compensated clock for preci 2sion synchronization using IEEE 1588and its application to Ethernet [EB/OL ].2003211212[2007201220].ht 2tp ://。

电脑和fpga之间同步通信

电脑和fpga之间同步通信

电脑和fpga之间同步通信电脑和FPGA之间的同步通信是现代计算机技术中的重要组成部分。

随着计算机性能的不断提升,对于高速、可编程的硬件加速器的需求也越来越大,而FPGA(Field-Programmable Gate Array)正是一种常用的硬件加速器。

本文将介绍电脑和FPGA之间同步通信的基本原理和实现方法。

我们来了解一下什么是FPGA。

FPGA是一种可编程逻辑器件,它由大量的可编程逻辑单元和存储单元组成。

与传统的ASIC (Application-Specific Integrated Circuit)相比,FPGA具有可编程性强、灵活性高的特点。

FPGA可以通过编程将逻辑电路实现在硬件上,从而加速特定的计算任务。

在电脑和FPGA之间进行同步通信时,需要解决两个关键问题:时序同步和数据传输。

时序同步是指电脑和FPGA之间的时钟信号同步。

在计算机系统中,时钟信号被用来同步电路的操作。

在FPGA中,也有时钟信号用于同步逻辑电路的工作。

为了实现电脑和FPGA之间的同步通信,需要保证两者的时钟信号同步。

一种常用的方法是使用专门的时钟模块,将电脑和FPGA的时钟信号进行同步。

这样可以确保数据在电脑和FPGA之间的传输是同步的。

数据传输是电脑和FPGA之间同步通信的另一个重要问题。

为了实现数据的传输,需要设计合适的接口和协议。

一种常用的接口是使用通用并行接口(GPI)或高速串行接口(GSI)。

这些接口可以在电脑和FPGA之间传输数据,并确保数据的同步性和可靠性。

在设计接口和协议时,需要考虑数据的传输速率、数据的格式、错误检测和纠正等因素。

为了提高数据传输的效率,可以使用流水线技术和并行传输技术。

流水线技术将数据分为多个阶段进行传输,从而提高数据的传输速率。

并行传输技术则是同时传输多个数据,进一步提高传输效率。

为了确保数据的正确传输,还需要进行错误检测和纠正。

常用的方法包括奇偶校验、循环冗余检测(CRC)等。

FPGA时钟设计

FPGA时钟设计

FPGA时钟设计在FPGA设计中,时钟设计需要考虑以下几个方面:1.时钟源:时钟源可以是外部信号源,也可以是FPGA内部的时钟发生器。

外部时钟源一般来自外部设备或者振荡器。

FPGA内部的时钟发生器可以根据需要生成所需的时钟频率。

2.时钟分频:时钟分频是指将输入的时钟频率分频为所需的输出频率。

在一些应用中,需要将时钟频率降低到一个更低的频率,以降低功耗或满足特定的应用需求。

3.时钟分配:在FPGA设计中,可能会有多个模块需要使用时钟信号。

时钟分配是指将时钟信号分配给各个模块,以确保它们能够按照同步的方式工作。

4.时钟域划分:在FPGA设计中,可能会存在多个时钟域,即不同的时钟频率和时钟相位。

时钟域划分是指将设计中的电路划分为不同的时钟域,并确保时钟跨域的数据传输正确。

5.时钟驱动和延迟:时钟驱动和延迟是指时钟信号的传输延时。

由于FPGA中的逻辑电路通常具有不同的传输延时,所以时钟信号需要正确地驱动各个子模块,以确保数据的正常传输。

在进行FPGA时钟设计时,需要考虑以下几个关键问题:1.时钟频率选择:时钟频率选择需要综合考虑系统的需求和FPGA的性能。

较高的时钟频率可以提高系统的工作速度,但也会增加功耗和电磁干扰。

较低的时钟频率可以降低功耗和电磁干扰,但会降低系统的工作速度。

2.时钟相位对齐:时钟相位对齐是指在不同时钟域之间进行数据传输时,需要确保时钟相位的对齐。

时钟相位对齐可以通过插入寄存器或者使用FPGA的时钟管理资源来实现。

3.时钟缓冲和驱动:时钟缓冲和驱动是指对时钟信号进行放大和驱动,以确保时钟信号能够正常传输和驱动其他模块。

时钟缓冲和驱动可以使用FPGA内部的时钟管理资源,如PLL和BUFIO等。

4.时钟分频策略:时钟分频策略是指根据需要将时钟频率分频为所需的频率。

时钟分频可以使用FPGA内部的分频器来实现,也可以使用逻辑电路来实现。

在FPGA时钟设计过程中,需要进行时钟约束设置,即设置时钟频率、时钟相位和时钟域等约束条件。

基于FPGA的GPS的时钟同步毕业设计

基于FPGA的GPS的时钟同步毕业设计

摘要本文在综合分析基于GPS的标准定时系统应具备的主要功能和FPGA特点的基础上,提出了一种基于GPS的标准定时系统设计方案,实现了高精度时间信号和时、分、秒同步脉冲的输出,时间信息的显示等功能。

FPGA作为系统核心提高了数据的处理速度和同步精度。

本设计采用FPGA作为GPS同步时钟装置的控制和数据处理核心,取代目前应用较多的以单片机为核心的控制和数据处理单元,在减小系统体积、降低开发和维护成本以及提高系统稳定性的同时,通过对设计的优化,加快了数据的处理速度,提高了同步精度,并实现了秒脉冲在GPS失步时的平滑切换,有着重要的应用价值。

同时,基于FPGA的设计也使系统实现了小型化的目标,提高了系统稳定性,并使维护和升级更加方便。

通过时序仿真和分析验证,基于FPGA的设计方案完全能够满足GPS同步时钟对于较高的同步精度的要求。

FPGA芯片总的逻辑单元占用情况为系统升级预留了较多的资源。

以此设计作为平台,根据不同的应用要求,可以方便地扩展出不同的功能单元,比如网络授时接口、IRIG-B编码输出等更多形式的输出模块。

关键词:可编程逻辑门阵列、全球定位系统、时钟AbstractThe comprehensive analysis of the standard GPS-based timing system should have the main functions and features based on the FPGA, this paper, a standard GPS-based timing system design to achieve high-precision time signal and the hours, minutes, seconds synchronization pulse output, the time information display. FPGA as the core of the system improves the data processing speed and synchronization accuracy.This design uses FPGA devices as GPS synchronized clock control and data processing core, more to replace the current application as the core MCU control and data processing unit, and reduce system size, reduce development and maintenance costs and increase system stability Meanwhile, the optimization design to speed up data processing speed, improve the synchronization accuracy, and achieve a second pulse in the GPS when the smooth-step switch, has an important value. At the same time, FPGA-based design also makes the system to achieve the goal of miniaturization, improved system stability, and to maintain and upgrade more convenient.Verified by timing simulation and analysis, the design of FPGA-based fully able to meet the GPS synchronized clock synchronization for high accuracy requirements. FPGA chip, the logical unit of total occupancy for the system set aside more resources to upgrade. This design as a platform, according to different application requirements, you can easily expand the functions of different units, such as network time service interfaces, IRIG-B code output, more forms of output module.Keywords: FPGA, GPS,clock目录摘要.................................................................................................................. I Abstract ............................................................................................................... II 1绪论.. (1)1.1课题研究背景 (1)1.2课题研究的目的和意义 (3)1.3 论文章节安排 (3)2 系统技术平台简介 (5)2.1 FPGA概述 (5)2.2 GPS概况 (9)2.3 RS-232标准串行接口总线 (12)3 统硬件设计 (15)3.1 系统硬件设备 (15)3.2 系统设计总体框图 (15)3.3分块设计说明 (16)4 标准定时系统的软件设计 (22)4.1软件设计原理 (22)4.2 程序分析 (25)总结 (29)致谢 (30)参考文献 (31)附录 (32)1绪论1.1课题研究背景基于GPS的标准定时系统是在综合分析GPS同步时钟应具备的主要功能和FPGA 特点的基础上提出的,能够实现UTC时间与北京时间的转换、显示等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的处理器间高精度时钟同步通信机制摘要:为了保证嵌入式设备运行的稳定性和可靠性,都会应用双余度的CPU来共同管理硬件资源,协调任务调度和处理CPU的高速外设接口数据,因此,该文介绍一种在具有高效数字时钟管理器的FPGA上产生高精度、高稳定度时钟同步信号,用来保证CPU间的精确同步通信,达到高效的公共资源管理、合理的任务调度以及相互比对的数据计算。

关键词:FPGA;同步通信;处理器;时钟信号中图分类号:TN710?34 文献标识码: A 文章编号:1004?373X(2016)10?0092?04FPGA?based communication mechanism withhigh?precision clock synchronization between processors JIANG Xin 1,TANG Chao2,BAI Chen1(1. Xi’an Aeronautic Computing Technique Research Institue,AVIC,Xi’an 710068,China;2. Military Representative Office at Xi’an Aeronautic Computing Technique Research Institue,Xi’an 710068,China)Abstract:In order to ensure the stability of embedded devices running and high reliability,are applied dual redundant CPU to co?management of hardware resources,task scheduling and coordination process CPU speed peripheral interface data,therefore,in this paper,a highly efficient digital generating clock management FPGA?precision,high?stability clock synchronization signal is used to ensure accurate synchronous communication between the CPU,in order to achieve efficient management of public resources,reasonable task scheduling and the mutual alignment of data calculation.Keywords:FPGA;synchronous communication;CPU;clock signal随着现代半导体技术的不断发展,具有高性能、低功耗和接口资源丰富处理器的数据处理模块越来越多地应用到了嵌入式领域内。

本文着重介绍了一种高精度、高稳定的脉冲同步通信机制,其应用到高性能数据处理模块的双处理器之间,保证双处理器的任务调度平衡和处理数据保证一致性,进而提高系统工作频率和稳定性。

1 同步通信机制的应用条件1.1 数据处理模块工作原理双处理器数据处理模块应用于嵌入式数据信息交换平台的高速数据总线(FC总线、1394B总线和千兆以太网)和低速数据总线(1553B,1394B,LVDS,RS 485)的数据解析、处理和组包,同时完成各种指令的传输控制和任务调度,双处理器数据处理模块的体系结构如图1所示。

双处理器数据处理模块主要功能包括:具备两个PowerPC系列处理器P2010作为数据处理模块的主备核心控制单元;通过FC总线和1553B总线完成与嵌入式数据信息交换平台的外部设备通信;通过1394B总线完成与嵌入式数据信息交换平台其他模块的通信;完成嵌入式数据信息交换平台的控制命令等数据的处理及下发;完成嵌入式数据信息交换平台的参数和状态等信息的处理及上传;主控单元和备控单元能够实现对自身工作状态的监测,异常情况下能切断与外部接口的连接;备控单元实现对主控单元的状态监测,在主控单元故障情况下,备控单元接管主控单元实现系统控制管理功能。

双处理器数据处理模块主要由主控单元、备控单元和共用单元组成。

主控单元包括电源、高性能嵌入式处理系统、1394B总线接口和FC总线接口等电路,备控单元硬件与主控单元硬件设计基本相同,共用单元包括1553B总线接口电路组成,共用单元与主控单元、备控单元分别通过独立接口进行通信。

1.2 应用背景为了保证双处理器数据处理模块的主、备处理器间任务调度、切换和主、备单元各总线交换数据的一致性,需要在主、备处理器之间建立一种相互监听的同步通信机制。

根据双处理器数据处理模块在嵌入式数据信息交换平台作为的核心控制角色,需要在高速的数据处理和ms级任务调度的情况下,完成主备处理器间的同步通信,需要一个ns级的同步通信通道。

需要论证一套同步脉冲(周期1 ms,占空比10%)收发系统,实现发射与接收端脉冲信号时间抖动均方根值小于200 ns,并且保证发射端和接收端的脉冲上升沿相位差固定[1],其抖动也小于200 ns。

2 同步通信机制设计2.1 硬件电路设计2.1.1 FPGA选择由于PowerPC处理器对时钟信号的上升和下降沿,以及时钟上升沿的爬升速度要求极高,减少整个双处理器数据处理模块的时钟源数量(减少电磁干扰);因此需要精确的时序控制和可定制的系统配合能力才能满足处理器间的同步通信;因此具有数字时钟管理器(Digital Clock Manager,DCM)的FPGA具备精准的倍频、分频、相位移动和时钟去偏斜等功能满足处理器间同步通信的功能需要[2]。

利用高稳定度和高精度的外部时钟源为FPGA提供参考时钟和为处理器提供系统时钟,FPGA内部的DCM模块去除时钟偏移时,能消除时钟分配的延迟,完成时钟的闭环控制,提供同步通信脉冲的基准时间。

因此,设计选用国微公司的新一代军品级全温度工作范围(-55~125 ℃)VirtexⅡ系列SMQ2V1000FG456芯片[3],FPGA是基于8层金属的0.12 μm CMOS 逻辑工艺加工制造。

其中密度为100万等效系统门,300 MHz内部时钟速度(Advance Data,系统频率最高可达300 MHz,指的是以FPGA 芯片内部逻辑单元间的最小延迟时间为依据计算出来的逻辑电路可达到的理论最高速度,并不代表外部端口特性或用户系统能达到此频率值),622 Mb/s 的I/O(Advance Data),具有10 240个内部带时钟使能的寄存器/锁存器,8个DCM模块(精确的时钟去偏斜,可变的频率综合,高分辨率的相移),16个全局时钟多路缓冲器时钟控制块,适合用于复杂逻辑以及有存储、缓冲功能的数据采集系统中。

2.1.2 同步通信电路实现双处理器数据处理模块的主备处理器都配对了一个FPGA,它主要负责对主备处理器的相关资源进行分配和实时接口资源控制,可以利用这个资源管理的FPGA和处理器匹配电路的时钟源[4],在每个与CPU配对的FPGA中实现一个脉冲发生器和脉冲接收器,通过一个处理器的配对FPGA中的脉冲接收器去监听另一个处理器配对FPGA中的脉冲发生器是否有脉冲心跳变换,判断对方处理器的运行是否正常,同步通信电路图,如图2所示。

主处理器和备处理器分别通过主备电源同时上电,主处理器和备处理器之间通过数据通信接口达成同步握手协议。

主处理和备处理器分别使能各自配对FPGA中的脉冲发生器和脉冲接收器后,进行以下两步:(1)主备处理器通过eLBC总线对脉冲发生器的状态进行初始化,并进行周期输入使能命令字,触发脉冲发生器发出心跳周期脉冲信号;(2)FPGA内部实现监听寄存器对脉冲接收器的状态进行观察,当脉冲接收器接收到周期性的脉冲心跳信号后,产生周期性的中断触发信号给各自对应的处理器,处理器通过中断感应对方处理器的同步状态。

2.2 同步控制逻辑设计2.2.1 同步控制逻辑原理设计同步通信信号(心跳脉冲)的占空比较小,信号能量较弱,因此在传输之前需对该信号进行编码,以提高信号占空比和能量[5]。

利用FPGA内部锁相环(PLL)先将外部时钟源输入的100 MHz的时钟信号进行倍频得到200 MHz时钟信号,作为信号编码的驱动时钟。

为了减小最终输出端的脉冲信号的上升沿抖动,确保200 MHz时钟信号的第200 000个脉冲的上升沿与1 kHz的上升沿对齐,并且保证编码后信号的在该时刻的上升沿也跟两路信号的上升沿对齐。

同时,对第200 000个脉冲的前几个脉冲进行一定的编码,即在第199 997个脉冲的位置输出连续“0”,在第199 998个脉冲的位置输出连续的“1”,以此来作为脉冲信号上升沿的帧头识别。

因此,只要在接收端识别到帧头,就可以在之后的第一个上升沿作为1 kHz脉冲的上升沿输出,并且使其输出100 μs的宽度,便可以正确的解调出1 kHz的脉冲信号。

在接收端,接收到编码后的信号,可以通过高速时钟采样接收信号,等识别到该帧头后把接收信号的第一个上升沿作为1 kHz脉冲的上升沿,并且连续输出200 000个CLK的高电平来实现100 μs的脉冲,这样就产生了同步信号[1]。

2.2.2 同步控制逻辑原理实现主CPU上电之后,首先通过eLBC总线向主FPGA内部的同步脉冲使能寄存器(EN_Plus_Register)写入“1”,使能脉冲发生器,通过eLBC向脉冲命令寄存器(Cmd_Plus_Register)写入16 b的启动命令,第1 ms写入0x”5A5A”,第2 ms写入0x”A5A5”,第3 ms写入0x”5A5A”,第4 ms写入0x”A5A5”,依次类推[6]。

主FPGA中的脉冲发送状态机,每隔1 ms读取脉冲命令寄存器的值,若数据值为0x”5A5A”和0x”A5A5”交替出现,则认为主处理器工作正常,发送心跳脉冲信号(周期1 ms,占空比10%)到备FPGA的监测接口寄存器。

备FPGA中的内部监测心跳信号状态机,监测心跳脉冲信号(周期1 ms,占空比10%)的上升沿数量,当上升沿的数量≥5(每隔5 ms)时,触发一次备处理器的同步正常中断(IRQ2中断,中断信号持续时间为2 ms),备CPU进入中断服务程序后,首先关闭备处理器的IRQ2中断,同时上报主处理器同步通信状态正常。

若主FPGA的脉冲发生状态机读取脉冲命令寄存器(Cmd_Plus_Register)的值,不是X”5A5A”和X”A5A5”交替出现,或者同一命令字重复出现两次时,则认为主处理器工作异常,主FPGA中的脉冲发生状态机停止发送脉冲同步信号,同时备FPGA中的脉冲接收器如果持续20 ms,未接收到主FPGA发送的周期性脉冲信号,则备FPGA中的脉冲接收状态机触发备处理器的同步异常中断信号(IRQ1中断),备FPGA触发备FPGA中断信号(一旦使能,就一直保持),备处理器进入中断服务程序,关闭备处理器的IRQ1中断,报主处理器的同步信号异常。

相关文档
最新文档