PDF

acam-messelectronic gmbH
is now
Member of the
ams Group
The technical content of this acam-messelectronic document is still valid.
Contact information:
Headquarters:
ams AG
Tobelbaderstrasse 30
8141 Unterpremstaetten, Austria
Tel: +43 (0) 3136 500 0
e-Mail: [email protected]
Please visit our website at www.ams.com
Ultrasonic-Flow-Converter
Data Sheet
TDC-GP22
Universal 2-Channel Time-to-Digital Converters
Dedicated to Ultrasonic Heat & Water Meters
March 13 th 2014
Document-No: DB_GP22_en V0.9
Member of the ams Group
UFC
TDC-GP22
Published by acam -messelectronic gmbh
©acam-messelectronic gmbh 2014
Disclaimer / Notes
“Preliminary” product information describes a product which is not in full production so
that full information about the product is not available yet. Therefore, acam -messelectronic
gmbh (“acam”) reserves the right to modify this product without notice. Th e information
provided by this data sheet is believed to be accurate and reliable. However, no
responsibility is assumed by acam for its use, nor for any infringements of patents or
other rights of third parties that may result from its use. The informatio n is subject to
change without notice and is provided “as is” without warranty of any kind (expressed or
implied). All other brand and product names in this document are trademarks or service
marks of their respective owners.
Support / Contact
For a complete listing of Direct Sales, Distributor and Sales Representative contacts, visit
the acam web site at:
http://www.acam.de/sales/distributors/
For technical support you can contact the acam support team in the headquarters in
Germany or the Distributor in your country. The contact details of acam in Germany are:
[email protected]
or by phone
Member of the ams Group
+49-7244-74190.
TDC-GP22
Content
1
2
3
4
5
6
Overview .................................................................................................. 1-3
1.1
Features ............................................................................................. 1-3
1.2
Blockdiagram ...................................................................................... 1-4
1.3
Ordering Numbers ................................................................................ 1-4
Characteristics & Specifications ................................................................... 2-1
2.1
Electrical Characteristics ....................................................................... 2-1
2.2
Converter Specification .......................................................................... 2-4
2.3
Timings .............................................................................................. 2-6
2.4
Pin Description .................................................................................... 2-9
2.5
Package Drawings .............................................................................. 2-11
2.6
Power Supply ..................................................................................... 2-14
Registers & Communication ......................................................................... 3-1
3.1
Configuration registers .......................................................................... 3-1
3.2
Read registers ................................................................................... 3-14
3.3
EEPROM ........................................................................................... 3-18
3.4
SPI-interface ..................................................................................... 3-19
Converter Frontend .................................................................................... 4-1
4.1
TDC - Measurement mode 1 .................................................................. 4-1
4.2
TDC - Measurement mode 2 .................................................................. 4-9
4.3
Analog Input Section ........................................................................... 4-16
4.4
First Wave Mode ............................................................................... 4-17
4.5
Temperature Measurement .................................................................. 4-23
Details and Special Functions ....................................................................... 5-1
5.1
Oscillator ............................................................................................ 5-1
5.2
Fire Pulse Generator ............................................................................. 5-3
5.3
Fast Initialization .................................................................................. 5-7
5.4
Noise Unit .......................................................................................... 5-7
5.5
EMC Measures .................................................................................... 5-8
Applications .............................................................................................. 6-1
6.1
7
Ultrasonic Heat Meter .......................................................................... 6-1
Miscellaneous ........................................................................................... 7-1
7.1
Bug Report ......................................................................................... 7-1
7.2
Last Changes ...................................................................................... 7-2
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
1-1
Ultrasonic-Flow-Converter
1-2
TDC-GP22
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
1
Overview
TDC-GP22 is next generation‘s upgrade for TDC-GP21. It is a 100% pin-to-pin and functional
compatible upgrade of TDC-GP21, with an extended functionality. Especially the new first-wave
detection capability makes the TDC-GP22 perfectly suited for ultrasonic water meters with their
high dynamics. The programmable offset range of the comparator is increased to ± 35 mV and
the offset is automatically set back to zero after the first wave detection. Measuring the relative
pulse width of the first wave gives the user an indication of the strength of the received signal.
This can be used for adopting the system to long-term signal attenuation or for bubble detection.
The multi-hit data processing and data read-out is simplified compared to TDC-GP21.
All in all, the TDC-GP22 is a further improvement and simplification for the design of ultrasonic
heat meters and a necessary step for compact ultrasonic water meters.
1.1
Features
Measurement mode 2
 1 channel with typ. 90 ps resolution
 Double resolution mode with 45 ps, Quad resolution mode with 22 ps resolutio n
 Measurement range 700 ns to 4 ms
 3-fold multihit capability with automatic processing of all 3 data
Analog Input Circuit
 Chopper-stabilized low-offset comparator, programmable, ±35 mV
 First-wave detection: offset set zero automatically after first wave, hit selection
relative to first wave
 First-wave pulse-width measurement for signal monitoring and bubble detection
 Integrated analog switches for input selection
 External circuit is reduced to 2 resistors and 2 capacitors
Temperature Measurement Unit
 2 or 4 sensors, PT500/PT1000 or higher
 Schmitt trigger integrated
 16-Bit eff. with external Schmitt trigger, 17.5-Bit eff. with integrated low noise
Schmitt trigger
 Ultra low current (0.08 µA when measuring every 30 seconds)
Special






Functions
Fire pulse generator, up to 127 pulses
Trigger to rising and/or falling edge
Precise stop enable by windowing
Low-power 32 kHz oscillator (500 nA)
Clock calibration unit
7x32 Bit EEPROM
Measurement mode 1
 2 channels with typ. 90 ps resolution
 channel double resolution with typ. 45 ps
 Range 3.5 ns (0 ns) to 2.5 µs
 20 ns pulse-pair resolution, 4-fold multihit
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
1-3
Ultrasonic-Flow-Converter

General






