I'm afraid I've run out of talent again and must throw myself on the mercy of the community. And it's in an area where I generally don't have trouble - serial connections.
The basic situation is that I have a serial board using an SC28L92 which is being run at 5V. This needs to talk to a Raspberry Pi, with its 3V3 pins. My first attempt at this appeared to work, and has been working for months, but I think contained a fatal flaw. With the signals going from SC28L92 TX to RPi RX, I included a resistor divider on the Pi side to bump the level down to 3V3. But going the other way, I figured I didn't need anything, because the 3V3 signals from the Pi would work okay on the SC28L92.
What I hadn't realised is that the SC28L92 holds both RX & TX at 5V when idle. So this was effectively putting 5V on the Pi's TX pin. Like I said, everything worked for a while, but I guess eventually that 5V level took its toll. Long story short, the memorial service for the Pi is next Thursday... (Actually, it still works, all bar the serial port.)
I've since tried going another way. Here's the setup.
Attachment:
serial_connection.png [ 420.13 KiB | Viewed 909 times ]
But what I'm seeing is weirding me out.
If the two sides are not connected, the Pi holds its signals at 3V3. On the SC28L92 side I see levels of 0 (RX) and 2.9V (TX). Huh? By the way, the levels on the second serial port, which has no resistors, are the expected 5V.
When the serial cable is in place (and yes, there's a ground connection too), the idle levels are 3.3V and 3.0V.
I've stared at this so long, and have bodged the boards so much that my head's now hurting.
I'm fairly certain the RPi TX -> SC28L92 RX is working okay. On the scope, I see the idle at 3.3V and the signal being pulled down to 0V as expected.
But on the other line, SC28L92 TX -> RPi RX, idle is at 3.0V and the signal doesn't get below 0.45V. And - here's the big problem - I'm getting frequent corruption. I mean, it works mostly. But one time in three at least a bit of the text will be garbled. I suspect that not being pulled all the way to 0V is the problem.
Am I going at this the wrong way? Any advice would be appreciated.
_________________
I like it when things smoke.
Blog –
Zolatron 64 project