33. Digital temperature sensor (DTS)

33.1 Introduction

The DTS is a high-precision low-power junction temperature sensor (TS). It is composed of a configurable controller plus two embedded temperature sensors, TS0 and TS1. The controller features a generic interface that enables the DTS to be accessed in read and write modes, through the APB bus.

33.2 DTS main features

The temperature sensor main features are the following:

33.3 DTS functional description

33.3.1 DTS block diagram

Figure 315 shows the DTS block diagram.

Figure 315. DTS block diagram. The diagram shows the internal architecture of the Digital Temperature Sensor (DTS). It is contained within a 'DTS top-level wrapper'. On the left, external signals include dts_trg[3:0], ck_ker_dts, dts_rstn_mst, a 32-bit AMBA APB bus, dts_pclk, and dts_it. The AMBA APB bus connects to an 'Asynchronous bridge', which in turn connects to an 'AMBA APB interface'. This interface is connected to a 'Controller'. The Controller is connected to a 'PVT controller'. The PVT controller is connected to '2 TS wrappers' labeled TS0 and TS1. Each wrapper contains a 'Slave PVT interface' and 'Temperature sensor analog blocks'. The PVT controller provides signals clk_ts, rstn_ts, ts_sdi, and ts_sdo to the wrappers. The dts_it signal is an output from the PVT controller. The dts_trg[3:0] signals are inputs to the Controller. The dts_pclk signal is an input to the Asynchronous bridge. The ck_ker_dts and dts_rstn_mst signals are inputs to the Controller. The diagram is labeled MSv69513V8 in the bottom right corner.

Figure 315. DTS block diagram

Figure 315. DTS block diagram. The diagram shows the internal architecture of the Digital Temperature Sensor (DTS). It is contained within a 'DTS top-level wrapper'. On the left, external signals include dts_trg[3:0], ck_ker_dts, dts_rstn_mst, a 32-bit AMBA APB bus, dts_pclk, and dts_it. The AMBA APB bus connects to an 'Asynchronous bridge', which in turn connects to an 'AMBA APB interface'. This interface is connected to a 'Controller'. The Controller is connected to a 'PVT controller'. The PVT controller is connected to '2 TS wrappers' labeled TS0 and TS1. Each wrapper contains a 'Slave PVT interface' and 'Temperature sensor analog blocks'. The PVT controller provides signals clk_ts, rstn_ts, ts_sdi, and ts_sdo to the wrappers. The dts_it signal is an output from the PVT controller. The dts_trg[3:0] signals are inputs to the Controller. The dts_pclk signal is an input to the Asynchronous bridge. The ck_ker_dts and dts_rstn_mst signals are inputs to the Controller. The diagram is labeled MSv69513V8 in the bottom right corner.

The DTS incorporates an APB interface configured to control two temperature sensors, TS0 and TS1, through a process, voltage and temperature (PVT) controller.

33.3.2 DTS pins and internal signals

Table 257. DTS internal input/output signals

Internal signal nameSignal typeDescription
dts_pclkInputAPB bus clock
ck_ker_dtsInputDTS main clock
dts_rstn_mstInputMaster reset (asynchronous, active low)
AMBA APB busInput/outputAPB Interface
dts_itOutputIRQ interrupt from the DTS peripheral
dts_trg[3:0]InputsTrigger interface
Temperature sensor (TS) interface
clk_tsInputTemperature sensor SDA clock

Table 257. DTS internal input/output signals (continued)

Internal signal nameSignal typeDescription
rstn_tsInputTemperature sensor SDA reset (asynchronous, active low)
ts_sdiInputTemperature sensor SDA slave data Input
ts_sdoOutputTemperature sensor SDA slave data output

Table 258. DTS interconnection

Internal signal nameSource/Destination
dts_trg[0]lptim4_out
dts_trg[1]lptim2_ch1
dts_trg[2]lptim3_ch1
dts_trg[3]exti13

33.3.3 DTS reset and clocks

DTS clocks

The DTS is clocked by ck_ker_dts.

The PVT controller incorporates a clock synthesizer in the TS block. The synthesizers generate the clock and timing strobes for the slave serial data adapters (SDA) and the clock for the embedded TS blocks (clk_ts).

The synthesizer CLK_SYNTH_HI[7:0]/CLK_SYNTH_LO[7:0] counters allow the integer division of the ck_ker_dts clock to generate the TS clock (clk_ts) at frequency ratios from 1/2 to 1/512 (see DTS TSC clock synthesizer register (DTS_TSCCLKSYNTHR) ). Separate counters are used to generate timing control strobes that are aligned with the clk_ts clock. These timing strobes are used by the master serial adapters to control the sample point of the serial data inputs and the hold time of the serial data outputs.

The system clock ck_ker_dts frequency is determined by the RCC. CLK_SYNTH_HI[7:0] and CLK_SYNTH_LO[7:0] must be programmed so that the ratio CLK_SYNTH_HI[7:0]/CLK_SYNTH_LO[7:0] enables to obtain a clk_ts serial clock that falls within the TS operating frequency range (from 4 to 8 MHz).

The TS frequency is defined by:

\[ \text{clk\_ts frequency} = 1 / ((\text{CLK\_SYNTH\_HI}[7:0] + 1) + (\text{CLK\_SYNTH\_HI}[7:0] + 1)) \times \text{ck\_ker\_dts frequency} \]

For example:

For \( ck\_ker\_dts = 64.0 \) MHz and a TS operating frequency ranging between 4 and 8 MHz, setting the \( ck\_ker\_dts \) to \( clk\_ts \) divider factor to 8:1 (CLK_SYNTH_HI[7:0] and CLK_SYNTH_LO[7:0] both programmed to 0x03), returns an TS operating frequency of \( 64.0 \) MHz / 8 = 8 MHz, which falls within the acceptable operating frequency range of 4 to 8 MHz. This enables to obtain an overall divider factor of 8 and a \( ck\_ker\_dts \) serial clock duty cycle of 50/50.

For \( ck\_ker\_dts = 8 \) MHz, the configuration must be:

CLK_SYNTH_LO[7:0] = 0x0
CLK_SYNTH_HI[7:0] = 0x0
CLK_SYNTH_HOLD[3:0] = 0x1
\( clk\_ts = 4 \) MHz
\( clk\_ts \) duty cycle = 50 %

The CLK_SYNTH_HOLD[3:0] value must be programmed to accommodate the worst-case serial data path propagation delays without exceeding the synthesized clock period, this means that:

\[ CLK\_SYNTH\_HOLD[3:0] \leq CLK\_SYNTH\_HI[7:0] + CLK\_SYNTH\_LO[7:0] + 1 \]

DTS reset

The DTS is reset using the asynchronous active-low \( dts\_rstn\_mst \) input.

When the master \( dts\_rstn\_mst \) is asserted, the entire DTS is reset, all APB internal registers and the PVT controller. It also powers down and resets the embedded TS blocks.

When de-asserted, the APB interface responds to requests after a three clock-cycle delay.

33.3.4 DTS serial data adapter (SDA)

Figure 316. Serial data adapter

Figure 316. Serial data adapter block diagram showing the internal architecture of the SDA and its connection to a PVT slave within a TS0 wrapper and TS1 wrapper. The SDA contains a clock synthesizer, PVT master, and master receive data interface. The PVT slave contains a slave data interface, slave registers, and a slave controller connected to an embedded TS block. A loop-back path is shown in red.

