Cpu系统的抗干扰方法与系统及其误差测量方法与系统的制作方法

文档序号:6610712阅读:221来源:国知局
专利名称:Cpu系统的抗干扰方法与系统及其误差测量方法与系统的制作方法
技术领域
本发明涉及CPU系统抗干扰设计的技术领域,尤其涉及一种软硬件结 合的CPU系统的抗干扰方法及其系统,及其CPU片内晶体误差测量方法及
其系统。
背景技术
在CPU系统的抗干扰设计中,为保证CPU系统工作主频在任何情况下 都有效可靠是抗干扰设计的重点。针对这一要求,目前CPU抗干扰设计主 要有以下两种方法
方法一、在软件设计中,采用片外高精度的晶体作为CPU的时钟输入 源,硬件电路设计保证片外晶体在外界干扰冲击下有效可靠。这种方法对 于设计者的硬件设计经验要求较高,并且在实际应用中通常需要进行电路 的反复调整,因此该设计方法的难度相对较大,设计效率较低。
方法二、在软件设计中采用片内晶体作为CPU系统时钟的输入源,然 后,利用CPU芯片自身的抗千状i殳计保i正CPU的主频在受到外界干扰冲击 下有效可靠。这种方法由于CPU片内晶体受芯片设计技术的限制,片内晶 体通常存在一定的误差,并且该误差随CPU工作环境温度,湿度等工作条 件的变化而变化,而CPU系统的串行数据接口控制器UART、脉宽调制 PWM和定时器等外设的工作频率都是在系统时钟的基础上进行分频获取, 因此,系统主频的变化必然会导致定时器定时不准确,UART(串行数据接 口控制器)通讯频率和PWM (脉宽调制)输出频率等外设工作偏离设计目 标,从而引发在工作环境变化的情况下,CPU系统工作异常、甚至无法工作等问题。
另外,现有技术中还有一些提出了 CPU系统受扰的检测方法和快速恢 复方法,例如,其通过检测CPU受扰状态,并实现了受扰后系统的快速恢 复,但是其不能避免在外界干扰冲击下CPU系统受扰复位的现象。
从上可见,现有技术中均无法有效地实现在提高CPU系统抗干扰能力 的同时,又保证CPU外设工作稳定可靠、几乎不受外界环境变化的影响, 因此,就需要对CPU系统的抗干扰设计作进一步的改进。