Up to 500 000 measurements per second in measurement mode 1
4-wire SPI interface
500 kHz continuous data rate max.
I/O voltage 2.5 V to 3.6 V
Core voltage 2.5 V to 3.6 V
Temperature range – 40 °C to +125 °C
QFN 32 Package
1.2
Blockdiagram
1.3
Ordering Numbers
Part#
TDC-GP22
TDC-GP22
Package
QFN32
QFN32
Package Qty; Carrier
Order number
5000/3000; T&R
490; Tray
GP22-EVA-KIT
System
1; Box
This product is RoHS compliant and does not contain any Pb.
1-4
TDC-GP22
MNR 1950
MNR 1949
MNR 1951
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
2
Characteristics & Specifications
2.1
Electrical Characteristics
Absolute Maximum Ratings
Supply voltage
V cc vs. GND
V io vs. GND
V in
Storage temperature (T stg )
ESD rating (HBM), each pin
Junction temperature (T j )
- 0.3 to 4.0
- 0.3 to 4.0
- 0.5 to V cc + 0.5
- 55 to 150
> 2
max.125
V
V
V
°C
kV
°C
Recommended Operating Conditions
Symbol
Parameter
Conditions
Min
V cc
Core supply voltage 1
V io = V cc
V io
I/O supply voltage
t ri
Max
Unit
2.5
3.6
V
2.5
3.6
V
Normal input rising time
200
ns
t fa
Normal input falling time
200
ns
t ri
Schmitt trigger rising time
5
ms
t fa
Schmitt trigger falling time
5
ms
Ta
Ambient temperature
T j must not exceed -40
125°C
125
°C
R th(j-a)
Thermal resistance
junction-ambient
1
Typ
28
K/W
including the oscillator pins XIN, XOUT, Clk32In, Clk32Out
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-1
Ultrasonic-Flow-Converter
TDC-GP22
DC Characteristics (V io = V cc = 3.0 V, T j = -40 to +85°C)
Symbol
Parameter
Conditions
I 32
Current 32 kHz
I cc + I io , only 32 kHz
oscillator running
1.0
µA
I hs
Current 4 MHz oscillator
V cc = V io = 3.6 V
= 3.0 V
off
200
130
< 1
µA
µA
nA
I tmu
Current time measuring
unit
only during active
time measurement
4
mA
I ddq
Quiescent current
all clocks off, @ 85
°C
< 0.1
µA
Io
Operating current
TOF_UP/DOWN, 1/s
Temperature
average, PT1000,
1/30s
1.1
0.15
µA
V oh
High level output voltage
I oh = tbd mA V io =Min.
V ol
Low level output voltage
I ol = tbd mA, V io =Min
V ih
High level input voltage
LVTTL Level, V io =
Max.
V il
Low level input voltage
LVTTL Level, V io =
Min.
V th
High level Schmitt trigger
voltage
V tl
Low level Schmitt trigger
voltage
Vh
Schmitt trigger
hysteresis
2-2
Min
Typ
Max
0.8V io
V
0.2V io
0.7V io
V
V
0.3V io
0.7Vio
V
V
0.3V io
0.28
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
Unit
V
V
TDC-GP22
Terminal Capacitance
Symbol
Terminal
Condition
Rated Value
Min.
measured @ V cc = V io ,
f = 1 MHz,
T a = 25°C
Typ.
Ci
Digital input
Co
Digital output
C io
Bidirectional
9
PT ports
t.b.d.
Analog in
t.b.d.
Unit
Max.
7
pF
Analog Frontend
Symbol
Terminal
Condition
Rated Value
Min.
Unit
Typ.
Max.
Comparator input offset
voltage (chopper stabilized)
< 1
2
R dson(AS)
Switch-on resistance of
analog switches at
STOP1/STOP2 inputs
200
Ohm
R dson(FIRE)
Switch-on resistance of
FIRE_UP, FIRE_DOWN
output buffers
4
Ohm
I fire
Output current FIRE_UP,
FIRE_DOWN output buffers
48
mA
Symmetrical
outputs,
Rdson(HIGH) =
Rdson(LOW)
mV
EEPROM
Symbol
Terminal
Condition
Minimum Value
Unit
Data retention @ 85°C
normal
10
years
with Error
correction
practically endless
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-3
Ultrasonic-Flow-Converter
2.2
TDC-GP22
Converter Specification
Time Measuring Unit (V io = V cc = 3.0 V, T j = 25°C)
Symbol
Terminal
Condition
Rated Value
Min.
LSB
Resolution (BIN-Size)
Measurement mode 1
& 2:
DOUBLE_RES = 0
DOUBLE_RES = 1
Standard deviation
Measurement Mode 2
tm
Measurement range
Max.
ps
90
45
Measurement mode 2:
QUAD_RES = 1
Standard deviation
Measurement Mode 1
Typ.
Unit
ps
22
DOUBLE_RES = 0
Delay = 200ns
Delay = 1µs
DOUBLE_RES = 1
Delay = 200ns
ps
45
72
35
DOUBLE_RES = 0
Delay = 2µs
Delay = 100µs
DOUBLE_RES = 1
Delay = 2µs
Delay = 100µs
QUAD_RES = 1
Delay = 2µs
Delay = 100µs
ps
54
70
50
62
39
62
Measurement mode 1
3.5 ns
2.4 µs
=26224
*LSB
Measurement mode 2
700 ns
4 ms
INL
Integral Non-linearity
< 0.1
LSB
DNL
Differential Nonlinearity
< 0.8
LSB
2-4
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Figure 2-1 Relative Variation of un-calibrated least significant bit with temperature and supply
voltage, reference 3.0V/25°C
1.40
3.6 V
1.30
LSB / (LSB @ 25°C, 3.0 V)
3.0 V
1.20
2.5 V
1.10
1.00
0.90
0.80
-5
-25
15
35
55
75
95
Temperature [°C]
Temperature Measuring Unit
Symbol
1
Terminal
2
Internal Schmitt trigger
external Schmitt trigger
PT500
PT1000
PT500
PT1000
Resolution RMS
17.5
17.5
16.0
16.0
Bit
SNR
105
105
96
96
dB
Absolute Gain 3
0.9912
0.9931
0.9960
0.9979
3.6 V
0.9923
0.9940
0.9962
0.9980
3.0 V
0.9912
0.9931
0.9960
0.9979
2.5 V
0.9895
0.9915
0.9956
0.9979
0,25
0.23
0.06
0.04
Absolute Gain vs.
V io 3
Gain-Drift vs. V io
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
Unit
%/V
2-5
Ultrasonic-Flow-Converter
TDC-GP22
max. Gain Error
(@ dӨ = 100 K)
0,05%
0,05%
0,02%
< 0.01%
Gain-Drift vs. Temp
0.022
0.017
0.012
0.0082
Gain-Drift vs. Vio
0,08
%/10
K
%/V
Initial Zero Offset
< 20
<10
< 20
< 10
mK
Offset Drift vs. Temp
< 0.05
< 0.03
< 0,012
< 0.0082
mK/ °C
PSRR
>100
dB
1
All values measured at Vio = Vcc = 3.0 V, Cload = 100 nF for PT1000 and 200 nF for
PT500 (C0G-type)
2
measured with external 74AHC14 Schmitt trigger
3
compared to an ideal gain of 1
2.3
Timings
At Vcc = 3.0 V ± 0.3 V, ambient temperature -40 °C to +85 °C unless otherwise specified
Oscillator
Symbol
Parameter
Min.
Clk32
32 kHz reference oscillator
32,768
kHz
t 32st
32 kHz oscillator start-up time after power-up
250
ms
ClkHS
High-speed reference oscillator
t oszst
Oscillator start-up time with ceramic resonator
100
µs
t oszst
Oscillator start-up time with crystal oscillator
3
ms
2
Typ.
4
Max.
8
Unit
MHz
Note:
It is strongly recommended to use a ceramic oscillator. Exactly because a quartz needs
much longer to settle than a ceramic oscillator. This costs a lot current, but using a
quartz oscillator has no advantage.
2-6
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Serial Interface
Symbol
Parameter
Max. @ V io =
Unit
2.5 V
3.3 V
20
f clk
Serial clock frequency
15
Symbol
Parameter
Min. @ V io =
MHz
Unit
2.5 V
3.3 V
t pwh
Serial clock, pulse width high
30
25
ns
t pwl
Serial clock, pulse width low
30
25
ns
t sussn
SSN enable to valid latch clock
40
10
ns
t pwssn
SSN pulse width between write cycles
50
40
ns
t hssn
SSN hold time after SCLK falling
40
25
ns
t sud
Data set-up time prior to SCLK falling
5
5
ns
t hd
Data hold time before SCLK falling
5
5
ns
Symbol
Parameter
Max. @ V io =
t vd
Data valid after SCLK rising
Unit
2.5 V
3.3 V
20
16
ns
Serial Interface (SPI compatible, Clock Phase Bit =1, Clock Polarity Bit =0):
tsussn
tpwssn
tpwl
tpwh
SSN
thssn
SCK
SI
MSB
tsud
LSB
thd
Figure 2-2 SPI Write
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-7
Ultrasonic-Flow-Converter
tsussn
TDC-GP22
tpwl
tpwssn
tpwh
SSN
SCK
SI
MSB
1
6
tsud
LSB
thd
SO
MSB
1
MSB-1
LSB
tvd
OPCODE
DATA
Figure 2-3 SPI Read
Disable Timings
STOP
no pass
pass
STOP
no pass
pass
EN_Stop
EN_Stop
tS-EN
tSH-EN
Figure 2-4 Disable Timings
Spec
Description
Measurement mode 1
Measurement mode 2
t S-EN
Enable Setup Time
0 ns
0 ns
t SH-EN
Enable Hold Time
1.5 ns
3.0 ns
Reset Timings
Figure 2-5 Reset Timings
Spec
Description
Typ. Min
t ph
Reset pulse width
50 ns
t rfs
Time after rising edge of reset pulse before
further communication
200 ns
Time after rising edge of reset pulse before
analog section is ready
500 µs
2-8
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
25 EN_STOP2
EN_STOP1
STOP2
GND
VCC
STOP1
START
Pin Description
32 EN_START
2.4
XIN 1
24
7
GP22
1105A
XOUT
VIO
GND
FIRE_UP
FIRE_DOWN
FIRE_IN
8
PT2
VIO
GND
PT3
PT4
LOADT
SENSET
CLK32IN 16
CLK32OUT
VCC
RSTN
SO
SI
SCK
17
SSN 9
INTN
PT1
Figure 2-6 TDC-GP22 Pinout
No.
Name
Description
Buffer type
1
XIN
Oscillator driver in
2
XOUT
Oscillator driver out
3
VIO
I/O – supply voltage
4
GND
Ground
5
FIRE_UP
Fire pulse generator output 1
48 mA
6
FIRE_DOW
N
Fire pulse generator output 2
48 mA
7
FIRE_IN
Diagnostics output
8
INTN
Interrupt flag
9
SSN
Slave select
10
SCK
Clock serial interface
11
SI
Data input serial interface
Value
If not
used
GND
GND
4 mA
LOW active
LOW active
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-9
Ultrasonic-Flow-Converter
TDC-GP22
No.
Name
Description
Buffer type
Value
12
SO
Data output serial interface
4 mA tristate
13
RSTN
Reset input
14
VCC
Core supply voltage
15
CLK32OUT
Output 32 kHz clock generator
n. c.
16
CLK32IN
Input 32 kHz clock generator
GND
17
SENSET
Sense input temperature
measurement
Schmitt
trigger
GND
18
LOADT
Load output temperature
measurement
24 mA
n.c.
19
PT4*
Port 4 temperature
measurement
> 96 mA open
drain
20
PT3*
Port 3 temperature
measurement
> 96 mA open
drain
21
GND
Ground
22
VIO
I/O – supply voltage
23
PT2*
Port 2 temperature
measurement
> 96 mA open
drain
24
PT1*
Port 1 temperature
measurement
> 96 mA open
drain
25
EN_STOP2
Enable pin stop input 2
HIGH
active
VIO
26
EN_STOP1
Enable pin stop input 1
HIGH
active
VIO
27
STOP2
Stop input 2
28
GND
Ground
29
VCC
Core supply voltage
30
STOP1
Stop input 1
31
START
Start input
32
EN_START
Enable pin start input
LOW active
GND
GND
HIGH
active
* R DSON temperature ports: typ. 1.8 Ω @ 3.0 V
2-10
If not
used
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
VIO
TDC-GP22
2.5
Package Drawings
Figure 2-7 QFN-32 package outline, 5 x 5 x 0.9 mm³, 0.5 mm lead pitch
Caution: Center pad, 3.70 * 3.70 mm², is internally connected to GND. No wires other
than GND are allowed underneath. It is not necessary to connect the center pad to GND.
Suitable socket: Plastronics 32QN50S15050D
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-11
Ultrasonic-Flow-Converter
TDC-GP22
Landing Pattern:
Figure 2-8
Thermal resistance: Roughly 28 K/W (value just for reference).
Environmental: The package is RoHS compliant and does not contain any Pb.
Moisture Sensitive Level (MSL)
Based on JEDEC 020 Moisture Sensitivity Level definition the TDC -GP22 is classified as
MSL 1.
Soldering Temperature Profile
The temperature profile for infrared reflow furnace (in which the temperature is the resin’s
surface temperature) should be maintained within the range described below.
2-12
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Figure 2-9 Soldering profile
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-13
Ultrasonic-Flow-Converter
TDC-GP22
Maximum temperature
The maximum temperature requirement for the resin surface, given 260ºC as the peak
temperature of the package body’s surface, is that the resin surface temperature must
not exceed 250ºC for more than 10 seconds. This temperature should be kept as low as
possible to reduce the load caused by thermal stress on the package, which is why
soldering for short periods only is recommended. In addition to using a suitable
temperature profile, we also recommend that you check carefully to confirm good
soldering results.
Date Code: YYWWA: YY = Year, WW = week, A = Assembly site code
2.6
Power Supply
Supply voltage
TDC-GP22 is a high end mixed analog/digital device. To reach full performance of the chip
a good power supply is mandatory. It should be high capacitive and of low inductance.
The TDC-GP22 provides two pairs of power supply terminals:
Vio
- I/O supply voltage
Vcc
- Core supply voltage
Figure 2-10
Both voltages should be applied with low series resistance from the same source. On the
chip there are connected, but a separate external connection is recommended for good
measurement quality. All ground pins should be connected to a ground plane on the
2-14
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
printed circuit board. Vio and Vcc should be provided by a battery or fixed linear vol tage
regulator. Do not use switched regulators to avoid disturb ances caused by the I/O supply.
Vio and Vcc are connected internally on the chip. The resistance between both is in the
range of several Ohms. However, Vio is connected to the pads with significantly lower
impedance and therefore can provide this better than Vcc.
The measurement quality of a time-to-digital converter depends on a good power supply.
The chip sees mainly pulsed current and therefore a sufficient bypassing is mandatory:
Vcc
47 to 100 µF
(minimum 22 µF)
Vio
100 µF
(minimum 22 µF)
The supply voltage should be provided through analog regulators. We strongly recommend
not to use switch mode power supplies.
Current consumption
The current consumption is the sum from different parties (all data for Vio = Vcc = 3.0V):
I ddq
< 5 nA [email protected],
Quiescent current, no 32 kHz oscillator running
25°C
I 32
typ. 1.0 µA
Standby current with active 32 kHz oscillator (GP22 waiting for
command).
I hs
typ. 130 µA/s
Current into the high speed oscillator at 3.0 V Vio.
* (active runtime)
Example: In ultrasonic flow-meters the high-speed oscillator is on for
about 2ms only.
The average current consumption is 130 µA/s * 2 ms = 0.26 µA
I tmu
typ. 4 mA/s
Current into the time measuring unit, In measurement mode 1
* (active measuring
The time measuring unit is active for the start-stop time interval plus
time)
the calibration time interval of 2 periods of the refe rence clock per
measurement.
In measurement mode 2 the time measuring unit is on for average 4
periods of the reference clock per measurement, two for the time
measurement and two for calibration.
Example: With 10 measurements per second in measurement mode
2 and a 4 MHz reference clock the time measuring unit is active for
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
2-15
Ultrasonic-Flow-Converter
TDC-GP22
only about 10 µs.
The average current is 4 mA/s * 10 µs = 0.040 µA.
IT
typ. 2.5 µAs
The current for a full temperature measurement is typ.2.5µAs.
* measure rate
In heat-meters the temperature is measured typically once every 30
seconds. The average current is about 0.085 µA
I ana
typ. 0.8 mA
Current consumption of the integrated analog part of TDC-GP22
during a Time-of-flight (ToF) measurement. The analog part is active
for a duration of 250 µs + ToF.
I total
2.3 µA
In a typical ultrasonic heat meter application, the flow is measured
twice per second. The temperature is measured every 30 seconds.
Typical current consumption of the complete flow and temperature
measuring unit, including the analog part, the transducers and PT
sensors.
2-16
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
3
Registers & Communication
3.1
Configuration registers
The TDC-GP22 has 7 configuration registers with 32 bit. The upper 24 bit are used for
configuration and are write only. They are used to setup the TDC -GP22 operating mode.
The lowest 8 bit can be used e.g. as an ID and can be read back.
For communication test please write to register 1 and read back the highest 8 bit from
address 5.
Note:
The write registers of TDC-GP22 are fully upwards compatible with TDC-GP21. In addition,
the formerly unused bits 30, 31 in register 3 activate new functionality. Especially with bit
30 the First Wave Mode is switched on and the parameter bits DELVAL2 and DELVAL3 in
registers 3 and 4 get a second meaning.
For proper work of TDC-GP22, a power-up reset via pin or SPI command is necessary after
the power-up of the circuit.
3.1.1
Alphanumeric listing of configuration parameters
Table 3-1: Configuration Parameters
Parameter
Register
Bits
Default
value
ANZ_FAKE
0
15
0
0
6
28-31
8-10
2
ANZ_PER_CALRES
0
22,23
0
ANZ_PORT
0
17
1
CALIBRATE
0
13
1
CON_FIRE
5
28-31
0
CURR32K
1
15
0
CYCLE_TEMP
6
18,19
0
CYCLE_TOF
6
16,17
0
DA_KORR
6
25-28
0
DELREL1
3
8-13
0
ANZ_FIRE
[3:0]
[6:4]
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-1
Ultrasonic-Flow-Converter
TDC-GP22
Parameter
Register
Bits
Default
value
DELREL2
3
14-19
0
DELREL3
3
20-25
0
DELVAL1
2
8-23
0
DELVAL2
3
8-23
0
DELVAL3
4
8-23
0
DIS_PHASESHIFT
5
27
0
DIS_PW
4
16
0
DIV_CLKHS
0
20,21
0
DIV_FIRE
0
24-27
2
DOUBLE_RES
6
12
0
EDGE_FW
4
15
0
EN_ANALOG
6
31
0
EN_AUTOCALC_MB2
3
31
0
EN_ERR_VAL
3
29
0
EN_FAST_INIT
1
23
0
EN_FIRST_WAVE
3
30
0
EN_INT
2
6
29-31
21
1
EN_STARTNOISE
5
28
0
FIREO_DEF
6
14
0
HIT1
1
24-27
5
HIT2
1
28-31
5
HITIN1
1
16-18
0
HITIN2
1
19-21
0
HZ60
6
15
0
ID0
0
0-7
0
ID1
1
0-7
0
ID2
2
0-7
0
ID3
3
0-7
0
ID4
4
0-7
0
ID5
5
0-7
0
3-2
[2:0]
[3]
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Parameter
Register
Bits
Default
value
ID6
6
0-7
0
MESSB2
0
11
1
NEG_START
0
8
0
NEG_STOP_TEMP
6
30
0
NEG_STOP1
0
9
0
NEG_STOP2
0
10
0
NO_CAL_AUTO
0
12
0
OFFS
4
8-12
0
OFFSRNG1
4
13
0
OFFSRNG2
4
14
0
PHFIRE
5
8-23
0
QUAD_RES
6
13
0
REPEAT_FIRE
5
24-26
0
RFEDGE1
2
27
0
RFEDGE2
2
28
0
SEL_ECLK_TMP
0
14
1
SEL_START_FIRE
1
14
0
SEL_TIMO_MB2
3
27,28
3
SEL_TSTO1
1
8-10
0
SEL_TSTO2
1
11-13
0
0
6
18,19
20
1
TCYCLE
0
16
0
TEMP_PORTDIR
6
11
0
TW2
6
22,23
0
START_CLKHS
[1:0]
[2]
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-3
Ultrasonic-Flow-Converter
3.1.2
TDC-GP22
List of configuration registers
15
Bit number 
14
13
Parameter 
12
11
10
9
8
7
param1
6
5
4
3
2
1
0
1
0
1
0
k.d.
Default value 
1
1
0
0
1
0
19
18
17
16
15
14
k.d. = keep default values
Register 0 (address 0):
31
30
29
28
27
ANZ_FIRE[3:0]
0
0
1
0
26
25
24
23
22
21
20
13
12
11
10
8
DIV_FIRE
0
0
1
7-0
ID0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
Parameter
Description
Settings
ANZ_FIRE[3:0]
Sets number of pulses generated by fire
pulse generator. Additional 3 bits are set in
register 6.
For values ANZ_FIRE > 15 the phase setting
(PHFIRE) can not be used.
0 = off
1 = 1 pulse
2 = 2 pulses
…
127 = 127 pulses
DIV_FIRE
Sets predivider for internal clock signal of fire
pulse generator
0 = not permitted
1 = divided by 2
2 = divided by 3
3.= divided by 4
…
15 = divided by 16
ANZ_PER_CALRES
Sets number of periods used for calibrating
the ceramic resonator
0
1
2
3
=
=
=
=
2 periods = 61.035 µs
4 periods = 122.07 µs
8 periods = 244.14 µs
16 periods = 488.281 µs
DIV_CLKHS
Sets predivider for CLKHS
0
1
2
3
=
=
=
=
divided
divided
divided
divided
0
1
2
3
4
5
= Oscillator off
= Oscillator continuously on
= settling time 480 µs
= settling time 1.46 ms
= settling time 2.44 ms
to 7 = settling time 5.14 ms
START_CLKHS[1:0] Defines the time interval the chip waits after
switching on the oscillator before making a
measurement.
Note:
The highest bit to adjust START_CLKS is
located in register 6, bit 20. This has to be
set to 1 for settling times of 2.44 ms and
3-4
9
by
by
by
by
1
2
4
4 (also)
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
0
0
0
TDC-GP22
5.14 ms.
ANZ_PORT
Sets number of ports used for temperature
measurement
0 = 2 temperature ports (PT1 and PT2)
1 = 4 temperature ports
TCYCLE
Sets cycle time for temperature
measurement
0 = 128 µs cycle time @ 4 MHz
1 = 512 µs cycle time @ 4 MHz
(recommended)
ANZ_FAKE
Number of dummy cycles at the beginning of
a temperature measurement
0 = 2 Fake measurements
1 = 7 Fake measurements
SEL_ECLK_TMP
Select reference signal for internal cycle
clock for temperature measurement
0 = use 32.768 kHz as cycle clock
1 = use 128 * CLKHS as period for cycle
clock (32 µs with 4 MHz high speed clock
signal )
CALIBRATE
Enables/disables calibration calculation in the 0 = calculation of calibrated results off
ALU
(allowed only in measurement mode 1)
1 = calculation of calibrated results on
(recommended)
NO_CAL_AUTO
Enables/disables auto-calibration run in the
TDC
0 = auto-calibration after measurement
1 = auto-calibration disabled
MESSB2
Switch to measurement mode 2
0 = measurement mode 1
1 = measurement mode 2
NEG_STOP2
Negation stop 2 input
0 = non-inverted input signal – rising edge
1 = inverted input signal – falling edge
NEG_STOP1
Negation stop 1 input
0 = non-inverted input signal – rising edge
1 = inverted input signal – falling edge
NEG_START
Negation start input
0 = non-inverted input signal – rising edge
1 = inverted input signal – falling edge
ID0
Free bits, e.g. to be used as identification or
version number
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-5
Ultrasonic-Flow-Converter
TDC-GP22
Register 1 (address 1):
31
30
29
28
27
HIT2
0
1
26
25
24
23
22
21
HIT1
0
1
0
1
0
20
19
18
HITIN2
1
0
1
0
0
17
16
15
14
HITIN1
0
0
0
0
0
0
13
12
8
7-0
SEL_TSTO2
SEL_TSTO1
ID1
0
0
0
0
11
0
10
9
0
0
Parameter
Description
Settings
HIT2
Defines operator for ALU data postprocessing
Measurement mode 1: HIT1-HIT2
Measurement mode 2: HIT2-HIT1
Measurement
mode 1:
0 = Start
1 = 1. Stop Ch1
2 = 2. Stop Ch1
3 = 3. Stop Ch1
4 = 4. Stop Ch1
5 = no action
6 = Cal1 Ch1
7 = Cal2 Ch1
9 = 1. Stop Ch2
A = 2. Stop Ch2
B = 3. Stop Ch2
C = 4. Stop Ch2
Measurement
mode 2:
2 = 1. Stop Ch1
3 = 2. Stop Ch1
4 = 3. Stop Ch1
HIT1
Defines operator for ALU data postprocessing
Measurement mode 1: HIT1-HIT2
Measurement mode 2: HIT2-HIT1
Measurement
mode 1:
0 = Start
1 = 1. Stop Ch1
2 = 2. Stop Ch1
3 = 3. Stop Ch1
4 = 4. Stop Ch1
5 = no action
6 = Cal1 Ch1
7 = Cal2 Ch1
9 = 1. Stop Ch2
A = 2. Stop Ch2
B = 3. Stop Ch2
C = 4. Stop Ch2
Measurement
mode 2:
1 = Start
EN_FAST_INIT
Enables fast init operation
0 = Fast init mode disabled
1 = Fast init mode enabled
HITIN2
Number of expected hits on channel 2
0
1
2
3
4
5
HITIN1
Number of expected hits on channel 1
0 = stop channel 1 disabled
1 = 1 hit
3-6
= stop channel 2 disabled
= 1 hit
= 2 hits
= 3 hits
= 4 hits
to 7 = not permitted
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
2
3
4
5
= 2 hits
= 3 hits
= 4 hits
to 7 = not permitted
CURR32K
Low current option for 32 kHz oscillator.
Basically there is no need to use high current
option (1). Low current (0) also guarantees
oscillation.
0 = low current (recommended)
1 = high current (GP2 compatibility)
SEL_START_FIRE
Fire pulse is used as TDC start. The START
input is disabled.
0 = TDC-GP2 behavior
1 = Use FIRE as Start
SEL_TSTO2
Defines functionality of EN_START pin.
Besides the GP2 functionality this pin can act
as output for various signals. If SEL_TSTO2 >
0 then EN_START = HIGH internally.
0 = GP2 functionality, High level enables
the START pin.
1 = START_TDC output
2 = STOP1 TDC output
3 = STOP2 TDC output
4 = Stop Temperature measurement
output
5 = “0” indicates TOF_DOWN being active,
“1” indicates TOF_UP being active
6 = n.c.
7 = 4 kHz (32 kHz/8) clock
SEL_TSTO1
Defines functionality of FIRE_IN pin. Besides
the GP2 functionality this pin can act as
output for various signals. If SEL_TSTO1 >1
the FIRE_IN is connected to GND internally.
0 = GP2 functionality, FIRE_IN input for
sing-around
1 = START_TDC output
2 = STOP1 TDC output
3 = STOP2 TDC output
4 = Start Temperature measurement
output
5 = EN_STOP by DELVAL output
6 = Comparator out
7 = 32 kHz clock
ID1
Free bits, e.g. to be used as identification or
version number
Register 2 (address 2):
31
30
29
28
27
26
25
24
23
22
21
20
19
EN_INT[2:0]
0
0
1
18
17
16
15
14
13
12
11
10
9
8
DELVAL1
0
0
0
0
0
0
0
0
0
0
0
0
0
ID2
0
0
0
0
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
7-0
0
0
0
3-7
0
0
Ultrasonic-Flow-Converter
TDC-GP22
Parameter
Description
Settings
EN_INT[2:0]
Activates interrupt sources wired by OR.
Additional bit in register 6 (see there, too)
Bit 31 = Timeout interrupt enable
Bit 30 = End Hits interrupt enable
Bit 29 = ALU interrupt enable
Reg6, BIT21 = End of EEPROM action
RFEDGE2
Edge sensitivity channel 2
0 = rising or falling edge
1 = rising and falling edge
RFEDGE1
Edge sensitivity channel 1
0 = rising or falling edge
1 = rising and falling edge
DELVAL1
Delay value for internal stop enable unit, hit 1
channel 1. Fixed point number with 14
integer and 5 fractional digits in multiples of
Tref
DELVAL1 = 0 to 16383.96875
ID2
Mandatory: If EN_ANALOG = 0 then set
DELVAL1 = 0
Free bits, e.g. to be used as identification or
version number
Register 3 (address 3) with EN_FIRST_WAVE = 0:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
DELVAL2
0
3-8
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
ID3
0
0
0
0
0
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
7-0
0
0
0
0
TDC-GP22
Register 3 (address 3) with EN_FIRST_WAVE = 1:
31
30
29
28
27
26
25
24
23
22
21
20
DELREL3
19
18
17
16
15
14
13
12
DELREL2
11
10
9
8
DELREL1
ID3
Parameter
Description
Settings
EN_AUTOCALC_MB2
Only in measurement mode 2: automatic
calculation of all enabled hits. The sum of
the results is written to read register 4.
0 = disabled
1 = enabled
EN_ERR_VAL
Timeout forces ALU to write ‘hFFFFFFFF
into the output register
0 = disabled
1 = enabled
EN_FIRST_WAVE
Enables the automatic first hit detection. In
case this bit is set registers 3 and 4 get a
new meaning
0 = disabled
1 = enabled
SEL_TIMO_MB2
Select predivider for timeout in
measurement mode 2
0 = 64 µs
1 = 256 µs
2 = 1024 µs
3 = 4096 µs recommended
@ 4 MHz ClkHS
DELREL3
Sets the number of the periods after the
first hit for the 3rd stop
5 to 63
DELREL3 > DELREL2
DELREL2
Sets the number of the periods after the
first hit for the 2nd stop
4 to 63
DELREL2 > DELREL1
DELREL1
Sets the number of the periods after the
first hit for the 1st stop
3 to 63
DELVAL2
Delay value for internal stop enable unit, hit DELVAL2 = 0 to 16383.96875
2 channel 1. Fixed point number with 14
integer and 5 fractional digits in multiples
Mandatory: If EN_ANALOG = 0 then set
of Tref
DELVAL2 = 0
ID3
Free bits, e.g. to be used as identification
or version number
Register 4 (address 4) with EN_FIRST_WAVE = 0:
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
7-0
3-9
Ultrasonic-Flow-Converter
31
30
29
28
27
26
25
24
23
22
TDC-GP22
21
20
19
k.d.
0
0
1
18
17
16
15
14
13
12
11
10
9
8
DELVAL3
0
0
0
0
0
0
0
0
7-0
ID4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
19
18
17
16
15
14
13
12
11
10
9
8
7-0
Register 4 (address 4) with EN_FIRST_WAVE = 1:
31
30
29
28
27
26
25
24
23
22
21
k.d.
OFFS
Description
Settings
Delay value for internal stop enable unit, hit 3
channel 1. Fixed point number with 14
integer and 5 fractional digits in multiples of
Tref
DELVAL3 = 0 to 16383.96875
DIS_PW
Disable pulse width measurement
0 = Enable pulse width measurement
1 = Disable pulse width measurement
EDGE_FW
Sets the edge sensitivity for the first wave.
With a negative offset it is reasonable to
trigger on the falling edge of the first wave.
0 = rising edge
1 = falling edge
OFFSRNG2
Additional offset shift by + 20 mV
0 = off
1 = active
OFFSRNG1
Additional offset shift by - 20 mV
0 = off
1 = active
OFFS
2‘s complement number setting the offset
shift in 1 mV steps
0 = 0 mV
1 = +1 mV
...
15 = +15 mV
Parameter
DELVAL3
Mandatory: If EN_ANALOG = 0 then set
DELVAL3 = 0
16
17
...
30
31
ID4
= -16 mV
= -15 mV
= -2 mV
= -1 mV
Free bits, e.g. to be used as identification or
version number
Note: When switching to First Wave Mode make sure that the highest 5 bits have the
default values. Especially bit 29 has to be 1.
3-10
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
ID4
TDC-GP22
Register 5 (address 5):
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
PHFIRE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
ID5
0
0
0
0
0
0
0
Parameter
Description
Settings
CONF_FIRE
Output configuration for pulse generator
3’b 011 is not allowed
Bit 31 = 1: FIRE_BOTH (inverts FIRE_DOWN)
Bit 30 = 1: enable output FIRE_UP
Bit 29 = 1: enable output FIRE_DOWN
EN_STARTNOISE
Enables additional noise for start channel
1 = switch on noise unit
DIS_PHASESHIFT
Phase noise unit. Improves statistics and
should be enabled if start pulse
generation is derived from the GP2
reference clock (e.g. with fire pulse
generator).
1 = disables phase noise
0 = enables phase noise unit
REPEAT_FIRE
Number of pulse sequence repetition for
"quasi-sing-around"
0=
1=
2=
...
7=
PHFIRE
Enables phase reversing for each pulse of
a sequence of up to 15 possible pulses.
PHFIRE[0..14] are available.
ID5
Free bits, e.g. to be used as identification
or version number
no signal repetition
1 signal repetition
2 signal repetition
7 signal repetition
0 = no inversion, phase jump HIGH-LOW
1 = inversion, phase jump LOW-HIGH
Bit 23 = 0 (mandatory)
Register 6 (address 6):
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
7-0
3-11
0
Ultrasonic-Flow-Converter
31
30
29
28
27
26
25
24
23
22
TDC-GP22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7-0
ID6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Parameter
Description
Settings
EN_ANALOG
Activates the analog part for the ultrasonic
flow measurement is. If active, this section is
powered only for the duration of the
measurement to save current. STOP1 and
STOP2 are analog inputs now and
automatically selected by the internal
multiplexer.
0 = STOP1 and STOP2 are digital inputs
(TDC-GP2 compatibility)
1 = The analog section is used.
Mandatory:
If EN_ANALOG = 0 then set DELVAL1 =
DELVAL2 = DELVAL3 = 0
NEG_STOP_TEMP Inverts the SenseT input signal. This is
mandatory when the internal comparator is
used instead of the external one like in TDCGP2
0 = external 74HC14 is used (TDC-GP2
compatibility)
1 = internal Schmitt trigger is used
DA_KORR
7=
6=
...
1=
0=
Sets comparator offset from -8 mV to +7
mV. 2‘s complement
7 mV
6 mV
15 = - 1 mV
14 = - 2 mV
1 mV
0 mV
9 = - 7 mV
8 = - 8 mV
TW2
Timer to charge up the capacitor of the
recommend RC network when the internal
analog part is used.
Charge time:
0 = 90 µs
1 = 120 µs
2 = 150 µs
3 = 300 µs, recommended setting
EN_INT[3]
Additional interrupt source. See also register
2 for the lower 3 bits of EN_INT. The various
sources are wired by an OR. An EEPROM
action, e.g. EEPROM_COMPARE, is managed
by the TDC-GP21 and especially the EEPROM
write may last up to 130ms. Indicating the
end will be helpful.
1 = end of EEPROM action
START_CLKHS[2]
Highest bit to set the settling time for the
high speed oscillator. The lower bits are set
in register 0, bit 18 and 19.
0
1
2
3
4
5
3-12
= off
= continously on
= 480 µs delay
= 1.46 ms
= 2.44 ms
to 7 = 5.14 ms
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
0
TDC-GP22
CYCLE_TEMP
Selects timer for triggering the second
temperature measurement in multiples of
50/60Hz
0
1
2
3
=
=
=
=
1
1.5
2
2.5
CYCLE_TOF
Selects timer for triggering the second ToF
measurement in multiples of 50/60Hz
0
1
2
3
=
=
=
=
1
1.5
2
2.5
HZ60
TDC-GP21 can make complete up and down
flow measurement and also two temperature
measurements in series. The time interval
between 2 measurements is based on 50 or
60 Hz.
0 = 50 Hz base, 20 ms
1 = 60 Hz base, 16.67ms
FIREO_DEF
Specifies the default level of the inactive fire
buffer. Example: if FIRE_UP is active then the
FIRE_DOWN buffer is connected to the
default level. Setting 1 is mandatory when
using the integrated analog section.
0 = High-Z (as in GP2)
1 = LOW
QUAD_RES
Option to improve the resolution by factor 4
from 90 ps to 22 ps. Can be used only in
measurement mode 2.
0 = off (TDC-GP2 mode)
1 = on
DOUBLE_RES
Doubles the resolution from 90 ps to 45 ps.
In measurement mode 1 this option limits the
number of stop inputs to one (Stop1)
0 = off (TDC-GP2 mode)
1 = on
TEMP_PORTDIR
Ports for temperature measurement are
measured in the opposite order.
0 = PT1 > PT2 > PT3 > PT4
1 = PT4 > PT3 > PT2 > PT1
ANZ_FIRE[6:4]
Highest 3 bits of the number of fire pulses.
See also register 0. If ANZ_FIRE > 15 then
PHFIRE is no longer active.
0 = off
1 = 1 pulse
2 = 2 pulses
…
127 = 127 pulses
ID6
Free bits, e.g. to be used as identification or
version number
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-13
Ultrasonic-Flow-Converter
3.2
TDC-GP22
Read registers
The result and status registers can be read by means of opcode ’hB x. The opcode is
followed by 4, 2 or 1 bytes, depending on the address.
The ID register bits in the configuration registers can be read back by means of opcode
’hB7. This opcode is followed by 7 bytes in the order ID0, ID1 ... ID6, each byte with the
MSB first.
Table 3-2: Read Registers
Symbol
Bits
Description
0
RES_0
32
Measurement result 1, fixed-point number with 16 integer and 16 fractional
digits
2 15
2 0 , 2 -1
2 -16
1
RES_1
32
Measurement result 2, fixed-point number with 16 integer and 16 fractional
digits
2
RES_2
32
Measurement result 3, fixed-point number with 16 integer and 16 fractional
digits
3
RES_3
32
Measurement result 4, fixed-point number with 16 integer and 16 fractional
digits
4
STAT
16
15
13
12
11
10
9
8 - 6
5 - 3
2 - 0
Error
short
Error
open
Timeout
Precounter
Timeout
TDC
# of
hits
Ch 2
# of
hits
Ch 1
ALU_
OP_
PTR
EEPROM_Error
14
EEPROM_DED
EEPROM_eq_CREG
ADR
5
REG_1
8
Content of highest 8 bits of write register 1, to be used for testing the
communication
8
PW1ST
8
Pulse width 1st wave compared to measured hits, fixed point with 1 bit integer
3.2.1
Result Registers
The data structure and the occupancy of the result registers depend on the operation
mode and whether calibrated or non-calibrated data are stored. Several cases must be
distinguished:
Only in measurement mode 1 negative results are possible.
In measurement mode 2 only positive results are possible, given as unsigned numbers.
3-14
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
A non-calibrated measure is possible only in measurement mode 1.
In measurement mode 1 with calibrated data (ALU) the time intervals that have to be
measured can not exceed twice the period of the calibration clock. When measuring
bigger time intervals an ALU - overflow will occur and ’hFFFFFFFF is written in the
appropriate result register.
a. Measurement mode 1 with calibrated data (CALIBRATE = 1)
The results are given in multiples of the internal reference clock (= external reference
clock divided by 1, 2 or 4 (DIV_CLKHS)). Calibrated data are 32 bit fixed point numbers
with 16 integer bits and 16 fractional bits. Any calibrated result covers therefore 1 result
register. The serial output begins with the highest bit (2 15 ) and ends with the lowest one
(2 -16 ). The numbers are available in complements of 2.
Time = RES_X * T ref * 2
Time < 2 * T ref * 2
DIV_CLKHS
= RES_X * T ref * N , with N = 1, 2 or 4
DIV_CLKHS
b. Measurement mode 1 without calibration (CALIBRATE = 0)
Non-calibrated data are of the type ‘Signed Integer’ and are stored as a 16 bit value in the
high word of the result registers. The bits of the low word are set to zero. The result is
represented as number of LSB and is available in complements of 2.
Time = RES_X * LSB ~ RES_X * 90 ps
c. Measurement mode 2
In measurement mode 2 the TDC-GP22 only supports calibrated measurement. The
results are given in multiples of the internal reference clock (= external reference clock
divided by 1, 2 or 4 (DIV_CLKHS)). Calibrated data are 32 bit fixed point numbers with 16
integer bits and 16 fractional bits. Any calibrated result covers therefore 1 result register.
The serial output begins with the highest bit (2 15 ) and ends with the lowest one (2 -16 ). The
numbers are available in complements of 2.
Time = RES_X * T ref * 2
DIV_CLKHS
= RES_X * T ref * N , with N = 1, 2 or 4
d. Temperature measurement
Discharge time in the same format as in c., measurement mode 2.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-15
Ultrasonic-Flow-Converter
TDC-GP22
The ratio of the discharge times equal the ratio of resistance:
R T = R ref *  T / ref
3.2.2
Status Register
Table 3-3: Status registers
Bits
Name
Description
Values
2 – 0
ALU_OP_PTR
ALU operation pointer. Pointer to the result register.
See description below
5 – 3
# of hits Ch 1
Number of hits registered on channel 1
8 – 6
# of hits Ch 2
Number of hits registered on channel 2
9
Timeout TDC
Indicates an overflow of the TDC unit
1 = overflow
10
Timeout Precounter
Indicates an overflow of the 14 bit precounter in MR 2
1 = overflow
11
Error open
Indicates an open sensor at temperature
measurement
1 = open
12
Error short
Indicates a shorted sensor at temperature
measurement
1 = short
13
EEPROM_Error
Single error in EEPROM which has been corrected
1 = error
14
EEPROM_DED
Double error detection. A multiple error has been
detected which can not be corrected.
1 = multiple
error
15
EEPROM_eq_CREG
Indicates whether the content of the configuration
registers equals the EEPROM
1 = equal
ALU Operation Pointer
Description: The ALU operation pointer is stored in bits 0-2 of the status register (range
of 0x00 to 0x03) and provides an index to one of the 4 results registers (R ES_0 to RES_3)
as follows:

