element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • 'Choose another store...'
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs CAN communication with Hercules Safety Microcontroller - part 3c: Design a Bus Driver PCB - Layout
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 14 Oct 2017 7:54 AM Date Created
  • Views 1019 views
  • Likes 5 likes
  • Comments 9 comments
  • automotive
  • hercules
  • launchpad
  • can
Related
Recommended

CAN communication with Hercules Safety Microcontroller - part 3c: Design a Bus Driver PCB - Layout

Jan Cumps
Jan Cumps
14 Oct 2017

I'm trying out basic CAN communication on a Hercules microcontroller.

In this third blog I'll design driver PCBs.

The third part reviews the KiCAD PCB layout.

image

 

Two Layer PCB

 

I could have used a single layer PCB but there's no price difference with two layer boards.

The bottom side is dedicated to the power rail and ground. The top for the digital and analog signals.

 

Let's start with the bottom layer. Because the 3V3 isn't used a lot but crosses the whole board, I decided to route that first.

All the rest of the board area is ground. I added keepout areas on the two trough-hole connectors.

 

image

 

I've used the datasheet of the TCAN332D for the layout guidance.

These are the things I've taken over from the advice:

  • Transient Protection on CANH and CANL: ... These devices must be placed as close to the connector as possible
  • Decoupling Capacitors on VCC: Bypass and bulk capacitors must be placed as close as possible to the supply pins of transceiver
  • Ground and power connections: Use at least two vias for VCC and ground connections of bypass capacitors and protection devices to minimize trace and via inductance
  • Filtering noise on digital inputs and outputs: To filter noise on the digital I/O lines, a capacitor may be used close to the input side of the I/O

 

I didn't do anything specific for this one:

  • Because ESD and EFT transients have a wide frequency bandwidth from approximately 3 MHz to 3 GHz, high frequency layout techniques must be applied during PCB design.

I tried to keep all signals short and direct and provided a decent plane on the back. Only one signal goes trough a via (unfortunately in the transient protection circuit - maybe the worst one of the whole set?)

 

Layout

 

This wasn't a difficult exercise. The whole circuit is symmetrical and the components almost call for a particular position on the board.

You can see on the digital side on the board that there's nothing complex there.

image

 

image

The components on the left are the digital circuitry.

The bulky copper below U1 are the two power planes.

I've provided enough vias to get a good connection with the bottom planes.

 

The output circuit and protection are also symmetrical.

image

 

Here you can see that I used two vias to route the signal between R5 and C6.

Because this is a part of transient protection, it's best to have a short path .

I could have taken the proper time to rethink the position of a few components.

Putting D1 to the left of the output passives would have been one of the options.

 

image

 

The boards are ordered yesterday evening.

I've got a message from OSHPark that I got an upgrade to the Super Swift service and that the fab will make them within 5 business days.

 

The KiCAD project is attached to this blog.

 

Optional Components and Line Termination

 

The whole output protection part is optional. I do not intend to populate C5, C7 and D1 for this project.

These boards will not end up in a car. It will just be two of these talking together in the safe lab.

 

I don't need pull-up resistor R3 because the weak pull-up in the CAN driver together with the active pull that I will configure in my microcontroller should do.

I'll probe the signals once the circuit is built. If there's a sign of a weak digital signal, I'll try some pull-up values.

 

I will populate the CAN Bus termination components because both devices are end points and for signal integrity, both ends need to be terminated with a 120R impedance.

There are two options. I can either use two 60R for R5 and R6 and populate C6, or I can use 120R for one of the two resistors and bridge the other one. In that case C6 should not be placed.

Both options close the line as per specs. The first one has better common noise filter behaviour.

 

Monitor the Signals with an Analyser

 

I have some good news for @self here. I'm selected for the Microchip CAN Bus Analyser Tool road test.

I used this blog series as driver for the participation (see How I Enroll for a RoadTest - Part 6: Case for CAN Analysis Tool).

So I will have to make that happen now image. I think it will be a very welcome instrument. My current analyser can probe the digital side only and doesn't understand CAN traffic.

With the CAN Bus analyser I'll be able to see traffic, but also to inject traffic on the bus. Excited.

 

 

 

Road Test Blog
part 1: First trials
part 2: Inject CAN Messages
part 3: Analyzer as Test Tool
part 4: Analyze the Physical layer of CAN Bus
Related Blog
part 1: tryout
part 2: Communication between 2 Devices
part 3a: Design a Bus Driver PCB
part 3b: Design a Bus Driver PCB - Schematics and Custom Components
part 3c: Design a Bus Driver PCB - Layout
part 3d: Design a Bus Driver PCB - Test
Attachments:
can_driver.zip
  • Sign in to reply

Top Comments

  • Jan Cumps
    Jan Cumps over 5 years ago in reply to Jan Cumps +3
    All components are in ...
  • DAB
    DAB over 5 years ago +2
    Nice board work. DAB
  • Jan Cumps
    Jan Cumps over 5 years ago in reply to DAB +1
    thank you, DAB
  • Jan Cumps
    Jan Cumps over 4 years ago in reply to Jan Cumps

    Jan Cumps  wrote:

     

    Switching to another controller did not help. I've also probed all PCB traces and components. What could be wrong ....

    Fixed: CAN communication with Hercules Safety Microcontroller - part 3d: Design a Bus Driver PCB - Test

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 4 years ago in reply to Jan Cumps

    Switching to another controller did not help. I've also probed all PCB traces and components. What could be wrong ....

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 4 years ago in reply to Jan Cumps

    I'm trying with a different microcontroller, Hercules RM46

    image

     

    I should check my dev board stash, but I don't think I have non-Hercules CAN capable controllers ....

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 4 years ago in reply to Jan Cumps

    No joy at the moment. I have working firmware that exchanges data between two CAN peripherals. But my physical layer design with two CAN drivers does not work.

    image

     

    Once I plugg them in, the microcontroller's CAN module stops working correctly.

    I've probed extensively but haven't find the root cause (or even a hint of a possible reason).

     

    It could be that both CAN driver ICs are destroyed by me while soldering, but that would be exceptional. In particular because these are automotive grade.

    image

     

    Debugging is not easy when something "does not work at all". Anyways, back to the lab ...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 5 years ago in reply to Jan Cumps

    All components are in ...

    image

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube