MS1022——高精度时间测量(TDC)电路

电子说

1.3w人已加入

描述

产品简述

  MS1022是一款高精度时间测量电路,内部集成了模拟比

时钟芯片

较器、模拟开关、施密特触发器等器件,从而大大简化了外

围电路。同时内部增加了第一波检测功能,使抗干扰能力大

大提高。通过读取第一个回波脉冲的相对宽度,用户可以获

得接收信号的强度提示。通过这个提示,可以判断超声波换

能器异常、管壁覆盖物增多、水中有气泡等异常情况。通过

命令,可以完成一次超声波时差(顺流和逆流)的测量和数

据的读取,从而大大减少软件的操作和电量的消耗。

主要特点

测量范围1:

◼双通道单精度模式90ps

◼单通道双精度模式45ps

◼测量范围3.5ns(0ns)至2.4μs

◼20ns最小脉冲间隔,最多可接收4个脉冲

测量范围2:

◼单通道单精度模式90ps

◼双精度模式45ps,四精度模式22ps

◼测量范围500ns至4ms(4M高速时钟下)

◼可测量3个脉冲,并可自动处理3个数据

模拟输入电路:

◼第一波检测

◼可测量第一波的脉冲宽度

◼内部集成用于输入选择的模拟开关

温度测量:

◼2个或4个温度传感器,PT500/PT1000或更高

◼内部集成施密特触发器

◼超低功耗(每30秒测量一次时为0.08μA)

应用

◼ 超声波热量表、水表

◼ 激光测距

产品规格分类

时钟芯片

管脚图

时钟芯片

管脚说明

时钟芯片

如有需求请联系——三亚微科技 王子文(16620966594)

时钟芯片

内部框图

时钟芯片

极限参数

  芯片使用中,任何超过极限参数的应用方式会对器件造成永久的损坏,芯片长时间处于极限工作

状态可能会影响器件的可靠性。极限参数只是由一系列极端测试得出,并不代表芯片可以正常工作在

此极限条件下。

时钟芯片

推荐工作条件

时钟芯片

超声波热量表的典型应用

1. 概述

  MS1022 非常适合低功耗超声波热量表的设计和应用。由于芯片内部的功能,包括第一波自动检

测功能、高精度温度测量、脉冲发生器、模拟开关、比较器、STOP 屏蔽窗口功能以及时钟校准等,仅

需要外部加一个简单的单片机(无需 AD),就可以进行高精度的测量。

  最终的电路可以非常紧凑,尺寸可以做到非常小。下图表显示了一个典型的超声波热量表应用

MS1022 而设计的整个电路。

时钟芯片

  红色方框内的部分为所需要的外部元件,整体元件的个数降到最低:

·在超声波回波路径当中,仅在压电陶瓷换能器连接到一对电阻和电容。

·在温度测量路径当中,仅需要额外的 1 个温度稳定电阻以及放电电容。

·振荡器选择了 1 个 32.768KHz 石英晶体以及 1 个 4M 的陶瓷晶振。FIRE_IN 管脚可以用于 32.768KHz

  晶振的输出驱动。因此,单片机不需要一个低功耗的振荡器。

·对于电源部分,则需要应用旁路电容来给 VCC 和 VIO 去耦。分别通过一个小的电阻来进行分离。

总共仅需要 11 个低价的元件来进行所有测量工作。

2. 寄存器的典型配置

时钟芯片

如有需求请联系——三亚微科技 王子文(16620966594)

时钟芯片

3. 测量流程

上电复位

  发送 SO = ’h50

  校准时钟:

  发送 SO = ’h03 Start_Cal_Resonator

  Check-loop INTN = 0 ?

  发送 SO = ’hB0,读取 SI = RES_0

  校准系数 = 61.035/RES_0

测量循环

  温度测量每隔 30 秒钟一次:

  发送 SO = ’h02 Start_Temp

  Check-loop INTN = 0 ?

  发送 SO = ’hB4,读取 SI = STAT

  STAT&’h1E00 > 0: -> Error routine

  发送 SO = ’hB0,读取 SI = RES_0

  发送 SO = ’hB1,读取 SI = RES_1

  发送 SO = ’hB2,读取 SI = RES_2

  发送 SO = ’hB3,读取 SI = RES_3

  Rhot/Rref = RES_0/RES_1

  Rcold/Rref = RES_3/RES_2

  到单片机数据库表格中查找相应温度。

  每半秒钟测量一次飞行时间间隔:

  发送 SO = ’h70 Initialize TDC

  发送 SO = ’h05 Start_TOF_Restart

  Check-loop INTN = 0? (上游 TOF)

  发送 SO = ’hB4,读取 SI = STAT

  STAT&’h0600 > 0: -> Error routine,

  timeout = 空管段。

  发送 SO = ’hB3,读取 SI = RES_3

  发送 SO = ’h70 初始化 TDC

  Check-loop INTN = 0? (下游 TOF)

  发送 SO = ’hB4,读取 SI = STAT

  STAT&’h0600 > 0: -> Error routine

  发送 SO = ’hB3,读取 SI = RES_3

  现在单片机可以开始进行数据处理,然后计算热量和流量的值。

  通过脉冲宽度检查信号强度:

  发送 SO = ’hB8,读取 SI = PW1ST

  如果 PW1ST < 0.3, 信号太弱, 则发出报警信号。

错误报告

1. TDC-CAL 数据读出错误

  当 MS1022 没有开启到 4 精度模式的时候,读出的 TDC-CAL 数值是错误的。这个错误主要的问题

是输出到结果寄存器的值有问题,而内部所保存的值是正确的。因此,对于最终的测量结果没有影

响。仅在读取 CAL 校准值的时候存在问题。

在测量范围 2 中的影响:

  对于所有应用测量范围 2 的用户来说,这个 CAL 仅是一个中间值,并不读出此中间值。并且强烈

推荐使用 4 精度模式。

在测量范围 1 中的影响:

  对于所有用户,当应用自动校准 TDC 时,对最终测量结果也没有任何影响。

  仅当用户在测量范围 1 的情况下,应用非校准的测量结果,而且通过外部读出这个 CAL 数值。而

进行手动的 TDC 校准的情况下,这个 CAL 数值是不可用的。(超声波热量表,水表等应用是涉及不到

的)。

解决方法:

  针对这个错误有不同的的解决方法,其中比较好的方法为:

  用户可以在进行手动校准后,不要直接读这个校准结果,只需让此校准结果存储在 TDC 内部。当

以后进行测量时,ALU 会自动地使用之前的校准结果进行计算。这样的话,对最终的结果并无影响。

2. 温度测量中时间溢出的错误

  为了避免此错误,当温度测量的循环时间为 512μs 时(寄存器 0 的 16 位 TCYCLE),需要将寄存

器 3 的 27 和 28 位 SEL_TIMO_MB2 设置为 2ms,否则从 INTN 管脚出来的中断可能会有错误。

同类产品比较

时钟芯片

——爱研究芯片的小王

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分