Go to Post there is no such thing as too many parts or useless parts, only parts you dont need yet. - Cuog [more]
Home
Go Back   Chief Delphi > Technical > Electrical
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 24-09-2016, 14:21
Wasabi Fan Wasabi Fan is offline
Registered User
FRC #0488
 
Join Date: Dec 2015
Location: Washington
Posts: 14
Wasabi Fan is an unknown quantity at this point
Can I branch the CAN to go to two separate places?

So far, we've always been wiring CAN devices in series so that one pair of CAN wires on a device feeds directly into a pair on the next device, and all devices are in series. What would happen if I were to branch the CAN so that the output wires on a device split and I sent the two resultant pairs to different devices? I've read technical documentation on the CAN so I have some ideas, but I'd like to get an opinion from someone who knows about this in detail before I draw a (potentially incorrect) conclusion.
Reply With Quote
  #2   Spotlight this post!  
Unread 24-09-2016, 14:31
teslalab2's Avatar
teslalab2 teslalab2 is offline
RogueBotix LLC
VRC #8091
Team Role: Mentor
 
Join Date: Feb 2015
Rookie Year: 2014
Location: Austin MN
Posts: 109
teslalab2 will become famous soon enoughteslalab2 will become famous soon enough
Re: Can I branch the CAN to go to two separate places?

If you get it Phased correctly it should work. Do you have the access to just try it? I am curios to find out.
__________________
I need a jaguar development board for reprogramming a jaguars bootloader. if you have one that you want to sell, pm me. thanks

Run you CanJaguars on arduino with ArduRIO, you can also easily control Talons, Victors,Jaguars and Sparks on PWM. https://sourceforge.net/projects/ardurio/
Reply With Quote
  #3   Spotlight this post!  
Unread 24-09-2016, 14:40
AllenGregoryIV's Avatar
AllenGregoryIV AllenGregoryIV is offline
Engineering Coach
AKA: Allen "JAG" Gregory
FRC #3847 (Spectrum)
Team Role: Coach
 
Join Date: Jul 2008
Rookie Year: 2003
Location: Texas
Posts: 2,545
AllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond repute
Send a message via AIM to AllenGregoryIV
Re: Can I branch the CAN to go to two separate places?

It's not recommended but I've seen teams do it and not have any issues. It's probably one of those things where it may work, but it may also cause problems. If you start seeing anything strange like devices not responding it would be a good place to start troubleshooting.

The CAN network seems pretty resilient, I've seen teams run with out any termination in the line. We've used a variety of interconnects between nodes without any issues, etc.
__________________

Team 647 | Cyber Wolf Corps | Alumni | 2003-2006 | Shoemaker HS
Team 2587 | DiscoBots | Mentor | 2008-2011 | Rice University / Houston Food Bank
Team 3847 | Spectrum | Coach | 2012-20... | St Agnes Academy
LRI | Alamo Regional | 2014-20...
"Competition has been shown to be useful up to a certain point and no further, but cooperation, which is the thing we must strive for today, begins where competition leaves off." - Franklin D. Roosevelt
Reply With Quote
  #4   Spotlight this post!  
Unread 24-09-2016, 14:40
Wasabi Fan Wasabi Fan is offline
Registered User
FRC #0488
 
Join Date: Dec 2015
Location: Washington
Posts: 14
Wasabi Fan is an unknown quantity at this point
Re: Can I branch the CAN to go to two separate places?

Yes, we're planning to try it and see how it goes. My main concerns are that it is either not legal (and by extension we would fail inspection) or not functional (the protocol depends on it being sequential and would not function correctly without it). Am I correct that I would theoretically need to add a 120-ohm termination resistor to whichever end doesn't ultimately end up in the PDP? And what do you mean by "phased correctly"?
Reply With Quote
  #5   Spotlight this post!  
Unread 24-09-2016, 15:14
dirtbikerxz's Avatar
dirtbikerxz dirtbikerxz is offline
Captain | Driver | CAD | Junior
AKA: Rohit Gondi
FRC #3991 (KnightVision)
Team Role: Driver
 
Join Date: Nov 2014
Rookie Year: 2015
Location: Baton Rouge, LA
Posts: 438
dirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud ofdirtbikerxz has much to be proud of
Re: Can I branch the CAN to go to two separate places?

My advice would just be to not do that. I get that you might have one talon on one end of your bot, and another talon on the other end. But can wire is so thin anyway, just run a really long strip. No point in introducing points of failure into an already relatively "fragile" system.
__________________

Team 3991: Driver since freshman (2015-), Captain since sophomore (2016-), CADer
"The human condition is not perfect. We are not perfect specimens, any of us. We're not robots." - Michael Ovitz
My posts may or may not reflect the views of my team, they are my opinions, and mine alone.
Reply With Quote
  #6   Spotlight this post!  
