Target Specification
Time-to-Digital Converter
TDC-GP2
26th May 2010
Document-No.: DB_GP2_e V2.0
2-channel Universal
Time-to-Digital Converter
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
TDC
1
TDC-GP2
Disclaimer / Notes
The 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 information is subject to change without notice
and is provided „as is“ without warranty of any kind (expressed or implied). Picostrain is a registered
trademark of acam. All other brand and product names in this document are trademarks or service
marks of their respective owners.
Support
For a complete listing of direct sales, distributors and sales representatives visit the acam website
at:
http://www.acam.de/company/distributors
For technical support you can contact the acam support team in the headquarter in Germany or the
Distributor in your country. The contact details of acam in Germany are:
sales@acam.de or by phone +49-7244-74190.
Published by acam-messelectronic gmbh
© acam-messelectronic gmbh 2010
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2
Table of Contents
TDC-GP2
1 Overview 1-4
2.4 Package Drawings
2 Characterisitcs &
2-7
2.3 Pin Description 2-6
2.2 Timings 2-3
2.1 Electrical Characteristics 2-1
2.5 Power Supply 2-8
2.6 Register settings 2-10
3 Measurement Mode 1 3.2 Measurement Flow 3-2
3.1 General Description 3-1
4 Measurement Mode 2
4.3 Stop Masking 4-7
4.2 Measurement Flow 4-2
4.1 General Descriptionweis 4-1
5.4 SPI-interface
5 Details and Special Functions 5-10
5.3 Temperature Measurement 5-7
5.2 Fire-pulse Generator 5-4
5.1 Oscillator 5-1
5.5 Fast Initialization 5-11
5.6 Noise Unit 5-11
6 Applications 6-1
7 Miscellaneous 7-1
Specifications
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
3
TDC-GP2
Time-to-Digital-Converter
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 1-4
TDC-GP2
1 Overview
1.1 Introduction
TDC-GP2 is the next generation of acam generalpurpose TDCs. Higher resolution and smaller pa-
ckage size make it ideal for cost sensitive industrial applications. With special functional blocks like a
fire-pulse generator, stop-enable, temperature measurement, and clock control it is perfectly suited
for ultrasonic flow-meter and heat-meter applications.
1.2 Features
Measurement Mode 1
2 channels with typ. 50 ps resolution rms
Measurement range 3.5 ns to 1.8 µs (0 to
1.8µs between stop channels)
15 ns pulse-pair resolution with 4-fold multihit
capability
4 events can be measured arbitrarily against
each other
Trigger to rising or/and falling edge
Windowing for precise stop enable
Measurement Mode 2
1 channel with typ. 50 ps resolution rms
Measurement range 500 ns to 4 ms
2 x CLKHS pulse-pair resolution with 3-fold
multihit capability
Trigger to rising or/and falling edge
Each of the 3 events can be assigned to an
adjustable measuring window with 10ns reso-
lution
Temperature Measurement
2 or 4 sensors
PT500/PT1000 or higher
Very high resolution: 16 Bit eff.
(0.004 °C resolution for platinum sensors)
Ultra low current (0.08 µA when measuring
every 30 seconds)
General
QFN 32 package
I/O voltage 1.8 V to 5.5 V
Core voltage 1.8 V to 3.6 V
1 MHz continuous data rate max.
Temperature range – 40 °C to 125 °C
4 wire SPI interface
Fire pulse generator
Clock calibration unit
Precise stop enable by windowing
Trigger to rising and/or falling edge
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
1-5
TDC-GP2
Time-to-Digital-Converter
1.3 Blockdiagram
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-1
TDC-GP2
2 Characterisitcs & Specifications
2.1 Electrical Characteristics
Absolute Maximum Ratings
Supply voltage
Vcc vs. GND - 0.3 to 4.0 V
Vio vs. GND - 0.3 to 7.0 V
Continous current into Output-Pin (Iout) 30 mA
Storage temperature (Tstg) - 65 to 150 °C
Junction temperature (Tj) max.125 °C
Recommended Operating Conditions
Symbol Parameter Conditions Min Typ Max Unit
Vcc Core supply voltage* Vio > Vcc 1.8 3.6 V
Vio I/O supply voltage 1.8 5.5 V
tri Normal Input Rising Time 50 ns
tfa Normal Input Falling Time 50 ns
tri Schmitt Trigger Rising Time 5 ms
tfa Schmitt Trigger Falling Time 5 ms
Ta Ambient Temperature Tj must not exceed
125°C
-40 120 °C
*including the oscillator pins XIN, XOUT, Clk32In, Clk32Out
DC Characteristics (Vio = Vcc = 3.3 V ± 0.3 V, Tj = -40 to +85°C)
Symbol Parameter Conditions Min Typ Max Unit
I32 Current 32 kHz Icc + Iio, only 32kHz os-
cillator running,
Vcc = 3.6 V
4.5 µA
Ihs Current 4 Mhz Icc + Iio, only ClkHS run-
ning cont. at 4MHz,
Vcc = 3.6 V
260 µA
Itmu Current time measuring
unit
only during active time
measurement
15 mA
Iddq Quiescent current all clocks off, Vio = Vcc =
3.6 V @ 85 °C
<150 nA
Il Input Leakage Current -1 +1 µA
Voh High Level Output Voltage Ioh= tbd mA Vio=Min. Vio-
0.4
V
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-2
TDC-GP2
Time-to-Digital-Converter
Symbol Parameter Conditions Min Typ Max Unit
Vol Low Level Output Voltage Iol = tbd mA, Vio=Min 0.4 V
Vih High Level Input Voltage LVTTL Level, Vio = Max. 2.0 V
Vil Low Level Input Voltage LVTTL Level, Vio = Min. 0.8 V
Vth High Level Schmitt Trigger
Voltage
1.1 2.4 V
Vtl Low Level Schmitt Trigger
Voltage
0.6 1.8 V
Vh Schmitt Trigger Hysteresis 0.1 V
Terminal Capacitance
Symbol Terminal Condition Rated Value Unit
Min. Typ. Max.
Ci Input measured @ Vcc = Vio,
f = 1 MHz,
Ta = 25°C
10 pF
Co Output 10
Cio Bidirectional 10
Time Measuring Unit
Symbol Terminal Condition Rated Value Unit
Min. Typ. Max.
LSB Vio = Vcc = 3.3 V -40 °C
3.6 V
25 °C
3.3 V
85 °C
3.0 V
ps
35 63 111
Vio = Vcc = 2.5 V -40 °C
2.75 V
25 °C
2.5 V
85 °C
2.25 V
38 76 156
Standard Deviation Vio=3.3 V, Vcc =3.3 V 2.75 V 2.5 V
Ta = 25°C - 50 -
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-3
TDC-GP2
Temperature Measuring Unit
Symbol Terminal Condition Rated Value Unit
Min. Typ. Max.
Resolution RMS Vio = Vcc =3.3 V
PT1000
150 nF Capacitance
16.0 Bit
SNR 96 dB
Absolute Gain-Error 0,1 %
Gain-Drift vs. Vio 0,08 %/V
Gain-Drift vs. Temp 0,0008 %/K
Uncalibrated Offset <0.01 %
Offset Drift vs.
Temp
<0,2 ppm/K
PSRR >100 dB
2.2 Timings
At Vcc = 3.3 V ± 0.3 V, ambient temperature -40 °C to +85 °C unless otherwise specified
Oscillator
Symbol Parameter Min. Typ. Max. Unit
Clk32 32 kHz reference oscillator 32,768 kHz
toszst Oscillator start-up time with ceramic resonator 200 µs
toszst Oscillator start-up time with crystal oscillator 5 ms
ClkHS High-speed reference oscillator 2 8 MHz
Serial Interface
Symbol Parameter Max. @ Vio = Unit
2.0 V 2.5 V 3.3 V
fclk Serial clock frequency 10 20 25 MHz
Symbol Parameter Min. @ Vio = Unit
2.0 V 2.5 V 3.3 V
tpwh Serial clock, pulse width high 50 25 20 ns
tpwl Serial clock, pulse width low ns
tsussn SSN enable to valid latch clock 20 40 10 ns
tpwssn SSN pulse width between write cycles 50 30 20 ns
thssn SSN hold time after SCLK falling 70 40 25 ns
tsud Data set-up time prior to SCLK falling 10 5 5 ns
thd Data hold time before SCLK falling 10 5 5 ns
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-4
TDC-GP2
Time-to-Digital-Converter
Symbol Parameter Max. @ Vio = Unit
1.8 V 2.5 V 3.3 V
tvd Data valid after SCLK rising 30 20 16 ns
Serial Interface (SPI compatible, Clock Phase Bit =1, Clock Polarity Bit =0):
Figure 2-1: SPI Write
Figure 2-2: SPI Read
8-Bit Opcodes:
MSB LSB Description
1 0 0 0 0 ADR2 ADR1 ADR0 Write into address ADR
1 0 1 1 0 ADR2 ADR1 ADR0 Read from address ADR
01110000Init
0 1 0 1 0 0 0 0 Power On Reset
0 0 0 0 0 0 0 1 Start_Cycle
0 0 0 0 0 0 1 0 Start_Temp
0 0 0 0 0 0 1 1 Start_Cal_Resonator
0 0 0 0 0 1 0 0 Start_Cal_TDC
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-5
TDC-GP2
Disable Timings
Figure 2-3:
Spec Description Min (ns) Max (ns)
tS-EN Enable Setup Time 5 ns -
tSH-EN Enable Hold Time 5 ns -
Reset Timings
Figure 2-4:
Spec Description Min (ns) Max (ns)
tph Reset pulse width 50 ns -
trfs Time after rising edge of reset
pulse before hits are accepted
200 ns -
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-6
TDC-GP2
Time-to-Digital-Converter
2.3 Pin Description
No. Name Description Buffer type Value If not
used
1 Xin Oscillator driver in GND
2 Xout Oscillator driver out
3 Vio I/O – supply voltage
4 GND Ground
5 Fire1 Fire pulse generator output 1 48 mA
6 Fire2 Fire pulse generator output 2 48 mA
7 Fire_In Signal input for quasi “Sing Around” GND
8 INTN Interrupt flag 12 mA LOW active
9 SSN Slave select Schmitt trigger LOW active
10 SCK Clock serial interface Schmitt trigger
11 SI Data input serial interface Schmitt trigger
12 SO Data output serial interface 12 mA tristate
13 RSTN Reset input Schmitt trigger LOW active
14 Vcc Core supply voltage
15 Clk32Out Output 32 kHz clock generator n. c.
16 Clk32In Input 32 kHz clock generator GND
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-7
TDC-GP2
No. Name Description Buffer type Value If not
used
17 SenseT Sense input temperature measure-
ment
Schmitt trigger GND
18 LoadT Load output temperature measure-
ment
24 mA n.c.
19 PT4 Port 4 temperature measurement 48 mA
20 PT3 Port 3 temperature measurement 48 mA
21 GND Ground
22 Vio I/O – supply voltage
23 PT2 Port 2 temperature measurement 48 mA
24 PT1 Port 1 temperature measurement 48 mA
25 En_Stop2 Enable pin stop input 2 Schmitt trigger HIGH active Vio
26 En_Stop1 Enable pin stop input 1 Schmitt trigger HIGH active Vio
27 Stop2 Stop input 2 GND
28 GND Ground
29 Vcc Core supply voltage
30 Stop1 Stop input 1 GND
31 Start Start input
32 En_Start Enable pin start input Schmitt trigger HIGH active Vio
2.4 Package Drawings
Suitable socket: Plastronics 32QN50S15050D
Symbol Dimension in Millimeters
Center pad shall not be connected to GND.
Min. Nom. Max.
D - 5 -
E - 5 -
A - - 1
A1 0 - -
b 0.17 - 0.3
e - 0.5 -
L 0.3 - 0.5
G 3.24
Thermal resistance
Roughly 40 K/W at 0 m/s air flow, 37 K/W at 1 m/s air flow, 35 K/W at 2m/s air flow (values
just for reference).
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-8
TDC-GP2
Time-to-Digital-Converter
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.
Maximum temperature
The maximum temperature requirement for the resin surface, given 260ºC as the peak tempera-
ture 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 recommen-
ded. In addition to using a suitable temperature profile, we also recommend that you check carefully
to confirm good soldering results.
2.5 Power Supply
Supply voltage
Although the TDC-GP2 is a fully digital circuit, some analog measures affect the circuit. The reason
is that the TDC is based on the internal analog measure ‚propagation delay time‘ which is influenced
by temperature and supply voltage. A good layout of the supply voltage is essential for good measure-
ment results. It should be high capacitive and of low in-ductance.
The TDC-GP2 provides two pairs of power supply terminals:
Vio - I/O supply voltage
Vcc - Core supply voltage
All ground pins should be connected to a ground plane on the printed circuit board. Vio and Vcc
should be provided by a battery or fixed linear voltage regulator. Do not use switched regulators to
avoid disturbances caused by the I/O supply.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-9
TDC-GP2
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 100 µF (minmum 47 µF)
Vio 10 µF (minimum 1 µ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.6V):
Iddq < 150 nA Quiescent current,
I32 typ. 4.5 µA Current into the 32 kHz oscillator, turned on only if the 32 kHz
oscillator is connected
Ihs typ. 260 µA/s Current into the high speed oscillator,
* (active runtime) Example: In ultrasonic flow-meters the high-speed oscillator is
on for about 2ms only. The average current consumption is
260 µA/s * 2 ms = 0.52 µA
Itmu typ. 15 mA/s Current into the time measuring unit, In measurement range 1
* (active measuring time) the time measuring unit is active for the start-stop time inter
val plus the calibration time interval of 2 periods of the refe
rence clock per measurement.
In measurement range 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
range 2 and a 4 MHz reference clock the time measuring unit
is active for only about 10 µs.
The average current is 15 mA/s * 10 µs = 0.150 µA.
Ialu typ. 7 nA per calculation Current into ALU during data proccesing including
a calibration calculation.
Example: At 1000 measurements per second with 3 stops per
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-10
TDC-GP2
Time-to-Digital-Converter
start the ALU average current is 7 nA * 3000 = 21 µA.
IT typ. 2.5 µAs * measure rate The current for a full temperature measurement is typ.2.5µAs.
In heat-meters the temperature is measured typically once
every 30 seconds. The average current is about 0.085 µA
2.6 Register settings
Service bits are for acam testing and security purposes only, Please use the recommended values.
2.6.1 Write registers
Default values in second rows
Bit Reg0 (*) Reg1 (*) Reg2 (*) Reg3 (*) Reg4 (*) Reg5 (*)
23 FIRE# 0 HIT2 0 EN_INT 0 s.c. 0 s.c. 0 CONF_FIRE 0
22 0 1 0 s.c. 0 s.c. 0 0
21 0 0 1 EN_ERR_VAL 0 s.c. 1 0
20 0 1 RFEDGE2 0 SEL_TIMO_
MR2
1 s.c. 0 EN_STARTNOISE 0
19 DIV_FIRE 0 HIT1 0 RFEDGE1 0 1 s.c. 0 DIS_PhaseNoise 0
18 0 1 DELVAL1 0 DELVAL2 0 DELVAL3 0 REPEAT_FIRE 0
17 0 0 0 0 0 0
16 0 1 0 0 0 0
15 CALRES# 0 EN_FAST_INIT 0 0 0 0 PHASE_FIRE 0
14 0 s.c. 1 0 0 0 0
13 ClkHSDiv 0 HITIN2 0 0 0 0 0
12 0 0 0 0 0 0
11 START_ClkHS 0 0 0 0 0 0
10 1 HITIN1 0 0 0 0 0
9 PORT# 1 0 0 0 0 0
8 TCycle 0 0 0 0 0 0
7 No_FAKE 0 n.c 0 0 0 0 0
6 SelClkT 1 n.c 0 0 0 0 0
5 Calibrate 1 n.c 0 0 0 0 0
4 DisAutoCal 0 n.c 0 0 0 0 0
3 MRange2 1 n.c 0 0 0 0 0
2 NEG_STOP2 0 n.c 0 0 0 0 0
1 NEG_STOP1 0 n.c 0 0 0 0 0
0 NEG_START 0 n.c 0 0 0 0 0
s.c. = Special acam configuration bits, n.c. = not in use
(*) = Default value after Power On Reset
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-11
TDC-GP2
Short description of the bits:
Bits Name Descritpion Value
Reg 0
0 NEG_START Negation start input 0 = non-inverted input signal – rising edge
1 = inverted input signal – falling edge
1 NEG_STOP1 Negation stop 1 input 0 = non-inverted input signal – rising edge
1 = inverted input signal – falling edge
2 NEG_STOP2 Negation stop 2 input 0 = non-inverted input signal – rising edge
1 = inverted input signal – falling edge
3 MRange2 Switch to measurement range 2 0 = measurement range 1
1 = measurement range 2
4 DisAutoCal Enables/disables auto-calibration
run in the TDC
0 = auto-calibration after measurement
1 = auto-calibration disabled
5 Calibrate Enables/disables calibration
calculation in the ALU
0 = calibration off (only MR 1)
1 = calibration on
6 SelClkT Select reference signal for internal
cycle clock for tem-perature
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 )
7 FAKE# Number of dummy cycles at the
beginning of a tempera-ture
measurement
0 = 2 Fake measurements
1 = 7 Fake measurements
8 TCycle Sets cycle time for tempera-ture
measurement
0 = 128 µs cycle time @ 4 MHz
1 = 512 µs cycle time @ 4 MHz (recommended)
9 PORT# Sets number of ports used for
temperature measure-ment
0 = 2 temperature ports (PT1 and PT2)
1 = 4 temperature ports
10-11 START_CLKHS Switch on high-speed oscilla-tor 0 = Oscillator off
1 = Oscillator on
2 = settling time = 640 µs
3 = settling time = 1280 µs (see Bug Report)
12-13 ClkHSDiv Sets predivider for CLKHS 0 = divided by 1
1 = divided by 2
2 = divided by 4
3 = divided by 4
14-15 CALRES# Sets number of periods used for
calibrating the ceramic resonator
0 = 2 periods = 61.035 µs
1 = 4 periods = 122.07 µs
2 = 8 periods = 244.14 µs
3 = 16 periods = 488.281 µs
16-19 DIV_FIRE Sets predivider for internal clock
signal of fire pulse generator
0 = not permitted1 = divided by 2
2 = divided by 3
3.= divided by 4
15 = divided by 16
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-12
TDC-GP2
Time-to-Digital-Converter
20-23 FIRE# Sets number of pulses gen-erated
by fire pulse generator
0 = off
1 = 1 pulse
2 = 2 pulses
3 = 3 pulses
15 = 15 pulses
Reg 1
8-10 HITIN1 Number of expected hits on
channel 1
0 = stop channel 1 disabled
1 = 1 hit
2 = 2 hits
3 = 3 hits
4 = 4 hits
5 to 7 = not permitted
11-13 HITIN2 Number of expected hits on
channel 2
0 = stop channel 2 disabled
1 = 1 hit
2 = 2 hits
3 = 3 hits
4 = 4 hits
5 to 7 = not permitted
15 EN_FAST_INIT Enables fast init operation 0 = Fast init mode disabled
1 = Fast init mode enabled
16-19 HIT1 Defines operator for ALU data
post-processing
MRange1: HIT1-HIT2
MRange2: HIT2-Start
MRange1:
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
MRange2:
1 = Start
20-23 HIT2 Defines operator for ALU data
post-processing
MRange1: HIT1-HIT2
MRange2: HIT2-Start
MRange1:
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
MRange2:
2 = 1. Stop Ch1
3 = 2. Stop Ch1
4 = 3. Stop Ch1
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-13
TDC-GP2
Reg 2
0-18 DELVAL1 Delay value for internal stop ena-
ble unit, hit 1 channel 1. Fixed
point number with 14 integer
and 5 fractional digits in multip-
les of Tref
DELVAL1 = 0 to 16383.96875
19 RFEDGE1 Edge sensitivity channel 1 0 = rising or falling edge
1 = rising and falling edge
20 RFEDGE2 Edge sensitivity channel 1 0 = rising or falling edge
1 = rising and falling edge
21-23 EN_INT Activates interrupt sources wired
by OR
Bit 23 = Timeout interrupt enable
Bit 22 = End Hits interrupt enable
Bit 21 = ALU interrupt enable
Reg 3
0-18 DELVAL2 Delay value for internal stop
enable unit, hit 2 channel 1.
Fixed point number with 14
integer and 5 fractional digits
in multiples of Tref
DELVAL1 = 0 to 16383.96875
19-20 SEL_TIMO_MR2 Select predivider for timeout in
measurement range 2
0 = 64 µs
1 = 256 µs
2 = 1024 µs
3 = 4096 µs
@ 4 MHz ClkHS
21 EN_ERR_VAL Timeout forces ALU to write
0xFFFFFFFF into the output
register
0 = disabled
1 = enabled
Reg 4
0-18 DELVAL1 Delay value for internal stop ena-
ble unit, hit 3 channel 1. Fixed
point number with 14 integer
and 5 fractional digits in multip-
les of Tref
DELVAL1 = 0 to 16383.96875
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-14
TDC-GP2
Time-to-Digital-Converter
Reg 5
0-15 PHASE_FIRE Enables phase reversing for each
pulse of a sequence of up to 15
possible pulses
0 = no inversion
1 = inversion
16-18 REPEAT_FIRE Number of pulse sequnce repeti-
tion for "quasi-sing-arround"
0 = no signal repetition
1 = 1 signal repetition
2 = 2 signal repetition
...
7 = 7 signal repetition
19 DIS_PHASENOISE Phase noise unit, has to be disa-
bled, See bug report section 7.2
1 = disable phase shift
Setting 1 is mandatory
20 EN_STARTNOISE Enables additional noise for start
channel
1 = switch on noise unit
21-23 CONF_FIRE Output configuration for pulse
generator
Bit 23 = 1: negate output Fire2
Bit 22 = 1: disable output Fire2
Bit 21 = 1: disable output Fire1
2.6.2 Read registers / Output data format
ADR Symbol Bits Description
0 RES_0 32 Measurement result 1, fixed-point number with 16 integer and 16 fractional digits
215 20,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
n.c. Error
short
Error
open
Timeout
Precounter
Timeout
TDC
# of hits
Ch2
# of hits
Ch1
Pointer
result
register
5 REG_1 8 Content of highest 8 Bits of write register 1, to be used for testing the communication
The data structure and the occupancy of the result registers depends on the operation mode and
whether calibrated or non-calibrated data are stored. Several cases must be distinguished:
Only in measurement range 1 negative results are possible.
In measurement range 2 only positive results are possible, given as unsigned numbers.
A non-calibrated measurement is only possible in measurement range 1.
In measurement range 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 0xFFFFFFFF is written in the appropriate result register.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 2-15
TDC-GP2
a. Measurement range 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 re-
sult register. The serial output begins with the highest bit (215) and ends with the lowest
one (2-16). The numbers are available in complements of 2.
Time = RES_X * Tref * 2ClkHSDiv = RES_X * Tref * N , with N = 1, 2 or 4
Time < 2 * Tref * 2ClkHSDiv
b. Measurement range 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 * 65 ps
c. Measurement range 2
In measurement range 2 the TDC-GP2 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 (215) and ends with the lowest one
(2-16). The numbers are available in complements of 2.
Time = RES_X * Tref * 2ClkHSDiv = RES_X * Tref * N , with N = 1, 2 or 4
d. Temperature measurement
Discharge tiem in the same format as in c. measurement mode 2.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
2-16
TDC-GP2
Time-to-Digital-Converter
2.6.3 Status register
Bits Name Description Values
2 – 0 Pointer result register Pointer to the next free result register
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
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 3-1
TDC-GP2
3 Measurement Mode 1
3.1 General Description
2 stop channels referring to one start channel
Each of typ. 50 ps RMS resolution
LSB width typ. 65 ps
15 ns pulse pair resolution
4-fold multihit capability for each stop channel
Measurement range 3.5 to 1.8 µs (0 to 1.8µs between stop channels)
Selectable rising/falling edge sensitivity for each channel
Enable pins for powerful windowing functionality
The possibility to arbitrarily measure all events against each other
Digital TDCs use internal propagation delays of signals through gates to measure time intervals with
very high precision. Figure 5 clarifies the principal 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 stron-
gly depends on the maximum possible gate propagation delay on the chip.
Figure 3-1
The measuring unit is actuated by a START signal and stopped by a STOP signal. Based on the positi-
on of the ring oscillator and the coarse counter the time interval between START and STOP is calcula-
ted with a 20 Bit measurement range.
The BIN size (LSB) is typically 65 ps at 3.3 V and 25 °C ambient temperature. The RMS noise is
about 50 ps (0.7 LSB). The gate propagation delay times strongly depend on temperature and vol-
tage. 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:
tyy = BIN x 26224 ~ 1.8 µs
Figure 3-2
3.2.1 Configuration
At the beginning the TDC-GP2 has to be
configured. The main settings for measu-
rement range 1 are:
a. Select measurement range1
setting register 0, Bit3, MRange2 = 0.
b. Select the reference clock
(see also section 5.1)
Register 0, Bits 10&11, START_CLKHS
defines the switch-on behavior of the
high-speed clock. If only the 32kHz is used
this is be set to „0“. If only the high-speed
clock is used this is be set to „1“(conti-
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
3-2
TDC-GP2
Time-to-Digital-Converter
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 0 to 2. (NEG_START, NEG_STOP1, NEG_STOP2) and register 2, Bit 19&20,
RFEDGEx.
Furthermore all Start/Stop-inputs support a high active enable pin.
3.2 Measurement Flow
Figure 3-3
Time (Condition) Description
tph 2,5 ns (min.) Minimum pulse width
tpl 2,5 ns (min.) Minimum pulse width
tss 3.5 ns ns (min)
1.8 µs (max.)
Start to Stop
trr 15 ns (typ.) Rising edge to rising edge
tff 15 ns (typ.)
tva 560 ns uncalibrated
4.6 µs calibrated
Last hit to data valid
txx No timing limits
tyy 1,8 µs (max) Max. measuring range
nuously 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 12&13, ClkHSDiv sets an additional internal divider for the reference clock (1,2 or
4). This is important for calibrated measurements in measurement range 1 because the ALU works
correctly only if 2*Tref(intern) is bigger than the maximum time interval to be measured. Otherwise
the ALU output is 0xFFFFFFFF.
Make also sure that 2*Tref(intern) < 1.8 µs to avoid a timeout during calibration.
c. Set the number of expected hits
In register 1, Bits 8 to 10 and 11 to 13, HITIN1 and HITIN2 the user has to define the number of
hits the TDC-GP2 has to wait for. A maximum of 4 on each channel is possible. The TDC-GP2 measu-
res 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-GP2 ALU can internally calibrate the
results. This option is switched on by setting register 0, Bit5, Calibrate = „1“. It is recommended 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 4, DisAutoCal = „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
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 3-3
TDC-GP2
3 = 3. Stop Ch1 B = 3. Stop Ch2
4 = 4. Stop Ch1 C = 4. Stop Ch2
6 = Cal1 Ch1
7 = Cal2 Ch1
The ALU calculates Hit1 - Hit2.
In case calibration is active the ALU does the full calibration calculation (except when reading the cali-
bration values. In this case the ALU writes the Cal1/Cal2 raw data to the output register).
N = 1, 2 or 4.
Figure 3-4
Examples:
Reg1 = 0x01xxxx - 1st Stop Ch1-Start
Reg1 = 0x2Bxxxx - 3rd Stop Ch2-2nd
Stop Ch1
Reg1 = 0x06xxxx - Cal1
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
3-4
TDC-GP2
Time-to-Digital-Converter
f. Select input sensitivity
In register 2, Bits 19 & 20, RFEDGE1 and RFEDGE2, the user can select whether the stop in-
puts are sensitive to either rising or falling edges (RFEDGE = „0“) or to both rising and falling edges
(RFEDGE = „1“).
In register 0, Bits 0 to 2 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 interrupt pin 8, INT can have different sources. They are selected in register 2, Bits 21 to 23,
EN_INT.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 3-5
TDC-GP2
EN_INT = 0 no Interrupt source
1 ALU ready
2 The set number of hits is there
4 Timeout of the TDC unit
The different options are wired by OR to enable more than one source.
There are further configuration options that will be described later in this chapter.
After the configuration the user has to initialize the TDC-GP2 by sending opcode „Init“ so that the TDC
accepts Start and Stop hits.
3.2.2 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 MR1)
or until a timeout occurs at the end of the measurement range (at about1.8µs in ,MR1).
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 measures one and two periods
of the internal reference clock (Tref * 1,2 or 4). The calibration raw data Cal1 and Cal2 are also
internally stored.
Figure 3-5
3.2.3 Data Processing
At the end of the measurement the ALU starts to process the data according to the HIT1, HIT2 set-
tings 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 32Bit fixed point number to the output register.
The ALU can be switched off configuring HIT1=HIT2=5.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
3-6
TDC-GP2
Time-to-Digital-Converter
The time it takes the ALU depends on whether calibration is on or not and the supply voltage.
Table 3-1: ALU timings
un-calibrated calibrated
3.3 V 220 ns 2.3 µs
2.5 V 310 ns 2.5 µs
2.0 V 580 ns 2.8 µ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.
3.2.4 Reading Data
Now the user can read the data sending the opcode 10110ADR. With the next 16 cycles (un-calib-
rated data) or 32 cycles (calibrated data) the TDC-GP2 will send the result, beginning with the most
significant Bit (MSB).
a. Un-calibrated data format:
16 Bit Signed integer in complements of 2. 1BIN = uncalibrated gate delay is about 65ps at 5V and
25°C.
Time = RES_X x 65ps
b. Calibrated data format:
32 Bit fixed-point number in complements of 2.
Given in multiples of the reference clock.
Time = RES_X * Tref * N, N = 1, 2 or 4
The measured time interval may not exceed ,
otherwise the ALU will go into overflow and will
write the data 0xFFFFFFFF to the output regis-
ter.
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 necessary to wait for
minimum 4.6µs (calibrated data) or 580ns (un-
calibrated data) before reading or writing again
to HIT1/HIT2.
Example:
configuration
...
write reg1=0x104400 4 hits on channel 1,
calculate Hit1-Start
...
Initialize
...
while(Check interrupt flag)
write reg1=0x204400 calculate Hit2-Start
wait(4.6µs)
write reg1=0x304400 calculate Hit3-Start
wait(4.6µs)
write reg1=0x404400 calculate Hit4-Start
wait(4.6µs)
Now all Hit data are available from registers 0 to 3.
The load pointer value is 4.
At the end the TDC-GP2 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.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 4-1
TDC-GP2
4 Measurement Mode 2
4.1 General Description
1 stop channels referring to one start channel
Typ. 50 ps RMS resolution
LSB width typ. 65 ps
2 x Tref pulse pair resolution
3-fold multihit capability
Measurement range 2 x Tref to 4 ms @ 4MHz
Selectable rising/falling edge sensitivity
Integrated programmable windowing for each single stop with 10 ns precision
Digital TDCs use internal propagation delays of signals through gates to measure time intervals with
very high precision (see also measurement range 1, section 4).
In measurement range 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-1
The BIN size (LSB) is typically 65 ps at 3.3 V and 25 °C ambient temperature. The RMS Noise is
approx. 50 ps (0.7 LSB). The gate propagation delay times strongly depend on temperature and vol-
tage. In measuring range 2 the result is the sum of different fine and coarse-count results. Therefore
it is necessary in measuring range 2 to make a calibration. During a calibration the TDC measures 1
and 2 periods of the reference clock.
The measurement range is limited by size of the coarse counter:
tyy = Tref x 214 = 4.1ms @ 4MHz
The time interval between START and STOP is calculated with a 26 Bit measurement range.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
4-2
TDC-GP2
Time-to-Digital-Converter
Figure 4-2 Time (Condition) Description
tph 2,5 ns (min.) Minimum pulse width
tpl 2,5 ns (min.) Minimum pulse width
tss 2*Tref Start to Stop @
Dis_Phasenoise=1
trr 2*Tref Rising edge to rising edge
tff 2*Tref Falling edge to falling edge
tva 4.6 µs (max.) ALU start to data valid
tyy 4 ms (max) Max. measuring range
Input circuitry
Each input separately can be set to be sensitive to rising or falling edge. 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 Measurement Flow
Figure 4-3
4.2.1 Configuration
At the beginning the TDC-GP2 has to be configu-
red. The main settings for measurement range 2
are:
a. Select measurement range2
setting register 0, Bit3, MRange2 = 1.
b. Select the reference clock
(see also section 5.1)
In measurement range 2 the TDC-GP2 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 32.768 kHz clock is necessary for the timing
control during the oscillator power-on.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 4-3
TDC-GP2
Register 0, Bits 10&11, 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 12&13, ClkHSDiv sets an additional internal divider for the reference clock (1,2 or
4). The choice has an influence on the minimum time interval
tmin = 2 * Tref * 2ClkHDiv
and the maximum time interval
tmax = 214 * Tref * 2ClkHDiv
Further, it is necessary that
2 * Tref * 2ClkHDiv < 1.8 µs.
Otherwise the ALU will go into an overflow during calibration and write 0xFFFFFFFF as output data.
c. Set the number of expected hits
In register 1, Bits 8 to 10, HITIN1 the user has to define the number of hits the TDC-GP2 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-GP2
measures until the set number of hits is registered or a timeout occurs. register 0, Bits 11 to 13,
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, Bit5, 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 4, DisAutoCal = „0“. In most applications this will be
the preferred setting.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
4-4
TDC-GP2
Time-to-Digital-Converter
e. Define ALU data processing
While the TDC unit can measure up to 3 hits the ALU can calculate only one hit at once. The settings
are done in register 1, Bits 16 to 19 and 20 to 23, HIT1 and HIT2. The Start pulse is internally
handled like a Stop pulse because of the special measuring method in measurement range 2.
Reg1 = 0x21xxxx = Calculate 1st Stop Ch1-Start
Reg1 = 0x31xxxx = Calculate 2nd Stop Ch1-Start
Reg1 = 0x41xxxx = Calculate 3rd Stop Ch1-Start
The ALU calculates the time interval as:
Time = RES_X * Tref * 2ClkHSDiv
f. Select input sensitivity
In register 2, Bits 19 & 20, RFEDGE1 and RFEDGE2, the user can select whether the stop in-
puts are sensitive to either rising or falling edges (RFEDGE = „0“) or to both rising and falling edges
(RFEDGE = „1“). In register 0, Bits 0 to 2 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 register 2, Bits 21 to 23, EN_INT.
EN_INT = 0 no Interrupt source
1 ALU ready
2 The set number of hits is there
4 Timeout of the TDC unit
The different options are wired by OR.
After the configuration the user has to initialize the TDC-GP2 by sending opcode „Init“ so that the TDC
accepts Start and Stop hits.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 4-5
TDC-GP2
4.2.2 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 3 on channel 1 in measurement range 2)
or until a timeout occurs. The timeout can be programmed in multiples of the reference clock
setting Reg 3, Bits 19&20, SEL_TIMO_MR2. At 4 MHz the values are:
SEL_TIMO_MR2 (@ 4 MHz, ClkHSDiv = 0)
= 0 = 64 µs
= 1 = 256 µs
= 2 = 1024 µs
= 3 = 4096 µs
At the end of the time measurement the TDC measures 2 periods of the reference clock for calibra-
tion.
4.2.3 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.1.2.e and
transfers the 32Bit fixed point number to the output register.
The time it takes the ALU depends on the supply voltage:
Table 4-1: ALU timings
calibrated
3.3 V 2.3 µs
2.5 V 2.8 µs
2.0 V 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 incre-
ased 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.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
4-6
TDC-GP2
Time-to-Digital-Converter
4.2.4 Reading Data
Now the user can read the data sending the opcode 10110ADR. With the next 32 cycles (calibrated
data) the TDC-GP2 will send the result, beginning with the main significant Bit (MSB).
The 32 Bit fixed-point number in complements of 2 represent the time interval in multiples of the
reference clock.
Time = RES_X * Tref * 2ClkHSDiv
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 necessary to wait for minimum 4.6µs (cali-
brated data) or 580ns (un-calibrated data) before reading or writing again to HIT1/HIT2.
Example:
configuration
...
write reg1=0x214400 3 hits on channel 1, calculate Hit1-Start
...
Initialize
...
while(Check interrupt flag)
write reg1=0x314400 calculate Hit2-Start
wait(4.6µs)
write reg1=0x414400 calculate Hit3-Start
wait(4.6µs)
Now all hit data are available from registers 0 to 2. The load pointer value is 3.
At the end the TDC-GP2 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.3 Stop Masking
The TDC-GP2 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 regis-
ters 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
Delaymin = DELVALX / 25 * Tref * 2ClkHSDiv
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, ClkHSDiv = 1
DELVAL1 = 0x3200 1st Stop not accepted before 200 µs after Start
(128000/32 * 250ns * 21 = 200 µs)
DELVAL2 = 0x3300 2nd Stop not accepted before 204 µs after Start
(13056/32 * 250ns * 21 = 204 µs)
DELVAL1 = 0x3400 3rd Stop not accepted before 208 µs after Start
(13312/32 * 250ns * 21 = 208 µs)
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 4-7
TDC-GP2
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
4-8
TDC-GP2
Time-to-Digital-Converter
Figure 5-1
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 5-1
TDC-GP2
5 Details and Special Functions
5.1 Oscillator
The TDC-GP2 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 range 2
32 kHz clock signal used for internal timer functions.
5.1.1 High-Speed Oscillator
Generally the TDC-GP2 needs a 2 to 8 MHz high-speed clock for calibration. Operating in measure-
ment range 2 the TDC-GP2 needs the high-speed clock signal also as a part of the time measuring
unit. The oscillator takes an average current of 260 µA when running all the time.
Because it is needed only during the time measu-
rement the TDC-GP2 has the capability to control
the on-time by itself. The high-speed clock can be
switched on automatically with a INIT opcode only
for the period of time measurement. An additional
delay cares for the settling time of the oscillator.
The settings are done in register 0, Bits 10 & 11,
START_CLKHS:
START_CLKHS = 0 Oscillator off
= 1 Oscillator on
= 2 The measurement is started with 640 µs delay.
= 3 same as ‘2’, but with 1280 µs delay
The programmable delay guarantees that the oscillator has settled before the measurement starts.
For ceramic resonators 640 µs will be sufficient.
Note:
Notice the Bug report in section 7 when using Start_CLKHS with quartz oscillators.
By this measure the average current consumption can be drastically reduced.
Example:
At one ToF measurement in an ultrasonic flowmeter (forth/back) per second the high-speed oscilla-
tor is active only for about 2 ms. The average current consumption is 260 µAs * 2 ms = 0.52 µA.
Figure 5-2
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
5-2
TDC-GP2
Time-to-Digital-Converter
5.1.2 32.768 kHz Oscillator
The TDC-GP2 needs a 32.768 kHz reference for the start-up control of the high-speed clock and the
clock calibration. It therefore offers a an integrated driver:
There is no need for the 32.768 kHz clock if the high speed clock is permanently running (START_
CLKSHS = 1) and the high speed clock calibration is not used (e.g. in case of a quartz oscillator).
The 32.768 kHz oscillator is permanently running and has a current consumption of about 4.5 µA at
3.6 V. It is also possible to provide an external low-
frequency rectangular clock at the CLK32Out pin
(3.6 V max.). This signal could be generated by an
external microprocessor. It will reduce the current
consumption down to 1.2 µA. For this reason the
32 kHz oscillator should only be used if no external
low-current 32.768 kHz clock is available. The
settling time of this oscillator is about 2 s.
The external circuit is necessary only if the
32.768 kHz oscillator is used. Otherwise CLK32In has to be connected to GND.
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 tempe-
rature drift. For this reason the TDC-GP2 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-GP2 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, CALRES# and is started with „START_Cal_Resonator“ - instruction by the micro-
processor.
The time interval to be measured is set by CALRES# which defines the number of periods of the
32.768kHz clock:
CALRES# = 0 2 periods = 61.035 µs
= 1 4 periods = 122.07 µs
= 2 8 periods = 244.14 µs
= 3 16 periods = 488.281µs
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 5-3
TDC-GP2
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 cor-
rection factor RES_X/REStheor.
Example:
The system shall work with a 4 MHz resonator. With CLKHSDIV=0 and CALRES#=1 the theore-
tical result is 122.0703125µs/250ns = 488.28125 (RES_0 = 0x01E84800). If the ceramic
resonator in use is not exactly at 4MHz but only 3.98MHz 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.
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 oszillation 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 CALRES#) to
measurement time. Using a permanently updated calibration value will add a considerable jitter to the
measurement result.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
5-4
TDC-GP2
Time-to-Digital-Converter
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 mea-
sure for the flow. To avoid an influence of the calibration jitter on this measurement result it is ne-
cessary only to use the same calibration for both ToF measurements. Following this the differenc
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 substracted 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
ClkHSDiv 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 generate 1 to 15 pulses. For each pulse the phase can be ad-
justed per register configuration. The fire-pulse generator is activated by sending opcode Start_Cycle.
The fire-pulse generator provides 2 outputs, Fire1 and Fire2. The driver strength of each output is
48mA @5V. These 2 outputs can be paralleled to increase the driver strength up to 96 mA. Fur-
thermore Fire2 output signal can be inverted to double the signal amplitude. The outputs can be set
individually high-Z.
The fire-pulse generator allows to generate and send pulse sequences multiple times for use in a qua-
si “sing-around” method. Using this feature the received pulse sequence is fed into TDC-GP2 Fire_In
input. It is digitally amplified and directly forwarded to the output buffer for an immediate re-emittance
without any clock delay.
Note: When the fire pulse generator is use it is mandatory to send a start pulse.
5.2.2 Configuration
Number of pulses:
FIRE# = 0 Switch off fire-pulse generator
1 1 pulse
2 2 pulses
15 15 pulses
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 5-5
TDC-GP2
Phase:
The phase of each pulse can be defined in register 5, Bits 0 to 15, PHASE_FIRE. „0“ stands for
HIGH-LOW and „1“ for LOW-HIGH. The pulse sequence begins with the LSB and ends with the MSB
Example:
Fire# = 7, PHASE_FIRE = 0x0055
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 CLKHS_DIV.
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 behaviour when averaging.
DIS_PHASESHIFT = 0 Phase shift on
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
5-6
TDC-GP2
Time-to-Digital-Converter
DIS_PHASESHIFT = 1 Phase shift off
fireclk2 is used as reference signal for the Fire1 / Fire2 - signal which is emitted by the output buf-
fers Fire1 / Fire 2 of the fire pulse generator.
Figure 5-4
As shown in Figure 16 at least 2 clock periods Tfireclk2 are required to send one Fire_Pulse. One for
the high phase and one for the low phase of the Fire1/Fire2 output signal.
Example:
CLKHS = 4 MHz, CLKHS_DIV = 1, DIV_FIRE = 1
Max. frequency of the Fire1 / Fire2 output signal:
Driver outputs:
The output drivers are configured in register 5, Bits 21 to 23, CONF_FIRE:
Bit 23 = 1 Inverted output on FIRE2
Bit 22 = 1 FIRE2 disabled (High-Z)
Bit 21 = 2 FIRE1 disabled (High-Z)
Pulse-burst repetition (quasi sing-around):
In register 5, Bits 16 to 18, REPEAT_FIRE the number of repetitions of the pulse sequence is defi-
ned.
REPEAT_FIRE = 0 no repetition
= 1 1 repetition
... ...
= 7 7 repetitions
Only the number of pulses set under FIRE# will be repeated. With a period of 5 µs without a pulse
the TDC-GP2 detects the end of a pulse sequence.
Note:
It is strongly recommend that the summarized time of flight of the up to 7 repetitions does not ex-
ceed the measurement range of the GP2!!!
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 5-7
TDC-GP2
5.3 Temperature Measurement
Especially for heat meter applications the TDC-GP2 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 alter-
nately through the sense resistors and the reference resistors.
Figure 5-5 Figure 5-6
The unit has 4 resistor ports with the following function:
PT1 reference resistor lower temperature
PT2 sense resistor lower temperature
PT3 sense resistor higher temperature
PT4 reference resistor higher temperature
The temperature sensor should have a minimum resistance of 500 Ohm. The TDC-GP2 measures
the discharge times of the RC-networks made of each resistor and the capacitor.
The precision of the temperature measurement is about 0.004°C several times better than needed
for heat meters.
The temperature measurement is fully automated. It is triggered by the µC sending the opcode
„Start_Temp“. The TDC-GP2 controls the 4 measurements by itself. After the 4 measurements have
finished the interrupt flag is set. The four data are found in registers 0 to 3.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
5-8
TDC-GP2
Time-to-Digital-Converter
From Res_2/RES_1 and RES_3/RES_4 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.
It is not possible with TDC-GP2 to use 4-wire temperature sensors.
Configuration
Register 0, Bit 8, Tcycle sets the cycle time for the temperature measurement.
Tcycle = 0 128 µs cycle time @ 4MHz
Tcycle = 1 512 µs cycle time @ 4MHz
Register 0, Bit9, Port# sets the number of ports that will be used.
Port# = 0 2 ports = 1 sensor
Port# = 1 4 ports = 2 sensors
Register 0, Bit 7, Fake# sets the number of dummy measurements at the beginning of a tempera-
ture measurement. This is necessary to overcome mechanical effects of the load capacitor.
Fake# = 0 2 dummy measurements
Fake# = 1 8 dummy measurements
A full temperature measurement last for
2 x (# of ports) + (# of fakes) cycles.
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:
CfCap Series from Tayo Yuden
For heatmeter application please do note 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.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 5-9
TDC-GP2
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 heatmeters) 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 cir-
cuit of the sensor or an open sensor. The TDC-GP2 provides in the relevant output register an error
code instead of a measurement value.
1. Short circuit: equivalent to a very short time interval (< 8 x Tref = 2 µs @ 4 MHz). The TDC-GP2
writes a 0x0 to the output register of the shorted sensor.
2. Broken sensor: equivalent to no stop signal or timeout. The TDC-GP2 writes a 0xFFFFFFFF into
the output register of the open sensor.
Table 5-1: Analog specifikation
Parameter Value (typ.) Unit
Resolution RMS 16.0 Bit
SNR 96 dB
Absolut Gain-Error 0,1 %
Gain-Drift vs. Vio 0,08 %/V
Gain-Drift vs. Temp 0,0008 %/C
Uncalibrated Offset <0.01 %
Offset Drift vs. Temp <0,2 ppm/C
PSRR >100 dB
Condition: Vio = Vcc = 3.3 V, PT1000, 150nF charging capacitor
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
5-10
TDC-GP2
Time-to-Digital-Converter
5.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-GP2 does only support the following SPI mode:
Clock Phase Bit =1
Clock Polarity Bit =0
The timings are shown in fiures setion 2.2. It is mandatory to set the SSN – line to High-state for at
least 50ns between each Read-/Write sequence.
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.
OPCodes
MSB LSB Description
1 0 0 0 0 ADR2 ADR1 ADR0 Write into address
ADR
followed by
24 bit data
1 0 1 1 0 ADR2 ADR1 ADR0 Read from address
ADR
01110000Init
0 1 0 1 0 0 0 0 Power On Reset
0 0 0 0 0 0 0 1 Start_Cycle
0 0 0 0 0 0 1 0 Start_Temp
0 0 0 0 0 0 1 1 Start_Cal_Resonator
0 0 0 0 0 1 0 0 Start_Cal_TDC
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 5-11
TDC-GP2
The transfer starts with the MSB and is finished sending the LSB. After sending the last Bit TDC-GP2
transfers the data into the target register or executes the command. It is not possible to do incre-
mental writing. Each register must be addressed separately.
When reading from the chip it is necessary to send the opcode first, too. With the first positive edge
of the clock following the opcode the TDC-GP2 sends the MSB of the addressed register to SO out-
put. Each positive edge transfers the next lower Bit to the output.
5.5 Fast Initialization
In measurement range 1 the TDC-GP2 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 high-
est speed applications only. It is most reasonable for un-calibrated measurements with only one stop.
5.6 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 20, EN_STARTNOISE = „1“
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
5-12
TDC-GP2
Time-to-Digital-Converter
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 6-1
TDC-GP2
6 Applications
6.1 Ultrasonic Heatmeter
6.1.1 General Description
The TDC-GP2 is perfectly suited for low-cost ultrasonic heatmeter designs. Thanks to the implemen-
ted functionality, including precision temperature measurement, fire pulse generation, windowing and
clock calibration it is sufficient to add a simple microprocessor (without A/D converter) and a trans-
ducer dependant driver and receiver. The extremely low current consumption guarantees the neces-
sary long battery lifetime in such applications.
The measurement is fairly automated by the TDC-GP2. The microprocessor just sends a start com-
mand. The TDC then fires the transducers and measures the time of flight. It calibrates the results
and provides them to the microprocessor.
Figure 6-1
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
6-2
TDC-GP2
Time-to-Digital-Converter
6.1.2 Configuration
A typical configuration could look like:
Register 0: 0x338AE8 Fire# = 3, DIV_FIRE=3, CalRes# = 8, ClkHSDiv = 0,START_CLKHS = 2,
Port# = 4, TCycle = 0, Fake# = 2, SelClkT = 1, Calibrate = 1,
DisAutoCal = 0, MRange2 = 1, NEG_STOP2 = 1, NEG_STOP1 = 1,
NEG_START = 1
Register 1: 0x214400 HIT2 = 1, HIT1 = 2, EN_FASTINT = 0, HITIN2 = 0, HITIN1 = 4
Register 2: 0xE03200 TimeOut =1, Endhits = 1, ALU = 1, REFEDGE2 = 0, REFEDGE1 = 0
DELVAL1 = 400
Register 3: 0x083300 EN_ERR_VAL = 0, SEL_TIMO_MB2 = 1DELVAL2 = 408
Register 4: 0x203400 DELVAL3 = 416
Register 5: 0x080000 CONF_FIRE = 0, EN_STARTNOISE = 0, DIS_Phasenoise = 1,
REPEAT_FIRE = 0, PHASE_FIRE = 0
All inputs are set to rising edges
Measurement range 2 is used with Auto-calibration.
The temperature measurement uses the high-speed clock with 128µs cycle time and 2 fake mea-
surements on 4 ports (2 sensors, for cold and hot water)
The high-speed clock is switched on only for the time measurement with 640µs delay
The 4 MHz high-speed clock is used without a divider
The 4 MHz clock calibration is based on 8 periods of the 32.768 kHz clock (244.14 µs)
For the fire-pulse generation the 4 MHz is internally doubled and the divided by 4 making 1 MHz.
The generator sends 3 pulses
The first stop is accepted after 100 µs, the second one after 102 µs and the third one after
104 µs.
The TDC is set to measure 3 hits on STOP1.
The ALU is set to calculate first Hit1 – Start
All interrupt options are activated, timeout will be given after 1024 µs
Phase-shifting is disabled
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 6-3
TDC-GP2
6.1.3 Measurement Flow
Power-on reset:
Send SO = 0x50
Configuration:
Send SO = 0x80338AE8
Send SO = 0x82114000
Send SO = 0x82E03200
Send SO = 0x83083300
Send SO = 0x84203400
Send SO = 0x85080000
Calibrate Clock:
Send SO = 0x03 Start_Cal_Resonator
Check-loop INTN = 0?
Send SO = 0xB0, Read SI = RES_0
Correction factor = 488.28125/RES_0
Measurement loop:
Temperature measurement every 30 seconds:
Send SO = 0x02 Start_Temp
Check-loop INTN = 0?
Send SO = 0xB4, Read SI = STAT
STAT&0x1E00 > 0: -> Error routine
Send SO = 0xB0, Read SI = RES_0
Send SO = 0xB1, Read SI = RES_1
Send SO = 0xB2, Read SI = RES_2
Send SO = 0xB3, Read SI = RES_3
Rhot/Rref = RES_0/RES_1
Rcold/Rref = RES_3/RES_2
Go to look-up table to get the temperatures
Time-of-flight measurement every half second:
Send SO = 0x70 Initialize TDC
Send SO = 0x01 Start_Cycle triggers fire-pulse
generator.
Check-loop INTN = 0?
Send SO = 0xB4, Read SI = STAT
STAT&0x0600 > 0: -> Error routine
Send SO = 0x81314000 calculate HIT2-Start
Wait for 4.6µs (ALU time)
Send SO = 0x81414000 calculate HIT3-Start
Wait for 4.6µs (ALU time)
Send SO = 0xB0, Read SI = RES_0
Send SO = 0xB1, Read SI = RES_1
Send SO = 0xB2, Read SI = RES_2
µP can now start the data post-processing and
calculate the flow and the heat.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
6-4
TDC-GP2
Time-to-Digital-Converter
6.1.4 Current consumption
a. Time measurement
32.768kHz: are provided by the µP: < 1.3 µA
4 MHz: 0 µA in power down, 270 µA when active
TDC: < 150 nA if not active, 15 mA during active time of the high-speed unit
With 2 measurements per second (forth and back flow) the total consumption is < 3 µA.
b. Temperature measurement
A full measurement over all four ports takes less than 2.5 µAs current. Typically the temperature is
measured once in 30 seconds. The average current then is about 0.085 µA. This is about 50 times
less than with solutions without a TDC.
c. Quiescent current
Thanks to the current optimized 0.35µ technology the quiescent current is less than 150 nA typ.
d. Total system current
The complete current for the measuring unit (TDC, analog part, Transducer) will depend on the ana-
log circuit part. It will be in the range of 4 to 6 µA.
With a low-power µP (e.g. MSP430 series from TI) the average current consumption of the total
device might be in the range of 11 to 16 µA.
It is possible to operate the system from a lithium-thionylchloride AA cell for 10 years without chan-
ging the battery. At 6 years runtime it maybe even possible to work with a low-cost 3V CR2450 coin
cell battery.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 7-1
TDC-GP2
7 Miscellaneous
7.1 Bug Report
7.1.1 Quartz Oscillator Start Up time
Bug: When using a quartz resonator for the oscillator the oscillation start up time is about
3 ms even with an optimized circuit. The TDC-GP2‘s automatic on-time control for the
high speed clock is based on 640 µs or 1280 µs delay without any activity. In case of a
quartz resonator this delay is too short and will cause malfunction.
Corrective: There are several options to deal with.
1.Oscillator permanently on
The possibility of switching off the high speed oscillator is added only for current sa-
ving. This oscillator needs about 270 µA when running continuously. In all application
without attention to current consumption we recommend to run the high speed oscilla-
tor continuously (START_CLKHS=1).
2.Ceramic Resonator
With a ceramic resonator the oscillation start up time is about 200 µs. There is no
problem with TDC-GP2‘s internal delays. We recommend the use of ceramic resona-
tors in all applications targeting ratio measurements (like ultrasonic flow metering).
In all applications that need a quartz resonator and the switch-off functionality we re-
commend the following measures:
3.Lower Clock Frequency at CLK32In
A clock with lower frequency increases the internal timer delays. In this case we recom-
mend about 4 kHz. The timer delay is increased to 10 ms then. This is enough for a
save oscillation start up time of the quartz.
4.Start/Stop Oscillator by Software
Writing a „1“ or „0“ into Start_CLKHS starts or stops the oscillator by software. This
way a µP can start the oscillator by command and then after 10 ms can send a mea-
surement opcode like START_CYCLE. At the end of the measurement the µP has to
switch off the oscillator by a further command.
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de
7-2
TDC-GP2
Time-to-Digital-Converter
7.1.2 DIS_PHASENOISE
Bug: The TDC-GP2 offers a Phase-Noise function that decouples the calibration clock from
the fire pulse generator. This option was implemented to provide the necessary statis-
tics for averaging in case the user is looking for a resolution much better than 1 LSB
(about 65 ps) and has a a very strong coupling between the start and the reference
clock.
Because of a design bug the phase noise unit might fail in case of distortions on the
power supply. This is relevant only in measurement range 2.
Corrective: The phase noise unit has to be switched off by setting DIS_PHASE_NOISE = 1. In case
the start is already asynchronous to the referenceclock this has no effect on the ca-
pability of averaging.
7.2 Last Changes
05.10.2006 3.2.1b&c, 5.1.3, DIS_PHASENOISE=1 required
27.11.2006 5.2.2 Additional corrections
3.2.1 Corrections Example
01.02.2007 5.3 Additional corrections for temp. measurement
26.05.2010 Various smaller error fixes. General layout change
acam-messelectronic gmbh - Am Hasenbiel 27 - D-76297 Stutensee-Blankenloch - Germany - www.acam.de 7-3
TDC-GP2
Data Sheet
acam-messelectronic gmbh
Am Hasenbiel 27
76297 Stutensee-Blankenloch
Germany / Allemagne
ph. +49 7244 7419 - 0
fax +49 7244 7419 - 29
e-mail: support@acam.de
www.acam.de