When the EN_AUTOCALC_MB2 parameter is set to 0, and therefore
autocalculation is OFF, the ALU operation pointer is set to the next free result
register that will be used by the ALU for its next TDC cycle. This occurs once a TDC
measurement is performed. Therefore after a TDC measurement ALU_OP_PTR
minus 1 will point to the ALU result.

When EN_AUTOCALC_MB2 is 1 (autocalculation ON) and once a TDC measurement
is performed the ALU operation pointer is set to the result register that contains
the sum of the hit calculations stored in RES_0 to RES_2. This calculation does not
3-16
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
increase the ALU operation pointer. Of course, if the number of hits you expect is
less than 4 (3 results + 1 start), then not all of the registers from R ES_0 to RES_2
will be used in the sum.
Example 1: EN_AUTOCALC_MB2 = 0FF
After sending an INIT opcode:
ALU_OP_PTR == 0x00
TDC Measurement Performed, ALU performs one calculation.
ALU_OP_PTR == 0x01
Calculation result is in register 0 (ALU_OP_PTR -1)
By writing to configuration register 1 the ALU performs a second calculation
ALU_OP_PTR == 0x02
Calculation result is in register 1 (ALU_OP_PTR -1)
By writing to configuration register 1 the ALU performs a third calculation
ALU_OP_PTR == 0x03
Calculation result is in register 2 (ALU_OP_PTR -1)
Example 2: EN_AUTOCALC_MB2 = ON
Three hits are configured by the user
TDC measurement performed
ALU_OP_PTR == 0x03
Automatic calculation of the sum of RES_0 + RES_1 + RES_2
Calculation result is in register 3 (ALU_OP_PTR)
3.2.3
PW1ST Register
This register holds a 8-bit fixed point number with 1 integer and 7 fractional digits.
PW1ST gives the ratio of the width of the first half wave (at a given offset) compared to
the half period of the received signal. See section 4.4 for further details.
Data range: 0 to 1.99219
(with EDGE_FW = rising edge and negative offset the ratio is > 1).
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-17
Ultrasonic-Flow-Converter
3.3
TDC-GP22
EEPROM
The TDC-GP22 has a 7x32 bit EEPROM. This EEPROM can be used to store the
configuration data together with the ID or version number. Only the following three actions
are possible:

