FPGA时钟设计

2025-01-28

FPGA时钟设计(共6篇)

FPGA时钟设计 篇1

对于一个设计项目来说,全局时钟是最简单和最可预测的时钟。在PLD/FPGA设计中最好的时钟方案是由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。PLD/FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。

1 全局时钟

全局时钟的实例如图1所示。图1中定时波形示出触发器的数据输入D[1..3]应遵守建立时间和保持时间的约束条件。建立和保持时间的数值在PLD数据手册中给出,也可用软件的定时分析器计算出来。如果在应用中不能满足建立和保持时间的要求,则必须用时钟同步输入信号。

2 门控时钟

在许多应用中,整个设计项目都采用外部的全局时钟是不可能或不实际的。PLD具有乘积项逻辑阵列时钟(即时钟是由逻辑产生的),允许任意函数单独地钟控各个触发器。然而,当你用阵列时钟时,应仔细地分析时钟函数,以避免毛刺。

通常用阵列时钟构成门控时钟。门控时钟常常同微处理器接口有关,用地址线去控制写脉冲。然而,每当用组合函数钟控触发器时,通常都存在着门控时钟。如果符合下述条件,门控时钟可以象全局时钟一样可靠地工作,图2所示是一个可靠的门控时钟电路。

(1) 驱动时钟的逻辑必须只包含一个“与”门或一个“或”门。如果采用任何附加逻辑在某些工作状态下,会出现竞争产生的毛刺。

(2) 逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其他输入必须当成地址或控制线,它们遵守相对于时钟的建立和保持时间的约束。

在设计中可以将门控时钟转换成全局时钟以改善设计项目的可靠性。图3示出如何用全局时钟重新设计图2所示的电路。地址线在控制D触发器的使能输入,许多PLD设计软件,如Max+Plus Ⅱ软件都提供这种带使能端的D触发器。当ENA为高电平时,D输入端的值被钟控到触发器中:当ENA为低电平时,维持现在的状态。

3 多级逻辑时钟

当产生门控时钟的组合逻辑超过一级(即超过单个的“与”门或“或”门)时,验证设计项目的可靠性变得很困难。即使样机或仿真结果没有显示出静态险象,但实际上仍然可能存在着危险。通常,不应该用多级组合逻辑去钟控PLD设计中的触发器。

图4给出一个含有险象的多级时钟的例子。时钟是由SEL引脚控制的多路选择器输出的。多路选择器的输入是时钟(CLK)和该时钟的2分频(DIV2)。多级逻辑的险象可以去除。例如,可以插入“冗余逻辑”到设计项目中。然而,PLD/FPGA编译器在逻辑综合时会去掉这些冗余逻辑,使得验证险象是否真正被去除变得困难了。为此,必须应寻求其他方法来实现电路的功能。

图5给出图4电路的一种单级时钟的替代方案。图中SEL引脚和DIV2信号用于使能D触发器的使能输入端,而不是用于该触发器的时钟引脚。采用这个电路并不需要附加PLD的逻辑单元,工作却可靠多了。

4 行波时钟

另一种流行的时钟电路是采用行波时钟,即一个触发器的输出用作另一个触发器的时钟输入。如果仔细地设计,行波时钟可以像钟一样地可靠工作。然而,行波时钟使得与电路有关的定时计算变得很复杂。行波时钟在行波链上各触发器的时钟之间产生较大的时间偏移,并且会超出最坏情况下的建立时间、保持时间和电路中时钟到输出的延时,使系统的实际速度下降,如图6所示。

5 多时钟系统

许多系统要求在同一个PLD内采用多时钟。最常见的例子是两个异步微处理器之间的接口,或微处理器和异步通信通道的接口。由于两个时钟信号之间要求一定的建立和保持时间,所以,上述应用引进了附加的定时约束条件。它们也会要求将某些异步信号同步化。

图7给出一个多时钟系统的实例。CLK_A用以钟控REG_A,CLK_B用于钟控REG_B,由于REG_A驱动着进入REG_B的组合逻辑,故CLK_A的上升沿相对于CLK_B的上升沿有建立时间和保持时间的要求。由于REG_B不驱动馈到REG_A的逻辑,CLK_B的上升沿相对于CLK_A没有建立时间的要求。此外,由于时钟的下降沿不影响触发器的状态,所以CLK_A和CLK_B的下降沿之间没有时间上的要求。电路中有两个独立的时钟,可是,在它们之间的建立时间和保持时间的要求是不能保证的。在这种情况下,必须将电路同步化。图8给出REG_A的值(如何在使用前)同CLK_B同步化。新的触发器REG_C由GLK_B触控,保证REG_G的输出符合REG_B的建立时间。然而,这个方法使输出延时了一个时钟周期。

在许多应用中只将异步信号同步化还是不够的,当系统中有两个或两个以上非同源时钟的时候,数据的建立和保持时间很难得到保证,将面临复杂的时间问题。最好的方法是将所有非同源时钟同步化。使用PLD内部的锁项环(PLL或DLL)是一个效果很好的方法,但不是所有PLD都带有PLL,DLL,而且带有PLL功能的芯片大多价格昂贵,所以除非有特殊要求,一般场合可以不使用带PLL的PLD。 这时需要使用带使能端的D触发器,并引入一个高频时钟。

