This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS80PCI402 - Register 0x05/0x06, Slave CRC bits

Guru 19775 points

Hi Team,

Could you please explain the function and how/when to use  the following resisters ?

-----------------------------------------------------------

1) ADR 0x05 [7:0]   Slave Mode CRC bits

2) ADR 0x06 [3]   Slave CRC

-----------------------------------------------------------

In our customer case, they could not get an output when they kept ADR 0x06 [3] with default value (Slave CRC Enabled) in SMBus Slave Mode.
We understand that there is an description in the register map, but could not understand why you would need to disable Slave CRC mode when changing VOD/DEM/EQ.

Best Regards,
Kawai

  • Could anybody help us ??

    Best Regards,
    Kawai

  • Hi Team,

    Please help us on this post. We are now having the same question from another customer.

    Thanks in advance.

    Best Regards,
    Kawai

  • Hi Kawai-San,

    Apologize for the delay. Please set bit 0x06[3]. CRC bits are not used when changing VOD/DEM or EQ settings. Normally, i set this bit to 1 whenever communicating with the device.

    Regards,,nasser

  • Hello Nasser-san,

    I apologize for my delay.

    I still cannot understand what this CRC bits are for and why you would need this function.

    Is this only used in SMBus Master mode, using EEPROM ?

    Is this CRC function relating to SMBus PEC Read / Write command, or is it totally different fucntion ?

    Best Regards,
    Kawai

  • Kawai-San,

    I apologize for the delay. I had to talk to one of the engineers who was on vacation regarding this issue.

    The CRC is related to the EEPROM in order to check the integrity of the data trasferred. As mentioned earlier, we normally disable the CRC in slave mode.

    Regards,,nasser

  • Nasser-san,

    Thank you for the answer.

    I understood that CRC bit is only used in the EEPROM mode (SMBus Master Mode), so I will answer customer not to use this function in SMBus Slave Mode.

    Currently, we have customer who uses in SMBus Master Mode. In this case how should the customer use this function ? It would be a great help if you could give us the direction (procedure) to use this function.

    If there is a application note for SMBus Master Mode, it would help us if you could send us the document.

    Best Regards,
    Kawai

  • Hi Kawai-san,

    Thank you for your patience as we look into this some more. Please see below for some conclusions we can provide based on feedback from our digital design team:

    There are two different types of CRC. I think this may be where there is some confusion. There is CRC for Master Mode, and then there is CRC for Slave Mode. These are two completely different things and are not interchangeable. Please see explanation of Master Mode CRC (1) and Slave Mode CRC (2).

    1. In Master Mode, the user can enable the CRC when loading EEPROM device settings for each device. Each device slot contains one CRC byte. This CRC byte is computed by taking a CRC-8 polynomial of the combination of the following: 3-byte base header, 1 (or 2) byte starting address (depending on whether EEPROM size > 256 bytes), and the 37 bytes of data corresponding to the device slot. This CRC corresponds only to EEPROM.

    2. The CRC that is described in Slave Mode Register 0x05 and 0x06 represents a completely different concept. The design for this is that, when CRC is enabled (Reg 0x06[3] = 0), a CRC-8 polynomial will be used to compute the CRC for all the bits in the Slave Mode Registers that are eventually mapped to EEPROM. Thus, whenever you change any device settings (such as EQ, VOD, DEM) for any channel in the device, the CRC will inevitably change. If the Slave CRC bit is still enabled, then the device will only update the channel register changes if the CRC value in Reg 0x05 matches the latest settings. This is a tedious process if the user wants to tune the repeater efficiently, because every time a change is made, there is extra computation required in order to ensure the new CRC value is correct. We have not seen customers who have used the CRC enable bit (Reg 0x06[3] = 0) when in Slave Mode for this reason. Therefore, setting Reg 0x06[3] = 1 is highly recommended in Slave Mode so that any changes to the device settings takes immediate effect.

    Please send me an e-mail at m-lu@ti.com for some additional documentation on SMBus Master Mode and EEPROM programming.

    Thanks,

    Michael