The diagram illustrates the internal architecture of the Serial Data Adapter (SDA) and its interaction with a PVT slave. On the left, the SDA block contains a 'Clock synthesizer' that takes 'dts_rstn_mst' and 'ck_ker_dts' as inputs. It outputs a 'Serial interface clock' to the PVT slave. Below the synthesizer is a 'PVT master' block containing 'Master serial data out' (MST SDO) and 'Master receive data interface' (MST SDI). The MST SDO connects to the 'ts_sdi' input of the PVT slave's 'Slave data interface'. The MST SDI connects to the 'ts_sdo' output of the 'Slave data interface'. A red dashed arrow labeled 'Loop-back' indicates a direct connection from the 'Slave data interface' output back to its input. The PVT slave block contains a 'Slave controller', 'Slave registers' (with fields SDATS_CR, SDATS_CFGR, SDATS_DR, and SDATS_TIMERR), and an 'Embedded TS block'. The 'Slave data interface' connects to the 'Slave controller', which in turn connects to the 'Slave registers' and the 'Embedded TS block'. The 'Slave registers' are connected to the 'Slave controller'. The 'Embedded TS block' is connected to the 'Slave controller' via 'Parallel signals' and receives 'clk_ts' from the 'Slave controller'. The entire PVT slave block is contained within a 'TS0 wrapper', which is further enclosed in a 'TS1 wrapper'. The diagram is labeled 'MSV68786V6' in the bottom right corner.

Figure 316. Serial data adapter block diagram showing the internal architecture of the SDA and its connection to a PVT slave within a TS0 wrapper and TS1 wrapper. The SDA contains a clock synthesizer, PVT master, and master receive data interface. The PVT slave contains a slave data interface, slave registers, and a slave controller connected to an embedded TS block. A loop-back path is shown in red.

The serial data adapter (SDA) allows the TS blocks to be configured and controlled via serial data interfaces (SDIF). The purpose of the SDA is to minimize the number of signals that need to be routed from the PVT controller to each TS block.

A master usually transmits data to all its active PVT slave devices. However, it is possible to inhibit the programming of one or more slaves to allow different configuration options to be applied. To achieve power saving, it is also possible to disable completely a TS block by disabling its clock and forcing reset.

The serial data interface also provides loop-back functionality (shown in red in Figure 316 ) to support system integration testing without having to power up the embedded TS block.

SDA data format

The serial data streams consist of an active-high start bit, 3-bit register address (SDIF_ADDR[2:0]), register write/not read enable (SDIF_WRN), and 24-bit data field (SDIF_WDATA[23:0]). The input and output serial data stream formats are shown in Figure 317 . It must be noted that the serial data streams are little endian, meaning that the individual data fields are shifted LSB first.

Figure 317. SDA data format

Figure 317. SDA data format. The diagram shows two bit stream formats: Master serial data out (SLV SDI) and Master serial data in (SLV SDO). Both formats show a 29-bit sequence from Bit 0 to Bit 28. Bit 0 is 'Start 0b1'. Bits 1-3 are 'SDIF_ADDR [0:2]'. Bit 4 is 'SDIF_WRN'. Bits 5-28 are 'SDIF_WDATA[0:23]' for SDI and 'SDIF_RDATA[0:23]' for SDO.

Master serial data out (SLV SDI)

Bit 0Bit[1:3]Bit 4Bit 5Bit 28
Start
0b1
SDIF_ADDR
[0:2]
SDIF_
WRN
SDIF_WDATA[0:23]

Master serial data in (SLV SDO)

Bit 0Bit[1:3]Bit 4Bit 5Bit 28
Start
0b1
SDIF_ADDR
[0:2]
SDIF_
WRN
SDIF_RDATA[0:23]
Figure 317. SDA data format. The diagram shows two bit stream formats: Master serial data out (SLV SDI) and Master serial data in (SLV SDO). Both formats show a 29-bit sequence from Bit 0 to Bit 28. Bit 0 is 'Start 0b1'. Bits 1-3 are 'SDIF_ADDR [0:2]'. Bit 4 is 'SDIF_WRN'. Bits 5-28 are 'SDIF_WDATA[0:23]' for SDI and 'SDIF_RDATA[0:23]' for SDO.

SDA read

When reading data from the SDA slave registers (SDIF_WRN = 0), the SLV SDI bit stream is shifted to SLV SDO (delayed by one clk_ts cycle) and the register read data value is output on SDIF_RDATA[23:0]. The read data value is then made available in the PVT controller DTS_TSnSDIFRDATAR register (where n corresponds to the TS instance number).

SDA write

When writing data to the SDA slave registers (SDIF_WRN = 1), the SLV SDI bit stream is automatically shifted to SLV SDO and SDIF_RDATA[23:0] = SDIF_WDATA[23:0]. The write data loop-back value is then made available in the corresponding PVT controller DTS_TSnSDIFRDATAR register.

A special loop-back mode is available by writing to the (read-only) SDATS_DR register when SDIF_WRN = 1 and SDIF_ADDR[2:0] = 0x3. In this mode, the loop-back data value is also written to the PVT controller TS data registers (DTS_TSnSDIFRDATAR). When writing loop-back data to the TS data registers, the SDA TS_DATA[23:0] field must be set to 0x0.

The DTS_TSnSDIFRDATAR loop-back functionality can be used to verify the integrity of the serial data transfer between the PVT controller and remote PVT slave devices.

The special DTS_TSnSDIFRDATAR loop-back functionality is provided to test the PVT controller operation without having to power up the embedded TS block, for example when a fault or alarm occurs.

The loop-back functionality is disabled whenever the PVT slave is configured to automatic data recovery when the TS_AUTO bit of PVT SDATS_CR register is asserted.

SDA automatic data recovery

The automatic data recovery is enabled through TS_AUTO bit of SDATS_CR register.

In automatic data recovery mode, the SDIF_LOCK flag is set in the DTS_TSCSDIF_SR register, the SDA interface becomes write-only and all SDA read requests are ignored. In this mode, the SLV automatically streams TS_DATA[23:0] to the PVT controller each time new data samples become available, while setting SDIF_ADDR[2:0] to 0x3 and SDIF_WRN to 1. The automatically recovered data are made available in the PVT controller DTS_TSnSDIFRDATAR and DTS_TSnSDIFRDATAR registers.

SDA SDIF programming

The SDA slave is accessed via the TS SDIF control register DTS_TSCSDIF_CFGR, by setting the SDIF_WDATA[23:0], the SDIF_ADDR[2:0] and the SDIF_WRN, and asserting the SDIF_PROG bit. This SDA read or write request is normally set up using a single PVT register write access.

Once a programming request has been issued, the SDIF_BUSY flag in the DTS_TSCSDIF_SR register is set, and any additional read or write programming requests is ignored until the current access completes.

SDA controller operation

The SDA slave controller features two operating modes: manual (default) and automatic. In both modes, the embedded TS block is configured through the SDATS_CFGR register.

In manual operating mode, when the TS_AUTO bit of SDATS_CR register is de-asserted, the embedded TS block is controlled directly through the SDATS_CR register fields TS_PD, TS_RSTN, TS_RUN_ONCE, TS_RUN_CONT and TS_CLOAD. In manual mode, the user is responsible for ensuring that the PD, RSTN, CLOAD and RUN signals are applied in the correct order and at appropriate times. Sample data from the TS block are captured in the SDA slave SDATS_DR register at the end of the conversion. The user must either poll the SDATS_DR register or leave sufficient time for the conversion to complete before reading the SDATS_DR register in order to recover the sample data from the slave SDA.