Write configuration register content into the EEPROM

Transfer the EEPROM content into the configuration registers

Compare the configuration registers‘ content with the EEPROM content
Important Note:
If values are to be stored in the EEPROM it is mandatory to ensure that NO measurement is
running (neither ToF nor temperature nor calibration measurements). During measurement a
write access to the EEPROM is not permitted. The write access to the EEPROM takes about
300 ms. With no consideration, the EEPROM may be written with incorrect values. It may even
happen that adjustment values are overwritten which prevents proper operation of the TDC.
Besides the ID it is not possible to read back the EEPROM. This gives customers the
possibility to program the chips by themselves and prohibit other to read back the
configuration.
For verification it is possible to compare the configuration register may be compare with
the EEPROM. Bit EEPROM_eq_CREG in the status register indicates whether the content is
equal or not.
The EEPROM has an internal error correction (Hamming code). It is possible

to detect and correct single bit errors,

to detect multi-bit errors without correction
Errors are indicated in the status register, bits EEPROM_Error (single bit) and
EEPROM_DED (double error detection).
*****With each read access/compare to the EEPROM the error bit is checked. In case
a single bit error is detected a refresh cycle is started automatically and the data is
restored.
The data retention of the EEPROM is > 10 years @ 85 °C without single or multiple
errors. With regular Compare_EEPROM commands (e.g. once per month) the data
retention can be extended unlimited.
3-18
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
3.4
SPI-interface
The serial interface is compatible with the 4-wire SPI standard. It needs the
SerialSelectNot (SSN) and can not operated as 3-wire interface.
SSN
- Slave Select
SCK
- SPI Clock
SI
- SPI Data In
SO
- SPI Data Out
The TDC-GP22 does only support the following SPI mode (Motorola specification) * :
Clock Phase Bit = 1
Clock Polarity Bit = 0
SCK starts with LOW, data take over is with the falling edge of SCK. The timings are
shown in section 2.3. The interrupt pin is set back to INTN = 1 if:

SSN goes LOW

or, in case SSN is already LOW, with the first rising edge of SCK.
SSN as Reset
The SerialSelectNot (SSN) line is the HIGH-active reset for the serial interface. After SSN
is set to LOW different operations can be addressed, not depending on the status of the
interface before the reset.
Note:
It is mandatory to set the SSN – line to High-state for at least 50 ns between each
Read-/Write sequence.
* There is no common SPI specification, especially for phase & polarity. Some microcontroller may
need a different setting, e.g. MSP430 run with Clock Phase = Clock Polarity = 0
Opcodes
Table 3-4: Opcodes
Hex
MSB
LSB
Description
Followed by
’h8x
1
0
0
0
0
A2
A1
A0
Write into address A
24 bit or 32
bit data
’hBx
1
0
1
1
0
A2
A1
A0
Read from address A
8, 16 or 32
bit data
’hB7
1
0
1
1
0
1
1
1
Read ID bit
56 bit ID‘S
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-19
Ultrasonic-Flow-Converter
Hex
MSB
’hB8
1
0
1
1
1
0
0
’hC0
1
1
0
0
0
0
’hF0
1
1
1
1
0
’hC6
1
1
0
0
’h70
0
1
1
’h50
0
1
’h01
0
’h02
TDC-GP22
LSB
Description
Followed by
0
Read PW1ST
8bit
0
0
Write configuration
registers into EEPROM
0
0
0
Transfer EEPROM
content into configuration
registers
0
1
1
0
Compare configuration
registers with EEPROM
1
0
0
0
0
Init
0
1
0
0
0
0
Power On Reset
0
0
0
0
0
0
1
Start_TOF
0
0
0
0
0
0
1
0
Start_Temp
’h03
0
0
0
0
0
0
1
1
Start_Cal_Resonator
’h04
0
0
0
0
0
1
0
0
Start_Cal_TDC
’h05
0
0
0
0
0
1
0
1
Start_TOF_Restart
’h06
0
0
0
0
0
1
1
0
Start_Temp_Restart
The transfer starts with the MSB and is finished sending the LSB. The transfer is done
bytewise. Data transfer can be stopped after each byte, sending a LOW -HIGH-LOW on the
SSN line.
Example:
‘h80 + 3 bytes will write configuration register 0 in the TDC-GP2 compatible mode.
‘h80 + 4 bytes will write configuration register 0 including IDO (TDC -GP22 only).
It is not possible to do incremental writing. Each register must be addressed separately.
3.4.1
Opcode Explanations
1. ’hC0, ’hF0, ’hC6 all refer to EEPROM operations. Those may last up 130 ms, especially
the EEPROM write. Therefore, the EN_INT bit 3 in register 6 indicates the end of the
EEPROM operation. This can be used to adjust microprocessor actions .
3-20
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
2. ’h01, Start_TOF: triggers a sequence for a single time-of-flight measurement. First, the
4 MHz oscillator is switched on. After the delay set to settle the oscillator
(START_CLKHS), the comparator and the reference voltage are switched on. The
receiver capacitor is charged up th Vref while inactive fire buffer is pulled down to
GND. After the delay set to charge up the capacitor (TW2), the fire buffer sends the
fire pulses. After the delay set in DELVAL the TDC stop channel is open. At the end of
the measurement the analog section and the 4 MHz are switched off and the current
consumption drops down to near zero. The interrupt is set, pin INTN = LOW.
3. ’h05, Start_TOF_Restart: This opcode runs the Start_TOF sequence twice, in up and
down direction as it is typical in ultrasonic flow meters. The interrupt is set, pin INTN =
LOW, when the time measurement for each direction is finished. So, for one
Start_TOF_Restart command the microprocessor sees two interrupts and has to read
twice. The time interval between the up and down measurement is set by configuration
parameter CYCLE_TOF in multiples of 50 Hz or 60 Hz. The right selection of the delay
between the two measurements suppresses 50/60 Hz noise.
CYCLE_TOF

factor HZ60 = 0(50Hz)
HZ60 = 1(60Hz)
0
1
20 ms
16.67 ms
1
1.5
30 ms
25.00 ms
2
2
40 ms
33.33 ms
3
2.5
50 ms
41.67 ms
’h02, Start_Temp: triggers a single temperature measurement sequence. It begins
with the fake measurements (ANZ_FAKE) on port PT0. Then it measures ports PT0
> PT1 > PT2 > PT4. If TEMP_PORTDIR is set one then the sequence of ports is
inverted, starting with the fake measurements at port PT4.

’h06, Start_Temp_Restart: This opcode runs the Start_Temp sequence twice. The
time interval between the up and down measurement is set by configuration
parameter CYCLE_TEMP in multiples of 50 Hz or 60 Hz. The right selection of the
delay between the two measurements suppresses 50/60 Hz noise.
CYCLE_TEMP
factor
HZ60 = 0 (50Hz)
HZ60 = 1 (60Hz)
0
1
20 ms
16.67 ms
1
1.5
30 ms
25.00 ms
2
2
40 ms
33.33 ms
3
2.5
50 ms
41.67 ms
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
3-21
Ultrasonic-Flow-Converter

TDC-GP22
’h03, Start_Cal_Resonator: Triggers a calibration measurement of the high speed
oscilator. The TDC measures a time interval between 61 µs and 488 µs, specified
in ANZ_PER_CALRES. The end of the measurement is indicated by the interrupt.
The result, in multiples or the high speed clock period, is stored in result register
0. Dividing this by the theoretical value gives the correction factor.

’h04, Start_Cal_TDC: This command starts a measurement of 2 periods of the
reference clock. It is used to update the calibration raw data. Typically, the chip is
configured for auto-calibration and this command is not necessary.
3.4.2
SPI Sample
Figure 3-1: Sample scope picture for sequence INIT ’h70 and Start_Cal_TDC = ’h04
3-22
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
4
Converter Frontend
4.1
TDC - Measurement mode 1
4.1.1
General Description

Measurement range from 3.5 ns to 2.4 µs (0 to 2.4 µs between stop channels)

2 stop channels referring to one start channel each of typ. 90 ps resolution

1 stop channel referring to one start channel with typ. 45 ps resolution

20 ns pulse pair resolution

4-fold multihit capability for each stop channel

Selectable rising/falling edge sensitivity for each channel

Enable pins for windowing functionality

The possibility to arbitrarily measure all events against each other

Typical application: Laser ToF, RF ToF, ATE
Digital TDCs use internal propagation delays of signals through gates to measure time
intervals with very high precision. Figure 5 clarifies the prin cipal structure of such an
absolute-time TDC. Intelligent circuit structures, redundant circuitry and special methods
of layout on the chip make it possible to reconstruct the exact number of gates passed by
the signal. The maximum possible resolution strongly depends on the maximum possible
gate propagation delay on the chip.
Figure 4.1
The measuring unit is triggered by a START signal and stopped by a STOP signal. Based on
the position of the ring oscillator and the coarse counter the time interval between START
and STOP is calculated with a 20 bit measurement range.
The BIN size (LSB) is typically 90 ps at 3.3 V and 25 °C ambient temperature. The RMS
noise is about 60 ps (0.7 LSB). The gate propagation delay times strongly depend on
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-1
Ultrasonic-Flow-Converter
TDC-GP22
temperature and voltage. Usually this is solved doing a calibration. During such a
calibration the TDC measures 1 and 2 periods of the reference clock.
The measurement range is limited by size of the counter:
t yy = BIN x 26224 ~ 90 ps x 26224 = 2.4 µs
Time (Condition)
Description
t ph
2,5 ns (min.)
Minimum pulse width
t pl
2,5 ns (min.)
Minimum pulse width
t ss
3.5 ns ns (min)
2.4 µs (max.)
Start to Stop
t rr
20 ns (typ.)
Rising edge to rising
edge
t ff
20 ns (typ.)
t va
1.24µs uncalibrated
4.25µs calibrated
t xx
No timing limits
t yy
2.4 µs (max)
Figure 4.2
Last hit to data valid
Max. measurement
range
= 26224 * LSB
Input circuitry
Each input separately can be set to be sensitive to rising or falling edge or both edges.
This is done in register 0, bits 8 to 10. (NEG_START, NEG_STOP1, NEG_STOP2) and
register 2, bit 27 & 28, RFEDGEx.
Furthermore all Start/Stop-inputs support a high active enable pin.
4.1.2
Measurement Flow
Configuration
At the beginning the TDC-GP22 has to be configured. The main settings for measurement
mode 1 are:
a. Select measurement mode 1
Set register 0, bit 11, MESSB2 = 0.
4-2
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Register 6, bit 12, DOUBLE_RES = 1 selects double resolution. With this bit set the
resolution is typ. 45 ps instead of 90 ps, but only one STOP channel is available.
b. Select the reference clock (see also section 5.1)
Register 0, bits 18 & 19 and register 6, bit 20, START_CLKHS defines the switch-on
behavior of the high-speed clock. If only the 32 kHz is used it should be “0“. If only the
high-speed clock is used it should be “1“ (continuously on).
Register 0, bits 20 & 21, DIV_CLKHS
sets an additional internal divider for
the reference clock (1, 2 or 4). This is
important for calibrated
measurements in measurement mode
1 because the ALU works correctly
only if 2*T ref (intern) is bigger than the
maximum time interval to be
measured. Otherwise the ALU output
is ’hFFFFFFFF.
Make also sure that 2*T ref (intern) <
2.4 µs to avoid a timeout during
calibration.
Figure 4.3
c. Set the number of expected hits
In register 1, bits 16 to 18 and 19 to 21, HITIN1 and HITIN2 the user has to define the
number of hits the TDC-GP22 has to wait for. A maximum of 4 on each channel is
possible. The TDC-GP22 measures until the set number of hits is registered or a timeout
occurs.
d. Select calibration
As the BIN size varies with temperature and voltage the TDC-GP22 ALU can internally
calibrate the results. This option is switched on by setting register 0, bit13, CALIBRATE =
“1“. It is recommended to do this.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-3
Ultrasonic-Flow-Converter
TDC-GP22
For the calibration the TDC measures 1 and 2 cycles of the reference clock. The two data
are stored as Cal1 and Cal2.
There are two ways to update the calibration data Cal1 and Cal2:
- Separate calibration by sending opcode Start_Cal_TDC via the SPI interface
- Automatic update by setting register 0, bit 12, NO_CAL_A UTO = “0“. In most applications
this will be the preferred setting.
e. Define ALU data processing
While the TDC unit can measure up to 4 hits on each channel the user is free in his
definition what the ALU shall calculate. The settings are done in register 1, bits 16 to 19
and 20 to 23, HIT1 and HIT2. Both parameters can be set to:
0 = Start
1 = 1. Stop Ch1
9 = 1. Stop Ch2
2 = 2. Stop Ch1
A = 2. Stop Ch2
3 = 3. Stop Ch1
B = 3. Stop Ch2
4 = 4. Stop Ch1
C = 4. Stop Ch2
Examples:
Reg1 = ‘h01xxxx - 1st Stop Ch1-Start
Reg1 = ‘h2Bxxxx - 3rd Stop Ch2-2nd Stop Ch1
6 = Cal1 Ch1
Reg1 = ‘h06xxxx - Cal1
7 = Cal2 Ch1
The ALU calculates HIT1 - HIT2.
In case calibration is active the ALU does the full calibration calculation (except when
reading the calibration values. In this case the ALU writes the Cal1/Cal2 ra w data to the
output register).
(
4-4
)
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Figure 4.4
f. Select input sensitivity
In register 2, bits 27 & 28, RFEDGE1 and RFEDGE2, the user can select whether the stop
inputs are sensitive to either rising or falling edges (RFEDGE = “0“) or to both rising and
falling edges (RFEDGE = “1“).
In register 0, bits 8 to 10 the user can add an internal inverter to ea ch input, Start,
Stop1 and Stop2. With RFEDGE = “0“ this is the same as rising edge (NEG_X = “0“) or
falling edge (NEG_X = “1“).
g. Interrupt behavior
The interrupt pin 8, INT can have different sources. They are selected in register 2, bits
29 to 31, EN_INT and register 6, bit 21.
Reg. 2 bit 29 = “1”
ALU ready
Reg. 2 bit 30 = “1”
The set number of hits is there
Reg. 2 bit 31 = “1”
Timeout of the TDC unit
Reg. 6 bit 21 = “1”
End of EEPROM action
The different options are wired by OR to enable more than one source. The first rising
edge of SCK resets the INTN pin (interrupt).
After the configuration the user has to initialize the TDC-GP22 by sending opcode “Init” so
that the TDC accepts Start and Stop hits.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-5
Ultrasonic-Flow-Converter
TDC-GP22
Measurement
After an initialization the TDC unit will start with the first pulse on the Start input. It will
run until:

the set number of hits has been seen (maximum 4 on both stop channels in mode
1)

or until a timeout occurs at the end of the measurement range (at about 2.4 µs in
mode 1).
The time measurement raw data are internally stored. The number of hits can be seen
from the status register, bits 3 to 8. In case calibration is active the TDC now m easures
one and two periods of the internal reference clock (T ref * 1, 2 or 4). The calibration raw
data Cal1 and Cal2 are also internally stored.
Figure 4.5
Data Processing
At the end of the measurement the ALU starts to process the data according to the HIT1,
HIT2 settings and transfers the result to the output register. In case calibration is off the
ALU transfers the 16 bit raw data to the output register. With calibration the ALU
calculates according to 3.1.1.d and transfers the 32 bit fixed point number to the output
register.
The ALU can be switched off configuring HIT1 = HIT2 = 5.
The time it takes the ALU depends on whether calibration is on or not and the supply
voltage.
4-6
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
As soon as the data is available
Table 4.1: ALU timings
un-calibrated
(disable AutoCal.)
2.5 V
3.0 V
3.6 V
1.56 µs
1.24 µs
1.0 µs
from the output register the
calibrated
interrupt flag is set (assumed that
Predivider
the ALU interrupt is enabled, see
reg. 2, EN_INT). Further the load
3.0 µs
0
4.58 µs
1
increased by 1 and points to the
7.58 µs
2
next free memory. The actual
2.75 µs
0
position of the load pointer can be
4.25 µs
1
seen in the status register, bits 0
7.26 µs
2
to 2.
2.54 µs
0
4.0 µs
1
7.0 µs
2
Reading Data
pointer of the output register is
Example:
Now the user can read the data sending the
opcode 10110ADR. With the next 16 clock
cycles (un-calibrated data) or 32 clock cycles
(calibrated data) the TDC-GP22 will send the
result, beginning with the most significant bit
(MSB). The first rising edge of SCK resets the
INTN pin (interrupt).
configuration
...
write reg1=’h014400
calculate 1st Stop -Start
4 hits on channel 1,
...
Initialize
...
a. Un-calibrated data format:
while(Check interrupt flag)
16 bit Signed integer in complements of 2.
1BIN = uncalibrated gate delay is about 90 ps
at 3.3 V and 25 °C.
write reg1=’h024400
wait(4.6 µs)
write reg1=’h034400
Time = RES_X x 90 ps
wait(4.6 µs)
b. Calibrated data format:
write reg1=’h044400
32 bit fixed-point number in complements of 2.
Given in multiples of the reference clock.
calculate 2nd -Start
calculate 3rd-Start
calculate 4th-Start
wait(4.6 µs)
Now all Hit data are available from registers 0 to 3.
The load pointer value is 4.
Time = RES_X * T ref * N, with N = 1, 2 or 4
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-7
Ultrasonic-Flow-Converter
TDC-GP22
The measured time interval may not exceed otherwise the ALU will go into overflow and will
write the data ’hFFFFFFFF to the output register.
The configuration of the ALU allows only one hit calculation at the time. In case more than
one hit has been measured it is necessary to write new commands to HIT1/HIT2 to
instruct the ALU for calculating the other hits. After writing to HIT1/HIT2 it is ne cessary
to wait for minimum t.b.d. µs (calibrated data) or t.b.d. ns (un -calibrated data) before
reading or writing again to HIT1/HIT2.
Reading Calibration Raw Data
The calibration data are not addressed directly after the calibration measurement but
after the next regular measurement, before the next INIT.
Source Code Example:
//-------------------------------------------------------------------------// 1st Measurement plus calibration data readout
gp22_send_1byte(Bus_Type, Init);
// Wait for INT Slot_x
Wait_For_Interrupt(Bus_Type);
// First regular measurement (to readout calibration raw data)
Result = gp22_read_n_bytes(Bus_Type, 4 ,0xB0 ,0x00 ,16);
// readout the new calibration data from result register adr 0x01
gp22_wr_config_reg(Bus_Type, 0x81, 0x67490000);
Diff_Cal2_Cal1 = gp22_read_n_bytes(Bus_Type, 4, 0xB0 ,0x01 ,16);
//--------------------------------------------------------------------------
At the end the TDC-GP22 has to be initialized again to be ready for the next measurement.
This is done by sending the opcode “Init“ so that the TDC accepts new Start and Stop hits.
4-8
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
4.2
TDC - Measurement mode 2
4.2.1
General Description

1 stop channels referring to one start channel

Typical 22 ps / 45 ps / 90 ps resolution

Measurement range from 700 ns to 4 ms @ 4 MHz

2 x T ref pulse pair resolution

3-fold multihit capability, full-automated calculation

Selectable rising/falling edge sensitivity

Integrated programmable windowing for each single stop with 10 ns precision

Typical application: Ultrasonic flow & heat meter
Digital TDCs use internal propagation delays of signals through gates to measure time
intervals with very high precision (see also measurement mode 1, section 4). In
measurement mode 2 the maximum time interval is extended using a pre-divider. The
resolution in LSB remains unchanged by that. In this mode the high -speed unit of the TDC
does not measure the whole time interval but only time intervals from START and STOP to
the next rising edge of the reference clock (fine-counts). In between the fine-counts the
TDC counts the number of periods of the reference clock (coarse -count).
Figure 4.6
The GP22 converter front end section achieves a quantization BIN of 90 ps (LSB) where
Vcc = 3.3 V and the ambient temperature is at 25 °C. RMS noise accounts for 60 ps (0.7
LSB) of this same result. As gate propagation delay is used for precision interval
measurement it is important to consider that this delay time is directly affected by both
Vcc and temperature. Therefore, using Measurement Mode 2, a calibration is required
and is done automatically with the right configuration. During calibration the TDC
measures one and two periods of the 4 MHz reference clock.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-9
Ultrasonic-Flow-Converter
TDC-GP22
The calibrated result does not depend on temperature or supply voltage.
The measurement range is limited by size of the coarse counter:
t yy = T ref x 2 14 = 4.1ms @ 4MHz
The time interval between START and STOP is calculated with a 26 bit measurement
range.
Time (Condition)
Description
t ph
2,5 ns (min.)
Minimum pulse width
t pl
2,5 ns (min.)
Minimum pulse width
t ss
2*T ref
Start to Stop @
DIS_PHASESHIFT = 1
t rr
2*T ref
Rising edge to rising edge
t ff
2*T ref
Falling edge to falling edge
t va
4.6 µs (max.)
ALU start to data valid
t yy
4 ms (max)
Max. measurement range
Figure 4.7
Input circuitry
Each input separately can be set to be sensitive to rising or falling edg e. This is done in
register 0, bits 0 to 2. (NEG_START, NEG_STOP1).
Further all Start/Stop-inputs support a high active enable pin.
Note:
In case the Start-Stop interval is less than the lower limit tzz the TDC will ignore more and
more events the smaller it is. In no case there will be wrong results.
4.2.2
4-10
Measurement Flow
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Configuration
At the beginning the TDC-GP22 has to
be configured. The main settings for
measurement mode 2 are:
a. Select measurement mode 2
setting register 0, bit 11, MESSB2 = 1
b. Select the reference clock
(see also section 5.1)
In measurement mode 2 the TDC-GP22
needs the high-speed clock for the time
measurement. In case of low-power
applications this clock can be switched
of in between measurements. The a
Figure 4.8
32.768 kHz clock is necessary for the
timing control during the oscillator
power-on.
Register 0, bits 18 & 19, START_CLKHS defines the switch-on behavior of the high-speed
clock. If only the high-speed clock is used this is be set to “1“(continuously on). In case
both oscillators are used for current saving reasons this should be set to “2“ for ceramic
oscillators and to “3“ for quartz oscillators.
Register 0, bits 20 & 21, DIV_CLKHS sets an additional internal divider for the reference
clock (1, 2 or 4). The choice has an influence on the minimum time interval
t min = 2 * T ref * 2
DIV_CLKHS
and the maximum time interval
t max = 2 14 * T ref * 2
DIV_CLKHS
Further, it is necessary that
2 * T ref * 2
DIV_CLKHS
< 2.4 µs.
Otherwise the ALU will go into an overflow during calibration and write ’hFFFFFFFF as
output data.
Please note:
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-11
Ultrasonic-Flow-Converter
TDC-GP22
The resulting clock after the predivider has to be in the allowed range of 2 MHz to 8 MHz
in single and double resolution and from 2 MHz ... 6 MHz in quad resolution.
c. Set the number of expected hits
In register 1, bits 16 to 18, HITIN1 the user has to define the number of hits the TDC GP22 has to wait for. A maximum of 3 on channel 1 is possible. The number HITIN1
always has to be higher by 1 than the number of expected hits. The reason is that the
Start is also counted as a hit. The TDC-GP22 measures until the set number of hits is
registered or a timeout occurs. register 1, bits 19 to 21, HITIN2 have to be set to “0“.
Example:
2 stop pulses are expected:
HITIN1 = “3”, HITIN2 = “0”
d. Select calibration
The calibration is switched on by setting register 0, bit13, CALIBRATE = “1“. It is
mandatory to do this.
For the calibration the TDC measures 1 and 2 cycles of the reference clock. The two data
are stored as Cal1 and Cal2.
There are two ways to update the calibration data Cal1 and Cal2:

Separate calibration by sending opcode Start_Cal_TDC via the SPI interface

Automatic update by setting register 0, bit 12, NO_AUTO_CAL = “0“. In most
applications this will be the preferred setting.
e. Define ALU data processing
With EN_AUTOCALC_MB2 = 1 the TDC-GP22 calculates all set hits automatically. In
addition, the sum of the results is calculated, too, and written into read register RES_3.
This simplifies the communication compared to TDC-GP21 as it is no longer necessary to
re-write register 1.
With EN_AUTOCALC_MB2 disabled the ALU calculates only one hit at once. The settings
are done in register 1, bits 24 to 27 and 28 to 31, HIT1 and HIT2. The Start pulse is
internally handled like a Stop pulse because of the special measuring method in
measurement mode 2.
4-12
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Reg1 = ’h21xxxx = Calculate 1st Stop Ch1-Start
Reg1 = ’h31xxxx = Calculate 2nd Stop Ch1-Start
Reg1 = ’h41xxxx = Calculate 3rd Stop Ch1-Start
The ALU calculates the time interval as:
(
)
f. Select input sensitivity
In register 2, bits 27 & 28, RFEDGE1 and RFEDGE2, the user can select whether the stop
inputs are sensitive to either rising or falling edges (RFEDGE = “0“) or to both rising and
falling edges (RFEDGE = “1“). In register 0, bits 8 to 10 the user can add an internal
inverter to each input, Start, Stop1 and Stop2. With RFEDGE = “0“ this is the same as
rising edge (NEG_X = “0“) or falling edge (NEG_X = “1“).
g. Interrupt behavior
The INT pin can have various sources, to be selected in regi ster 2, bits 21 to 23, EN_INT,
and register 6 bit 21 EN_INT.
EN_INT =
no bits set
no Interrupt source
reg2 bit 29
ALU ready
reg2 bit 30
The set number of hits is there
reg2 bit 31
Timeout of the TDC unit
reg6 bit 21
EEPROM action has finished
The different options are wired by OR. The first rising edge of SCK resets the INTN pin
(interrupt).
After the configuration the user has to initialize the TDC-GP22 by sending opcode “Init“ so
that the TDC accepts Start and Stop hits.
Measurement
After an initialization the TDC unit will start with the first pulse on the Start input. It will
run until:
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-13
Ultrasonic-Flow-Converter