发明内容
本发明的目的在于提供一种软硬件结合的CPU系统抗千扰方法及其系 统,解决了现有技术中,采用片外晶体作为CPU的时钟源时CPU系统易受 外界干扰导致系统异常复位的问题,以及采用片内晶体作为CPU的工作时 钟源时CPU工作主频易受环境温度变化影响,从而导致CPU外设工作不稳
定、系统工作异常的问题。
为实现上述目的,本发明采用如下技术方案
本发明的CPU系统的抗干扰方法,所述方法包括以下步骤
A、 设置CPU片内时钟单元作为系统时钟源,同时设置一CPU片外时 钟单元为CPU系统提供基准时钟源;
B、 利用所述基准时钟源测量系统时钟源的工作状态,并计算所述系统 时钟源相对于基准时钟源的误差;
C、 根据计算获得的误差对CPU外设的工作频率进行补偿。
其中,所述步骤A中,系统时钟源和基准时钟源的工作频率相同或成 比例。
其中,所述步骤A和步骤B之间还包括A0、设置误差测量周期;Al、 判断误差测量周期是否到来,若是,则执行步骤B。
其中,在所述步骤B和C之间还包括以下步骤B01、判断误差计算结果是否在CPU片内晶体振荡器测量误差的声称范围;如果是,则判定误 差计算结果有效,执行步骤C。
其中,所述步骤B01还包括以下处理当判断误差计算结果是在CPU 片内晶体振荡器测量误差的声称范围内后,还判断相邻两次有效误差计算 结果的变化幅度是否在预设范围内;若是,则判定误差计算结果有效。
其中,所述步骤B中,通过分别记录所述系统时钟源和基准时钟源在 一预设时间内的振动次数,来计算系统时钟源相对于基准时钟源的误差。
其中,所述步骤B按照以下步骤进行
步骤Bll、预先将所述基准时钟源作为第一定时器的时钟输入源、并将 系统时钟源作为第二定时器的时钟输入源;
步骤B12、系统启动运行后,设置所述第一定时器的工作阈值,并设 置所述第二定时器自由计数;
步骤B13、当需要测量系统时钟源的工作状态时,启动所述第一定时 器和第二定时器开始计时;
步骤B14、当所述第一定时器达到预设工作阈值时,中断所述第一定 时器和第二定时器;
步骤B15、调用所述第一定时器和第二定时器的记录结果,计算系统 时钟源相对于基准时钟源的误差。
其中,所述步骤B中,通过分別记录在振动相同的预设次数时所述系 统时钟源和基准时钟源的实际工作时间,来计算系统时钟源相对于基准时 钟源的误差。
采用上述方法的抗干扰系统,包括基准时钟源电路,其利用晶体振 荡电路在CPU芯片的外部提供一基准时钟源;第一定时器模块,其时钟信 号输入端连接所述基准时钟源电路的输出端,用于根据CPU芯片内部或外 部的控制信号记录基准时钟源的工作状态;第二定时器模块,其时钟信号 输入端连4秦CPU的片内时钟单元所产生的系统时钟源,用于才艮据CPU芯片内部或外部的控制信号记录所述系统时钟源的工作状态;误差计算模块, 其与所述第一定时器;f莫块和第二定时器模块相连,用于从所述第一定时器 模块和第二定时器模块获取记录结果,并计算所述系统时钟源相对于基准 时钟源的误差;及补偿校正模块,用于接收来自所述误差计算模块的计算 结果,并根据计算结果修正CPU外设工作频率。
其中,所述基准时钟源和系统时钟源的工作频率相同或成比例。 其中,所述系统中还包括一误差判断模块,其位于所述误差计算模块 和补偿校正^^莫块之间,用于判断所述误差计算模块计算结果的有效性,并 将判断有效的计算结果送入所述补偿校正才莫块中。
其中,所述第一定时器模块的一控制信号输出端连接所述第二定时器 模块的使能端,当所述第一定时器模块的计数达一预设阈值时,使能使所 述第二定时器模块停止计数,用于记录在预设时间内的CPU系统片内晶体 的振动次数。
基于上述抗干扰方法及系统,本发明还提供了一种CPU片内晶体时 钟源误差的测量方法,所述方法包括以下步骤
第一步、设置CPU片内时钟单元作为系统时钟源,同时设置CPU 片外时钟单元为CPU系统提供基准时钟源;
第二步、利用所述基准时钟源测量系统时钟源的工作状态,并计算 所述系统时钟源相对于基准时钟源的误差。
其中,所述第一步中,所述基准时钟源和系统时钟源的工作频率相同 或成比例的两个晶体。
其中,所述第二步中,通过分別记录所述系统时钟源和基准时钟源在 一预设时间内的振动次数,来计算系统时钟源相对于基准时钟源的误差。 其中,所述第二步按照以下步骤进行
步骤Bll、预先将所述基准时钟源作为第一定时器的时钟输入源、并将 系统时钟源作为第二定时器的时钟输入源;步骤B12、系统启动运行后,设置所述第一定时器的工作阈值,并设置 所述第二定时器自由计数;
步骤B13、当需要测量系统时钟源的工作状态时,启动所述第一定时器 和第二定时器开始计时;
步骤B14、当所述第一定时器达到预设工作阈值时,中断所述第一定时 器和第二定时器;
步骤B15、调用所述第一定时器和第二定时器的记录结果,计算系统时 钟源相对于基准时钟源的误差。
其中,所述第二步中,通过分别记录在振动相同的预设次数时所述系 统时钟源和基准时钟源的实际工作时间,来计算系统时钟源相对于基准时 钟源的误差。
其中,所述方法还包括以下步骤第三步、判断误差计算结果是否在 CPU片内晶体"^展荡器测量误差的声称范围;如果是,则判定误差计算结果 有效。
其中,所述方法还包括以下步骤第四步、当前误差计算结果被判定 有效后,还判断相邻两次有效误差计算结果的变化幅度是否在预设范围内; 若是,则判定误差计算结果维持有效。
对应上述误差测量方法,本发明还提供了 一种CPU片内晶体时钟源误 差的测量装置,所述装置包括基准时钟源电路,其利用晶体振荡电路在 CPU芯片的外部提供一基准时钟源;第一定时器模块,其时钟信号输入端 连接所述基准时钟源电路的输出端,用于根据CPU芯片内部或外部的控制 信号记录基准时钟源的工作状态;第二定时器模块,其时钟信号输入端连 接CPU的片内时钟单元所产生的系统时钟源,用于根据CPU芯片内部或外 部的控制信号记录所述系统时钟的工作状态;误差计算模块,其与所述第 一定时器模块和第二定时器模块相连,用于从所述第一定时器模块和第二
定时器模块获取记录结果,并计算所述系统时钟源相对于基准时钟源的误差。
其中,所述第一定时器模块的一控制信号输出端连接所述第二定时器 模块的使能端,用于当所述第一定时器模块的计数达一预设阈值时输出使 能信号使所述第二定时器模块停止计数。
本发明通过采用片外晶体作为基准源,对CPU片内晶体实际工作频率 与声称工作频率的误差进行测量和计算,并根据计算误差对CPU外设的工 作频率进行^务正,从而提高了 CPU系统的抗干扰能力,并保证在外部干扰 冲击下,产生CPU系统主频的时钟源能有效可靠的工作,以及保证CPU 外设的工作频率稳定可靠。同时,本发明还提了一种能对CPU片内晶体实
际工作频率与声称工作频率的误差进行测量的方法和系统,该测量方法操
作简单、能定时对CPU片内晶体实际工作频率进行测量,从而实现了上述 抗干扰方法,达到了对CPU系统进行抗干扰的功能。
本发明充分利用CPU自身的抗干扰设计,在系统设计中采用CPU片内 晶体振荡器作为CPU系统时钟,实现在外界干扰冲击下CPU时钟的有效可 靠;在软件上以CPU片外晶体振荡器工作作为参考源,定时进行片内晶体 实际工作频率与声称频率误差的计算,并对测量结果的有效性进行;险测, 如果当前测量结果有效可靠,则根据测量结果对CPU外设工作频率进行补 偿和校正,从而实现了 CPU在采用片内晶体作为时钟源时,CPU外设工作 频率稳定有效,几乎不受CPU系统工作环境变化的影响。


