MS1022
高精度时间测量(TDC)电路
产品简述
MS1022是一款高精度时间测量电路,是MS1002的升级产品,
与MS1002管脚完全兼容,且兼容MS1002的所有功能。
MS1022内部集成了模拟比较器、模拟开关、施密特触发器等
器件,从而大大简化了外围电路。同时内部增加了第一波检测功
能,使抗干扰能力大大提高。用户可以读取第一个回波脉冲的相对
宽度来判断接收信号是强度提示。通过这个提示可以判断超声波换
能器异常、管壁覆盖物增多、水中有气泡等异常检测。通过命令可
QFN32
以完成一次超声波时差(顺流和逆流)的测量和数据的读取,从而
大大减少软件的操作和电量的消耗。
主要特点
测量范围1:
双通道单精度模式75ps
单通道双精度模式37ps
测量范围3.5ns(0ns)至2.5μs
20ns最小脉冲间隔,最多可接收4个脉
LQFP32
测量范围2:
单通道单精度模式75ps
双精度模式37ps,四精度模式19ps
测量范围500ns至4ms(4M高速时钟下)
可测量3个脉冲,并可自动处理3个数据
模拟输入电路:
第一波检测
可测量第一波的脉冲宽度
内部集成用于输入选择的模拟开关
温度测量:
2个或4个温度传感器,PT500/PT1000或更高
内部集成施密特触发器
超低功耗(每30秒测量一次时为0.08uA)
应用
超声波热量表、水表
激光测距
产品规格分类
产品
封装形式
丝印名称
MS1022
QFN32
MS1022
MS1022P
LQFP32
MS1022P
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第1页
MS1022
管脚图
管脚说明
管脚编号
管脚名称
管脚属性
1
XIN
I
高速晶振驱动输入,未使用接 GND
2
XOUT
O
晶振驱动输出
3
VIO
-
端口电源
4
GND
-
地
5
FIRE_UP
O
脉冲发生端口 1
6
FIRE_DOWN
O
脉冲发生端口 2
7
FIRE_IN
I
“声环法”信号输入端口,未使用接 GND
8
INTN
O
中断标志,低电平有效
9
SSN
I
串行接口从机选择,低电平有效
10
SCK
I
串行接口时钟输入
11
SI
I
串行接口数据输入
12
SO
O
串行接口数据输出
13
RSTN
I
系统复位输入,低电平有效
杭州瑞盟科技股份有限公司
http://www.relmon.com
管脚描述
版本号:V2.0
2021.12.02
共55页 第2页
MS1022
管脚编号
管脚名称
管脚属性
14
VCC
-
内核电源
15
CLK32OUT
O
32kHz 时钟输出,未使用悬空
16
CLK32IN
I
32kHz 时钟输入,未使用接 GND
17
SENSET
I
温度测量输入,未使用接 GND
18
LOADT
O
温度测量输出,未使用悬空
19
PT4
O
温度测量端口 4
20
PT3
O
温度测量端口 3
21
GND
-
地
22
VIO
-
端口电源
23
PT2
O
温度测量端口 2
24
PT1
O
温度测量端口 1
25
EN_STOP2
I
Stop 通道 2 使能端口,高电平有效,未使用接 VIO
26
EN_STOP1
I
Stop 通道 1 使能端口,高电平有效,未使用接 VIO
27
STOP2
I
Stop 通道 2,未使用接 GND
28
GND
-
地
29
VCC
-
内核电源
30
STOP1
I
Stop 通道 1,未使用接 GND
31
START
I
Start 通道,未使用接 GND
32
EN_START
I
Start 通道使能,高电平有效,未使用接 VIO
杭州瑞盟科技股份有限公司
http://www.relmon.com
管脚描述
版本号:V2.0
2021.12.02
共55页 第3页
MS1022
内部框图
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第4页
MS1022
极限参数
芯片使用中,任何超过极限参数的应用方式会对器件造成永久的损坏,芯片长时间处于极限工作
状态可能会影响器件的可靠性。极限参数只是由一系列极端测试得出,并不代表芯片可以正常工作在
此极限条件下。
参数
符号
额定值
单位
内核供电电压
VCC
-0.3 4
V
IO 供电电压
VIO
7.0
V
输入管脚电压
VIN
-0.5 VCC + 0.5
V
存储温度范围
Tstg
-55 +150
°C
Tj
125
°C
HBM
>4
kV
最大结温
ESD
推荐工作条件
参数
符号
测试条件
典型值
最大值
单位
2.5
3.6
V
2.5
3.6
V
内核供电电压
VCC
IO 供电电压
VIO
一般输入上升沿时间
tri
200
ns
一般输入下降沿时间
tfa
200
ns
施密特触发器上升沿时间
tri
5
ms
施密特触发器下降沿时间
tfa
5
ms
环境温度
Ta
125
°C
温敏电阻
Rth(j-)
杭州瑞盟科技股份有限公司
http://www.relmon.com
VCC=VIO
最小值
-40
28
结环境
版本号:V2.0
K/W
2021.12.02
共55页 第5页
MS1022
电气参数
直流电特性
VIO = VCC = 3.0V, Tj = -40 - +85°C
参数
32kHz 晶振电流
4MHz 晶振电流
符号
测试条件
I32
ICC+IIO,仅 32kHz 晶振工作
Ihs
最小值
典型值
最大值
单位
1
25
μA
VCC=VIO=3.6V
200
μA
VCC=VIO=3.0V
130
μA
关闭
PT1 > PT2 > PT4。如果 TEMP_PORTDIR 被设置为1,那么
端口的测量顺序将会颠倒过来。热身测量将会从端口 PT4 开始。
h06, Start_Temp_Restart: 这个操作码将会运行温度测量 Start_Temp 两次。在上游和下游温度测量
之间的时间延迟由参数配置 CYCLE_TEMP 以 50 Hz 或 60 Hz 的倍数给出。 正确的选择两个测量之间的延
迟可以抑制 50/60 Hz 噪声。
CYCLE_TEMP 的值
系数
HZ60 = 0(50Hz)
HZ60 = 1(60Hz)
0
0.5
10 ms
8.3 ms
1
0.75
15 ms
12.48 ms
2
1
20 ms
16.6 ms
3
1.25
25 ms
20.78 ms
h03, Start_Cal_Resonator: 将会触发一次对于高速晶振的校准测量。TDC 将会测量一段时间间隔,
间隔可为 61μs 到 488 μs, 通过 ANZ_PER_CALRES 定义给出。测量结束后将会通过中断管脚给出中断。最
后结果,将会以高速时钟周期的倍数给出,存在结果寄存器0当中。将这个结果与理论值相比较,将
会得出校准的系数。
h04, Start_Cal_TDC: 这个命令将会启动测量 2 个参考时钟周期。主要应用于更新校准 TDC 的数据。
如果芯片设置为自动校准 auto-calibration,则不需要这个命令。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第23页
MS1022
二、测量范围一
1. 概述
·测量范围从 3.5ns 到 2us(0-2us 在不同 stop 通道之间)
·2 个 stop 通道相对于一个 start 通道,典型精度为 75 ps
·1 个 stop 通道相对应一个 start 通道,典型精度为 37 ps
·20 ns 的脉冲之间最小间隔
·每个 stop 通道最多 4 个脉冲
·可选择每个通道的上升/下降沿敏感
·对于强大的窗口功能的启动管脚
·可以测量任意两个脉冲之间的时间间隔
·典型应用: 激光时间测量, RF, ToF, ATE
数字式 TDC 应用内部的逻辑门延迟来以高精度测量时间间隔。下图阐述了这种绝对时间 TDC 的测
量原理结构。智能的电路结构,确保电路以及特殊的测量方法使信号通过逻辑门的时间可以非常精确。
最大的测量精度完全取决于内部信号通过逻辑门的传播时间。
测量单元是通过一个 start 信号触发,stop 信号截止的。由环形振荡器的位置和粗值计数值可以计
算出 START 信号和 STOP 信号之间时间间隔,测量范围可达 20 位。
3.3V 和 25°C 时,MS1022 的最小分辨率是 75ps。RMS 噪音大约是 50ps(0.7LSB)。温度和电压对门
电路的传播延迟时间有很大的影响。通常是通过校准来补偿由温度和电压变化而引起的误差。在校准
过程中,TDC 测量一和两个校准时钟周期。测量范围受计数器大小的限制。
tyy = BIN x 26224 = 75 ps x 26224 ≈ 2μs
时间(条件)
描述
tph
2.5 ns (min.)
最小脉冲宽度
tpl
2.5 ns (min.)
最小脉冲宽度
tss
3.5 ns ns (min)
2 μs (max.)
trr
20 ns (typ.)
tff
20 ns (typ.)
tva
Start 到 Stop 之间
上升沿到上升沿
t.b.d. 非校准
最后一个脉冲出现后
t.b.d. 校准后
到测量结果有效时间
txx
无时间限制
tyy
2 μs (max)
最大测量范围
= 26224 × LSB
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第24页
MS1022
每一个输入端均可以被单独设置成上升沿、下降沿或上下沿同时触发有效。可通过设置寄存器 0
的 bit 8-10 位(EG_START,NEG_STOP1,NEG_STOP2)和寄存器 2 的 bit 27& 28,REFDGEx 来选择触发沿。
此外所有的 START/STOP 输入端口均支持高电平激活。
2. 测量流程
2.1 设置
在开始使用 MS1022 之前,必须对它进行设置。
测量范围 1 的主要设置为:
a. 选择测量范围 1
设置寄存器 0, bit 11, MESSB2 = 0。
寄存器 6, bit 12, DOUBLE_RES = 1 选择双精度模式。通过这个选择,测量精度为典型 37ps 而不是
75ps。但仅仅有一个 stop 通道可用。
b. 选择参考时钟
寄存器 0 的 bits 18 & 19 和寄存器 6, bit 20 , START_CLKHS 用来切换高速时钟。如果只采用 32kHZ 时
钟,则设为 0;只采用高速时钟则置 1(持续模式)。
寄存器 0,bits 20 & 21,DIV_CLKHS 是用来设置参考时钟内部分频器数值的(1,2 或 4)。这对测量范
围 1 中的校准测量非常重要,因为只有在 2Tref(内部时钟)大于被测的最大时间间隔时,ALU 才会正常
工作。否则 ALU 输出值为 0xFFFFFFFF。
同时也要确保 2Tref(内部时钟) PT2 >
PT3 > PT4 端口的顺序进行温度测量。在 4 个端口测量结束之后,中断标志位将会被置位。MS1022 也
可以按相反端口顺序进行温度测量,这种情况下热身测量会从 PT4 端口开始。
4 个测量结果将会在结果寄存 0-3 当中找到。然后单片机根据 RES_2/RES_1 和 RES_3/RES_4 可以计
算 Rtemp/Rref 的比率。再通过查询温度表格,就可以获得传感器目前测量到的温度息。
2. 相关配置寄存器说明
寄存器 0 的 15 位, ANZ_FAKE 设置了开始时温度测量热身测量的次数。这个设置是对于克服电容
充放电的机械效应非常有必要的。
ANZ_FAKE = 0 2 次热身测量
ANZ_FAKE = 1 8 次热身测量
寄存器 0 的 16 位, TCYCLE 设置了温度测量的 cycle time 周期时间。
TCYCLE = 0 128 μs cycle time @ 4MHz
TCYCLE = 1 512 μs cycle time @ 4MHz
寄存器 0 的 17 位, ANZ_PORTS 多少个温度测量端口将会被使用。
ANZ_PORTS = 0 2 个端口 = 1 个传感器
ANZ_PORTS = 1 4 个端口 = 2 个传感器
寄存器 6 的 11 位, TEMP_PORTDIR 测量端口的顺序
TEMP_PORTDIR = 0 PT1 > PT2 > PT3 > PT4
TEMP_PORTDIR = 1 PT4 > PT3 > PT2 > PT1
寄存器 6 的 5 位, HZ60 设置了上游下游测量间 Start_TOF_Restart 和 Start_Temp_Restart 命令延迟的时
间基准
HZ60 = 0 50 Hz 基准
HZ60 = 1 60 Hz 基准
寄存器 6 的 18 和 19 位,CYCLE_TEMP,设置了触发第二次温度测量的定时器系数以 50/60Hz 倍数为单位
CYCLE_TEMP = 0 0.5
= 1 0.75
=2 1
= 3 1.25
寄存器 6 的 30 位, NEG_STOP_TEMP 将会反向在 SenseT 路径上的信号。这个设置在应用内部比较
器的时候是必须设置的。在没有反向的时候,温度测量单元是与 MS1002 的外部施密特触发器电路完
全兼容的。
NEG_STOP_TEMP = 0 不反向, 兼容 MS1002
= 1 反向, 应用内部比较器时必须设置
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第39页
MS1022
3. 推荐使用的电容
为了能够达到精确的测量效果,我们推荐有非常低 dC/dU 的电容。我们推荐使用 C0G 系列类型电
容或者太阳诱电公司的 CfCap 系列。
由于放电时间大概是 150 μs。 因此电容应该选取下列值:
PT500: 220 nF
PT1000: 100 nF
设置 Tcycle = 1, 以避免溢出错误。
在热量表应用当中请不要使用 X7R 或者相似的电容材料。
4. 电流消耗
采用 MS1022 进行温度测量与采用 A/D 转换器进行温度测量相比,其电流消耗极低。
进 行 一 次 完 整 的 温 度 测 量 (2 个 传 感 器 , 2 个 基 准 ) , 包 括 所 有 的 计 算 在 内 , 其 功 耗 小 于
2.5μA/s。如果每 30 秒进行一次温度测量(热量计的典型测量频率),平均电流消耗 0.08µA ,比其他
测量方法的功耗的 1/50 还要小。PT500 传感器将使电流加倍。
5. 错误检测
温度测量单元还具有检查结果可用性的功能。它可以检测传感器是短路还是开路,然后 MS1022
将状态寄存器的 11 或 12 位置 1,并对相应的结果寄存器写入一个错误代码。
·短路:相当于时间间隔太短 (< 8 x Tref = 2 μs @ 4MHz),MS1022 将会在输出寄存器中写入 0x0。
·传感器断路:相当于没有停止信号或时间溢出,MS1022 在输出寄存器中写入 0xFFFFFFFF。
注意:当选择温度测量的循环周期为 512μs (Tcycle = 1)时,必须使得 SEL_TIMO_MB2 为 2ms,否则得
到的中断标志(INTN)可能会出错。
6. 增益误差和数学算法补偿
MS1022 的温度测量是基于将温度传感器上的电阻变化被转换为高精度的时间间隔测量。由于施
密特触发器的延迟时间将会引入非常显著的增益误差,就会导致测量结果比理想结果在增益上会有降
低。这个下降可以被描述为在一条直线上的偏移误差。因此,我们可以通过一个简单的算数纠正方
式,给出一个增益补偿系数来补偿与理想值的偏移。对于这个系数的校正如下:
Tcorr = Tuncorr/gainfactor
Tcorr:增益校正后的温度结果;
Tuncorr:未进行增益校正的温度结果;
gainfactor:
增益校正系数,补偿与理想增益 1 的偏差。
通过这个补偿方式,应用内部的施密特触发器,或者应用外部的 74AHC14 施密特触发器,施密特
触发器的延迟时间可被降低到引起增益误差幅值的 0.05%。
三个主要的参数必须要被考虑到,来选择增益纠正系数:
·温度传感器的基础电阻(比如 PT500,PT1000)
·应用施密特触发器(MS1022 内部或者外部 74AHC14)
·MS1022 供电电压
相应的校正系数在之前的表格中提供。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第40页
MS1022
注意:
我们对于外部施密特触发器的增益纠正系数是根据 74AHC14 测量获得的。其他类型(例如 74HC14)
需要不同的增益修正系数,来保证正确补偿增益。因此,若需要使用外部施密特,我们强烈推荐应用
74AHC14 作为外部的施密特触发器。
例 1:
当应用 PT1000 温度传感器,MS1022 内部施密特触发器和 3V 供电电压。根据前面的表格增益系
数为 0.9931。增益的纠正后的结果可以通过下面公式进行:
Tcorr = Tuncorr/0.9931
例 2:
应用 PT500 温度传感器,外部的 74AHC14 施密特触发器和 3.6V 供电电压。增益系数为 0.9980。
那么增益纠正后的结果可以通过下面公式进行:
Tcorr = Tuncorr/ 0.9962
八、振荡器
MS1022 根据操作模式不同最多可接 2 个时钟信号:
·高速时钟—校准时采用并在测量范围 2 中作为 TDC 测量单元的粗值计数器
·32kHz 时钟——用作内部定时器
1. 高速振荡器
通 常 MS1022 会 需 要 一 个 高 速 时 钟 单 元 进 行 校 准 , 频 率 范 围 2-8MHZ( 在 四 精 度 模 式 中 为 2-6
MHz),推荐高速时钟频率为 4Mhz。在测量范围 2 中 MS1022 还需要高速时钟信号作为时间测量单元的
一部分,以及一些其他的操作也需要一个高速时钟。
晶振在一直起振的状态下,平均工作电流为 260 µA。但是晶振仅在测量时间的时候需要开启,
MS1022 可以通过内部电路控制晶振的开启时间。设置是通过设置参数 START_CLKHS 来实现。设置
START_CLKHS > 1 晶振将会在发送 Start_TOF, Start_TOF_Restart, Start_Temp 或 Start_Temp_Restart 命令
之后的测量中开启。在开启晶振与测量之间设置一个延迟以保证晶振有充足的时间震荡达到满振幅。
START_CLKHS = 0
晶振关闭
=1
晶振持续开启
=2
延迟 480 µs
=3
延迟 1.46 ms
=4
延迟 2.44 ms
= 5 to 7 延迟 5.14 ms
通过上面设置的延迟可以保证晶振在测量开始之间已经完全达到满振幅。对于陶瓷晶振来讲延迟
480 μs 就以足够。通过这种方式电流消耗可以大大被降低。
例如:
在超声波流量测量中每秒一次的时间测量(去/回)中高速晶振的开启时间仅为大概 2ms。那么评估
功耗则为 260 μAs × 2 ms = 0.52 μA.
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第41页
MS1022
2. 32.768kHz 振荡器
MS1022 需要一个 32.768KHz 的基准时钟来控制高速时钟
启振和进行时钟校准用。它也可作为一个完整时钟驱动器。
如果 32.768 kHz 振荡器始终处于工作状态,在 3V 时的电
流消耗大约为 0.5 μA。此振荡器在上电后的起振时间大约为
3s。32.768 kHz 振荡器不能够被关闭。在不用 32kHz 时钟的时
候,CLKIn 管脚必须要接地。
此低功耗时钟可以通过管脚输出给外部的单片机作为时钟源,寄存器的设置为:
SEL_TSTO1 = 7: 32 kHz 在 FIRE_IN 管脚输出
SEL_TSTO2 = 7: 4 kHz (32kHz/8) 在 EN_START 管脚输出
同时也可以通过外部的低频率方波提供给芯片的 CLK32Out 管脚(3.6 V 最大幅值)。
3. 校准高速陶瓷振荡器
由于 2-8MHz 的陶瓷振荡器成本底、启动快,所以这种振荡器还是很有吸引力的。但是它的误差
较大( 0.3-0.5 %),并且具有明显的温漂。因此 MS1022 会进行时钟校准校准振测量以此来补偿陶瓷振荡
器的这种特性。测量以精确的 32.768kHz 时钟为基准。MS1022 从 32.768kHz 的时钟引出 Star/Stop 脉
冲,并启动 TDC 单元测量此时差。结果存储在结果寄存器中,并对中断标志位置位。单片机可以读出
此结果,然后计算出陶瓷振荡器的频率误差。
在寄存器 0 的 23 和 22 位 ANZ_PER_CALRES 中可以对时钟校准进行设置,当系统接收到单片机发
出 START_Cal_Resonator 命令后开始进行校准。
例如:
采 用 4MHZ 晶 振 , CLKHSDIV=0 , ANZ_PER_CALRES=1 , 理 论 结 果 应 该 是 122.0703125μs/250ns =
488.28125 (RES_0 = 0x01E84800)。如果陶瓷振荡器不是准确的 4MHz 而是 3.98MHz,校准测量将显示
485,83984375 (RES_0 =1E5D700)。单片机根据此可计算修正因数是 1.005。
注意: 在时钟校准过程中,EN_START 必须为高。
4. 如何使用时钟校准
4.1 应用
这个选项尤其适用于超声波流量/热量计。在此领域中采用陶瓷振荡器主要有两大优势:低成本和
低电流消耗。陶瓷振荡器的起震时间很短,因此电流就可以减少几个微安。以 10 年的工作时间来算,
这可以节省好几节 100mAh 容量的电池。只要操作正确,采用此选项对芯片的精度并没有影响。
4.2 32KHZ 时钟的抖动和由此带来的影响
32kHZ 时钟的频率非常精确,误差只有百万分之几。然而峰-峰值之间的相位抖动大约有 3-5ns。
因此时钟校准测量(Start_Cal_Resonator)本身就具有误差。所以,当测量结果乘以时钟校准结果时,测
量结果就也会产生抖动。测量结果的抖动幅度是校准时的抖动幅度乘以校准测量时间(ANZ_PER_CALRES)
与被测时间的比值。如果不间断地进行校准,则校准值就会使测量结果产生相当大的抖动。
4.3 校准在超声波流量计中的应用
在超声波流量计中,测量结果由超声波在流体中顺流传播和逆流传播这两次单程的传播时间测量
组成。根据超声波逆流传播和顺流传播的时差,可以计算出流体的流量。为了避免校准时钟抖动对测
量结果的影响,在测量顺流传播时间和逆流传播时间时必须使用同一个校准值。只有这样,超声波顺
流传播和逆流传播的时差才会不受校准时钟抖动的影响。时钟校准必需在顺流和逆流之间进行而且在
他们没有相减之前。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第42页
MS1022
九、脉冲发生器
1. 概述
触发脉冲发生器可产生频率、相位和脉冲个数都可调的脉冲序列。高速振荡器频率用作基础时
钟。这个频率在内部被倍频,它还可以自由地除以因子 2-15 进行分频.可以产生 1-127 个脉冲序列,如
果最多发送 15 个脉冲的话,那么每个脉冲序列都可通过设置寄存器来调节其相位。通过发送代码
Start_Cycle 来激活触发脉冲发生器。
脉冲发生器提供两个输出端口,FIRE_UP 和 FIRE_DOWN。每个输出在 3.3V 时的驱动能力是 96mA.此
外,每个输出信号可以被反向使信号的振幅加倍。输出管脚能被单独地设置为高阻态。此外,默认的
非活动状态的缓冲可以被设置为 GND 状态。
触发脉冲发生器也可以采用类似声环的方法可以多次产生和传送脉冲序列。采用此特性,接收到
的脉冲序列被送到 MS1022 的 FIRE_IN 输入端口,然后被数字化放大后直接送入输出缓冲区进行时钟同
步输出。在应用模拟部分的时候,不能够使用声环法这个功能。
2. 相关寄存器的配置
脉冲个数:
ANZ_FIRE = 0 关闭脉冲发生器
= 1 1 个脉冲
= 2 2 个脉冲
… …
= 127 127 个脉冲
SEL_START_FIRE = 1 Fire 脉冲直接给到 TDC 的 START 信号
FIREO_DEF
= 0 默认的状态 High_Z (MS1002 兼容)
= 1 默认状态为 GND. 如果应用内部模拟部分,必须要这样设置,应用推荐的外部带有
R,C 的电路。
脉冲相位:
在发 射脉冲不 超过 15 个脉 冲的情况 下,脉 冲的相 位可以在 寄存器 5 进行 定义,0 到 15 位,
PHFIRE。0 表示从低到高,1 表示从高到底。脉冲序列从最低有效位 LSB 开始以最高有效位 MSB 结
束。
例如:
ANZ_FIRE = 7, PHFIRE = 0x0055
脉冲发射的频率:
脉冲发生器的输入信号 fireclk1 是从高速时钟 CLKHS 和所选择的分频因数 DIV_CLKHS 共同得出的。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第43页
MS1022
基准时钟的频率先通过内部进行倍频,然后由 DIV_FIRE 进行分频。
DIV_FIRE = 0 不允许
= 1 除以 2
... ...
= 15 除以 16
设置寄存器 5 的 Bit 27 位(DIS_PHASESHIFT)可激活相位移动功能,这个功能将会加入额外噪声以便
在后面的平均当中更好的进行噪声降低。
DIS_PHASESHIFT = 0 移动功能开启
DIS_PHASESHIFT = 1 移动功能关闭
ffireclk2 =ffireclk1
2
DIV_FIRE+1
fireclk2 用来作为从脉冲发生器中输出缓存当中 FIRE_UP/FIRE_DOWN 信号的参考信号。
如上图所示至少需要两个 Tfireclk2 时钟周期发送一个脉冲.其中一个作为 FIRE_UP/FIRE_DOWN 输出的
高相位另一个作为低相位。
例如:
CLKHS = 4 MHz, DIV_CLKHS = 1, DIV_FIRE = 1
ffireclk2 =ffireclk1
2
=2MHz
DIV_FIRE+1
FIRE_UP / FIRE_DOWN 输出信号的最大频率:
1
fFire1/Fire2 ffireclk2 1MHz
2
输出驱动:
可以在寄存器 5 的 Bits 29-31(CONF_FIRE)设置输出驱动:
Bit 31 = 1 FIRE_BOTH (在 FIRE_DOWN 信号上进行反向)
Bit 30 = 1 FIRE_Up 开启
Bit 29 = 2 FIRE_Down 开启
脉冲群循环(声环法):
在寄存器 5 的 Bits 24-26(REPEAT_FIRE)可以设置脉冲序列的循环次数:
REPEAT_FIRE = 0 不循环
= 1 循环 1 次
... ...
= 7 循环 7 次
MS1022 只重复在 ANZ_FIRE 中设置的脉冲个数。如果在 5μs 内没有接收到脉冲,则 MS1022 探测
脉冲序列中最后一个脉冲。
注意:在应用内部模拟部分的情况下不能使用此功能。一定要注意 7 次循环的总时间不要超过
MS1022 的测量范围。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第44页
MS1022
十、快速初始化
在测量范围 1 中,MS1022 提供了快速初始化的功能。设置寄存器 1 的 15(EN_FAST_INIT)= 1,中断
标志会自动初始化 TDC。因此在读出数据时 TDC 就已经准备好进行下次测量了。这种模式只适用于高
速应用中。这对于只有一个 STOP 信号的非校准测量模式下尤其适合。
十一、噪声单元
如果用户希望通过取平均值的方法来提高测量结果,则不必同步显示出时差的结果。相反,用户
应该提供一些“噪声”以便 TDC 特性曲线的不同量化步骤能够相连。对于常量时差不能进行此操作,
否则将会重复地采样同一个最小有效值。
噪声单元使得常量时差也可使用加权平均值。噪声单元在 START 上加一个随机偏移量。这种情况
适用于 TDC 接收到一位 START 信号然后测量 STOP1 和 STOP2 之间的时差的应用中(比如激光测距
仪)。
通过设置寄存器 5 的 20 位(EN_STARTNOISE )= 1 可以开启噪声单元。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第45页
MS1022
超声波热量表的典型应用
1. 概述
MS1022 非常适合低功耗超声波热量表的设计和应用。由于芯片内部的功能,包括第一波自动检测
功能,高精度温度测量,脉冲发生器,模拟开关,比较器,STOP 屏蔽窗口功能以及时钟校准等,仅需要外部加
一个简单的单片机(无需 AD)就可以进行高精度的测量。
最终的电路可以非常紧凑,尺寸可以做到非常小。下图表显示了一个典型的超声波热量表应用
MS1022 设计的整个电路。
红色方框内的部分为所需要的外部元件.整体元件的个数降到最低:
·在超声波回波路径当中,仅在压电陶瓷换能器连接到一对电阻和电容。
·在温度测量路径当中,仅需要额外的一个温度稳定电阻以及放电电容。
·作为振荡器我们则选择了一个 32.768Khz 石英晶体以及一个 4M 的陶瓷晶振。FIRE_IN 管脚可以用于
32.768KHz 晶振的输出驱动。因此单片机不需要一个低功耗的振荡器。
·对于电源部分则需要应用旁通电容来给 VCC 和 VIO 去藕。分别通过一个小的电阻来进行分离。
总共仅需要 11 个低价的元件来进行所有测量工作。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第46页
MS1022
2. 寄存器的典型配置
寄存器
值
描述
ANZ_FIRE = 10 (参见寄存器 6 的说明)。
DIV_FIRE = 3, 脉冲发射频率 = 4 MHz/4 = 1.0 MHz。
ANZ_PER_CALRES = 0, 4MHz 晶振通过一次 61.035μs 的测量进行校准。
DIV_CLKHS = 0, 4 MHz 陶瓷晶振周期不分频作为内部时钟。
START_CLKHS = 2, 陶瓷振荡器的启振等待时间为 480µs。
ANZ_PORT = 1, 应用所有的 4 个温度测量端口。
0
’hA30B6800
TCYCLE = 1, 512 μs 作为温度测量的循环时间。
ANZ_FAKE = 0, 2 次温度热身测量。
SEL_ECLK_TMP = 1, 应用 4MHz 晶振定义温度测量循环时间。
CALIBRATE = 1, 在测量范围 2 必须要开启。
NO_CAL_AUTO = 0, 在测量范围 2 必须设置为自动校准。
MESSB2 = 1, 开启测量范围 2 测量 > 2 μs 的时差。
NEG_STOP/NEGSTART = 0, 所有通道对于上升沿敏感。
备注:如果使用 Start_TOF 建议将 START_CLKHS=1,测试完成后关闭
HIT2 = 2, HIT1 = 1: 在测量范围 2 计算 1. Stop – Start。
EN_FAST_Init = 0, 关闭 HITIN2 = 0。
HITIN1 = 4, 测量 3 个 stop 脉冲(在测量范围 2 中, start 也算一个脉冲个数,
总共为 4 个脉冲)。
1
’h21444000
CURR32K = 0, 应用默认。
SEL_START_FIRE = 1, 芯片内部由 fire 脉冲直接驱动 start 信号。
SEL_TSTO2 = 0, EN_START 开启。
SEL_TSTO1 = 0, FIRE_IN 管脚做为脉冲输入。
备注:按照此设置,Fire_in 和 EN_Start 这两个管脚不能悬空。
EN_INT = b0101,中断通过时间溢出, ALU 计算结束(参见寄存器 6)。
2
’hA0230000
RFEDGE1 = RFEDGE2 = 0, 仅应用上升沿。
DELVAL1 = 8960, 第一个波的接收时间是在 70 μs 之后。
备注:用户可以根据实际的回波信号设置 DELVAL1 值(即屏蔽时间)。
EN_AUTOCALC = 1, 自动计算所有 3 个脉冲。
EN_FIRST_WAVE = 1, 开启第一波检测机制。
EN_ERR_VAL = 0, 当时间溢出时,向结果寄存器写入 0xffffffff
3
’hD0510300
SEL_TIMO_MB2 = 2 , 在 start 脉冲后 1024 µs 未收到信号则溢出。
DELREL1 = 3, DELREL2 = 4, DELREL3 = 5, 在收到第一波之后测量第 3, 第 4 和
第 5 个 stop 脉冲
备注:用户可以根据第一波之后最强波进行设置接收第几个 stop 脉冲
DIS_PW = 0, 脉冲宽度测量被开启
EDGE_PW = 0, 在上升沿测量脉冲宽度
4
’h20004A00
OFFSRNG2 = 0, 不设置负值的 offset
OFFSRNG1 = 1, OFFS = 10: 总 offset 值为 = 20 mV + 10 mV = 30 mV
备注:offset 值可以根据实际的回波信号强弱进行调整
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第47页
MS1022
寄存器
值
描述
CON_FIRE = 2, 关闭 FIRE_UP, FIRE_DOWN = 开启。如果应用了
Start_TOF_Restart 操作码,那么 FIRE_UP 和 FIRE_DOWN 将会被交替的用
于上游和下游的测量。在这里所描述的寄存器设置开启了一次下游测量循
环 (FIRE_DOWN = 开启)。
5
’h50000000
EN_STARTNOISE = 0, 开启。
DIS_PHASESHIFT = 0, 噪声单元开启来更好降低系统误差。
REPEAT_FIRE = 0, 无需声环法。
PHASE_FIRE = 0, 在发射脉冲当中没有改变其相位。
备注:如果使用 Start_TOF,需要再次设置 CON_FIRE=1 进行第二次测试
EN_ANALOG = 1, 应用内部模拟比较器电路。
NEG_STOP_TEMP = 1, 应用内部施密特触发器作为温度测量 DA_KORR=0, 在
寄存器 4 中设置比较器 offset。
TW2 = 3, 300 μs 延迟来给高通电容进行充电。
EN_INT = b1101, 中断由 time_out, ALU ready (参见寄存器 6)。
START_CLKHS = 2, 陶瓷振荡器的启振时间为 480 μs(参见寄存器 0)。
CYCLE_TEMP = 2, 在两个测量之间的延迟应用系数 1.0 。
CYCLE_TOF = 2, 在两个超声波时差测量之间应用延时系数 1.0
6
’hC0C06000
HZ60 = 0, 50 Hz 为基础。
FIREO_DEF = 1,当应用内部模拟电路时必须开启 QUAD_RES = 1, 应用 17 ps
分辨率。
DOUBLE_RES = 0
TEMP_PORTDIR = 0, 标准的温度测量顺序。
ANZ_FIRE = 10 (同时参见寄存器 0 的说明)。
备注:在使用 Start_TOF_Restart 操作码时 CYCLE_TOF=0,HZ60=0;这时
两次飞行(上游和下游)间隔时间为最短 8.3MS;同样在使用
Start_Temp_Restart 操作码时,CYCLE_TEMP=0,HZ60=0,两次温度测量
间隔时间为最短 8.3MS。
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 ?
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第48页
MS1022
发送 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 信号太弱, 则发出报警信号。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第49页
MS1022
错误报告
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 管脚出来的中断可能会有错误。
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第50页
MS1022
同类产品比较
MS1022
GP22
GP21
GP2
有
有
无
无
可以
可以
不能
不能
±42mV
±42mV
±7mV
无内部比较器
不仅能设置相对
不仅能设 置 相对
STOP脉冲的
START的屏蔽时间,
START 的 屏 蔽 时 间 ,
仅能设置相对START的
仅 能 设 置 相 对
屏蔽方式
还能设置相对第一
还能设置相对第一波
屏蔽时间
START的屏蔽时间
波屏蔽STOP的个数
屏蔽STOP的个数
不能,写一次寄存器
不能,写一次寄存
计算一个结果
器计算一个结果
第一波模式
测量第一波
脉冲宽度
设置比较器的
偏移电压
自动计算
所有测量结果
测量精度
脉冲发生器
相位反向功能
可以
可以
75/37/19ps
90/45/22ps
90/45/22ps
65ps
正常
异常
异常
异常
与说明书所描述的
与说明书所描述的
与说明书所描述的
与说明书所描述的
一样
不一样
不一样
不一样
两个通道相互独
在测量范围1中若不
在测量范围1中若不使
两个STOP通道
立,均可单独使用
使 用 STOP1 通 道 , 只
用 STOP1 通 道 , 只 用
的独立性
进行测量,测量结
用 STOP2通道,则结
STOP2 通 道 , 则 结 果
果不受影响
果异常
异常
两个通道相互独
立,可单独使用进
行测量
进行连续两次
测量之间的等
待时间
(发送操作码
10/15/20/25/ms
20/30/40/50ms
20/30/40/50ms
或
或
或
8.3/12.5/16.6/20.8ms
16.67/25/33.3/41.7ms
16.67/25/33.3/41.7ms
无此功能
0x05或0x06)
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第51页
MS1022
封装外形图
QFN32
LQFP32
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第52页
MS1022
印章与包装规范
1. 印章内容介绍
产品型号:MS1022、MS1022P
生产批号:XXXXXXX
2. 印章规范要求
采用激光打印,整体居中且采用 Arial 字体。
3. 包装规范说明
型号
封装形式
只/卷
卷/盒
只/盒
盒/箱
只/箱
MS1022
QFN32
4000
1
4000
8
32000
MS1022P
LQFP32
250
10
2500
6
15000
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第53页
MS1022
声明
瑞盟保留说明书的更改权,恕不另行通知!客户在下单前应获取最新版本资料,并验证相关信息
是否完整。
在使用瑞盟产品进行系统设计和整机制造时,买方有责任遵守安全标准并采取相应的安全措施,
以避免潜在失败风险可能造成的人身伤害或财产损失!
产品提升永无止境,本公司将竭诚为客户提供更优秀的产品!
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第54页
MS1022
MOS电路操作注意事项
静电在很多地方都会产生,采取下面的预防措施,可以有效防止 MOS 电路由于受
静电放电的影响而引起的损坏:
1、操作人员要通过防静电腕带接地。
2、设备外壳必须接地。
3、装配过程中使用的工具必须接地。
4、必须采用导体包装或抗静电材料包装或运输。
+86-571-89966911
杭州市滨江区伟业路 1 号
http:// www.relmon.com
高新软件园 9 号楼 701 室
杭州瑞盟科技股份有限公司
http://www.relmon.com
版本号:V2.0
2021.12.02
共55页 第55页