TDC-GP22
the set number of hits has been seen (maximum 3 on channel 1 in measurement
mode 2)
or until a timeout occurs. The timeout can be programmed in multiples of the
reference clock setting reg. 3, bits 27 & 28, SEL_TIMO_MB2. At 4 MHz the values
are:
SEL_TIMO_MB2 (@ 4 MHz, DIV_CLKHS = 0)
= 0
= 64 µs
= 1
= 256 µs
= 2
= 1024 µs
= 3
= 4096 µs recommended
At the end of the time measurement the TDC measures 2 periods of the reference clock
for calibration.
Data processing
At the end of the measurement the ALU starts to process the data according to the HIT1,
HIT2 settings and transfers the result to the output register. The ALU calculates
according to 4.2.2.e and transfers the 32 bit fixed point number to the output register.
The time it takes the ALU depends on the supply voltage to be calculated:
Table 4-2: ALU timings
First Event (1 Hit)
2.5 V
3.0 V
3.6 V
3.7 µs
3.3 µs
3.1 µs
As soon as the data is available from the output register the interrupt flag is set (assumed
that the ALU interrupt is enabled, see reg. 2, EN_INT). Further the load pointer of the
output register is increased by 1 and points to the next free memory. The actual position
of the load pointer can be seen in the status register, bits 0 to 2.
Reading Data
Now the user can read the data sending the opcode 10110ADR. With the next 32 cycles
(calibrated data) the TDC-GP22 will send the result, beginning with the main significant bit
(MSB).
4-14
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
The 32 bit fixed-point numbers in complements of 2 represent the time interval in
multiples of the reference clock.
Time = RES_X * T ref * 2
DIV_CLKHS
Now all hit data are available from registers 0 to 2. The load pointer value is 3.
At the end the TDC-GP22 has to be initialized again to be ready for the next measurement.
This is done by sending the opcode “Init“ so that the TDC accepts new Start and Stop hits.
The first rising edge of SCK resets the INTN pin (interrupt).
4.2.3
Stop Masking
The TDC-GP22 can set time-based masking windows for each of the 3 hits on Stop1 input
when no hits are accepted. The masking refers to the start event and has an accuracy of
less than 10 ns.
The internal enable unit is connected to the external enable pin by a logical AND. The
external enable pin must be set to “1” to use the internal masking unit. The configuration
settings are made in registers 2 to 4, DELVAL1, DELVAL2 and DELVAL3:

DELVAL1 … DELVAL3 are fixed point numbers with 14 bit integer and 5 bit
fractional digits, in multiples of the internal reference clock
Delay min = DELVALX / 2 5 * T ref * 2
DIV_CLKHS

The minimum mask size is 3 clock cycles

The mask values must have an ascending order. Each mask value must be 3 clock
cycles bigger than the previous value
It is mandatory that if not all registers are used the mask values that are not required are
set to “0”. When all DELVAL registers are set to 0, the complete unit is disabled.
Example:
4 MHz reference, DIV_CLKHS = 1
DELVAL1 = ’h3200 1st Stop not accepted before 200 µs after Start
(12800/32 * 250 ns * 2 1 = 200 µs)
DELVAL2 = ’h3300 2nd Stop not accepted before 204 µs after Start
(13056/32 * 250 ns * 2 1 = 204 µs)
DELVAL3 = ’h3400 3rd Stop not accepted before 208 µs after Start
(13312/32 * 250 ns * 2 1 = 208 µs)
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-15
Ultrasonic-Flow-Converter
4.3
TDC-GP22
Analog Input Section
TDC-GP22 has an additional analog input section which can be used alternatively to the
pure digital inputs. Especially the design of ultrasonic flow and heat meters is greatly
simplified by this option. The external circuit of the ultrasonic part is reduced to just two
resistors and capacitors additional to the piezo transducers.
The ultrasonic signals will be packages of sinusoidal oscillat ions with several 100 mV
amplitude. The signals are coupled to the inputs by means of a high pass filter as the
comparator can not handle GND as threshold. The threshold of the comparator is set to
1/3 Vcc. An analog multiplexer selects the input according to the active measurement
direction. The comparator is chopper stabilized to guarantee a low offset voltage in the
range of < 2 mV. This is mandatory for a good measurement quality. The input offset
voltage of the comparator is frequently corrected by an internal chopper circuit. If
temperature or supply voltage changes over time, the offset voltage is automatically
adapted and holds at < 2 mV.
All elements are controlled by the TDC-GP22 control unit. They are powered only during
the measurement to keep down the power consumption.
A measurement sequence, triggered by command Start_TOF_Restart looks like the
following procedure, starting with the up flow measurement:

The 4 MHz oscillator is switched on. The chip waits for the programmed delay to
give enough time for the oscillator to reach the full amplitude.

The comparator, the reference voltage and the analog switches get powered.

The capacitor of the transmitting path (STOP1) is connected to GND.

The fire down buffer (FIRE_DOWN) is connected to GND.

The capacitor of the receiving path (STOP2) is charged up to Vref. The TDC waits
the delay set in TW2.

The analog switch selects STOP2 input as input to the comparator.

FIRE_UP is selected as TDC START signal.

The set number of pulses is sent through the fire up buffer, pin FIRE_UP.

The analog signal at STOP2 passes the comparator converted to a digital signal
that is connected to the STOP input of the TDC unit.

When the delay of the stop masking unit (DELVAL) expired the TDC is ready to
measure. It can measure up to 3 stops.
4-16
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Figure 4.9

At the end of the measurement the control unit switches off the comparator, the
reference the analog switches and the 4 MHz. The current is reduced to close
zero. The interrupt flag is set.

The control unit waits a period, given in multiples of 50Hz/60Hz. During this the
processor has to read the results.

4.3.1
After the delay the same procedure is started but in the opposite direction.
Offset Setting
The offset of the comparator can be set in steps of 1 mV from -8mV to +7 mV by means
of parameter DA_KORR, bits 25 to 28 in register 6. DA_KORR is set as 2‘s complement.
Additionally, with First Wave Mode an additional offset of ±35 mV can be set for the first
wave detection. See section 4.4 for details.
4.4
First Wave Mode
The major improvement of TDC-GP22 is the implementation of the First Wave Mode. It is
based on measurement mode 2 with the analog section being used. The offset is
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-17
Ultrasonic-Flow-Converter
TDC-GP22
controlled automatically to detect the first wave safely and to refer the final ToF
measurement relative to the first wave. Additionally, the width of the first half wave is
compared to the half wave of the first ToF measurement. The ratio can be used as
indicator for the signal strength. Thanks to the offset noise are suppressed and a time out
indicates no water in the tube. The following list summarizes the options:

Save first wave detection, allows high dynamic applications like water meters

Higher dynamics allow use of 2 MHz or 4 MHz transducers

Upon the application of transducers with 2-4 MHz, it is necessary to choose a
larger interval in the choice of the three waves (e.g. 4-6-8 or 4-7-10), to take
account of pulse pair resolution. ( > 2 * T ref + 200 ns )

Even reverse flow can be handled (very helpful e.g. with water meters)

Pulse width measurement, allows to analyze the strength of the receive signal and
to track the trigger level or to send an alarm.

Offset for noise suppression, allows to indicate an empty tube.
Figure 4-10 illustrates the importance
of save first hit detection in flow
meters with high dynamic range like
water meters. With a fixed stop
masking (fixed DELVAL values) it is not
possible to recognize if the time-offlight changes more than the period of
the sound signal. There are several
reasons that the change in ToF is
more than a period. An important one
is the influence of temperature which
changes the speed of ultrasound. For
slow systems like heat meters this
might be corrected by intelligent
software. But for high dynamic
systems like water meters with flow
also in the opposite direction this
Figure 4-10: Typical error by high fluid dynamics
method will no longer be appropriate.
The trend towards higher transducer frequencies like 2 MHz and 4 MHz is another reason
for having a system that can handle intrinsically changes bigger than a signal period.
4-18
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
There is still another source of
getting wrong measurements.
Dirt deposition on the
transducers, spool piece mirrors
and housing will lead to signal
damping e.g. from ±400 mV to <
±80 mV. Figure 4-11 shows how
this will affect the first wave
detection at a given, fixed offset
for the first wave detection. Once
the first wave amplitude is below
the offset level the measurement
result will jump by one period.
Figure 4-11: Wrong measurement due to signal damping
With the TDC-GP22‘s first wave detection the time-of-flight measurement is related to the
first wave and gets independent from temperature and flow. Miscalculations due to wrong
zero crossing assignment are no longer possible.
Additionally, the measurement of the width of the first half wave gives the user a chance
to monitor the signal quality and to adjust the first wave offset trigger level if necessary.
The following figure shows the measurement flow in TDC-GP22 first wave mode.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-19
Ultrasonic-Flow-Converter
TDC-GP22
Figure 4-12: First Wave Mode
1. With the fire pulse generator the offset for the first wave detection is set to a
programmable level. The DELVAL1 stop masking is used for surprising any noise and it is
set just roughly close to the minimum expected time-of-flight. Further noise will be
suppressed by the comparator offset until the receive signal reaches the amplitude above
this offset level.
2. The TDC-GP22 measure the time interval between rising and falling edge of the first
wave. Then, it automatically sets back the offset to 0 mV. With < 1 mV offset the offset
drift of the flow measurement over temperature is minimized.
3. The stop masking for the three time measurements is set by parameters DELREL1 t o
DELREL3, relative to the first wave. E.g. DELREL1 = 3 says the 3rd wave after the first
wave is measured.
4. The half wave period (hwp) of the first true time measurement is measured as a
reference for the first wave. In the example from figure 4-12 this would be the width of
the 5st wave.
4-20
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
The ratio hwp first wave /hwp firstToF is in the range of “0” to “1”, typically less than “1”. The
smaller the value the weaker is the receive signal. The information can be used to monitor
the flow meter. If there are too many deposits over the years of operation and the signal
ration drops e.g. below “0.5” then the second wave can be used as reference in the
future.
The signal drop might also be caused by bubbles in the water. Therefore, an alarm
message can be sending in parallel to the operator.
5. TDC-GP22 automatically calculates all three stop event and further calculates the
average of the three which will be available from register 4. This way, the communication
with the microprocessor is simplified a lot. As soon as the interrupt is set the processor
can immediately read all three results or just the average value. There is no need to rewrite register 1 like it was with TDC-GP21.
6. In case the spool piece is empty then there will be no stop signal. The offset w ill stay at
the level for the first wave detection. This way, noise can not trigger the TDC and the TDC
will run into a time-out.
In other words: the timeout is an indicator for an empty tube.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-21
Ultrasonic-Flow-Converter
4.4.1
TDC-GP22
Configuration
The relevant configuration parameters are:
Table 4-3: First Wave Mode Configuration
Reg
Bits
Parameter
Description
3
30
EN_FIRST_WAVE
1 = Switches on the First Wave Mode, Reg3,
DELVAL2 and Reg4, DELVAL3 get a new meaning.
4
8 - 12
OFFS
2‘s complement number setting the offset shift in 1
mV steps
0 = 0 mV
1 = +1 mV
...
15 = +15 mV
16 = -16 mV
17 = -15 mV
...
31 = -1 mV
4
13
OFFSRNG1
1 = Additional offset shift by - 20 mV
4
14
OFFSRNG2
1 = Additional offset shift by + 20 mV
3
8 - 25
DELREL1 to DELREL3
Stop masking, select the xth wave for time-of-flight
measurement. Maximum is the 63rd wave. DELREL1
 DELREL1 to DELREL3 have to be set in
