请问依靠RM48系列MCU的自身资源是否可以实现对时钟的高覆盖率诊断?

jjdwe ( 楼主 ) 2018-5-22 01:58:19  显示全部楼层
本帖最后由 一只耳朵怪 于 2018-5-22 16:25 编辑

MCU型号:RM48
目标功能:实现对时钟的高覆盖率诊断
背景描述:
1. 根据IEC61508-2:2010对时钟高覆盖率诊断的要求,系统应具备对时钟(squartz, oscillator, PLL)incorrect frequency和period jitter两种故障的诊断能力。
2. RM48系列MCU提供LPOCLKDET对OSCIN时钟源进行检测,但其允许的有效范围太大(4.875MHz ~ 22MHz),无法满足精度要求。
3. RM48系列MCU提供Dual Clock Comparator,但前提是参考时钟源是可靠的。OSCIN需要通过外接晶振提供,本身就是被诊断对象;PLL是在OSCIN基础上进行倍频分频得到,也是被诊断对象。参考比较时钟源必须是独立且可靠的,才能准确判断被诊断对象的健康情况。
以上是我对IEC61508与RM48MCU的理解,问题是:
1. 就MUC自身而言(无需借助外部手段),唯一独立的时钟源就是LPO,但LPO的精度与可靠性是否支持它作为参考时钟源对OSCIN和PLL进行诊断,并实现高覆盖率的诊断效果,具备对incorrect frequency和period jitter两种故障类型的诊断能力?
2. 如果问题1的答案是肯定的,请描述一下具体实现方案。
3. 如果问题1的答案是否定的,是否可以提供一些参考建议。

5个回复

小Qhhui 发表于 2018-5-22 02:13:22
你好。
1. 利用LPO对OSCIN的检测范围,是用来检测外部时钟失效的,所以会有一个相对较宽的检测范围。这与DCC不是一回事。
2. 利用DCC可以用于时钟的诊断。时钟源1可选择诊断对象时钟源,时钟源2可以选择内部LPO,用户可根据不同的诊断需求,设置不同的误差允许范围。
回复

举报 使用道具

jjdwe 发表于 2018-5-22 02:33:10
小Qhhui 发表于 2018-5-22 02:13
你好。
1. 利用LPO对OSCIN的检测范围,是用来检测外部时钟失效的,所以会有一个相对较宽的检测范围。这与DCC不是一回事。
2. 利用DCC可以用于时钟的诊断。时钟源1可选择诊断对象时钟源,时钟源2可以选择内部LPO,用户可根据不同的诊断需求,设置不同的误差允许范围。 ...

Hi Jay, 非常感谢您的回复。
您提到利用DCC时,时钟源2选择内部LPO,您是将LPO作为诊断的参考时钟对吧?
问题是LPO的精度和稳定性是否支持它作为参考时钟。
以LPO-HF为例,数据手册中对它的描述是“nominal 10MHz”,所谓的10MHz,浮动范围5.5MHz~19.5MHz,典型值9.6MHz。
我如何获得LPO-HF的准确频率值?
另一个问题,就算我知道了LPO-HF的频率值,它的工作稳定性又如何,数据手册没有任何说明,如何证明它工作的可靠性?
最后一个问题,关于时钟period jitter故障,RM48处理器是否有检测能力?
回复

举报 使用道具

testd27 发表于 2018-5-22 02:48:24
jjdwe 发表于 2018-5-22 02:33
Hi Jay, 非常感谢您的回复。
您提到利用DCC时,时钟源2选择内部LPO,您是将LPO作为诊断的参考时钟对吧?
问题是LPO的精度和稳定性是否支持它作为参考时钟。

 
    LPO的精度是可以通过校正(Trimming)的方法来提高。
    具体方法在用户手册中有提及:
    
    

    稳定性指的是失效吗?芯片的失效率应该会在安全分析报告中给出的。(不太确定,我来查查看。)
 
    关于Period jitter,这个应该不能算是个故障吧? Jitter值应该跟用户的要求有关,比如做时序比较严格的高速通信时,对Jitter范围要求较高。
    反之,则可能系统对Jitter要求比较低。
    Jitter过大可能造成的问题是PLL脱锁(slip),这样会造成系统风险,所以我们片内具备Slip detector模块来检测这个问题。
  下面这篇帖子提及了有助于减小jitter的办法,请参考:
  http://e2e.ti.com/support/microcontrollers/hercules/f/312/t/161740.aspx
     
NR is the input clock divider, which controls the frequency of the adjust pulse. A lower NR value means the error in PLL frequency is compensated faster, resulting in less jitter. The adjust pulse will go through a low pass filter (LF) before it applies to the VCO. The cut-off frequency of this low pass filter is controlled by the BWADJfield inPLLCTL2 register. A lower BWADJ value results in less jitter. During normal operation, any BWADJ lessthan 7 will be treated as 7. A Larger NF also generates less jitter.
回复

举报 使用道具