6 结 语

稳定可靠的时钟是系统稳定可靠的重要条件,所以不能将任何可能含有毛刺的输出作为时钟信号,并且尽可能只使用一个全局时钟,对多时钟系统要注意同步异步信号和非同源时钟。

摘要:在FPGA设计中,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压下将导致错误的行为。在设计PLD/FPGA时通常采用如下四种类型时钟:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时钟系统包括上述四种时钟类型的任意组合。

关键词:FPGA,时钟,逻辑时钟,险象

参考文献

[1]Anon.The ten commandments of excellent design[M/OL].[2009-01-04].http://www.fpga.com.cn.

[2]吴继华,王诚.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.

[3]徐振林.Verilog HDL硬件描述语言[M].北京:电子工业出版社,2000.

[4]田耘,徐文波,胡彬,等.Xilinx ISE Suite Designer 10.X FP-GA开发指南:逻辑设计篇[M].北京:人民邮电出版社,2008.

[5][美]Clive Maxfield.FPGA设计指南:器件、工具和流程[M].杜生海,刑闻,译.北京:人民邮电出版社,2007.

[6]吴继华,王诚.Altera FPGA/CPLD设计(高级篇)[M].北京:人民邮电出版社,2005.

[7]阎石.数字电子技术基础[M].4版.北京:高等教育出版社,1998.

[8]周海斌.静态时序分析在高速FPGA设计中的应用[J].电子工程师,2005,31(11):42-44.

[9]徐志军,徐光辉.CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002.

FPGA时钟设计 篇2

机缘巧合下获得了一个共享的WiFi授时的固件,就想着做个时钟玩玩,毕竟网络授时即便有误差也是就那么大,误差改变不了;研究了下,跟GPS授时读时间基本都一样,参考着GPS的解码程序。还算行,过程有不少坎坷。数码管刷新,读温度,串口中断,北京时间计算(因为读出来的是UTC时间比北京时间慢8个小时整)只读时间还好说,可是也要日期,闰年判断,大小月判断等等。最终还是鼓捣出来了,很不错!这是正在刷新时候被拍下来了,秒点设计的很个性,上下各两个共四个;最上面和最下面亮,剩下两个灭,然后最上和最下灭,中间两个亮。灵感一闪做的,哈哈挂起来,关灯模式,亮度变暗,不进行显示转换。右下角那个红LED是ESP8266模块的电源指示灯,每秒旁边蓝LED闪一下开灯,亮度恢复正常(就两个亮度,如果需要,可以再程序里改)说一下:左下角是显示温度的显示日期,大秒点全亮,左下角数码管显示时间,小秒点闪烁这是制作的时候照的,后来改了些细节,不过电路图都是对的!左上角是DS18B20测温的,这也是我第一次把DS18B20焊板子上,以前都是用线引出去,因为板子也发热,人感觉不出来罢了一堆三极管,因为单片机太小,所以段码也用三极管控制了,不过单片机还是微微发热给ESP8266模块供电用的1117-3.3V降压模块,有个电源指示灯,被我拆了给ESP8266刷固件方法:USB-TTL模块的GND-ESP8266模块的GNDUSB-TTL模块的3.3V-ESP8266模块的VCCUSB-TTL模块的RXD-ESP8266模块的UTXDUSB-TTL模块的TXD-ESP8266模块的URXDESP8266模块的GPIO0-ESP8266模块的GNDESP8266模块的CH_PD-ESP8266模块的VCC【转载自数码之家】

电路相关文件

电路图文件

WiFi时钟原理图.rar

描述:原理图

源代码

WIFI时钟代码.rar

描述:代码

其他文件

ESP8266模块网络授时固件.rar

描述:固件

收藏(3)

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归水表君所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批

more>>

大家都在看:

1英飞凌无人机XMC4500多机演示板=)*辉光管下全彩灯提供普通模式、呼吸模式、渐变模式;*普通模式下用户可以通过手机改变三基色进行调色;*呼吸及渐变模式下用户可以设置呼吸或渐变的颜色,支持速度、亮度调节及暂停;*时间、日期、开机时间、关机时间显示(背部按钮切换);*每10分钟启动辉光管防止阴极中毒程序,延长辉光管使用寿命; 辉光钟介绍视频链接:

http://t.cn/RW5Te3W?m=***0&u=531163123...本设计创意来源如下: 严老师: http://...完全兼容原子Mini STM32嵌入式开发板参数如下: 完全兼容原子Mini STM32嵌入式开发板电路 PCB截图:附件内容截图:

来自:MCU开发板时间:2017-10-19 stm32 diy制作

嵌入式开发板猜你喜欢(实时推荐最适合你的电路)单片机密码锁源程序和仿真文件分享,包括6位和8位地址 功能简介:

电子密码锁:具有初始密码,开锁密码,掉电保护,*为上锁,#为确认(开锁),D为修改密码,C退格;8位程序初始化密码为13142000,开锁密码为00000000;6位程序初始化密码为131420,开锁密码为000000;修改密码:在开锁状态下需再次输入开锁密码成功后(点确认),输入想修改的密码然后按D,需要输入两次(这里不需要按确认键,两次都是按D,不在按确认键)仿真图(proteus仿真工程文件可到附件中下载):单片机部分源程序截图如下:附件内容截图:

来自:基础电路时间:2017-09-25 单片机 密码锁

密码锁仿真简易单片机计算器设计,12864液晶显示,仿真+代码分享

描述:基于51单片机的12864液晶显示计算器设计相关的仿真+代码分享,protues仿真文件在附件供下载。计算器仿真原理图如下:单片机部分源程序截图如下:附件内容截图:

来自:基础电路时间:2017-09-25 单片机 计算器

液晶屏智慧生活,全新智能LED路灯设计

分享的是单片机智能LED路灯设计,附件分享了原理图以及源代码原理图:部分源代码截图:

来自:照明与LED显示时间:2017-09-25 单片机 智能led路灯

路灯简易音乐门铃设计,51出品,可用于毕业设计、课程设计等

一、前言:随着电子技术、微电子技术的飞速发展,微型计算机发展很快,单片机技术成为自动控制技术的核心之一。单片机作为计算机的一个独特的分支,它是在一块芯片上集成了多种功能部件所构成的一台完整的、具有一定功能的单片微型计算机。它打破了典型微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小,功能强,性能价格比高等优点广泛应用于诸多领域,如工业控制系统、智能化仪表、数据采集系统等,单片机技术的开发和应用水平已逐渐成为一个国家工业发展水平的标志之一。无线门铃又称无线遥控门铃或遥控门铃。无线门铃是利用超再生无线模块来实现无线遥控的,无线门铃不需要布线,安装简单灵活,但是传输距离受传输距离和现场环境影响较大。有线门铃正好与之相反。

二、功能介绍:

1、有5首歌曲可以切换,每按一次演唱不同的歌曲。

2、无线传输距离10m以上,可以穿墙和门。

3、设计小巧,方便安装和使用

4、稳定性高,无误报。

三、原理图:发射器:控制器

来自:家用电器时间:2017-09-25 单片机 毕业论文

音乐门铃stc12c5a60s2单片机9路舵机驱动源码分享 描述:利用stc12c5a60s2单片机的iic通信,驱动pca9685,因为采用了9个舵机,所以不需要短接驱动板上的焊点,驱动的scl,sda对应接单片机的就好,vcc接3.3v,然后v+和gnd要给5v,插上9个舵机,任务需要控制舵机90度来回转即可,用的串口,蓝牙控制,很简单,给需要的朋友参考。实物图:

来自:电机驱动与控制时间:2017-09-25 单片机 舵机

FPGA设计中的跨时钟域问题 篇3

在FPGA (Field Programmable Gate Array, 现场可编程门阵列) 设计中往往存在多个时钟域, 这就会带来跨时钟域 (Clock Domain Crossing, CDC) 问题。如果对跨时钟域产生的亚稳态等问题解决不当, 就有可能造成设计功能错误。本文就跨时钟域问题产生的原因、在设计中的解决方法和仿真验证中的相关技术进行阐述和讨论, 这对提高FPGA设计的可靠性有着重要的意义。

1 亚稳态

在数字集成电路中, 寄存器要满足建立时间 (setu time) 和保持时间 (hold time) 的时序要求。建立时间是指在时钟沿到来之前, 寄存器输入数据信号必须保持稳定的时间。保持时间是指在时钟沿之后, 数据信号必须保持稳定的时间。亚稳态 (Metastability) 现象就是如果寄存器数据端的变化与时钟的有效沿很近 (不能满足建立时间或保持时间要求) , 其输出信号就会在一段不可预知长度的时间内处于一个非“0”非“1”的中间状态 (这段时间称为亚稳态恢复时间) , 之后可能稳定在“1”状态, 也可能稳定在“0”状态。而且这种亚稳态可能向后传播, 造成后级出现逻辑错误。

亚稳态的形成过程如图1所示, 时钟域aclk的输出信号adat从高到低的变化与时钟bclk的上升沿非常接近, 不满足建立时间或保持时间的要求, 输出信号bdat1就会有亚稳态产生, 经过一段时间后随机稳定在“1”或“0”上。当亚稳态产生的不确定电平被后续电路采样时, 就可能发生功能错误。

亚稳态现象是寄存器的一个固有特点, 由于亚稳态恢复时间的不确定性, 不能根本的去除亚稳态的影响。通过在设计中预留一定的亚稳态恢复时间, 使信号恢复到确定的电平后参与逻辑运算, 降低亚稳态的影响。MTBF (Mean Time Between Failure, 平均无故障时间) 是衡量一个设计的可靠性指标, MTBF的值越大, 则出现亚稳态问题的概率越小。一个高的平均无故障时间表明一个设计是可靠的。MTBF的计算公式如下所示:

式中:Tmet为寄存器从时钟上升沿触发后的时序余量时间;fclk为接收时钟域的时钟频率;fdata为数据的变化频率;C1和C2为与FPGA器件有关的参数。可以通过延长Tmet的时间或降低fclk和fdata的频率来增大MTBF的值。

