I'm designing a PCB which will communicate with a vehicle through CAN-FD at up to 2 Mbit/s.

The connection to the vehicle is made though ordinary twisted-paid CAN wire (around 2m) to a Mini Universal MATE-N-LOK connector on the board. From there, it's approximately 15mm of 8 mil trace to the MCP2558FD CAN-FD tranciever, and approx. 6mm of trace to the termination resistors and decoupling capacitors.

The Teensy 4.0 I use for controlling this has an integrated CAN controller, but it's only available through SMD pads on the bottom side of the PCB. (https://www.pjrc.com/teensy/pinout.html) Therefore, I soldered a short wire to those pads (~20-30mm) and plan on then soldering the wires to a hole in the PCB near the CAN transceiver (around 12mm of trace for the TX line, 5mm of trace for the RX line).

Do I need to consider anything special here? It's my first "high-speed" signal application.

  • Does the length / impedance of the CAN-FD traces on the board (between transceiver / connector) matter?
  • Would the MATE-N-LOK connector be an issue?
  • Is 2m of "external" CAN wire too much for signal quality? For now, the Teensy will only listen to messages on the bus, without receiving anything (using the MCP2558FD's "silent" mode), but I'd like to be able to send data in the future.
  • Is it a reasonable idea to transmit the 2 MBit/s UART (between Teensy / transceiver) through external wires? Other options (pogo pins (low availability), castellated holes (SMD components on the bottom side of the Teensy), SMD headers (different height compared to THT headers)) seemed suboptimal as well.
  • Could I route other signals (in this case, current signals up to around 30 mA) on the other side of the PCB, or must I retain an uninterrupted ground plane there?
  • \$\begingroup\$ Is the 2m wire a stub? That won't be reliable at all. If your aim is to sniff an existing bus already terminated in both ends, then a 2m stub is highly questionable. Recommendations are around 0.2 - 0.3m or so for 2Mbps. \$\endgroup\$
    – Lundin
    Commented Jan 30, 2020 at 11:37
  • \$\begingroup\$ It's a stub, as per current design. The wire plugs in at the connector of one of the busses control modules, and has that ~2m wire going off to the PCB from there. Would it be better to move the "stub location" nearer to the PCB, e.g. its connector? That would mean a 2m wire from the car to the PCB, and another 2m wire from the PCB to the original control module, but it wouldn't be a stub (except for the part on the PCB). \$\endgroup\$
    – towe
    Commented Jan 30, 2020 at 11:50
  • \$\begingroup\$ I'm not following. Either you cut up the original bus or it is a stub. \$\endgroup\$
    – Lundin
    Commented Jan 30, 2020 at 12:13
  • \$\begingroup\$ Cutting up the original bus would be an option too - the connection into the bus is made via an adapter between the control modules connector and the control module itself. Either the connection is directly in the adaptor near the control module (and the wire to my PCB is a stub), or I bring the entire bus to my PCB (from the original connector) and back to the control module (no stub, but longer bus length). \$\endgroup\$
    – towe
    Commented Jan 30, 2020 at 12:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.