Microchip CAN Bus Analyser Tool - Review

Table of contents

RoadTest: Microchip CAN Bus Analyser Tool

Author: Jan Cumps

Creation date:

Evaluation Type: Test Equipment

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Logic Analyzer with CAN support. Protocol Analyzer with CAN support. Mixed Domain Oscilloscope with CAN support.

What were the biggest problems encountered?: Software install from the disk delivered with the box with Windows 10. Some functions from the specifications not implemented.

Detailed Review:

 

 

 

Road Test Review: Microchip CAN Analyzer

 

Summary:

 

The Microchip CAN AnalyzerMicrochip CAN Analyzer is a small size protocol analyzer and tester.

It allows you to collect traffic from a CAN bus and display and log that info.

You can also use it to inject traffic in a bus.

It works both on the physical bus and the logic side.

This makes it a good tool for CAN module designers and firmware programmers.

 

Road Test

 

In my application, I told that I was not going to use it to view the traffic in an existing car.

I focused on the strength as a lab instrument.

The tests that I wanted to perform (and that I performed) are:

  • Is it a useful instrument on the logic and physical CAN layers?
  • Can I see the traffic on a CAN bus, real time and recorded for later analysis?
  • Does it work as a traffic generator?
  • Does it show error conditions and illegal traffic?
  • Is it easy to use?
  • Documentation?
  • Conclusions: All good?

I'll finish the review with comments and hindsight. But for the inpatient reader: there's a Yes result on most tests.

 

Is it a useful instrument on the logic and physical CAN layers?

 

Yes. The instrument can be used on the physical and the logic CAN layer.

It's a great advantage that the analyzer supports the logic layer. It allows a firmware developer to test the program in a very simple setup.

An evaluation board for the microcontroller and a few components are enough to get a functional setup.

 

In the image below, CAN1 could be the microcontroller you're developing for. CAN2 would be the logic TX and RX from the analyzer.

 

 

 

I have used the device this way and this worked perfectly.

 

 

