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.

AMC1303E2520: Inverted measurements

Part Number: AMC1303E2520
Other Parts Discussed in Thread: TMS320F28377S, C2000WARE


I use four AMC1303E2520 to measure isolated voltage, as described in chapter 9.2.2 of the AMC1303 datasheet. There is the R3’ = R3 resistor, and no input filter. The Manchester signals are decoded with the SDFMs of a TMS320F28377S. My problem is that I get inverted results on all four channels. That means that a positive measured voltage gives a negative result in software and vice-versa. There is no noticeable offset. For instance, +100V = -4000 and -100V = +4000.

In the same way, the comparator units are working upside down. For example, with a full scale of 32768, +100V = 10384 and -100V = 22384. A side effect of this is that the high and low threshold registers are inverted too. For a high threshold at +50V, I have to set SDCMPLx = 13384 and for a low threshold at -75V, SDCMPHx = 20884.

The code is a modified version of a C2000Ware SDFM example. I have checked that the positive and negative input of the AMC1303 are not inverted in the schematic and on the PCB.

I am sure that I miss something, but I cannot figure what. Can anybody help me?

Thank you very much and best regards


  • Hi Marc-Andre,

    Welcome to our e2e Forum! I believe the issue you are seeing with the inverted data is due to the way the C2000 decodes the Manchester stream. Let me see if there is someone of the C2000 team that has a work around for you.
  • Marc,

    Here is the reason why you see inverted digital output when you interface AMC1303E2520 with F28377S:-

    SDFM in F28377S supports G E Thomas Manchester mode : A '1' is represented as Low to High signal and '0' is represented as High to Low signal

    AMC1303E2520 supports IEEE 802.3-compliant Manchester mode : A '1' is represented as Low to High signal and '0' is represented as High to Low signal.

    However, F28377S can be made to support AMC1303E2520 with simple workaround by inverting the SD DATA bit stream received from AMC1303E2520.

    For example, if GPIO16 is configured to receive SD1_D1 bit stream from AMC1303. Include the following statement to invert bitstream


    GpioCtrlRegs.GPAINV.bit.GPIO16 = 1;




  • Hello,

    Thank you very much for your help, it is working. Simple and efficient! I was not aware that there is more than one Manchester encoding.

    Best regards