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.

What is the last byte of the SMbus transaction?

Other Parts Discussed in Thread: UCD90160

I have a UCD90160 design which we have connected to our local microprocessor.

As we begin bringing up the code to communicate with the sequencer for BIST purposes, our programmer is trying to understand why our scope shows one more byte in the transaction than is shown in the documentation for every command.

Using the various tools provided by TI, we can see the command being built up the way the documentation describes including the command code and the encoded data. The scope, however, shows a different story.

It reveals the address, as expected, the command code, the encoded data, and one more byte.

If we capture an SM bus log file using the TI provided tools it does not contain this extra byte.

If we export a script file, it does.

If we use the SM bus debugger to enter the command without the extra byte, the sequencer rejects it

If we use the scope to acquire the extra byte value when the command is sent by the normal TI tools, and then enter the command into the SM bus debugger with the extra byte, the sequencer is happy.

We have searched the documentation for what this byte might be. This includes the programmers guide for the UCD90xxx family, the UCD90160 data sheet, the SMB spec, and the I2C spec. We have not found it.

Our suspicion is that this is a CRC on the preceding data, but we don't really want to reverse engineer it.

Does anyone know what this byte is and where it is documented?

As we use the sequencer for BIST, we will need to generate this byte ourselves and aren't certain how to do that reliably.

Thanks!

  • It is PEC based on CRC-8. The documentation is in standard PMBus spec.

    However, PEC is optional. The device should work with and without it. No configuration is needed.

    You may disable PEC from Fusion GUI under File->USB Adapter Settings, and see if the last byte is gone.

    Thanks,
    Zhiyuan