Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Reflections on 1MHz serial bus

Status
Not open for further replies.

mojo-chan

Junior Member level 1
Joined
Jul 25, 2010
Messages
15
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,406
Hi.

I am having a problem with a 1MHz bus running over a 1.5m line connected to an AVR. As you can see in the image below there is some nasty bounce at the edges of my signals:

View attachment DS0002.BMP
**broken link removed**

That is with a terminating the line with a 36 ohm resistor. I picked 36 ohms because I have a device that connects to the bus and it uses 36 ohms with some kind of unknown microcontroller. I also tried 75 ohms but it didn't seem to help. Without the resistor the bounce is even worse.

I can receive signals from the other end (an embedded system) fine and the edges look reasonable (a bit of bounce, not much). Maybe my uproc is not up to driving the line. Any suggestions?

Thanks...
 

That is with a terminating the line with a 36 ohm resistor
Dear mojo-chan
Hi
How about your out put impedance ? are you sure that it is 36 ohms too ? i don't think so . by the way is your cable kind of coaxial cable ? ( with a shield ) . however you can use two capacitor as a compensation network such as oscilloscope probes . but i think your problem doesn't need this way .
Best Wishes
Goldsmith
 

Thanks Goldsmith. The cable is coaxial. I have a peripheral that communicates with the embedded system I am trying to copy. I can emulate the embedded system okay, but I am having this problem emulating the peripheral.

It isn't a big problem because it is clocked serial, so I can just slow down the bus to make sure it works, but I want to solve it anyway :)
 

It looks like an impedance mismatch but simply adding a terminating resistor wont fix it. You need to match the feed impedance as well as the load impedance. Use a load resistor equal to the characteristic impedance of the coax and also add the same value resistor in series with the input end of the cable. It will attenuate the signal down to half voltage so you may need some extra 'push' at the source end to compensate.

Brian.
 

The peripheral I have to examine has a custom microcontroller of some kind connected to the bus like this:

**broken link removed**

I was unable to measure the capacitor with my multimeters, probably off the scale. In fact I only think it is a capacitor because it is labelled C2 on the PCB, but I was wondering if it might be an inductor. Does this help figure out what is required?

Brian: I will try what you suggest. I noticed that signals on the bus are 3.3V but the power supply for peripherals is 5V, similar to USB. I wonder if the lower signalling voltage is due to attenuation of the signal.

Thanks for all your help guys!
 

The terminating impedance should be the same as the cable's impedance. I have never met a "36 ohm" cable. As the input to the far in chip terms will have a relatively high impedance, I can't see what 36 ohms is going to do. if the cable is say,100 ohms and is terminated in 100 ohms, then the output Z of its drive is irrelevant because it sees 100 ohms. The problem is that if the cable is miss-terminated, the reflected signal must be "soaked " up in the driving impedance or it will go up the line again and chaos will reign.
Most cables are in the region of 50 - 200 ohms, I would look in manufacturers data sheets on cable to have an educated guess at the impedance of your cable and design around this.
Another thing to do is to put your scope on the output terminal of the driver, this will give you Voc. Put the line back and terminating kit on it and re-measure the voltage. It should be Voc/2 for a proper match. if that 36 ohm is for static protection and the input impedance is otherwise high, the voltage will not drop at all. Or conversely the input impedance may actually be 36 ohms in which case the voltage will drop to less then .5 X Voc. A small padding in series with the input can help, but it will require a select on test capacitor across it - try 200 PF as a start.
Frank
 

Thanks Chuckey. I will try to disassemble the master device since the slave won't respond with the resistor removed. Having said that it might be pulled up and it would be interesting to see if it is pulled to 5V or 3.3V. Unfortunately I don't have any datasheets for the cabling, but there is a patent that might hold some clues.

The 36R resistor might just be for current limiting in case both sides try to drive the line at once. USB uses current limiting resistors in that way. In which case it may just mean I need to drive the line with a bit more force, using a transistor rather than just the AVR port pin.

I am going to try ignoring the problem too. The way the bus works seeing extra bounces won't actually disrupt the data transmission.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top