Thread: Com wire
View Single Post
  #12   Spotlight this post!  
Unread 08-01-2016, 22:37
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: Com wire

Quote:
Originally Posted by DonRotolo View Post
That isn't exactly correct. Differential signaling causes any effects of EMI to be nullified, since the EMI (nominally) affects both wires equally. So if CAN is looking for a voltage differetial of 5 Volts, it does not matter if a 20 V EMI signal is superimposed upon both wires, the difference is still 5 volts.

Error detection is performed with mechanisms like a CRC checksum.

Twisted wires help maintain a constant impedance, important towards suppressing reflections, which can cause data errors.
You made me review some electrical notes. You're right (of course). EMI affects both signals identically (because they're twisted). The controller's are ground independent meaning that the signals don't need a ground. The controller uses a comparator (just think of a voltage meter measuring the voltage across the signals) to see if the signal is logic low (voltages separate, 2V measured) or logic high (voltages come together, 0V measured).

If something happens, the CRC portion of the CAN message will request the other CAN controller to resend the message.

CAN is a very robust standard used by all automotive manufacturers and many companies. Fortunately, or unfortunately, FIRST and NI doesn't really expose you to the fun stuff in CAN. It all kind of... just works.

So what makes CAN really cool is no one is a master controller and no one is a slave device. Any device can talk to any device. It's a broadcast network with wither 11-bit IDs or 29-bit extended IDs. In practice, CAN is usually limited to speeds up to 500 kbps, but will reach speeds up to 1 Mbps. Newer standards (CAN FD) push that speed even higher. Not very fast, right, but when you're talking about the data we're transmitting, it's pretty fast.

I also saw on another thread about how they're using a signal-splitter to run the network as a star network rather than daisy chaining. I do not recommend doing that because of signal reflections. Most devices give you an 'in' and an 'out' port if you want to call it that. Use that, it's better for signal integrity. You have a chance of running into signal reflections on the network.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364