Unread 24-09-2016, 15:34
techhelpbb's Avatar
techhelpbb techhelpbb is offline
Registered User
FRC #0011 (MORT - Team 11)
Team Role: Mentor
 
Join Date: Nov 2010
Rookie Year: 1997
Location: New Jersey
Posts: 1,620
techhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

When you split a terminated bus like this you create the probability of reflections. If you look up a tool called TDR:
https://en.wikipedia.org/wiki/Time-domain_reflectometer

It is not recommended to do this.
Certain patterns of communication traffic might become garbled.
Resulting in intermittent errors you can't see a cause for.

Leaving an end unterminated is actually worse, as well would be using the wrong value terminators.

Last edited by techhelpbb : 24-09-2016 at 15:40.
Reply With Quote
  #7   Spotlight this post!  
Unread 24-09-2016, 21:37
ratdude747's Avatar
ratdude747 ratdude747 is offline
Official Scorekeeper
AKA: Larry Bolan
no team
 
Join Date: Feb 2009
Rookie Year: 2008
Location: Madison, IN
Posts: 1,061
ratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

Quote:
Originally Posted by techhelpbb View Post
When you split a terminated bus like this you create the probability of reflections. If you look up a tool called TDR:
https://en.wikipedia.org/wiki/Time-domain_reflectometer

It is not recommended to do this.
Certain patterns of communication traffic might become garbled.
Resulting in intermittent errors you can't see a cause for.

Leaving an end unterminated is actually worse, as well would be using the wrong value terminators.
QFT. Any time termination matters (such as CAN), you've entered the wonderful world of RF where reflections and the like are real. In RF you get to throw away everything you know about electricity and circuits, aside from Kirchoff's laws. Ohm's law? Kiss it goodbye, it doesn't apply any more. Wire spacing and twist rate do matter a ton.

Generally RF rules apply if you're at high frequency (such as CAN, ethernet, or Wifi/Bluetooth) or you're over a massively long distance (such as a 10 mile power transmission line).

TLDR: Don't branch CAN wires, while it seems like it will work in reality it's asking for trouble.
__________________
Dean's List Semi-finalist 2010
1747 Harrison Boiler Robotics 2008-2010, 2783 Engineers of Tomorrow 2011, Event Volunteer 2012-current

DISCLAIMER: Any opinions/comments posted are solely my personal opinion and does not reflect the views/opinions of FIRST, IndianaFIRST, or any other organization.
Reply With Quote
  #8   Spotlight this post!  
Unread 26-09-2016, 12:14
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,112
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

If the entire collection of CAN devices and wiring is physically small enough, you can get away with just about any topology without it breaking.

My advice: don't tempt fate. Use the system as specified and as designed, with a single "chain" of devices each having their own internal very short tap on the bus. Troubleshooting will be much more straightforward.
Reply With Quote
  #9   Spotlight this post!  
Unread 26-09-2016, 14:11
philso philso is offline
Mentor
FRC #2587
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Houston, Tx
Posts: 938
philso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

The CAN standards allow "star" configurations for low data rates over long distances. For your peace of mind, it is probably best to avoid using the star configuration if it can be avoided. With the (low) quality of the wiring I have seen in many FRC robots, a bad connection is at least as likely to be the real cause of their CAN Bus problems.

It is the high edge-rate (short rise-time and fall-time) of the signal that directly leads to reflections, not the data rate. Of course, as the data rate rises, faster edge-rates are required to maintain signal integrity. Many of the CAN transceiver chips have the ability to reduce the edge-rate to minimize reflections when running at lower data rates. Without looking at CTRE and NI's schematics, it is difficult to know if they are using such a feature.

The length of the various line lengths determines whether a reflection causes interference or not. With the rule-of-thumb signal propagation delay of 2 nsec/foot, your CAN wiring would have to be pretty long (in the order of 100 ft.) for it to have an effect on a 1 Mbps signal, longer than one could reasonably put on an FRC robot.

If one wires the CAN Bus with the PDP "at the end of the chain" then one should always have the terminations. With a star configuration (or multi-star), the PDP should still be the furthest from the RoboRio.


Quote:
Originally Posted by ratdude747 View Post
QFT. Any time termination matters (such as CAN), you've entered the wonderful world of RF where reflections and the like are real. In RF you get to throw away everything you know about electricity and circuits, aside from Kirchoff's laws. Ohm's law? Kiss it goodbye, it doesn't apply any more. Wire spacing and twist rate do matter a ton.

Generally RF rules apply if you're at high frequency (such as CAN, ethernet, or Wifi/Bluetooth) or you're over a massively long distance (such as a 10 mile power transmission line).

TLDR: Don't branch CAN wires, while it seems like it will work in reality it's asking for trouble.
My coworkers and I are puzzled by some your statements.
Reply With Quote
  #10   Spotlight this post!  
Unread 26-09-2016, 16:06
wireties's Avatar
wireties wireties is offline
Principal Engineer
AKA: Keith Buchanan
FRC #1296 (Full Metal Jackets)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Rockwall, TX
Posts: 1,168
wireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond repute
Send a message via AIM to wireties
Re: Can I branch the CAN to go to two separate places?

Do NOT do this! Your goal is to make the robot as robust as possible. One way to make the robot more robust is to wire the power, sensors and control lines per the recommendations of the relevant standards committees or OEMs. Use the correct tools and the correct techniques then test everything over and over again.

Could you get lucky? Sure

Is it worth it? No, a hundred times no

Is it a "professional" thing to do? No buyer would sign off and pay you for something wired incorrectly. You might be thinking "if it works then who cares"? This is where engineering ethics comes in - you are not compliant and you know it. So fix it!

That is my two cents. I've delivered many dozens of high performance systems. And I've been on the receiving end of non-compliant subsystems and made them fix everything (using their own money).
__________________
Fast, cheap or working - pick any two!
Reply With Quote
  #11   Spotlight this post!  
Unread 26-09-2016, 16:26
wireties's Avatar
wireties wireties is offline
Principal Engineer
AKA: Keith Buchanan
FRC #1296 (Full Metal Jackets)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Rockwall, TX
Posts: 1,168
wireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond repute
Send a message via AIM to wireties
Re: Can I branch the CAN to go to two separate places?

Quote:
Originally Posted by philso View Post
The CAN standards allow "star" configurations for low data rates over long distances.
QFT - I should have mentioned this. But on the roboRio the CANbus is running near full-speed. You would have to slow the bus down and all kinds of things might stop working (PCM control loops not closing, not enough bandwidth to query/set Talons etc).
__________________
Fast, cheap or working - pick any two!
Reply With Quote
  #12   Spotlight this post!  
Unread 26-09-2016, 23:54
philso philso is offline
Mentor
FRC #2587
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Houston, Tx
Posts: 938
philso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond reputephilso has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

Quote:
Originally Posted by wireties View Post
QFT - I should have mentioned this. But on the roboRio the CANbus is running near full-speed. You would have to slow the bus down and all kinds of things might stop working (PCM control loops not closing, not enough bandwidth to query/set Talons etc).
What is "full speed"? A quick search did not turn up any specs on the data rate of the RoboRio's CAN Port. In fact, NI's spec sheet totally neglects to mention the CAN Port in any way.

What do you mean by "slow the bus down"? Do you mean a slower data-rate or do you mean a slower edge-rate?
Reply With Quote
  #13   Spotlight this post!  
Unread 27-09-2016, 01:02
ratdude747's Avatar
ratdude747 ratdude747 is offline
Official Scorekeeper
AKA: Larry Bolan
no team
 
Join Date: Feb 2009
Rookie Year: 2008
Location: Madison, IN
Posts: 1,061
ratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond reputeratdude747 has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

Quote:
Originally Posted by philso View Post
My coworkers and I are puzzled by some your statements.
That's how I was taught in Electromagnetics class. Of course resistance is still present, but it's not 100% of the picture and looking at it alone will lead to results more puzzling that the statements I made.

Quote:
Originally Posted by wireties View Post
All the normal rules still apply but there are additional rules (terms in the equations). You are looking at the complex impedance of the load (which did not factor in at low frequencies) rather than simple resistance. The size and shape of the wire and connector pins all matter because they help determine the reactance portion of the impedance (resistance plus reactance). Balancing the impedance of the source and the load become important to reduce mismatches that can cause ringing (reflected waves bouncing around willy-nilly).
That's more or less what I was trying to say. But that means the normal rules do NOT apply, as V doesn't nessarily equal IR any more. As mentioned earlier in this post resistance doesn't go away, but it's not the only factor and in many situations is negligible.

Quote:
Originally Posted by jee7s View Post
This is taking the thread a tad off topic, but, I respectfully disagree. It's not that there are additional rules. The rules are the same but you can't use as simple a model of the rules.

The so-called "normal" rules are really a number of simplifications and assumptions that apply at DC that don't apply when there is change in the signal. Even the complex impedance is a simplification that applies to lumped element models. Fundamentally, both of these are case specific subsets/simplifications of Maxwell's Equations, which are the set of laws that govern electromagnetism at non-relativistic conditions.

I say this because I think it further illustrates the bad thinking I highlighted earlier: one must acknowledge the assumptions that are used (like assuming conductors are ideal) before applying a concept. It's one thing to use a suitable simplification because a set of conditions are met. I don't think any engineering would happen if we needed to do vector calculus when determining a load instead of using V=IR. But, as a good engineer, you need to know when you can simplify the model and when you cannot.

