位置:51电子网 » 技术资料 » 显示光电

基于VHDL语言的定时时基校正电路设计

发布时间:2007/8/23 0:00:00 访问次数:743


西安理工大学自动化学院 王 林,陈翠琴

        摘 要:介绍了一种用于校正定时电路时基信号的方法,基于VHDL硬件描述语言来设计与实现,并给出了主要VHDL原代码和仿真波形图。

        关键词:定时;时钟校正;VHDL;加法器

        在定时电路中,合适而准确的时钟脉冲基准信号极其重要,一般用晶振作为基准信号。但晶体产品因制造的不一致性,或者恶劣的环境干扰(如高温高压等),会带来晶振时基有别,如果电路设计中没有加以考虑,同类电路产品之间也就会带来定时的误差。用简单计数器分频法可以解决这个问题,但是,简单分频器是整数分频,定时时间越长,累计误差越大。若用分数分频器,由于计算近似值不易处理,也会带来较大的累计误差。对于一些精度要求高的场合,尤为明显。本文就此给出了一种较合理的解决方法:在时域,对时钟周期差给予累计,进而校正计时时钟。

        1 基本原理

        在所需定时的时间间隔里,对实际时钟周期与标准时钟周期之差进行累积,累积到一个周期,对计时时钟修改一次,这样,不断累积,不断修改,从而将实际时基信号(慢或快)校正为一个标准时基信号。为此,首先采用同步加法器,对周期差进行累计,其进位输出可以表明累计值达到一个周期;其次,通过采集进位端输出,并区分开实际比标准时钟慢或快,从而产生插入脉冲或扣除脉冲;最后,将产生的插入脉冲和扣除脉冲与实际时钟脉冲相叠加后变成标准时钟脉冲信号,作为定时电路的时基信号,这样,就解决了时钟校正问题。

        本设计的核心是加法器与脉冲产生时序:

        1)加法器 加法器位数(二进制)决定了校正的精度,位数越高,精度越高。加法器原理图如图1所示,图中cy是加法器的进位输出端,ck_time为实际时钟或待校时钟。
        
        设加法器位数14位,标准时钟周期为Ts,待校时钟ck_time周期为Tx。则周期差:Tx-Ts,由比例因子关系可得:

        加法器一个加数:A=(Tx-Ts)/Tx×214另一个加数:B是加法器的和数

        例如:Tx=51.42μs,Ts=20μs则A10 011        

        若定时1 s,则最大可能累计误差为一个周期加上由于计算误差引起的累计误差之和:

        可见累计误差是较小的。

        2)脉冲产生时序 为了产生正确时序,首先将实际时钟ck经4分频之后,生成一个ck_time的脉冲信号,作为实际时钟对待;生成一个脉冲信号ck_inc和ck_dec,以产生插入脉冲inc_o和扣除脉冲dec_o,如图2所示。


        
        2 VHDL语言代码的设计

        VHDL硬件描述语言是IEEE国际工业标准,具有描述能力强、可以与工艺无关、易于共享与复用等特点。多VHDL语言以及MAXPLUSⅡ平台的。根据以上原理设计VHDL代码,总体分为3个功能模块:加法器模块、时钟校正模块以及定时模块。

        1)加法器模块(add14) 直接引用MAXPLUSⅡ的参数化设计库PLM内容。

        2)时钟校正模块(updat_ck) 代码中clr_a和ic_dc为全局清零信号和被校时钟快慢标志,id_dc为1表示Tx比Ts慢,则插入脉冲inc端有输出;反之,扣除脉冲dec端有输出。inc,dec即为图2的inc_o,dec_o。主要代码如下(省去了加法器的元件例化及IEEE库说明等):


西安理工大学自动化学院 王 林,陈翠琴

        摘 要:介绍了一种用于校正定时电路时基信号的方法,基于VHDL硬件描述语言来设计与实现,并给出了主要VHDL原代码和仿真波形图。

        关键词:定时;时钟校正;VHDL;加法器

        在定时电路中,合适而准确的时钟脉冲基准信号极其重要,一般用晶振作为基准信号。但晶体产品因制造的不一致性,或者恶劣的环境干扰(如高温高压等),会带来晶振时基有别,如果电路设计中没有加以考虑,同类电路产品之间也就会带来定时的误差。用简单计数器分频法可以解决这个问题,但是,简单分频器是整数分频,定时时间越长,累计误差越大。若用分数分频器,由于计算近似值不易处理,也会带来较大的累计误差。对于一些精度要求高的场合,尤为明显。本文就此给出了一种较合理的解决方法:在时域,对时钟周期差给予累计,进而校正计时时钟。

        1 基本原理

        在所需定时的时间间隔里,对实际时钟周期与标准时钟周期之差进行累积,累积到一个周期,对计时时钟修改一次,这样,不断累积,不断修改,从而将实际时基信号(慢或快)校正为一个标准时基信号。为此,首先采用同步加法器,对周期差进行累计,其进位输出可以表明累计值达到一个周期;其次,通过采集进位端输出,并区分开实际比标准时钟慢或快,从而产生插入脉冲或扣除脉冲;最后,将产生的插入脉冲和扣除脉冲与实际时钟脉冲相叠加后变成标准时钟脉冲信号,作为定时电路的时基信号,这样,就解决了时钟校正问题。

        本设计的核心是加法器与脉冲产生时序:

        1)加法器 加法器位数(二进制)决定了校正的精度,位数越高,精度越高。加法器原理图如图1所示,图中cy是加法器的进位输出端,ck_time为实际时钟或待校时钟。
        
        设加法器位数14位,标准时钟周期为Ts,待校时钟ck_time周期为Tx。则周期差:Tx-Ts,由比例因子关系可得:

        加法器一个加数:A=(Tx-Ts)/Tx×214另一个加数:B是加法器的和数

        例如:Tx=51.42μs,Ts=20μs则A10 011        

        若定时1 s,则最大可能累计误差为一个周期加上由于计算误差引起的累计误差之和:

        可见累计误差是较小的。

        2)脉冲产生时序 为了产生正确时序,首先将实际时钟ck经4分频之后,生成一个ck_time的脉冲信号,作为实际时钟对待;生成一个脉冲信号ck_inc和ck_dec,以产生插入脉冲inc_o和扣除脉冲dec_o,如图2所示。


        
        2 VHDL语言代码的设计

        VHDL硬件描述语言是IEEE国际工业标准,具有描述能力强、可以与工艺无关、易于共享与复用等特点。多VHDL语言以及MAXPLUSⅡ平台的。根据以上原理设计VHDL代码,总体分为3个功能模块:加法器模块、时钟校正模块以及定时模块。

        1)加法器模块(add14) 直接引用MAXPLUSⅡ的参数化设计库PLM内容。

        2)时钟校正模块(updat_ck) 代码中clr_a和ic_dc为全局清零信号和被校时钟快慢标志,id_dc为1表示Tx比Ts慢,则插入脉冲inc端有输出;反之,扣除脉冲dec端有输出。inc,dec即为图2的inc_o,dec_o。主要代码如下(省去了加法器的元件例化及IEEE库说明等):

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!