Tmet的计算公式为:

Tmet=采样时钟周期时间-输出信号的Tco时间-数据到达下一级寄存器输入端口的延时时间Tdata- 下一级寄存器时间Tsu

式中: Tco为输出相对于时钟沿之后的延时时间;Tsu为输入相对于时钟沿所需的建立时间。精确的说, Tmet时间还应该加上时钟网络延时时间 (Tclk2- Tclk1) 。如图2所示。

因为Tco和Tsu是由FPGA器件的工艺以及工作环境决定的, 时钟网络延时时间很大程度上也是由FPGA器件决定。所以在时钟频率fclk和数据变化频率fdata固定的情况下, 只有减小Tdata的值才能增大Tmet的值。而Tdata是指两个寄存器之间的逻辑延时以及连线延时之和, 为了使Tdata最小, 两个寄存器之间应该没有任何逻辑。

2 同步方法

2.1 两级寄存器同步

根据上面的分析, 为了防止新时钟域中的第一级寄存器的亚稳态信号对下级逻辑造成影响, 可以采用两级寄存器同步的方法。具体电路如图3 所示。

在图3 中可以看出, 时钟域bclk的第一级寄存器的输出信号bdat1 如果存在亚稳态, 经过1 个时钟周期后, bdat1 的亚稳态趋于稳定, 第二级寄存器就能够采样到稳定的值, 输出信号bdat2 不会产生亚稳态。

在一些高速的设计中, 可能两级寄存器同步也无法获得足够的MTBF, 第一级寄存器输出的亚稳态保持了足够长的时间, 导致第二级输出还有亚稳态, 这时就需要采用三级寄存器或者更多级寄存器的方法来同步。

2.2 从快时钟域到慢时钟域

当接收时钟域的频率满足大于1.5 倍发送时钟域的频率时, 可以直接用两级寄存器同步。但是如果发送时钟域的频率大于接收时钟域的频率时, 如果直接用两级寄存器同步, 跨时钟域信号可能不能正常采样, 造成数据丢失。比较可靠的方法是跨时钟域信号的电平宽度大于1.5 倍的接收时钟周期, 这样就可以保证跨时钟域信号正常采样。

可以在设计时直接在发送时钟域里把跨时钟域信号展宽到大于1.5 倍的接收时钟周期, 也可以采用握手协议。握手协议的原理是:在发送时钟域里将所要传输的数据准备好, 再产生一个标志信号通过同步器传递到接收时钟域告诉它来读取数据, 当接收时钟域的控制逻辑检测到这个信号后会将发送时钟域准备好的数据读进来, 然后会产生一个传输完成信号告诉发送时钟域数据读取完毕, 最后发送时钟域接收到这个信号后会撤销标志信号, 完成一次数据传输。

使用握手协议可以进行从快时钟域向慢时钟域的传输, 也可以进行多位数据的传输。

2.3 异步FIFO

在多位数据进行跨时钟传输时还可以使用异步FIFO。异步FIFO是一种先进先出电路, 用来进行2 个异步时钟之间的数据传输。FIFO的存储介质为一块双端口RAM, 可以同时进行读写操作。在写时钟域部分, 由写地址产生逻辑产生写控制信号和写地址;读时钟域部分由读地址产生逻辑产生读控制信号和读地址。在空/满标志产生部分, 由读写地址相互比较产生空/满标志。

异步FIFO的指针逻辑使用格雷码, 代替了通常使用的二进制码。格雷码在每次计数时只改变其中的一位。可以在格雷码总线上使用同步器, 因为每一次总线改变时只有一根信号线有变化, 于是就消除了格雷码总线各位数据通过不同同步器时的竞争情况。

3 仿真中的相关技术

当使用仿真工具对FPGA设计进行后仿真时, 如果存在跨时钟域问题, 不满足建立时间或保持时间的要求就会产生亚稳态, 仿真工具无法确定当前的值, 输出变为不定态X。X态会往后传播, 造成仿真失败。

在某FPGA设计做后仿真时, 存在亚稳态问题, 仿真波形如图4 所示。

其中后仿真文件中的相关代码如下所示:

从图4 中可以看出, 时钟clkin_t的下降沿与寄存器的输入信号clk_cnt_3[0]跳变沿的建立时间无法满足, 产生亚稳态, 输出信号clk_cnt[0]_net_1 变为X。亚稳态向后传播, 造成仿真无法正常进行。为了解决仿真中的这个问题, 可以采用以下一些技术。

3.1 不进行时序检查

通过在仿真时添加命令让仿真器不进行时序检查。以Synopsys公司的仿真器VCS为例, 可以在编译时添加命令+notimingcheck, VCS工具就不会检查时序, 当建立时间或保持时间不满足时, 也不会产生X态。这种方法的弊端是所有的逻辑单元均不会检查时序。

3.2 修改SDF文件

还可以对违反时序的单元直接修改SDF文件中的时序约束。 在该例子中, 违反时序的单元是寄存器clk_cnt[0], 通过查找SDF文件, 可以看到该寄存器的时序约束如图5 所示。

该寄存器违反的是输入数据相对于时钟下降沿的建立时间约束, 可以在SDF文件中将这两行的约束值均修改为0, 如下所示:

修改SDF文件后, 只要输入数据相对于时钟下降沿的建立时间大于0 就能满足时序要求, 也就不会产生X态。

3.3 添加vcs_cfg文件

除了上面两种方法, VCS仿真器还可以采用编写vcs_cfg文件的方法来对一些特定的单元不检查时序。此方法在编译时要添加命令+optconfigfile+vcs_cfg, 该例子中编写的vcs_cfg文件内容为:

通过此方法, 只对寄存器clk_cnt[0]不检查时序, 不影响其他的逻辑单元。以上三种方法都可以解决后仿真中亚稳态现象出X态的问题, 消除X态后的仿真波形图如图6 所示, 仿真可以正常运行。

4 结论

随着FPGA设计的复杂化, 时钟频率更高, 时钟方案更复杂, 对跨时钟域信号做同步处理的方法越来越重要, 同时在仿真验证时怎样处理跨时钟域信号也非常关键。本文详细阐述了跨时钟问题产生的原因, 平均无故障时间MTBF的影响因素, 跨时钟域的同步方法, 最后针对具体的FPGA设计, 在后仿真时产生亚稳态问题的几种解决方法进行了重点的介绍, 通过这些方法, 可以使跨时钟域产生的亚稳态问题不影响后仿真验证。

摘要:随着FPGA设计中的时钟频率越来越高, 时钟方案越来越复杂, 跨时钟域问题变成了设计和验证中的关键点。为了解决跨时钟域问题对FPGA设计造成功能错误, 对跨时钟域信号采用两级寄存器或多级寄存器同步、握手协议和异步FIFO等同步方法;同时还提出了不检查时序、修改SDF文件和添加约束文件三种仿真中的技术, 解决了跨时钟域产生的亚稳态现象对FPGA仿真验证造成的影响。

关键词:CDC,亚稳态,同步,仿真

参考文献

[1]CUMMINGS C E.Clock domain crossing (CDC) design&verification techniques using systemverilog[EB/OL].[2008-09-26].http://www.sunburst-design.com/papers.

[2]CUMMINGS C E.Synthesis and scripting techniques for designing multi-asynchronous clock designs[EB/OL].[2012-09-28].http://www.sunburst-design.com/papers.

[3]吴厚航.深入浅出玩转FPGA[M].北京:北京航空航天大学出版社, 2010.

[4]吴昆, 黄坤, 傅勇, 等.一种基于格雷码的异步FIFO设计与实现[J].计算机与数字工程, 2007, 35 (1) :141-144.

[5]DALLY W J, POULTON J W.Digital systems engineer[M].UK:Cambridge University Press, 1998.

[6]ARORA Mohit.The art of hardware architecture[M].NewYork:Springer Science Business Media Press, 2012.

[7]杜旭, 王夏泉.ASIC中的异步时序设计[J].微电子学, 2004, 34 (5) :522-528.

[8]赵永建, 段国东, 李苗.集成电路中的多时钟域同步设计技术[J].计算机工程, 2008, 34 (9) :247-249.

[9]徐翼, 郑建宏.异步时钟域的亚稳态问题和同步器[J].微计算机信息, 2008, 24 (5) :272-275.

认识时钟,教学设计 篇4

1、创设情境,理解钟表的功能。

(1)你们想看一看那激动人心的场面吗?(多媒体播放北京奥运开幕式视频)(2)你们知道那一刻是什么时间吗?怎样才能知道具体发生在什么时间呢?

2、说一说、看一看、拨一拨、填一填、议一议,引导认识钟面。

(1)说一说:老师昨天留了一个作业让同学们回家观察自己家里的钟表,并且画一个漂亮的钟表,请同学们拿出来,展示一下。请你给大家介绍一下你都画了些什么?

(根据学生对钟面的了解,媒体随机展示学生画的钟面上的时针、分针、数、大格、小格等,引导学生认识钟面,并随机提出下列问题。)

(2)请你在你的钟面上指出哪根是时针、哪根是分针?你是怎样区分时针和分针的?(3)大格和小格指的是哪里呢?你能在钟面上指出来吗? 3填一填,议一议:

(借助多媒体学生自主探索,然后组内交流,全班汇报。)① 钟面上有▁个大格,▁个小格。② 时针走1大格是▁时。

③ 分针走1小格是▁分,走1大格是▁分。④ 时针走1大格,分针正好走▁圈。1时=▁分

钟面上有12个大格,60个小格。你是知道的?能把你的方法告诉大家吗? 时针走一大格是1时。分针走一小格是1分,走一大格是5分。你能在用自己的钟表模型拨给大家看吗? 时针走1大格,分针正好走1圈。(电脑演示钟面上分针走一圈时针正好走一大格,请你认真观察。)通过观察大家还发现什么?可以得出一个怎样的结论呢?大家拨一拨自己的钟

(全班动手拨自己的钟面,再次体验1时=60分。)

3、试一试,尝试记时。(1)认读钟面上的时刻。① 我当小老师。

1.出示一个时钟 显示时间为9时25分。

提问:如果时针指在8和9之间,那你该怎么读呢?(读小数,过了9时整,还没到10时)2.(电脑分别出示五个钟面。)你会看哪一个钟面上的时间?请你当小老师说说你是怎样看的?

记时记录如下:9时 9时零8分 9时20分 9时45分 10时(对学生表示方法的多样性应给与肯定。)

小结:通过认读这几个钟面,我们知道了认读钟面要先看时针再看分针,在认读时刻时还要注意观察时针和分针所指的位置才不会读错时间。如果时针指在两数之间,我们应该读小数。② 猜一猜、认一认

借助本班一位同学一天的作息时间,请同学猜一猜、认一认。(同时多媒体随机演示)早上几时从家出发上学? 几时上数学课? 几时做广播体操? 下午几时课外活动?

③ 联系实际,说一说自己的一天。

刚才我们了解了“xx”同学一天的时间安排,你的一天又是怎样安排的呢?请同桌互向拨一拨、说一说自己的一天是怎样安排的。(2)认识时间的表示法。① 尝试记时。

10时25谁知道在电子表上是怎样显示的?你能用这种方法把它记下来吗? 10时5分 呢?10:05(注意5前面要写0)你能告诉大家,写的时候需要注意什么吗?

你们能用这种方法把其他几个时间也记下来吗?(全体学生尝试记时。)同学互相批改。② 找朋友

同学们桌子上都有一张表示时间的卡片,如果你卡片上的时间和屏幕上钟面表示的时间是好朋友,就请你举起他的好朋友。设置一个同学找不到朋友的问题情境。

4、拨钟游戏,反馈练习。(1)我拨你认,你拨我认。

同桌进行,一人拨时间另一人认时间,交替进行。(教师巡视)(2)我说你拨,你说我拨。

同桌进行,一人说时间另一人拨时间,交替进行。(教师巡视)

5、课堂小结:

FPGA时钟设计 篇5

瞬变电磁法是勘探地下不同介质电性参数的重要方法之一, 在抢险救援、工程施工设计、地下水勘探以及矿产勘探等领域被广泛应用[1,2]。煤矿探水雷达利用瞬变电磁法的原理, 在发射机关断发射电流的瞬间, 接收机采集接收地下介质产生的纯二次场, 因此需要发射机与接收机之间同频同相地工作, 同步时钟信号是双极性的, 且要求同步时钟精度优于800 ns。由于勘探地质的复杂性和未知性, 通过GPS和恒温晶振的互补协调工作来产生同步时钟[3,4], 接收机与发射机的同步时钟信号在空间上是分离的, 所以同步时钟信号往往不是完全同步的, 会产生不可避免的时间差, 而这个时间差的大小决定了整个系统采样的精度和后续反演算法的准确性。在实际过程中, 用示波器观察往往只是得到短期的观测数据, 不能对时间差数据进行存储, 得到的结论并不准确, 因此对同步时钟信号的矫正具有一定的局限性。参考文献[5]提出了一种倍频相移的时间间隔测量方法, 最大分辨率为625 ps, 参考文献[6]提出了基于CPLD的时间间隔测量方法, 最大分辨率为300 ps。本设计提出了一种高精度的同步时钟信号时间差测量系统, 最大分辨率为200 ps, 对同步时钟信号的时间差可以进行长时间测量, 并能对时间差数据进行存储, 在上位机上对存储的时间差绘制成曲线。与参考文献[5]、[6]相比, 本设计具有更高的精度, 能够对时间差进行存储和绘制成曲线, 拥有更广泛的应用前景和实用性。

1 总体框架

同步时钟信号时间差测量系统主要由恒温晶振模块、单极性转换电路模块、时间间隔测量模块、LCD、SD卡和PC等组成, 系统框图如图1所示。单极性转换电路a、b分别把双极性同步时钟信号A、B转换成单极性信号C、D, 再通过时间间隔测量模块测得单极性信号C、D之间的时间差, 时间间隔测量模块在FPGA内部完成。时间差可以在LCD上显示, SD卡可以对时间差进行存储, PC可以对SD卡存储的时间差绘制成曲线, 用来观测时间差的变化。系统电源模块为系统提供工作电源, 恒温晶振为FPGA模块提供稳定的工作频率。

2 各模块设计

2.1 单极性转换电路

由于煤矿探水雷达的同步时钟信号A、B是双极性的, 而FPGA模块无法处理负电平, 所以需要将同步时钟信号进行单极性转换。以同步时钟信号A为例, 单极性转换电路如图2所示。当INA+是正电压、INA-是负电压时, 则光耦Opt1导通, 光耦Opt2截止, 与非门NAND1输出高电平, 与非门NAND2输出低电平, 经过异或门XOR后输出高电平。同理:当INA+是负电压、INA-是正电压时, 光耦Opt1截止, 光耦Opt2导通, 与非门NAND1输出低电平, 与非门NAND2输出高电平, 经过异或门XOR以后输出高电平, 波形图如图3所示。同步时钟信号在每个周期内有两次归零突变, 这两次突变控制发射机的发射脉冲和接收机的信号采样脉冲, 因此需要测量这两次突变的时间差。

2.2 时间间隔测量模块

同步时钟信号A、B通过单极性转换电路a、b进行转换, 由于单极性转换电路是完全对称的, 因此对同步时钟信号造成的延时误差可以忽略不计。恒温晶振输出频率稳定, 在短期内稳定度很好, 且不受外界温度影响, 为FPGA提供精确的时钟。FPGA调用IP核中的锁相环 (PLL) , 将恒温晶振输出的10 MHz频率倍频到100 MHz, 这样可以有效地降低计数误差, 误差为10 ns。时间差测量模块对单极性信号C、D进行时间差精密测量, 包括脉冲计数法和量化延时法, 两者之和即为单极性信号C、D的时间差。脉冲计数法和量化延时法的波形如图4 (a) 所示, 单极性信号C的上升沿作为脉冲计数单元的计数开始信号, 单极性信号D的上升沿作为脉冲计数单元的计数结束信号, 计数脉冲周期T=10 ns, 计数结果为粗测量。T1是计数脉冲与单极性信号C不对齐的部分, T2是计数脉冲与单极性信号D不对齐的部分, 测量结果为精测量, 精测量由FPGA的内部硬件延时单元lcell和D锁存器实现, 量化延时法如图4 (b) 所示。

图中选用4级延时单元作为示例计算T1和T2。计数脉冲信号经过FPGA内部延时单元作为D触发器的信号输入, 单极性信号C、D作为D触发器的时钟输入, D触发器在时钟上升沿发生状态转换, 输出信号等于输入信号。在延时单元链中, 每个延时单元的延时时间t=200 ps, 因此每经过一个延时单元, 计数脉冲相对于单极性信号C、D会延时200 ps。如图4 (a) 所示, 当单极性信号C的上升沿到来时, 计数脉冲与单极性信号C的上升沿不对齐部分T1是低电平, 则计数脉冲经过n1个延时单元后, 第0个计数脉冲的下降沿与单极性信号C的上升沿对齐。此时, 在量化延时单元链中, 前n1-1个D触发器输出的是低电平, 第n1个D触发器输出的是高电平, 通过对D触发器进行编码, 能够知道n1的值和不对齐部分T1是低电平, 则时间T1=n1t;当单极性信号D的上升沿到来时, 计数脉冲与单极性信号D的上升沿不对齐部分T2是高电平, 则计数脉冲经过n2个延时单元后, 第N个计数脉冲的上升沿与单极性信号D的上升沿对齐。此时, 在量化延时单元链中, 前n2-1个D触发器输出的是高电平, 第n2个D触发器输出的是低电平, 通过对D触发器进行编码, 能够知道n2的值和不对齐部分T2是高电平, 则时间T2=n2t。

综上:不对齐部分T1存在两种可能, 为低电平或者高电平;不对齐部分T2也存在两种可能, 为低电平或者高电平, 而通过对D触发器的编码, 能够知道不对齐部分T1、T2是低电平还是高电平, 进而能够得到准确的时间差△Ti。

其中, N是计数脉冲个数, T是计数脉冲周期, n1是求T1的延时单元个数, n2是求T2的延时单元个数, t是延时单元的延时时间, 0表示低电平, 1表示高电平。

2.3 系统软件设计

软件是控制硬件和实现算法的关键, 本设计采用模块化分层管理, 提高软件的稳定性和可行性, 系统的软件流程图如图5所示。

3 实验结果

为了验证本系统的正确性和可行性, 对煤矿探水雷达的接收机与发射机的同步时钟信号进行时间差测量。煤矿探水雷达采用6.25 Hz的双极性波, 经过单极性电路转换以后, 信号频率变为12.5 Hz, 图6是两路同步时钟信号的波形, 通道3是提取后的时间差, 从图中可以看出, 时间差小于800 ns, 与实际时间差相符合。

表1是同步时钟信号时间差测量系统工作8小时的统计数据。显示时间差的误差区间和落在该区间的次数, 当时间差超过800 ns时, 同步时钟精度不能达到煤矿探水雷达的勘测要求。从表1可以清楚地看到, 时间差低于400 ns占99.85%, 最大时间差不大于800 ns, 完全满足煤矿探水雷达的同步时钟精度要求。

4 结论

本文针对煤矿探水雷达进行勘测时需要高精度同步时钟的要求, 设计并实现了高精度同步时钟信号时间差测量系统。该系统利用计数脉冲对同步时钟信号进行粗测量, 内部延时单元和D触发器对同步时钟信号进行精测量, 两者之和即为测量结果。用计算机对存储的时间差数据绘制成曲线, 能够更加直观的判断同步时钟信号的稳定性。该系统已经应用到煤矿探水雷达的实际勘探中, 对同步时钟信号时间差观测和矫正起到了很大的作用。

参考文献

[1]姚丽, 韦静, 王玉阳.瞬变电磁法地质勘探的仿真研究[J].计算机仿真, 2013, 30 (8) :413-416.

[2]李宏杰.瞬变电磁探测技术在煤矿防治水中的应用[J].煤矿安全, 2013, 44 (4) :159-161.

[3]申屠刚, 钱刚, 杨贵玉, 等.基于时间同步技术的新型远方终端单元设计[J].电力系统自动化, 2008, 32 (15) :45-48

