Go to Post That's just the thing about plastic or brass gears; they tend to morph into plastic or brass washers real fast. - Nick Seidl [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 04-01-2017, 04:31
Ari423's Avatar
Ari423 Ari423 is online now
LabVIEW aficionado and robot addict
AKA: The guy with the yellow hat
FRC #5987 (Galaxia)
Team Role: Mentor
 
Join Date: Mar 2015
Rookie Year: 2012
Location: Haifa, Israel
Posts: 500
Ari423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant futureAri423 has a brilliant future
Re: Mindsenors CAN Splitter

From everything I've read and understand about CAN, the bus was designed to be used in series, not parallel. According to some other posts by knowledgeable people that I can't find right now because I'm on mobile, using a star topology can introduce noise and bad things into the network and is generally not recommended. Especially considering any good CAN device should have the CAN leads physically connected so the signal is passed through even if it fails. Can someone correct me on this or is this product pretty useless?
__________________
2017-present: Mentor FRC 5987
2017-present: CSA for FIRST in Israel
2012-2016: Member FRC 423
2013: Programmer
2014: Head Programmer, Wiring
2015: Head Programmer, Wiring
2016: Captain, Head Programmer, Wiring, Manipulator, Chassis, CAD, Business, Outreach (basically everything)


Reply With Quote
  #2   Spotlight this post!  
Unread 04-01-2017, 04:52
Jaci's Avatar
Jaci Jaci is online now
Registered User
AKA: Jaci R Brunning
FRC #5333 (Can't C# | OpenRIO)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 251
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by Ari423 View Post
From everything I've read and understand about CAN, the bus was designed to be used in series, not parallel. According to some other posts by knowledgeable people that I can't find right now because I'm on mobile, using a star topology can introduce noise and bad things into the network and is generally not recommended. Especially considering any good CAN device should have the CAN leads physically connected so the signal is passed through even if it fails. Can someone correct me on this or is this product pretty useless?
Honestly, it doesn't make a huge difference.

The CAN bus is, well, a bus. The bus is two wires (CAN-Hi and CAN-Lo) that are connected by a termination resistor (120 ohm) on each end. The CAN-Hi and CAN-Lo signals are equal but opposite, as shown below, so that, when twisted together, they reduce the effects of interference and data corruption.



The termination resistors are put in to prevent signals from 'bouncing back' or 'echoing' inside the bus, such that signals are not repeated or misread.

With this knowledge, you should be able to see what the purpose of these termination resistors are, and why CAN exists in a bus (every 'node' on the network can read and write). You should also notice that the bus is mostly arranged in parallel. See the circuit diagram below.



Something you should notice is that, because of this, it doesn't really matter where you attach a CAN device. You can do it either along a single line, branching off (kinda like a highway), or a single point that branches out to multiple other devices, like a star, with a termination resistor at the end.

Something you should note is that this isn't a true star topology. The RoboRIO has an inbuilt 120 ohm resistor on its CAN bus, which means there must be a 120 ohm resistor on the other end. This functions like a bus, with any devices branched off in a 'star' pattern also belonging to the bus. Despite them all being connected at a single point, it's the same thing as using a bus, but bringing all the connection points closer together. It looks like a star, but in reality it is a bus. The actual name for this arrangement is 'high speed CAN'.

A TRUE star topology is different from a bus in that it doesn't use a termination resistor at all. Instead, it relies on the combined resistance of all of its members. By the ISO 11898-3 spec, the overall resistance should be about 100 ohms, but never less. The actual name for this arrangement is 'low speed, fault tolerant CAN'. This name is misleading as normal CAN is fault tolerant for if devices go down (e.g. an SRX carks it), but the star topology is fault tolerant if a physical connection is severed. You can read more about the differences in this wikipedia document, under 'Architecture'.

All the images in this post were taken from this page.
__________________
Jacinta R

Curtin FRC (5333+5663) : Mentor
5333 : Former [Captain | Programmer | Driver], Now Mentor
OpenRIO : Owner

Website | Twitter | Github
jaci.brunning@gmail.com
Reply With Quote
  #3   Spotlight this post!  
Unread 04-01-2017, 08:23
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,763
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Mindsenors CAN Splitter

Guys,
This has been discussed many times here on CD. The CAN buss is essentially a transmission line with terminations at both ends. The terminations serve to reduce reflections along the line. On an FRC robot, the lines are fairly short and individual reflections may or may not cause interference on the buss as a whole when set up in a star topology. However, do not carry that forward to non-FRC designs in the future.
Any failure in the transceiver circuitry that would short the buss would affect all devices on the buss. Only opening the buss affects those device(s) down stream.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
Reply With Quote
  #4   Spotlight this post!  
Unread 04-01-2017, 12:53
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,886
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: Mindsenors CAN Splitter

Keep in mind the FRC application is not "low speed fault tolerant". FRC Can is running at 1 Mb/sec. The recommended maximum stub length is 1/3 meter (roughly 1 foot). This thread discusses why not to use star topology by people way more knowledgeable than me.

Here is a TI white paper on the CAN physical layer
__________________
If you don't know what you should hook up then you should read a data sheet

Last edited by FrankJ : 04-01-2017 at 13:55.
Reply With Quote
  #5   Spotlight this post!  
Unread 04-01-2017, 13:40
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,069
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Mindsenors CAN Splitter

If I were selling this product, I'd probably update my product page and/or my page about CAN networks to at least mention that if a star topology is used, the stub lengths should be kept as short as possible to minimize the risk of reflection interfering with communications.

Debugging a flaky CAN network is one of the least fun "learning opportunities" in FRC. Having done so in the past, I'd personally be hesitant to deviate from a linear bus without a good reason, and in that case I'd try to keep my deviation as small as possible.
Reply With Quote
  #6   Spotlight this post!  
Unread 04-01-2017, 13:57
cbale2000's Avatar
cbale2000 cbale2000 is offline
Registered User
AKA: Chris Bale
FRC #0703 (Phoenix)
Team Role: Leadership
 
Join Date: Apr 2006
Rookie Year: 2004
Location: Saginaw, MI
Posts: 927
cbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond repute
Re: Mindsenors CAN Splitter

We ran our robots CAN in Star Topology last year and didn't have any issues with it. The only problems we did run into were related to wiring and not the network itself (and the wiring issue was fixed when we went through and properly soldered all the connections).

Having previously had a robot where a single faulty CAN connection disabled the entire robot for the match on several occasions (courtesy of ineffective quick-disconnects) I can say I definitely don't mind the redundancy in the system. I'd much rather loose a collector or a single drive motor than have the entire machine parked in the middle of the field for a whole match.
Reply With Quote
  #7   Spotlight this post!  
Unread 04-01-2017, 14:14
ollien ollien is offline
Registered User
FRC #5202
 
Join Date: Feb 2015
Location: United States
Posts: 275
ollien has a spectacular aura aboutollien has a spectacular aura aboutollien has a spectacular aura about
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by cbale2000 View Post
We ran our robots CAN in Star Topology last year and didn't have any issues with it. The only problems we did run into were related to wiring and not the network itself (and the wiring issue was fixed when we went through and properly soldered all the connections).

Having previously had a robot where a single faulty CAN connection disabled the entire robot for the match on several occasions (courtesy of ineffective quick-disconnects) I can say I definitely don't mind the redundancy in the system. I'd much rather loose a collector or a single drive motor than have the entire machine parked in the middle of the field for a whole match.
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
Reply With Quote
  #8   Spotlight this post!  
Unread 04-01-2017, 14:25
FrankJ's Avatar
FrankJ FrankJ is offline
Robot Mentor
FRC #2974 (WALT)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2009
Location: Marietta GA
Posts: 1,886
FrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond reputeFrankJ has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
Keep in mind that this is rarely works/doesn't work scenario. Below a certain level it will not show up at all. Then it is a noisy line. You start losing packets. CAN is fault tolerant so they get re-transmitted. Once again you may or may not notice. Especially if you don't have a lot of traffic on the bus. Next you start getting quirky non repeatable issues. That might get attributed to other things.
__________________
If you don't know what you should hook up then you should read a data sheet
Reply With Quote
  #9   Spotlight this post!  
Unread 04-01-2017, 15:09
cbale2000's Avatar
cbale2000 cbale2000 is offline
Registered User
AKA: Chris Bale
FRC #0703 (Phoenix)
Team Role: Leadership
 
Join Date: Apr 2006
Rookie Year: 2004
Location: Saginaw, MI
Posts: 927
cbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
All of the Talons we used (about 10 total) were more or less their uncut stock length (with the exception of two which had ~6" extensions soldered on). All other CAN devices (PCM, Rio, PDP, etc.) were connected with CAN wires between 6"-12" in length. We also only used one set of wires from each CAN device (the second set from the Talons were bundled up with zip ties, kept as spares in case the main set broke).

The setup used the standard CAN termination with the roboRio and the PDP with no additional resistors added.
All CAN devices were wired to a pair of grounding bars (one for each color wire) we ordered from McMaster and connected using ring terminals. Also, if I remember correctly, the total bus useage was around 60% (though that may have changed as programmers added features).

Last edited by cbale2000 : 04-01-2017 at 15:17.
Reply With Quote
  #10   Spotlight this post!  
Unread 04-01-2017, 18:03
ozrien's Avatar
ozrien ozrien is offline
Omar Zrien
AKA: Omar
no team
Team Role: Mentor
 
Join Date: Sep 2006
Rookie Year: 2003
Location: Sterling Heights, MI
Posts: 516
ozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant futureozrien has a brilliant future
Re: Mindsenors CAN Splitter

Using a star network generally creates more problems on CAN bus than it will solve, and we do not recommend it.

Please read pages 35-37 of the Talon SRX User's Guide.

http://www.ctr-electronics.com/talon...ical_resources
Reply With Quote
  #11   Spotlight this post!  
Unread 04-01-2017, 18:32
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,995
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by ollien View Post
Hm. I'm curious as to why you didn't run into reflection issues like others have been suggesting (in both this thread and the other). How long were your wire runs?
Quote:
Originally Posted by cbale2000 View Post
All of the Talons we used (about 10 total) were more or less their uncut stock length (with the exception of two which had ~6" extensions soldered on). We also only used one set of wires from each CAN device (the second set from the Talons were bundled up with zip ties.
I'd love to put a scope on those wires and see what the signal looks like at the nodes.


Reply With Quote
  #12   Spotlight this post!  
Unread 05-01-2017, 11:11
cbale2000's Avatar
cbale2000 cbale2000 is offline
Registered User
AKA: Chris Bale
FRC #0703 (Phoenix)
Team Role: Leadership
 
Join Date: Apr 2006
Rookie Year: 2004
Location: Saginaw, MI
Posts: 927
cbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond reputecbale2000 has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by Ether View Post
I'd love to put a scope on those wires and see what the signal looks like at the nodes.
Not sure if we have a scope that works, but assuming we did, how would you go about doing that? Just connect one probe to green and the other to yellow?

Quote:
Originally Posted by ozrien View Post
Using a star network generally creates more problems on CAN bus than it will solve, and we do not recommend it.

Please read pages 35-37 of the Talon SRX User's Guide.

http://www.ctr-electronics.com/talon...ical_resources
Does Star topology assume both yellow and green wires are connected to the same hub? If that's the case this is not what we did. Our Topology actually looks similar (in my opinion anyways) to the "master cable harness" topology except rather than using a cable we used two busses, one for each color wire.

Last edited by cbale2000 : 05-01-2017 at 11:22.
Reply With Quote
  #13   Spotlight this post!  
Unread 05-01-2017, 11:26
marshall's Avatar
marshall marshall is offline
My pants are louder than yours.
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 1,227
marshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by cbale2000 View Post
Not sure we have a scope that works, but assuming we did, how would you go about doing that? Just connect one probe to green and the other to yellow?
Not quite but close. You will need a DSO-style scope that can help you look at the signals and do some analysis on them with looking for noise.

I actually think a better idea would be to use some of the tools now available via Linux for looking at the CAN bus for timeouts and retransmits (I believe you can do this on the RoboRIO in code too). I suspect you're going to see more errors with a star topology.

We actually have a scope that can do this and if I had time then I'd like to but I don't honestly have the time to dig into it. If there is a team in NC that wants to do it then I'll volunteer the scope for the research but they would need to come out to our space to use it and bring the necessary test setups with them.
__________________
"La mejor salsa del mundo es la hambre" - Miguel de Cervantes
"The future is unwritten" - Joe Strummer
"Simplify, then add lightness" - Colin Chapman
Reply With Quote
  #14   Spotlight this post!  
Unread 05-01-2017, 11:40
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,995
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Mindsenors CAN Splitter

Quote:
Originally Posted by marshall View Post
...a better idea would be...
It's a good idea, but it's not better, just different.

Depends on what you're trying to accomplish.

You'll need a piercing probe with that DSO to look at the signal at the SRX.


Reply With Quote
  #15   Spotlight this post!  
Unread 04-01-2017, 13:59
asid61's Avatar
asid61 asid61 is offline
Registered User
AKA: Anand Rajamani
FRC #0115 (MVRT)
Team Role: Mechanical
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Cupertino, CA
Posts: 2,209
asid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond repute
Re: Mindsenors CAN Splitter

After going through the TI whitepaper (which only briefly mentions stub length and doesn't explicitly mention the words "star topology" at all, although it was a good read), running star topology doesn't seem too bad.
The main problem with stubs seems to be that the lack of termination resistor can cause reflections. The solution is to simply make the stubs no longer than "1/3 of the line's critical length" to make the reflections unnoticeable to the line.

This is explained in the following passage:
"The critical length of a bus line occurs at the point where the down-and-back propagation delay (tprop(total)) of a signal through a line equals the transition time(tT) of a signal (the greater of the rise or fall times). Network Critical Length = tT = tprop(total) Therefore, a typical CAN driver may have a 50 ns transition time, and when considering a typical twisted-pair transmission line prop delay of 5 ns/m, the down-and-back delay for one meter becomes 10ns/m. The critical length becomes 5 m (50 ns / 10ns/m = 5 m), and the max un-terminated stub length for the network is 1/3rd of the critical length, or 5/3 m (1.67 m)."

I'm not sure what the transition times or propagation delays are for a regular FRC system, but just judging from their example (which seems reasonable) a star topology should be more than doable; at the very least, it's not an all-around bad idea or straight-up useless. Does anybody (maybe from CTRE) have firm numbers for propagation delay and transition times?
__________________
<Now accepting CAD requests and commissions>


Last edited by asid61 : 04-01-2017 at 14:06.
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 09:34.

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