Sale ends todayGet 30% off any course (excluding packages)
Ends in --- --- ---
Discussion and questions related to the course CAN Bus Communications Decoded
Hey all, trying to capture some CAN data on a relatively old and slow baud rate of 41.7 kbps. I would use Light Client to sniff this except the lowest baud it accepts is 125 kpbs.
I read in the sticky at the top that you can use this interface with PCANview, but I cant get it to recognize the USB2CAN device when plugged in. I have installed the driver for the ECUmaster device and use it regularly to program their products.
I also have WireShark and Kvaser DE3 (which im not sure does sniffing, havent played with it much for that) but none of them seem to recognize the USB2CAN.
Do I have a simple error somewhere in here or do I need to shell out for the Peak Can specific USB to Can adapter?
Oh also I can see the USB2CAN device in the Port using Windows Device Manager.
Im open to suggestions of software that will work with the USB2CAN but is more custom then Light Client
Light client may only go down to 125kb as that it the minimal CAN Bus speed supported by the CAN chip in the USB2CAN device. I haven't heard of any more modern system that uses that slow a CAN Bus speed.
Well the vehicle isn’t exactly cutting edge modern lol. It’s a 2002 Focus SVT, which according to the Ford service docs I got from a buddy at a Ford dealership uses J1850PWM at 41.6k baud rate. It does have a traditional OBD bus as well but I want to control the cluster, which isn’t on the OBD bus
I would be surprised if the USB2CAN device will even recognise that protocol. You most likely will require a specific J1850PWM tool and software that supports it to be able to communicate with the vehicle.
Hmm. While it hasn't been that easy to find good info on J1850PWM, I was expecting a different set of PID's. Do you think message structure will be different?
If I could get my sniffing setup to work I can at least see if the data on the bus is readable. J1850PWM is probably worthy of a different thread, I'm most stuck on sniffing with a ECUmaster USBtoCAN
From what I have found on the net they are quite different signals.
I've not interfaced with J1850PWM before, but I believe its completely different to CAN electrically, uses different width pulses as zeros and ones, so no purely can sniffer out there is going to let you interface with it I'd say. I'd try and find an old ELM327 based tool, I'm pretty sure many of those will talk to it, and you should be able to send it commands via a serial terminal to get it dumping out information.
After more research it does appear to have a different message structure to more modern can. Less bits per message etc. Zac you also pointed out another detail I missed, I thought that was unique to J1850VPW (a lot of posts I found mixed up the two) but 1 wire vs 2 wire aside they do function similarly. For anyone finding this later heres a good article that breaks it down well
ELM320 was developed for it but ELM327 is supposed to be backwards compatible. I have a scan tool or two at my disposal but none let me see raw can stream data. I think this project is a bit more then I can stomach at this moment and I will have to pic a more entry level one before graduating to what will probably be an Arduino project. Dual ECU install for now will suffice.
Semi related but what is the "standard" CAN 2.0A or whatever that vehicles use now called? In my head when I read ISO15765 thats the pin locations on the OBD plug and a set of standard PID's. What do we call the data type on the vehicles bus that isn't part of the dedicated OBD network? Am I over-complicating it and its simply CAN-BUS and a baud rate and we all just know the standard message structure?
From Wikipedia (actually a good source for this sort of information)
Bosch published several versions of the CAN specification and the latest is CAN 2.0 published in 1991. This specification has two parts; part A is for the standard format with an 11-bit identifier, and part B is for the extended format with a 29-bit identifier. A CAN device that uses 11-bit identifiers is commonly called CAN 2.0A and a CAN device that uses 29-bit identifiers is commonly called CAN 2.0B. These standards are freely available from Bosch along with other specifications and white papers.
In 1993, the International Organization for Standardization (ISO) released the CAN standard ISO 11898 which was later restructured into two parts; ISO 11898-1 which covers the data link layer, and ISO 11898-2 which covers the CAN physical layer for high-speed CAN. ISO 11898-3 was released later and covers the CAN physical layer for low-speed, fault-tolerant CAN. The physical layer standards ISO 11898-2 and ISO 11898-3 are not part of the Bosch CAN 2.0 specification.
I too am looking for a sniffing software that works with the USB2CAN. Light Client is definitely not a "real" sniffer tool as it only works with some of the ECU Master hardware (Haven't done too much research yet, but that's my finding for now!)
You can "sniff" J1850 with an Elm327 as Zac suggested. You will just have to read the Elm data sheet to understand the commands and usually do a bit of trial and error since most cheap "Elm's" are Chinese clones and don't support all commands. Datasheet here: https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf
But, assuming a genuine ELM, commands would be something like this:
ATSP1 (set protocol to J1850PWM @ 41.6K)
ATH1 (if you want to see headers & IFR bytes) or ATH0 (if you want to see data bytes only)
ATMA (start monitoring)