[4]吴宁, 潘小龙, 虞皆侠.高精度GPS同步时钟的研究与实现[J].电力系统自动化, 2008, 32 (10) :61-65.

[5]蔡德胜, 方寿海.一种短时间间隔测量方法的研究及其FPGA实现[J].微电子学与计算机, 2012, 29 (10) :34-36.

FPGA时钟设计 篇6

目前的时钟恢复算法主要有两大类,一个是自适应法(Adaptive Methods),另一种是差分法(Differential Methods,DM)。其中自适应法是完全基于分组包到达间隔或缓存区的填充水平来恢复定时,可以保证业务始终的透传。优点是不需要公共参考时钟网,缺点是受到分组网络的影响大,处理相对复杂。差分法将业务时钟和本地参考时钟的偏差进行编码并在分组网络中传送,业务始终在宿端通过使用相同的参考时钟进行恢复,这种方法也可以保证业务始终透传。优点是由于收发两端的设备同步,受到分组网络的影响小,缺点是必须两端有公共参考时钟,成本较高。

本论文利用自适应法来恢复源端时钟,提供一种基于现场可编逻辑门阵列(Field Programmable Gate Array,FPGA)的可实现方案,保证宿端能恢复出源端TDM时钟。

1 设计思路

本系统基于分组包到达间隔,通过FPGA来实现基本功能。本系统分为时钟合成组件和分组间隔计算组件。通过分组间隔计算组件得到时钟合成组件需要的参数,最后通过时钟合成组件生成系统所需的恢复时钟。本系统架构如图1所示。

2 关键组件实现方案

2.1 时钟合成组件

2.1.1 算法原理

时钟合成技术是通信系统的重要组成部分,时钟合成技术通过对一个高精度和高稳定性的基准时钟进行运算,产生一个稳定的时钟。

在该组件中,利用删除脉冲模块有规律地删除基准时钟源(该时钟源相对于恢复时钟来说是一个高频时钟源)中的一些脉冲,从而实现平均意义上的小数分频,这种算法很容易用硬件实现,而且不容易产生竞争冒险和毛刺的问题。

2.1.2 算法实现

假设X为分频比,源时钟为f_in,输出时钟为f_out,则

将f_in和f_out同时扩大的倍数,总能将分子分母化为整数,将化为整数之后的分子和分母用P和Q表示,则

当时钟源每输入P个脉冲,利用脉冲删除模块从这P个脉冲中按照一定的规律删除(P-Q)个脉冲,输出Q个脉冲,从而实现的平均意义上的X分频。

时钟合成组件主要由删除信号生成模块和脉冲删除模块两部分组成,如图2所示。

删除信号生成模块工作流程如图3所示,根据P和Q的值,对时钟源输入脉冲数进行计数控制。在时钟源的每个上升沿,计数器加上Q,若计数器的值小于P,则将删除脉冲控制信号delete置为1;若其值大于P,则将计数器的值减去P,并且将delete信号置为0,不发出删除脉冲的信号。

脉冲删除模块就是一个简单的或门,将delete信号和基准时钟源进行或运算,实现当脉冲删除控制信号delete为1时,从时钟源中删除一个脉冲。脉冲删除控制信号delete必须由时钟源的上升沿触发产生。

基于以上所述,当进行时钟合成时,只要求出分频参数P和Q,就可以得到相应的分频时钟。

2.2 分组间隔计算组件

为了求出最终的分频参数P和Q,先进行演算,假设X为分频比,源时钟(外部基准时钟源)频率为f_in,源时钟周期为T_in(T_in=1/f_in),输出时钟频率为f_out,输出时钟周期为T_out(T_out=1/f_out)则

其中:t为两个分组的间隔时间,N(k)为用时钟频率为f_i n的时钟采样的两个分组间隔时钟周期数,N为分组长度。

由于分组的传输抖动具有随机性,如果直接采用f_in的时钟采样间隔估算发送定时将导致很大的误差,所以对观测到的间隔值首先要经过预滤波处理,去除噪声间隔的高频分量。采用移动平均窗口算法完成预滤波处理,令—N(k)表示通过滤波的分组间隔预测值,N_f为每个分组间隔的采样值,M表示平均移动窗口的长度,则

可见,如果M越大,则滤波效果越好,但是存储量和计算量越大。

结合时钟合成组件的算法原理,分组间隔估计组件可以计算出时钟合成所需要的P和Q,则

得到参数P和Q后,利用外部基准时钟源,当时钟源每输入N(k)个脉冲,利用删除脉冲模块从这N(k)个脉冲中删除(N(k)﹣N)个脉冲,输出N个脉冲,从而实现平均意义上的X分频,恢复了源端TDM时钟。

3 结语

目前该算法用Verilog编码,已经在Altera的FPGA器件EP4CGX150DF27I7上实现。

该系统最终在Modelsim下的仿真波形如图4所示。

参考文献

[1]周梦然.CLPD/FPGA的开发与应用[M].徐州:中国矿业大学出版社,2007.

[2]王金明.Verilog HDL程序设计教程[M].北京:人民邮电出版社,2004.

上一篇:应用与事项下一篇:“岗位聘任”材料