图1为本发明方法的流程图2为本发明最优实施例的上电初始化程序和主循环程序的流程图3为本发明最优实施例的第一定时器中断服务程序的流程图4为本发明抗干扰系统的结构示意图5为本发明CPU片内晶体误差测量装置的结构示意图。
具体实施例方式
以下结合附图详细说明本发明的技术方案。
如图1所示,本发明通过软硬结合实现了一种CPU系统的抗干扰方法, 其主要按照以下步骤进行首先、预先通过软件在CPU系统中设置CPU 片内时钟单元作为系统时钟源,同时通过硬件设置一 CPU片外时钟单元为 CPU系统提供基准时钟源;然后、利用上述基准时钟源测量系统时钟源的 工作状态,并计算系统时钟源相对于基准时钟源的误差er";其次、根据计 算获得的误差对CPU外设的工作频率进行补偿(或校正)。CPU外设的工 作频率通常与CPU的系统时钟存在一定的函数关系,即y-f(x),其中y为 外设的工作频率;x为CPU时钟工作频率;f()为CPU时钟工作频率与CPU 外设的工作主频的函数关系式,其属于已知技术。由于CPU片内晶体振荡 器偏离了声称工作频率(此值是已知的,每一型号的CPU出厂时就已记录 在其^(吏用手册上),因此CPU系统时钟实际工作频率应为xx(l+^"),此处 应注意误差ew。计算的极性。所以通过计算获得的误差e厅o计算CPU系统 时钟的实际工作频率xx(l+^rQ),然后将系统时钟的实际工作频率带入 CPU外设主频计算公式,即可求得CPU外设的校正设置值,并依此修正 CPU外设工作的频率(如修正分频系数)。
为了减少系统资源的占用和实时操作对CPU的损伤,上述抗干扰过程 可以设定误差测量周期,釆用定时测量的方式对上述系统时钟源(即CPU 片内晶体振荡器)的工作状态进行测量,具体操作时可以是在系统启动 运行后,设置误差测量周期,然后判断误差测量周期是否到来,若测量周 期到来,则利用上述基准时钟源测量系统时钟源的工作状态,并计算所述
误差e To。
上述抗干扰过程中,利用了一种晶体误差的测量方法,其原理是,工 作频率相同或者成比例的两个晶体在单位时间内振动次数或单位振动次数
所用的时间应相等或者成比例。所以本发明在选用CPU片外晶体振荡器形成基准时钟源时,需要选用与CPU片内晶体振荡器工作频率相同或成比例
的晶体,即使上述系统时钟源和基准时钟源的工作频率相同或成比例。基
于上述原理,上述晶体误差测量时可能有以下两种实现方式
第一种,通过分别记录系统时钟源(即CPU片内晶体振荡器)和基准 时钟源(即CPU片外时钟单元晶体振荡器)在一预设时间内的振动次数, 来计算系统时钟源相对于基准时钟源的误差率,其计算公式可以如下
e;r = ~^-x 100% ( 1 )
其中,m"为误差率,coeif为所述基准时钟源的标准频率与系统时钟源 的标准工作频率(即理^仑工作频率)的比例系^t, on/"狄2为系统时钟源在 一预设时间内的振动次数,co""^1为基准时钟源在一预设时间内的振动次 数。
第二种,通过分别记录在振动相同的预设次数时所述系统时钟源和基 准时钟源的实际工作时间,来计算系统时钟源相对于基准时钟源的误差率, 其计算公式可以如下
,"—(飾^)x藝 (2)
其中,m"为误差率,coe^为基准时钟源的标准频率与系统时钟源的标 准工作频率(即理论工作频率)的比例系数,r2为在预设振动次数下系统 时钟源的实际工作时间,ri为在预设振动次数下基准时钟源的实际工作时 间。
上述第一种实现方式,在具体操作上可以优选采用如下方式采集测量 数据
步骤l、预先将基准时钟源作为第一定时器的时钟输入源、并将系统时
钟源作为第二定时器的时钟输入源;
步骤2、系统启动运行后,设置第一定时器的工作阈值,并设置第二定时器自由计数;
步骤3、当需要测量系统时钟源的工作状态时,即上述晶体误差测量周 期到来时,同时启动第一定时器和第二定时器开始计时;
步骤4、当第一定时器达到预设工作阈值时,中断第一定时器和第二定 时器;
步骤5、调用第一定时器和第二定时器的记录结果,计算系统时钟源相 对于基准时钟源的误差。
这里所提到的定时器可以是CPU芯片自带的计数器/定时器,这样可以 减少CPU外部硬件资源的利用,这时定时器的启动/中断控制信号来自CPU 芯片的内部,如图4所示;但如果希望晶体误差的测量装置能独立使用, 且独立于CPU系统之外,则也可以通过元器件在CPU芯片的外部搭建的计 数器/定时器及其相应的外部单元来实现上述测量过程,这时定时器的启动/ 中断控制信号来自CPU芯片的外部,如图5所示的控制单元500。
若上述过程中采用上述第一种方式测量晶体误差,则第一定时器的工
作阈值可以设置为基准时钟源在一预设时间内的振动次数COM"^"l,然后第
二定时器所记录的结果即是系统时钟源在一预设时间内的振动次数 co"","2,据此结果可以按照上述^^式(1)计算误差率wr。若采用上述第 二种方式测量晶体误差,则也要用到上述两个定时器进行测量。例如,在 上述过程中增加两个计时器,设定第一定时器和第二定时器具有相同的阈 值,然后利用上述两个计时器对两个定时分别进行计时,当两个定时器分 别到达计数阈值后,中断相应的计时器,然后分别读取记录第一定时器工 作时间的第一计时器的结果T1、记录第二定时器工作时间的第二计时器的 结果T2,再代入上述公式(2)中进行误差率e/r的计算;或者采用以下另 一种方式假设基准时源的周期是固定的,则第一定时器记录的振动次数 乘以基准时源的周期可以得到相应的基准时间,所以,先设定第二定时器 的工作阈值为c^"wl,并启动第一定时器和第二定时器开始计数,当第二定时器计数达到阈值后中断两个定时器,并读取第一定时器的振动次数,然后将第一定时器的振动次乘以基准时源的周期可以得到第二定时器振动onm^l次时所用的时间T2,而第一定时器振动cow"加l次时所用的时间Tl为co"她H乘以基准时源的周期,再将T2和Tl代入上述公式(2)中计算误差率e/r。
当然,上述测量方法所获得的误差测量结果并不一定是绝对有效的,因为CPU系统的外界干扰冲击会使片外晶体的工作频率瞬间发生突变或失效,而这一突变或失效在相应的计数器或定时器上则表现为单位时间内计数的个数突变。但是,作为CPU系统片内的晶体,其工作频率几乎不受CPU系统外界干扰冲击的影响,因此在片内晶体误差测量的结果上表现为片内晶体的误差率超出CPU声称的片内晶体误差范围,或者片内晶体误差率本次测量结果与上次测量的结果发生突变。所以就需要对上述过程测量并计算荻得的误差率进行有效性的检验,其主要包含以下两个判断条件
(1 )、将根据上述误差测量过程计算获得的误差结果与CPU片内晶体振荡器测量误差的声称范围[-a。/。, a%](此范围是已知的,每一型号的CPU出厂时就已记录在其使用手册上)进行比较,判断误差计算结果是否在片内晶体测量误差的声称范围,如果是,则判定误差计算结果有效,此结果值可以用于对CPU外设的工作频率进行补偿和校正,从而避免了误操作。如果否,则判定误差计算结果无效,放弃计算结果。
(2)、在执行完上述第(1)个判断后,若当前误差计算结果被判定有效,则还可以通过判断相邻两次有效误差计算结果的变化幅度是否在预设范围[七%。,十b。/。。]内,来进一步的提高误差测量的有效性、确保不出现误操作。在实际系统设计中,本发明可以通过检测片内晶体的误差率ew是否在CPU片内晶体振荡器误差率声称范围[-a%, a%]内,且最近两次测量的有效e〃变化幅度是否在[-b。/。。, +&%。]内,来保证误差率计算的精度,如果本次测量的晶体误差率满足上述两个条件,则当本次片内晶体的误差率测量有效,可作为外设工作频率补偿和校正的依据,否则放弃本次误差测量结果,
重新进行系统晶体误差测量。上述提到的误差率变化预设阈值[-b96。, +b%。]的取值由晶体误差测量周期决疋,其主要根据两次晶体误差测量间隔大小来确定[-b96。, +1 %。]的取值,间隔越长则[-b96。, +6%。]的取值就越大。例如,两次误差率的测量间隔为60S,则可以取晶体误差率的最大声称值a。/。的十分之一作为晶体误差突变4佥测阈值b%。。
下面结合图2和图3,详细说明本发明采用上述方法的一最优实施例的工作流程,其主要通过软件在CPU系统的主循环程序中写入了执行晶体误差测量的功能,使得CPU系统具有了抗干扰能力。
如图2所示,上电初始化程序
100,开始;
110,设置片内晶体为系统时钟源;120,上电初始化;
130,设置CPU片内时钟单元产生的系统时钟源为第二定时器的时钟输入信号,设置CPU片外时钟单元产生的基准时钟源为第一定时器的时钟输入信号;
140,设置晶体测量误差周期,并设置第一定时器的计数阈值为co""^1 ,设置第二定时器的工作模式为自由计数才莫式;
150,进入主循环程序,测量并计算系统时钟源的误差;
160,判断晶体测量误差周期是否到来,若是则执行步骤170;若否则执行步骤190;
170,启动第一定时器和第二定时器开始计数;
180,当第一定时器计数达阈值时,中断第一定时器和第二定时器,并进入第 一定时器中断服务程序;
190,进入模块软件其他功能循环程序;200,结束。如图3所示,第一定时器中断服务程序如下所示 300,开始;
310,关闭第一定时器和第二定时器;
320,读取第二定时器中的计数值COM"to"2;
.330,按照上述公式(1 )计算误差率err;
340,判断误差率m"在CPU晶体误差率声称范围[-a。/。,a。/。]内;若是则 执行步骤350,并保存此有效误差率ms若否则执行步骤360,放弃此次计 算结果;
350,判断最近两次测量的有效ew变化幅度是否在预设范围[-b%。, +b%。] 内;若是,则根据此误差率e,r校准和补偿系统定时器,对外设工作频率(如 UART和PWM的工作频率等)进行修正;若否,则执行步骤360,放弃此 次计算结果;
360,结束。
基于上述方法的基础上,本发明还提供了一种应用于CPU系统上的抗 干扰系统,如图4所示,其主要可以包括以下几个主要部件
基准时钟源电路400,其利用晶体振荡电路在CPU芯片的外部提供一 基准时钟源;
第一定时器模块401,其时钟信号输入端连接基准时钟源电路400的输 出端,用于根据CPU芯片内部或外部的控制信号记录基准时钟源的工作状
态; ■
第二定时器模块402,其时钟信号输入端连接CPU的片内时钟单元所 产生的系统时钟源403,用于根据CPU芯片内部或外部的控制信号记录系 统时钟源的工作状态;
误差计算模块404,其与所述第一定时器模块和第二定时器模块相连, 用于从第一定时器模块401和第二定时器模块402获取记录结果,并计算 系统时钟源相对于基准时钟源的误差;补偿校正模块406,用于接收来自误差计算模块404的计算结果,并根 据计算结果修正CPU外设工作的频率407。如图4所述,上述第一定时器 模块401、第二定时器模块402均可以使用CPU芯片自带的计粉定时器, 而误差计算模块404、补偿校正模块406均可以通过软件编程在CPU芯片 的内部实现。当然本发明不限于此,上述第一定时器模块401、第二定时器 模块402、误差计算模块404、补偿校正模块406也可以通过独立元件在 CPU芯片的外部组建电路实现上述功能。
而在上述误差计算才莫块404和补偿;欧正模块406之间还可以增加一误 差判断模块405,其用于判断误差计算模块404计算结果的有效性(此有效 性的判断详见上述说明),并将判断有效的计算结果送入补偿校正模块406 中,且保存至系统的存储介质中,以提高系统测量和补偿的精确度,保证 不出现误操作。在具体操作时,如果采样上述公式(1)计算误差率e/r, 则第一定时器才莫块401的一控制信号输出端连接第二定时器模块402的使 能端,当第一定时器模块401的计数达到预设阈值时,使第二定时器模块 402停止计数,并启动图3所示的中断服务程序;当然这一定时器的结果进 行适当的换算后,亦可采用公式(2)计算误差率e/r。
同理,如图4所示,上述抗干扰系统中除去补偿校正模块及误差判断 模块,即图5所示的CPU片内晶体误差测量装置。如图5所示的测量装置 可以独立于CPU芯片而存在,其通过在CPU芯片的外部利用元器件构建第 一定时器模块401、第二定时器模块402、误差计算模块404来实现相同的 功能,同时增加一控制单元500在CPU芯片的外部为第一定时器模块401、 第二定时器模块402提供控制信号。当然,本发明不限于此,也可以利用 被测CPU芯片自带的计凄t/定时器,那么其启动/中断控制信号可以通过软 件设置由CPU芯片的内部发出,并且其误差计算模块也可以通过软件在 CPU芯片的内部实现。
综上所述,本发明晶体误差测量及补偿校正的各个功能模块,如第一定时器模块、第二定时器模块可以采用CPU芯片自带的计凄w定时器,也可 以使用独立元器件在CPU芯片的外部构建等等组建方式,本发明不限于是 通过软件并结合硬件在CPU系统的内部实现上述误差测量或CPU系统抗干 扰功能的,或采用硬件在CPU系统的外部搭建独立电路来实现误差测量或 CPU系统抗干扰功能的,均应在本发明的保护范围内。但是,本发明优选 采用软件并结合硬件在CPU系统内部实现抗干扰功能的设计,这样做节省
了硬件资源,更减少了对硬件的调试工作,适应性、灵活性更强。本发明
主要是提出了一种软硬件相结合CPU系统抗干扰设计方案,并同时提供了 一种对CPU片内晶体的误差进行测量的方法及装置结构,其通过检测片内 晶体的误差来修正CPU外设的工作频率,从而在提高CPU系统抗干扰能力 的同时,又可以保证CPU外设工作稳定可靠,几乎不受外界环境变化的影 响,并且降低了 CPU系统板卡硬件抗干扰设计的难度,而且避免了系统在 遇到外界干扰时异常复位的现象发生。采用本发明的方法所设计的CPU系
统在抗电刀、抗静电和温度测试等测试中,工作稳定可靠、无异常复位发
生、以及无CPU外设工作异常的现象发生,完全满足CPU系统的抗干扰设
计要求。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以 改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护 范围。
权利要求
1、一种CPU系统的抗干扰方法,其特征在于,所述方法包括以下步骤A、设置CPU片内时钟单元为系统时钟源,同时设置CPU片外时钟单元为CPU系统提供基准时钟源;B、利用所述基准时钟源测量系统时钟源的工作状态,并计算所述系统时钟源相对于基准时钟源的误差;C、根据计算获得的误差对CPU外设的工作频率进行补偿。
2、 根据权利要求1所述的方法,其特征在于,所述步骤A中,系统 时钟源和基准时钟源的工作频率相同或成比例。
3、 根据权利要求1所述的方法,其特征在于,所述步骤A和步骤B 之间还包括A0、设置误差测量周期;Al、判断误差测量周期是否到来,若是,则执行步骤B。
4、 根据权利要求1所述的方法,其特征在于,在所述步骤B和C之 间还包括以下步骤B01、判断误差计算结果是否在CPU片内晶体振荡器测量误差的声称 范围;如果是,则判定误差计算结果有效,执行步骤C 。
5、 根据权利要求4所述的方法,其特征在于,所述步骤BOl包括以 下处理当判断误差计算结果是在CPU片内晶体振荡器测量误差的声称范 围内后,还判断相邻两次有效误差计算结杲的变化幅度是否在预设范围内; 若是,则判定误差计算结果有效。
6、 根据权利要求1所述的方法,其特征在于,所述步骤B中,通过 分别记录所述系统时钟源和基准时钟源在一预设时间内的振动次数,来计 算所述系统时钟源相对于基准时钟源的误差。
7、 根据权利要求6所述的方法,其特征在于,所述步骤B包括以下 步骤步骤Bll、预先将所述基准时钟源作为第一定时器的时钟输入源、并将 系统时钟源作为第二定时器的时钟输入源;步骤B12、设置所述第一定时器的工作阈值,并设置所述第二定时器自 由计数;步骤B13、当需要测量系统时钟源的工作状态时,启动所述第一定时器 和第二定时器开始计时;步骤B14、当所述第一定时器达到预设工作阈值时,中断所述第一定时器和第二定时器;步骤B15、调用所述第一定时器和第二定时器的记录结果,计算所述系 统时钟源相对于基准时钟源的误差。
8、 #4&权利要求1所述的方法,其特征在于,所述步骤B中,通过 分别记录在振动相同的预设次数时所述系统时钟源和基准时钟源的实际工 作时间,来计算所述系统时钟源相对于基准时钟源的误差。
9、 一种应用于CPU系统上的抗干扰系统,其特征在于,所述系统 包括基准时钟源电路,其利用晶体振荡电路在CPU芯片的外部提供一基准 时钟源;第一定时器模块,其时钟信号输入端连接所述基准时钟源电路的输出 端,用于记录基准时钟源的工作状态;第二定时器模块,其时钟信号输入端连接CPU的片内时钟单元所产生 的系统时钟源,用于记录所述系统时钟源的工作状态;误差计算才莫块,其与所述第一定时器模块和第二定时器模块相连,用 于从所述第一定时器模块和第二定时器模块获取记录结果,并计算所述系 统时钟源相对于基准时钟源的误差;及补偿校正模块,用于接收来自所述误差计算模块的计算结果,并根据 计算结果修正CPU外设的工作频率。
10、 根据权利要求9所述的系统,其特征在于,所述基准时钟源和系 统时钟源的工作频率相同或成比例。
11、 根据权利要求9所述的系统,其特征在于,所述系统中还包括一 误差判断模块,其位于所述误差计算模块和补偿校正模块之间,用于判断 所述误差计算模块计算结果的有效性,并将判断有效的计算结果送入所述 补偿校正才莫块中。
12、 根据权利要求9所述的系统,其特征在于,所述第一定时器模块 的一控制信号输出端连接所述第二定时器模块的使能端,用于当所述第一 定时器模块的计数达一预设阈值时输出使能信号,使所述第二定时器模块 停止计数。
13、 一种CPU片内晶体时钟源误差的测量方法,其特征在于,所述 方法包括以下步骤第一步、设置CPU片内时钟单元作为系统时钟源,同时设置CPU 片外时钟单元为CPU系统提供基准时钟源;第二步、利用所述基准时钟源测量系统时钟源的工作状态,并计算 所述系统时钟源相对于基准时钟源的误差。
14、 根据权利要求13所述的方法,其特征在于,所述第一步中,所 述基准时钟源和系统时钟源的工作频率相同或成比例。
15、 根据权利要求13所述的方法,其特征在于,所述第二步中,通 过分别记录所述系统时钟源和基准时钟源在一预设时间内的振动次数,来 计算系统时钟源相对于基准时钟源的误差。
16、 根据权利要求15所述的方法,其特征在于,所述第二步按照以 下步骤进行步骤Bll、预先将所述基准时钟源作为第一定时器的时钟输入源、并将 系统时钟源作为第二定时器的时钟输入源;步骤B12、设置所述第一定时器的工作阈值,并设置所述第二定时器自 由计数;步骤B13、当需要测量系统时钟源的工作状态时,启动所述第一定时器 和第二定时器开始计时;步骤B14、当所述第一定时器达到预设工作阈值时,中断所述第一定时 器和第二定时器;步骤B15、根据所述第一定时器和第二定时器的记录结果,计算系统时 钟源相对于基准时钟源的误差。
17、 根据权利要求13所述的方法,其特征在于,所述第二步中,通 过分别记录在振动相同的预设次数时所述系统时钟源和基准时钟源的实际 工作时间,来计算系统时钟源相对于基准时钟源的误差。
18、 根据权利要求13所述的方法,其特征在于,所述方法还包括以 下步骤第三步、判断误差计算结果是否在CPU片内晶体振荡器测量误差的声 称范围;如果是,则判定误差计算结果有效。
19、 根据权利要求18所述的方法,其特征在于,所述方法还包括以 下步骤第四步、当前误差计算结果被判定有效后,还判断相邻两次有效误差 计算结果的变化幅度是否在预设范围内;若是,则判定误差计算结果有效。
20、 一种CPU片内晶体时钟源误差的测量装置,其特征在于,所述 装置包括基准时钟源电路,其利用晶体振荡电路在CPU芯片的外部提供一基准 时钟源;第一定时器模块,其时钟信号输入端连接所述基准时钟源电路的输出 端,用于记录基准时钟源的工作状态;第二定时器模块,其时钟信号输入端连接CPU的片内时钟单元所产生 的系统时钟源,用于记录所述系统时钟的工作状态;误差计算模块,其与所述第一定时器模块和第二定时器模块相连,用 于从所述第一定时器模块和第二定时器模块获取记录结果,并计算所述系 统时钟源相对于基准时钟源的误差。
21、 根据权利要求20所述的测量装置,其特征在于,所述第一定时 器模块的一控制信号输出端连接所述第二定时器模块的使能端,用于当所 述第一定时器模块的计数达一预设阔值时输出使能信号使所述第二定时器 模块停止计数。
全文摘要
本发明公开了一种CPU系统的抗干扰方法与系统及其误差测量方法与系统,其设置CPU系统片内晶体作为系统时钟源,同时设置一片外晶体为CPU系统提供基准时钟源;然后利用所述基准时钟源测量系统时钟源的工作状态,并计算所述系统时钟源相对于基准时钟源的误差率;并根据计算获得的误差率对CPU外设的工作频率进行补偿和校正。本发明提高了CPU系统的抗干扰能力,并保证在外部干扰冲击下,产生CPU系统主频的时钟源能有效可靠的工作,以及保证CPU外设的工作频率稳定可靠。
文档编号G06F11/00GK101470637SQ200710125749
公开日2009年7月1日 申请日期2007年12月27日 优先权日2007年12月27日
发明者伍晓宇, 博 何, 建 岑, 左鹏飞, 利 张 申请人:深圳迈瑞生物医疗电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1