ascending order. Example:
DELREL1 = 3, DELREL2 = 4, DELREL3 = 5 means to
measure 3rd, 4th and 5th wave after the first wave
4
16
DIS_PW
0 = switch on / 1 = switch off pulse width
measurement. The ratio can be read from address
8, register PW1ST as an 8 bit fixed point number
with one integer bit (range 0 to 1.99).
4
15
EDGE_FW
Sets the edge sensitivity for the first wave. With a
negative offset it is reasonable to trigger on the
falling edge of the first wave.
0 = rising edge, 1 = falling edge
3
31
EN_AUTOCALC_MB2
1 = switch on the automatic calculation of all enabled
hits. The sum of the results is written to read
measurement result 4 at read register address 3
(=RES_3).
4-22
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
4.5
Temperature Measurement
Especially for heat meter applications the TDC-GP22 has a PICOSTRAIN based
temperature measuring unit that offers high resolution and very low current consumption.
The measurement is based on measuring discharge times. Therefore, a capacitor is
discharged alternately through the sense resistors and the reference resistors. As an
improvement compared to TDC-GP2, the TDC-GP22 has the comparator already
integrated.
Figure 4.13
The unit has 4 resistor ports, two of them to be used for the temperature sensors for hot
water (up) and cold water (down). The other two ports are used for reference resistors.
Basically, on reference resistor connected to both ports is suffici ent.
The temperature sensors should have a minimum resistance of 500 Ohm. The cable
length should not exceed 3 m. TDC-GP22 can measure 2-wire sensors only. It is not
possible to use 4-wire sensors. The precision of the temperature measurement is far
within the limits of the standard for heat meters when PT500 or PT1000 are used. In
combination with PT500 or PT1000 temperature sensors there is no need for two
reference resistors. A typical setup with one fixed reference is shown in figure 4 -14.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-23
Ultrasonic-Flow-Converter
TDC-GP22
The EMC protection is a recommendation from experience of acam-messelection gmbh.
Further information will be shown in section 5.5 EMC Measures.
2 x PT500 / PT1000
100nF
LoadT
down
up
SenseT
Rref
PT1
PT2
TDC-GP22
PT3
PT4
1nF
1nF
EMC protection
Figure 4.14: PT500 / PT1000 temperature measurement with one reference resistor
The temperature measurement is fully automated. It is triggered by the µC sending the
opcodes Start_Temp or Start_Temp_Restart. With Start_Temp_Restart the TDC -GP22
measures the temperature twice, with a delay given in multiples of the 50 Hz/60 Hz
period. This will be of help to reduce 50Hz/60Hz noise.
For a measurement, the TDC-GP22 starts with 2 or 8 dummy measurements at port PT1
before it makes the real four measurements in the order PT1 > PT2 > PT3 > PT4. After
the 4 measurements have finished the interrupt flag is set. TDC-GP22 has the possibility
to inverse the order, making the dummy measurements at port PT4.
The four data are found in registers 0 to 3. From Res_3/RES_1 and RES_4/RES_2 the
microcontroller can calculate the ratio Rtemp/Rref. By means of a look-up table it can
calculate the temperature for the special type of sensor in use.
Configuration
Register 0, bit 15, ANZ_FAKE sets the number of dummy measurements at the beginning
of a temperature measurement. This is necessary to overcome mechan ical effects of the
load capacitor.
4-24
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
ANZ_FAKE = 0
2 dummy measurements
ANZ_FAKE = 1
7 dummy measurements
Register 0, bit 16, T
CYCLE sets the cycle time for the temperature measurement.
TCYCLE = 0
128 µs cycle time @ 4MHz
TCYCLE = 1
512 µs cycle time @ 4MHz
Register 0, bit 17, ANZ_PORT sets the number of ports that will be used.
ANZ_PORT = 0
2 ports = 1 sensor
ANZ_PORT = 1
4 ports = 2 sensors
Register 6, bit 11, TEMP_PORTDIR sets the order of the port measurements
TEMP_PORTDIR = 0
PT1 > PT2 > PT3 > PT4
TEMP_PORTDIR = 1
PT4 > PT3 > PT2 > PT1
Register 6, bit 15, HZ60 sets the base frequency for the delay between the up and down
measurements for commands Start_TOF_Restart and Start_Temp_Restart.
HZ60
HZ60
= 0
= 1
50 Hz base
60 Hz base
Register 6, bits 18, 19, CYCLE_TEMP, selects the factor timer for triggering the second
temperature measurement in multiples of 50/60Hz.
CYCLE_TEMP =
=
=
=
0
1
2
3
1
1.5
2
2.5
Register 6, bit 30, NEG_STOP_TEMP inverts this signal at the SenseT path. This is
mandatory when the internal comparator is used. Without inversion the unit is compatible
to TDC-GP2 operation with an external Schmitt trigger
NEG_STOP_TEMP
= 0
No inversion, TDC-GP2 compatible
= 1
Inversion, mandatory when the internal comparator is used
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-25
Ultrasonic-Flow-Converter
TDC-GP22
Recommended Capacitor Values
The discharge time should be about 150 µs. Therefore the capacitor should have the
following value:
PT500:
220 nF
PT1000:
100 nF
Please set TCYCLE = 1 to avoid timeout error.
Recommended Capacitor Type
To get accurate results we recommend capacitor types with very low dC/dU. We
recommend:
C0G types or CfCap Series from Tayo Yuden
Please do not use X7R or similar capacitors.
Current consumption
By means of the TDC technology the temperature measurement needs an extremely low
current, much less than an A/D converter does.
A full temperature measurement with 2 sensors, 2 references am PT1000 sensor type,
including all calculations takes less than 2.5 µAs. With one temperature measurement in
30 seconds (typical for heat meters) the average current consumption is 0.08 µA only.
This is about 50 times less than other solutions. A PT500 sensor doubles the current.
Note: During temperature measurement the start input has to be enabled.
Error detection
Additionally the temperature unit checks the plausibility of the results. It is able to detect a
short circuit of the sensor or an open sensor. The TDC-GP22 provides in the relevant
output register an error code instead of a measurement value.
1. Short circuit between lines: equivalent to a very short time interval (< 8 x T ref = 2 µs @
4 MHz). The TDC-GP22 writes a ’h0 to the output register of the shorted sensor.
2. Broken sensor/Short circuit against GND: equivalent to no stop signal or timeout. The
TDC-GP22 writes a ’hFFFFFFFF into the output register of the open sensor.
4-26
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Note: Due to a bug it is necessary to have SEL_TIMO_MB2 at 2ms to get a correct
interrupt indication when 512 µs cycle time is selected.
33nF
1: Short circuit between lines: Error short
2: Short circuit LoadT against GND: Error open
3: Circuit circuit PT2 against GND: Measurement
at PT1 with half the nominal discharge time as
sensor is in parallel to Rref, result out of
reasonable range
LoadT
2
1
SenseT
Rref
PT1
PT2
3
TDC-GP22
PT3
PT4
Figure 4-15: Short circuit indication
Table 4.4: Analog specification
Symbol
Terminal
Internal Schmitt trigger
Resolution RMS
Absolute Gain vs.
Vio3
Unit
PT500
PT1000
PT500
PT1000
17.5
17.5
16.0
16.0
Bit
96
96
dB
SNR
Absolute Gain3
External Schmitt trigger2
0.9912
0.9931
0.9960
0.9979
3.6 V
0.9923
0.9940
0.9962
0.9980
3.0 V
0.9912
0.9931
0.9960
0.9979
2.5 V
0.9895
0.9915
0.9956
0.9979
0.25
0.23
0.06
0.04
0,05%
0,05%
0,02%
< 0.01%
0.022
0.017
0.012
0.0082
(gain factor)
Gain-Drift vs. Vio
max. Gain Error
(@ dӨ = 100 K)
Gain-Drift vs. Temp
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
%/V
%/10 K
4-27
Ultrasonic-Flow-Converter
TDC-GP22
Gain-Drift vs. Vio
0,08
Initial Zero Offset
< 20
<10
< 20
< 10
mK
Offset Drift vs. Temp
< 0.05
< 0.03
< 0,012
< 0.0082
mK/ °C
PSRR
1
%/V
>100
dB
All values measured at Vio = Vcc = 3.0 V, Cload = 100 nF for PT1000 and 200 nF for
PT500 (C0G-type)
2
measured with external 74AHC14 Schmitt trigger
3
compared to an ideal gain of 1
Gain error and its mathematical correction
The TDC-GP22 temperature measurement is based on acam’s PICOSTRAIN technology.
Here the resistance variation of an RTD is digitized by means of a high accurate time
interval measurement. According to that, the Schmitt trigger’s delay time introduces a
considerable gain error that results in a gain reduction co mpared to an ideal output value.
This gain reduction can be mathematically described as a deviation from an ideal straight
line. Hence, a simple mathematical correction by adding a correction factor compensates
for this deviation from the ideal gain. It is calculated as follows:
T corr = T uncorr /gainfactor
with
T corr : gain corrected temperature result
T uncorr : uncorrected temperature result
gainfactor: gain correction factor, compensates the deviation from an ideal gain of 1
By means of this compensation, the effect of the Schmitt trigger’s delay time can be
reduced to a residual gain error of 0.05 % of F. S. with the internal Schmitt trigger, or
even less in combination with an external 74AHC14 Schmitt trigger.
4-28
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Three main parameters have to be considered, to select the correct gain factor:

base resistance of the temperature sensor (e.g. PT500, PT1000)

used Schmitt trigger (GP22-internal, external 74AHC14)

GP22 supply voltage
The appropriate gain correction factors are provided in table 4 -3 (“Absolute gain vs. Vio”).
Import note:
The gain correction factors for the external Schmitt trigger exclusively refer to the
74AHC14 Schmitt trigger. Other types (e.g. 74HC14) require different gain factors, in
order to ensure a correct compensation. According to that, we strongly recommend to
use a 74AHC14 as external Schmitt trigger.
Example 1:
Application with PT1000 Sensor, GP22 internal Schmitt trigger and 3.0 V supply
voltage. According to table 4.3 a gain factor of 0.9931 has to be selected. The gain
corrected result is calculated then by the following equation:
T corr =T uncorr /0.9931
Example 2:
Application with PT500 Sensor, external 74AHC14 Schmitt trigger and 3.6 V supply
voltage. Table 4-3 now specifies a gain factor of 0.9980. The gain corrected result is
calculated as follows:
T corr = T uncorr /0.9980
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
4-29
Ultrasonic-Flow-Converter
4-30
TDC-GP22
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
5
Details and Special Functions
5.1
Oscillator
The TDC-GP22 uses up to 2 clock signals depending on the operating mode:

High-speed clock, typically 4 MHz, for calibration and as a predivider for the TDC
measuring unit in measurement mode 2 and for the EEPROM