This isn't a setup I'd use in a final design. As test bed it works just fine (tip: also as training tool when you don't have CAN drivers).

I've also used it to test a set of simple CAN driver boards that I made. These boards (a few components really) comply with CAN's physical layer.

Check the links at the end of this review for schematics, BOM and PCB layout.

 

 

Can I see the traffic on a CAN bus, real time and recorded for later analysis?

 

Yes. The analyzer is designed to be connected to a computer over USB. Microchip provides an application that allows you to see the data.

There are 3 modes:

  • a rolling view. This is an ever growing list of the traffic occurring on the bus. The newest messages appear on top of the list.

    This view is useful when you're sending a series of commands. It's the view I use the most.
    It's not that useful when you connect to an active CAN bus with multiple parties sending many messages because things scroll out of view soon.

 

  • a fixed view. In this view there's a line per CAN ID and direction. This one is more stable and always shows the last data.

    Ii's very good to show who's transmitting on the bus and the time of their latest two communications.
    In particular when you're probing an active CAN setup, this one will give a better view of what's happening.

    Both views can be open together.
  • a log
    The application can log all events to a file for later analysis.

 

Additionally, there's a status bar that gives stats and statuses at a glance:

 

These functions work for logic and physical layer. They are the main tools to interact with the analyzer.

 

One thing is missing in the application, although it is listed as a function on the analyzer product page: filtering.

This is a significant limitation. On a real CAN bus there's so many things flowing around that an analyzer without filtering is of limited use as a real-time tool.

 

Does it work as a traffic generator?

 

Yes. You can inject CAN messages onto the bus from the GUI.

That's great for debugging and testing your firmware because you don't have to mock up a physical sender.

In the image below you see that I'm sending an 8 byte message with (extended) ID 0x03. I'm capturing the logic layer on an oscilloscope.

I've also tested this with a Hercules microcontroller. I've configured it to listen to ID 0x01 and it perfectly received the traffic generated by the analyzer.

You can see the results of that exercise in the image below.

 

 

You can set if the analyzer should repeat the message, how fast and the number of repeats.

Again, all functionality works on physical and logic layer. This is great functionality for a developer or tester.

 

Same as with the read functionality, there is a function missing that make the tool less than complete.

It's not possible to group messages and send them at one time - a situation that you certainly want to simulate on your own design.

It's listed as a future design since years but has never been implemented.

 

Does it show error conditions and illegal traffic?

 

Yes. Both the device and the application show error conditions.

The application has a really useful status bar. I've shown it before in the first test.

It's a single glance overview of health. You can see speed, mode (more on that later), error conditions and count of sent and received messages.

 

On the analyzer, there's a multi colour error LED. Green if OK, yellow if passive (no-one drives the line or termination isues), red if the state is invalid.

The RX and TX LEDs are also very useful. They do what you expect: light up when there's traffic.

 

Is it easy to use?

 

Yes.

The application is fairly easy to use. Not 100% intuitive but good enough to understand the functionality in less than an hour.

To connect the analyzer to a bus with the screw terminals, you have to understand the basics of an electronic schematic.

With the DB9 connector (not provided, but that's OK because the product page says it comes without such a cable) you just have to plug it in.

 

Both monitoring a bus and injecting messages into it are easy to do. The documentation explains how things work and there's nothing more to it.

Follow the steps and it works.

 

The software install could have been smoother. There's a disk inside the box that doesn't work with Windows 10.

You learn that at the end of the install and have to do some cleanup from the failure.

The software on the website works just fine.

A note in the box (according to a QC sticker, it's been checked at the Microchip facilities in February 2017 when Windows 10 was around) would have been great.

Fellow road tester [mention:4f1ca8255f8742cd8649c704f7ea3bc3:e9ed411860ed4f2ba0265705b8793d05] has documented the solution in his review.

 

Documentation?

 

Good. It contains full schematics and lists all the functions of the device.

All implemented functions are decently described.

As stated before, Microchip expects that you understand a little electronics and at least can understand the pin-outs of the exposed connectors.

 

 

My only gripe is with the features list. Both hardware and software features lists mention non-implemented functionality.

Only the software list mentions that some will be implemented in future releases. More on this below in the conclusions.

 

Conclusions: All Good?

 

Mixed.

A big yes for the implemented functions. They work flawlessly.

Software and hardware haven't crashed a single time during my work - and I've used the analyzer extensively in situations where the other devices on the bus were misbehaving.

The analyzer is easy enough to use and the functionality is well implemented.

 

A maybe for the future features. It's OK to not implement everything when you launch a design and promise features for a later time.

I'd almost say no because they haven't been implemented and there are no new releases. Some are essential in a serious application:

  • filtering in the read view (essential) and for the log (useful)
  • group send of multiple messages (useful)
  • expose trigger signal for an oscilloscope based on filter or condition (very useful)

In particular the filter missing filter functionality rubs me the wrong way, because it's still listed as a feature on the product page at this moment, without comment or warning.

In my score I've only reflected the missing functionality that's listed on the product page or user guide but not implemented.

For the ones that are listed as future extensions, I didn't mark that in the score.

 

A big yes again for providing all sources. They are available for the firmware and for the GUI.

This is so nice from Microchip. Together with the schematic in the documentation this gives great insight and options.

You could implement the missing functionality yourself.

One of the fellow reviewers ([mention:8fb233e8974445138ef0af2b63b49f94:e9ed411860ed4f2ba0265705b8793d05]) commented here on element14 that at least some of the forms for those functions are available in the GUI source.

An additional yes for the possibility to properly terminate the  CAN bus via a GUI command. And I would have given yet another one if there was a command line application.

 

 

 

This device certainly is a big help when designing CAN devices. When you're OK with the basic functionalities, it will be a great addition to the lab.

I've used it actively when investigating the CAN functionality of an automotive microcontroller and while designing a CAN driver.

It performed perfectly during the exercise.

It would reach the next level if the additional features were available.

 

I've created several blog articles for this road test. They are either covering my work with the analyzer or the CAN device that I'm testing.

They are an essential part of my road test. Check 'm out.

 

 

 

Road Test Blog
part 1: First trials
part 2: Inject CAN Messages
part 3: Analyzer as Test Tool
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
Anonymous