As an aside, @ratdude: even Kirchhoff's Laws don't always apply, particularly if a changing magnetic flux is present.
I was taught in electromagnetics class that Kirchoff's laws do apply in RF, and specifically those alone are what do translate from circuit theory to RF unchanged. While a changing flux can cause all sorts of fun voltages, in a pure snapshot of an RF system all voltages will be accounted for someplace. It may be someplace you don't expect, but it will be accounted for.

Otherwise, obviously I agree.
__________________
Dean's List Semi-finalist 2010
1747 Harrison Boiler Robotics 2008-2010, 2783 Engineers of Tomorrow 2011, Event Volunteer 2012-current

DISCLAIMER: Any opinions/comments posted are solely my personal opinion and does not reflect the views/opinions of FIRST, IndianaFIRST, or any other organization.
Reply With Quote
  #14   Spotlight this post!  
Unread 27-09-2016, 09:29
techhelpbb's Avatar
techhelpbb techhelpbb is offline
Registered User
FRC #0011 (MORT - Team 11)
Team Role: Mentor
 
Join Date: Nov 2010
Rookie Year: 1997
Location: New Jersey
Posts: 1,620
techhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond reputetechhelpbb has a reputation beyond repute
Re: Can I branch the CAN to go to two separate places?

Quote:
Originally Posted by ratdude747 View Post
I was taught in electromagnetics class that Kirchoff's laws do apply in RF, and specifically those alone are what do translate from circuit theory to RF unchanged. While a changing flux can cause all sorts of fun voltages, in a pure snapshot of an RF system all voltages will be accounted for someplace. It may be someplace you don't expect, but it will be accounted for.

Otherwise, obviously I agree.
I agree. In any active AC circuit at a given instant in time Kirchoff's Law ought to work. Now over time, that's a whole different matter. Once one starts decoupling the voltage and the current over time (phase) with capacitance and inductance that transition makes interesting things happen like resonance. Then we gotta start pulling in math like Fourier transforms and Laplace transforms.

Since CAN signals are NRZ digital (with the 1&0 voltages dependent on the PHY layer design) they represent a typical digital square wave of odd-integer harmonics with differential signal. The issue, and the TDR neatly demonstrates this concept, is that an analysis over time (not at any given instant) can produce reflections when the termination or legs (even the legs of the circuit inside the devices) get too long. So it's not merely the real component of the terminator resistance at work. It's the capacitance, inductance and impedance of the circuit as a whole. (Active AC components tend to introduce mathematical imaginary or polar numbers into circuit analysis so when I say real resistance I mean DC resistance.)

Long story short - I don't think anyone in the last few posts disagrees that students shouldn't follow the guidelines. No one wants to have intermittent phantom problems that only happen when a certain pattern of traffic is sent over that CAN bus. I don't think I've ever seen a FRC team test their CAN bus with a BERD/BERT even though the speed is pretty high on that circuit (a T1 digital telephone circuit is basically 1.544Mbps and these are usually tested with something like a T-BERD). There's limited rational reason in the last few years of robots that the CAN bus configuration as recommended can't be achieved. Even if you somehow put a Talon 14 feet up an end-effector you could avoid doubling back with the CAN buss wire (which given you'd be running the power up there seems sort of strange) by simply ending the buss up there.

There are some good examples of why a star configuration has advantages if you suspect your devices might fail to be connected. However, like in computer networking, how far does one want to go to get a star network without the circuit implications? Active CAN hubs? How about a CAN switch? (NOTE: I am making no suggesting the 2 links I provided are FRC legal or even recommended, just pointing out that such devices exist with evidence.)

Last edited by techhelpbb : 27-09-2016 at 09:51.
Reply With Quote
  #15   Spotlight this post!  
Unread 27-09-2016, 01:38
wireties's Avatar
wireties wireties is offline
Principal Engineer
AKA: Keith Buchanan
FRC #1296 (Full Metal Jackets)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Rockwall, TX
Posts: 1,168
wireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond repute
Send a message via AIM to wireties
Re: Can I branch the CAN to go to two separate places?

Quote:
Originally Posted by philso View Post
What is "full speed"? A quick search did not turn up any specs on the data rate of the RoboRio's CAN Port. In fact, NI's spec sheet totally neglects to mention the CAN Port in any way.
1Mb/s but the actual throughput may vary. CANbus uses NRZ encoding and bit stuffing etc so realized throughput is usually in the 850kb/s range.

Quote:
Originally Posted by philso View Post
What do you mean by "slow the bus down"? Do you mean a slower data-rate or do you mean a slower edge-rate?
one implies the other (but not really sure what you mean by edge rate)
__________________
Fast, cheap or working - pick any two!
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 06:13.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi