Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CAN Protocol and SAE J1850 Bus Interface Circuit

3,137 views
Skip to first unread message

Amy

unread,
Nov 9, 2002, 8:43:28 AM11/9/02
to
Hi,

I am working on a project where I need to design a module which can
get vehicle speed information from the communication bus on a car. I
realized that there are several communication protocols which exist in
different cars: CAN, J1850 PWM, VPW, and ISO9141.

I plan to use Microchip PIC18F258, which has a built-in CAN
controller. And I will write application for the J1850 PWM, VPW and
ISO 9141. Since I only need to receive messages from the bus, and I
don't need to send anything to the bus, I think I can build my own bus
interface circuits rather than buying transceiver chip for each
protocol. I've seen the bus interface circuit for other SAE standard
that is recommended by the SAE. And I can't find the one for SAE J1850
or CAN protocol.

Other than that, does anyone know what is the update rate for the
vehicle speed information for J1850? I've checked in the standards but
not able to find it.

Any suggestions and help is greatly appreciated!

Amy

Joseph Legris

unread,
Nov 9, 2002, 12:31:16 PM11/9/02
to

J1850 doesn't necessarily send any data at all unless a request is sent
first by your device (typically an OBD-II Scantool). For example, a Ford
I recently tested sent only the transmission status on a regular basis -
about three time a second as I recall - otherwise the bus was silent.

Therefore, you MUST both send and receive.

For further info and a head start contact http://www.elmelectronics.com
and look under the CONNECTIONS link.
--

Best regards,
Joseph Legris

ark

unread,
Nov 9, 2002, 1:09:49 PM11/9/02
to

"Amy" <yml...@hotmail.com> wrote in message
news:c926d8d6.02110...@posting.google.com...

> Hi,
>
> I am working on a project where I need to design a module which can
> get vehicle speed information from the communication bus on a car. I
> realized that there are several communication protocols which exist in
> different cars: CAN, J1850 PWM, VPW, and ISO9141.
>
[snip]

> Any suggestions and help is greatly appreciated!
>
> Amy

AFAIK, J1850 is a real pain to implement right (been there). And it is the
whole protocol stack rather than message-in-out only. Other automotive
protocols are not a cinch either. So, unless you can justify high
engineering costs, get something pre-cooked. Check out, e.g., Dearborn Group
or Smart Tools (www.smtools.com).
In particular, some things get sent voluntarily on change only. So if you
try to eavesdrop, you must be able to send explicit requests - and then you
need to implement non-destructive bus arbitration. From what I know about
VPW, only Delco Electronics knows how to do it more or less right on
hardware level (with their ugly DLCP/S chip; forgot its Motorola part
number).

- Ark


garwood

unread,
Nov 9, 2002, 8:10:34 PM11/9/02
to
why don't you try to go to the vss (vehicle speed sensor) typical 4000
or 8000 pulses per mile. you can calibrate pulses per time get speed.

gary

Amy

unread,
Nov 10, 2002, 9:05:33 PM11/10/02
to
Thanks for all the suggestions! I need to get speed information
directly from the bus because the pulse information from the vehicle
speed sensor could be increased if a pulse generator (something like a
timer) were connected.

Imagine the scenarion when a car is running, would I be able to get
speed info without sending a request as
1) the speed is changing at every instant (so it got sent out
voluntarily) or
2) the dashboard requests the speed information to show it on the
speedometer (dashboard initiated the request)?

Thanks a lot again for your help!

Amy

garwood <gar...@bellatlantic.net> wrote in message news:<3DCDB1A5...@bellatlantic.net>...

Jeroen

unread,
Nov 11, 2002, 11:03:20 AM11/11/02
to
"Amy" <yml...@hotmail.com> wrote in message
news:c926d8d6.02111...@posting.google.com...

There are modules that convert speed info on the CAN bus to a regular pulse
train. Don't have a pointer though...

Jeroen


Joseph Legris

unread,
Nov 11, 2002, 9:13:09 AM11/11/02
to

Does anybody know which vehicles implement CAN, or how this can be
discovered? Also, what is the relationship between ISO9141 and CAN, if
any? How about between SAE J1939 and CAN?

Thanks.

Jeroen

unread,
Nov 11, 2002, 7:40:50 PM11/11/02
to

"Joseph Legris" <jale...@xympatico.ca> wrote in message
news:3DCFBAF5...@xympatico.ca...

I know that Ford used what they call 'multiplex' in their now out of
production Scorpio. But that was only for central door locking, power
windows and power sunroof. It could have been CAN but for this simple
system, I guess they used something much simpler.

I think CAN and the like is mainly used in high-end cars where the savings
by using CAN or something similar are substantial.

Jeroen


Amy

unread,
Nov 11, 2002, 1:55:08 PM11/11/02
to
> > Does anybody know which vehicles implement CAN, or how this can be
> > discovered? Also, what is the relationship between ISO 9141 and CAN, if

> > any? How about between SAE J1939 and CAN?

From what I have found on the web, many European cars have CAN, such
as Mercedes, BMW, Volvo, Renault, Audi, VW, etc. Some new models of
American cars started to adapt CAN as well, such as GM, Chrysler, and
Ford.

As to which vehicle implements which protocol, it depends on the car
manufacturer and the year. Some Chrysler cars have VPW, some have ISO
1941, and the some newer ones have (or will have) CAN.

ISO 9141 is a subset of SAEJ1850. The interface, message format,
message definitions are all different from CAN. I think the SAE
counterpart for CAN is SAE J1583.

Amy

Marc Geyskens

unread,
Nov 11, 2002, 2:19:38 PM11/11/02
to
"Jeroen" <d...@null.com> wrote:


>> Does anybody know which vehicles implement CAN, or how this can be
>> discovered? Also, what is the relationship between ISO9141 and CAN, if
>> any? How about between SAE J1939 and CAN?
>
>I know that Ford used what they call 'multiplex' in their now out of
>production Scorpio. But that was only for central door locking, power
>windows and power sunroof. It could have been CAN but for this simple
>system, I guess they used something much simpler.
>
>I think CAN and the like is mainly used in high-end cars where the savings
>by using CAN or something similar are substantial.
>
>Jeroen
>

Fiat uses CAN in its Punto, wich is not a high end car. They use low
and high speed. If I remember it right; they call it Venice and
Florence. Maybe the new models do too. Mercedes, Porsche, BMW use
CAN. Probably the rest of the car industrie will follow because of the
need for highspeed communications between control units and/or
sensors/other control units. I hoped the old system J1979 would just
be transferred to CAN, I know little of it but AFAIK it (J1979) uses
Parameter ID's and CAN uses node ID's where one or more parameters
reside, so if you would ask the engine coolant temperature in J1979
you would sent 01 05, I think in CAN it would be 01 [ECU ID] 05.
Just guessing :|).

mg

Marc Geyskens

unread,
Nov 11, 2002, 2:22:38 PM11/11/02
to

>be transferred to CAN, I know little of it but AFAIK it (J1979) uses
>Parameter ID's and CAN uses node ID's where one or more parameters
>reside, so if you would ask the engine coolant temperature in J1979
>you would sent 01 05, I think in CAN it would be 01 [ECU ID] 05.

Let me refrase that last sentence :

you would sent 01 05, I think in CAN it would be [ECU ID] 01 05.

mg


ark

unread,
Nov 11, 2002, 3:00:30 PM11/11/02
to

"Joseph Legris" <jale...@xympatico.ca> wrote in message
news:3DCFBAF5...@xympatico.ca...

>


> Does anybody know which vehicles implement CAN, or how this can be
> discovered? Also, what is the relationship between ISO9141 and CAN, if
> any? How about between SAE J1939 and CAN?

Basically, the car OEM wants you. - To go to their dealership. So, the
protocols are wildly incompatible; both on physical level and maybe all the
way up the protocol stack.

CAN (2 wires) has been a de facto standard in European cars. High-end cars,
if I am not mistaken, are slowly migrating to a multimedia-grade network -
for entertainment. Controllers are still on CAN.
GM used to do multiplexed UART communications on 2 wires (similar to RS422
but of course, different).
Then they switched to J1850 VPW (1 wire) with 3 byte header (AKA SDL Class
2); Pontiac and Saturn were very late in this changeover; if I am not
mistaken, Opel and Saab are CAN. AFAIK, GM is switching now to a 1-wire
flavor of CAN (AKA GM LAN).
Ford used its own 9141 _and_ ISO9141 on different models (2 wire UART);
switched to J1850 PWM (2 wires) (AKA SCP), _including_ some European models.
Chrysler used 1-wire J1850 VPW (1-byte header) but I don't know the details.

If I am not mistaken, J1939 is a _diagnostic_ protocol describing the
content of a message (=packet). In theory, it can work over any low level
protocol; in practice, it is, I think, bound to CAN.

- Ark


Jeroen

unread,
Nov 12, 2002, 2:03:01 AM11/12/02
to

"Marc Geyskens" <em...@village.uunet.be> wrote in message
news:h2vvsustafsg947n5...@4ax.com...

> "Jeroen" <d...@null.com> wrote:
>
>
> >> Does anybody know which vehicles implement CAN, or how this can be
> >> discovered? Also, what is the relationship between ISO9141 and CAN, if
> >> any? How about between SAE J1939 and CAN?
> >
> >I know that Ford used what they call 'multiplex' in their now out of
> >production Scorpio. But that was only for central door locking, power
> >windows and power sunroof. It could have been CAN but for this simple
> >system, I guess they used something much simpler.
> >
> >I think CAN and the like is mainly used in high-end cars where the
savings
> >by using CAN or something similar are substantial.
> >
> >Jeroen
> >
>
> Fiat uses CAN in its Punto, wich is not a high end car. They use low
> and high speed. If I remember it right; they call it Venice and
01 05, I think in CAN it would be 01 [ECU ID] 05.
> Just guessing :|).

But I think it's the first Fiat that uses CAN. It's of course quite a new
car. Probably in a year or 10, every new car will have CAN, just like power
windows, ABS, central locking, airco etc. Things that were not really common
ten years ago on lower end cars, but now are.

Jeroen


0 new messages