RoadTest: Microchip CAN Bus Analyser Tool
Author: Jan Cumps
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.
Road Test Review: Microchip CAN Analyzer
The 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.
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:
I'll finish the review with comments and hindsight. But for the inpatient reader: there's a Yes result on most tests.
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.
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:
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.
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.
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.
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.
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.
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:
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 (mcb1) 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|
|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|