在mcu系统里,系统时钟的准确性及精度对于系统的安全运行非常重要,为保证系统可对时钟的准确性进行监控,从f28004x 系列开始,c2000 产品增加了一个新的功能模块dual-clock comparator,简称dcc。dcc是一个可配置的,双时钟比较的模块,用于在应用程序的时间执行期间确定时钟信号的准确性。 dcc 使用另一个输入时钟作为参考来测量可选时钟源的频率。 时钟源以及精度由应用程序编程。可以实现对时钟信号提供时钟输入频率的自主、实时的监控,当输入时钟频率范围超出设定值时,dcc模块会触发错误,从而完成对输入时钟频率的监控。本文以f280049为例,介绍了dcc模块的工作原理和实际应用及相应的注意事项。
1.dcc工作原理介绍和配置方法:
顾名思义,dcc模块提供了两个时钟模块clock0 和clock1 按照设定比例及允许误差范围进行互相校验,用户可以自由选择两个时钟的输入源,如下图所示,同时也需要设定最大的允许误差。
counter1 的时钟源有:
pllrawclk
intosc1
intosc2
counter0 的时钟源有:
xtal
intosc1
intosc2
注:f280049是type1 型的dcc,f28002x, f28003x, f280013x, f280015x, f2838x 均为type2 型的dcc,clock0 和clock1都有更多的输入源,具体细节可以参考对应产品的datasheet。
在dcc的设定过程中,除了选定的被检测的两个时钟外,还有两个重要的参数:tolerance 和frequency error。
1. tolerance : tolerance代表着dcc模块的颗粒细度,tolerance越大,clock0和clock1的counter 越小,类似于adc 的采样位数更小。但是当频率异常的时候,也可以反应的更快。我们一般设这个值为1%。
2. frequency error:时钟误差的接受度,由于两个时钟的不同步和量化都会引入误差,所以本身就存在一个最小的误差。同时,时钟一定程度的偏差也是可以接受的,可以根据系统的需求输入,针对+/- total error 的时间偏差,都是可以被接受的。
根据系统需要,给出tolerance和frequency error,计算方法在库函数中可以看到:
count0 = window - total_error;
valid = 2 * total_error;
count1 = window * freq1 / freq0;
配置好后,一旦dcc 被使能,counter0 和valid0 会在每一次clock0 的时钟信号来一次减1,同样的,counter1 会在每一次clock1的时钟信号来一次减1。
我们先假设clock0 是个可靠的时钟,在clock1 的精度在允许最大误差内运行的时候,三个计数器应该按照下列顺序到达0:
counter0 -》 counter1 -》 valid0
如果clock1的误差偏大,那么 有两种失效可能性:
一种是clock1 偏快,那么就会出现clock1 的counter1 先到达0。
一种是clock1 偏慢 ,那么就会出现clock0和valid0都到达0 之后, counter1 还没到达0。
2.实际应用:
在实际应用中,我们既可以用clock0 来监测clock1的精度,也可以用clock1 来监测clock0的丢失(将clock0设为xtal)(因为clock1输入只能选内部时钟)。dcc 的值的计算比较复杂,可以用ti 提供的driverlib 函数dcc_continuousmonitor()来完成计算,也可以参考c2000ware中的例程,方便快速实现功能。dcc 相关例程的路径如下:c:tic2000c2000ware_4_03_00_00driverlibf28004xexamplesdcc
需要注意的是:
dcc 还可以配置为在单次或连续模式下运行。 在单次模式下,dcc 执行一次性倒计时,当计数器达到 0 时 dcc 停止操作。引发完成中断并可以检查状态。
在连续模式下,因为需要锁住发生错误的时刻(即counter0 或counter1 的值),也会使得dcc 模块报错后,counter停止工作。会遇到只能进入一次dcc中断的情况,如果客户希望多次进入dcc 中断,则需要在dcc中断中重新使能dcc模块,可以通过调用这个函数来实现:dcc_enablemodule(dcc0_base)。
3.总结:
使用dcc模块可以方便快捷地实现对两路时钟信号输入频率的自主、实时监控,通过对两路时钟计数器的比较,可以实现对时钟系统可靠的监控,从而保证整个系统的安全可靠运行。
新松“面向智能制造的边缘侧工业软件平台项目”荣登工信部榜单
ibeacon是什么_ibeacon工作原理
近红外双模式单光子探测器----单光子探测主力量子通讯
深圳自明年1月1日起实现大面积电动自行车限行
LED照明在各国的认证以及标准的发展趋势
DCC模块的工作原理,DCC模块的实际应用及注意事项
详解逻辑单元的内部结构
什么是APON?
日本的EUV***引进之路
保隆科技智能悬架控制器项目正式通过ASPICE CL2国际权威评估
广达发年终奖金,林百里引领公司向AI转型
富乐天山荣获DEKRA德凯首张IEC 62788-5-1双组份密封胶证书
预防跨站脚本攻击(XSS)的方法
FF首款电动车FF91试驾体验:性能没问题 量产需等待时日
电子工程师必备:电感基础知识总结
共进股份:公司子公司共进微电子专注于智能传感器及汽车电子芯片领域的先进封装测试业务
振动传感器有哪些类型
苹果正式上架双项充电器,售价1049元
电压双象限Buck?Boost电路拓扑及分析
罗德与施瓦茨频谱分析仪FSW43报错UNCAL/IF OVLD维修案例