In automatic mode, when the TS_AUTO bit is asserted in SDATS_CR register, the embedded TS block is controlled by the slave SDA. When either TS_RUN_ONCE or TS_RUN_CONT bit of the TS_SDATS_CR register is asserted, the slave SDA sequences the PD, RSTN, CLOAD, and RUN signals that drive the TS block to perform one or more conversions. In this mode sample data from the TS block are captured in the SDA slave SDATS_DR register at the end of the conversion before being automatically streamed to the PVT controller.

In trigger mode, when a trigger is asserted at DTS top level, this value is compared to the value programmed in bits 18 to 16 (TRIG[2:0]) of the SDATS_CFGR register. If it is equal, the TS_RUN_ONCE bit is automatically asserted. Sample data from each TS block are captured in the SDA slave SDATS_DR register at the end of the conversion.

SDA slave registers

The serial data adapter registers are accessible through the SDIF interface of the PVT controller.

Table 259. SDA slave registers

SDIF_ADDR[2:0]Reset valueRegisterDescription
0x00x000001SDATS_CRTS control register (see Table 260 )
0x10x000000SDATS_CFGRTS configuration register (see Table 261 )
0x30x000000SDATS_DRTS data / SDA loop-back register (see Table 262 )
0x4-Reserved-
0x50x000000SDATS_TIMERRTS power-up Timer register (see Table 260 )

Table 260. SDA TS control register (SDATS_CR)

Bitfield rangeBitfield descriptionAccess type
Bits 23:10Reserved, must be kept at reset value.-
Bit 9TS_STOP: TS force stop
This self-clearing bit immediately returns the slave TS controller to the default TS control state and terminates any serial data activity. This is not a clean shut-down and it may invalidate any data operations currently in progress.
0: TS not stopped
1: TS stopped
rs
Bit 8TS_AUTO: TS automatic mode
This bit is used in conjunction with TS_RUN_CONT and TS_RUN_ONCE to automatically power up the embedded TS and run conversions. Asserting TS_RUN_CONT triggers continuous conversions, while asserting TS_RUN_ONCE triggers a single conversion. If TS_AUTO is de-asserted while conversions are running, the controller waits for any active conversions to complete and then returns to the default TS control state.
0: Automatic mode disabled
1: Automatic mode enabled
rw
Bits 7:5Reserved, must be kept at reset value.-
Bit 4TS_CLOAD: TS configuration load
This self-clearing bit provides the embedded TS load input in the default TS control state (TS automatic mode disabled).
0: TS configuration not loaded
1: TS configuration loaded
rs
Bit 3TS_RUN_CONT: TS run continuous
The TS_RUN_CONT control bit is ORed with TS_RUN_ONCE in order to provide the embedded TS run input in the default TS control state (TS automatic mode disabled). This bit is active high.
rw

Table 260. SDA TS control register (SDATS_CR) (continued)

Bitfield rangeBitfield descriptionAccess type
Bit 2TS_RUN_ONCE: TS run once
Provided TS_RUN_CONT is not asserted, this self-clearing bit asserts the embedded TS run input for one clock cycle when it is in the default TS control state (TS automatic mode disabled).
This bit is active on the rising edge.
rs
Bit 1TS_RSTN: TS reset
This bit provides the embedded TS rstn input in the default TS control state (TS automatic mode must be disabled).
0: TS reset
1: TS not reset
rw
Bit 0TS_PD: TS power-down
This bit provides the embedded TS pd input when in the default TS control state (TS automatic mode disabled).
0: No TS power-down
1: TS power-down
rw

Table 261. SDA TS configuration register (SDATS_CFGR)

Bitfield rangeBitfield descriptionAccess type
Bits 23:20Reserved, must be kept at reset value.-
Bit 19CLKDIS: TS clock gating disable bit
0: Clock enabled
1: Clock disabled
rw
Bits 18:16TRIG[2:0]: Trigger selection bits
000: no trigger source selected
001: dts_trg[0] selected
010: dts_trg[1] selected
011: dts_trg[2] selected
100: dts_trg[3] selected
Others: Reserved, must not be used
Refer to Section 33.3.7: Temperature sensor configuration for details.
rw
Bits 15:8TS1_CFG[7:0]: TS1 configuration
TS1_CFG[7:5]: TS1 resolution
000: 12 bits
001: 10 bits
010: 8 bits
Other: reserved, must not be used
TS1_CFG[4]: TS1 output mode
0: parallel interface
1: serial interface (default)
TS1_CFG[3:0]: TS1 communication enable bit
0000: no communication
0001: communication enabled.
Others: Reserved, must not be used.
rw

Table 261. SDA TS configuration register (SDATS_CFGR)

Bitfield rangeBitfield descriptionAccess type
Bits 7:0TS0_CFG[7:0]: TS0 configuration
TS0_CFG[7:5]: TS0 resolution
000:12 bits
001:10 bits
010: 8 bits
Other: reserved, must not be used
TS0_CFGR[4]: TS0 output mode
0: parallel interface
1: serial interface (default)
TS0_CFGR[3:0]: TS0 communication enable bit
0000: no communication
0001: communication enabled.
Others: Reserved, must not be used.
rw

Table 262. SDA TS data register (SDATS_DR)

Bitfield rangeBitfield descriptionAccess type
Bits 23:19Reserved, must be kept at reset value.-
Bit 18TS_DONE: TS sample done flag
This bit provides a way to identify when a new data sample has been recovered while manually polling the SDATS_DR register. In manually polling, the TS_DONE flag is cleared when the SDATS_DR register is read.
The sample done flag is asserted when new sample data becomes available.
It is automatically cleared in TS automatic mode as the SDATS_DR value is transmitted to the PVT controller.
0: No new data sample
1: New data sample
r
Bit 17TS_FAULT: TS sample fault
When asserted, this bit indicates that the embedded TS has signaled a fault.
The TS_FAULT flag is updated when new data are received.
0: No TS sample fault
1: TS sample fault
r
Bit 16TS_TYPE: TS sample type
The TS_TYPE flag is updated when new data is received.
0: Indicates valid data
1 Indicates either analog access, signature select or fault debug mode
r
Bits 15:0TS_DATA[15:0]: TS sample datar

Table 263. SDA TS timer register (SDATS_TIMERR)

Bitfield rangeBitfield descriptionAccess type
Bits 23:16Reserved, must be kept at reset value.-
Bits 15:0TS_PU_DLY[15:0]: TS power-up delay
The value is expressed in units of clk_ts cycles.
Typical power-up delays are 256 cycles.
rw

33.3.5 Alarms

The DTS provides two alarms, alarm A and alarm B, for each TS block. The alarms feature programmable hysteresis and can be configured to detect either rising or falling sample values. They are disabled by setting the hysteresis threshold to a value that is equal to the alarm threshold (default condition). Once enabled, the alarms generate an interrupt if the value of the recovered data sample equals or exceeds the rising or falling alarm threshold. Once an alarm has been triggered, the hysteresis threshold provides a recovery window during which the alarm cannot trigger again.

Falling alarms

Figure 318. Falling alarms

Figure 318. Falling alarms: A graph showing Sample Value vs Time. The y-axis has two horizontal dashed lines: 'hsyt_thresh' (higher) and 'alarm_thresh' (lower). The curve starts at a low value, rises above 'hsyt_thresh' (labeled 'Armed'), then falls below 'alarm_thresh' (labeled 'Alarm Falling'), and finally rises back above 'hsyt_thresh' (labeled 'Re-armed').
Figure 318. Falling alarms: A graph showing Sample Value vs Time. The y-axis has two horizontal dashed lines: 'hsyt_thresh' (higher) and 'alarm_thresh' (lower). The curve starts at a low value, rises above 'hsyt_thresh' (labeled 'Armed'), then falls below 'alarm_thresh' (labeled 'Alarm Falling'), and finally rises back above 'hsyt_thresh' (labeled 'Re-armed').

Setting the hysteresis threshold greater than the alarm threshold creates a falling alarm. When configured as a falling alarm, the alarm is armed when the recovered sample value is greater than or equal to the hysteresis threshold. Once armed, a falling alarm triggers when the recovered sample value is less than or equal to the alarm threshold. An alarm is automatically disarmed once triggered and does not rearm until the recovered sample value is again greater than or equal to the hysteresis threshold. The alarm is also disarmed if an invalid sample value is received, that is if unexpected fault or type flags are detected.

Rising alarms

Figure 319. Rising alarms

Figure 319. Rising alarms: A graph showing Sample Value versus Time. The y-axis has two horizontal dashed lines: 'alarm_thresh' (higher) and 'hsyt_thresh' (lower). The curve starts at a high value, drops below 'hsyt_thresh', then rises above 'alarm_thresh' (labeled 'Alarm Rising'), then drops below 'hsyt_thresh' again, and finally rises above 'alarm_thresh' once more (labeled 'Re-armed'). The initial state is labeled 'Armed'.
Figure 319. Rising alarms: A graph showing Sample Value versus Time. The y-axis has two horizontal dashed lines: 'alarm_thresh' (higher) and 'hsyt_thresh' (lower). The curve starts at a high value, drops below 'hsyt_thresh', then rises above 'alarm_thresh' (labeled 'Alarm Rising'), then drops below 'hsyt_thresh' again, and finally rises above 'alarm_thresh' once more (labeled 'Re-armed'). The initial state is labeled 'Armed'.

Setting the hysteresis threshold less than the alarm threshold creates a rising alarm. When configured as a rising alarm, the alarm is armed when:

  1. 1. The associated clock synthesizer is first enabled (initial conversion).
  2. 2. The recovered sample value is less than or equal to the hysteresis threshold.
  3. 3. An invalid sample value is received, that is when an unexpected fault or type flags are detected.

Once armed, a rising alarm triggers when the recovered sample value is greater than or equal to the alarm threshold. The alarm is automatically disabled once triggered and does not rearm until the recovered sample value is again less than or equal to the hysteresis threshold.

33.3.6 Main APB programming routines

This section gives several examples of routines to configure the PVT controller, program the SDA registers, and perform single or continuous temperature conversions.

Configure the PVT controller

  1. 1. STEP 1: Configure the PVT controller Interrupts:
    1. a) Write DTS_PVT_IER register:
      The timer is only intended to be used when using the TS block in bypass mode, so this interrupt must remain disabled.
    2. b) Write DTS_TSn_IER register:
      In the unlikely event of the TS block signaling a fault, the recovered data values are considered invalid and any active alarm is disabled until the fault is removed. The fault IRQ is generated the first time a TS that an TS block signals a fault. If the fault is not cleared by the user, then no further interrupts are raised. It is recommended to enable always this interrupt.
  1. 2. STEP 2: Configure the PVT controller alarms:
    1. a) Write DTS_TSnALARMA_CFGR register:
      Alarms are enabled when the ALARM_THRESH is not equal to the HYST_THRESH.
      When enabling alarms, make sure that the corresponding IRQ is also enabled.
    2. b) Write DTS_TSnALARMB_CFGR register:
      Alarms are enabled when the ALARM_THRESH is not equal to the HYST_THRESH.
      When enabling alarms, make sure the corresponding IRQ is also enabled.
  2. 3. STEP 3: PVT sample control:
    1. a) Write DTS_TSCSMPL_CR register:
      When SMPL_DISCARD is set, TS data samples are temporarily discarded, but the sample counter continues to increment.
      When SMPL_CTR_HOLD is asserted, the sample counter is prevented from rolling over when the maximum sample count is reached.
      When SMPL_CTR_DISABLE is asserted, the sample counter is disabled.
  3. 4. STEP 4: PVT sample control:
    1. a) Write DTS_TSnHILORESETR for each TS instance.

Configure the SDA registers

  1. 1. STEP 1: Program the SDA registers:
    1. a) Read DTS_TSCSDIF_SR register:
      The SDIF_LOCK flag must be low, indicating that SDIF automatic mode has not been enabled.
      Before proceeding further, make sure that the serial data interface is inactive by checking that the SDIF_BUSY flag is low.
    2. b) Write DTS_TSCSDIF_CR register to fetch the remote slave SDA register value:
      SDIF_PROG = 0x1
      SDIF_WRN = 0x1
      SDIF_ADDR[2:0]: this bitfield selects the desired SDA register.
      SDIF_WDATA[23:0]: this bitfield provides the SDA write data value.
      Program the SDA register bits in the following order:
      SDATS_TIMERERR register
      SDATS_CFGR register
      SDATS_CR register (see notes below).

Note: Setting the TS_AUTO bit and either TS_RUN_ONCE or TS_RUN_CONT bit in the SDATS_CR register initiates a conversion and sets the SDIF_LOCK flag. Once the SDIF_LOCK flag is set, the SDA registers become write-only.
The SDIF_WDATA[23:0] value is also reflected in the DTS_TSnSDIFRDATAR registers.

  1. 2. STEP 2: Read the SDA register values:
    1. a) Read DTS_TSCSDIF_SR register:
      The SDIF_LOCK flag must be low, indicating SDIF automatic mode has not been enabled.
      Before proceeding further, make sure the serial data interface is inactive by checking that the SDIF_BUSY flag is low.
    2. b) Write DTS_TSCSDIF_CR register to fetch the remote slave SDA register value:
      SDIF_PROG = 0x1
      SDIF_WRN = 0x0
      SDIF_ADDR[2:0]: this bitfield selects the desired SDA register.
      SDIF_WDATA[23:0]: this bitfield is not used and can be set to any value.

Note: Once the SDIF_LOCK flag is set, the SDA registers become write-only and any read requests is ignored.

The read data value (SDIF_RDATA[23:0]) is also reflected in the DTS_TSnSDIFRDATAR register.

  1. c) Read the SDA register value from the DTS_TSnSDIFRDATAR registers.

Run once

  1. 1. STEP 1:
    1. a) Read DTS_TSCSDIF_SR register:
      The SDIF_LOCK flag is low indicating that the SDIF automatic sample mode is not enabled.
      Verify that the serial data interface is not in use by checking that the SDIF_BUSY flag is low.
    2. b) Write DTS_TSCSDIF_CR register:
      SDIF_PROG = 0x1
      SDIF_WRN = 0x1
      SDIF_ADDR[2:0] = 0x0 to select the SDATS_CR register
      SDIF_WDATA[23:0] = 0x000104 to assert TS_AUTO and the self-clearing TS_RUN_ONCE bits
  2. 2. STEP 2: Wait for a sample done IRQ
    1. a) Read the DTS_TSnSDIFDONER register:
      Verify that one or more SDATS_DR registers have been updated by checking that the SDIF_SMPL_DONE flags are set to 0x1.
    2. b) Read the DTS_TSCSMPLCNTR register:
      The sample counter value contained in DTS_TSCSMPLCNTR increments whenever TS data (TS_DATA[23:0]) are updated.
    3. c) Read the DTS_TSnSDIFRDATAR register:
      Read the TS sample data, type and fault values.
      If the fault bit is set, the sample data value is unreliable, and must be discarded.
      The SDIF_SMPL_DONE flag in the DTS_TSnSDIFDONER register is automatically cleared when the SDATS_DR register is read.

Continuous run

  1. 1. STEP 1
    1. a) Read DTS_TSCSDIF_SR register:
      The SDIF_LOCK flag is low to indicate that the SDIF automatic sample mode is not enabled.
      Verify that the serial data interface is not in use by checking that the SDIF_BUSY flag is low.
    2. b) Write DTS_TSCSDIF_CR register:
      SDIF_PROG = 0x1
      SDIF_WRN = 0x1
      SDIF_ADDR[2:0] = 0x0
      SDIF_WDATA[23:0] = 0x000108 (value to assert TS_AUTO and the run continuous TS_RUN_CONT bits)
  2. 2. STEP 2: Wait for a sample done IRQ
    1. a) Read the DTS_TSnSDIFDONER register:
      Verify that the SDATS_DR registers have been updated by checking that the sample done SDIF_SMPL_DONE flags are set to 0x1.
    2. b) Read DTS_TSCSMPLCNTR register:
      The sample counter increments whenever the DTS_TSnSDIFRDATA value is updated.
    3. c) Read DTS_TSnSDIFRDATA register:
      Read the TS sample data, type and fault values.
      If the fault bit is set, the sample data value is unreliable, and must be discarded.
      The SDIF_SMPL_DONE flag in the DTS_TSnSDIFDONER register is automatically cleared when the SDATS_DR register is read.

33.3.7 Temperature sensor configuration

The temperature sensor can be configured through the internal register SDA TS configuration register (SDATS_CFGR) .

Selecting the conversion mode

The sensor operates only in a single mode to read the temperature value. This mode is selected by setting SDATS_CFGR[3:0] bits to 0b0001.

The temperature value is obtained using the formula provided in Calculating the temperature . It does not require any calibration.

Configuring the output options

The conversion time can be configured through SDATS_CFGR[7:5] bits. It can be shortened to reduce the counter output value with the drawback of degrading the temperature measurement accuracy (see Table 264 ).

The output data are available in the TS_DATA[15:0] bitfield of the SDATS_DR register.

Data can be output in parallel or serial mode depending on the setting of SDATS_CFGR[4] bit:

All the data bits are sent simultaneously through TS_DATA[11:0].

The data are sent serially on bit 11 of the TS_DATA bitfield.

Serial data are always 12-bit wide whatever the output options. Using a lower resolution (such as 10 bits) results in similar output values with trailing zeroes.

Table 264. Output resolution configuration

ResolutionSDATS_CFGR[7:5] bitsAccuracy degradationComments
12 bits0b000-Temperature value available on TS_DATA[11:0]
10 bits0b001±0.4 °CTemperature value available on TS_DATA[11:2]
8 bits0b010±1.5 °CTemperature value available on TS_DATA[11:4]
Others not allowed0b011-Not allowed
0b1XX-Not allowed

Calculating the temperature

The digital output is converted to an uncalibrated temperature value by using the following formula:

\[ \text{Temp (°C)} = G + H \times \text{Eqbs} + J \times F_{\text{clk\_ts}} \]

Where:

Temp = Temperature in degrees Celsius

Eqbs = Nbs/Cal5 – 0.5, Nbs being the digital output, TS_DATA[11:0], latched after conversion

F clk_ts = Temperature sensor SDA clock frequency (in MHz)

For G, H, J and Cal5 values, please refer to device datasheet"

Configuring the triggers

Triggers can be configured through bits 18 to 16 (TRIG[2:0]) of the SDATS_CFGR register:

TRIG[2:0] = 0b001: dts_trg[0] is selected.

TRIG[2:0] = 0b010: dts_trg[1] is selected.

TRIG[2:0] = 0b011: dts_trg[2] is selected.

TRIG[2:0] = 0b100: dts_trg[3] is selected.

Disabling the clock

The TS clock can be disabled by setting the CLKDIS of the SDATS_CFGR, when the TS is not used and it does not operate in automatic mode.

33.4 DTS interrupts

The DTS provides a single active high (level) hardware interrupt output from the controller. This is the logical OR of all the embedded TS interrupt sources and the common delay timer.

The enabling, masking, and status of the interrupts are readily available through the IRQ control registers. The interrupts from each TS instance are coalesced into a single interrupt, the status of which can be observed through the DTS_TSn_ISR register. The index number of a set bit indicates the source TS number with an interrupt condition.

Each TS block can generate an interrupt based on the following sources:

When an interrupt event occurs, the rising edge is detected and the corresponding flag is set in the interrupt source register, DTS_TSn_ISR. The IRQ status bits are individually gated (logical AND) with their corresponding interrupt enabled in the DTS_TSn_IER register to generate interrupt request bits. These IRQ bits are then ORed together and registered by ck_ker_dts to generate the interrupt outputs for IRQ control registers.

Once set the interrupt source bits are sticky, they must be cleared by writing a 1 to the corresponding bit of the DTS_TSn_ICR register. This also clears the associated IRQ if it has been enabled.

Interrupt events are triggered when the following flags are asserted or the force bits in the DTS_TSnIRQTESTR register are set. The forcing allows interrupts to be manually generated for software test purposes.

Generally, the embedded temperature sensors run continuously relying on their alarms to signal out-of-bounds conditions. The user would usually disable the sample done flags for these TS types unless they wish to log every data sample.

Table 265. DTS interrupts

Interrupt eventEvent flagEnable control bitInterrupt clear method
irq_smplIRQ_STATUS_DONEIRQ_EN_DONEIRQ_CLEAR_DONE
irq_alarmaIRQ_STATUS_ALARMIRQ_EN_ALARMIRQ_CLEAR_ALARM

Table 265. DTS interrupts

Interrupt eventEvent flagEnable control bitInterrupt clear method
irq_alarmbIRQ_STATUS_ALARMbIRQ_EN_ALARMbIRQ_CLEAR_ALARMb
irq_faultIRQ_STATUS_FAULTIRQ_EN_FAULTIRQ_CLEAR_FAULT

33.5 DTS registers

The APB interface supports 32-bit word aligned addresses (byte access is not supported).

The memory map contains a mixture of read-only, read-write, and write-only register fields. The write-only bits are self-clearing bits that are generally used to create strobes. Reserved register fields and any undefined register addresses are read-only and return zero when read.

Table 266 shows the DTS memory map overview.

Table 266. DTS register memory map

Address boundaryRegister bankRegister block sizeAddress locationsDescription
0x0000 - 0x003FPVT common registers0x4016PVT common registers
0x0040 - 0x007FPVT interrupt registers0x4016PVT interrupt registers
0x0080 - 0x00BFTS common registers0x4016TS common registers
0x00C0 - 0x00FFTS 0 individual registers0x4016TS0 dedicated registers (such as IRQ, alarms and samples)
0x0100 - 0x013FTS 1 individual registers0x4016TS1 dedicated registers (such as IRQ, alarms and samples)

33.5.1 DTS PVT common registers

The PVT common registers are used to configure the timer and read back the lock status.

DTS PVT register lock register (DTS_PVTREG_LOCKR)

The DTS can be locked by software using the DTS_PVTREG_LOCKR register. Any write to the register locks all DTS registers except for the PVT common registers.

Address offset: 0x010

Reset value: 0x0000 0000

31302928272625242322212019181716
LOCK[31:16]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
LOCK[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:0 LOCK[31:0] : PVT software lock register

Any write to this register locks all DTS registers except for the PVT common registers. Once locked, the DTS registers are read-only. The software lock can be removed by writing 0x1ACC E551.

DTS PVT lock status register (DTS_PVTLOCK_SR)

Address offset: 0x014

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HW_LOCK_STATUSSW_LOCK_STATUS
rr

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 HW_LOCK_STATUS : Hardware lock input status

This bit indicates the status of the hardware lock input to the PVT controller.

Bit 0 SW_LOCK_STATUS : Software lock input status

This bit indicates the current state of the lock register.

DTS PVT timer control register (DTS_PVTTMR_CR)

Address offset: 0x020

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_RUN
1514131211109876543210
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
TMR_DELAY[15:0]

Bits 31:17 Reserved, must be kept at reset value.

Bit 16 TMR_RUN : Timer count enable bit

This bit enables the timer count function.

Bits 15:0 TMR_DELAY[15:0] : Timer delay

This bitfield can be used to configure the timer delay.

DTS PVT timer status register (DTS_PVTSMR_SR)

Address offset: 0x024

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_DONETMR_BUSY
rr

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 TMR_DONE : Counter delay expiration flag

This bit is set when the counter delay has expired.

Bit 0 TMR_BUSY : Counter busy flag

This bit is set while the counter is active.

33.5.2 PVT IRQ registers

The PVT IRQ registers are present in all build configurations of the PVT controller.

DTS PVT IRQ enable register (DTS_PVT_IER)

Address offset: 0x040

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS_IRQ_ENABLETMR_IRQ_ENABLE
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 TS_IRQ_ENABLE : TS IRQ source enable bit

Set this bit to enable the TS IRQ to the processor.

Bit 0 TMR_IRQ_ENABLE : Timer IRQ source enable bit

Set this bit to enable the timer IRQ to the processor.

DTS PVT IRQ timer mask register (DTS_PVTIRQTRMASKR)

Address offset: 0x050

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_IRQ_MASK
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 TMR_IRQ_MASK : Timer IRQ source mask bit

Set this bit to mask the timer IRQ to the processor.

DTS PVT IRQ TS mask register (DTS_TS_MR)

Address offset: 0x054

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_IRQ_MASKTS0_IRQ_MASK
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 TS1_IRQ_MASK : TS1 IRQ source mask bit

Set this bit to mask TS1 IRQ to the processor.

Bit 0 TS0_IRQ_MASK : TS0 IRQ source mask bit

Set this bit to mask TS0 IRQ to the processor.

DTS PVT IRQ timer status register (DTS_PVTTR_SR)

Address offset: 0x060

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_IRQ_STATUS
1

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 TMR_IRQ_STATUS : Timer IRQ status bit after masking

This bit reflects the timer IRQ status after the mask has been applied.

DTS PVT IRQ TS status register (DTS_TS_ISR)

Address offset: 0x064

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_IRQ_STATUSTS0_IRQ_STATUS
11

Bits 2 Reserved, must be kept at reset value.

Bit 1 TS1_IRQ_STATUS : TS1 IRQ status bit after masking

This bit reflects the timer IRQ status after the mask has been applied.

Note: The bit is set when the corresponding TS block has issued an IRQ interrupt to the processor. Bit 0 TS0_IRQ_STATUS : TS0 IRQ status bit after masking

This bit reflects the timer IRQ status after the mask has been applied.

Note: The bit is set when the corresponding TS block has issued an IRQ interrupt to the processor. DTS PVT IRQ timer raw status register (DTS_PVTTMRAW_ISR)

Address offset: 0x070

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_IRQ_RAW_STATUS
1

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 TMR_IRQ_RAW_STATUS : TMR IRQ status bit before masking

This bit reflects the timer IRQ status before the mask is applied.

DTS PVT IRQ TS raw status register (DTS_TSRAW_ISR)

Address offset: 0x074

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_IRQ_RAW_STATUSTS0_IRQ_RAW_STATUS
11

Bits 2 Reserved, must be kept at reset value.

Bit 1 TS1_IRQ_RAW_STATUS : TS1 IRQ status bit before masking

This bit reflects the timer IRQ status before the mask is applied.

Bit 0 TS0_IRQ_RAW_STATUS : TS0 IRQ status bit before masking

This bit reflects the timer IRQ status before the mask is applied.

33.5.3 TS common registers

DTS TSC clock synthesizer register (DTS_TSCCLKSYNTHR)

Address offset: 0x080

Reset value: 0x0001 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.CLK_SYTH_ENRes.Res.Res.Res.CLK_SYNTH_HOLD[3:0]
rwrwrwrwrw
1514131211109876543210
CLK_SYNTH_HI[7:0]CLK_SYNTH_LO[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 CLK_SYTH_EN : Synthesized clk_ts enable bit

0: Disabled

1: Enabled

Bits 23:20 Reserved, must be kept at reset value.

Bits 19:16 CLK_SYNTH_HOLD[3:0] : SDA master-to-SDA slave output hold delay/SDA slave-to-SDA master input setup delay

The delay is counted from the rising edge of clk_ts. It is expressed in units of ck_ker_dts cycles. The default value is 0b0001.

Bits 15:8 CLK_SYNTH_HI[7:0] : Synthesized clk_ts high period

This is a zero-Indexed value expressed in units of ck_ker_dts cycles.

Bits 7:0 CLK_SYNTH_LO[7:0] : Synthesized clk_ts low period

This is a zero-Indexed value expressed in units of ck_ker_dts cycles.

DTS TSC SDIF interface disable register (DTS_TSCSDIFDISABLER)

Address offset: 0x084

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_SDIF_DISABLETS0_SDIF_DISABLE
RWRW

Bits 2 Reserved, must be kept at reset value.

Bit 1 TS1_SDIF_DISABLE : TS1 serial data interface (SDIF) disable bit

When this bit is asserted, it completely disables TS1 instance by forcing TS1 clock and reset low.

0: Enabled

1: Disabled

Bit 0 TS0_SDIF_DISABLE : TS0 serial data interface (SDIF) disable bit

When this bit is asserted, it completely disables the selected TS0 instance by forcing TS0 clock and reset low.

0: Enabled

1: Disabled

Note: Any disable action must be applied before SDIF programming begins. DTS TSC SDIF status register (DTS_TSCSDIF_SR)

Address offset: 0x088

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SDIF_LOCKSDIF_BUSY
rr

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 SDIF_LOCK : SDIF locked flag

This bit is set when the slave automatic mode is requested, to indicate that the serial data interface (SDIF) is now a write-only interface (see Section : SDA controller operation ).

In slave automatic mode, the data register (SDATS_DR) is automatically updated within the PVT controller whenever new TS data become available

0: Unlocked

1: Locked

Bit 0 SDIF_BUSY : SDIF busy flag

When asserted, this bit indicates either that the serial data interface (SDIF) is busy and any SDIF programming requests are ignored, or the clock synthesizer/disable SDIF state is being updated.

0: SDIF not busy/no clock synthesizer/disable SDIF state update ongoing

1: SDIF busy/clock synthesizer/disable SDIF state update ongoing

DTS TSC SDIF register (DTS_TSCSDIF_CR)

Address offset: 0x08C

Reset value: 0x0000 0000

31302928272625242322212019181716
SDIF_PROGRes.Res.Res.SDIF_WRNSDIF_ADDR[2:0]SDIF_WDATA[23:16]
wrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SDIF_WDATA[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 SDIF_PROG : Serial interface program request

This self-clearing bit is ignored if the SDIF_BUSY or the SDIF_LOCK flag is set, and the request is a read request (SDIF_WRN = 0).

0: No SDIF program request

1: SDIF program requested

Bits 30:28 Reserved, must be kept at reset value.

Bit 27 SDIF_WRN : Serial interface write/no read control bit

0: SDIF read

1: SDIF write

Bits 26:24 SDIF_ADDR[2:0] : Serial interface register address

This bitfield contains the address of the target SDIF register, SDIF_ADDR[2:0].

Bits 23:0 SDIF_WDATA[23:0] : Serial interface write data

This bitfield contains the write data SDIF_WDATA[23:0].

DTS TSC SDIF halt register (DTS_TSCSDIFHALTR)

Address offset: 0x090

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SDIF_STOP
w

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 SDIF_STOP : Serial data interface (SDIF) stop

This self-clearing bit immediately stops all SDIF programming activity in the unlikely event of it becoming locked. It must not be required during normal operation.

0: Not stopped

1: Stopped

DTS TSC SDIF control register (DTS_TSCSDIF_CFGR)

Address offset: 0x094

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SDIF_INHIBIT[1:0]SDIF_INHIBIT[1:0]
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bits 1:0 SDIF_INHIBIT[1:0] : Serial data interface (SDIF) programming inhibit

When asserted, this bit inhibits the serial programming of the selected TS instance(s).

The inhibition must be applied before SDIF programming begins.

00: No Inhibition

01: TS0 inhibited/TS1 serial programming activated (SPA)

10: TS1 inhibited/TS0 serial programming activated (SPA)

11: TS1 and TS0 inhibited

DTS TSC sample control register (DTS_TSCSMPL_CR)

Address offset: 0x0A0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SMPL_DISCARDSMPL_CTR_HOLDSMPL_CTR_DISABLE
rwrwrw

Bits 31:3 Reserved, must be kept at reset value.

Bit 2 SMPL_DISCARD: Sample discard bit

This feature can be used to temporarily discard received data samples. When this bit is set, data recovery is disabled but the external TS may continue running.

0: Data samples not discarded

1: Data samples discarded

Bit 1 SMPL_CTR_HOLD: Sample counter hold bit

When this bit is asserted, the sample counter is prevented from rolling over when the maximum sample count is reached.

0: Counter not on hold

1: Counter on hold

Bit 0 SMPL_CTR_DISABLE: Sample counter disable bit

0: Sample counter enabled

1: Sample counter disabled

DTS TSC sample clear register (DTS_TSCSDIFSMPLCLRR)

Address offset: 0x0A4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SMPL_CNTER_CLEAR
w

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 SMPL_CNTER_CLEAR : Sample counter clear bit

The sample counter value is set to zero when this self-clearing bit is programmed to 1.

0: Counter value not cleared

1: Counter value cleared

DTS TSC sample count register (DTS_TSCSMPLCNTR)

Address offset: 0x0A8

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
SMPL_COUNT[15:0]
rrrrrrrrrrrrrrrr

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 SMPL_COUNT[15:0] : Sample counter

The 16-bit counter increments each time a new data sample is available. The counter is cleared by writing 1 to DTS_TSCSDIFSMPLCLRR. The sample counter overflow operation is determined by SMPL_CTR_HOLD.

33.5.4 TS individual registers

DTS TSn IRQ enable register (DTS_TSn_IER)

Address offset: 0x0C0 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_EN_ALARM_BIRQ_EN_ALARM_ARes.IRQ_EN_DONEIRQ_EN_FAULT
nwnwnwnw

Bits 31:5 Reserved, must be kept at reset value.

Bit 4 IRQ_EN_ALARM_B : Alarm B IRQ enable bit

Bit 3 IRQ_EN_ALARM_A : Alarm A IRQ enable bit

Bit 2 Reserved, must be kept at reset value.

Bit 1 IRQ_EN_DONE : Sample done IRQ enable bit

Bit 0 IRQ_EN_FAULT : Fault IRQ enable bit

DTS TSn IRQ status register (DTS_TSn_ISR)

Address offset: 0x0C4 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_STATUS_ALARM_BIRQ_STATUS_ALARM_ARes.IRQ_STATUS_DONEIRQ_STATUS_FAULT
rrrr

Bits 31:5 Reserved, must be kept at reset value.

Bit 4 IRQ_STATUS_ALARM_B : Alarm B IRQ status bit

Bit 3 IRQ_STATUS_ALARM_A : Alarm A IRQ status bit

Bit 2 Reserved, must be kept at reset value.

Bit 1 IRQ_STATUS_DONE : Sample done IRQ status bit

Bit 0 IRQ_STATUS_FAULT : Fault IRQ status bit

DTS TSn IRQ clear register (DTS_TSn_ICR)

Address offset: 0x0C8 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_CLEAR_ALARMBIRQ_CLEAR_ALARMARes.IRQ_CLEAR_DONEIRQ_CLEAR_FAULT
wwww

Bits 31:5 Reserved, must be kept at reset value.

Bit 4 IRQ_CLEAR_ALARMB : Alarm B IRQ clear bit

Bit 3 IRQ_CLEAR_ALARMA : Alarm A IRQ clear bit

Bit 2 Reserved, must be kept at reset value.

Bit 1 IRQ_CLEAR_DONE : Sample done IRQ clear bit

Bit 0 IRQ_CLEAR_FAULT : Fault IRQ clear bit

DTS TSn IRQ test register (DTS_TSnIRQTESTR)

Address offset: 0x0CC + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_TEST_ALARM BIRQ_TEST_ALARM ARes.IRQ_TEST_DONEIRQ_TEST_FAULT
nwnwnwnw

Bits 31:5 Reserved, must be kept at reset value.

Bit 4 IRQ_TEST_ALARM B : Alarm B IRQ test bitBit 3 IRQ_TEST_ALARM A : Alarm A IRQ test bit

Bit 2 Reserved, must be kept at reset value.

Bit 1 IRQ_TEST_DONE : Sample done IRQ test bitBit 0 IRQ_TEST_FAULT : Fault IRQ test bit DTS TSn SDIF RDATA register (DTS_TSnSDIFRDATAR)

Address offset: 0x0D0 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.SDIF_RDATA[23:16]
rrrrrrrr
1514131211109876543210
SDIF_RDATA[15:0]
rrrrrrrrrrrrrrrr

Bits 31:24 Reserved, must be kept at reset value.

Bits 23:0 SDIF_RDATA[23:0] : SDIF read data DTS TSn SDIF done register (DTS_TSnSDIFDONER)

Address offset: 0x0D4 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SDIF_SMPL_DONE
r

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 SDIF_SMPL_DONE : Sample done flag

The sample done flag is asserted when a new data sample is available. The sample done flag is automatically cleared when the associated data register is read.

0: No new data sample available

1: New data sample available

DTS TSn SDIF data register (DTS_TSnSDIFDATAR)

Address offset: 0x0D8 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SAMPLE_FAULTSAMPLE_TYPE
rr
1514131211109876543210
SAMPLE_DATA[15:0]
rrrrrrrrrrrrrrrr

Bits 31:18 Reserved, must be kept at reset value.

Bit 17 SAMPLE_FAULT : Sample fault

This bit is set to indicate that the TS block has signaled a fault. The sample data must be discarded.

Bit 16 SAMPLE_TYPE : TS sample type

0: Indicates valid data

1: Indicates either analog access, signature select or fault debug mode

The TS_TYPE flag is updated when new data are received.

Bits 15:0 SAMPLE_DATA[15:0] : Sample data.

Reading this register clears the state of the SDIF_SMPL_DONE flag in DTS_TSnSDIFDONER register.

DTS TSn alarm A configuration register (DTS_TSnALARMA_CFGR)

Address offset: 0x0E0 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
ALARMA_THRESH[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
HYSTA_THRESH[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 ALARMA_THRESH[15:0] : Alarm A threshold

Bits 15:0 HYSTA_THRESH[15:0] : Alarm A hysteresis threshold

DTS TSn alarm B configuration register (DTS_TSnALARMB_CFGR)

Address offset: 0x0E4 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
ALARMB_THRESH[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
HYSTB_THRESH[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 ALARMB_THRESH[15:0] : Alarm B threshold

Bits 15:0 HYSTB_THRESH[15:0] : Alarm B hysteresis threshold

DTS TSn high/low sample register (DTS_TSnHLSAMPLER)

Address offset: 0x0E8 + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 FFFF

31302928272625242322212019181716
SMPL_HI[15:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
SMPL_LO[15:0]
rrrrrrrrrrrrrrrr
Bits 31:16 SMPL_HI[15:0] : Highest valid data sample value receivedBits 15:0 SMPL_LO[15:0] : Lowest valid data sample value received DTS TSn high/low reset register (DTS_TSnHILORESETR)

Address offset: 0x0EC + 0x40 * n, (n = 0 to 1)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SMPL_HI_CLRSMPL_LO_SET
ww

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 SMPL_HI_CLR : Sample high clear 0

All the bits of the stored sample high value are initialized to 0 when written.

Bit 0 SMPL_LO_SET : Sample Low Set

All the bits of the stored sample low value are initialized to 1 when written.

33.5.5 DTS register map

Table 267. PVT common register map and reset values

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x000-
0x00C
ReservedReserved
0x010DTS_PVTREG_
LOCKR
LOCK[31:0]
Reset value00000000000000000000000000000000
0x014DTS_PVTLOCK_
_SR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HW_LOCK_STATUSSW_LOCK_STATUS
Reset value00
0x018 -
0x01C
ReservedReserved
0x020DTS_PVTTMR_
CR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_RUNTMR_DELAY[15:0]
Reset value00000000000000000
0x024DTS_PVTTMR_
CR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_DONETMR_BUSY
Reset value00
0x030 -
0x03C
ReservedReserved

Table 268. PVT IRQ register map and reset values

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x040DTS_PVT_IERRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS_IRQ_ENABLETMR_IRQ_ENABLE
Reset value00
0x044 -
0x04C
ReservedReserved
0x050DTS_PVTIRQ
TRMASKR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_IRQ_MASK
Reset value0
0x054DTS_TS_MRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_IRQ_MASKTS0_IRQ_MASK
Reset value00

Table 268. PVT IRQ register map and reset values (continued)

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x058 -
0x05C
ReservedReserved
0x060DTS_PVTTR_
SR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_IRQ_STATUS
Reset value0
0x064DTS_TS_ISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_IRQ_STATUSTS0_IRQ_STATUS
Reset value00
0x068 -
0x06C
ReservedReserved
0x070DTS_PVTTMR
RAW_ISR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TMR_IRQ_RAW_STATUS
Reset value0
0x074DTS_TSRAW_
ISR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TS1_IRQ_RAW_STATUSTS0_IRQ_RAW_STATUS
Reset value00
0x078 -
0x07C
ReservedReserved

Table 269. DTS TSC clock synthesizer register map and reset values

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x080DTS_TSCCLK
SYNTHR
Res.Res.Res.Res.Res.Res.Res.CLK_SYTH_ENRes.Res.Res.Res.CLK_SYNTH
_HOLD[3:0]
CLK_SYNTH_HI[7:0]CLK_SYNTH_LO[7:0]
Reset value000010000000000000000

Table 269. DTS TSC clock synthesizer register map and reset values (continued)

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x084DTS_TSCSDIF
DISABLER
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.0
Reset value0
0x088DTS_TSCSDIF_
SR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.0
Reset value0
0x08CDTS_TSCSDIF_
CR
SDIF_PROGRes.Res.Res.SDIF_WRNSDIF_ADDR
[2:0]
SDIF_WDATA[23:0]0
Reset value0000000000000000000000000000
0x090DTS_TSCSDIF
HALTR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.0
Reset value0
0x094DTS_TSCSDIF_
CFGR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.0
Reset value0
0x098 -
0x09C
ReservedReserved
0x0A0DTS_TSCSMPL_
CR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.0
Reset value0
0x0A4DTS_TSCSDIF
SMPLCLRR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.0
Reset value0
0x0A8DTS_TSCSMPL_
CNTR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SMPL_COUNT[15:0]0
Reset value00000000000000000
0x0B0 -
0x0BF
ReservedReserved

Table 270. DTS TS individual register map and reset values

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x0C0 +
0x40 * n,
(n = 0 to 1)
DTS_TSn_IERRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_EN_ALARMBIRQ_EN_ALARMARes.IRQ_EN_DONEIRQ_EN_FAULT
Reset value0000
0x0C4 +
0x40 * n,
(n = 0 to 1)
DTS_TSn_ISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_STATUS_ALARMBIRQ_STATUS_ALARMARes.IRQ_STATUS_DONEIRQ_STATUS_FAULT
Reset value0000
0x0C8 +
0x40 * n,
(n = 0 to 1)
DTS_TSn_ICRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_CLEAR_ALARMBIRQ_CLEAR_ALARMARes.IRQ_CLEAR_DONEIRQ_CLEAR_FAULT
Reset value0000
0x0CC +
0x40 * n,
(n = 0 to 1)
DTS_TSnIRQ
TESTR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.IRQ_TEST_ALARMBIRQ_TEST_ALARMARes.IRQ_TEST_DONEIRQ_TEST_FAULT
Reset value0000
0x0D0 +
0x40 * n,
(n = 0 to 1)
DTS_TSnSDIF
RDATAR
Res.Res.Res.Res.Res.Res.Res.Res.SDIF_RDATA[23:0]
Reset value000000000000000000000000
0x0D4 +
0x40 * n,
(n = 0 to 1)
DTS_TSnSDIF
DONER
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SDIF_SMPL_DONE
Reset value0
0x0D8 +
0x40 * n,
(n = 0 to 1)
DTS_TSnSDIF
DATAR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SAMPLE_FAULTSAMPLE_TYPESAMPLE_DATA[15:0]
Reset value000000000000000000
0x0DC -
0x0E8
ReservedReserved
0x0E0 +
0x40 * n,
(n = 0 to 1)
DTS_TSn
ALARMA_
CFGR
HYSTA_THRESH[15:0]ALARMA_THRESH[15:0]
Reset value00000000000000000000000000000000

Table 270. DTS TS individual register map and reset values (continued)

OffsetRegister name
reset value
313029282726252423222120191817161514131211109876543210
0x0E4 +
0x40 * n,
(n = 0 to 1)
DTS_TSn
ALARMB_
CFG
HYSTB_THRESH[15:0]ALARMB_THRESH[15:0]
Reset value00000000000000000000000000000000
0x0E8 +
0x40 * n,
(n = 0 to 1)
DTS_TSnHL
SAMPLER
SMPL_HI[15:0]SMPL_LO[15:0]
Reset value00000000000000001111111111111111
0x0EC +
0x40 * n,
(n = 0 to 1)
DTS_TSnHILO
RESETR
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value00

Refer to Section 2.3 for the register boundary addresses.