5.1.1
32 kHz clock signal used for internal timer functions.
High-Speed Oscillator
Generally, the TDC-GP22 needs a high-speed clock for calibration. The recommend value is
4 MHz, the possible range is 2 to 8 MHz (2 to 6 MHz in QUAD_RES mode). When running
in measurement mode 2 the TDC-GP22 needs the high-speed clock signal also as a part of
the time measuring unit. Finally the operations need the high speed clock, too.
The oscillator takes an average current of 200 µA when running all the time. But as it is
needed only during the time measurement, the TDC-GP22 has the capability to control the
on-time by itself. The settings are done with parameter START_CLKHS. With
START_CLKHS > 1 the oscillator is switched on after sending opcodes Start_TOF,
Start_TOF_Restart, Start_Temp and Start_Temp_Restart for the duration of the
measurement. A delay between starting the oscillator and starting the measurement
guarantees sufficient time for the oscillation to settle at full amplitude.
Note:
It is strongly recommended to use a ceramic oscillator. Exactly because a quartz needs
much longer to settle than a ceramic oscillator. This costs a lot current, but using a
quartz oscillator has no advantage.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
5-1
Ultrasonic-Flow-Converter
TDC-GP22
START_CLKHS
= 0
Oscillator off
= 1
Oscillator continuously on
= 2
The measurement is started with 480 µs delay.
= 3
same as ‘2’, but with 1.46 ms delay
= 4
same as ‘2’, but with 2.44 ms delay
= 5 to 7
same as ‘2’, but with 5.14 ms delay
The programmable delay guarantees that the oscillator has
Figure 5.1
settled before the measurement starts. For ceramic resonators 480 µs will be sufficient.
For quartz the necessary delay might reach the maximum of 5.14 ms.
By this measure the average current consumption can be drastically reduced.
Example:
At one ToF measurement in an ultrasonic flow meter (forth/back) per second the highspeed oscillator is active only for about 2 ms.
The average current consumption is 130 µAs * 2 ms = 0.26 µA.
5.1.2
32.768 kHz Oscillator
The TDC-GP22 needs a 32.768 kHz reference for the
start-up control of the high-speed clock and the clock
calibration. It therefore offers an integrated low-power
driver.
The 32.768 kHz oscillator is permanently running and has
a current consumption of only about 0.5 µA at 3.0 V. The
settling time of this oscillator is about 3 s after power -up.
The 32.768 kHz oscillator cannot be switched off. With an
external 32 kHz clock from the microprocessor pin
CLK32in has to be connected to GND.
Figure 5.2
The low-power clock can be internally forwarded to an
output pin to be available for an external microprocessor. The possible settings are:
SEL_TSTO1 = 7:
5-2
32 kHz output at pin FIRE_IN
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
4 kHz (32 kHz/8) output at pin EN_START
CLK32in
It is also possible to provide an external
low-frequency rectangular clock at the
CLK32Out pin (3.6 V max.).
CLK32out
SEL_TSTO2 = 7:
External
32kHz
Figure 5.3
5.1.3
Calibrating a Ceramic High-speed Oscillator
Using a ceramic oscillator for the 2 to 8 MHz clock will be attractive because it is of low
cost and has a fast settling time. Unfortunately it has a poor tolerance of 0.3 to 0.5 %
and shows a temperature drift. For this reason the TDC-GP22 allows to execute a
calibration measurement that allows to compensate this behavior. This measurement is
based on the very precise 32.768 kHz clock. The TDC-GP22 generates start/stop pulses
from the 32.768 kHz and measures this time interval with its TDC unit. The result is
stored in the result register and the interrupt flag is set. The frequency error of the
ceramic resonator can be calculated by the microprocessor. The calibration is configured
by setting register 0, ANZ_PER_CALRES and is started with “START_Cal_Resonator“ instruction by the microprocessor.
The time interval to be measured is set by ANZ_PER_CALRES which defines the numbe r of
periods of the 32.768 kHz clock:
ANZ_PER_CALRES
= 0
2 periods =
= 1
4 periods = 122.070 µs
= 2
8 periods = 244.140 µs
= 3
61.035 µs
16 periods = 488.281µs
The results is given in multiples of the high-speed clock and (divided by 1, 2 or 4
(DIV_CLKHS)) as 32 bit fixed point numbers with 16 integer bits and 16 fractional bits.
The microcontroller can compare this measured value to the theoretical value and
calculate the correction factor for the frequency.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
5-3
Ultrasonic-Flow-Converter
TDC-GP22
)
(
Example:
The system shall work with a 4 MHz resonator. With DIV_CLKHS = 0 and
ANZ_PER_CALRES = 1 the theoretical result is 122.0703125µs/250ns = 488.2812 5
(RES_0 = ’h01E84800). If the ceramic resonator in use is not exactly at 4 MHz but only
3.98 MHz the calibration measurement will show 485,83984375
(RES_0 = 1E5D700). The correction factor for the microcontroller is 1.005.
Note: During clock calibration the start input has to be enabled.
Source Code Example:
//-------------------------------------------------------------------------// Start Calibrate High Speed Clock Cycle
// NOTE: It does not work in combination with EN_AUTOCALC = 1
gp22_wr_config_reg(Bus_Type, 0x83, 0x00000000); // EN_AUTOCALC=0
gp22_send_1byte(Bus_Type, Init);
gp22_send_1byte(Bus_Type, Start_Cal_Resonator);
// Wait for INT Slot_x
Wait_For_Interrupt(Bus_Type);
//Calculate Correction factor (ANZ_PER_CALRES =1)
CLKHS_freq_corr_fact = 122.070/
gp22_read_n_bytes(Bus_Type, 4, 0xB0, 0x00, 16) * CLKHS_freq;
printf("\n Correction factor for clock = %1.3f\n", CLKHS_freq_corr_fact);
CLKHS_freq_cal *= CLKHS_freq_corr_fact; // Calibrated Clock freque ncy
gp22_wr_config_reg(Bus_Type, 0x83, 0x80000000); // EN_AUTOCALC=1
//--------------------------------------------------------------------------
5-2
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
5.1.4
How to use Clock Calibration
a. Application
This option is dedicated especially to ultrasonic flow and heat meters. In those applications
the use of ceramic oscillators shows two main advantages: lower cost and less current
consumption. Mainly because of the short oscillation start -up time of the ceramic oscillator
the operating current can be reduced by several µA. Referring to 10 years of operation
this saves several 100 mAh in battery capacitance. There is no negative effect on the
resolution when using this option the correct way.
b. Jitter of the 32 kHz clock and consequences
The 32 kHz clock is very precise in frequency with only a few ppm error. However, the
phase jitter is about 3 to 5 ns peak-peak. For this reason also a calibration measurement
(Start_Cal_Resonator) has this error. When multiplying a measurement result with the
calibration result, the jitter of the calibration is transferred to the result by the ratio
calibration measurement time (see ANZ_PER_CALRES) to measurement time. Using a
permanently updated calibration value will add a considerable jitter to the measurement
result.
c. Application of this option in ultrasonic flow meters
A measurement result is always made of two single time-of-flight measurements in
ultrasonic flow meters, with and against the flow direction. The difference between those
measurements is a measure for the flow. To avoid an influence of the calibration jitter on
this measurement result it is necessary only to use the same calibration for both ToF
measurements. Following this, the difference between the two ToF measurements will be
free of the jitter of the clock calibration measurement. The clock can be calibrated only
between measurements that are not directly subtracted from each other.
5.2
Fire Pulse Generator
5.2.1
General Description
The fire pulse generator generates a sequence of pulses which is highly programmable in
frequency, phase and number of pulses. The high-speed oscillator frequency divided by the
factor selected for DIV_CLKHS is used as the basic frequency. This frequency is internally
doubled and can freely be divided by a factor of 2 to 15. It is possible to g enerate 1 to
127 pulses. If maximum 15 pulses are sent the phase for each pulse can be adjusted per
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
5-3
Ultrasonic-Flow-Converter
TDC-GP22
register configuration. The fire pulse generator is activated by sending opcode Start_TOF.
The fire pulse maybe used directly for the START of the TDC.
The fire pulse generator provides 2 outputs, FIRE_UP and FIRE_DOWN. The driver
strength of each output is 96 mA @ 3.3 V. Furthermore, FIRE_DOWN output signal can
be inverted to double the signal amplitude. The outputs can be set individually High-Z.
Alternately, the default level of the inactive buffer can be set to GND.
5.2.2
Configuration
Number of pulses:
ANZ_FIRE
SEL_START_FIRE
FIRE_DEFAULT
= 0
= 1
= 2
…
= 127
= 1
= 0
= 1
Switch off fire pulse generator
1 pulse
2 pulses
…
127 pulses
Fire pulse is used as TDC START
Default level High-Z (GP2 compatible)
Default level GND. Mandatory if the internal analog
circuit and the recommended circuit with external R and
C is used.
Phase:
The phase of each pulse can be defined in register 5, PHFIRE[0..14], (Mandatory:
PHFIRE[15] = 0), if not more than 15 pulses are sent. “0“ stands for HIGH-LOW and “1“
for LOW-HIGH. The pulse sequence begins with the LSB and ends with the MSB .
It is an easy way to halve
Example:
the pulse frequency.
ANZ_FIRE = 15, PHFIRE = ’h0055
For that use PHFIRE =
‘h5555 and defining
straight number of
LSB
[0], [1], …
[14]
MSB
ANZ_FIRE = 14.
Fire pulse frequency:
The input signal fireclk1 for the fire pulse generator is derived from the high speed clock
CLKHS and the selected value for the high speed clock divider DIV_CLKHS.
5-4
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
Pulse-Generator
CLKHS
ffireclk1
1
1
n
Phaseshift
0.5
DIV_CLKHS
ffireclk2
1
m
FIRE_UP
FireGenerator
FIRE_DOWN
DIV_FIRE
frequency
doubling
PHFIRE
DIS_PHASESHIFT
CONF_FIRE
16
3
ANZ_FIRE
4
Figure 5.3
This Signal is internally doubled and divided by DIV_FIRE.
DIV_FIRE =
0
not permitted
1
divided by 2
2
divided by 3
...
...
15
divided by 16
Register 5, bit 19, DIS_PHASESHIFT actives the phase shift, which introduces additional
noise to improve statistical behavior when averaging.
DIS_PHASESHIFT = 0
Phase shift on
DIS_PHASESHIFT = 1
Phase shift off
fireclk2 is used as reference signal for the FIRE_UP / FIRE_DOWN - signal which is
emitted by the output buffers FIRE_UP / FIRE_DOWN of the fire pulse generator.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
5-5
Ultrasonic-Flow-Converter
TDC-GP22
Figure 5.4
As shown in Figure 16 at least 2 clock periods T fireclk2 are required to send one fire pulse.
One for the high phase and one for the low phase of the FIRE_UP/FIRE_DOWN output
signal.
Example:
CLKHS = 4 MHz, DIV_CLKHS = 1, DIV_FIRE = 1
Max. frequency of the FIRE_UP / FIRE_DOWN output signal:
Driver outputs:
The output drivers are configured by setting CONF_FIRE in register 5, bits 29 to 31:
CONF_FIRE configures the FIRE_UP and FIRE_DOWN outputs of the GP22. CONF_FIRE is
used to control which of the outputs (FIRE_UP or FIRE_DOWN) are first fired when the
Start_TOF_Restart command is issued. It is also used to individually enable or disable
these outputs.
Only one of the three bits may be set to 1:
Bit 31 = 1
Fire both outputs (FIRE_UP and FIRE_DOWN) simultaneously. In this
case, the FIRE_DOWN output is an inverted representation of
FIRE_UP.
Bit 30 = 1
Enable FIRE_UP output only, or when Start_TOF_Restart is issued, fire
this output first.
Bit 29 = 1
Enable FIRE_DOWN output only, or when Start_TOF_Restart is issued,
fire this output first.
Note:
In register 5, bits 16 to 18, REPEAT_FIRE originally had been implemented for sing around
measuring. Please set
5-6
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
REPEAT_FIRE = 0
5.3
no repetition
Fast Initialization
In measurement mode 1 the TDC-GP22 offers the possibility of a fast initialization.
Activated by setting register 1, bit 15, EN_FAST_INIT = “1“ the interrupt flag automatically
initializes the TDC. So the TDC is already prepared for the next measurement while the
data can be read out. This mode is for highest speed applications only. It is most
reasonable for un-calibrated measurements with only one stop.
5.4
Noise Unit
In case the user wants to improve the measuring results by averaging it is necessary that
the values do not always display exactly the same time difference. Instead the user should
provide some “noise” so that different quantization steps of the characteristic curve of the
TDC are involved. This can not happen with very constant time differences. One would
constantly hit the same LSB.
The noise unit enables the use of weighted averaging even for constant time differences.
The noise unit adds a random offset to the start. It is dedicated to applications where the
TDC gets a dummy start and measures the time difference between STOP1 and STOP2
(e.g. laser range finders).
The noise unit is switched on by setting register 5, bit 28, EN_STARTNOISE = “1“
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
5-7
Ultrasonic-Flow-Converter
5.5
TDC-GP22
EMC Measures
Regarding the EMC susceptibility, there are measures we can recommend:

Most importantly: the housing of the spool-piece must be connected to the
electrical GND signal of the PCB

Using ferrite cores with ~100 Ohm @ 100 MHZ with a low DC resistance, e.g.
MURATA - BLM18EG101TN1D - FERRITE BEAD (Impedance: 100 Ohm, DC
Resistance Max: 0.045 Ohm, DC Current Rating: 2000 mA, Ferrite Case Style:
0603)

Using capacitors (value = 1 nF) between fire outputs and GND

Using a shielded cable

Common mode chokes are not needed
With these measures, we usually see significant improvement.
Please make sure that the capacitors are of C0G type. Use no other types. Values up to
2.2 nF should work without too big disturbance on the measurement result.
EMC protection of transducer (acam-messelectronic gmbh)
Figure 5.4
5-8
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
6
Applications
6.1
Ultrasonic Heat Meter
The TDC-GP22 is perfectly suited for low-cost ultrasonic heat meter designs. Thanks to the
implemented functionality, including precision temperature measurement, fire pulse
generator, analog switches, comparator, windowing and clock calibration, it is sufficient to
add a simple microprocessor (without A/D converter).
The final circuit reaches a unknown level in compactness and small size. The following
diagram shows the front end section of a typical ultrasonic heat meter as it might look like
when TDC-GP22 is used.
Figure 6.1
The red parts illustrate the external components needed. The number is reduced to a
minimum:

In the ultrasonic path, the piezo transducers are connected through pairs of R and
C.
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
6-1
Ultrasonic-Flow-Converter

TDC-GP22
In the temperature path only a temperature stable reference resistor and a
capacitor

As oscillators take a 32.768 kHz and a ceramic 4 MHz oscillator. The FIRE_IN pin
can be used as output driver for the 32.768 kHz clock, so the µP does not need a
low power oscillator.

For the power supply use separate bypass capacitors of sufficient size to block V cc
and Vio. Separate both by a small resistor.
In total 11 low-cost elements only are needed for the measurement.
Register
Value
Typical example configuration
Register 0
’ hA30B6800
ANZ_FIRE = 10 (see register 6, too)
DIV_FIRE = 3, fire pulse frequency = 4 MHz/4 = 1.0 MHz
ANZ_PER_CALRES = 0, the 4 MHz is calibrated by a 61.035 µs
measurement
DIV_CLKHS = 0, the 4 MHz ceramic oscillator is internally used as it is
START_CLKHS = 2, the ceramic oscillator has 480 µs to settle
ANZ_PORT = 1, use all 4 ports for the temperature measurement
TCYCLE = 1, 512 µs cycle time for the temperature measurement
ANZ_FAKE = 0, 2 fake measurements
SEL_ECLK_TMP = 1, use 4 MHz for the temperature measurement
cycle definition
CALIBRATE = 1, mandatory in measurement mode 2 to be on
NO_CAL_AUTO = 0, mandatory in measurement mode 2 to have autocalibration
MESSB2 = 1, switch on measurement mode 2 for measuring > 2 µs.
NEG_STOP/NEG_START = 0, all set to rising edges
ID0 = ’h00
Register 1
’ h21444000
HIT2 = 2, HIT1 = 1: calculate 1. Stop - Start in measurement mode 2
EN_FAST_INIT = 0, off
HITIN2 = 0
HITIN1 = 4, measure 3 stops (in measurement mode 2 this includes
the start, too, giving 4 hits)
CURR32K = 0, use default
SEL_START_FIRE = 1, use the internal direct wiring from the fire pulse
buffer to the TDC start
SEL_TSTO2 = 0, EN_START active
SEL_TSTO1 = 0, FIRE_IN pin is used as fire in
ID1 = ’h00
Register 2
’ hA0230000
EN_INT = b0101, interrupt given by Timeout TDC or ALU ready
RFEDGE1 = RFEDGE2 = 0, use only rising edges
DELVAL1 = 8960, the first stop is accepted after 70 µs
ID2 = ’h00
Register 3
’ hD0A24800
EN_AUTOCALC_MB2 = 1, automatic calculation of the sum of RES_0,
RES_1 and RES_2. This calculation does not increase the address
pointer.
EN_FIRST_WAVE = 1, first hit detection mechanism is enabled
EN_ERR_VAL = 0, there is enough time to read the status register
SEL_TIMO_MB2 = 2 , time out is generated after 1024 µs
DELREL1 = 8, DELREL2 = 9, DELREL3 = 10, measure the 8th, 9th and
10th stop after the first hit
6-2
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
ID3 = ’h00
Register 4
’ h20004A00
DIS_PW = 0, pulse width measurement is not disabled
EDGE_PW = 0, pulse width measured on rising edge
OFFSRNG1 = 0, no negative offset
OFFSRNG2 = 1, OFFS = 10: total offset = 20 mV + 10 mV = 30 mV
ID4 = ’h00
Register 5
’ h40000000
CON_FIRE = 2, enable FIRE_UP. If opcode Start_TOF_Restart is used
FIRE_UP and FIRE_DOWN are used alternately for up and down flow
measurements. With the configuration described here the
measurement cycle starts sending fire pulses at pin FIRE_UP.
EN_STARTNOISE = 0, switch off
DIS_PHASESHIFT = 0, phase noise unit is active to improve the
statistical behavior
REPEAT_FIRE = 0, no sing-around
PHFIRE = 0, no phase change in the fire pulse sequence
ID5 = ’h00
Register 6
’ hC0C06000
EN_ANALOG = 1, use the internal analog circuit
NEG_STOP_TEMP = 1, use the internal Schmitt trigger for the
temperature measurement
DA_KORR = 0, offset is set in register 4
TW2 = 3, 300 µs delay to charge up the capacitors of the highpass
EN_INT = b0101, interrupt given by Timeout TDC or ALU ready (see
also register 2)
START_CLKHS = 2, the ceramic oscillator has 480 µs to settle (see
also register 0)
CYCLE_TEMP = 0, use factor 1.0 for the Start_Temp_Restart
CYCLE_TOF = 0, use factor 1.0 for the delay between two ToF
measurements
HZ60 = 0, 50 Hz base
FIREO_DEF = 1, mandatory when using the internal analog circuit
QUAD_RES = 1, use 23 ps BIN
DOUBLE_RES = 0
TEMP_PORTDIR = 0, standard order for T measurement
ANZ_FIRE = 10 (see register 0, too)
ID6 = ’h00
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
6-3
Ultrasonic-Flow-Converter
TDC-GP22
Measurement flow:
Go to look-up table to get the temperature.
Power-on reset:
Time-of-flight measurement every half
second:
Send SO = ’h50
Send SO = ’h70 Initialize TDC
Calibrate Clock:
Send SO = ’h03 Start_Cal_Resonator
Send SO = ’h05 Start_TOF_Restart
Check-loop INTN = 0? (TOF_UP)
Check-loop INTN = 0?
Send SO = ’hB4, Read SI = STAT
Send SO = ’hB0, Read SI = RES_0
STAT&’h0600 > 0: -> Error routine,
Correction factor = 61.035/RES_0
timeout = empty tube.
Measurement loop:
Send SO = ’hB3, Read SI = RES_3
Temperature measurement, every 30
Send SO = ’h70 Initialize TDC
seconds:
Check-loop INTN = 0? (TOF_DOWN)
Send SO = ’h02 Start_Temp
Send SO = ’hB4, Read SI = STAT
Check-loop INTN = 0?
STAT&’h0600 > 0: -> Error routine
Send SO = ’hB4, Read SI = STAT
Send SO = ’hB3, Read SI = RES_3
STAT&’h1E00 > 0: -> Error routine
µP can now start the data post-processing
Send SO = ’hB0, Read SI = RES_0
Send SO = ’hB1, Read SI = RES_1
Send SO = ’hB2, Read SI = RES_2
Send SO = ’hB3, Read SI = RES_3
and calculate the flow and the heat.
Check signal strength via pulse width:
Send SO = ’hB8, Read SI = PW1ST
If PW1ST < 0.3 signal is too weak, alarm
Rhot/Rref = RES_0/RES_1
Rcold/Rref = RES_3/RES_2
6-4
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
7
Miscellaneous
7.1
Bug Report
7.1.1
TDC-CAL read error without Quad resolution
In case quad resolution is not set then reading separately the TDC cal value will give a
wrong read value. The internal calibration value is correct, but the transfer to the read
register is not correct. Therefore, measurement data are not affected.
Effect in Measurement mode 2:
- In this mode the cal value is for information only. Further, quad resolution is
recommended anyway.
Effect in Measurement mode 1:
- Customers using auto calibration are not affected.
- Only customers that want to read uncalibrated data and do external calibration are
affected.
Workaround:
- The calibration data are not addressed directly after the calibration measurement but
after the next regular measurement, before the next INIT.
Example:
Reg1 = ’h21...
Reg1 = ’h67...
result0 = read(adr=0)
cal = read(adr=1)
INIT
7.1.2
Timeout Temperature Measurement
Note: Due to a bug it is necessary to have SEL_TIMO_MB2 at 2ms to get a correct
interrupt indication when 512 µs cycle time is selected.
7.1.3
Timeout and Pulse-width Measurement
Problem:
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
7-1
Ultrasonic-Flow-Converter
TDC-GP22
In case there is a timeout (e.g. because of air in the spool piece) the pulse -width
measurement starts but does not end before there is an INIT. The cu rrent is increased by
500 µA. The problem appears only with active pulse-width measurement.
Solutions:
1.
It is mandatory to answer to any interrupt from TDC-GP22 by minimum an INIT
command. Even in case you know the next data are bad you need to send an INIT to stop
the pulse-width measurement. Also in case you don’t read the data. Of course, timeout
has to be selected as an interrupt source.
2.
7.2
If pulse-width information is not used then switch off this unit.
Last Changes
02.11.2011
Version 0.0 for release
27.01.2012
Version 0.1 for release, sections 6 and 7 modified
29.03.2012
Version 0.3 for release, 7.1.2 new, registers 1 and 4 corrected
24.05.2012
Version 0.4. for release, page 2-6, page 3-7
26.06.2012
Version 0.5. for release, page 7-1 and 7-2, section 7.1.3, page 2-9
package outline
15.02.2013
Version 0.6 for release
23.05.2013
Version 0.7 Correction Status register (EEflags). Smaller additions.
12.11.2013
Version 0.8 In Measurement Mode 2 Tmin=700ns adapted;
Expands section 2.6 Power Supply, page 2-15;
Description EN_ANALOG (Register 6) adds, page 3-12
Description of the ALU Operation Pointer adds; page 3-16;
Important supplement to writing the EEPROM, page 3-18;
Expands section 4.4 First Wave Mode, page 4-19
Description of the configuration of the Fire Pulse Generator adds, page 5 -6
Add new section 5.5 EMC Measures, page 5-10
Revised the used registers, page 6-2;
13.03.2014
Version 0.9: EMC section corrected
7-2
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
TDC-GP22
acam messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee - Germany - www.acam.de
Member of the ams Group
7-3
acam-messelectronic gmbh
Friedrich-List-Straße 4
76297 Stutensee-Blankenloch
Germany
Phone +49 7244 7419 – 0
Fax
+49 7244 7419 – 29
E-Mail [email protected]
www.acam.de
Member of the ams Group