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.

ISOW1432: RS485 to TTL conversion issue

Part Number: ISOW1432

Tool/software:

I am using ISOW1432 in my PCB for RS 485 to TTL conversion. I am using it in half duplex mode. It is working fine if i am only sending or only receiving data in a program. But if i send data and try to receive the data it is not working. Data is being sent but not getting received any data from micro controller. I will add the program , its a simple program to send and receive data in arduino:

void setup() {
  // Initialize serial communication at 9600 bits per second
  Serial.begin(9600);
}

void loop() {
  // Check if data is available to read
  if (Serial.available() > 0) {
    // Read the incoming byte
    int receivedValue = Serial.parseInt();
   
    // If a number was received, print "Hello, World!"
    if (receivedValue != 0) {
      Serial.println("Hello, World!");
    }
  }
}
Data is being sent but nothing is getting received . 
  • This program does not send anything.

    Are you suspecting that the ISOW1432 does not work correctly, or are you asking how to program your Arduino? We cannot really help with the latter.

  • Hi H K,

    When ISOW1432 is configured to half-duplex by externally connecting Y/Z lines to A/B lines, the device receives data on R what has been sent from D provided both the transmitter and receiver are enabled during this time.

    It is a common practice to tie DE and RE\ pins together in schematic to enable only transmitter or receiver at any given time. Please share your schematic to verify this is not done.

    If you still can't find out the issue, please test ISOW1432 separately by applying a signal at D pin using a signal generator and monitoring R pin.

    Please do help with the above request, thanks.


    Regards,
    Koteshwar Rao

  •  i just want to check conversion of RS485 to TTL and vice versa. In this program if I send any number from serial monitor it replies with hello world , so in this way i can check that both Transmitter and receiver pin is working.

    This simple program is just for verifying the IC and my schematic.

    Thank you

  • Hello ,

    I have attached my schematic . Also please tell if there is any other way to test IC.

    Here PA2 is USART_TX , PA3 is USART_RX for the micro controller used. PA5 is unused GPIO.

  • In half-duplex mode, you must control the DE signal correctly.

    PA5 must not be unused.

  • If I disconnect DE and RE  and connect DE to 3.3V and RE to Ground , will it work ?? Since both will be enabled all the time it can receive and transmit data , because I just want to take care of things in hardware setup. Controlling DE will be difficult in my program. 

  • No, this will not work with a half-duplex bus. All drivers are connected to the same lines, so the drivers must be active only when they actually are sending something.

  • Hi H K,

    Thank you for sharing the schematic. I do see that the decoupling capacitors and ferrite bead positions are not following datasheet guidelines. Please refer to ISOW1432 datasheet section 11 through 13 and the EVM user guide for design guidelines, sharing the link below.

    https://www.ti.com/tool/ISOW1432DFMEVM

    The above guidelines are to make sure your design works under all recommended operating conditions.

    Regarding the issue you are facing, in the half-duplex mode, the receiver can be enabled all the time but the driver should be only enabled when data is being sent. Keeping the driver enabled all the time could lead to bus contention when other nodes try to send data. Therefore, as suggested by Clemens, PA5 should be controlled and included in the transmit and receive program for reliable data transmission and reception. Thanks.


    Regards,
    Koteshwar Rao

  • Thanks for the reply , I understand the concern regarding bus contention if we are enabling driver all the time . But in our application we only have a single bus . So will it work if driver and receiver is enabled all the time.

  • No, it will not work. When the driver is always enabled, no other driver on the bus will work.

  • Hi H K,

    If you keep the driver in ISOW1432 enabled all the time then that makes the bus not available for any other nodes to transmit. I believe the RS-485 bus has at least one other RS-485 transceiver connect. If so, that transceiver might want to send something back to ISOW1432 at some point. But if the driver in ISOW1432 is always enabled, the other transceiver node will never be able to transmit anything.

    If your application doesn't require any other nodes to ever transmit anything and instead, all the nodes only receive data from ISOW1432, then enabled driver in ISOW1432 all the time might not be an issue.

    Let me know if it is clear now, thanks.


    Regards,
    Koteshwar Rao