SBAS601H December 2012 – July 2014 AFE4400
PRODUCTION DATA.
The AFE4400 is a complete analog front-end (AFE) solution targeted for pulse oximeter applications. The device consists of a low-noise receiver channel, an LED transmit section, and diagnostics for sensor and LED fault detection. To ease clocking requirements and provide the low-jitter clock to the AFE, an oscillator is also integrated that functions from an external crystal. The device communicates to an external microcontroller or host processor using an SPI interface. The Functional Block Diagram section provides a detailed block diagram for the AFE4400. The blocks are described in more detail in the following sections.
This section describes the functionality of the receiver channel.
The receiver consists of a differential current-to-voltage (I-V) transimpedance amplifier (TIA) that converts the input photodiode current into an appropriate voltage, as shown in Figure 34. The feedback resistor of the amplifier (RF) is programmable to support a wide range of photodiode currents. Available RF values include:
1 MΩ, 500 kΩ, 250 kΩ, 100 kΩ, 50 kΩ, 25 kΩ, and 10 kΩ.
The device is ideally suited as a front-end for a PPG (photoplethysmography) application. In such an application, the light from the LED is reflected (or transmitted) from (or through) the various components inside the body (such as blood, tissue, and so forth) and are received by the photodiode. The signal received by the photodiode has three distinct components:
The RF amplifier and the feedback capacitor (CF) form a low-pass filter for the input signal current. Always ensure that the low-pass filter RC time constant has sufficiently high bandwidth (as shown by Equation 1) because the input current consists of pulses. For this reason, the feedback capacitor is also programmable. Available CF values include: 5 pF, 10 pF, 25 pF, 50 pF, 100 pF, and 250 pF. Any combination of these capacitors can also be used.
The output voltage of the I-V amplifier includes the pleth component (the desired signal) and a component resulting from the ambient light leakage. The I-V amplifier is followed by the second stage, which consists of a current digital-to-analog converter (DAC) that sources the cancellation current and an amplifier that gains up the pleth component alone. The amplifier has five programmable gain settings: 0 dB, 3.5 dB, 6 dB, 9.5 dB, and 12 dB. The gained-up pleth signal is then low-pass filtered (500-Hz bandwidth) and buffered before driving a 22-bit ADC. The current DAC has a cancellation current range of 10 µA with 10 steps (1 µA each). The DAC value can be digitally specified with the SPI interface. Using ambient compensation with the ambient DAC allows the dc-biased signal to be centered to near mid-point of the amplifier (±0.9 V). Using the gain of the second stage allows for more of the available ADC dynamic range to be used.
The output of the ambient cancellation amplifier is separated into LED2 and LED1 channels. When LED2 is on, the amplifier output is filtered and sampled on capacitor CLED2. Similarly, the LED1 signal is sampled on the CLED1 capacitor when LED1 is on. In between the LED2 and LED1 pulses, the idle amplifier output is sampled to estimate the ambient signal on capacitors CLED2_amb and CLED1_amb.
The sampling duration is termed the Rx sample time and is programmable for each signal, independently. The sampling can start after the I-V amplifier output is stable (to account for LED and cable settling times). The Rx sample time is used for all dynamic range calculations; the minimum time recommended is 50 µs. While the AFE4400 can support pulse widths lower than 50 us, having too low a pulse width could result in a degraded signal and noise from the photodiode.
A single, 22-bit ADC converts the sampled LED2, LED1, and ambient signals sequentially. Each conversion provides a single digital code at the ADC output. As discussed in the Receiver Timing section, the conversions are meant to be staggered so that the LED2 conversion starts after the end of the LED2 sample phase, and so on.
Note that four data streams are available at the ADC output (LED2, LED1, ambient LED2, and ambient LED1) at the same rate as the pulse repetition frequency. The ADC is followed by a digital ambient subtraction block that additionally outputs the (LED2 – ambient LED2) and (LED1 – ambient LED1) data values.
The receiver provides digital samples corresponding to ambient duration. The host processor (external to the AFE) can use these ambient values to estimate the amount of ambient light leakage. The processor must then set the value of the ambient cancellation DAC using the SPI, as shown in Figure 35.
Using the set value, the ambient cancellation stage subtracts the ambient component and gains up only the pleth component of the received signal; see Figure 36. The amplifier gain is programmable to 0 dB, 3.5 dB, 6 dB,
9.5 dB, and 12 dB.
The differential output of the second stage is VDIFF, as given by Equation 2:
where
RG values with various gain settings are listed in Table 1.
GAIN | RG(kΩ) |
---|---|
0 (x1) | 100 |
3.5 (x1.5) | 150 |
6 (x2) | 200 |
9.5 (x3) | 300 |
12 (x4) | 400 |
LED2 sample phase (SLED2 or SR): When this signal is high, the amplifier output corresponds to the LED2 on-time. The amplifier output is filtered and sampled into capacitor CLED2. To avoid settling effects resulting from the LED or cable, program SLED2 to start after the LED turns on. This settling delay is programmable.
Ambient sample phase (SLED2_amb or SR_amb): When this signal is high, the amplifier output corresponds to the LED2 off-time and can be used to estimate the ambient signal (for the LED2 phase). The amplifier output is filtered and sampled into capacitor CLED2_amb.
LED1 sample phase (SLED1 or SIR): When this signal is high, the amplifier output corresponds to the LED1 on-time. The amplifier output is filtered and sampled into capacitor CLED1. To avoid settling effects resulting from the LED or cable, program SLED1 to start after the LED turns on. This settling delay is programmable.
Ambient sample phase (SLED1_amb or SIR_amb): When this signal is high, the amplifier output corresponds to the LED1 off-time and can be used to estimate the ambient signal (for the LED1 phase). The amplifier output is filtered and sampled into capacitor CLED1_amb.
LED2 convert phase (CONVLED2 or CONVR): When this signal is high, the voltage sampled on CLED2 is buffered and applied to the ADC for conversion. At the end of the conversion, the ADC provides a single digital code corresponding to the LED2 sample.
Ambient convert phases (CONVLED2_amb or CONVR_amb, CONVLED1_ambor CONVIR_amb): When this signal is high, the voltage sampled on CLED2_amb (or CLED1_amb) is buffered and applied to the ADC for conversion. At the end of the conversion, the ADC provides a single digital code corresponding to the ambient sample.
LED1 convert phase (CONVLED1 or CONVIR): When this signal is high, the voltage sampled on CLED1 is buffered and applied to the ADC for conversion. At the end of the conversion, the ADC provides a single digital code corresponding to the LED1 sample.
See Figure 37 for a timing diagram detailing the control signals related to the LED on-time, Rx sample time, and the ADC conversion times for each channel. Figure 37 shows the timing for a case where each phase occupies 25% of the pulse repetition period. However, this percentage is not a requirement. In cases where the device is operated with low pulse repetition frequency (PRF) or low LED pulse durations, the active portion of the pulse repetition period can be reduced. Using the dynamic power-down feature, the overall power consumption can be significantly reduced.
The crystal oscillator generates a master clock signal using an external crystal. In the default mode, a divide-by-2 block converts the 8-MHz clock to 4 MHz, which is used by the AFE to operate the timer modules, ADC, and diagnostics. The 4-MHz clock is buffered and output from the AFE in order to clock an external microcontroller. The clocking functionality is shown in Figure 38.
See Figure 39 for a timing diagram detailing the various timing edges that are programmable using the timer module. The rising and falling edge positions of 11 signals can be controlled. The module uses a single 16-bit counter (running off of the 4-MHz clock) to set the time-base.
All timing signals are set with reference to the pulse repetition period (PRP). Therefore, a dedicated compare register compares the 16-bit counter value with the reference value specified in the PRF register. Every time that the 16-bit counter value is equal to the reference value in the PRF register, the counter is reset to 0.
For the timing signals in Figure 37, the start and stop edge positions are programmable with respect to the PRF period. Each signal uses a separate timer compare module that compares the counter value with preprogrammed reference values for the start and stop edges. All reference values can be set using the SPI interface.
After the counter value has exceeded the stop reference value, the output signal is set. When the counter value equals the stop reference value, the output signal is reset. Figure 40 shows a diagram of the timer compare register. With a 4-MHz clock, the edge placement resolution is 0.25 µs.
The ADC conversion signal requires four pulses in each PRF clock period. Timer compare register 11 uses four sets of start and stop registers to control the ADC conversion signal, as shown in Figure 41.
The timer module registers can be used to program the start and end instants in units of 4-MHz clock cycles. These timing instants and the corresponding registers are listed in Table 2.
Note that the device does not restrict the values in these registers; thus, the start and end edges can be positioned anywhere within the pulse repetition period. Care must be taken by the user to program suitable values in these registers to avoid overlapping the signals and to make sure none of the edges exceed the value programmed in the PRP register. Writing the same value in the start and end registers results in a pulse duration of one clock cycle. The following steps describe the timer sequencing configuration:
TIME INSTANT (See Figure 42 and Figure 43) | DESCRIPTION | CORRESPONDING REGISTER ADDRESS AND REGISTER BITS | EXAMPLE(1) (Decimal) |
---|---|---|---|
t0 | Start of pulse repetition period | No register control | — |
t1 | Start of sample LED2 pulse | LED2STC[15:0], register 01h | 6050 |
t2 | End of sample LED2 pulse | LED2ENDC[15:0], register 02h | 7998 |
t3 | Start of LED2 pulse | LED2LEDSTC[15:0], register 03h | 6000 |
t4 | End of LED2 pulse | LED2LEDENDC[15:0], register 04h | 7999 |
t5 | Start of sample LED2 ambient pulse | ALED2STC[15:0], register 05h | 50 |
t6 | End of sample LED2 ambient pulse | ALED2ENDC[15:0], register 06h | 1998 |
t7 | Start of sample LED1 pulse | LED1STC[15:0], register 07h | 2050 |
t8 | End of sample LED1 pulse | LED1ENDC[15:0], register 08h | 3998 |
t9 | Start of LED1 pulse | LED1LEDSTC[15:0], register 09h | 2000 |
t10 | End of LED1 pulse | LED1LEDENDC[15:0], register 0Ah | 3999 |
t11 | Start of sample LED1 ambient pulse | ALED1STC[15:0], register 0Bh | 4050 |
t12 | End of sample LED1 ambient pulse | ALED1ENDC[15:0], register 0Ch | 5998 |
t13 | Start of convert LED2 pulse | LED2CONVST[15:0], register 0Dh Must start one AFE clock cycle after the ADC reset pulse ends. |
4 |
t14 | End of convert LED2 pulse | LED2CONVEND[15:0], register 0Eh | 1999 |
t15 | Start of convert LED2 ambient pulse | ALED2CONVST[15:0], register 0Fh Must start one AFE clock cycle after the ADC reset pulse ends. |
2004 |
t16 | End of convert LED2 ambient pulse | ALED2CONVEND[15:0], register 10h | 3999 |
t17 | Start of convert LED1 pulse | LED1CONVST[15:0], register 11h Must start one AFE clock cycle after the ADC reset pulse ends. |
4004 |
t18 | End of convert LED1 pulse | LED1CONVEND[15:0], register 12h | 5999 |
t19 | Start of convert LED1 ambient pulse | ALED1CONVST[15:0], register 13h Must start one AFE clock cycle after the ADC reset pulse ends. |
6004 |
t20 | End of convert LED1 ambient pulse | ALED1CONVEND[15:0], register 14h | 7999 |
t21 | Start of first ADC conversion reset pulse | ADCRSTSTCT0[15:0], register 15h | 0 |
t22 | End of first ADC conversion reset pulse(2) | ADCRSTENDCT0[15:0], register 16h | 3 |
t23 | Start of second ADC conversion reset pulse | ADCRSTSTCT1[15:0], register 17h | 2000 |
t24 | End of second ADC conversion reset pulse(2) | ADCRSTENDCT1[15:0], register 18h | 2003 |
t25 | Start of third ADC conversion reset pulse | ADCRSTSTCT2[15:0], register 19h | 4000 |
t26 | End of third ADC conversion reset pulse(2) | ADCRSTENDCT2[15:0], register 1Ah | 4003 |
t27 | Start of fourth ADC conversion reset pulse | ADCRSTSTCT3[15:0], register 1Bh | 6000 |
t28 | End of fourth ADC conversion reset pulse(2) | ADCRSTENDCT3[15:0], register 1Ch | 6003 |
t29 | End of pulse repetition period | PRPCOUNT[15:0], register 1Dh | 7999 |
The block diagram in Figure 44 shows the AFE4400 Rx subsystem power routing. Internal LDOs running off RX_ANA_SUP and RX_DIG_SUP generate the 1.8-V supplies required to drive the internal blocks. The two receive supplies could be shorted to a single supply on the board.
The transmit section integrates the LED driver and the LED current control section with 8-bit resolution. This integration is designed to meet a dynamic range of better than 105 dB (based on a 1-sigma LED current noise).
The RED and IR LED reference currents can be independently set. The current source (ILED) locally regulates and ensures that the actual LED current tracks the specified reference. The transmitter section uses an internal 0.5-V reference voltage for operation. This reference voltage is available on the REF_TX pin and must be decoupled to ground with a 2.2-μF capacitor. The TX_REF voltage is derived from the TX_CTRL_SUP. The maximum LED current setting supports up to 50-mA LED current.
Note that reducing the value of the band-gap reference capacitor on pin 7 reduces the time required for the device to wake-up and settle. However, this reduction in time is a trade-off between wake-up time and noise performance.
The minimum LED_DRV_SUP voltage required for operation depends on:
Using the internal 0.5-V reference voltage, the minimum LED_DRV_SUP voltage can be as low as 3.0 V, provided that [3.0 V – (VLED + VCABLE) > 1.4 V] is met.
See the Recommended Operating Conditions table for further details.
Two LED driver schemes are supported:
The block diagram in Figure 47 shows the AFE4400 Tx subsystem power routing.
The diagram in Figure 48 shows how LED bias current passes 50 µA whenever LED_ON occurs. In order to minimize power consumption in periods of inactivity, the LED_ON control must be turned off. Furthermore, the TIMEREN bit in the CONTROL1 register should be disabled by setting the value to 0.
Note that depending on the LEDs used, the LED may sometimes appear dimly lit even when the LED current is set to 0 mA. This appearance is because of the switching leakage currents (as shown in Figure 48) inherent to the timer function. The dimmed appearance does not effect the ambient light level measurement because during the ambient cycle, LED_ON is turned off for the duration of the ambient measurement.
After the falling edge of the ADC reset signal, the ADC conversion phase starts (refer to Figure 43). Each ADC conversion takes 50 µs.
The ADC operates with averaging. The averaging module averages multiple ADC samples and reduces noise to improve dynamic range. Figure 49 shows a diagram of the averaging module. The ADC output format is in 22-bit twos complement, as shown in Figure 50. The two MSB bits of the 24-bit data can be ignored.
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
Ignore | 22-Bit ADC Code, MSB to LSB | ||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
22-Bit ADC Code, MSB to LSB |
Table 3 shows the mapping of the input voltage to the ADC to its output code.
DIFFERENTIAL INPUT VOLTAGE AT ADC INPUT | 22-BIT ADC OUTPUT CODE |
---|---|
–1.2 V | 1000000000000000000000 |
(–1.2 / 221) V | 1111111111111111111111 |
0 | 0000000000000000000000 |
(1.2 / 221) V | 0000000000000000000001 |
1.2 V | 0111111111111111111111 |
The data format is binary twos complement format, MSB-first. Because the TIA has a full-scale range of ±1 V, TI recommends that the input to the ADC does not exceed ±1 V, which is approximately 80% of its full-scale.
In cases where having the processor read the data as a 24-bit word instead of a 22-bit word is more convenient, the entire register can be mapped to the input level as shown in Figure 51.
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
24-Bit ADC Code, MSB to LSB |
Table 4 shows the mapping of the input voltage to the ADC to its output code when the entire 24-bit word is considered.
DIFFERENTIAL INPUT VOLTAGE AT ADC INPUT | 24-BIT ADC OUTPUT CODE |
---|---|
–1.2 V | 111000000000000000000000 |
(–1.2 / 221) V | 111111111111111111111111 |
0 | 000000000000000000000000 |
(1.2 / 221) V | 000000000000000000000001 |
1.2 V | 000111111111111111111111 |
Now the data can be considered as a 24-bit data in binary twos complement format, MSB-first. The advantage of using the entire 24-bit word is that the ADC output is correct, even when the input is over the normal operating range.
The ADC digital samples are accumulated and averaged after every 50 µs. Then, at the next rising edge of the ADC reset signal, the average value (22-bit) is written into the output registers sequentially as follows (see Figure 52):
At the rising edge of the ADC_RDY signal, the contents of all six result registers can be read out.
The number of samples to be used per conversion phase is preset to 2.
The device includes diagnostics to detect open or short conditions of the LED and photosensor, LED current profile feedback, and cable on or off detection.
Figure 53 shows the diagnostic for the photodiode-side fault detection.
Figure 54 shows the diagnostic for the transmitter-side fault detection.
The diagnostics module, when enabled, checks for nine types of faults sequentially. The results of all faults are latched in 11 separate flags.
At the end of the sequence, the state of the 11 flags are combined to generate two interrupt signals: PD_ALM for photodiode-related faults and LED_ALM for transmit-related faults.
The status of all flags can also be read using the SPI interface. Table 5 details each fault and flag used. Note that the diagnostics module requires all AFE blocks to be enabled in order to function reliably.
MODULE | SEQ. | FAULT | FLAG1 | FLAG2 | FLAG3 | FLAG4 | FLAG5 | FLAG6 | FLAG7 | FLAG8 | FLAG9 | FLAG10 | FLAG11 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
— | — | No fault | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
PD | 1 | Rx INP cable shorted to LED cable | 1 | ||||||||||
2 | Rx INN cable shorted to LED cable | 1 | |||||||||||
3 | Rx INP cable shorted to GND cable | 1 | |||||||||||
4 | Rx INN cable shorted to GND cable | 1 | |||||||||||
5 | PD open or shorted | 1 | 1 | ||||||||||
LED | 6 | Tx OUTM line shorted to GND cable | 1 | ||||||||||
7 | Tx OUTP line shorted to GND cable | 1 | |||||||||||
8 | LED open or shorted | 1 | 1 | ||||||||||
9 | LED open or shorted | 1 |
Figure 55 shows the timing for the diagnostic function.
By default, the diagnostic function takes tDIAG = 16 ms to complete. After the diagnostics function completes, the AFE4400 filter must be allowed time to settle. See the Electrical Characteristics for the filter settling time.
The SPI-compatible serial interface consists of four signals: SCLK (serial clock), SPISOMI (serial interface data output), SPISIMO (serial interface data input), and SPISTE (serial interface enable).
The serial clock (SCLK) is the serial peripheral interface (SPI) serial clock. SCLK shifts in commands and shifts out data from the device. SCLK features a Schmitt-triggered input and clocks data out on the SPISOMI. Data are clocked in on the SPISIMO pin. Even though the input has hysteresis, TI recommends keeping SCLK as clean as possible to prevent glitches from accidentally shifting the data. When the serial interface is idle, hold SCLK low.
The SPI serial out master in (SPISOMI) pin is used with SCLK to clock out the AFE4400 data. The SPI serial in master out (SPISIMO) pin is used with SCLK to clock in data to the AFE4400. The SPI serial interface enable (SPISTE) pin enables the serial interface to clock data on the SPISIMO pin in to the device.
The device has a set of internal registers that can be accessed by the serial programming interface formed by the SPISTE, SCLK, SPISIMO, and SPISOMI pins.
The SPI_READ register bit must be first set to 0 before writing to a register. When SPISTE is low:
In case the word length exceeds a multiple of 32 bits, the excess bits are ignored. Data can be loaded in multiples of 32-bit words within a single active SPISTE pulse. The first eight bits form the register address and the remaining 24 bits form the register data. Figure 56 shows an SPI timing diagram for a single write operation. For multiple read and write cycles, refer to the Multiple Data Reads and Writes section.
The SPI_READ register bit must be first set to 1 before reading from a register. The AFE4400 includes a mode where the contents of the internal registers can be read back on the SPISOMI pin. This mode may be useful as a diagnostic check to verify the serial interface communication between the external controller and the AFE. To enable this mode, first set the SPI_READ register bit using the SPI write command, as described in the Writing Data section. In the next command, specify the SPI register address with the desired content to be read. Within the same SPI command sequence, the AFE outputs the contents of the specified register on the SPISOMI pin. Figure 57 shows an SPI timing diagram for a single read operation. For multiple read and write cycles, refer to the Multiple Data Reads and Writes section.
The device includes functionality where multiple read and write operations can be performed during a single SPISTE event. To enable this functionality, the first eight bits determine the register address to be written and the remaining 24 bits determine the register data. Perform two writes with the SPI read bit enabled during the second write operation in order to prepare for the read operation, as described in the Writing Data section. In the next command, specify the SPI register address with the desired content to be read. Within the same SPI command sequence, the AFE outputs the contents of the specified register on the SPISOMI pin. This functionality is described in the Writing Data and Reading Data sections. Figure 58 shows a timing diagram for the SPI multiple read and write operations.
After power-up, the internal registers must be initialized to the default values. This initialization can be done in one of two ways:
Note that when the AFE4400 is deselected, the SPISOMI, CLKOUT, ADC_RDY, PD_ALM, LED_ALM, and DIAG_END digital output pins do not enter a 3-state mode. This condition, therefore, must be taken into account when connecting multiple devices to the SPI port and for power-management considerations. In order to avoid loading the SPI bus when multiple devices are connected, the DIGOUT_TRISTATE register bit must be to 1 whenever the AFE SPI is inactive.
The AFE consists of a set of registers that can be used to configure it, such as receiver timings, I-V amplifier settings, transmit LED currents, and so forth. The registers and their contents are listed in Table 6. These registers can be accessed using the AFE SPI interface.
NAME | REGISTER CONTROL(1) | ADDRESS | REGISTER DATA | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Hex | Dec | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
CONTROL0 | W | 00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SW_RST | DIAG_EN | TIM_COUNT_RST | SPI_READ |
LED2STC | R/W | 01 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2STC[15:0] | |||||||||||||||
LED2ENDC | R/W | 02 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2ENDC[15:0] | |||||||||||||||
LED2LEDSTC | R/W | 03 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2LEDSTC[15:0] | |||||||||||||||
LED2LEDENDC | R/W | 04 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2LEDENDC[15:0] | |||||||||||||||
ALED2STC | R/W | 05 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2STC[15:0] | |||||||||||||||
ALED2ENDC | R/W | 06 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2ENDC[15:0] | |||||||||||||||
LED1STC | R/W | 07 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1STC[15:0] | |||||||||||||||
LED1ENDC | R/W | 08 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1ENDC[15:0] | |||||||||||||||
LED1LEDSTC | R/W | 09 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1LEDSTC[15:0] | |||||||||||||||
LED1LEDENDC | R/W | 0A | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1LEDENDC[15:0] | |||||||||||||||
ALED1STC | R/W | 0B | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1STC[15:0] | |||||||||||||||
ALED1ENDC | R/W | 0C | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1ENDC[15:0] | |||||||||||||||
LED2CONVST | R/W | 0D | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2CONVST[15:0] | |||||||||||||||
LED2CONVEND | R/W | 0E | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2CONVEND[15:0] | |||||||||||||||
ALED2CONVST | R/W | 0F | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2CONVST[15:0] | |||||||||||||||
ALED2CONVEND | R/W | 10 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2CONVEND[15:0] | |||||||||||||||
LED1CONVST | R/W | 11 | 17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1CONVST[15:0] | |||||||||||||||
LED1CONVEND | R/W | 12 | 18 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1CONVEND[15:0] | |||||||||||||||
ALED1CONVST | R/W | 13 | 19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1CONVST[15:0] | |||||||||||||||
ALED1CONVEND | R/W | 14 | 20 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1CONVEND[15:0] | |||||||||||||||
ADCRSTSTCT0 | R/W | 15 | 21 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTCT0[15:0] | |||||||||||||||
ADCRSTENDCT0 | R/W | 16 | 22 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRENDCT0[15:0] | |||||||||||||||
ADCRSTSTCT1 | R/W | 17 | 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTCT1[15:0] | |||||||||||||||
ADCRSTENDCT1 | R/W | 18 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRENDCT1[15:0] | |||||||||||||||
ADCRSTSTCT2 | R/W | 19 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTCT2[15:0] | |||||||||||||||
ADCRSTENDCT2 | R/W | 1A | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRENDCT2[15:0] | |||||||||||||||
ADCRSTSTCT3 | R/W | 1B | 27 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTCT3[15:0] | |||||||||||||||
ADCRSTENDCT3 | R/W | 1C | 28 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRENDCT3[15:0] | |||||||||||||||
PRPCOUNT | R/W | 1D | 29 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | PRPCT[15:0] | |||||||||||||||
CONTROL1 | R/W | 1E | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | CLKALMPIN[2:0] | TIMEREN | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | ||
SPARE1 | N/A | 1F | 31 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TIAGAIN | R/W | 20 | 32 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TIA_AMB_GAIN | R/W | 21 | 33 | 0 | 0 | 0 | 0 | AMBDAC[3:0] | 0 | STAGE2EN | 0 | 0 | 0 | STG2GAIN[2:0] | CF_LED[4:0] | RF_LED[2:0] | |||||||||||
LEDCNTRL | R/W | 22 | 34 | 0 | 0 | 0 | 0 | 0 | 0 | LEDCUROFF | 1 | LED1[7:0] | LED2[7:0] | ||||||||||||||
CONTROL2 | R/W | 23 | 35 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | TXBRGMOD | DIGOUT_TRISTATE | XTALDIS | 1 | 0 | 0 | 0 | 0 | 0 | PDNTX | PDNRX | PDNAFE |
SPARE2 | N/A | 24 | 36 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
SPARE3 | N/A | 25 | 37 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
SPARE4 | N/A | 26 | 38 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
RESERVED1 | N/A | 27 | 39 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
RESERVED2 | N/A | 28 | 40 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ALARM | R/W | 29 | 41 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALMPINCLKEN | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
LED2VAL | R | 2A | 42 | LED2VAL[23:0] | |||||||||||||||||||||||
ALED2VAL | R | 2B | 43 | ALED2VAL[23:0] | |||||||||||||||||||||||
LED1VAL | R | 2C | 44 | LED1VAL[23:0] | |||||||||||||||||||||||
ALED1VAL | R | 2D | 45 | ALED1VAL[23:0] | |||||||||||||||||||||||
LED2-ALED2VAL | R | 2E | 46 | LED2-ALED2VAL[23:0] | |||||||||||||||||||||||
LED1-ALED1VAL | R | 2F | 47 | LED1-ALED1VAL[23:0] | |||||||||||||||||||||||
DIAG | R | 30 | 48 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | PD_ALM | LED_ALM | LED1OPEN | LED2OPEN | LEDSC | OUTPSHGND | OUTNSHGND | PDOC | PDSC | INNSCGND | INPSCGND | INNSCLED | INPSCLED |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SW_RST | DIAG_EN | TIM_ COUNT_ RST |
SPI_ READ |
This register is write-only. CONTROL0 is used for AFE software and count timer reset, diagnostics enable, and SPI read functions.
Bits 23:4 | Must be 0 |
Bit 3 | SW_RST: Software reset |
0 = No action (default after reset) 1 = Software reset applied; resets all internal registers to the default values and self-clears to 0 |
|
Bit 2 | DIAG_EN: Diagnostic enable |
0 = No action (default after reset) 1 = Diagnostic mode is enabled and the diagnostics sequence starts when this bit is set. At the end of the sequence, all fault status are stored in the DIAG: Diagnostics Flag Register. Afterwards, the DIAG_EN register bit self-clears to 0. Note that the diagnostics enable bit is automatically reset after the diagnostics completes (16 ms). During the diagnostics mode, ADC data are invalid because of the toggling diagnostics switches. |
|
Bit 1 | TIM_CNT_RST: Timer counter reset |
0 = Disables timer counter reset, required for normal timer operation (default after reset) 1 = Timer counters are in reset state |
|
Bit 0 | SPI READ: SPI read |
0 = SPI read is disabled (default after reset) 1 = SPI read is enabled |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2STC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2STC[15:0] |
This register sets the start timing value for the LED2 signal sample.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED2STC[15:0]: Sample LED2 start count |
The contents of this register can be used to position the start of the sample LED2 signal with respect to the pulse repetition period (PRP), as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2ENDC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2ENDC[15:0] |
This register sets the end timing value for the LED2 signal sample.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED2ENDC[15:0]: Sample LED2 end count |
The contents of this register can be used to position the end of the sample LED2 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2LEDSTC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2LEDSTC[15:0] |
This register sets the start timing value for when the LED2 signal turns on.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED2LEDSTC[15:0]: LED2 start count |
The contents of this register can be used to position the start of the LED2 with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2LEDENDC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2LEDENDC[15:0] |
This register sets the end timing value for when the LED2 signal turns off.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED2LEDENDC[15:0]: LED2 end count |
The contents of this register can be used to position the end of the LED2 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2STC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED2STC[15:0] |
This register sets the start timing value for the ambient LED2 signal sample.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED2STC[15:0]: Sample ambient LED2 start count |
The contents of this register can be used to position the start of the sample ambient LED2 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2ENDC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED2ENDC[15:0] |
This register sets the end timing value for the ambient LED2 signal sample.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED2ENDC[15:0]: Sample ambient LED2 end count |
The contents of this register can be used to position the end of the sample ambient LED2 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1STC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1STC[15:0] |
This register sets the start timing value for the LED1 signal sample.
Bits 23:17 | Must be 0 |
Bits 16:0 | LED1STC[15:0]: Sample LED1 start count |
The contents of this register can be used to position the start of the sample LED1 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1ENDC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1ENDC[15:0] |
This register sets the end timing value for the LED1 signal sample.
Bits 23:17 | Must be 0 |
Bits 16:0 | LED1ENDC[15:0]: Sample LED1 end count |
The contents of this register can be used to position the end of the sample LED1 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1LEDSTC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1LEDSTC[15:0] |
This register sets the start timing value for when the LED1 signal turns on.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED1LEDSTC[15:0]: LED1 start count |
The contents of this register can be used to position the start of the LED1 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1LEDENDC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1LEDENDC[15:0] |
This register sets the end timing value for when the LED1 signal turns off.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED1LEDENDC[15:0]: LED1 end count |
The contents of this register can be used to position the end of the LED1 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1STC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED1STC[15:0] |
This register sets the start timing value for the ambient LED1 signal sample.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED1STC[15:0]: Sample ambient LED1 start count |
The contents of this register can be used to position the start of the sample ambient LED1 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1ENDC[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED1ENDC[15:0] |
This register sets the end timing value for the ambient LED1 signal sample.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED1ENDC[15:0]: Sample ambient LED1 end count |
The contents of this register can be used to position the end of the sample ambient LED1 signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2CONVST[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2CONVST[15:0] |
This register sets the start timing value for the LED2 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED2CONVST[15:0]: LED2 convert start count |
The contents of this register can be used to position the start of the LED2 conversion signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED2CONVEND[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2CONVEND[15:0] |
This register sets the end timing value for the LED2 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED2CONVEND[15:0]: LED2 convert end count |
The contents of this register can be used to position the end of the LED2 conversion signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2CONVST[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED2CONVST[15:0] |
This register sets the start timing value for the ambient LED2 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED2CONVST[15:0]: LED2 ambient convert start count |
The contents of this register can be used to position the start of the LED2 ambient conversion signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED2CONVEND[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED2CONVEND[15:0] |
This register sets the end timing value for the ambient LED2 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED2CONVEND[15:0]: LED2 ambient convert end count |
The contents of this register can be used to position the end of the LED2 ambient conversion signal with respect to the PRP. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1CONVST[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1CONVST[15:0] |
This register sets the start timing value for the LED1 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED1CONVST[15:0]: LED1 convert start count |
The contents of this register can be used to position the start of the LED1 conversion signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | LED1CONVEND[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1CONVEND[15:0] |
This register sets the end timing value for the LED1 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | LED1CONVEND[15:0]: LED1 convert end count |
The contents of this register can be used to position the end of the LED1 conversion signal with respect to the PRP. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1CONVST[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED1CONVST[15:0] |
This register sets the start timing value for the ambient LED1 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED1CONVST[15:0]: LED1 ambient convert start count |
The contents of this register can be used to position the start of the LED1 ambient conversion signal with respect to the PRP, as specified in the PRPCOUNT register. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ALED1CONVEND[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED1CONVEND[15:0] |
This register sets the end timing value for the ambient LED1 conversion.
Bits 23:16 | Must be 0 |
Bits 15:0 | ALED1CONVEND[15:0]: LED1 ambient convert end count |
The contents of this register can be used to position the end of the LED1 ambient conversion signal with respect to the PRP. The count is specified as the number of 4-MHz clock cycles. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTSTCT0[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTSTCT0[15:0] |
This register sets the start position of the ADC0 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTSTCT0[15:0]: ADC RESET 0 start count |
The contents of this register can be used to position the start of the ADC reset conversion signal (default value after reset is 0000h). Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTENDCT0[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTENDCT0[15:0] |
This register sets the end position of the ADC0 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTENDCT0[15:0]: ADC RESET 0 end count |
The contents of this register can be used to position the end of the ADC reset conversion signal (default value after reset is 0000h). Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTSTCT1[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTSTCT1[15:0] |
This register sets the start position of the ADC1 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTSTCT1[15:0]: ADC RESET 1 start count |
The contents of this register can be used to position the start of the ADC reset conversion. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTENDCT1[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTENDCT1[15:0] |
This register sets the end position of the ADC1 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTENDCT1[15:0]: ADC RESET 1 end count |
The contents of this register can be used to position the end of the ADC reset conversion. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTSTCT2[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTSTCT2[15:0] |
This register sets the start position of the ADC2 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTSTCT2[15:0]: ADC RESET 2 start count |
The contents of this register can be used to position the start of the ADC reset conversion. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTENDCT2[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTENDCT2[15:0] |
This register sets the end position of the ADC2 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTENDCT2[15:0]: ADC RESET 2 end count |
The contents of this register can be used to position the end of the ADC reset conversion. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTSTCT3[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTSTCT3[15:0] |
This register sets the start position of the ADC3 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTSTCT3[15:0]: ADC RESET 3 start count |
The contents of this register can be used to position the start of the ADC reset conversion. Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ADCRSTENDCT3[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ADCRSTENDCT3[15:0] |
This register sets the end position of the ADC3 reset conversion signal.
Bits 23:16 | Must be 0 |
Bits 15:0 | ADCRSTENDCT3[15:0]: ADC RESET 3 end count |
The contents of this register can be used to position the end of the ADC reset conversion signal (default value after reset is 0000h). Refer to the Using the Timer Module section for details. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | PRPCOUNT[15:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PRPCOUNT[15:0] |
This register sets the device pulse repetition period count.
Bits 23:16 | Must be 0 |
Bits 15:0 | PRPCOUNT[15:0]: Pulse repetition period count |
The contents of this register can be used to set the pulse repetition period (in number of clock cycles of the 4-MHz clock). The PRPCOUNT value must be set in the range of 800 to 64000. Values below 800 do not allow sufficient sample time for the four samples; see the Electrical Characteristics table. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CLKALMPIN[2:0] | TIMEREN | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
This register configures the clock alarm pin and timer.
Bits 23:12 | Must be 0 |
Bits 11:9 | CLKALMPIN[2:0]: Clocks on ALM pins |
Internal clocks can be brought to the PD_ALM and LED_ALM pins for monitoring. Note that the ALMPINCLKEN register bit must be set before using this register bit. Table 7 defines the settings for the two alarm pins. |
|
Bit 8 | TIMEREN: Timer enable |
0 = Timer module is disabled and all internal clocks are off (default after reset) 1 = Timer module is enabled |
|
Bits 7:2 | Must be 0 |
Bit 1 | Must be 1 |
Bit 0 | Must be 0 |
CLKALMPIN[2:0] | PD_ALM PIN SIGNAL | LED_ALM PIN SIGNAL |
---|---|---|
000 | Sample LED2 pulse | Sample LED1 pulse |
001 | LED2 LED pulse | LED1 LED pulse |
010 | Sample LED2 ambient pulse | Sample LED1 ambient pulse |
011 | LED2 convert | LED1 convert |
100 | LED2 ambient convert | LED1 ambient convert |
101 | No output | No output |
110 | No output | No output |
111 | No output | No output |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This register is a spare register and is reserved for future use.
Bits 23:0 | Must be 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This register is reserved for factory use.
Bits 23:0 | Must be 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | AMBDAC[3:0] | 0 | STAGE2EN | 0 | 0 | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | STG2GAIN[2:0] | CF_LED2[4:0] | RF_LED2[2:0] |
This register configures the ambient light cancellation amplifier gain, cancellation current, and filter corner frequency.
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | LEDCUROFF | 1 | LED1[7:0] | |||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1[7:0] | LED2[7:0] |
This register sets the LED current range and the LED1 and LED2 drive current.
Bits 23:18 | Must be 0 |
Bit 17 | LEDCUROFF: Turns the LED current source on or off |
0 = On (50 mA) 1 = Off |
|
Bit 16 | Must be 1 |
Bits 15:8 | LED1[7:0]: Program LED current for LED1 signal |
Use these register bits to specify the LED current setting for LED1 (default after reset is 00h). The nominal value of the LED current is given by Equation 3, where the full-scale LED current is 50 mA. |
|
Bits 7:0 | LED2[7:0]: Program LED current for LED2 signal |
Use these register bits to specify the LED current setting for LED2 (default after reset is 00h). The nominal value of LED current is given by Equation 4, where the full-scale LED current is 50 mA. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TXBRG MOD |
DIGOUT_ TRI STATE |
XTAL DIS |
1 | 0 | 0 | 0 | 0 | 0 | PDNTX | PDNRX | PDNAFE |
This register controls the LED transmitter, crystal, and the AFE, transmitter, and receiver power modes.
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This register is a spare register and is reserved for future use.
Bits 23:0 | Must be 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This register is a spare register and is reserved for future use.
Bits 23:0 | Must be 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This register is a spare register and is reserved for future use.
Bits 23:0 | Must be 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
X(1) | X | X | X | X | X | X | X | X | X | X | X |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
X | X | X | X | X | X | X | X | X | X | X | X |
This register is reserved for factory use. Readback values vary between devices.
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
X(1) | X | X | X | X | X | X | X | X | X | X | X |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
X | X | X | X | X | X | X | X | X | X | X | X |
This register is reserved for factory use. Readback values vary between devices.
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | ALMPIN CLKEN |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
This register controls the alarm pin functionality.
Bits 23:8 | Must be 0 |
Bit 7 | ALMPINCLKEN: Alarm pin clock enable |
0 = Disables the monitoring of internal clocks; the PD_ALM and LED_ALM pins function as diagnostic fault alarm output pins (default after reset) 1 = Enables the monitoring of internal clocks; these clocks can be brought out on PD_ALM and LED_ALM selectively (depending on the value of the CLKALMPIN[2:0] register bits). |
|
Bits 6:0 | Must be 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
LED2VAL[23:0] | |||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2VAL[23:0] |
Bits 23:0 | LED2VAL[23:0]: LED2 digital value |
This register contains the digital value of the latest LED2 sample converted by the ADC. The ADC_RDY signal goes high each time that the contents of this register are updated. The host processor must readout this register before the next sample is converted by the AFE. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
ALED2VAL[23:0] | |||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED2VAL[23:0] |
Bits 23:0 | ALED2VAL[23:0]: LED2 ambient digital value |
This register contains the digital value of the latest LED2 ambient sample converted by the ADC. The ADC_RDY signal goes high each time that the contents of this register are updated. The host processor must readout this register before the next sample is converted by the AFE. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
LED1VAL[23:0] | |||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1VAL[23:0] |
Bits 23:0 | LED1VAL[23:0]: LED1 digital value |
This register contains the digital value of the latest LED1 sample converted by the ADC. The ADC_RDY signal goes high each time that the contents of this register are updated. The host processor must readout this register before the next sample is converted by the AFE. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
ALED1VAL[23:0] | |||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ALED1VAL[23:0] |
Bits 23:0 | ALED1VAL[23:0]: LED1 ambient digital value |
This register contains the digital value of the latest LED1 ambient sample converted by the ADC. The ADC_RDY signal goes high each time that the contents of this register are updated. The host processor must readout this register before the next sample is converted by the AFE. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
LED2-ALED2VAL[23:0] | |||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED2-ALED2VAL[23:0] |
Bits 23:0 | LED2-ALED2VAL[23:0]: (LED2 – LED2 ambient) digital value |
This register contains the digital value of the LED2 sample after the LED2 ambient is subtracted. The host processor must readout this register before the next sample is converted by the AFE. Note that this value is inverted when compared to waveforms shown in many publications. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
LED1-ALED1VAL[23:0] | |||||||||||
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED1-ALED1VAL[23:0] |
Bits 23:0 | LED1-ALED1VAL[23:0]: (LED1 – LED1 ambient) digital value |
This register contains the digital value of the LED1 sample after the LED1 ambient is subtracted from it. The host processor must readout this register before the next sample is converted by the AFE. Note that this value is inverted when compared to waveforms shown in many publications. |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | PD_ALM |
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LED_ ALM |
LED1 OPEN |
LED2 OPEN |
LEDSC | OUTPSHGND | OUTNSHGND | PDOC | PDSC | INNSC GND |
INPSC GND |
INNSC LED |
INPSC LED |
This register is read only. This register contains the status of all diagnostic flags at the end of the diagnostics sequence. The end of the diagnostics sequence is indicated by the signal going high on DIAG_END pin.
Bits 23:13 | Read only |
Bit 12 | PD_ALM: Power-down alarm status diagnostic flag |
This bit indicates the status of PD_ALM (and the PD_ALM pin). 0 = No fault (default after reset) 1 = Fault present |
|
Bit 11 | LED_ALM: LED alarm status diagnostic flag |
This bit indicates the status of LED_ALM (and the LED_ALM pin). 0 = No fault (default after reset) 1 = Fault present |
|
Bit 10 | LED1OPEN: LED1 open diagnostic flag |
This bit indicates that LED1 is open. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 9 | LED2OPEN: LED2 open diagnostic flag |
This bit indicates that LED2 is open. 0 = No fault (default after reset) 1 = Fault present |
|
This bit indicates that LED2 is open. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 8 | LEDSC: LED short diagnostic flag |
This bit indicates an LED short. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 7 | OUTPSHGND: OUTP to GND diagnostic flag |
This bit indicates that OUTP is shorted to the GND cable. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 6 | OUTNSHGND: OUTN to GND diagnostic flag |
This bit indicates that OUTN is shorted to the GND cable. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 5 | PDOC: PD open diagnostic flag |
This bit indicates that PD is open. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 4 | PDSC: PD short diagnostic flag |
This bit indicates a PD short. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 3 | INNSCGND: INN to GND diagnostic flag |
This bit indicates a short from the INN pin to the GND cable. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 2 | INPSCGND: INP to GND diagnostic flag |
This bit indicates a short from the INP pin to the GND cable. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 1 | INNSCLED: INN to LED diagnostic flag |
This bit indicates a short from the INN pin to the LED cable. 0 = No fault (default after reset) 1 = Fault present |
|
Bit 0 | INPSCLED: INP to LED diagnostic flag |
This bit indicates a short from the INP pin to the LED cable. 0 = No fault (default after reset) 1 = Fault present |