jjdwe 发表于 2018-5-22 02:54:07
testd27 发表于 2018-5-22 02:48
 
    LPO的精度是可以通过校正(Trimming)的方法来提高。
    具体方法在用户手册中有提及:

Hi Renton,
非常非常感谢你的回复,以及提供的相关资料,我都有认真看过。而我仍有些疑问希望你能帮忙解答。

  • “During device test, a trim value is written into the one-time programmable section of the flash memory (OTP), address 0xF008_01B4. Bits 31:16 of this OTP word contain a16 bit value that may be programmed into LPOMONCTL(15:0) in order to initialize the trim for both HFLPO and LFLPO.”(摘自RM48x technical reference manual page356  2012.11)我对这句话的理解是:芯片出厂前就做过“device test”专门校准LPO的频率,并将其校准值(16bit)写入一个仅可写入一次的flash memory(OTP)中,这16bit正好对应LPOMONCTL寄存器(15:0)。可以在系统初始化的时候将OTP中的值写入LPOMONCTL寄存器中。这个理解正确吗?
  • “After the initial trim, further trimming may be done in LPOMONCTL, using the DCC (dual clock compare module) in order to determine the resultant frequency. This module allows for comparison of two clock frequencies. Once the HFLPO is determined to be in-range with the initial HFTRIM setting from the OTP, the crystal oscillator maybe used as a reference against which the HFLPO and LFLPO may be further adjusted”用户在使用时,还要对每一块芯片进行校准,利用DCC。实际上只是利用DCC确认HFLPO是否符合OTP中的initial setting,并不会让HFLPO的频率值变得更精确。这个理解正确吗?最后一句话说可以利用主时钟源(crystal oscillator)对HFLPO做进一步校准,又是如何实现的? Crystal Oscillator是主时钟源(OSCIN)的外接输入,本就是被诊断对象,为何还能用它来校准HFLPO?
  • 我的目标是实现对Crystal Oscillator的诊断(遵循IEC61508-2:2010的时钟诊断要求),希望利用DCC,选择HFLPO作为参考时钟源,这样的应用能够实现对时钟的高覆盖率诊断吗?如果可以,请Renton描述得再细致一些,因为我还是不能确定HFLPO是否可以作为参考时钟源。
  • HFLPO可以进行校准,那校准后的频率值误差率是多大,校准后的频率值是一系列离散的数值,又会再次产生误差,误差范围有多大?
  • LPOMONCTL寄存器中的4位HFTRIM描述为:f/fo,fo是什么的缩写,标准的10MHz吗?
  • 为了实现我在3中提到的目标,就芯片自身的资源而言还有哪些可选的方案?或者说芯片自身根本无法实现这一目标,我必须额外引入外部时钟作为参考时钟源进行比较?
 Renton我能否要下你的办公电话,可能几句话就能把问题解决掉了。
如果你愿意可以打给我01062971668-6860.
回复

举报 使用道具

testd27 发表于 2018-5-22 03:02:47
jjdwe 发表于 2018-5-22 02:54
Hi Renton,
非常非常感谢你的回复,以及提供的相关资料,我都有认真看过。而我仍有些疑问希望你能帮忙解答。

Hi Xuecheng,
    我又内部确认了一下,关于您的问题:
    1. 您的理解是正确的。
    2. 您的理解是正确的。利用晶振为内部振荡器进行校准,相当于把DCC的两个时钟源反过来,即Counter0是晶振频率,Counter1是LPO,这样结合用户自己的算法,就可以对LPO进行进一步校准了。为了实现LPO对外部晶振的监控,这个校准过程完成后,应该再把两个时钟源换回来。即前一个过程是校准过程,仅在上电复位或者某些特定时间运行,而后一个状态才是系统常态。(且LPO校准状态下,默认为外部晶振正常工作。)
    3. 这里要看您要求的覆盖率有多高。
        我这里稍作分类:
            按诊断目的划分:    1. 监测外部晶振是否停振。
                                             2. 监测外部晶振的震荡频率是否准确。
                                                               a. 大范围内是否准确 (如20MHz是否变为小于10MHz)
                                                               b. 小范围内是否准确 (如20MHz是否在+/- 1%范围内波动)
        使用LPODECT功能,主要是完成诊断目的1的。
        使用DCC监测功能,可以在一个较宽范围内监测晶振频率,即诊断目的2. 的a.
        而诊断目的2.b.,从TI来讲,我们不建议客户使用内部LPO来实现这个诊断目的,因为LPO并不是为产生精确的时钟频率而设计的。
        所以最好使用额外的监测部件来完成这个功能。
 
    4. 如上所述,不建议使用LPO做2.b相关的目标,那么误差值也就没有意义了。
    5. fo是Trim后的输出频率,f是trim之前的频率。指的不是10MHz。但是fo的目标是尽可能接近10MHz。
    6. 如前所述需要使用LPODECT功能和DCC功能,但是针对2.b.相关的诊断目标,需要额外的板上部件才能实现。
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-10-23 03:22 , Processed in 1.497484 second(s), 57 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表