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.

DAC8740H: DAC8740H

Part Number: DAC8740H
Other Parts Discussed in Thread: PROFIBUS

We are working with Profibus PA and DAC8740 and we can get from the Profibus PA bus the correct frame but when we write to the DAC8740 there is no data from the modem to the bus. We are writing the following bytes 0xEA, 0x87, 0x00, 0xAE and then our bytes we want to code by the DAC8740, but there is no sucess. Could you give us some tips ?
Thanks a lot.
Cesar

  • Hello Cesar,

    First I want to make sure I understand your question. You are successfully able to read back manchester-coded signal that is connected to MOD_IN pin through UARTOUT but you are unable to send UARTIN data to MOD_OUT. Is that right?

    The manchester bus decoder always has priority over the encoder so you should first ensure that when transmitting UART data, there is no carrier on MOD_IN otherwise that will have priority. Before transmitting data over the UART interface, ensure that CD is low to confirm that there is no carrier on MOD_IN or MOD_INF. 

    Regards,

    Reza

  • Hello Reza, thanks for you help.

    Yes, I am successfully able to read back manchester-coded signal that is connected to MOD_IN pin through UARTOUT and CD is low confirming that there is no carrier on MOD_IN or MOD_INF.

    I am writing the following bytes 0xEA, 0x87, 0x00, 0xAE and then our bytes we want to manchester code by the DAC8740, but there is no sucess. Could you give me some tips ?
    Thanks a lot.
    Cesar

  • Hello Cesar

    Following the initialization sequence, do you send the preamble bytes and start delimiter? The initialization sequence you configure among other settings will require you to send 3 preamble bytes, followed by a start delimiter then the actual data meant to be transmitted. 

    Also, at what baud rate are you transmitting UART data? The device expects UART baud rate of 57.6kHz.

    Finally, you should ensure that the FIFO does not prematurely become empty and you can monitor the FIFO level using the UART_RTS pin. If the FIFO inadvertently becomes empty during transmission, a new initialization sequence needs to be sent together with its preamble and start delimiter.

    I hope these tips help you figure out the issue.

    Regards,

    Reza

  • Hello Reza,

    please, see the attached figure that shows that when the CD signal is high the DAC8740 bytes are received. When the CD is low, the 4 initialization bytes, the preambles, the start delimiter and the data are sent.

    However, after sending the 4 initialization bytes and the first preamble, the CD goes up and there is no data on the Profibus PA bus.

    Please, dou have any suggestion in how to get data on the Profibus PA bus?

    Thanks a lot.

    Regards,

    Cesar

  • Thanks for the additional info. CD going high after the transmission of a few bytes implies that

    1. a carrier was detected, disabling the transmit encoder and enabling the decoder or

    2. The jabber inhibitor was triggered, which will also disable the encoder and require a new 4-byte initialization sequence to start a transmission.

    The third byte of your initialization sequence should disable the jabber inhibitor so that you can transmit data continuously. Is there any chance that some signal is still coupled to MOD_IN pin and causing CD to go high? Can you possibly capture the following signals on an oscilloscope to help debug the issue.

    MOD_IN, CD, UART_RTS, UART_IN.

    Also, have you observed this behavior on multiple boards or just a single board? Can you share a schematic design for review?

    Regards,

    Reza

  • Hello Reza,

    we were with a hardware problem. Now, we got success !!

    Thanks a lot for your support.

    Best regards,

    Cesar