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.

ISO1050 RXD

Other Parts Discussed in Thread: ISO1050

Hi,

I bought several ISO1050DW chips, and can't get them to work.

I connected

5v to Vcc2 (tried different sources)

0v to all three GND 2

120 Ohm resistor between CANH and CANL

3.3v to Vcc1,

0v to all three GND1,

Microcontroller to RXD. Microcontroller watches for changes and if there's any change it lights up a LED and latches it, so it stays lit.

 

I tried the following experiments with 2 dfferent ISO1050:

1) Connect CANH, CANL to an existing CAN bus and take the VCC2 power from it too using LDO (this is isolated from 3.3v). The connection dosen't affect other devices on CAN bus and they keep working.

2) Connect a second 120 Ohm resistor between CANH and CANL. Connect 4.7K resistor between CANH and Vcc2, and 4.7K resistor between CANL and GND2. Take 5v for VCC2 from the same source as 3.3v.

3) Connect a second 120 Ohm resistor between CANH and CANL, and sending pulses through TXD (in hope to get a loop back)

In all of these experiments, RXD never changes and always stays as 3.3v.

Is there something I don't understand, or I just got bad chips?

Thank you.

  • Hi Andrey,

    Try it without the 4.7K pull-up and pull-down resistors on the bus lines. They aren't necessary, and I think this might be affecting your attempted communication. Also, you said you are connecting to an existing bus - are there already termination resistors there? I just want to make sure you aren't double terminating. The transceivers expect to see 120||120 for a total of 60 Ohms differentially.

    If that doesn't help, can you take an oscilloscope screenshot of CANH, CANL, TXD and RXD? That would be helpful in further debugging.

    Thanks,
    Jason Blackman

  • The ISO1050 has a dominant timeout function. If your input data rate is too low the driver does not get activated. Please try applying a 20 kHz clock to the TXD input and see whether the outputs switch. If it works, reduce clock to 10 kHz. Scott, "the CAN-man" Monroe once calculated a minimum data rate of 16 kbps (8 kHz) or so, but I don't have this information. First let's see what it does when you speed up your input signal. - Regards, Thomas

  • When I connect to the real CAN bus, I use one 120 Ohm resistor, I unplug the terminator, and I plug my circuit instead. When I use my module alone, I use two 120 Ohm resistors. So, in both cases the total resistance is 60 Ohm.

    I removed 4.7k resistors and tried sending strings of 1000 pulses to TXD. I tried several frequencies from 500 kHz down to 10 kHz with 50% duty cycle.

    No matter what I do, RXD stays flat at 3.29 v. Unless I connect to the real CAN bus, CANL and CANH both stay flat at the same voltage - 82 mV with one chip and 37 mV with other (compared to GND2).

    A.

  • Andrey,

    Several questions:  by "lighting up and LED" is this done via s/w and the CAN controller receiving data or just an edge on RXD via an interrupt to the MCU?   Could you please do a simple experiment and share the scope shots for the following:  Disconnect your ISO1050 module from the bus.  Use 60 ohm load (to represent 2x 120ohm terminations of the network in parallel).  As long as safety isn't an issue connect GND1 to GND2 to simplify the circuit for now and remove the isolation part of the equation, if not leave the isolation in and be careful with how the oscilloscope GNDing (may have to check ISO side TX/RX signals to GND1 and then CANH/CANL to GND2).  Power Vcc1 at 3.3V, Power Vcc2 at 5V. Measure the recessive voltage on CANH and CANL --> they both should be very close to Vcc/2 which means 2.5V, as long as they are both the same voltage and from about 2.2 to 2.4V should be good.  Now put your signal generator on TXD at 250kHz, 50% duty cycle, 0 to 3.3V (this represents a train of dominant and recessive bits at 500kbps).  Put a scope probe on TXD, RXD, CANH and CANL and see the operation.  The bus pins should show the differential signal a short propogation delay after TXD and RXD should show this another short propogation delay after the bus.  You may need to check the pins of the device and the connection points on your PCB.  If this works we can then start making the circuit more complicated and back into a bus to find out where the issue lies. 

    - Scott

  • Scott,

    Thank you. The last piece of advise solved it. I started taking measurements directly at the pins and found the problem. I used one of these SOIC to DIP adapters to stick the chip into the breadboard, and the trace coming from Vcc2 was broken inside the adapter. Since I was using the same adapter with different chips, they all failed the same way because they didn't have power. Once I repaired this, it started working - works at different frequencies, even works with single impulses.

    Thank you all for your help.

    A.