Part Number:CC1312R7
Hi ti team,
问题描述:低频时钟LF Clock通过Code Composer Studio系统配置为“LF XOSC”使用外部晶振,并把外部的32KHz晶振拆掉之后,此时系统应该不会有32K时钟原计数,但是我们在测试程序里通过函数接口AONRTCCurrentCompareValueGet() 依然能获取到时钟计数输出。 想知道是否配置不正确还是接口使用的问题?
Yolande Wang:
您好:
这可能是由于AONRTCCurrentCompareValueGet()函数本身的工作方式,此函数通常用于获取AON RTC的当前计数值,不一定需要外部晶振。AON RTC通常会使用内部低频晶振,即使您的系统不使用外部32KHZ晶振。
如果您希望完全停用低频时钟(LF Clock),您可以在启动代码中禁用AON RTC ,以停用其计数。这样即使AON RTC依然运行,但其计数将被禁用。
这里为您提供CC1312R7技术参考手册:https://www.ti.com/lit/ug/swcu192/swcu192.pdf,希望能够帮助到您。
,
Yolande Wang:
请问我提供的方法是否对您有效?
,
Huang Vic:
你好:
我们的目的是想检测PCBA外部32KHz晶振在生产时是否贴好并正常工作,想通过软件检测的方式,测试把LF Clock晶振异常的板子挑出来。
目前使用的方法是,想通过AONRTCCurrentCompareValueGet()函数来获取RTC计数,设想的是如果外部32KHz晶振正常工作时可以正常读取RTC计数,如果外部32KHz晶振拆掉或者工作不正常则读取不到RTC计数,从而区别开好的PCBA和坏的PCBA。 但是实际测试时,无论怎么设置,去掉外部32KHz晶振后依然能读取到RTC计数。 根据CC1312R7技术参考手册检查并设置了XOSC_LF_DIG_BYPASS、SCLK_LF_SRC_SEL、SCLK_LF_OPTION正确的LF XOSC时钟源也没有解决。
使用获取RTC计数的方式真的不能实现我们的目的吗?
如果以上这种方式不行,应该使用什么方法才能实现我们的目的,以检测出外部32KHz晶振异常的PCBA?
,
Shuyang Zhong:
Hi Vic,
外部晶振不工作时芯片会自动切换到内部RC时钟源。
可以结合OSCClockSourceGet() API来判断时钟源:
https://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/3.40.00.02/exports/docs/driverlib_cc13xx_cc26xx/cc13x2_cc26x2/driverlib/group__osc__api.html#ga279bd3a34548bd4c5e2fc6939f7be228
另外CC1312支持将32kHz时钟信号映射到GPIO上,可以通过示波器或其他仪器判断时钟是否正常工作。参考CC13x2x7 and CC26x2x7 Technical Reference Manual 第13.3.4节:
https://www.ti.com/lit/pdf/swcu192
Best regards,
Shuyang
,
Huang Vic:
之前有尝试过"Map the 32 KHz System Clock(LF Clock) to DIO"方法,测试映射GPIO上的时钟如果系统切换到LF RCSOC示波器上也不好分辨。目前结合OSCClockSourceGet() API来判断时钟源的方法,可以满足工厂生产测试要求。
问题已经解决,非常感谢。
抱歉这么久才回复,因为前面几天点击回复按钮之后,总是会弹出用户信息填写框,填写完之后保存成功后也不能回复。