How to recognise if CAN bus is j1939 or j1708 using Picoscope.
First off, J1708 is not a CAN bus, nor is it compatible with a CAN bus. Perhaps you simply meant "vehicle bus", which both J1708 and CAN are (and J1939 is only one of many
CAN protocols that can appear on a CAN bus).
Andrew is correct when he says that J1939 is faster, but there are more speeds than simply 250k and 500k. For example, 125k is very common in automobiles now. And J1939 can go down as low as 10kbit/sec (and as high as 1 MBit/sec).
J1708, OTOH, is based on RS-485. It's a simple multi-master UART-type transport layer, that uses balanced lines over UTP (unshielded, twisted pair) cabling. It allows up to 20 devices to share that serial link. And not only is it limited to one data-rate (9600 baud), but it "looks like" normal serial data as well. 10-bit "characters", with one Start bit, 8-data bits, and 1 Stop-bit. Each "message" will be between 3 and 21 characters. As a result of that structure, it should be very easy to tell the difference by examining the bus signals with your PicoScope. If the smallest pulse-width is 104 usec, then it's J1708. J1939 will always be less than that, and usually, a LOT less than that.
And you should be able to use the UART decoder in Pico to examine the data stream. It won't tell you that the first byte is the MID, the 2nd is a PID, or the last byte is a Checksum, but you will be able to see the messages. And having the bytes decoded should be all that you need, if you have a J1587 protocol document to interpret the packet structure.
I hope this is helpful.