SNLU268 November   2023 DS160PR810

 

  1.   1
  2.   Abstract
  3. 1Access Methods
    1. 1.1 Register Programming Through SMBus
    2. 1.2 Device Configuration Through External EEPROM
  4. 2Register Map Overview
  5. 3Example Programming Sequences
    1. 3.1 Set CTLE Gain Level
    2. 3.2 Reset RX Detect State Machine
    3. 3.3 Set CTLE DC Gain Level
    4. 3.4 Set VOD Level
  6. 4SHARE Registers
  7. 5CHANNEL Registers
  8. 6References
  9. 7Revision History

Set CTLE Gain Level

The DS160PR810 requires manual CTLE tuning. The CTLE gain level can be changed by modifying the value of each CTLE stage (EQ1 and EQ2) or by bypassing the EQ1 stage. The CTLE level can be set individually for each channel or broadcast to all channels. Table 3-1 shows an example sequence for setting the CTLE gain level to 5.0 dB at 8 GHz (CTLE Index 2) on the Bank 0 channels and to 7.0 dB (CTLE Index 4) on the Bank 1 channels using individual writes to each channel. Use register values provided in Table 3-3 to set the CTLE gain level to any other available value.

Table 3-1 Sequence to Set CTLE Level on Each Channel Individually
Step Register Set Operation Register Address
[HEX]
Register Value
[HEX]
Write Mask
[HEX]
Comment
1 Bank 0: Channel 0 Write 0x01 0x08 0x3F Set CTLE to Index 2 on Channel 0.
2 Bank 0: Channel 1 Write 0x21 0x08 0x3F Set CTLE to Index 2 on Channel 1.
3 Bank 0: Channel 2 Write 0x41 0x08 0x3F Set CTLE to Index 2 on Channel 2.
4 Bank 0: Channel 3 Write 0x61 0x08 0x3F Set CTLE to Index 2 on Channel 3.
5 Bank 1: Channel 4 Write 0x01 0x11 0x3F Set CTLE to Index 4 on Channel 4.
6 Bank 1: Channel 5 Write 0x21 0x11 0x3F Set CTLE to Index 4 on Channel 5.
7 Bank 1: Channel 6 Write 0x41 0x11 0x3F Set CTLE to Index 4 on Channel 6.
8 Bank 1: Channel 7 Write 0x61 0x11 0x3F Set CTLE to Index 4 on Channel 7.

Assuming 0x18 and 0x19 are the SMBus addresses for the Channel Banks 0 and 1 respectively, the following is the XML batch script of the sequence in Table 3-1:

<i2c_write addr="0x18" count="0" radix"16">01 08</i2c_write>
<i2c_write addr="0x18" count="0" radix"16">21 08</i2c_write>
<i2c_write addr="0x18" count="0" radix"16">41 08</i2c_write>
<i2c_write addr="0x18" count="0" radix"16">61 08</i2c_write>
<i2c_write addr="0x19" count="0" radix"16">01 11</i2c_write>
<i2c_write addr="0x19" count="0" radix"16">21 11</i2c_write>
<i2c_write addr="0x19" count="0" radix"16">41 11</i2c_write>
<i2c_write addr="0x19" count="0" radix"16">61 11</i2c_write>

Table 3-2 shows an example sequence to set the CTLE gain level to 5.0 dB at 8 GHz (CTLE Index 2) on Bank 0 channels and to 7.0 dB (CTLE Index 4) on Bank 1 channels using a broadcast write to each channel bank.

Table 3-2 Sequence to Broadcast CTLE Level to All Channels
Step Register Set Operation Register Address
[HEX]
Register Value
[HEX]
Write Mask
[HEX]
Comment
1 Bank 0: Channels 0-3 Write 0x81 0x08 0x3F Set EQ to Index 2 on Channels 0-3.
2 Bank 1: Channels 4-7 Write 0x81 0x11 0x3F Set EQ to Index 4 on Channels 4-7.

Assuming 0x18 and 0x19 are the SMBus addresses for the Channel Banks 0 and 1 respectively, the following is the XML batch script of the sequence in Table 3-2:

<i2c_write addr="0x18" count="0" radix"16">81 08</i2c_write>
<i2c_write addr="0x19" count="0" radix"16">81 11</i2c_write>

Table 3-3 gives a CTLE Control Register value as a function of CTLE Index (0 - 15). Example CTLE Control Register addresses are given in Table 3-1 and Table 3-2.

Table 3-3 CTLE Control Register Value as a Function of CTLE Index
CTLE Index CTLE Gain at 4 GHz (dB) CTLE Gain at 8 GHz (dB) CTLE Control Register Value
[HEX]
0 0.0 -0.2 0x40
1 1.5 4.5 0x43
2 2.0 5.5 0x08
3 2.5 6.5 0x0A
4 2.7 7.0 0x11
5 3.0 8.0 0x12
6 4.0 9.0 0x13
7 5.0 10.0 0x1A
8 6.0 11.0 0x1B
9 7.0 12.0 0x23
10 7.5 13.0 0x2B
11 8.0 13.5 0x2C
12 8.5 15.0 0x2D
13 9.5 16.5 0x35
14 10.0 17.0 0x36
15 11.0 18.0 0x3F